From ce9cb4d6bb30dc3df56e036a0f729a9ff42612ec Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Thu, 4 Jul 2024 15:07:18 +0530 Subject: [PATCH 001/292] updated options for job status --- .../packages/Mukta/src/configs/UICustomizations.js | 2 +- .../RateAnalysis/src/configs/ViewScheduledJobsConfig.js | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js index 65708783db..0d1d7d526d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js @@ -2777,7 +2777,7 @@ export const UICustomizations = { case "RA_SUCCESSFUL": { let successfulCount = 0; row.sorDetails.forEach((detail) => { - if (detail.status === "COMPLETED") { + if (detail.status === "SUCCESSFUL") { successfulCount++; } }); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js index 6830d1d70a..7538646d22 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js @@ -47,10 +47,9 @@ const ViewScheduledJobsConfig = { top: "2.3rem", }, options:[ - {code:"FAILED",name:"FAILED"}, - {code:"SUCCESSFUL",name:"SUCCESSFUL"}, - {code:"IN_PROGRESS",name:"INPROGRESS"}, - {code:"SCHEDULED",name:"SCHEDULED"} + {code:"SCHEDULED",name:"SCHEDULED"}, + {code:"INPROGRESS",name:"INPROGRESS"}, + {code:"COMPLETED",name:"COMPLETED"} ] }, }, From db3d7f2d70ad62c872fe4b7a6369fc55cc5fde2b Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 4 Jul 2024 17:39:12 +0530 Subject: [PATCH 002/292] UCEM-363 : updated the min date validation for only create screen --- .../RateAnalysis/src/configs/RateAnalysisCreateConfig.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js index 6804a0fb42..fd6767f7d0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js @@ -148,7 +148,7 @@ export const CreateConfig = ({ defaultValue, isUpdate, measurement }) => { "populators": { "name": "effective_from_date", "validation":{ - "min":defaultValue?.currentDate + "min": isUpdate ? null : defaultValue?.currentDate } } }, From 50b2ecda3c76a4d54f33ff51815ab7d26521859a Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Fri, 5 Jul 2024 10:42:12 +0530 Subject: [PATCH 003/292] bug fixed --- .../packages/modules/Estimate/src/components/ViewStatement.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index cd71341077..53123d30cf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -203,8 +203,8 @@ const ViewStatement = (props) => { { - - {row.sNo} + + {1} {row.code} {row.description} {row.uom} From a515c78963faa0310b043d49f9a289c0d12d211b Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Sat, 6 Jul 2024 10:10:22 +0530 Subject: [PATCH 004/292] updated job status options --- .../RateAnalysis/src/configs/ViewScheduledJobsConfig.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js index 7538646d22..98f35c46fd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js @@ -47,9 +47,9 @@ const ViewScheduledJobsConfig = { top: "2.3rem", }, options:[ - {code:"SCHEDULED",name:"SCHEDULED"}, - {code:"INPROGRESS",name:"INPROGRESS"}, - {code:"COMPLETED",name:"COMPLETED"} + {code:"SCHEDULED",name:"Scheduled"}, + {code:"IN_PROGRESS",name:"In progress"}, + {code:"COMPLETED",name:"Completed"} ] }, }, From b936f868abf5d31eeedba68aa61bb88317aee9c6 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Sat, 6 Jul 2024 11:26:26 +0530 Subject: [PATCH 005/292] UCEM-370 updated the functionality for the extra charges remove button --- .../src/components/ExtraCharges.js | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js index 3ae2dbf1eb..f578ea2afd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js @@ -33,6 +33,7 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { const [rows, setRows] = useState(formData?.[formFieldName]?.length > 0 ? formData?.[formFieldName] : initialState); useEffect(() => { + if(window.location.href.includes("update")) if (formData && formData[formFieldName]) { setRows(formData[formFieldName].map((item, index) => ({ ...item, @@ -42,7 +43,7 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { } else { setRows(initialState); } - }, [formData]); + }, []); const getStyles = (index) => { let obj = {}; @@ -108,7 +109,7 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { const addRow = () => { const newRow = { - key: rows.length + 1, + key: rows[rows?.length -1]?.key +1, description: "", applicableOn: "", calculationType: "", @@ -125,7 +126,7 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { ]; }; - const getDropDownDataFromMDMS = (t, row, inputName, props, register, optionKey = "name", options = []) => { + const getDropDownDataFromMDMS = (t, row, inputName, props, register, optionKey = "name", rowIndex) => { const requestCriteria = { url: "/mdms-v2/v2/_search", body: { @@ -152,7 +153,12 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { optionKey={optionKey} t={t} select={(e) => { - props.onChange(e); + const updatedRows = rows.map((row, index) => + index === rowIndex ? { ...row, applicableOn: e } : row + ); + setRows(updatedRows); + setValue(`${formFieldName}[${rowIndex}].applicableOn`, e); + props.onChange(e); }} onBlur={props?.onBlur} optionCardStyles={{ maxHeight: "15rem" }} @@ -187,7 +193,7 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { return rows.map((row, rowIndex) => { if (row.isShow) i++; return row.isShow && ( - + {i} @@ -230,13 +236,13 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { - getDropDownDataFromMDMS(t, row, "applicableOn", props, register, "description") + getDropDownDataFromMDMS(t, row, "applicableOn", props, register, "description", rowIndex) } /> @@ -265,11 +271,16 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { { - props.onChange(e); + const updatedRows = rows.map((row, index) => + index === rowIndex ? { ...row, calculationType: e } : row + ); + setRows(updatedRows); + setValue(`${formFieldName}[${rowIndex}].calculationType`, e); + props.onChange(e); }} onBlur={props?.onBlur} optionCardStyles={{ maxHeight: "15rem" }} From 3fb86bccb287857c7b014dad63db50d6dd8f9fd9 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Sat, 6 Jul 2024 14:12:01 +0530 Subject: [PATCH 006/292] bug fixed after feed back --- .../src/components/ConsolidatedTable.js | 8 +- .../Estimate/src/components/ViewStatement.js | 26 +- .../src/configs/viewStatementConfig.js | 408 ++++++------ .../pageComponents/ViewAnalysisStatement.js | 44 +- .../Measurement/src/configs/viewUtilConfig.js | 6 +- .../src/pages/employee/viewUtilization.js | 588 +++++++++--------- .../src/components/SORDetailsTemplate.js | 124 ++-- .../components/extra_charges_view_table.js | 11 +- .../src/components/rateAmountGroup.js | 9 +- .../src/components/specficAmountTable.js | 4 +- .../src/pages/employee/ViewRateAnalysis.js | 8 +- .../RateAnalysis/src/utils/transformData.js | 6 +- 12 files changed, 635 insertions(+), 607 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ConsolidatedTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ConsolidatedTable.js index cb50dd33d3..c4e5dae99f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ConsolidatedTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ConsolidatedTable.js @@ -120,14 +120,14 @@ const GroupedTable = (props) => { {row.description} {row.uom} - {} + {} {/**/} {} - + {/* @@ -147,7 +147,7 @@ const GroupedTable = (props) => { {t("MB_AMOUNT_TOTAL")} -
{ parseFloat( groupAndCalculateTotals().reduce((accumulator, currentValue) => accumulator + currentValue.totalAmount, 0.00)).toFixed(2)}
+
{Digit.Utils.dss.formatterWithoutRound( parseFloat( groupAndCalculateTotals().reduce((accumulator, currentValue) => accumulator + currentValue.totalAmount, 0.00)).toFixed(2), "number", undefined, true, undefined, 2)}
@@ -165,4 +165,4 @@ const GroupedTable = (props) => { ); }; -export default GroupedTable; +export default GroupedTable; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index 53123d30cf..ff3ba0a9ed 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -68,13 +68,13 @@ const ViewStatement = (props) => { {subRow.name} {subRow.unit} -
{parseFloat(subRow?.rate.toFixed(2))}
+
{Digit.Utils.dss.formatterWithoutRound(parseFloat(subRow?.rate.toFixed(2)), "number", undefined, true, undefined, 2)}
- + )); @@ -91,7 +91,7 @@ const ViewStatement = (props) => { {t("MB_ONLY_AMOUNT")}: - + ); @@ -115,23 +115,23 @@ const ViewStatement = (props) => { {row.description} {row.uom} - + - + {subRows.length > 0 && ( - + {/* {t(`WORKS_${type}_TABLE_HEADER`)} - + */} @@ -152,12 +152,12 @@ const ViewStatement = (props) => { {subRows.length === 0 && row?.type === "W" && ( - + {/* {t(`WORKS_${type}_TABLE_HEADER`)} - + */} @@ -185,12 +185,12 @@ const ViewStatement = (props) => { {subRows.length === 0 && row?.type !== "W" && ( - + {/* {t(`WORKS_${type}_TABLE_HEADER`)} - + */} @@ -255,7 +255,7 @@ const ViewStatement = (props) => { {config?.screenType === "UTILIZATION" ? t("UTILIZATION_STATEMENT_GRAND_TOTAL") : t("STATEMENT_GRAND_TOTAL")}: - + ) : ( @@ -269,4 +269,4 @@ const ViewStatement = (props) => { ); }; -export default ViewStatement; +export default ViewStatement; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js index 97462db447..b9df2168cd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js @@ -1,58 +1,73 @@ import React, { useState, useEffect } from "react"; import { transformEstimateObjects } from "../../util/estimateConversion"; -import { transformStatementData ,sortSorsBasedonType} from "../../util/EstimateData"; +import { transformStatementData, sortSorsBasedonType } from "../../util/EstimateData"; import { sortedFIlteredData } from "../../../Measurement/src/utils/view_utilization"; -export const data = (statementDetails,rawData,oldData) => { - +export const data = (statementDetails, rawData, oldData) => { const [viewData, setViewData] = useState({ SOR: [], NONSOR: [], sorted: [] }); const [sorted, setSorted] = useState([]); const headerLocale = Digit.Utils.locale.getTransformedLocale(statementDetails?.tenantId); //const geoLocationValue = estimateDetails?.address?.latitude && estimateDetails?.address?.longitude ? `${estimateDetails?.address?.latitude}, ${estimateDetails?.address?.longitude}` : "NA"; // let data=sortSorsBasedonType(rawData); - + useEffect(() => { - const processArrays = () => { - if (statementDetails && !(viewData?.nestedData)) { - //Transforming the estimate search response according to formdata + if (statementDetails && !viewData?.nestedData) { + //Transforming the estimate search response according to formdata setViewData({ - nestedData: transformStatementData(statementDetails,"ANALYSIS"), - sorted: sortSorsBasedonType(rawData,"ANALYSIS"), + nestedData: transformStatementData(statementDetails, "ANALYSIS"), + sorted: sortSorsBasedonType(rawData, "ANALYSIS"), //NONSOR: transformEstimateObjects(estimateDetails, "NON-SOR", {}, allDetailedEstimate), }); - - } }; processArrays(); - }, [statementDetails,sorted]); + }, [statementDetails, sorted]); - return { cards: [ { + sections: [ { type: "DATA", + + values: [ { key: "STATEMENT_MATERIAL", - value: oldData ? parseFloat(oldData?.Material).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2), + value: oldData + ? parseFloat(oldData?.Material).toFixed(2) + : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length != 0 + ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2) + : (0).toFixed(2), }, { key: "STATEMENT_LABOUR", - value: oldData ? parseFloat(oldData?.Machinery).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2), + value: oldData + ? parseFloat(oldData?.Machinery).toFixed(2) + : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length != 0 + ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2) + : (0).toFixed(2), }, { key: "STATEMENT_MACHINERY", - value: oldData ? parseFloat(oldData?.Labour).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2), + value: oldData + ? parseFloat(oldData?.Labour).toFixed(2) + : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length != 0 + ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2) + : (0).toFixed(2), }, { + key: "STATEMENT_LABOUR_CESS", - value: parseFloat(statementDetails?.sorDetails.reduce((acc,ob) => {return acc + (ob?.additionalDetails?.labourCessAmount || 0)}, 0)).toFixed(2), - } + value: parseFloat( + statementDetails?.sorDetails.reduce((acc, ob) => { + return acc + (ob?.additionalDetails?.labourCessAmount || 0); + }, 0) + ).toFixed(2), + }, ], }, ], @@ -71,12 +86,12 @@ export const data = (statementDetails,rawData,oldData) => { }, arrayProps: { fields: viewData?.nestedData, - type: "M" + type: "M", }, register: () => {}, setValue: (key, value) => setViewData((old) => ({ ...old, nestedData: value })), }, - } + }, ], }, { @@ -93,12 +108,12 @@ export const data = (statementDetails,rawData,oldData) => { }, arrayProps: { fields: viewData?.nestedData, - type: "L" + type: "L", }, register: () => {}, setValue: (key, value) => setViewData((old) => ({ ...old, nestedData: value })), }, - } + }, ], }, { @@ -115,12 +130,12 @@ export const data = (statementDetails,rawData,oldData) => { }, arrayProps: { fields: viewData?.nestedData, - type: "E" + type: "E", }, register: () => {}, setValue: (key, value) => setViewData((old) => ({ ...old, nestedData: value })), }, - } + }, ], }, { @@ -130,9 +145,9 @@ export const data = (statementDetails,rawData,oldData) => { type: "COMPONENT", cardHeader: { value: "WORKS_SORS_WISE_MATERIAL_CONSOLIDATION", inlineStyles: {} }, component: "GroupedTable", - + props: { - emptyTableMsg:"NO_MATERIAL_CONSOLIDATION", + emptyTableMsg: "NO_MATERIAL_CONSOLIDATION", config: { key: "SOR", mode: "VIEWES", @@ -155,7 +170,7 @@ export const data = (statementDetails,rawData,oldData) => { cardHeader: { value: "WORKS_SORS_WISE_LABOUR_CONSOLIDATION", inlineStyles: {} }, component: "GroupedTable", props: { - emptyTableMsg:"NO_LABOUR_CONSOLIDATION", + emptyTableMsg: "NO_LABOUR_CONSOLIDATION", config: { key: "SOR", mode: "VIEWES", @@ -178,7 +193,7 @@ export const data = (statementDetails,rawData,oldData) => { cardHeader: { value: "WORKS_SORS_WISE_MACHINERY_CONSOLIDATION", inlineStyles: {} }, component: "GroupedTable", props: { - emptyTableMsg:"NO_MACHINERY_CONSOLIDATION", + emptyTableMsg: "NO_MACHINERY_CONSOLIDATION", config: { key: "SOR", mode: "VIEWES", @@ -216,170 +231,169 @@ export const data = (statementDetails,rawData,oldData) => { // ], // }, - - // { - // navigationKey: "card1", - // sections: [ - // { - // type: "COMPONENT", - // cardHeader: { value: "MB_NONSOR", inlineStyles: {} }, - // component: "EstimateMeasureTableWrapper", - // props: { - // config: { - // key: "NONSOR", - // mode: "VIEWES", - // }, - // arrayProps: { - // fields: viewData?.NONSOR, - // }, - // register: () => {}, - // setValue: (key, value) => setViewData((old) => ({ ...old, NONSOR: value })), - // }, - // } - // ], - // }, - // { - // navigationKey: "card1", - // sections: [ - // { - // type: "COMPONENT", - // cardHeader: { value: "ES_OTHER_CHARGES", inlineStyles: {} }, - // component: "OverheadDetailsTable", - // props: {data : overheadDetails} - // } - // ], - // }, - // { - // navigationKey: "card1", - // sections: [ - // { - // type: "COMPONENT", - // cardHeader: { value: "", inlineStyles: {} }, - // component: "ViewAnalysisStatement", - // props: {formData : {...estimateDetails, SORtable: estimateDetails ? transformEstimateObjects(estimateDetails, "SOR",{}, allDetailedEstimate) : []}} - // }, - // { - // type: "COMPONENT", - // cardHeader: { value: "", inlineStyles: {} }, - // component: "ViewTotalEstAmount", - // props: {mode: "VIEWES", detail : {...estimateDetails, value:estimateDetails?.additionalDetails?.totalEstimatedAmount, showTitle:"TOTAL_ESTIMATE_AMOUNT"} } - // } - // ], - // }, - // { - // navigationKey: "card1", - // sections: [ - // { - // type: "DOCUMENTS", - // documents: [ - // { - // title: "ES_WORKS_RELEVANT_DOCUMENTS", - // BS: "Works", - // values: documents, - // }, - // ], - // inlineStyles: { - // marginTop: "1rem", - // }, - // } - // ], - // }, - // { - // navigationKey: "card1", - // sections: [ - // { - // type: "WFHISTORY", - // businessService: "ESTIMATE", - // applicationNo: revisionNumber ? revisionNumber : estimateDetails?.estimateNumber, - // tenantId: estimateDetails?.tenantId, - // timelineStatusPrefix: "WF_ESTIMATE_", - // breakLineRequired: false, - // config : { - // select: (data) => { - // return {...data, timeline: data?.timeline.filter((ob) => ob?.performedAction !== "DRAFT")} - // }, - // } - // }, - // { - // type: "WFACTIONS", - // forcedActionPrefix: "WF_ESTIMATE_ACTION", - // businessService: "ESTIMATE", - // applicationNo: revisionNumber ? revisionNumber : estimateDetails?.estimateNumber, - // tenantId: estimateDetails?.tenantId, - // applicationDetails: estimateDetails, - // url: "/mukta-estimate/v1/_update", - // moduleCode: "Estimate", - // editApplicationNumber: undefined, - // editCallback : getRedirectionCallback - // }, - // ], - // }, - // { - // navigationKey: "card2", - // sections: [ - // { - // type: "DATA", - // sectionHeader: { value: "WORKS_PROJECT_DETAILS", inlineStyles: {marginBottom : "16px", marginTop:"32px", fontSize: "24px"} }, - // values: [ - // { - // key: "PROJECT_LOR", - // value: projectDetails?.referenceNumber, - // }, - // { - // key: "WORKS_PROJECT_TYPE", - // value: projectDetails?.projectType, - // }, - // { - // key: "PROJECT_TARGET_DEMOGRAPHY", - // value: projectDetails?.targets, - // }, - // { - // key: "PROJECT_ESTIMATED_COST", - // value: projectDetails?.additionalDetails?.estimatedCostInRs || "NA", - // }, - // ], - // }, - // { - // type: "DATA", - // sectionHeader: { value: "WORKS_LOCATION_DETAILS", inlineStyles: {marginBottom : "16px", marginTop:"32px", fontSize: "24px"} }, - // values: [ - // { - // key: "WORKS_GEO_LOCATION", - // value: geoLocationValue, - // }, - // { - // key: "WORKS_CITY", - // value: projectDetails?.address?.city, - // }, - // { - // key: "WORKS_WARD", - // value: `${headerLocale}_ADMIN_${projectDetails?.address?.boundary}`, - // }, - // { - // key: "WORKS_LOCALITY", - // value: `${headerLocale}_ADMIN_${projectDetails?.additionalDetails?.locality}`, - // }, - // ], - // }, - // { - // type: "DOCUMENTS", - // documents: [ - // { - // title: "ES_PROJECT_WORKS_RELEVANT_DOCUMENTS", - // BS: "Works", - // values: Projectdocuments, - // }, - // ], - // inlineStyles: { - // marginTop: "1rem", - // }, - // headerStyle: { - // marginTop: "32px", - // marginBottom: "8px" - // } - // }, - // ], - // }, + // { + // navigationKey: "card1", + // sections: [ + // { + // type: "COMPONENT", + // cardHeader: { value: "MB_NONSOR", inlineStyles: {} }, + // component: "EstimateMeasureTableWrapper", + // props: { + // config: { + // key: "NONSOR", + // mode: "VIEWES", + // }, + // arrayProps: { + // fields: viewData?.NONSOR, + // }, + // register: () => {}, + // setValue: (key, value) => setViewData((old) => ({ ...old, NONSOR: value })), + // }, + // } + // ], + // }, + // { + // navigationKey: "card1", + // sections: [ + // { + // type: "COMPONENT", + // cardHeader: { value: "ES_OTHER_CHARGES", inlineStyles: {} }, + // component: "OverheadDetailsTable", + // props: {data : overheadDetails} + // } + // ], + // }, + // { + // navigationKey: "card1", + // sections: [ + // { + // type: "COMPONENT", + // cardHeader: { value: "", inlineStyles: {} }, + // component: "ViewAnalysisStatement", + // props: {formData : {...estimateDetails, SORtable: estimateDetails ? transformEstimateObjects(estimateDetails, "SOR",{}, allDetailedEstimate) : []}} + // }, + // { + // type: "COMPONENT", + // cardHeader: { value: "", inlineStyles: {} }, + // component: "ViewTotalEstAmount", + // props: {mode: "VIEWES", detail : {...estimateDetails, value:estimateDetails?.additionalDetails?.totalEstimatedAmount, showTitle:"TOTAL_ESTIMATE_AMOUNT"} } + // } + // ], + // }, + // { + // navigationKey: "card1", + // sections: [ + // { + // type: "DOCUMENTS", + // documents: [ + // { + // title: "ES_WORKS_RELEVANT_DOCUMENTS", + // BS: "Works", + // values: documents, + // }, + // ], + // inlineStyles: { + // marginTop: "1rem", + // }, + // } + // ], + // }, + // { + // navigationKey: "card1", + // sections: [ + // { + // type: "WFHISTORY", + // businessService: "ESTIMATE", + // applicationNo: revisionNumber ? revisionNumber : estimateDetails?.estimateNumber, + // tenantId: estimateDetails?.tenantId, + // timelineStatusPrefix: "WF_ESTIMATE_", + // breakLineRequired: false, + // config : { + // select: (data) => { + // return {...data, timeline: data?.timeline.filter((ob) => ob?.performedAction !== "DRAFT")} + // }, + // } + // }, + // { + // type: "WFACTIONS", + // forcedActionPrefix: "WF_ESTIMATE_ACTION", + // businessService: "ESTIMATE", + // applicationNo: revisionNumber ? revisionNumber : estimateDetails?.estimateNumber, + // tenantId: estimateDetails?.tenantId, + // applicationDetails: estimateDetails, + // url: "/estimate/v1/_update", + // moduleCode: "Estimate", + // editApplicationNumber: undefined, + // editCallback : getRedirectionCallback + // }, + // ], + // }, + // { + // navigationKey: "card2", + // sections: [ + // { + // type: "DATA", + // sectionHeader: { value: "WORKS_PROJECT_DETAILS", inlineStyles: {marginBottom : "16px", marginTop:"32px", fontSize: "24px"} }, + // values: [ + // { + // key: "PROJECT_LOR", + // value: projectDetails?.referenceNumber, + // }, + // { + // key: "WORKS_PROJECT_TYPE", + // value: projectDetails?.projectType, + // }, + // { + // key: "PROJECT_TARGET_DEMOGRAPHY", + // value: projectDetails?.targets, + // }, + // { + // key: "PROJECT_ESTIMATED_COST", + // value: projectDetails?.additionalDetails?.estimatedCostInRs || "NA", + // }, + // ], + // }, + // { + // type: "DATA", + // sectionHeader: { value: "WORKS_LOCATION_DETAILS", inlineStyles: {marginBottom : "16px", marginTop:"32px", fontSize: "24px"} }, + // values: [ + // { + // key: "WORKS_GEO_LOCATION", + // value: geoLocationValue, + // }, + // { + // key: "WORKS_CITY", + // value: projectDetails?.address?.city, + // }, + // { + // key: "WORKS_WARD", + // value: `${headerLocale}_ADMIN_${projectDetails?.address?.boundary}`, + // }, + // { + // key: "WORKS_LOCALITY", + // value: `${headerLocale}_ADMIN_${projectDetails?.additionalDetails?.locality}`, + // }, + // ], + // }, + // { + // type: "DOCUMENTS", + // documents: [ + // { + // title: "ES_PROJECT_WORKS_RELEVANT_DOCUMENTS", + // BS: "Works", + // values: Projectdocuments, + // }, + // ], + // inlineStyles: { + // marginTop: "1rem", + // }, + // headerStyle: { + // marginTop: "32px", + // marginBottom: "8px" + // } + // }, + // ], + // }, ], apiResponse: {}, additionalDetails: {}, @@ -397,12 +411,12 @@ export const data = (statementDetails,rawData,oldData) => { code: "Labour", }, { - name: "card3", - active: true, - code: "Machinery", - } + name: "card3", + active: true, + code: "Machinery", + }, ], activeByDefault: "card1", }, }; -}; +}; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index ccaf272278..c509f7d53c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { Toast, Loader,LinkButton } from "@egovernments/digit-ui-react-components"; +import { Toast, Loader, LinkButton } from "@egovernments/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; @@ -8,7 +8,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { const history = useHistory(); const tenantId = Digit.ULBService.getCurrentTenantId(); const [showToast, setShowToast] = useState(null); - + const { revisionNumber } = Digit.Hooks.useQueryParams(); const isCreateOrUpdate = /(measurement\/create|estimate\/create-detailed-estimate|estimate\/update-detailed-estimate|measurement\/update|estimate\/create-revision-detailed-estimate|estimate\/update-revision-detailed-estimate)/.test( window.location.href ); @@ -99,7 +99,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { state: { responseData: responseData, estimateId: formData?.SORtable?.[0]?.estimateId, - number: formData?.estimateNumber, + number: window.location.href.includes("revision") ? revisionNumber : formData?.estimateNumber, }, }); }, 1000); @@ -122,9 +122,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { pathname: `/${window?.contextPath}/employee/measurement/utilizationstatement`, state: { responseData: responseData, - estimateId: window.location.href.includes("measurement/update") - ? props.config.formData.Measurement.id - : formData?.Measurement?.id, + estimateId: window.location.href.includes("measurement/update") ? props.config.formData.Measurement.id : formData?.Measurement?.id, number: window.location.href.includes("measurement/update") ? props.config.formData.Measurement.measurementNumber : formData?.Measurement?.measurementNumber, @@ -148,7 +146,9 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { : formData?.Measurement?.id; const number = isEstimate - ? formData?.estimateNumber + ? window.location.href.includes("revision") + ? revisionNumber + : formData?.estimateNumber : window.location.href.includes("measurement/update") ? props.config.formData.Measurement.measurementNumber : formData?.Measurement?.measurementNumber; @@ -180,7 +180,6 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { const handleButtonClick = async (event) => { event.preventDefault(); - if (!checkConditions(isEstimate, formData, props)) { const message = isEstimate ? t("NO_ESTIMATE_SOR_FOUND") : t("NO_MEASUREMENT_SOR_FOUND"); @@ -227,11 +226,11 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { // // ); - if (searchLoading) return ; + if (searchLoading) return ; if (!window.location.href.includes("create")) return ( -
+
{ label={isEstimate ? t("ESTIMATE_ANALYSIS_STM") : t("MB_UTILIZATION_STM")} /> {showToast && ( - setShowToast(false)} - /> - )} + setShowToast(false)} + /> + )}
); else return
; - }; -export default ViewAnalysisStatement; - +export default ViewAnalysisStatement; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js index d16562b48d..6d5ef902e5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js @@ -35,15 +35,15 @@ export const data = (statementDetails, rawData,oldData) => { values: [ { key: "STATEMENT_MATERIAL", - value: oldData ? parseFloat(oldData?.Material).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2), + value: oldData ? parseFloat(oldData?.Material).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length!=0?statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2):(0).toFixed(2), }, { key: "STATEMENT_LABOUR", - value: oldData ? parseFloat(oldData?.Machinery).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2), + value: oldData ? parseFloat(oldData?.Machinery).toFixed(2) :statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length!=0? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2):(0).toFixed(2), }, { key: "STATEMENT_MACHINERY", - value: oldData ? parseFloat(oldData?.Labour).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2), + value: oldData ? parseFloat(oldData?.Labour).toFixed(2) :statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length!=0? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2):(0).toFixed(2), }, { key: "STATEMENT_LABOUR_CESS", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js index ccafc3d3fd..0b2c449807 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js @@ -16,279 +16,279 @@ import { import { useTranslation } from "react-i18next"; import { ViewComposer } from "@egovernments/digit-ui-react-components"; import { data } from "../../configs/viewUtilConfig"; -import { useHistory,useLocation } from "react-router-dom"; +import { useHistory, useLocation } from "react-router-dom"; const ViewUtilization = () => { - // let statement = [ - // { - // "id": "b17bdb3c-f0c4-4507-abaf-285d7afea03e", - // "tenantId": "pg.citya", - // "targetId": "654cca5a-9ff7-4508-bfe5-5fc49956e96a", - // "statementType": "ANALYSIS", - // "basicSorDetails": [ - // { - // "id": null, - // "amount": 157.98, - // "type": "W", - // "quantity": null - // }, - // { - // "id": null, - // "amount": 280, - // "type": "L", - // "quantity": null - // } - // ], - // "sorDetails": [ - // { - // "id": "b22e7f9b-817f-4515-9392-d79d093b282d", - // "statementId": "b17bdb3c-f0c4-4507-abaf-285d7afea03e", - // "sorId": "SOR_000002", - // "basicSorDetails": [ - // { - // "id": "fae0aa76-bf46-449a-b7fe-964a7fc595c4", - // "amount": 157.98, - // "type": "W", - // "quantity": null - // }, - // { - // "id": "ac6ed4b2-3f93-4210-bce5-c6140b0edf24", - // "amount": 280, - // "type": "L", - // "quantity": null - // } - // ], - // "lineItems": [ - // { - // "id": "4452034c-7878-424f-8cb6-e243cad53890", - // "sorId": "SOR_000009", - // "sorType": "W", - // "referenceId": "b22e7f9b-817f-4515-9392-d79d093b282d", - // "basicSorDetails": [ - // { - // "id": "0090b821-459f-4453-bbd3-e9ce45b67540", - // "amount": 157.2, - // "type": "W", - // "quantity": 0.4 - // } - // ], - // "additionalDetails": { - // "rateDetails": { - // "id": null, - // "tenantId": null, - // "sorCode": null, - // "sorId": "SOR_000009", - // "sorType": null, - // "sorSubType": null, - // "sorVariant": null, - // "isBasicVariant": null, - // "uom": null, - // "quantity": null, - // "description": null, - // "rate": 393, - // "validFrom": "1702857600000", - // "validTo": null, - // "amountDetails": [ - // { - // "id": null, - // "type": "fixed", - // "heads": "LA.2", - // "amount": 200 - // } - // ] - // }, - // "sorDetails": { - // "id": "SOR_000009", - // "uom": "CUM", - // "sorType": "W", - // "quantity": 1, - // "sorSubType": "CC", - // "sorVariant": "FF", - // "description": "C:C: (1:2:4) using 12 mm. size H.G. stone chips including the cost of all materials labour T&P sundries etc complete. (FF)" - // } - // } - // }, - // { - // "id": "fb1cb28f-7f72-4a01-9880-2e122ac9538a", - // "sorId": "SOR_000003", - // "sorType": "W", - // "referenceId": "b22e7f9b-817f-4515-9392-d79d093b282d", - // "basicSorDetails": [ - // { - // "id": "82bdac99-3407-4ca2-913d-d4a354a7a917", - // "amount": 0.78, - // "type": "W", - // "quantity": 0.0017 - // } - // ], - // "additionalDetails": { - // "rateDetails": { - // "id": null, - // "tenantId": null, - // "sorCode": null, - // "sorId": "SOR_000003", - // "sorType": null, - // "sorSubType": null, - // "sorVariant": null, - // "isBasicVariant": null, - // "uom": null, - // "quantity": null, - // "description": null, - // "rate": 456, - // "validFrom": "1702944000000", - // "validTo": null, - // "amountDetails": [ - // { - // "id": null, - // "type": "fixed", - // "heads": "RA.5", - // "amount": 200 - // } - // ] - // }, - // "sorDetails": { - // "id": "SOR_000003", - // "uom": "CUM", - // "sorType": "W", - // "quantity": 120, - // "sorSubType": "CC", - // "sorVariant": "GF", - // "description": "P.C.C. Grade M25 Using Batching plant, Transit Mixer and concrete pump (Data for 120.00 Cum) [First Floor]" - // } - // } - // }, - // { - // "id": "e99f5df4-eb85-4677-ab86-98781f72e0fe", - // "sorId": "SOR_0000011", - // "sorType": "L", - // "referenceId": "b22e7f9b-817f-4515-9392-d79d093b282d", - // "basicSorDetails": [ - // { - // "id": "71a91a81-8c70-4a57-b9e1-8474c54916d1", - // "amount": 280, - // "type": "L", - // "quantity": 0.4 - // } - // ], - // "additionalDetails": { - // "rateDetails": { - // "id": null, - // "tenantId": null, - // "sorCode": null, - // "sorId": "SOR_0000011", - // "sorType": null, - // "sorSubType": null, - // "sorVariant": null, - // "isBasicVariant": null, - // "uom": null, - // "quantity": null, - // "description": null, - // "rate": 700, - // "validFrom": "1712580560000", - // "validTo": "null", - // "amountDetails": [ - // { - // "id": "123", - // "type": "fixed", - // "heads": "FH.123", - // "amount": 700 - // } - // ] - // }, - // "sorDetails": { - // "id": "SOR_0000011", - // "uom": "NOs", - // "sorType": "L", - // "quantity": 1, - // "sorSubType": "S", - // "sorVariant": "NA", - // "description": "SKILLED FEMALE MULIA." - // } - // } - // } - // ], - // "tenantId": "pg.citya", - // "isActive": true, - // "additionalDetails": { - // "rateDetails": { - // "id": "2", - // "tenantId": null, - // "sorCode": null, - // "sorId": "SOR_000002", - // "sorType": null, - // "sorSubType": null, - // "sorVariant": null, - // "isBasicVariant": null, - // "uom": null, - // "quantity": null, - // "description": "Earth Work", - // "rate": 439070.35, - // "validFrom": "1698796800000", - // "validTo": "1923609600000", - // "amountDetails": [ - // { - // "id": null, - // "type": "fixed", - // "heads": "LC.6", - // "amount": 4347.23 - // }, - // { - // "id": null, - // "type": "fixed", - // "heads": "RA.5", - // "amount": 15928 - // }, - // { - // "id": null, - // "type": "fixed", - // "heads": "CA.4", - // "amount": 32001.01 - // }, - // { - // "id": null, - // "type": "fixed", - // "heads": "MHA.3", - // "amount": 32001.01 - // }, - // { - // "id": null, - // "type": "fixed", - // "heads": "LA.2", - // "amount": 7095.84 - // }, - // { - // "id": null, - // "type": "fixed", - // "heads": "MA.1", - // "amount": 329936.45 - // } - // ] - // }, - // "sorDetails": { - // "id": "SOR_000002", - // "uom": "CUM", - // "sorType": "W", - // "quantity": 120, - // "sorSubType": "CC", - // "sorVariant": "GF", - // "description": "P.C.C. Grade M25 Using Batching plant, Transit Mixer and concrete pump (Data for 120.00 Cum)" - // } - // } - // } - // ], - // "auditDetails": { - // "createdBy": "45614d29-9a50-4970-aba5-81b380745f48", - // "lastModifiedBy": "45614d29-9a50-4970-aba5-81b380745f48", - // "createdTime": 1718713193272, - // "lastModifiedTime": 1718713193272 - // }, - // "additionalDetails": { - // "estimateNumber": "ES/2024-25/000311" - // } - // } - // ] + // let statement = [ + // { + // "id": "b17bdb3c-f0c4-4507-abaf-285d7afea03e", + // "tenantId": "pg.citya", + // "targetId": "654cca5a-9ff7-4508-bfe5-5fc49956e96a", + // "statementType": "ANALYSIS", + // "basicSorDetails": [ + // { + // "id": null, + // "amount": 157.98, + // "type": "W", + // "quantity": null + // }, + // { + // "id": null, + // "amount": 280, + // "type": "L", + // "quantity": null + // } + // ], + // "sorDetails": [ + // { + // "id": "b22e7f9b-817f-4515-9392-d79d093b282d", + // "statementId": "b17bdb3c-f0c4-4507-abaf-285d7afea03e", + // "sorId": "SOR_000002", + // "basicSorDetails": [ + // { + // "id": "fae0aa76-bf46-449a-b7fe-964a7fc595c4", + // "amount": 157.98, + // "type": "W", + // "quantity": null + // }, + // { + // "id": "ac6ed4b2-3f93-4210-bce5-c6140b0edf24", + // "amount": 280, + // "type": "L", + // "quantity": null + // } + // ], + // "lineItems": [ + // { + // "id": "4452034c-7878-424f-8cb6-e243cad53890", + // "sorId": "SOR_000009", + // "sorType": "W", + // "referenceId": "b22e7f9b-817f-4515-9392-d79d093b282d", + // "basicSorDetails": [ + // { + // "id": "0090b821-459f-4453-bbd3-e9ce45b67540", + // "amount": 157.2, + // "type": "W", + // "quantity": 0.4 + // } + // ], + // "additionalDetails": { + // "rateDetails": { + // "id": null, + // "tenantId": null, + // "sorCode": null, + // "sorId": "SOR_000009", + // "sorType": null, + // "sorSubType": null, + // "sorVariant": null, + // "isBasicVariant": null, + // "uom": null, + // "quantity": null, + // "description": null, + // "rate": 393, + // "validFrom": "1702857600000", + // "validTo": null, + // "amountDetails": [ + // { + // "id": null, + // "type": "fixed", + // "heads": "LA.2", + // "amount": 200 + // } + // ] + // }, + // "sorDetails": { + // "id": "SOR_000009", + // "uom": "CUM", + // "sorType": "W", + // "quantity": 1, + // "sorSubType": "CC", + // "sorVariant": "FF", + // "description": "C:C: (1:2:4) using 12 mm. size H.G. stone chips including the cost of all materials labour T&P sundries etc complete. (FF)" + // } + // } + // }, + // { + // "id": "fb1cb28f-7f72-4a01-9880-2e122ac9538a", + // "sorId": "SOR_000003", + // "sorType": "W", + // "referenceId": "b22e7f9b-817f-4515-9392-d79d093b282d", + // "basicSorDetails": [ + // { + // "id": "82bdac99-3407-4ca2-913d-d4a354a7a917", + // "amount": 0.78, + // "type": "W", + // "quantity": 0.0017 + // } + // ], + // "additionalDetails": { + // "rateDetails": { + // "id": null, + // "tenantId": null, + // "sorCode": null, + // "sorId": "SOR_000003", + // "sorType": null, + // "sorSubType": null, + // "sorVariant": null, + // "isBasicVariant": null, + // "uom": null, + // "quantity": null, + // "description": null, + // "rate": 456, + // "validFrom": "1702944000000", + // "validTo": null, + // "amountDetails": [ + // { + // "id": null, + // "type": "fixed", + // "heads": "RA.5", + // "amount": 200 + // } + // ] + // }, + // "sorDetails": { + // "id": "SOR_000003", + // "uom": "CUM", + // "sorType": "W", + // "quantity": 120, + // "sorSubType": "CC", + // "sorVariant": "GF", + // "description": "P.C.C. Grade M25 Using Batching plant, Transit Mixer and concrete pump (Data for 120.00 Cum) [First Floor]" + // } + // } + // }, + // { + // "id": "e99f5df4-eb85-4677-ab86-98781f72e0fe", + // "sorId": "SOR_0000011", + // "sorType": "L", + // "referenceId": "b22e7f9b-817f-4515-9392-d79d093b282d", + // "basicSorDetails": [ + // { + // "id": "71a91a81-8c70-4a57-b9e1-8474c54916d1", + // "amount": 280, + // "type": "L", + // "quantity": 0.4 + // } + // ], + // "additionalDetails": { + // "rateDetails": { + // "id": null, + // "tenantId": null, + // "sorCode": null, + // "sorId": "SOR_0000011", + // "sorType": null, + // "sorSubType": null, + // "sorVariant": null, + // "isBasicVariant": null, + // "uom": null, + // "quantity": null, + // "description": null, + // "rate": 700, + // "validFrom": "1712580560000", + // "validTo": "null", + // "amountDetails": [ + // { + // "id": "123", + // "type": "fixed", + // "heads": "FH.123", + // "amount": 700 + // } + // ] + // }, + // "sorDetails": { + // "id": "SOR_0000011", + // "uom": "NOs", + // "sorType": "L", + // "quantity": 1, + // "sorSubType": "S", + // "sorVariant": "NA", + // "description": "SKILLED FEMALE MULIA." + // } + // } + // } + // ], + // "tenantId": "pg.citya", + // "isActive": true, + // "additionalDetails": { + // "rateDetails": { + // "id": "2", + // "tenantId": null, + // "sorCode": null, + // "sorId": "SOR_000002", + // "sorType": null, + // "sorSubType": null, + // "sorVariant": null, + // "isBasicVariant": null, + // "uom": null, + // "quantity": null, + // "description": "Earth Work", + // "rate": 439070.35, + // "validFrom": "1698796800000", + // "validTo": "1923609600000", + // "amountDetails": [ + // { + // "id": null, + // "type": "fixed", + // "heads": "LC.6", + // "amount": 4347.23 + // }, + // { + // "id": null, + // "type": "fixed", + // "heads": "RA.5", + // "amount": 15928 + // }, + // { + // "id": null, + // "type": "fixed", + // "heads": "CA.4", + // "amount": 32001.01 + // }, + // { + // "id": null, + // "type": "fixed", + // "heads": "MHA.3", + // "amount": 32001.01 + // }, + // { + // "id": null, + // "type": "fixed", + // "heads": "LA.2", + // "amount": 7095.84 + // }, + // { + // "id": null, + // "type": "fixed", + // "heads": "MA.1", + // "amount": 329936.45 + // } + // ] + // }, + // "sorDetails": { + // "id": "SOR_000002", + // "uom": "CUM", + // "sorType": "W", + // "quantity": 120, + // "sorSubType": "CC", + // "sorVariant": "GF", + // "description": "P.C.C. Grade M25 Using Batching plant, Transit Mixer and concrete pump (Data for 120.00 Cum)" + // } + // } + // } + // ], + // "auditDetails": { + // "createdBy": "45614d29-9a50-4970-aba5-81b380745f48", + // "lastModifiedBy": "45614d29-9a50-4970-aba5-81b380745f48", + // "createdTime": 1718713193272, + // "lastModifiedTime": 1718713193272 + // }, + // "additionalDetails": { + // "estimateNumber": "ES/2024-25/000311" + // } + // } + // ] -// + // // let statement = [ // { // "id": "251c51eb-e970-4e01-a99a-70136c47a934", @@ -387,11 +387,10 @@ const ViewUtilization = () => { // } // ] - const history = useHistory(); const [showActions, setShowActions] = useState(false); - // const { tenantId, estimateId } = Digit.Hooks.useQueryParams(); - const tenantId = Digit.ULBService.getCurrentTenantId(); + // const { tenantId, estimateId } = Digit.Hooks.useQueryParams(); + const tenantId = Digit.ULBService.getCurrentTenantId(); const { t } = useTranslation(); const [actionsMenu, setActionsMenu] = useState([]); const [isStateChanged, setStateChanged] = useState(``); @@ -401,11 +400,11 @@ const ViewUtilization = () => { const loggedInUserRoles = Digit.Utils.getLoggedInUserDetails("roles"); //look here need to uncomment once api works fine and check if the data is coming proper - // const { state,refId } = useLocation() - const location = useLocation(); - const { responseData, estimateId,number } = location.state || {}; - - let statement = responseData?.statement; + // const { state,refId } = useLocation() + const location = useLocation(); + const { responseData, estimateId, number } = location.state || {}; + + let statement = responseData?.statement; const closeMenu = () => { setShowActions(false); @@ -420,24 +419,35 @@ const ViewUtilization = () => { //if (isProjectLoading || isDetailedEstimateLoading | isDetailedEstimatesLoading) return ; const HandleDownloadPdf = () => { - // Digit.Utils.downloadEgovPDF(`analysisUtilization/analysis-utilization?tenantId=${tenantId}&referenceId=${formId}`,{referenceId:formId},`utilization-${refId}.pdf`) - Digit.Utils.downloadWorksPDF("utilizationStatement/utilization-statement", { tenantId: tenantId ,referenceId:estimateId}, `utilization-${number}.pdf`); - } + Digit.Utils.downloadWorksPDF( + "utilizationStatement/utilization-statement", + { tenantId: tenantId, referenceId: estimateId }, + `utilization-${number}.pdf` + ); + }; return (
-
-
+
+
{t("MB_VIEW_UTLIZATION")}
- HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} /> + HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} />
- {toast?.show && } + {toast?.show && ( + + )} <> - - history.goBack()} label={t("STATEMENT_GO_BACK")} /> - + + history.goBack()} label={t("STATEMENT_GO_BACK")} /> + {/* {detailedEstimate?.estimates?.filter((ob) => ob?.businessService !== "REVISION-ESTIMATE")?.[0]?.wfStatus === "APPROVED" && !isLoadingContracts && actionsMenu?.length > 0 ? ( {showActions ? { ); }; -export default ViewUtilization; +export default ViewUtilization; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js index e6f01e4a5e..2661886c67 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js @@ -97,7 +97,7 @@ const SORDetailsTemplate = (props) => { } const transformSOR = (sor, isUpdate) => { const transformedSOR = { - sNo: SORDetails?.length > 0 ? parseFloat(SORDetails?.[SORDetails.length -1]?.sNo) + 1 : 1, + sNo: SORDetails?.length > 0 ? parseFloat(SORDetails?.[SORDetails.length - 1]?.sNo) + 1 : 1, description: sor?.description, uom: sor?.uom, category: "SOR", @@ -158,13 +158,18 @@ const SORDetailsTemplate = (props) => { }; const sortedRows = SORDetails.filter((ob) => ob?.sorType === props?.config?.sorType).map((row, index) => ({ - sno: pageType === "VIEW"?parseFloat(index+1): row?.sNo , + sno: pageType === "VIEW" ? parseFloat(index + 1) : row?.sNo, sorCode: row?.sorCode, description: row?.description, uom: row?.uom, quantity: pageType === "VIEW" ? parseFloat(row?.quantity || 0).toFixed(4) : row?.quantity, - ...(pageType === "VIEW" ? { amount: parseFloat(row?.amount || 0).toFixed(2), basicRate: parseFloat(row?.basicRate || 0).toFixed(2) } : {}), + ...(pageType === "VIEW" + ? { + amount: Digit.Utils.dss.formatterWithoutRound(parseFloat(row?.amount || 0).toFixed(2), "number", undefined, true, undefined, 2), + basicRate: Digit.Utils.dss.formatterWithoutRound(parseFloat(row?.basicRate || 0).toFixed(2), "number", undefined, true, undefined, 2), + } + : {}), })); useEffect(() => { @@ -207,64 +212,65 @@ const SORDetailsTemplate = (props) => { {/*renderBody*/} - { - sortedRows.length>0? + {sortedRows.length > 0 ? ( sortedRows.map((row, rowIndex) => { - return( - - {columns.map((column, columnIndex) => ( - - {column?.key === "quantity" && pageType !== "VIEW" ? ( -
- { - const { value } = e.target; - if (value ? has4DecimalPlaces(parseFloat(value)): true) { - let newSOR = SORDetails?.map((obj) => { - if (obj?.sorCode === row?.sorCode) { - return { ...obj, quantity: value }; + return ( + + {columns.map((column, columnIndex) => ( + + {column?.key === "quantity" && pageType !== "VIEW" ? ( +
+ { + const { value } = e.target; + if (value ? has4DecimalPlaces(parseFloat(value)) : true) { + let newSOR = SORDetails?.map((obj) => { + if (obj?.sorCode === row?.sorCode) { + return { ...obj, quantity: value }; + } + return obj; + }); + setSORDetails([...newSOR]); + setFormValue([...newSOR]); + //setValue("SORDetails",[...newSOR]) + } else { + e.target.value = value.slice(0, value.length - 1); // Restrict input to 4 decimal places } - return obj; - }); - setSORDetails([...newSOR]); - setFormValue([...newSOR]); - //setValue("SORDetails",[...newSOR]) - } - else { - e.target.value = value.slice(0, value.length - 1); // Restrict input to 4 decimal places - } - }} - inputRef={register({ - required: true, - })} - disable={false} - /> -
- ) : ( - row[column.key] + }} + inputRef={register({ + required: true, + })} + disable={false} + /> +
+ ) : ( + row[column.key] + )} + + ))} + {pageType !== "VIEW" && ( + +
+ { + remove(row)} className="icon-wrapper"> + + + } +
+
+ )} - - ))} - {pageType !== "VIEW" && ( - -
- { - remove(row)} className="icon-wrapper"> - - - } -
-
- - )} - - )}): - {t(emptyTableMsg)} - - } + + ); + }) + ) : ( + + {t(emptyTableMsg)} + + )} {sortedRows.length > 0 && pageType === "VIEW" && ( @@ -289,4 +295,4 @@ const SORDetailsTemplate = (props) => { ); }; -export default SORDetailsTemplate; +export default SORDetailsTemplate; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/extra_charges_view_table.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/extra_charges_view_table.js index 3a994b0450..84d1f3a920 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/extra_charges_view_table.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/extra_charges_view_table.js @@ -10,13 +10,10 @@ const ExtraChargesViewTable = (props) => { //new component only const { t } = useTranslation(); - const { pageType, arrayData, emptyTableMsg } = props; + const { pageType, arrayData, emptyTableMsg } = props; - const [SORDetails, setSORDetails] = useState([]); - - useEffect(() => { setSORDetails(arrayData ? arrayData : []); }, [arrayData]); @@ -71,8 +68,8 @@ const ExtraChargesViewTable = (props) => { description: row?.description, appliedOn: row?.appliedOn, calculationType: row?.calculationType, - figure: row?.figure, - amount: row?.amount, + figure: Digit.Utils.dss.formatterWithoutRound(parseFloat(row?.figure).toFixed(2), "number", undefined, true, undefined, 2), + amount: Digit.Utils.dss.formatterWithoutRound(parseFloat(row?.amount).toFixed(2), "number", undefined, true, undefined, 2), })); return ( @@ -124,4 +121,4 @@ const ExtraChargesViewTable = (props) => { ); }; -export default ExtraChargesViewTable; +export default ExtraChargesViewTable; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/rateAmountGroup.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/rateAmountGroup.js index 0b36b3df70..422f735c77 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/rateAmountGroup.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/rateAmountGroup.js @@ -92,7 +92,10 @@ const RateAmountGroup = (props) => {
{`${t("RA_EXISTING_RATE")}/${uom}`} - {parseFloat(existingData).toFixed(2)} + { + Digit.Utils.dss.formatterWithoutRound(parseFloat(existingData).toFixed(2), "number", undefined, true, undefined, 2) + + }
{/**/} @@ -103,8 +106,8 @@ const RateAmountGroup = (props) => {
{`${t("RA_NEW_RATE")}/${uom}`} { - parseFloat(newValue).toFixed(2) + Digit.Utils.dss.formatterWithoutRound(parseFloat(newValue).toFixed(2), "number", undefined, true, undefined, 2) }
@@ -115,4 +118,4 @@ const RateAmountGroup = (props) => { ); }; -export default RateAmountGroup; +export default RateAmountGroup; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js index e85e9b5a22..5d95f15187 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js @@ -27,7 +27,7 @@ const TableWithOutHead = (props) => { {/*Digit.Utils.dss.formatterWithoutRound(Math.round(parseFloat(row.amount)).toFixed(2),"number",undefined,true,undefined,2)*/} - { (parseFloat(row.amount)).toFixed(2)} + {Digit.Utils.dss.formatterWithoutRound( parseFloat(row.amount).toFixed(2), "number", undefined, true, undefined, 2)} @@ -60,4 +60,4 @@ const TableWithOutHead = (props) => { ); }; -export default TableWithOutHead; +export default TableWithOutHead; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/ViewRateAnalysis.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/ViewRateAnalysis.js index 6c2d14e345..8288d89650 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/ViewRateAnalysis.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/ViewRateAnalysis.js @@ -12,14 +12,16 @@ const ViewRateAnalysis = () => { const userInfo = Digit.UserService.getUser(); const userRoles = userInfo?.info?.roles?.map((roleData) => roleData?.code); - +const [current,setCurrent]=useState(Date.now()) const queryStrings = Digit.Hooks.useQueryParams(); - + + let effectiveTime=queryStrings.fromeffective != current? current : queryStrings.fromeffective let dataPaylod = { + sorDetails: { tenantId: tenantId, sorCodes: [`${queryStrings?.sorId}`], - effectiveFrom: `${queryStrings.fromeffective}`, + effectiveFrom: effectiveTime, }, }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js index b9a7a22890..62fa18ef7c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js @@ -195,8 +195,8 @@ export const calculateTotalAmount = (listData) => { let totalAmount = listData.reduce((sum, item) => sum + (item.amount || 0), 0); //return totalAmount; - //return Digit.Utils.dss.formatterWithoutRound(Math.round(parseFloat(totalAmount)).toFixed(2),"number",undefined,true,undefined,2) - return parseFloat(totalAmount).toFixed(2) + return Digit.Utils.dss.formatterWithoutRound(parseFloat(totalAmount).toFixed(2),"number",undefined,true,undefined,2) + // return parseFloat(totalAmount).toFixed(2) }; /* gross total amount calculation */ @@ -240,4 +240,4 @@ export const formatDate = (epochTime) => { const year = date.getFullYear(); return `${day}/${month}/${year}`; -}; +}; \ No newline at end of file From 7fc1ddd98a00e3d23b1a5c67c5fcd6a02060899d Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Sat, 6 Jul 2024 14:54:28 +0530 Subject: [PATCH 007/292] added page limit and enabled revise all button --- .../Mukta/src/configs/UICustomizations.js | 18 ++++++++++++++---- .../src/pages/employee/SearchSOR.js | 7 +++++-- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js index 0d1d7d526d..466f215961 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js @@ -2831,7 +2831,10 @@ export const UICustomizations = { tenantId: Digit.ULBService.getCurrentTenantId(), schemaCode:"WORKS-SOR.SOR", filters: filters, - }; + limit:data.state.tableForm.limit, + offset:data.state.tableForm.offset + }; + return data; }, additionalCustomizations: (row, key, column, value, t, searchResult) => { @@ -2869,10 +2872,17 @@ export const UICustomizations = { }, []); React.useEffect(() => { - Digit.SessionStorage.set("RA_SELECTED_SORS", {}); - const storedData = Digit.SessionStorage.get("RA_SELECTED_SORS") || {}; - setSelectedSorIds(storedData); + if (searchResult.length > 0) { + const sorTypeSelected = row?.data?.sorType; + Digit.SessionStorage.set("RA_SELECTED_SORS", { sorType: sorTypeSelected }); + setSelectedSorIds({ sorType: sorTypeSelected }); + } }, [searchResult]); + + + React.useEffect(() => { + window.dispatchEvent(new Event('session-storage-update')); + }, [Digit.SessionStorage.get("RA_SELECTED_SORS")]); switch (key) { case "RA_SOR_CODE": diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js index 5e2788a1a3..aae57631da 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js @@ -127,8 +127,11 @@ const SearchSOR = () => { setPopup(true)} - disabled={selectedSorIds?.sorIds?.length <= 0 || selectedSorIds?.sorType !== "W"} + onSubmit={() => { + setPopup(true); + setReviseAll(false); + }} + disabled={!selectedSorIds.hasOwnProperty("sorIds") || selectedSorIds?.sorIds?.length <= 0 || selectedSorIds?.sorType !== "W"} /> Date: Sat, 6 Jul 2024 19:10:25 +0530 Subject: [PATCH 008/292] null value handled --- .../Estimate/src/components/ViewStatement.js | 72 +++++++++++++++---- .../src/configs/viewStatementConfig.js | 10 ++- .../src/components/specficAmountTable.js | 2 +- .../src/pages/employee/ViewRateAnalysis.js | 9 ++- .../src/hoc/ViewComposer/renderUtils.js | 2 +- 5 files changed, 72 insertions(+), 23 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index ff3ba0a9ed..ee5309d921 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -68,13 +68,34 @@ const ViewStatement = (props) => { {subRow.name} {subRow.unit} -
{Digit.Utils.dss.formatterWithoutRound(parseFloat(subRow?.rate.toFixed(2)), "number", undefined, true, undefined, 2)}
+
+ {Digit.Utils.dss.formatterWithoutRound( + parseFloat((subRow?.rate === undefined ? 0 : subRow?.rate).toFixed(2)), + "number", + undefined, + true, + undefined, + 2 + )}{" "} +
- + - + )); @@ -91,7 +112,12 @@ const ViewStatement = (props) => { {t("MB_ONLY_AMOUNT")}: - + ); @@ -115,13 +141,30 @@ const ViewStatement = (props) => { {row.description} {row.uom} - + - + - + {subRows.length > 0 && ( @@ -185,7 +228,7 @@ const ViewStatement = (props) => { {subRows.length === 0 && row?.type !== "W" && ( - {/* + {/* {t(`WORKS_${type}_TABLE_HEADER`)} @@ -219,7 +262,7 @@ const ViewStatement = (props) => { } - + {t("MB_ONLY_AMOUNT")}: @@ -228,9 +271,7 @@ const ViewStatement = (props) => { - - @@ -255,7 +296,12 @@ const ViewStatement = (props) => { {config?.screenType === "UTILIZATION" ? t("UTILIZATION_STATEMENT_GRAND_TOTAL") : t("STATEMENT_GRAND_TOTAL")}: - + ) : ( @@ -269,4 +315,4 @@ const ViewStatement = (props) => { ); }; -export default ViewStatement; \ No newline at end of file +export default ViewStatement; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js index b9df2168cd..5ab093867e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js @@ -41,7 +41,8 @@ export const data = (statementDetails, rawData, oldData) => { ? parseFloat(oldData?.Material).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2) - : (0).toFixed(2), + : parseFloat(0).toFixed(2), + textStyle:{width:"14%",textAlign:"right"}, }, { key: "STATEMENT_LABOUR", @@ -49,7 +50,8 @@ export const data = (statementDetails, rawData, oldData) => { ? parseFloat(oldData?.Machinery).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2) - : (0).toFixed(2), + : parseFloat(0).toFixed(2), + textStyle:{width:"14%",textAlign:"right"}, }, { key: "STATEMENT_MACHINERY", @@ -57,7 +59,8 @@ export const data = (statementDetails, rawData, oldData) => { ? parseFloat(oldData?.Labour).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2) - : (0).toFixed(2), + : parseFloat(0).toFixed(2), + textStyle:{width:"14%",textAlign:"right"}, }, { @@ -67,6 +70,7 @@ export const data = (statementDetails, rawData, oldData) => { return acc + (ob?.additionalDetails?.labourCessAmount || 0); }, 0) ).toFixed(2), + textStyle:{width:"14%",textAlign:"right"}, }, ], }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js index 5d95f15187..e3856fb7e7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js @@ -27,7 +27,7 @@ const TableWithOutHead = (props) => { {/*Digit.Utils.dss.formatterWithoutRound(Math.round(parseFloat(row.amount)).toFixed(2),"number",undefined,true,undefined,2)*/} - {Digit.Utils.dss.formatterWithoutRound( parseFloat(row.amount).toFixed(2), "number", undefined, true, undefined, 2)} + {Digit.Utils.dss.formatterWithoutRound( parseFloat(row.amount===undefined?0:row.amount).toFixed(2), "number", undefined, true, undefined, 2)} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/ViewRateAnalysis.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/ViewRateAnalysis.js index 8288d89650..b818e5fb6d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/ViewRateAnalysis.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/ViewRateAnalysis.js @@ -12,16 +12,15 @@ const ViewRateAnalysis = () => { const userInfo = Digit.UserService.getUser(); const userRoles = userInfo?.info?.roles?.map((roleData) => roleData?.code); -const [current,setCurrent]=useState(Date.now()) + const [current, setCurrent] = useState(Date.now()); const queryStrings = Digit.Hooks.useQueryParams(); - - let effectiveTime=queryStrings.fromeffective != current? current : queryStrings.fromeffective - let dataPaylod = { + let effectiveTime = queryStrings.fromeffective ? queryStrings.fromeffective : current; + let dataPaylod = { sorDetails: { tenantId: tenantId, sorCodes: [`${queryStrings?.sorId}`], - effectiveFrom: effectiveTime, + effectiveFrom: effectiveTime, }, }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js index 60736d6ded..3f0080341b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js @@ -41,7 +41,7 @@ export const RenderDataSection = ({ section }) => { /* privacy object set to the Row Component */ privacy={row?.value?.privacy} rowContainerStyle={{}} - textStyle={{}} + textStyle={row?.textStyle} labelStyle={{}} amountStyle={{}} /> From e52a436eca5323cead2026f603782a7d3e987fa1 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Mon, 8 Jul 2024 12:21:54 +0530 Subject: [PATCH 009/292] updated css --- .../packages/css/package.json | 2 +- .../css/src/components/rateanalysis.scss | 22 ++++--------------- .../src/configs/ViewScheduledJobsConfig.js | 1 + 3 files changed, 6 insertions(+), 19 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json index e99ae16581..a79653330f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-works-css", - "version": "0.2.40", + "version": "0.2.41", "license": "MIT", "author": "Jagankumar ", "main": "dist/index.css", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/rateanalysis.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/rateanalysis.scss index 5223ee4fb1..6f5e0ff4b6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/rateanalysis.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/rateanalysis.scss @@ -1,23 +1,9 @@ +.toast-success{ + max-width: 540px; +} - .search-button-wrapper { - display: flex; - align-items: center; - justify-content: flex-end; - gap: 1rem; - padding-top: 8px; - &.inbox { - grid-column: 2 / span 2; - &.filter { - button { - width: 100%; - } - } - } +.view-scheduled-jobs-serach-wrapper{ &.search { grid-column: 4 / span 2 !important; } -} - -.toast-success{ - max-width: 540px; } \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js index 98f35c46fd..b264a625cb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js @@ -27,6 +27,7 @@ const ViewScheduledJobsConfig = { headerStyle: null, primaryLabel: "ES_COMMON_SEARCH", secondaryLabel: "ES_COMMON_CLEAR_SEARCH", + searchWrapperClassName:"view-scheduled-jobs-serach-wrapper", minReqFields: 1, showFormInstruction: "", defaultValues: { From 7ef91007bb7a658a0eee48aaa1d5f5e1d90348c6 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Mon, 8 Jul 2024 12:22:36 +0530 Subject: [PATCH 010/292] css version change --- frontend/micro-ui/web/public/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/public/index.html b/frontend/micro-ui/web/public/index.html index 04e8165657..a8ca377671 100644 --- a/frontend/micro-ui/web/public/index.html +++ b/frontend/micro-ui/web/public/index.html @@ -8,7 +8,7 @@ href="https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@400;500;700&family=Roboto:wght@400;500;700&display=swap" rel='stylesheet' type='text/css'> - + From d502fb2282a1570f11ce745367db379766e0f704 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 9 Jul 2024 11:56:09 +0530 Subject: [PATCH 011/292] changed works sor type as default selected --- .../packages/Mukta/src/components/WorksCard.js | 6 +++++- .../src/configs/searchSORConfig.js | 18 ++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js index 43464ccc9f..8004e1fa59 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js @@ -21,7 +21,6 @@ const WorksCard = () => { return null; } - const bsEstimate = Digit?.Customizations?.["commonUiConfig"]?.getBusinessService("estimate"); const bsContract = Digit?.Customizations?.["commonUiConfig"]?.getBusinessService("contract"); const bsRevisedWO = Digit?.Customizations?.["commonUiConfig"]?.getBusinessService("revisedWO"); @@ -220,6 +219,11 @@ const WorksCard = () => { label: t("ACTION_TEST_9WORKBENCH"), link: `/workbench-ui/employee/workbench/manage-master-data`, roles: ROLES.WORKBENCH, + }, + { + label: t("ACTION_TEST_10REVISIONOFRATES"), + link: `/${window?.contextPath}/employee/rateAnalysis/search-sor`, + roles: ROLES.WORKBENCH, } ]; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/searchSORConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/searchSORConfig.js index c68ca2332f..e760e4dda4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/searchSORConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/searchSORConfig.js @@ -30,7 +30,12 @@ const searchSORConfig = { minReqFields: 1, showFormInstruction: "", defaultValues: { - sorType: "", + sorType: { + active: true, + code: "W", + description: "Works", + i18nKey: "WORKS_SOR_TYPE_W", + }, sorSubType: "", sorVariant: "", sorCode: "", @@ -49,9 +54,14 @@ const searchSORConfig = { "optionsCustomStyle": { "top": "2.3rem" }, - mdmsv2: { - schemaCode: "WORKS-SOR.Type" - }, + options: [ + { + active: true, + code: "W", + description: "Works", + i18nKey: "WORKS_SOR_TYPE_W", + }, + ], }, }, { From e81af97663b3c625fcbe3af1e5ec59da12f9ea42 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 9 Jul 2024 12:04:10 +0530 Subject: [PATCH 012/292] updated roles --- .../packages/Mukta/src/components/WorksCard.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js index 8004e1fa59..8b11245b29 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js @@ -12,6 +12,7 @@ const ROLES = { MUSTERROLLS: ["MUSTER_ROLL_VERIFIER", "MUSTER_ROLL_APPROVER"], MEASUREMENT: ["MB_CREATOR", "MB_VERIFIER", "MB_APPROVER", "MB_VIEWER"], WORKBENCH : ["MDMS_ADMIN", "MDMS_STATE_ADMIN", "MDMS_CITY_ADMIN", "MDMS_STATE_VIEW_ADMIN", "MDMS_CITY_VIEW_ADMIN"], + REVISIONOFRATES : ["MDMS_ADMIN", "MDMS_CITY_ADMIN", "MDMS_STATE_VIEW_ADMIN", "MDMS_CITY_VIEW_ADMIN"], DSS: ["STADMIN"], }; @@ -223,7 +224,7 @@ const WorksCard = () => { { label: t("ACTION_TEST_10REVISIONOFRATES"), link: `/${window?.contextPath}/employee/rateAnalysis/search-sor`, - roles: ROLES.WORKBENCH, + roles: ROLES.REVISIONOFRATES, } ]; From fede80be4a080ed46f29aad39c8cf5b9407fbd88 Mon Sep 17 00:00:00 2001 From: Lokendra Tyagi Date: Wed, 10 Jul 2024 11:00:46 +0530 Subject: [PATCH 013/292] updated the module version --- frontend/micro-ui/web/micro-ui-internals/example/package.json | 2 +- .../micro-ui-internals/packages/modules/Masters/package.json | 2 +- frontend/micro-ui/web/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index 852481b570..026c9dba71 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -18,7 +18,7 @@ "@egovernments/digit-ui-module-contracts": "0.4.1", "@egovernments/digit-ui-module-measurement":"0.2.0", "@egovernments/digit-ui-module-estimate": "0.4.5", - "@egovernments/digit-ui-module-masters": "0.4.1", + "@egovernments/digit-ui-module-masters": "0.4.2", "@egovernments/digit-ui-module-project": "0.4.1", "@egovernments/digit-ui-module-expenditure": "0.4.1", "@egovernments/digit-ui-customisation-mukta": "0.2.1", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json index 56e12cc760..4700692a5f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-masters", - "version": "0.4.1", + "version": "0.4.2", "description": "Masters Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index f17ab4b7ee..b2b549dc11 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -27,7 +27,7 @@ "@egovernments/digit-ui-module-contracts": "0.4.1", "@egovernments/digit-ui-module-measurement":"0.2.0", "@egovernments/digit-ui-module-estimate": "0.4.5", - "@egovernments/digit-ui-module-masters": "0.4.1", + "@egovernments/digit-ui-module-masters": "0.4.2", "@egovernments/digit-ui-module-project": "0.4.1", "@egovernments/digit-ui-module-expenditure": "0.4.1", "@egovernments/digit-ui-customisation-mukta": "0.2.1", From d9b26c7be4388636c93c91e07936f4902a91d6c3 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Wed, 10 Jul 2024 18:15:19 +0530 Subject: [PATCH 014/292] updated status --- .../packages/Mukta/src/configs/UICustomizations.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js index 466f215961..ca04269a1b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js @@ -2796,7 +2796,7 @@ export const UICustomizations = { case "RA_STATUS": return (
- {value === "FAILED" ? "Failed" : value === "COMPLETED" ? "Completed" : value === "INPROGRESS" ? "In Progress" : "Scheduled"} + {value === "FAILED" ? "Failed" : value === "COMPLETED" ? "Completed" : value === "IN_PROGRESS" ? "In Progress" : "Scheduled"}
); From b1c7d195e52a34a26aa1fa63b5ac7eb563b3adf4 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Wed, 3 Jul 2024 16:00:24 +0530 Subject: [PATCH 015/292] bug fixes --- .../Estimate/src/components/ViewStatement.js | 212 +++++------------- .../pageComponents/ViewAnalysisStatement.js | 42 ++-- .../src/components/SORDetailsTemplate.js | 2 +- 3 files changed, 83 insertions(+), 173 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index ee5309d921..5d3e0f113b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -122,163 +122,69 @@ const ViewStatement = (props) => { ); }; - let showAmountTotal = false; + let check = false; const renderBody = () => { return nestedData .filter((ob) => (ob?.type ? (ob?.type === "W" ? true : ob?.type === type) : true)) .map((row, index) => { const subRows = row?.subrows?.filter((ob) => ob?.type === type) || []; - - showAmountTotal = true; - return ( - - - {row.sNo} - {`${t(`WORKS_SOR_TYPE_${row.sortype}`)} / ${t( - `WORKS_SOR_SUBTYPE_${row?.sorSubType}` - )}`} - {row.code} - {row.description} - {row.uom} - - - - - - - - - - - {subRows.length > 0 && ( - - {/* - - - {t(`WORKS_${type}_TABLE_HEADER`)} - - */} - - - - - - {renderSubHeader()} - - {renderSubBody(subRows)} - {renderSubFooter(subRows)} -
- - -
- )} - - {subRows.length === 0 && row?.type === "W" && ( - - {/* - - - {t(`WORKS_${type}_TABLE_HEADER`)} - - */} - - - - - - {renderSubHeader()} - - - { - - - - } - -
- {t("STATEMENT_NO_DATA_PRESENT")} -
- - -
- )} - - {subRows.length === 0 && row?.type !== "W" && ( - - {/* - - - {t(`WORKS_${type}_TABLE_HEADER`)} - - */} - - - - - - {renderSubHeader()} - - - { - - - - - - - - - - } - - - - - - -
{1}{row.code}{row.description}{row.uom} -
{parseFloat(row.rate).toFixed(2)}
-
- - - -
- {t("MB_ONLY_AMOUNT")}: - - -
- - -
- )} -
- ); + if (row?.type === "W" && subRows.length == 0) { + if (check == true) { + check = true; + } else { + check = false; + } + return null; + } else { + check = true; + return ( + + + {row.sNo} + {`${t(`WORKS_SOR_TYPE_${row.sortype}`)} / ${t( + `WORKS_SOR_SUBTYPE_${row?.sorSubType}` + )}`} + {row.code} + {row.description} + {row.uom} + + + + + + + + + + + {subRows.length > 0 && ( + + + + + {t(`WORKS_${type}_TABLE_HEADER`)} + + + + + + + + {renderSubHeader()} + + {renderSubBody(subRows)} + {renderSubFooter(subRows)} +
+ + +
+ )} +
+ ); + } }); }; @@ -290,7 +196,7 @@ const ViewStatement = (props) => { {renderBody()} - {showAmountTotal ? ( + {check ? ( {config?.screenType === "UTILIZATION" ? t("UTILIZATION_STATEMENT_GRAND_TOTAL") : t("STATEMENT_GRAND_TOTAL")}: diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index c509f7d53c..49986fbf71 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { Toast, Loader, LinkButton } from "@egovernments/digit-ui-react-components"; +import { Toast, Loader,LinkButton } from "@egovernments/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; @@ -99,7 +99,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { state: { responseData: responseData, estimateId: formData?.SORtable?.[0]?.estimateId, - number: window.location.href.includes("revision") ? revisionNumber : formData?.estimateNumber, + number: formData?.estimateNumber, }, }); }, 1000); @@ -122,7 +122,9 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { pathname: `/${window?.contextPath}/employee/measurement/utilizationstatement`, state: { responseData: responseData, - estimateId: window.location.href.includes("measurement/update") ? props.config.formData.Measurement.id : formData?.Measurement?.id, + estimateId: window.location.href.includes("measurement/update") + ? props.config.formData.Measurement.id + : formData?.Measurement?.id, number: window.location.href.includes("measurement/update") ? props.config.formData.Measurement.measurementNumber : formData?.Measurement?.measurementNumber, @@ -146,9 +148,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { : formData?.Measurement?.id; const number = isEstimate - ? window.location.href.includes("revision") - ? revisionNumber - : formData?.estimateNumber + ? formData?.estimateNumber : window.location.href.includes("measurement/update") ? props.config.formData.Measurement.measurementNumber : formData?.Measurement?.measurementNumber; @@ -180,6 +180,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { const handleButtonClick = async (event) => { event.preventDefault(); + if (!checkConditions(isEstimate, formData, props)) { const message = isEstimate ? t("NO_ESTIMATE_SOR_FOUND") : t("NO_MEASUREMENT_SOR_FOUND"); @@ -226,11 +227,11 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { //
// ); - if (searchLoading) return ; + if (searchLoading) return ; if (!window.location.href.includes("create")) return ( -
+
{ label={isEstimate ? t("ESTIMATE_ANALYSIS_STM") : t("MB_UTILIZATION_STM")} /> {showToast && ( - setShowToast(false)} - /> - )} + setShowToast(false)} + /> + )}
); else return
; + }; -export default ViewAnalysisStatement; \ No newline at end of file +export default ViewAnalysisStatement; + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js index 2661886c67..447af9821b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js @@ -158,7 +158,7 @@ const SORDetailsTemplate = (props) => { }; const sortedRows = SORDetails.filter((ob) => ob?.sorType === props?.config?.sorType).map((row, index) => ({ - sno: pageType === "VIEW" ? parseFloat(index + 1) : row?.sNo, + sno: pageType === "VIEW"?parseFloat(index+1): row?.sNo , sorCode: row?.sorCode, description: row?.description, uom: row?.uom, From c135844a5bdf35ea6ab67877e049fff8904932f6 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Wed, 3 Jul 2024 17:57:54 +0530 Subject: [PATCH 016/292] table structure changed --- .../Estimate/src/components/ViewStatement.js | 193 ++++++++++++------ 1 file changed, 136 insertions(+), 57 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index 5d3e0f113b..7b5340a9b3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -128,63 +128,142 @@ const ViewStatement = (props) => { .filter((ob) => (ob?.type ? (ob?.type === "W" ? true : ob?.type === type) : true)) .map((row, index) => { const subRows = row?.subrows?.filter((ob) => ob?.type === type) || []; - if (row?.type === "W" && subRows.length == 0) { - if (check == true) { - check = true; - } else { - check = false; - } - return null; - } else { - check = true; - return ( - - - {row.sNo} - {`${t(`WORKS_SOR_TYPE_${row.sortype}`)} / ${t( - `WORKS_SOR_SUBTYPE_${row?.sorSubType}` - )}`} - {row.code} - {row.description} - {row.uom} - - - - - - - - - - - {subRows.length > 0 && ( - - - - - {t(`WORKS_${type}_TABLE_HEADER`)} - - - - - - - - {renderSubHeader()} - - {renderSubBody(subRows)} - {renderSubFooter(subRows)} -
- - -
- )} -
- ); - } + + check = true; + return ( + + + {row.sNo} + {`${t(`WORKS_SOR_TYPE_${row.sortype}`)} / ${t( + `WORKS_SOR_SUBTYPE_${row?.sorSubType}` + )}`} + {row.code} + {row.description} + {row.uom} + + + + + + + + + + + {subRows.length > 0 && ( + + + + + {t(`WORKS_${type}_TABLE_HEADER`)} + + + + + + + + {renderSubHeader()} + + {renderSubBody(subRows)} + {renderSubFooter(subRows)} +
+ + +
+ )} + + {subRows.length === 0 && row?.type === "W" && ( + + + + + {t(`WORKS_${type}_TABLE_HEADER`)} + + + + + + + + {renderSubHeader()} + + + { + + + + } + +
+ {t("STATEMENT_NO_DATA_PRESENT")} +
+ + +
+ )} + + {subRows.length === 0 && row?.type !== "W" && ( + + + + + {t(`WORKS_${type}_TABLE_HEADER`)} + + + + + + + + {renderSubHeader()} + + + { + + + + + + + + + + } + + + + + + + + +
{row.sNo}{row.code}{row.description}{row.uom} +
{parseFloat(row.rate).toFixed(2)}
+
+ + + +
+ {t("MB_ONLY_AMOUNT")}: + + +
+ + +
+ )} +
+ ); }); }; From d8281beb95282e490527dc64603eaa750eb82551 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Wed, 3 Jul 2024 17:59:47 +0530 Subject: [PATCH 017/292] variable name changed --- .../modules/Estimate/src/components/ViewStatement.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index 7b5340a9b3..bfe274c64c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -122,14 +122,14 @@ const ViewStatement = (props) => { ); }; - let check = false; + let showAmountTotal = false; const renderBody = () => { return nestedData .filter((ob) => (ob?.type ? (ob?.type === "W" ? true : ob?.type === type) : true)) .map((row, index) => { const subRows = row?.subrows?.filter((ob) => ob?.type === type) || []; - check = true; + showAmountTotal = true; return ( @@ -275,7 +275,7 @@ const ViewStatement = (props) => { {renderBody()} - {check ? ( + {showAmountTotal ? ( {config?.screenType === "UTILIZATION" ? t("UTILIZATION_STATEMENT_GRAND_TOTAL") : t("STATEMENT_GRAND_TOTAL")}: From 19b7d09394489676c5e18fc352a3a7ac862476d2 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Thu, 4 Jul 2024 15:47:37 +0530 Subject: [PATCH 018/292] updated options for job status and corrected successful count --- .../RateAnalysis/src/configs/ViewScheduledJobsConfig.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js index b264a625cb..9fcd33f6a8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js @@ -48,9 +48,9 @@ const ViewScheduledJobsConfig = { top: "2.3rem", }, options:[ - {code:"SCHEDULED",name:"Scheduled"}, - {code:"IN_PROGRESS",name:"In progress"}, - {code:"COMPLETED",name:"Completed"} + {code:"SCHEDULED",name:"SCHEDULED"}, + {code:"INPROGRESS",name:"INPROGRESS"}, + {code:"COMPLETED",name:"COMPLETED"} ] }, }, From 1aa0130f606b05e56023d82c4bc9762e3d940cfe Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 2 Jul 2024 17:03:01 +0530 Subject: [PATCH 019/292] pdf file name changed --- .../Estimate/src/components/ViewStatement.js | 25 +++- .../pageComponents/ViewAnalysisStatement.js | 137 ++++++++++++++---- .../src/pages/employee/viewUtilization.js | 18 +-- 3 files changed, 142 insertions(+), 38 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index bfe274c64c..0d45ca758b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -18,6 +18,29 @@ const ViewStatement = (props) => { - TO render the column header */ +const lengthCheck= nestedData.filter((ob) => (ob?.type ? (ob?.type === "W" ? true : ob?.type === type) : true)).map((row, index) => { + + const subRows = row?.subrows?.filter((ob) => ob?.type === type) || []; + if (row?.type === "W" && subRows.length == 0) { + return 0; + } else if(row?.type==="L"){ + return 1; + } + else if(row?.type==="M"){ + return 1; + } + else if(row?.type==="E"){ + return 1; + } + else{ + return subRows.length + } +}); + + + + + const renderHeader = () => { const columns = [ { key: t("WORKS_SNO"), width: "5%" }, @@ -275,7 +298,7 @@ const ViewStatement = (props) => { {renderBody()} - {showAmountTotal ? ( + {lengthCheck > 0 ? ( {config?.screenType === "UTILIZATION" ? t("UTILIZATION_STATEMENT_GRAND_TOTAL") : t("STATEMENT_GRAND_TOTAL")}: diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index 49986fbf71..4951103582 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -7,8 +7,8 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { const { t } = useTranslation(); const history = useHistory(); const tenantId = Digit.ULBService.getCurrentTenantId(); - const [showToast, setShowToast] = useState(null); - const { revisionNumber } = Digit.Hooks.useQueryParams(); + + const isCreateOrUpdate = /(measurement\/create|estimate\/create-detailed-estimate|estimate\/update-detailed-estimate|measurement\/update|estimate\/create-revision-detailed-estimate|estimate\/update-revision-detailed-estimate)/.test( window.location.href ); @@ -80,31 +80,116 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { : formData?.Measurement?.id, }, }; - - if (isEstimate) { - await AnalysisMutation(payload, { - onError: async (error) => { - setShowToast({ - error: true, - label: error?.response?.data?.Errors?.[0].message || error, + + { + isEstimate + ? await AnalysisMutation(payload, { + onError: async (error, variables) => { + setIsButtonDisabled(false); + setShowToast({ + warning: true, + label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error, + }); + setTimeout(() => { + setShowToast(false); + }, 5000); + }, + onSuccess: async (responseData, variables) => { + setTimeout(() => { + history.push({ + pathname: `/${window?.contextPath}/employee/estimate/view-analysis-statement`, + state: { + responseData: responseData, + estimateId: formData?.SORtable?.[0]?.estimateId, + number:formData?.estimateNumber, + }, + }); + }, 1000); + }, + }) + : await UtilizationMutation(payload, { + onError: async (error, variables) => { + setIsButtonDisabled(false); + setShowToast({ + warning: true, + label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error, + }); + setTimeout(() => { + setShowToast(false); + }, 5000); + }, + onSuccess: async (responseData, variables) => { + setTimeout(() => { + + history.push({ + pathname: `/${window?.contextPath}/employee/measurement/utilizationstatement`, + state: { + responseData: responseData, + estimateId: window.location.href.includes("measurement/update") + ? props.config.formData.Measurement.id + : formData?.Measurement?.id, + number:window.location.href.includes("measurement/update") + ? props.config.formData.Measurement.measurementNumber + : formData?.Measurement?.measurementNumber + }, + + }); + + }, 5000); + }, }); - setTimeout(() => { - setShowToast(false); - }, 5000); - }, - onSuccess: async (responseData) => { - setTimeout(() => { - history.push({ - pathname: `/${window?.contextPath}/employee/estimate/view-analysis-statement`, - state: { - responseData: responseData, - estimateId: formData?.SORtable?.[0]?.estimateId, - number: formData?.estimateNumber, - }, - }); - }, 1000); - }, - }); + } + } + + async function handleButtonClick() { + if (isView) { + if (searchResponse) { + history.push({ + pathname: isEstimate + ? `/${window?.contextPath}/employee/estimate/view-analysis-statement` + : `/${window?.contextPath}/employee/measurement/utilizationstatement`, + state: { + responseData: searchResponse, + estimateId: isEstimate + ? formData?.SORtable?.[0]?.estimateId + : window.location.href.includes("measurement/update") + ? props.config.formData.Measurement.id + : formData?.Measurement?.id, + number:isEstimate + ? formData?.estimateNumber + : window.location.href.includes("measurement/update") + ? props.config.formData.Measurement.measurementNumber + : formData?.Measurement?.measurementNumber, + }, + }); + } else { + //add the code for old viewpopup here + history.push({ + pathname: isEstimate + ? `/${window?.contextPath}/employee/estimate/view-analysis-statement` + : `/${window?.contextPath}/employee/measurement/utilizationstatement`, + state: { + responseData: searchResponse, + estimateId: isEstimate + ? formData?.SORtable?.[0]?.estimateId + : window.location.href.includes("measurement/update") + ? props.config.formData.Measurement.id + : formData?.Measurement?.id, + number:isEstimate + ? formData?.estimateNumber + : window.location.href.includes("measurement/update") + ? props.config.formData.Measurement.measurementNumber + : formData?.Measurement?.measurementNumber, + oldData: { + Labour: getAnalysisCost(ChargesCodeMapping?.LabourCost), + Material: getAnalysisCost(ChargesCodeMapping?.MaterialCost), + Machinery: getAnalysisCost(ChargesCodeMapping?.MachineryCost), + }, + }, + }); + //await callCreateApi(); + } + } else { await UtilizationMutation(payload, { onError: async (error) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js index 0b2c449807..9fa5443eb1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js @@ -400,11 +400,11 @@ const ViewUtilization = () => { const loggedInUserRoles = Digit.Utils.getLoggedInUserDetails("roles"); //look here need to uncomment once api works fine and check if the data is coming proper - // const { state,refId } = useLocation() - const location = useLocation(); - const { responseData, estimateId, number } = location.state || {}; - - let statement = responseData?.statement; + // const { state,refId } = useLocation() + const location = useLocation(); + const { responseData, estimateId,number } = location.state || {}; + + let statement = responseData?.statement; const closeMenu = () => { setShowActions(false); @@ -420,12 +420,8 @@ const ViewUtilization = () => { //if (isProjectLoading || isDetailedEstimateLoading | isDetailedEstimatesLoading) return ; const HandleDownloadPdf = () => { // Digit.Utils.downloadEgovPDF(`analysisUtilization/analysis-utilization?tenantId=${tenantId}&referenceId=${formId}`,{referenceId:formId},`utilization-${refId}.pdf`) - Digit.Utils.downloadWorksPDF( - "utilizationStatement/utilization-statement", - { tenantId: tenantId, referenceId: estimateId }, - `utilization-${number}.pdf` - ); - }; + Digit.Utils.downloadWorksPDF("utilizationStatement/utilization-statement", { tenantId: tenantId ,referenceId:estimateId}, `utilization-${number}.pdf`); + } return (
From 4a8940b78cbc2f374a343a76dfc253e85253a642 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 2 Jul 2024 18:27:02 +0530 Subject: [PATCH 020/292] toast message added for non sor --- .../pageComponents/ViewAnalysisStatement.js | 230 +++++++++++------- 1 file changed, 137 insertions(+), 93 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index 4951103582..cfb91c53d4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -1,5 +1,5 @@ -import React, { useState, useEffect } from "react"; -import { Toast, Loader,LinkButton } from "@egovernments/digit-ui-react-components"; +import React, { useState } from "react"; +import { LinkButton, Toast, Loader } from "@egovernments/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; @@ -7,7 +7,8 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { const { t } = useTranslation(); const history = useHistory(); const tenantId = Digit.ULBService.getCurrentTenantId(); - + const [isButtonDisabled, setIsButtonDisabled] = useState(true); + const [showToast, setShowToast] = useState(null); const isCreateOrUpdate = /(measurement\/create|estimate\/create-detailed-estimate|estimate\/update-detailed-estimate|measurement\/update|estimate\/create-revision-detailed-estimate|estimate\/update-revision-detailed-estimate)/.test( window.location.href @@ -41,7 +42,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { SORAmount = SORAmount ? SORAmount : 0; return Digit.Utils.dss.formatterWithoutRound(parseFloat(SORAmount).toFixed(2), "number", undefined, true, undefined, 2); - }; + } const requestSearchCriteria = { url: isEstimate ? "/statements/v1/analysis/_search" : "/statements/v1/utilization/_search", @@ -62,14 +63,21 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { const checkMeasurement = () => { if (window.location.href.includes("measurement/update")) { - return props?.data?.SORtable?.length > 0; + if (props.data.SORtable.length > 0) { + return true; + } else { + return false; + } } else { - return formData?.SORtable?.length > 0; + if (formData.SORtable.length > 0) { + return true; + } else { + return false; + } } }; - - const callCreateApi = async (event) => { - event.preventDefault(); + async function callCreateApi() { + // Look here add the condition for utilization statement and call your api let payload = { statementRequest: { tenantId: tenantId, @@ -80,7 +88,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { : formData?.Measurement?.id, }, }; - + { isEstimate ? await AnalysisMutation(payload, { @@ -101,7 +109,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { state: { responseData: responseData, estimateId: formData?.SORtable?.[0]?.estimateId, - number:formData?.estimateNumber, + number: formData?.estimateNumber, }, }); }, 1000); @@ -120,7 +128,6 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { }, onSuccess: async (responseData, variables) => { setTimeout(() => { - history.push({ pathname: `/${window?.contextPath}/employee/measurement/utilizationstatement`, state: { @@ -128,13 +135,11 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { estimateId: window.location.href.includes("measurement/update") ? props.config.formData.Measurement.id : formData?.Measurement?.id, - number:window.location.href.includes("measurement/update") + number: window.location.href.includes("measurement/update") ? props.config.formData.Measurement.measurementNumber - : formData?.Measurement?.measurementNumber + : formData?.Measurement?.measurementNumber, }, - }); - }, 5000); }, }); @@ -142,82 +147,132 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { } async function handleButtonClick() { - if (isView) { - if (searchResponse) { - history.push({ - pathname: isEstimate - ? `/${window?.contextPath}/employee/estimate/view-analysis-statement` - : `/${window?.contextPath}/employee/measurement/utilizationstatement`, - state: { - responseData: searchResponse, - estimateId: isEstimate - ? formData?.SORtable?.[0]?.estimateId - : window.location.href.includes("measurement/update") - ? props.config.formData.Measurement.id - : formData?.Measurement?.id, - number:isEstimate - ? formData?.estimateNumber - : window.location.href.includes("measurement/update") - ? props.config.formData.Measurement.measurementNumber - : formData?.Measurement?.measurementNumber, - }, - }); + if (isEstimate) { + if (formData?.SORtable.length > 0) { + if (isView) { + if (searchResponse) { + history.push({ + pathname: isEstimate + ? `/${window?.contextPath}/employee/estimate/view-analysis-statement` + : `/${window?.contextPath}/employee/measurement/utilizationstatement`, + state: { + responseData: searchResponse, + estimateId: isEstimate + ? formData?.SORtable?.[0]?.estimateId + : window.location.href.includes("measurement/update") + ? props.config.formData.Measurement.id + : formData?.Measurement?.id, + number: isEstimate + ? formData?.estimateNumber + : window.location.href.includes("measurement/update") + ? props.config.formData.Measurement.measurementNumber + : formData?.Measurement?.measurementNumber, + }, + }); + } else { + //add the code for old viewpopup here + history.push({ + pathname: isEstimate + ? `/${window?.contextPath}/employee/estimate/view-analysis-statement` + : `/${window?.contextPath}/employee/measurement/utilizationstatement`, + state: { + responseData: searchResponse, + estimateId: isEstimate + ? formData?.SORtable?.[0]?.estimateId + : window.location.href.includes("measurement/update") + ? props.config.formData.Measurement.id + : formData?.Measurement?.id, + number: isEstimate + ? formData?.estimateNumber + : window.location.href.includes("measurement/update") + ? props.config.formData.Measurement.measurementNumber + : formData?.Measurement?.measurementNumber, + oldData: { + Labour: getAnalysisCost(ChargesCodeMapping?.LabourCost), + Material: getAnalysisCost(ChargesCodeMapping?.MaterialCost), + Machinery: getAnalysisCost(ChargesCodeMapping?.MachineryCost), + }, + }, + }); + //await callCreateApi(); + } + } else { + await callCreateApi(); + } } else { - //add the code for old viewpopup here - history.push({ - pathname: isEstimate - ? `/${window?.contextPath}/employee/estimate/view-analysis-statement` - : `/${window?.contextPath}/employee/measurement/utilizationstatement`, - state: { - responseData: searchResponse, - estimateId: isEstimate - ? formData?.SORtable?.[0]?.estimateId - : window.location.href.includes("measurement/update") - ? props.config.formData.Measurement.id - : formData?.Measurement?.id, - number:isEstimate - ? formData?.estimateNumber - : window.location.href.includes("measurement/update") - ? props.config.formData.Measurement.measurementNumber - : formData?.Measurement?.measurementNumber, - oldData: { - Labour: getAnalysisCost(ChargesCodeMapping?.LabourCost), - Material: getAnalysisCost(ChargesCodeMapping?.MaterialCost), - Machinery: getAnalysisCost(ChargesCodeMapping?.MachineryCost), - }, - }, + // estimate else + + setShowToast({ + error: true, + label: t("NO_ESTIMATE_SOR_FOUND"), }); - //await callCreateApi(); + setTimeout(() => { + setShowToast(false); + }, 5000); } - } else { - await UtilizationMutation(payload, { - onError: async (error) => { - setShowToast({ - error: true, - label: error?.response?.data?.Errors?.[0].message || error, - }); - setTimeout(() => { - setShowToast(false); - }, 5000); - }, - onSuccess: async (responseData) => { - setTimeout(() => { + // util + if (checkMeasurement()) { + if (isView) { + if (searchResponse) { + history.push({ + pathname: isEstimate + ? `/${window?.contextPath}/employee/estimate/view-analysis-statement` + : `/${window?.contextPath}/employee/measurement/utilizationstatement`, + state: { + responseData: searchResponse, + estimateId: isEstimate + ? formData?.SORtable?.[0]?.estimateId + : window.location.href.includes("measurement/update") + ? props.config.formData.Measurement.id + : formData?.Measurement?.id, + number: isEstimate + ? formData?.estimateNumber + : window.location.href.includes("measurement/update") + ? props.config.formData.Measurement.measurementNumber + : formData?.Measurement?.measurementNumber, + }, + }); + } else { + //add the code for old viewpopup here history.push({ - pathname: `/${window?.contextPath}/employee/measurement/utilizationstatement`, + pathname: isEstimate + ? `/${window?.contextPath}/employee/estimate/view-analysis-statement` + : `/${window?.contextPath}/employee/measurement/utilizationstatement`, state: { - responseData: responseData, - estimateId: window.location.href.includes("measurement/update") + responseData: searchResponse, + estimateId: isEstimate + ? formData?.SORtable?.[0]?.estimateId + : window.location.href.includes("measurement/update") ? props.config.formData.Measurement.id : formData?.Measurement?.id, - number: window.location.href.includes("measurement/update") + number: isEstimate + ? formData?.estimateNumber + : window.location.href.includes("measurement/update") ? props.config.formData.Measurement.measurementNumber : formData?.Measurement?.measurementNumber, + oldData: { + Labour: getAnalysisCost(ChargesCodeMapping?.LabourCost), + Material: getAnalysisCost(ChargesCodeMapping?.MaterialCost), + Machinery: getAnalysisCost(ChargesCodeMapping?.MachineryCost), + }, }, }); - }, 1000); - }, - }); + //await callCreateApi(); + } + } else { + await callCreateApi(); + } + } else { + // util else + setShowToast({ + error: true, + label: t("NO_MEASUREMENT_SOR_FOUND"), + }); + setTimeout(() => { + setShowToast(false); + }, 5000); + } } }; @@ -316,25 +371,14 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { if (!window.location.href.includes("create")) return ( -
+
- {showToast && ( - setShowToast(false)} - /> - )} + {showToast && closeToast()} />}
); else return
; From 3c201dc76429339eb2c1efcdff80ec380d46011f Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Wed, 3 Jul 2024 10:36:05 +0530 Subject: [PATCH 021/292] review comment fixed --- .../Estimate/src/pageComponents/ViewAnalysisStatement.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index cfb91c53d4..16ff26e6ee 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -63,13 +63,13 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { const checkMeasurement = () => { if (window.location.href.includes("measurement/update")) { - if (props.data.SORtable.length > 0) { + if (props?.data?.SORtable?.length > 0) { return true; } else { return false; } } else { - if (formData.SORtable.length > 0) { + if (formData?.SORtable?.length > 0) { return true; } else { return false; @@ -147,8 +147,9 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { } async function handleButtonClick() { + console.log("search") if (isEstimate) { - if (formData?.SORtable.length > 0) { + if (formData?.SORtable?.length > 0) { if (isView) { if (searchResponse) { history.push({ From 93417f59c805a3b803ff8b8cd5b93871483f1933 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Wed, 3 Jul 2024 10:36:37 +0530 Subject: [PATCH 022/292] console removed --- .../Estimate/src/pageComponents/ViewAnalysisStatement.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index 16ff26e6ee..e554d9ec46 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -147,7 +147,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { } async function handleButtonClick() { - console.log("search") + if (isEstimate) { if (formData?.SORtable?.length > 0) { if (isView) { From 117aff53c65958d13e96d03a8d71fc421aa1531c Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Wed, 3 Jul 2024 12:02:23 +0530 Subject: [PATCH 023/292] no data found issue is fixed --- .../Estimate/src/components/ViewStatement.js | 219 +++++------------- 1 file changed, 63 insertions(+), 156 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index 0d45ca758b..bcaf3e9647 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -7,6 +7,7 @@ const ViewStatement = (props) => { let nestedData = arrayProps?.fields || []; let type = arrayProps?.type || "W"; const { t } = useTranslation(); + // Calculate the grand total @@ -18,24 +19,6 @@ const ViewStatement = (props) => { - TO render the column header */ -const lengthCheck= nestedData.filter((ob) => (ob?.type ? (ob?.type === "W" ? true : ob?.type === type) : true)).map((row, index) => { - - const subRows = row?.subrows?.filter((ob) => ob?.type === type) || []; - if (row?.type === "W" && subRows.length == 0) { - return 0; - } else if(row?.type==="L"){ - return 1; - } - else if(row?.type==="M"){ - return 1; - } - else if(row?.type==="E"){ - return 1; - } - else{ - return subRows.length - } -}); @@ -145,148 +128,72 @@ const lengthCheck= nestedData.filter((ob) => (ob?.type ? (ob?.type === "W" ? tru ); }; - let showAmountTotal = false; + let check=false; const renderBody = () => { + + return nestedData .filter((ob) => (ob?.type ? (ob?.type === "W" ? true : ob?.type === type) : true)) .map((row, index) => { const subRows = row?.subrows?.filter((ob) => ob?.type === type) || []; - - showAmountTotal = true; - return ( - - - {row.sNo} - {`${t(`WORKS_SOR_TYPE_${row.sortype}`)} / ${t( - `WORKS_SOR_SUBTYPE_${row?.sorSubType}` - )}`} - {row.code} - {row.description} - {row.uom} - - - - - - - - - - - {subRows.length > 0 && ( - - - - - {t(`WORKS_${type}_TABLE_HEADER`)} - - - - - - - - {renderSubHeader()} - - {renderSubBody(subRows)} - {renderSubFooter(subRows)} -
- - -
- )} - - {subRows.length === 0 && row?.type === "W" && ( - - - - - {t(`WORKS_${type}_TABLE_HEADER`)} - - - - - - - - {renderSubHeader()} - - - { - - - - } - -
- {t("STATEMENT_NO_DATA_PRESENT")} -
- - -
- )} - - {subRows.length === 0 && row?.type !== "W" && ( - - - - - {t(`WORKS_${type}_TABLE_HEADER`)} - - - - - - - - {renderSubHeader()} - - - { - - - - - - - - - - } - - - - - - - - -
{row.sNo}{row.code}{row.description}{row.uom} -
{parseFloat(row.rate).toFixed(2)}
-
- - - -
- {t("MB_ONLY_AMOUNT")}: - - -
- - -
- )} -
- ); + if (row?.type === "W" && subRows.length == 0) { + if(check==true) + { + check=true + }else{ + check=false; +} + return null; + } else { + check=true; + return ( + + + {row.sNo} + {`${t(`WORKS_SOR_TYPE_${row.sortype}`)} / ${t( + `WORKS_SOR_SUBTYPE_${row?.sorSubType}` + )}`} + {row.code} + {row.description} + {row.uom} + + + + + + + + + + + {subRows.length > 0 && ( + + + + + {t(`WORKS_${type}_TABLE_HEADER`)} + + + + + + + + {renderSubHeader()} + + {renderSubBody(subRows)} + {renderSubFooter(subRows)} +
+ + +
+ )} +
+ ); + } }); }; @@ -298,7 +205,7 @@ const lengthCheck= nestedData.filter((ob) => (ob?.type ? (ob?.type === "W" ? tru {renderBody()} - {lengthCheck > 0 ? ( + {check ? ( {config?.screenType === "UTILIZATION" ? t("UTILIZATION_STATEMENT_GRAND_TOTAL") : t("STATEMENT_GRAND_TOTAL")}: From 057f247e309e6d7524f90a3574e90960369deea7 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Wed, 3 Jul 2024 16:00:24 +0530 Subject: [PATCH 024/292] bug fixes --- .../Estimate/src/components/ViewStatement.js | 25 +- .../pageComponents/ViewAnalysisStatement.js | 248 +++++------------- 2 files changed, 67 insertions(+), 206 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index bcaf3e9647..5d3e0f113b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -7,7 +7,6 @@ const ViewStatement = (props) => { let nestedData = arrayProps?.fields || []; let type = arrayProps?.type || "W"; const { t } = useTranslation(); - // Calculate the grand total @@ -19,11 +18,6 @@ const ViewStatement = (props) => { - TO render the column header */ - - - - - const renderHeader = () => { const columns = [ { key: t("WORKS_SNO"), width: "5%" }, @@ -128,24 +122,21 @@ const ViewStatement = (props) => { ); }; - let check=false; + let check = false; const renderBody = () => { - - return nestedData .filter((ob) => (ob?.type ? (ob?.type === "W" ? true : ob?.type === type) : true)) .map((row, index) => { const subRows = row?.subrows?.filter((ob) => ob?.type === type) || []; if (row?.type === "W" && subRows.length == 0) { - if(check==true) - { - check=true - }else{ - check=false; -} + if (check == true) { + check = true; + } else { + check = false; + } return null; } else { - check=true; + check = true; return ( @@ -205,7 +196,7 @@ const ViewStatement = (props) => { {renderBody()} - {check ? ( + {check ? ( {config?.screenType === "UTILIZATION" ? t("UTILIZATION_STATEMENT_GRAND_TOTAL") : t("STATEMENT_GRAND_TOTAL")}: diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index e554d9ec46..ccaf272278 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -1,5 +1,5 @@ -import React, { useState } from "react"; -import { LinkButton, Toast, Loader } from "@egovernments/digit-ui-react-components"; +import React, { useState, useEffect } from "react"; +import { Toast, Loader,LinkButton } from "@egovernments/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; @@ -7,7 +7,6 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { const { t } = useTranslation(); const history = useHistory(); const tenantId = Digit.ULBService.getCurrentTenantId(); - const [isButtonDisabled, setIsButtonDisabled] = useState(true); const [showToast, setShowToast] = useState(null); const isCreateOrUpdate = /(measurement\/create|estimate\/create-detailed-estimate|estimate\/update-detailed-estimate|measurement\/update|estimate\/create-revision-detailed-estimate|estimate\/update-revision-detailed-estimate)/.test( @@ -42,7 +41,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { SORAmount = SORAmount ? SORAmount : 0; return Digit.Utils.dss.formatterWithoutRound(parseFloat(SORAmount).toFixed(2), "number", undefined, true, undefined, 2); - } + }; const requestSearchCriteria = { url: isEstimate ? "/statements/v1/analysis/_search" : "/statements/v1/utilization/_search", @@ -63,21 +62,14 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { const checkMeasurement = () => { if (window.location.href.includes("measurement/update")) { - if (props?.data?.SORtable?.length > 0) { - return true; - } else { - return false; - } + return props?.data?.SORtable?.length > 0; } else { - if (formData?.SORtable?.length > 0) { - return true; - } else { - return false; - } + return formData?.SORtable?.length > 0; } }; - async function callCreateApi() { - // Look here add the condition for utilization statement and call your api + + const callCreateApi = async (event) => { + event.preventDefault(); let payload = { statementRequest: { tenantId: tenantId, @@ -89,191 +81,58 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { }, }; - { - isEstimate - ? await AnalysisMutation(payload, { - onError: async (error, variables) => { - setIsButtonDisabled(false); - setShowToast({ - warning: true, - label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error, - }); - setTimeout(() => { - setShowToast(false); - }, 5000); - }, - onSuccess: async (responseData, variables) => { - setTimeout(() => { - history.push({ - pathname: `/${window?.contextPath}/employee/estimate/view-analysis-statement`, - state: { - responseData: responseData, - estimateId: formData?.SORtable?.[0]?.estimateId, - number: formData?.estimateNumber, - }, - }); - }, 1000); - }, - }) - : await UtilizationMutation(payload, { - onError: async (error, variables) => { - setIsButtonDisabled(false); - setShowToast({ - warning: true, - label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error, - }); - setTimeout(() => { - setShowToast(false); - }, 5000); - }, - onSuccess: async (responseData, variables) => { - setTimeout(() => { - history.push({ - pathname: `/${window?.contextPath}/employee/measurement/utilizationstatement`, - state: { - responseData: responseData, - estimateId: window.location.href.includes("measurement/update") - ? props.config.formData.Measurement.id - : formData?.Measurement?.id, - number: window.location.href.includes("measurement/update") - ? props.config.formData.Measurement.measurementNumber - : formData?.Measurement?.measurementNumber, - }, - }); - }, 5000); - }, - }); - } - } - - async function handleButtonClick() { - if (isEstimate) { - if (formData?.SORtable?.length > 0) { - if (isView) { - if (searchResponse) { + await AnalysisMutation(payload, { + onError: async (error) => { + setShowToast({ + error: true, + label: error?.response?.data?.Errors?.[0].message || error, + }); + setTimeout(() => { + setShowToast(false); + }, 5000); + }, + onSuccess: async (responseData) => { + setTimeout(() => { history.push({ - pathname: isEstimate - ? `/${window?.contextPath}/employee/estimate/view-analysis-statement` - : `/${window?.contextPath}/employee/measurement/utilizationstatement`, + pathname: `/${window?.contextPath}/employee/estimate/view-analysis-statement`, state: { - responseData: searchResponse, - estimateId: isEstimate - ? formData?.SORtable?.[0]?.estimateId - : window.location.href.includes("measurement/update") - ? props.config.formData.Measurement.id - : formData?.Measurement?.id, - number: isEstimate - ? formData?.estimateNumber - : window.location.href.includes("measurement/update") - ? props.config.formData.Measurement.measurementNumber - : formData?.Measurement?.measurementNumber, + responseData: responseData, + estimateId: formData?.SORtable?.[0]?.estimateId, + number: formData?.estimateNumber, }, }); - } else { - //add the code for old viewpopup here - history.push({ - pathname: isEstimate - ? `/${window?.contextPath}/employee/estimate/view-analysis-statement` - : `/${window?.contextPath}/employee/measurement/utilizationstatement`, - state: { - responseData: searchResponse, - estimateId: isEstimate - ? formData?.SORtable?.[0]?.estimateId - : window.location.href.includes("measurement/update") - ? props.config.formData.Measurement.id - : formData?.Measurement?.id, - number: isEstimate - ? formData?.estimateNumber - : window.location.href.includes("measurement/update") - ? props.config.formData.Measurement.measurementNumber - : formData?.Measurement?.measurementNumber, - oldData: { - Labour: getAnalysisCost(ChargesCodeMapping?.LabourCost), - Material: getAnalysisCost(ChargesCodeMapping?.MaterialCost), - Machinery: getAnalysisCost(ChargesCodeMapping?.MachineryCost), - }, - }, - }); - //await callCreateApi(); - } - } else { - await callCreateApi(); - } - } else { - // estimate else - - setShowToast({ - error: true, - label: t("NO_ESTIMATE_SOR_FOUND"), - }); - setTimeout(() => { - setShowToast(false); - }, 5000); - } + }, 1000); + }, + }); } else { - // util - if (checkMeasurement()) { - if (isView) { - if (searchResponse) { - history.push({ - pathname: isEstimate - ? `/${window?.contextPath}/employee/estimate/view-analysis-statement` - : `/${window?.contextPath}/employee/measurement/utilizationstatement`, - state: { - responseData: searchResponse, - estimateId: isEstimate - ? formData?.SORtable?.[0]?.estimateId - : window.location.href.includes("measurement/update") - ? props.config.formData.Measurement.id - : formData?.Measurement?.id, - number: isEstimate - ? formData?.estimateNumber - : window.location.href.includes("measurement/update") - ? props.config.formData.Measurement.measurementNumber - : formData?.Measurement?.measurementNumber, - }, - }); - } else { - //add the code for old viewpopup here + await UtilizationMutation(payload, { + onError: async (error) => { + setShowToast({ + error: true, + label: error?.response?.data?.Errors?.[0].message || error, + }); + setTimeout(() => { + setShowToast(false); + }, 5000); + }, + onSuccess: async (responseData) => { + setTimeout(() => { history.push({ - pathname: isEstimate - ? `/${window?.contextPath}/employee/estimate/view-analysis-statement` - : `/${window?.contextPath}/employee/measurement/utilizationstatement`, + pathname: `/${window?.contextPath}/employee/measurement/utilizationstatement`, state: { - responseData: searchResponse, - estimateId: isEstimate - ? formData?.SORtable?.[0]?.estimateId - : window.location.href.includes("measurement/update") + responseData: responseData, + estimateId: window.location.href.includes("measurement/update") ? props.config.formData.Measurement.id : formData?.Measurement?.id, - number: isEstimate - ? formData?.estimateNumber - : window.location.href.includes("measurement/update") + number: window.location.href.includes("measurement/update") ? props.config.formData.Measurement.measurementNumber : formData?.Measurement?.measurementNumber, - oldData: { - Labour: getAnalysisCost(ChargesCodeMapping?.LabourCost), - Material: getAnalysisCost(ChargesCodeMapping?.MaterialCost), - Machinery: getAnalysisCost(ChargesCodeMapping?.MachineryCost), - }, }, }); - //await callCreateApi(); - } - } else { - await callCreateApi(); - } - } else { - // util else - setShowToast({ - error: true, - label: t("NO_MEASUREMENT_SOR_FOUND"), - }); - setTimeout(() => { - setShowToast(false); - }, 5000); - } + }, 1000); + }, + }); } }; @@ -372,14 +231,25 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { if (!window.location.href.includes("create")) return ( -
+
- {showToast && closeToast()} />} + {showToast && ( + setShowToast(false)} + /> + )}
); else return
; From 2e741e97c79033361f21fb4c631f63d03c06bb39 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Wed, 3 Jul 2024 17:57:54 +0530 Subject: [PATCH 025/292] table structure changed --- .../Estimate/src/components/ViewStatement.js | 193 ++++++++++++------ 1 file changed, 136 insertions(+), 57 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index 5d3e0f113b..7b5340a9b3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -128,63 +128,142 @@ const ViewStatement = (props) => { .filter((ob) => (ob?.type ? (ob?.type === "W" ? true : ob?.type === type) : true)) .map((row, index) => { const subRows = row?.subrows?.filter((ob) => ob?.type === type) || []; - if (row?.type === "W" && subRows.length == 0) { - if (check == true) { - check = true; - } else { - check = false; - } - return null; - } else { - check = true; - return ( - - - {row.sNo} - {`${t(`WORKS_SOR_TYPE_${row.sortype}`)} / ${t( - `WORKS_SOR_SUBTYPE_${row?.sorSubType}` - )}`} - {row.code} - {row.description} - {row.uom} - - - - - - - - - - - {subRows.length > 0 && ( - - - - - {t(`WORKS_${type}_TABLE_HEADER`)} - - - - - - - - {renderSubHeader()} - - {renderSubBody(subRows)} - {renderSubFooter(subRows)} -
- - -
- )} -
- ); - } + + check = true; + return ( + + + {row.sNo} + {`${t(`WORKS_SOR_TYPE_${row.sortype}`)} / ${t( + `WORKS_SOR_SUBTYPE_${row?.sorSubType}` + )}`} + {row.code} + {row.description} + {row.uom} + + + + + + + + + + + {subRows.length > 0 && ( + + + + + {t(`WORKS_${type}_TABLE_HEADER`)} + + + + + + + + {renderSubHeader()} + + {renderSubBody(subRows)} + {renderSubFooter(subRows)} +
+ + +
+ )} + + {subRows.length === 0 && row?.type === "W" && ( + + + + + {t(`WORKS_${type}_TABLE_HEADER`)} + + + + + + + + {renderSubHeader()} + + + { + + + + } + +
+ {t("STATEMENT_NO_DATA_PRESENT")} +
+ + +
+ )} + + {subRows.length === 0 && row?.type !== "W" && ( + + + + + {t(`WORKS_${type}_TABLE_HEADER`)} + + + + + + + + {renderSubHeader()} + + + { + + + + + + + + + + } + + + + + + + + +
{row.sNo}{row.code}{row.description}{row.uom} +
{parseFloat(row.rate).toFixed(2)}
+
+ + + +
+ {t("MB_ONLY_AMOUNT")}: + + +
+ + +
+ )} +
+ ); }); }; From a912efdd0d7bcb0ef618255e21fcafe36126763d Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Wed, 3 Jul 2024 17:59:47 +0530 Subject: [PATCH 026/292] variable name changed --- .../modules/Estimate/src/components/ViewStatement.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index 7b5340a9b3..bfe274c64c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -122,14 +122,14 @@ const ViewStatement = (props) => { ); }; - let check = false; + let showAmountTotal = false; const renderBody = () => { return nestedData .filter((ob) => (ob?.type ? (ob?.type === "W" ? true : ob?.type === type) : true)) .map((row, index) => { const subRows = row?.subrows?.filter((ob) => ob?.type === type) || []; - check = true; + showAmountTotal = true; return ( @@ -275,7 +275,7 @@ const ViewStatement = (props) => { {renderBody()} - {check ? ( + {showAmountTotal ? ( {config?.screenType === "UTILIZATION" ? t("UTILIZATION_STATEMENT_GRAND_TOTAL") : t("STATEMENT_GRAND_TOTAL")}: From aa4cb4051d384598fd4125e3c6d4f450a88c678c Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 4 Jul 2024 16:32:56 +0530 Subject: [PATCH 027/292] sl no fixed to one beacuse for basic SOR details therre always be one sub line item with e basic details --- .../packages/modules/Estimate/src/components/ViewStatement.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index bfe274c64c..f124d715d7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -229,8 +229,8 @@ const ViewStatement = (props) => { { - - {row.sNo} + + {1} {row.code} {row.description} {row.uom} From 4edc056fba8e1c91e0ef26931bde9f7c8da48425 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 4 Jul 2024 17:44:23 +0530 Subject: [PATCH 028/292] UCEM-363: updated validation for only create screen --- .../RateAnalysis/src/configs/RateAnalysisCreateConfig.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js index fd6767f7d0..0ec387dc7e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js @@ -148,7 +148,7 @@ export const CreateConfig = ({ defaultValue, isUpdate, measurement }) => { "populators": { "name": "effective_from_date", "validation":{ - "min": isUpdate ? null : defaultValue?.currentDate + "min":isUpdate ? null : defaultValue?.currentDate } } }, From 57a2a399e422e37247a2b83ee5228e5d03a22a98 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Sat, 6 Jul 2024 12:49:17 +0530 Subject: [PATCH 029/292] bug fix is in progress --- .../Estimate/src/components/ViewStatement.js | 55 ++++--------------- .../src/configs/viewStatementConfig.js | 10 +--- .../pageComponents/ViewAnalysisStatement.js | 42 +++++++------- .../src/pages/employee/viewUtilization.js | 18 +++--- .../src/components/SORDetailsTemplate.js | 2 +- .../src/components/specficAmountTable.js | 2 +- 6 files changed, 47 insertions(+), 82 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index f124d715d7..ba467d6d57 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -68,34 +68,13 @@ const ViewStatement = (props) => { {subRow.name} {subRow.unit} -
- {Digit.Utils.dss.formatterWithoutRound( - parseFloat((subRow?.rate === undefined ? 0 : subRow?.rate).toFixed(2)), - "number", - undefined, - true, - undefined, - 2 - )}{" "} -
+
{Digit.Utils.dss.formatterWithoutRound(parseFloat(subRow?.rate.toFixed(2)), "number", undefined, true, undefined, 2)}
- + )); @@ -112,12 +91,7 @@ const ViewStatement = (props) => { {t("MB_ONLY_AMOUNT")}: - + ); @@ -141,23 +115,23 @@ const ViewStatement = (props) => { {row.description} {row.uom} - + - + {subRows.length > 0 && ( - + {/* {t(`WORKS_${type}_TABLE_HEADER`)} - + */} @@ -178,12 +152,12 @@ const ViewStatement = (props) => { {subRows.length === 0 && row?.type === "W" && ( - + {/* {t(`WORKS_${type}_TABLE_HEADER`)} - + */} @@ -211,12 +185,12 @@ const ViewStatement = (props) => { {subRows.length === 0 && row?.type !== "W" && ( - + {/* {t(`WORKS_${type}_TABLE_HEADER`)} - + */} @@ -281,12 +255,7 @@ const ViewStatement = (props) => { {config?.screenType === "UTILIZATION" ? t("UTILIZATION_STATEMENT_GRAND_TOTAL") : t("STATEMENT_GRAND_TOTAL")}: - + ) : ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js index 5ab093867e..b9df2168cd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js @@ -41,8 +41,7 @@ export const data = (statementDetails, rawData, oldData) => { ? parseFloat(oldData?.Material).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2) - : parseFloat(0).toFixed(2), - textStyle:{width:"14%",textAlign:"right"}, + : (0).toFixed(2), }, { key: "STATEMENT_LABOUR", @@ -50,8 +49,7 @@ export const data = (statementDetails, rawData, oldData) => { ? parseFloat(oldData?.Machinery).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2) - : parseFloat(0).toFixed(2), - textStyle:{width:"14%",textAlign:"right"}, + : (0).toFixed(2), }, { key: "STATEMENT_MACHINERY", @@ -59,8 +57,7 @@ export const data = (statementDetails, rawData, oldData) => { ? parseFloat(oldData?.Labour).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2) - : parseFloat(0).toFixed(2), - textStyle:{width:"14%",textAlign:"right"}, + : (0).toFixed(2), }, { @@ -70,7 +67,6 @@ export const data = (statementDetails, rawData, oldData) => { return acc + (ob?.additionalDetails?.labourCessAmount || 0); }, 0) ).toFixed(2), - textStyle:{width:"14%",textAlign:"right"}, }, ], }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index ccaf272278..85b4f1566c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -1,5 +1,5 @@ import React, { useState, useEffect } from "react"; -import { Toast, Loader,LinkButton } from "@egovernments/digit-ui-react-components"; +import { Toast, Loader, LinkButton } from "@egovernments/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; @@ -8,7 +8,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { const history = useHistory(); const tenantId = Digit.ULBService.getCurrentTenantId(); const [showToast, setShowToast] = useState(null); - + const { revisionNumber } = Digit.Hooks.useQueryParams(); const isCreateOrUpdate = /(measurement\/create|estimate\/create-detailed-estimate|estimate\/update-detailed-estimate|measurement\/update|estimate\/create-revision-detailed-estimate|estimate\/update-revision-detailed-estimate)/.test( window.location.href ); @@ -99,7 +99,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { state: { responseData: responseData, estimateId: formData?.SORtable?.[0]?.estimateId, - number: formData?.estimateNumber, + number: window.location.href.includes("revision") ? revisionNumber : formData?.estimateNumber, }, }); }, 1000); @@ -122,9 +122,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { pathname: `/${window?.contextPath}/employee/measurement/utilizationstatement`, state: { responseData: responseData, - estimateId: window.location.href.includes("measurement/update") - ? props.config.formData.Measurement.id - : formData?.Measurement?.id, + estimateId: window.location.href.includes("measurement/update") ? props.config.formData.Measurement.id : formData?.Measurement?.id, number: window.location.href.includes("measurement/update") ? props.config.formData.Measurement.measurementNumber : formData?.Measurement?.measurementNumber, @@ -148,7 +146,9 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { : formData?.Measurement?.id; const number = isEstimate - ? formData?.estimateNumber + ? window.location.href.includes("revision") + ? revisionNumber + : formData?.estimateNumber : window.location.href.includes("measurement/update") ? props.config.formData.Measurement.measurementNumber : formData?.Measurement?.measurementNumber; @@ -180,7 +180,6 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { const handleButtonClick = async (event) => { event.preventDefault(); - if (!checkConditions(isEstimate, formData, props)) { const message = isEstimate ? t("NO_ESTIMATE_SOR_FOUND") : t("NO_MEASUREMENT_SOR_FOUND"); @@ -227,11 +226,11 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { //
// ); - if (searchLoading) return ; + if (searchLoading) return ; if (!window.location.href.includes("create")) return ( -
+
{ label={isEstimate ? t("ESTIMATE_ANALYSIS_STM") : t("MB_UTILIZATION_STM")} /> {showToast && ( - setShowToast(false)} - /> - )} + setShowToast(false)} + /> + )}
); else return
; - }; export default ViewAnalysisStatement; - diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js index 9fa5443eb1..0b2c449807 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js @@ -400,11 +400,11 @@ const ViewUtilization = () => { const loggedInUserRoles = Digit.Utils.getLoggedInUserDetails("roles"); //look here need to uncomment once api works fine and check if the data is coming proper - // const { state,refId } = useLocation() - const location = useLocation(); - const { responseData, estimateId,number } = location.state || {}; - - let statement = responseData?.statement; + // const { state,refId } = useLocation() + const location = useLocation(); + const { responseData, estimateId, number } = location.state || {}; + + let statement = responseData?.statement; const closeMenu = () => { setShowActions(false); @@ -420,8 +420,12 @@ const ViewUtilization = () => { //if (isProjectLoading || isDetailedEstimateLoading | isDetailedEstimatesLoading) return ; const HandleDownloadPdf = () => { // Digit.Utils.downloadEgovPDF(`analysisUtilization/analysis-utilization?tenantId=${tenantId}&referenceId=${formId}`,{referenceId:formId},`utilization-${refId}.pdf`) - Digit.Utils.downloadWorksPDF("utilizationStatement/utilization-statement", { tenantId: tenantId ,referenceId:estimateId}, `utilization-${number}.pdf`); - } + Digit.Utils.downloadWorksPDF( + "utilizationStatement/utilization-statement", + { tenantId: tenantId, referenceId: estimateId }, + `utilization-${number}.pdf` + ); + }; return (
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js index 447af9821b..2661886c67 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js @@ -158,7 +158,7 @@ const SORDetailsTemplate = (props) => { }; const sortedRows = SORDetails.filter((ob) => ob?.sorType === props?.config?.sorType).map((row, index) => ({ - sno: pageType === "VIEW"?parseFloat(index+1): row?.sNo , + sno: pageType === "VIEW" ? parseFloat(index + 1) : row?.sNo, sorCode: row?.sorCode, description: row?.description, uom: row?.uom, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js index e3856fb7e7..5d95f15187 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js @@ -27,7 +27,7 @@ const TableWithOutHead = (props) => { {/*Digit.Utils.dss.formatterWithoutRound(Math.round(parseFloat(row.amount)).toFixed(2),"number",undefined,true,undefined,2)*/} - {Digit.Utils.dss.formatterWithoutRound( parseFloat(row.amount===undefined?0:row.amount).toFixed(2), "number", undefined, true, undefined, 2)} + {Digit.Utils.dss.formatterWithoutRound( parseFloat(row.amount).toFixed(2), "number", undefined, true, undefined, 2)} From e27886331edfe0e2a5264367f1a8355b627587ae Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Sat, 6 Jul 2024 19:37:31 +0530 Subject: [PATCH 030/292] bug fixes --- .../RateAnalysis/src/configs/ViewScheduledJobsConfig.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js index 9fcd33f6a8..b264a625cb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js @@ -48,9 +48,9 @@ const ViewScheduledJobsConfig = { top: "2.3rem", }, options:[ - {code:"SCHEDULED",name:"SCHEDULED"}, - {code:"INPROGRESS",name:"INPROGRESS"}, - {code:"COMPLETED",name:"COMPLETED"} + {code:"SCHEDULED",name:"Scheduled"}, + {code:"IN_PROGRESS",name:"In progress"}, + {code:"COMPLETED",name:"Completed"} ] }, }, From 77fae2a76e2649195757b0ce2ca62d883dbfe3c8 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Sat, 6 Jul 2024 19:10:25 +0530 Subject: [PATCH 031/292] null value handled --- .../Estimate/src/components/ViewStatement.js | 68 ++++++++++++++++--- .../src/configs/viewStatementConfig.js | 10 ++- .../src/components/specficAmountTable.js | 2 +- 3 files changed, 65 insertions(+), 15 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index ba467d6d57..ee5309d921 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -68,13 +68,34 @@ const ViewStatement = (props) => { {subRow.name} {subRow.unit} -
{Digit.Utils.dss.formatterWithoutRound(parseFloat(subRow?.rate.toFixed(2)), "number", undefined, true, undefined, 2)}
+
+ {Digit.Utils.dss.formatterWithoutRound( + parseFloat((subRow?.rate === undefined ? 0 : subRow?.rate).toFixed(2)), + "number", + undefined, + true, + undefined, + 2 + )}{" "} +
- + )); @@ -91,7 +112,12 @@ const ViewStatement = (props) => { {t("MB_ONLY_AMOUNT")}: - + ); @@ -115,13 +141,30 @@ const ViewStatement = (props) => { {row.description} {row.uom} - + - + - + {subRows.length > 0 && ( @@ -185,7 +228,7 @@ const ViewStatement = (props) => { {subRows.length === 0 && row?.type !== "W" && ( - {/* + {/* {t(`WORKS_${type}_TABLE_HEADER`)} @@ -219,7 +262,7 @@ const ViewStatement = (props) => { } - + {t("MB_ONLY_AMOUNT")}: @@ -228,9 +271,7 @@ const ViewStatement = (props) => { - - @@ -255,7 +296,12 @@ const ViewStatement = (props) => { {config?.screenType === "UTILIZATION" ? t("UTILIZATION_STATEMENT_GRAND_TOTAL") : t("STATEMENT_GRAND_TOTAL")}: - + ) : ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js index b9df2168cd..5ab093867e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js @@ -41,7 +41,8 @@ export const data = (statementDetails, rawData, oldData) => { ? parseFloat(oldData?.Material).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2) - : (0).toFixed(2), + : parseFloat(0).toFixed(2), + textStyle:{width:"14%",textAlign:"right"}, }, { key: "STATEMENT_LABOUR", @@ -49,7 +50,8 @@ export const data = (statementDetails, rawData, oldData) => { ? parseFloat(oldData?.Machinery).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2) - : (0).toFixed(2), + : parseFloat(0).toFixed(2), + textStyle:{width:"14%",textAlign:"right"}, }, { key: "STATEMENT_MACHINERY", @@ -57,7 +59,8 @@ export const data = (statementDetails, rawData, oldData) => { ? parseFloat(oldData?.Labour).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2) - : (0).toFixed(2), + : parseFloat(0).toFixed(2), + textStyle:{width:"14%",textAlign:"right"}, }, { @@ -67,6 +70,7 @@ export const data = (statementDetails, rawData, oldData) => { return acc + (ob?.additionalDetails?.labourCessAmount || 0); }, 0) ).toFixed(2), + textStyle:{width:"14%",textAlign:"right"}, }, ], }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js index 5d95f15187..e3856fb7e7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js @@ -27,7 +27,7 @@ const TableWithOutHead = (props) => { {/*Digit.Utils.dss.formatterWithoutRound(Math.round(parseFloat(row.amount)).toFixed(2),"number",undefined,true,undefined,2)*/} - {Digit.Utils.dss.formatterWithoutRound( parseFloat(row.amount).toFixed(2), "number", undefined, true, undefined, 2)} + {Digit.Utils.dss.formatterWithoutRound( parseFloat(row.amount===undefined?0:row.amount).toFixed(2), "number", undefined, true, undefined, 2)} From 0e8053d59508e317f59da9b59a09daf17d872130 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Mon, 8 Jul 2024 10:14:36 +0530 Subject: [PATCH 032/292] remove extra charges added --- .../modules/Measurement/src/configs/viewUtilConfig.js | 4 ++++ .../modules/RateAnalysis/src/components/ExtraCharges.js | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js index 6d5ef902e5..5c9dc189bb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js @@ -36,18 +36,22 @@ export const data = (statementDetails, rawData,oldData) => { { key: "STATEMENT_MATERIAL", value: oldData ? parseFloat(oldData?.Material).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length!=0?statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2):(0).toFixed(2), + textStyle:{width:"14%",textAlign:"right"}, }, { key: "STATEMENT_LABOUR", value: oldData ? parseFloat(oldData?.Machinery).toFixed(2) :statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length!=0? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2):(0).toFixed(2), + textStyle:{width:"14%",textAlign:"right"}, }, { key: "STATEMENT_MACHINERY", value: oldData ? parseFloat(oldData?.Labour).toFixed(2) :statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length!=0? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2):(0).toFixed(2), + textStyle:{width:"14%",textAlign:"right"}, }, { key: "STATEMENT_LABOUR_CESS", value: parseFloat(statementDetails?.sorDetails.reduce((acc,ob) => {return acc + (ob?.additionalDetails?.labourCessAmount || 0)}, 0)).toFixed(2), + textStyle:{width:"14%",textAlign:"right"}, } ], }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js index f578ea2afd..235e290676 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js @@ -374,4 +374,4 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { ); }; -export default ExtraCharges; +export default ExtraCharges; \ No newline at end of file From c206cfb0dd0eb18bf6ba525c178f8baa9995a49e Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Mon, 8 Jul 2024 14:01:07 +0530 Subject: [PATCH 033/292] Updated the tenant ID issue in the UAT --- .../modules/RateAnalysis/src/components/ExtraCharges.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js index 235e290676..ef9fcf8f60 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js @@ -16,6 +16,7 @@ import { has4DecimalPlaces } from "../utils/transformData"; const ExtraCharges = ({ control, watch, config, ...props }) => { const populators = config?.populators; + const stateId = Digit.ULBService.getStateId() const formFieldName = "extraCharges"; // this will be the key under which the data for this table will be present on onFormSubmit const initialState = [ @@ -131,7 +132,7 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { url: "/mdms-v2/v2/_search", body: { MdmsCriteria: { - tenantId: "pg", + tenantId: stateId, schemaCode: "WORKS-SOR.Overhead", }, }, From dba63618152cf6458685fc3a694bbfc9aa114fd4 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Mon, 8 Jul 2024 16:46:55 +0530 Subject: [PATCH 034/292] Fixed the old data issue and localisation code update --- .../Estimate/src/configs/viewStatementConfig.js | 12 ++++-------- .../src/pageComponents/ViewAnalysisStatement.js | 2 +- .../modules/RateAnalysis/src/utils/transformData.js | 6 +++--- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js index 5ab093867e..dea09c8b90 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js @@ -38,29 +38,26 @@ export const data = (statementDetails, rawData, oldData) => { { key: "STATEMENT_MATERIAL", value: oldData - ? parseFloat(oldData?.Material).toFixed(2) + ? (oldData?.Material.includes(",") ? oldData?.Material : parseFloat(oldData?.Material).toFixed(2)) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2) : parseFloat(0).toFixed(2), - textStyle:{width:"14%",textAlign:"right"}, }, { key: "STATEMENT_LABOUR", value: oldData - ? parseFloat(oldData?.Machinery).toFixed(2) + ? (oldData?.Machinery?.includes(",") ? oldData?.Machinery : parseFloat(oldData?.Machinery).toFixed(2)) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2) : parseFloat(0).toFixed(2), - textStyle:{width:"14%",textAlign:"right"}, }, { key: "STATEMENT_MACHINERY", value: oldData - ? parseFloat(oldData?.Labour).toFixed(2) + ? (oldData?.Labour?.includes(",") ? oldData?.Labour :parseFloat(oldData?.Labour).toFixed(2)) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2) : parseFloat(0).toFixed(2), - textStyle:{width:"14%",textAlign:"right"}, }, { @@ -68,9 +65,8 @@ export const data = (statementDetails, rawData, oldData) => { value: parseFloat( statementDetails?.sorDetails.reduce((acc, ob) => { return acc + (ob?.additionalDetails?.labourCessAmount || 0); - }, 0) + }, 0) || 0 ).toFixed(2), - textStyle:{width:"14%",textAlign:"right"}, }, ], }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index 85b4f1566c..01060f492d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -159,7 +159,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { number, }; - if (!searchResponse) { + if (!searchResponse || searchResponse?.statement?.length <=0) { state.oldData = { Labour: getAnalysisCost(ChargesCodeMapping.LabourCost), Material: getAnalysisCost(ChargesCodeMapping.MaterialCost), diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js index 62fa18ef7c..c5a49654ea 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js @@ -4,9 +4,9 @@ export const getDefaultValues = (sordata, t, mbNumber, compositionData, allSORDa let SORData = { SORCode: sordata?.uniqueIdentifier, - SORType: sordata?.data?.sorType !== "NA"? t(`SOR_TYPE_${sordata?.data?.sorType}`) : "NA", - SORSubType: sordata?.data?.sorSubType !== "NA" ? t(`SOR_SUBTYPE_${sordata?.data?.sorSubType}`) : "NA", - SORVarient: sordata?.data?.sorVariant !== "NA" ? t(`SOR_VARIENT_${sordata?.data?.sorVariant}`) : "NA", + SORType: sordata?.data?.sorType !== "NA"? t(`WORKS_SOR_TYPE_${sordata?.data?.sorType}`) : "NA", + SORSubType: sordata?.data?.sorSubType !== "NA" ? t(`WORKS_SOR_SUBTYPE_${sordata?.data?.sorSubType}`) : "NA", + SORVarient: sordata?.data?.sorVariant !== "NA" ? t(`SWORKS_OR_VARIENT_${sordata?.data?.sorVariant}`) : "NA", uom: sordata?.data?.uom !== "NA"? t(`COMMON_MASTERS_UOM_${sordata?.data?.uom}`) : "NA", rateDefinedForQty: sordata?.data?.quantity, description: sordata?.data?.description, From 8399a99018c4f07a76db5d7ced59c6412af71e92 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Mon, 8 Jul 2024 16:48:20 +0530 Subject: [PATCH 035/292] correcting the worn prefix for varient SOR --- .../packages/modules/RateAnalysis/src/utils/transformData.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js index c5a49654ea..1c38691428 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js @@ -6,7 +6,7 @@ export const getDefaultValues = (sordata, t, mbNumber, compositionData, allSORDa SORCode: sordata?.uniqueIdentifier, SORType: sordata?.data?.sorType !== "NA"? t(`WORKS_SOR_TYPE_${sordata?.data?.sorType}`) : "NA", SORSubType: sordata?.data?.sorSubType !== "NA" ? t(`WORKS_SOR_SUBTYPE_${sordata?.data?.sorSubType}`) : "NA", - SORVarient: sordata?.data?.sorVariant !== "NA" ? t(`SWORKS_OR_VARIENT_${sordata?.data?.sorVariant}`) : "NA", + SORVarient: sordata?.data?.sorVariant !== "NA" ? t(`WORKS_OR_VARIENT_${sordata?.data?.sorVariant}`) : "NA", uom: sordata?.data?.uom !== "NA"? t(`COMMON_MASTERS_UOM_${sordata?.data?.uom}`) : "NA", rateDefinedForQty: sordata?.data?.quantity, description: sordata?.data?.description, From 343638bec6b3beead96363c5368c2cecd5880a8b Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 9 Jul 2024 11:12:36 +0530 Subject: [PATCH 036/292] pdf contextpath changed for UAT --- .../Estimate/src/pages/employee/ViewAnalysisStatementPage.js | 2 +- .../modules/Measurement/src/pages/employee/viewUtilization.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js index cf1d2a7c00..5d4f5efd1f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js @@ -420,7 +420,7 @@ const ViewAnalysisStatement = () => { }; const HandleDownloadPdf = () => { - Digit.Utils.downloadWorksPDF("analysisStatement/analysis-statement", { tenantId: tenantId ,referenceId:estimateId}, `analysis_statement-${number}.pdf`); + Digit.Utils.downloadEgovPDF("analysisStatement/analysis-statement", { tenantId: tenantId ,referenceId:estimateId}, `analysis_statement-${number}.pdf`); }; // Consolidated table will be sent overhere diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js index 0b2c449807..cbee53ea3a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js @@ -420,7 +420,7 @@ const ViewUtilization = () => { //if (isProjectLoading || isDetailedEstimateLoading | isDetailedEstimatesLoading) return ; const HandleDownloadPdf = () => { // Digit.Utils.downloadEgovPDF(`analysisUtilization/analysis-utilization?tenantId=${tenantId}&referenceId=${formId}`,{referenceId:formId},`utilization-${refId}.pdf`) - Digit.Utils.downloadWorksPDF( + Digit.Utils.downloadEgovPDF( "utilizationStatement/utilization-statement", { tenantId: tenantId, referenceId: estimateId }, `utilization-${number}.pdf` From 96eab4634c1e26ddd7e5c89578baeeed23436aa0 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Tue, 9 Jul 2024 11:27:01 +0530 Subject: [PATCH 037/292] upgraded the contract version and added consoles to check create mb --- frontend/micro-ui/web/micro-ui-internals/example/package.json | 2 +- .../micro-ui-internals/packages/modules/Contracts/package.json | 2 +- .../modules/Contracts/src/pages/employee/ViewContractDetails.js | 2 ++ frontend/micro-ui/web/package.json | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index 026c9dba71..af53819a63 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -15,7 +15,7 @@ "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-react-components": "^1.5.0", "@egovernments/digit-ui-module-attendencemgmt": "0.4.1", - "@egovernments/digit-ui-module-contracts": "0.4.1", + "@egovernments/digit-ui-module-contracts": "0.4.2", "@egovernments/digit-ui-module-measurement":"0.2.0", "@egovernments/digit-ui-module-estimate": "0.4.5", "@egovernments/digit-ui-module-masters": "0.4.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json index cdcedba868..ef533fa562 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-contracts", - "version": "0.4.1", + "version": "0.4.2", "description": "Contracts Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContractDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContractDetails.js index f7e25d4f9c..84df3371b1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContractDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContractDetails.js @@ -99,6 +99,7 @@ const ViewContractDetails = () => { } } + console.log(requestCriteria,"requestcriteria"); const {isLoading, data:measurementData} = Digit.Hooks.useCustomAPIHook(requestCriteria); @@ -136,6 +137,7 @@ const ViewContractDetails = () => { } let isCreeateMBUser = verifiedRolesForAction?.["CREATE_MB"].some(role => loggedInUserRoles.includes(role)); + console.log(isInWorkflowMeasurementPresent,measurementData,actionsMenu,isCreeateMBUser); if(!isInWorkflowMeasurementPresent && measurementData && !actionsMenu?.find((ob) => ob?.name === "CREATE_MEASUREMENT_REQUEST") && isCreeateMBUser) setActionsMenu((prevState => [...prevState,{ name:"CREATE_MEASUREMENT_REQUEST", diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index b2b549dc11..5f5b26b50a 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -24,7 +24,7 @@ "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-module-attendencemgmt": "0.4.1", - "@egovernments/digit-ui-module-contracts": "0.4.1", + "@egovernments/digit-ui-module-contracts": "0.4.2", "@egovernments/digit-ui-module-measurement":"0.2.0", "@egovernments/digit-ui-module-estimate": "0.4.5", "@egovernments/digit-ui-module-masters": "0.4.2", From 802fccb2ad3d78f1bfce5c2dbcf6aaef094ba8b0 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 9 Jul 2024 14:31:07 +0530 Subject: [PATCH 038/292] code fetch from sor skilldevelop branch --- frontend/works_shg_app/.env | 15 +- frontend/works_shg_app/.env.muktaUat | 3 +- .../android/app/src/main/AndroidManifest.xml | 2 +- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 12877 -> 6299 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 6206 -> 3366 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 21811 -> 10077 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 45497 -> 19540 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 77040 -> 31434 bytes .../works_shg_app/assets/png/ic_launcher.png | Bin 6206 -> 338223 bytes .../works_shg_app/assets/png/ic_launcher_.png | Bin 0 -> 6206 bytes frontend/works_shg_app/assets/svg/delete.svg | 10 + .../works_shg_app/assets/svg/double_arrow.svg | 4 + .../works_shg_app/assets/svg/menu_book.svg | 13 + frontend/works_shg_app/assets/svg/sort.svg | 3 + .../assets/svg/workorderInbox.svg | 3 + .../Icon-App-1024x1024@1x.png | Bin 0 -> 518790 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 902 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 2487 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 4690 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 1549 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 4476 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 8544 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 2487 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 7367 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 14479 bytes .../AppIcon.appiconset/Icon-App-50x50@1x.png | Bin 0 -> 3391 bytes .../AppIcon.appiconset/Icon-App-50x50@2x.png | Bin 0 -> 10171 bytes .../AppIcon.appiconset/Icon-App-57x57@1x.png | Bin 0 -> 4321 bytes .../AppIcon.appiconset/Icon-App-57x57@2x.png | Bin 0 -> 13273 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 14479 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 28439 bytes .../AppIcon.appiconset/Icon-App-72x72@1x.png | Bin 0 -> 6299 bytes .../AppIcon.appiconset/Icon-App-72x72@2x.png | Bin 0 -> 19540 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 6900 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 21437 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 25184 bytes frontend/works_shg_app/ios/Runner/Info.plist | 2 +- .../works_shg_app/lib/Env/env_config.dart | 6 + .../app_initilization/app_initilization.dart | 4 +- .../app_initilization/home_screen_bloc.dart | 40 +- .../home_screen_bloc.freezed.dart | 219 +- .../blocs/attendance/skills/skills_bloc.dart | 11 +- .../works_shg_app/lib/blocs/auth/auth.dart | 54 +- .../lib/blocs/auth/auth.freezed.dart | 187 +- .../lib/blocs/employee/emp_hrms/emp_hrms.dart | 74 + .../employee/emp_hrms/emp_hrms.freezed.dart | 937 +++ .../lib/blocs/employee/estimate/estimate.dart | 74 + .../employee/estimate/estimate.freezed.dart | 948 +++ .../lib/blocs/employee/mb/mb_check.dart | 130 + .../blocs/employee/mb/mb_check.freezed.dart | 1043 +++ .../lib/blocs/employee/mb/mb_crud.dart | 163 + .../blocs/employee/mb/mb_crud.freezed.dart | 1005 +++ .../lib/blocs/employee/mb/mb_detail_view.dart | 968 +++ .../employee/mb/mb_detail_view.freezed.dart | 4811 ++++++++++++ .../blocs/employee/mb/measurement_book.dart | 366 + .../employee/mb/measurement_book.freezed.dart | 2237 ++++++ .../lib/blocs/employee/mb/project_type.dart | 81 + .../employee/mb/project_type.freezed.dart | 919 +++ .../employee/work_order/workorder_book.dart | 350 + .../work_order/workorder_book.freezed.dart | 2054 +++++ .../lib/blocs/localization/localization.dart | 2 +- .../muster_rolls/get_muster_workflow.dart | 43 +- .../get_muster_workflow.freezed.dart | 178 + .../muster_rolls/search_muster_roll.dart | 33 + .../search_muster_roll.freezed.dart | 174 + .../blocs/organisation/org_search_bloc.dart | 23 +- .../organisation/org_search_bloc.freezed.dart | 183 +- .../wage_seeker_create_bloc.dart | 80 +- .../wage_seeker_create_bloc.freezed.dart | 382 + .../wage_seeker_mdms_bloc.dart | 29 +- .../wage_seeker_registration_bloc.dart | 150 +- ...wage_seeker_registration_bloc.freezed.dart | 1317 +++- .../work_orders/search_individual_work.dart | 7 +- .../data/repositories/attendance_mdms.dart | 2 +- .../common_repository/common_repository.dart | 40 + .../core_repo/core_repository.dart | 9 +- .../employee_repository/emp_hrms.dart | 38 + .../employee_repository/estimate.dart | 37 + .../repositories/employee_repository/mb.dart | 92 + .../employee_repository/mdms.dart | 37 + .../employee_repository/work_order.dart | 90 + .../lib/data/repositories/remote/mdms.dart | 29 +- .../wage_seeker_repository.dart | 23 + .../my_works_repository.dart | 1 + frontend/works_shg_app/lib/main.dart | 48 +- .../lib/models/adharModel/adhar_response.dart | 37 + .../adharModel/adhar_response.freezed.dart | 347 + .../models/adharModel/adhar_response.g.dart | 34 + .../employee/estimate/estimate_model.dart | 20 + .../estimate/estimate_model.freezed.dart | 198 + .../employee/estimate/estimate_model.g.dart | 23 + .../employee/homeconfig/homeConfigModel.dart | 36 + .../homeconfig/homeConfigModel.freezed.dart | 427 + .../homeconfig/homeConfigModel.g.dart | 39 + .../models/employee/mb/filtered_Measures.dart | 118 + .../mb/filtered_Measures.freezed.dart | 1744 +++++ .../employee/mb/filtered_Measures.g.dart | 169 + .../employee/mb/mb_detail_response.dart | 308 + .../mb/mb_detail_response.freezed.dart | 4854 ++++++++++++ .../employee/mb/mb_detail_response.g.dart | 388 + .../models/employee/mb/mb_inbox_response.dart | 434 ++ .../mb/mb_inbox_response.freezed.dart | 6854 +++++++++++++++++ .../employee/mb/mb_inbox_response.g.dart | 533 ++ .../models/employee/mb/mb_project_type.dart | 61 + .../employee/mb/mb_project_type.freezed.dart | 683 ++ .../models/employee/mb/mb_project_type.g.dart | 57 + .../models/employee/mb/role_based_hrms.dart | 51 + .../employee/mb/role_based_hrms.freezed.dart | 691 ++ .../models/employee/mb/role_based_hrms.g.dart | 59 + .../work_order/wo_inbox_response.dart | 67 + .../work_order/wo_inbox_response.freezed.dart | 972 +++ .../work_order/wo_inbox_response.g.dart | 87 + .../exception/custom_msg_exception.dart | 9 + .../lib/models/mdms/wage_seeker_mdms.dart | 14 + .../models/mdms/wage_seeker_mdms.freezed.dart | 241 +- .../lib/models/mdms/wage_seeker_mdms.g.dart | 18 + .../muster_rolls/muster_workflow_model.dart | 45 + .../muster_workflow_model.freezed.dart | 753 +- .../muster_rolls/muster_workflow_model.g.dart | 63 + .../lib/models/skills/skills.dart | 14 +- .../lib/models/skills/skills.freezed.dart | 119 +- .../lib/models/skills/skills.g.dart | 14 +- .../wage_seeker/individual_details_model.dart | 35 +- .../individual_details_model.mapper.dart | 45 +- .../lib/pages/attendance_register_table.dart | 2 +- .../lib/pages/authenticated.dart | 11 +- .../lib/pages/employee/mb_config_warning.dart | 663 ++ .../lib/pages/employee/mb_detail_page.dart | 1853 +++++ .../lib/pages/employee/mb_filter_page.dart | 730 ++ .../lib/pages/employee/mb_history.dart | 400 + .../lib/pages/employee/mb_inbox.dart | 545 ++ .../lib/pages/employee/mb_muster_screen.dart | 652 ++ .../lib/pages/employee/mb_wrapper.dart | 29 + .../employee/workOrder/wo_filter_page.dart | 334 + .../workOrder/work_order_details.dart | 136 + .../employee/workOrder/work_order_inbox.dart | 592 ++ .../workOrder/work_order_wrapper.dart | 22 + frontend/works_shg_app/lib/pages/home.dart | 455 +- frontend/works_shg_app/lib/pages/login.dart | 855 +- .../lib/pages/otp_verification.dart | 2 +- .../works_shg_app/lib/pages/shg_inbox.dart | 1906 ++--- .../lib/pages/track_attendance.dart | 2355 +++--- .../indi_detail_sub.dart | 282 + .../indi_photo_sub.dart | 112 + .../indi_skill_sub.dart | 155 + .../individual_details.dart | 853 +- .../location_details.dart | 8 +- .../register_individual.dart | 2 + .../summary_details.dart | 2 +- .../pages/work_order/view_work_details.dart | 1748 ++++- .../works_shg_app/lib/router/app_router.dart | 38 +- .../lib/router/app_router.gr.dart | 378 + frontend/works_shg_app/lib/services/urls.dart | 56 +- .../lib/utils/Toast/toaster.dart | 2 +- .../lib/utils/common_methods.dart | 24 +- .../works_shg_app/lib/utils/constants.dart | 7 + .../lib/utils/employee/mb/mb_logic.dart | 993 +++ .../lib/utils/employee/support_services.dart | 54 + .../lib/utils/global_variables.dart | 4 + .../i18_key_constants.dart | 133 + .../lib/utils/models/file_picker_data.dart | 2 +- frontend/works_shg_app/lib/widgets/Back.dart | 2 +- .../works_shg_app/lib/widgets/SideBar.dart | 381 +- .../lib/widgets/atoms/app_bar_logo.dart | 5 + .../lib/widgets/atoms/attachments.dart | 12 +- .../lib/widgets/atoms/digit_timeline.dart | 27 +- .../lib/widgets/common_info_card.dart | 29 + .../lib/widgets/mb/float_action_card.dart | 89 + .../lib/widgets/mb/mb_detail_card.dart | 95 + .../lib/widgets/mb/multi_image.dart | 569 ++ .../lib/widgets/mb/multi_line_items.dart | 333 + .../lib/widgets/mb/radio_button_sheet.dart | 94 + .../lib/widgets/mb/sor_item_add_mb.dart | 924 +++ .../lib/widgets/mb/text_button_underline.dart | 48 + .../widgets/mb/text_field_decimal_match.dart | 37 + .../lib/widgets/mb/workFlowButtonList.dart | 332 + .../lib/widgets/molecules/file_picker.dart | 2 +- .../widgets/molecules/mb/table_form_data.dart | 67 + .../lib/widgets/molecules/mobile_view.dart | 87 +- .../widgets/work_order/work_order_card.dart | 85 + frontend/works_shg_app/pubspec.yaml | 4 +- frontend/works_shg_app/web/index.html | 2 +- 182 files changed, 56611 insertions(+), 3452 deletions(-) create mode 100644 frontend/works_shg_app/assets/png/ic_launcher_.png create mode 100644 frontend/works_shg_app/assets/svg/delete.svg create mode 100644 frontend/works_shg_app/assets/svg/double_arrow.svg create mode 100644 frontend/works_shg_app/assets/svg/menu_book.svg create mode 100644 frontend/works_shg_app/assets/svg/sort.svg create mode 100644 frontend/works_shg_app/assets/svg/workorderInbox.svg create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 frontend/works_shg_app/lib/blocs/employee/emp_hrms/emp_hrms.dart create mode 100644 frontend/works_shg_app/lib/blocs/employee/emp_hrms/emp_hrms.freezed.dart create mode 100644 frontend/works_shg_app/lib/blocs/employee/estimate/estimate.dart create mode 100644 frontend/works_shg_app/lib/blocs/employee/estimate/estimate.freezed.dart create mode 100644 frontend/works_shg_app/lib/blocs/employee/mb/mb_check.dart create mode 100644 frontend/works_shg_app/lib/blocs/employee/mb/mb_check.freezed.dart create mode 100644 frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart create mode 100644 frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.freezed.dart create mode 100644 frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart create mode 100644 frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.freezed.dart create mode 100644 frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.dart create mode 100644 frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.freezed.dart create mode 100644 frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart create mode 100644 frontend/works_shg_app/lib/blocs/employee/mb/project_type.freezed.dart create mode 100644 frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.dart create mode 100644 frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.freezed.dart create mode 100644 frontend/works_shg_app/lib/data/repositories/employee_repository/emp_hrms.dart create mode 100644 frontend/works_shg_app/lib/data/repositories/employee_repository/estimate.dart create mode 100644 frontend/works_shg_app/lib/data/repositories/employee_repository/mb.dart create mode 100644 frontend/works_shg_app/lib/data/repositories/employee_repository/mdms.dart create mode 100644 frontend/works_shg_app/lib/data/repositories/employee_repository/work_order.dart create mode 100644 frontend/works_shg_app/lib/models/adharModel/adhar_response.dart create mode 100644 frontend/works_shg_app/lib/models/adharModel/adhar_response.freezed.dart create mode 100644 frontend/works_shg_app/lib/models/adharModel/adhar_response.g.dart create mode 100644 frontend/works_shg_app/lib/models/employee/estimate/estimate_model.dart create mode 100644 frontend/works_shg_app/lib/models/employee/estimate/estimate_model.freezed.dart create mode 100644 frontend/works_shg_app/lib/models/employee/estimate/estimate_model.g.dart create mode 100644 frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.dart create mode 100644 frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.freezed.dart create mode 100644 frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.g.dart create mode 100644 frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.dart create mode 100644 frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.freezed.dart create mode 100644 frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.g.dart create mode 100644 frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.dart create mode 100644 frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.freezed.dart create mode 100644 frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.g.dart create mode 100644 frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.dart create mode 100644 frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.freezed.dart create mode 100644 frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.g.dart create mode 100644 frontend/works_shg_app/lib/models/employee/mb/mb_project_type.dart create mode 100644 frontend/works_shg_app/lib/models/employee/mb/mb_project_type.freezed.dart create mode 100644 frontend/works_shg_app/lib/models/employee/mb/mb_project_type.g.dart create mode 100644 frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.dart create mode 100644 frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.freezed.dart create mode 100644 frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.g.dart create mode 100644 frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.dart create mode 100644 frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.freezed.dart create mode 100644 frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.g.dart create mode 100644 frontend/works_shg_app/lib/models/exception/custom_msg_exception.dart create mode 100644 frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart create mode 100644 frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart create mode 100644 frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart create mode 100644 frontend/works_shg_app/lib/pages/employee/mb_history.dart create mode 100644 frontend/works_shg_app/lib/pages/employee/mb_inbox.dart create mode 100644 frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart create mode 100644 frontend/works_shg_app/lib/pages/employee/mb_wrapper.dart create mode 100644 frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart create mode 100644 frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart create mode 100644 frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart create mode 100644 frontend/works_shg_app/lib/pages/employee/workOrder/work_order_wrapper.dart create mode 100644 frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_detail_sub.dart create mode 100644 frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_photo_sub.dart create mode 100644 frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_skill_sub.dart create mode 100644 frontend/works_shg_app/lib/utils/employee/mb/mb_logic.dart create mode 100644 frontend/works_shg_app/lib/utils/employee/support_services.dart create mode 100644 frontend/works_shg_app/lib/widgets/common_info_card.dart create mode 100644 frontend/works_shg_app/lib/widgets/mb/float_action_card.dart create mode 100644 frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart create mode 100644 frontend/works_shg_app/lib/widgets/mb/multi_image.dart create mode 100644 frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart create mode 100644 frontend/works_shg_app/lib/widgets/mb/radio_button_sheet.dart create mode 100644 frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart create mode 100644 frontend/works_shg_app/lib/widgets/mb/text_button_underline.dart create mode 100644 frontend/works_shg_app/lib/widgets/mb/text_field_decimal_match.dart create mode 100644 frontend/works_shg_app/lib/widgets/mb/workFlowButtonList.dart create mode 100644 frontend/works_shg_app/lib/widgets/molecules/mb/table_form_data.dart create mode 100644 frontend/works_shg_app/lib/widgets/work_order/work_order_card.dart diff --git a/frontend/works_shg_app/.env b/frontend/works_shg_app/.env index 140716a936..51dfd97a24 100644 --- a/frontend/works_shg_app/.env +++ b/frontend/works_shg_app/.env @@ -5,4 +5,17 @@ TENANT_ID='statea' CONNECT_TIMEOUT="120000" RECEIVE_TIMEOUT="120000" SEND_TIMEOUT="120000" -ENV_NAME="UAT" \ No newline at end of file +ENV_NAME="UAT" +AADHAAR_VERIFY_PATH='http://164.100.141.79/authekycv4/api/authenticate' + + +# BASE_URL='https://unified-qa.digit.org/' +# MDMS_API_PATH='egov-mdms-service/v1/_search' +# GLOBAL_ASSETS='https://egov-dev-assets.s3.ap-south-1.amazonaws.com/globalConfigsMuktaWorksShgQA.json' +# TENANT_ID='statea' +# CONNECT_TIMEOUT="120000" +# RECEIVE_TIMEOUT="120000" +# SEND_TIMEOUT="120000" +# ENV_NAME="UAT" +# AADHAAR_VERIFY_PATH='http://164.100.141.79/authekycv4/api/authenticate' + diff --git a/frontend/works_shg_app/.env.muktaUat b/frontend/works_shg_app/.env.muktaUat index 140716a936..4983f4cc57 100644 --- a/frontend/works_shg_app/.env.muktaUat +++ b/frontend/works_shg_app/.env.muktaUat @@ -5,4 +5,5 @@ TENANT_ID='statea' CONNECT_TIMEOUT="120000" RECEIVE_TIMEOUT="120000" SEND_TIMEOUT="120000" -ENV_NAME="UAT" \ No newline at end of file +ENV_NAME="UAT" +AADHAAR_VERIFY_PATH='http://164.100.141.79/authekycv4/api/authenticate' \ No newline at end of file diff --git a/frontend/works_shg_app/android/app/src/main/AndroidManifest.xml b/frontend/works_shg_app/android/app/src/main/AndroidManifest.xml index 26b5999b81..ec445311be 100644 --- a/frontend/works_shg_app/android/app/src/main/AndroidManifest.xml +++ b/frontend/works_shg_app/android/app/src/main/AndroidManifest.xml @@ -7,7 +7,7 @@ 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 literal 6206 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 diff --git a/frontend/works_shg_app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/frontend/works_shg_app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png index eb94b0247147037ccb9448016ec12fc23b88d051..5623f8a439c8b5f879e8b60e4437878f08482712 100644 GIT binary patch literal 10077 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 literal 21811 zcmV(@K-RyBP)PyA07*naRCr$Gy?2yVWtRT`IqBxgxyU(ZRFVOdB*Bb1HY$p?wpmcYoU^UAm?J8n zfPx4L3P_TiGZdAesC4r^@w?u0LG2!$pEJ{I=8xZ5i)Dp->z?!O{Oo6Mr9>j(@PBwo zjtt1yvWYF(fQ@X+D2{?H8{o)Dj)H>(;`fpX;%i6!&0UN4iA(yIClQb4;7AU#ts*&K zDVF;>#a588uq6`*@wfiZ|EhyzJ$oFlYf0>v@i0}FMIkKr??}R8 zjtdej@e(97Tf&hnjANFdnrd2z|3}yVq5xcV`^~@fLp#C+ND`885w0~D$hPBJgDuMl zeH8~LOEwBNnl0Rrj48?D%+s3hh=WfH)JC{8upHYJq;NlJ{TG&?;WyHPNvO8_JC7w4 z;QtpE@LK_-k4pG-;d+E-TdwBoC`uB=wox1nNsS^?5B6c827?GGD?v(6Vwnb}o%ZLd zte~kXUe$|7$v{yuu;pxIxe(jR#kNC8mJGIrF8Qz}3sp*>TEbNYFqCwh_`kUR7cD?& zSz0^Yz~~A<_N|mKJqiNXq8h$lTZ##GPB9?H^n1&1i1yKlZgoBw&THeLa2`E zy1QdR<$qNU|7HOk*P^tmapR-#*TTh!pos{wj_?3Tl7XZoP?b6?YX^0S4eYDl$+oHp zYY!i0Z>*ZCs7WL#k#f8w9WU{ugXRx{M+9mS4}^m{7D+4-l!Ydz5cZ_mDMC()T*aa| zBSe$@EP9k=()B z6u_~&b8l80?5{yp+??&6ycb0{VL6H|2~88PQBmbE9;F(aDh{XCva@O#EB98h>`;%dtUR=i1MvpD!k8QfLk5rVVzPwk24@SKAhK;E z*#?@GB58@wPZF?d$?@rQ3I^!cw3rjyG^Ja99}0rKu$@+zRue4SgCyxVvV(mrMHac5 z>ogtB4e}Z(ED?kL4XNwDK>)|KUUpMIaR4bT=>|Q`R`HlJiX~xs;;2d$wzG=^^($Ds zX9Y`k)v@77f=bDYBjsZTbplu@mJdUcQEdr>7}k*yl^EYKLyzKDTs`q4V8ABx-# z!zw{GvQQigQxSrdkfk`1T`fm#0UqAS`1(;Y$3fcC%2XDFQo(D}m zh-R;2=g}XTvwam`@2+A;TpU_9k|zgQ7KbL0RCFX;0zKMx zV#cOfBvci}5y98Ni0X(~?3ZK`Runaqg`!C5dccB|WZ;!G*PV!LM_7ii7S;A*S{_WN z0?mriH2`DU7csnRKicFC!DsctG4kAOOBk|B%GG$20FJDut^1dl_TLx8zfl0f8Hwr= z6kFuz9u&C&$Geif;cu9`{%2-wIm}jF!S)33DM2jZE^Ls6Im;GUDvG71V}xuGi|MrX zx1wL`mNeGK$;&8UM{FN!t9Ib`Yb2v7hBfcc>3xS1)I97i-^F_?W>D*|$4ScgEgxRL zkH$zC+wY(#3aaA45?1CGc#3<+q7F_PI*Q&%mq3j3I<@A^o&#u_+YiY&3CAeJl5ISu z=Ek*{FOF)bi@g8o^=}eD+6}ppLEMxYK~wh;kN?R09dmeR-ELMl`jI?&D4ODCAdcll zl1w*Xreuj^G)%SGVtZ`-1mrNJP2v)C*mW|J#Rma%ShDoZIg#6csA#YWVc08ARhrj#_b&zA(anr8Ebh zh#!`cu191W!?Fp)8|al~aM?-i7~SD?GS!hpq_$uygi^w~OiWoM0snLO;@=>EV}V$* zQB4I|t;g`JWJl!!USGL{*$2gOw!!03u_PT`773q<>{xh2W@MOz%pjNaJ(sSnJCNne zWXXdnUS)(Fh#7KbD!};z&ZzTo~nlc>Nm$kS?f1Lg-Oyh}+-r z^_J=Uefc3am{~|cF9Act#Ksf_k1e}_Q^q7E+h~S|m&QIo%9NSD;v)>*=I+rG*|2>* z{X6vIw$CTis#ymLa`M=BU>g%h-N3c)-%G?!aYc_Y+&$oORvg|zdAyRws#@AM>&U*^ zt(@3o5U+gyE|uO&HgDa^+ZR7e$_vkb^*WPB-bz+Z0X4BIK3)C=tB-ER%Ki7izyF$5{GkBS`LK|28m&yDingmI z;>Ju-SjrBnWuXYisP5r#Y$nrwn!|@1j}rE_M)E2oJqg)v-m~o!eJg8H-(!&eVi)2 zoI*Q?FUCL3#Md6CSLYtwdir>-{@^b5)a_^5r7w^d$YRoukFtF0DqcD7DR%DJM$b;& zD6c-uoNeFGr&%Y)4Y-iWUp&sny4@&Vai{_q6bXceOdMnnrkBrP_vXir9F7?;s^NXn-3Xx#)W+H?YnGj+{?Dgz1%bEcA6Dr zbJy&L2xjECYG;}Twk!g+fG!L?;@%w(YHS~)TfpCjTtvsr^RTRL;Aq&gfKeP2M<}RJ zwm2ay6Tz>a{F!jS`*F%t|6+tBIV zq$4j~`Zz~xYq{m4yEyDmVkP}t(&Y>$54(cp8@8hbLP(m)vWgYF^xZp5KIt!L z?&CzKX-pq+jdvbb@pq9+nG4HlEoBOKOa_5V!lHrV3CblcZ{**j@nz{%I5VPXus0xBpGE!x2!fge94H zNZ^rwVtK{e+`e!%+oOeOejk>l;;~I6IYlC&(6_KF7xW)PhR;vMq5XWcbSBq~zKLWa z&ixA?C0I~IqN0YIPrjUCorj_Ny?nQ65f#Y;%-p&dP0l8OOjK>ei$Xl9WBDBdA|JOr zSZWlrF^VpE@P&Lhii%_^NC|^8oAl>z!zZ$@VkZj@E@t(i?Ywj4v)uCJJ=}HGP3+sZ zgXV2JFn8M$X6*O|S(O=B)P?&;+(k`&El;ThmdV~8vy`Sabon-j^*hz~f zo*aCdkIHxhVLe8`>qD2*Rjn)vDnnrRUbooOY|sfIktE>Q#5F&*>7Y3&yp~FXlA=J# zsz3lKq9 z`1|9nKOJNpi4c#X7}{n4XZ1OaOQzq2>=Vrv3EME-u&*kr>sJM;<8u))0ZB+`ri^Vn z7;YQUa4S>+<%^ukRv~0MII@f>`_VNU%Z`y9_A>6&i*PbzK3MQEj-}DAun9Y=4sz4! zf1&(v1s`skLxJkyf}Us7v!E-o5v6HvOHz))s(tGy^HuW2s`+kWkmd7ISzC|h@nTU= z4{sw+k3F57 zjiV@7R-6ncM4PNm9N52|Pi}pYhu?aMAp-}~HoGYu3R@#d8taa1;>kHL)3 zan21qH1~PF-o1p}KpqcY_BVpb5D$O(6!o4Mrjg|ItXiHPa~>_Tt|Dc3IRQkbfZj)kw$VZtd_a_fK_m^%AO z7xcPr@OYBwjCnDzs?xYOBO{`Ox+wmQ%x2)#&i*Dwt zCEsykx6afgk8sc1Px8WbPq1#!I$q!OJ{egBSdsnQ*CWU+11I8e5f*t!QUu3MQ%z(S zyz?Bp-(SV>hZZ1!GVyReLvy3M?ODdxTVLev`P+#2OK@b9nBv1HE9ec?+<3xxdN=LO zU*EqQpI0I$qku;)oW!oGy)4+WjHp&eh8m*kNDaFphw+BID3UGkH>7xkOgqe}MI~I+ zwLg724xrH611JH{DB`U8mLzbQ2Zfql30%8f^EL2m-a=ixP9a`WZD^A_2LaYcjaVy=Xc}AnGdsK z??&F7@FFXAEGBMSoY3VYZv1o-q3j$SJ4H!+2Tu*_!>Epb!?OCNSsY|wC<(l#pv4Hx z>7V=0e<*--_eV6lQ+T99Yze={4RdC&HCBYC1+i@jOI5IpFyTleZ(cc#Eo)Zs!VfR= z?1UFsv~4M?Hmu><>!0T5eJgnVhY#=vvOqNnXd=LB=(dg;Kg{6#9IiWY0E0RXCn%o` zWc_lY>7)K_J5w}9l4%Un?J0{()F)}~kO<=f_>de6-32^kd~TyZ338m2wVC<5zv9g` zKeDPSj^r;umMu)dxKL%nkuc2*im{IBoYnnIPH)+hXf#e$D8XHyKFGLs=QC!|Y1}{a z5wf!L*%PhAC$bgABAJ3dff`;r`%K#BjwfZc!DIM{dyF*l>M}C^qyU6(6&)c(u0*$H z^WdU4_{ZJ^O0XEiG0;SWh)SH=@O5`&f;S;j<}^#lt-fuC`gn@m%uEacMB5fV`6#ve54^wX3*K70 znsRc%mxpTCqe&tglW7Pix$oS`sO1sb6gMZ35#)`ZKcR0)H;Rgjxb5@1$q8g*X#os7 zj-{rM$-oZRFutpYDMM}`z*tPH2uBeZQ{3$m{%ei!$54dma!3xUwuZU8p5e~!hPG|{(X(X-wv=z;)s-Joo~*(aZAIY+-9B+9 zsbmF%bCTRQ6TxF=kT6Y}XBRQ)w25@g>;QU_-4%PuZJWoPGoE2h?FK@Q7t3$s z4ai8Q*Cl`nSUW3K$txpzGOF$0h<&bRUY8aNDQCW&Za1PXu72c&e$1eZb9g-eFN~ zCO$0}LoyJMRX7r5!ic|+)u8ar()m1o#r>G3#ciKIKrocS&7&srC^}B$hRs+v3e4B^i|Jt_p<#oWHuwHgRaPK@GNxvgv<0ZiU=C^bSJm$yjy>Meu<{P_@z>t65v$V$#PG7}Dh| zcGv8sRbB~Y)rV-`q#fVw{FVy_{)MSSU&OLSb$m?Ie|aJScc=TmmSdu*8Wk1geE7+` z+>@mdjIDUl%~~|w%U_3F%Z#O; zQQi>ezER_8no-KS1KT*W-zeT%^dYnNeuXdS#k4&L9MzND#e;)8aCMJ6u#G_&!u_N{ z<$o1G)Dc8iQRoOU_)LYQV&hS(s0qKr#942$I8ure@E|!6WIF?^!Q#bBrlQ4VKK%Ye zniiK*uf$on@dtXg=s|8#7T@e!k6+R77zVZ?VaLn3u4^amAAT!7xj&W_LUye&O*gbH z8%33wvH1-i`1lqkUGW%;)-GaD*Z%ytVHLwq9>Vi8o@aRXaXdQm8BE(mcK^VyPvo*m zZ6O5Fw3kUFQoQrdJDh*PSW1eTyP1@5RU$?pIHt$6(XcHvIZ4!7&Z7&S=B>@;SUGt} zhLEPHvsHXYHJ-WRehNK#v@a;-kvY%v+NuvZyZZ>PJL4*@{NOh9fR5_;5Gh8=j4>!H z&KqZ6NQr*}Nju*~kdHI?j!Qv`ClZe6Z|bV<=JcBF5b;>}v}Js{`g!hLx*N&c630pq z3#9O+JoL=!fKhgozfXJv$E)z|)^GTB`;Tlnx{G=>hDX;?1Nj)jBt`2k9O06-A)XrZ z0De_yLlBRZ2KGdN61j^AIf~+A=BBr~clyl?JK-D-9@s;h!j|l<-bcHZE%|oyH(WGm zJolaP9JXZ~6Tq(uBypv6`g;Px(T35a)`yJapT-q znNycTNXupM=J0rg)Ck=mkwP!(XmM%7FDg_^(8M5RQ)7v3(E&a zqLI_HR9?T}UWxs@cFO6G_qYR^PgitJmCnM zh3q1D7BP=RjsnD)5N87du$IWJ;K0}zWk-%)qJqxZCZLu8Qpg<79O_l z+rhhg=24zHgaC^LImdLOwAT;w=J_|#qv>BrIt6G_64@5*KL^W6AjyJfgPYZ;s>-a* z)3|r~L`L*Gmz`zXX;a#sva$noY}b)_tLAa(fbrZr>2E zlAyS#7EV~)yY#?|pV{BcAeC*9%v4#nYa^P^0L#RZf@GNocxPBY zPHTHF3A5v|wE5ReNJ=Fd9l^QROh1NXW2h2A`x72m^b{}eR0w&p(Phz^Q>ahcwD#oj z)`d@U_p1+Z{W({Vsbw;A$wDTMyNI!`UWt|O#j%4Zq7sdk@#M(^7=P0J*j96pHMb&WUaNVtYM& zxnT~A5C4SE?MY}jibOJ5$1R=U!6El!N~7HZHZAb95ZpA>meXuBQ%>R4%Gp;tjqAVs zl=bma6t4it6k@hPzb4%&O=QuvuqAzao<>>KL9#p^GK)(2aQXYp-m?J3=XYTMJ)U4> zq0F=krxH+xq=97-1T70q^YP8rc~sTzW=!AFJ4Od{dK2 zrdRYFOpGLS$!N>DT}M)qS42Ej&)!{S5D2ig{AX6xZA1}`Aexn{zTP9ebMB=y z$-31|yVG7MO>2?j30)xZt|?lIO+Z`67h9g>)^B&x7-)(uC-B=|>ce3kIpqd!=|6$* z%6>r6a#_0Wd$t`|$3Z2`{#Yf7s$zN!BuOPZTFo2hp2r!jZzpbMp{hQY?jf#ZGQkx$ zUCg?DYq;d9^XT5A1A{sYquAGu&$oTdq^EDCNo{j%KiqW3cs`x}8AHd7;+^kbr$?KU zXs-^Ss-c#UPbQJH@B{@(D@jgXE@neD@4fOaol2WgSCJ%UKr#~J@(DvwJ8vanC%OB~ zxdfyV7kc>BB@376;6h-M<0h$^Qpv)dFED=Yml(cm3`NGY9sFu07k3%OPwRi6tYQ~0 zT=y*Xx<$*P66XKBoYyzLO(+z=6i~iokrS)r<&muz)#(vp`iZEH;eLi-XG^hU(osY- zB;opPr0;nA+Xr}Y2RNa8{JKHRNzlsQk{8dJ#6P~D$%g7p^lQwXy(slz<*(7pJ!1d!!Sn)E29K3>Nem!Hh{yS}7(aWDQl^ab`;?WcKh7Q6RX z(57u`4(;Dht9I>Jx$+r$EEn_~PExlR z`^x3?Y1x^FFM680XWhfD*e-lZwu=G~J2Du zV`b%Lo?AYR5~YDxM~!B9hkJlxwr||b!;e1Bs#P1@7NR$V+a)e^%>V!(07*naR68DY z(g{p_{94NOD(0>Jl!OwcFgu@x%YVT7IfT4l#p}%?WhZFby@*KhK02P*6TjY>qmc&u zN`QowA}D9NjgeqLrG2v)d#gX^)^lEA=5q&lY1#{9XJwL`YjNro1$gou26VfTE=7a+ z;?r47z4d-%&BH@aKEjn(UhO6aBA8p2i76>~Zz8TnIWoLLLR4u& zBAh`Btumnrcv+TFf;c-N)j%j86@M>EMwy zI(eGn)jiyQ>14JYTF))--N#3_z0I7T7xKaGFUbmdu`QL9qtVJf#K&V!p=+~A7A*ifl*5=!|{)ajoPmvp>B#{~E7Tr9}d2!ri7VcO}tHNeN-q(Td5*Y)dMh zV9m-^Z2D*~QcQETKAFN4i_NHrbSKfdB zW4@mD9XVRII~XXeEgTEeu}ddjn)WiD9Ek!s#83NP!(wgQ%rT_5L!@X;dhHT zchIGL`_>OwVVz!MdU0U>9**wNQG*^Dlmm1gV-hNe;gClHgMmWhJB?$*j!&qnokN!< zXVNCGFKc%!W7=a2@mX0IPA%i^I1zv6X6!Ai;)+4n@Y!?U^3{xa_&gpIQ^xD{;HWm? zXq3LAI#Spx#mHWx>D9Rzm%cTLb+I6p&+qn1#6*rD7<(j@RLUS}B+2x7v1A`9StevA z-60ZPumhtFT++(osZn?0bHS-8W%2Fz^O-Q_7S^rUNE6yIcji~fhYVzI5L0&0 zJ+*W=(;~aLo|Iz{HEd37HkN{>gJ_8FrK)NHeVUJ@ZSe^lII@Ya-rvcpC2Pnp@G|b! z6NnY(;P^GH9SUzv{gg2mo#~>Qk3aYz$*7H^3iwSTLM^!`H&WUmgGaBrjW?If!qnvS7_Im@ic7io+Uaw%6d5a#;`D+B-Wzib-oOo5X269*Br_Iw zqMA)mj#6LyIOols!`fI0K~(^@$H&qB8Nf*YG<~J(&ts*9mEhc#Iu)CDQ)9}gib=cd zrfmB{#;gk9M-Z)af*F1)Qe~Wb^B6{q7)2tilN0dr&9>QuJqF(_pUsGFqd9V*hQ>7x zht^i1$`(>l94G3Vf%ZEHfpXOJwv0^$4 zzSzh=o_d!K12sn8*abq}iR?}=7% z2Av9XiLT3}@+TqWEOf;oMU2d5L9*K`^cvQkfn850!^&Xcj&F!)F~0wCK9eqdfX_ah z!KzQTQ<&Klt*DkRLlr7E#Hju`3#UEU?IU#Q7$Z@xvU|QvR)&{$eOuA2dy*b4`q3)4 zKf7z!^X-fs{Pg7>It_r6&TP%5wH8ai`jO&-j*OZxjAWvMrk-p*`)Dc2DiIDHOiiFK zUQlb1PiUk?%Os}_Igy8#*P#j`+Hr92U(d(w%KeMN3O8gswDpwn#mF%PSx%8W*R7%b9iT-JN6#ch&@3HTX4~PCbA1NS}TpGEhXE#!N;_TRW z0E$fX;1P1v?tJ%585(|fHY+737&x&fWe4}txpP~h-UR2LdJ#YT{2eK8m^sU5GrIGI zY+kaN$|Xl}>`dB?ND}IFfMi9GJzrMq6O!9DmbsyPyj4UE*J-tTyXp&P* zw$zcB(!kmuHjygJKnm%!J0(PoZWAiW;?({plj{_-w_zRmRxYnUIUiMzQ;?rYB;qA* z#*k7DC4CBb>WS-Uu-9|R%r8i)C2k|%g^~XCd|ZI%Ul30Rm)Tb=ALR4lL+IY(A);0> zw&+PjQc*|r0es3KmY3bjHQ%hKL1}?P(uL5E52XImK=`K?h;TmX#)i0;JpBltjlUgd zOAcGs?%;&;dh`8(kFcd2<~_BKo!j@|ksV5#moRuzU-p+(qiplgX>4n@RIf#oe1rlS ze7S5E4_)>IpHKUmEuXI@yHI27ZOut!9mI?(Ed4ajp$)k-@2YV2O+jj74IEsaBz~lj zWXh(nO9R)8y@QiGU(d?Dv-o=YcYO8E_wJ&OVb}Dc-LUp3{w$7G?ID<%?@}Y{ek^DD zOUp5h7`NVg6>Wx zErp?WB&vH63VPXf_$&Ih98KqDr?S3c4u|)sOnZ1PPD-a~mje1-e-iE5cB0Tzz-Mb_ z(WYe){w+yfo3aQs=;!{IuH=HjckuU@U*nCJUm&SBa@V9gIODR`jF|cts?|~#{1f2f zpSi?IiNKs=Rx|yoQ#q;KL&VHhE*VWqCBlyBcnNs-vux{~jCo)_DRR?XoIm>eV)php znkT?jQLGs{tuhU!UN)ZHKda>Cm7sKuvu5vNe5%TUl@ZF99K}{0PM**kf13ay%S(yW zflogDnDZ~bf-O~RFcNjF*u0TID4$?hp?XD}>`oek&eHHpQAh>Zy;f$&(lCl>?qoMm z)K(*D`Z%)3qJ7V17``y|hicq8-==+v2n9-6{dqNZU7Um`Mdy+2IrXfQ@H-(Ax=n4o z0%><6pZ;T&=wS1gyM}Q>@1ew_7SBz7gvx_Q$u7y@+S~f`H z1fk3jW;}}JSOhWxcqNJG(Kt#@0L7OeS{)`Cj**OeLGhB286cm5*g`0Z-|y$tF@4A?338-7%C_x02p_7%O!-J86AT#Ims3Zc zLaP>SFpfIhd)p(_)*oQVSq1!DSIv&2pn1et(w`H6I3-ck=E^mE@xVFs?(zU}qnS%C zlVXXaBmBKrt!Kl|shsohha8QUpb4nr4<|j2H^bAUD3O+m@y?PAhjUtVWZ~>`WF^zZ z=`F`VmVE9;69MuHu*;o1lOd5vx~QPnn}J7?++s#l+T z9!(d8hG?cJG9`Hh6g4SEGh|Xq%56DTmhGjcKH&~%=j8jTtgc0sJ(QLfQBshHp0Y_9 z5x0JkEgzEVxKtI%ZPbHdm}r_tPF4=3&6;uGzyTt)`xrc~Enn^4PGv$y6~o_uRse!t zZ#k6uYWecM%jn!`G7&2u&DPRTglIZ@wMO#(|+Op`2Js46G*F_*D-TtU(0RL)GqKFZM1KDl&B^zTj*3?j^CrFwOAy1IJ{7iCl zijWKo$1&NyZx^woX!5J>NSt_I!btO1i;A1lBCiBljZDw&bz{etA-Nw}fD9hzef}ksAu7 znU!=IQOav;58_v4EO&6_&k8^^p$vL9kMPw)w-C&^3)2kYu`Q%zBI&q0*VH7b z^#zt}k#Vwo$mX9PHWNifG#O$13C%gYCdQ6^K?0iSfh92orCjWO_{E~q8I+)`9IPnk z@X;f*ZCb!h7oASGPAz%)!*5xzbOWX$)3tLK4(>0bF5H0TRWTB2j{Vs~dNJ+c>-l!s zdak>F8iD)*S{IhEdGi)N|Hmzyc}5pf`)i0NljJnXN0&3X^yU}%Vbxw*cWH~BjG+iT z-reqUeB;YMYnz}M3PHpZ8r|B4$vjcxt)HvNRWpvQK>NKIklvw^cFaOyY`5S_#^Vg_ zrttB7ccb_xV4H$JWC{Vq#AF0036N%R`!f&o{*qec>}(|S&u;_~{n=wE< zvZR4fFbl~Ph@d~sC;g2}6V{-q3hOs*=JN9f@Z6-U2&oFmR1#laHuDy2WZbP!)3$XR zsw=BG+z@qH8(o_h@xV>zalzOVpuQ1`3s|#iC$~K_lRXu+jO@~kTW>mpo!j-phqSX5yx>|MI5hZ z1uwjR7x#U<7cDFAza#(=z6>ixvuv63TefEIX9tjdrD-d2$DLgAiF=FgvI0pWmelc@ z5#D|7uNbkT_%*TDM{y@>LfLuT|NKmrZYjrJJa*r;?m%?Kpz@Id~NjtWquwL(uZlf8;6e~|u)G%gvAFt%qY*^L@Mejgzi z%EWPLi0StU@{{V47A0~#FzK4pIQhgjZag?}s2V$&qJ4+9gd<1EE-L1wcb4<&tRL~E z;=J?N74+!R99;*W-^bP+TPQ4OjcF^K`?qI_MlH@exf4@wJBwID9lOdaiN|!Bm*mr| zX%iN&-pSNybBV`;?mV&J1qoWFyFAv71Mc|0I}IudO%Wp^iE2(6nnO*dTxDw}X=F&drLO5;rY0 zBwz~Gm=D8t7}!0R$8J0qzmj6@!Gpvb6Lf7;ND#kAKmB}&d!Cz1enAo2cW&dkd&Y6~c_*=N?*ZcVVY+neLV^I} z?|PPXhZ@NUm5_3`wWMdaTz2+xMROtMw07H)hGrjT?3K-VYxO1$n|@?PY=seSOUz6C z$1E`o)r$&Bb7z(%DL~9<JeQ;&`PcOnq|_ zPs}+;C?ngYX&lec-1Wb|`11c~2CjP&0Vf*e>OmcGw$`%zX9$FHkpxRxOhQUx_orAH z?7>u2B6SCtI{qv!yYMs)?AlCiLzHfvIvu z(!o^3%$bcL`c6U<-I_(jE3r5#=*}!e#9D%WKGb$z-dV8|U$6iZL1GpGG`+m!_bxXE z$YN?qLDp;(7rH-&z|`!mQ{l%7((9Q`p0L`p?41#URF)<@SC0 zFN$^1KKAsjjW1dC2A;4_{7W zH&RsVRrhWGSN9t-hax}(@4$dJ9 zBU|Ur`}(_XOiyS?K7&Zi;;;97#G%SsQVJyeK9?*embu!J2)4)9%m{@r(Zo=9_#h)j zHX)p2^1+(@Dr#Nps3A5O3T?#nc z5VOPaWLyk@x|1<3`lAZaYyp#Ae~?$^?jsN^Ko=u;!H2vhdClQR)VG}wJemGwM$?I`|oO-Ia%YGj{}u;u5LN9VC( zTZGDr?Ofe=2*X?VMOP~6J){XO`-NyY9A@>01_$=kx$^?W8O;dmRrI?dM5`8FoCY8y zvu5cIHZ0mno{~YGS7A}bA9pj3UjpfUq2dE99K|G=wCPdgmRH zcs<4L!d3@A;kZtvnoYq4H`B2GD4hvr8wnCIy~NwL#dpQsNGXllkEhe2VI?0;9ZS1XKa*dX$L9T6WNM`@GD`gcCidxt zmJoZRZSu0bgi}#!;z=S$6J$z$bm7;{BCs|v?#n-f8SE`;_t19tlXS<`VfA$hFQv5#(L=9|2qKxRP z@#g)vk-^pIPR_B+=~o4Ip@{TyQ-KbOqDgm0DmC9ve6;XMZg~D@G@mHSqHd-jSYEEF z{!RcAli)&wQfhjKoX-?RNQh)ZJrhQ?!#-#;cUC!}+|wuv$Iu7$#~ykmQOBe>Y0>z> zyY!0hqHD{1%4!u9e*ubE1nAE2MCt8Q8Pl;fN2?FHd31}Src^c7P*z?`ND8e$f`A~^3N}Op3y6q- z6$C}rS62lKuqu`n!~%#Yf=ZD^1yMj0!Kh1-4hl#w5?V-|WO}`HcD_I;k6 z{FmH3Gjo3Tp7Sf;VluPIALdAfn}9om&&!JNS;LsL1ip%s^tz!b@rF8YuGoYrJy#41 zYPJV=t9U#M>CzE%J(My zpPt6LeI}e%rxLL+$3?zNki);-hLV+TLLJ(Y=St8-8;)oiMqfD(T-%1K{Z>{Mx;P>d zV>jMLuzgR$L9komq#rtrfBt-O5;26qkk?E==%~3_8lq}B8tw%WGMz}_Cqm3PYovr1?r2F#O7V@&r zbAVvzAU&^bL~20>la{V0F1;|_RAc^7`xr=nM?=FC@p5G|6Z4+@D{0O_1QPXBV1B)7 zhHxM(WTBeWGFg(V?Sm*bZ9V^3@htaES&PwG2LW)IW1e+^4iSKuyp zupFz!h6yKn@B|O{x{APV2NUOQBX#%`JZHC4Voh>rr%Pe-`7%?6zMrD3CNEQ(8J zBoM5kLqR_I^_t-FM6q})spGJ4vaE#C@)M*x?GUx0X?6~s+)Ulvqgdi`E^O8gN6bx3 zi(%9am`pDA1iXA*d5l!gIYf1hclN%|b%UFsHL&pdXB&w*vK3`Z2_O8<_dH!VRAn7H z!RrrR!GLa~iG{lm(L{60q6Dpe{;C1zDvr?4oFt^y)zOUAg#0tOef(sW?a)ZEr3nGE z#xmr$A4By)S79VN-I8pyn6oam2 zyGki3!ZrINvO~woXqJU^>A_r*{hix67ub<3a&lVCk=PK1$l>;JvbNv7S6xB&YK~(&~A*@1>FcUL` zNsl|({N8rH-M5)RPu@XL7?@}Te3e|?u_ar}qr|(dE<6>7so1ibmbor+@?B&!)~F2n+4RMFu5DUC zmNACKDoXB2Jy5G9#O4wYD@ym#>+X(Zx6WeBtfdrgDJ7AbMMCy&!6PJuv{&Qmak^W+ z=I=>`3Z0Z_B{QGAnkzdzL^yH*G1ZE<*0k<^)peC_s8plL$ozzLQ!+4d85LAxPAuk$ z*PmzN=f`oRCqE~fqKZmZEZ;$oR{3PQ1i=xY zDB>Z}K7&$Mh}V{X%K@JeXIhHVe(+U?aNB&O+g+F=7L^_S*pF1ho8)RsVjyRyD4Ns3=%S@i2I==W``B%PGKJg6B-G47?f_ziA; z<{h>cr>Hy1qDRoBcQ1n2()CLu)zW1*@rO<1IkH(YWgcyE&*8&W3%KQ(yK!U)V?->a zOp1XXiTcqK)pTvwf({KD5i6;rUxzEvD}uCWUXOUfujIpujvD!7sRf%u^qaky;;BSU zA*EI1^_F3;JWR*SEwsMCLD1{Pp{3vs1UTxh;*;fTx#+x3v}u@yMXRFP=wajG11#Bh zl%?O7VYbMy$UsH4n_)NHPp|fu^Vsaav-`kqQk*tSPP1I@*H8u?LUT3~N$8k@Rwg|@7A7`rYSvX3lu(q-3e)o>C%DGE4X}7aM;#%B&6B_~(w}ln3m@OsV+2rL=C? zj0%5*hIJaV{*C3*nBbKUUuVXGS24W)b*^N&+HxzRWfvgasUq1y?MrU?(=+ z!y99+(VqmstmGoCy4>9+;-ZLdoX-ohXYky6yU;T05z`Y2 zA1@WM49Z0%*L$*x>7!p}$DS={rVL)X|2g_SJ&+}97L%Tur2u_WsQ7$doC${-*myz# z(rjj85iiEn1RWdL=~ZwxT|2gB-@#G}m+5qFcLV;a5D`6%BPULfoso;nluo6)h^FBH z6-QPP%st3m4-FtK$BH55#+L|k#2;t*rtPfweka?Ggs4b3G03RV4^0~s(C3D!-kS(`3gGUQ_RmLI@iPa#kpP#F47 zE!s2k*86GNv0GlLt#=< zL>^hv(;$vSgrM&@)%r>74eC&-8Q4>Fi0_UZW#92CssdI*Ru^H(v|1eo~+rrnjYt0&4)`C(W*^8V{UnzMtP0ccJzD3&z{JlHOrLtsKX>3 zT@!ZU1Q?;x=jFCbvYGP0y*RABiRq$or{v6&Eo;eueoR_^nZEz2YNAA0-bgBB)j5EkH+cVz6(S9-%ano4!~-*uw(XGD#AXl8hSM)fl~GO zUeVz)?&vmv8!o#ByETo4s~55A;5Y2vvxnAA+wjfil^iKPLC6p$W{Qyr>m(vUtfn~W zsgUk4lV(X%z5sT!d>K1FLs;>+QptJZ3zZ7U|wN`D*LejGHr= zqKY5TY*1QOLLls?OAC!RM-Sz!j9ZAt@)i40sbk5Y%P0hN$!|_I@P3(6{i$}ev=!tj z&~d7*NNNL_W17qx*`@`l2}Po44Sp;ZM@*+@AD(!tNU@|d zcGzeneVa6Q3QkuBGe%8i!_IH%`)Gf#$4F>8Ri)MR?RFiPwY`uXdyD9CZ4X|U`aFqH zlu<(;=lTn-SF5+-z$TubIe{hXKINk37G^zi6ZuX16V%Vc91#z*B-a>|2NDj@9bio2 zo@y;wCS6atV~q)^29rZJ!N?@DPd_%(7PjnvmwR7a#CIo5G<4PH$-75$pz;Xgri^7! z?;*VX=yVpZ`IsFgKhU^t1KyZFooH2sTLIHyfJ)~sL4)G<>S+HEi&uU^W`6>ss?#;;}k#HzQyrel6vZW%w61%>aEk&&vP zD4r@0xAqvw%#qW0ZqD;OF=H$lb(2&f;b0jh#9}5!+;}ftFYHE^ zIgN=QzQVI}UsnDw)`X2!GrwTYyg7_p_!8N!44!`Yd0v7M^oo`_7le1W{ zy^ubS->e|?B2^y?>&zW9hw)RNXHUs@*i$p8iumc!v^8DYU&*w&Qwb%?Y1`b&+xPXQ zZL?eOagjO;%(}o092g9O0{Qt~|MME_U)X~Fr~p)y4Bd)RtHNqt#s1x&@s~H=W97j( z7L$X7!OGx1cT#+KKcB5!LC6|Yt%jF|J+5_7D1^<9k;gBYUWD^NO)}*zQGro(W@&!Eh=6pU~??!XwC`h0d@sgF9ML3bk z#m(CD!ML|LaQpz*JGY>lM)buiaU- z@k^D|_vv~gb4Ia1zv)vkf`Zv;Sk{>lB#7_)$2@{K--+prjqq9+Pjv}PgC&e_PW5)*0mR8r$s?&y6x zgKoKp{`cL=PT5p|SXu-;AZtUEfc~8$_`IbUOuIq5t`8+>w0)Lx1o|N1~BKT8Eh)r!&mE;v2^W1 zzTLNvP%KKOGssOB&S0%4e{`~5X~d1N%)g~#0q$?5PxFRWl}TmQx4$&kpLty zG)eHO(dbvrDA9~d78^RcNh}Ec*bPNQVqdc8n-#pe@H@UQ3aB*C=FGrgc0eMCCdSR! z@kh$&*z9~(P5FxHU(RLNn8BpwWfM1>2)RAv<>v9m=xN;l)L$r%yD=EW>&r+W=H;x6 zCTyPh4c~pgkuJlpr*X4pd^T<#E$g@B(dlD&@x94pXQeB54>=^ou`i;mG$9k=J|Al$v=QiQ7$zyqS;mc@QW=w+aP!4Qy z;_)ah(ZfLFL`4Y}s~C@l$*%+bdp4(k*K28*el?MJfii?v2Ww4jlmsXz=~+KoeEkBn zTsz{1D$D-ZKcF@b(66phI`Wc+$^DUpxyXRuWI2Xz+REXh>-pr1%`8~EjUC0J)#<=) zwPVnnMCFMH8Mve8?ey*0S9!>Uq&H+tu<(n;EGS%zGd)F#c#D^COfwP{ag1mxn`W=3 zQBEFrK7Bu5Zd!>uRKmF}n)AW9f6yqU5i{4$W!&4(QCfBqqs66A+LEgX{m2`N;xg-; zT`$H>m$szu<(+9erm@PxN=e{|{j2nl z1XUNoYOF@%drp*WWyOXKEMET|n-5e`<}(sEJ5;I{^+=U%rGEX!SZrpF6&)rJ@Zw5y z3dOHxb|;NO=`6$;`q-^3jzgzYa|gXH>Oj|vI?y1eBP3c9iJXO=aDgeLS_;zsRvwu@P7Z6&jy&CM zd`1Hx100ndNq!^ZrAn+QIW4k^Of$lM^kXqqV$ycw4(wv*-tBy|bqoL8c9LDkV^js= zh+=RwAwo$OtTrbWv)E(Fxg$tsk?<4a^5#yr^fep#ncRYs_T|aL$f&GOl6(Rw-2|*E%DhJ1h^{a?aWrEHv-vQ@kKpzm zWABlzY(KD@ZTm_&SQO-FS&*_|5U=2o#0RFva$I`y!XFa`Cf*PRA!Asqs?9CxkE#VD zFmh{@9H)tbOdDs{v(ftOMzqO4mzHO>AkEbfjLit?b(JQPQMaoMMi?_PWHA}MHFEeh z3C3?k8)~<}r@QJ5KLG-9m%U#A77~C+vQwF`C_z+#c}USFS(KWiDrG|9=lapK63oVG zz(*`nj@x~dl8S>Ib06bC@nOm;+*DPA+iRdI5W^o6Qnsj(ishg|wTDw2Mp9fxvePsg zWTcQ^ry+S+jmgSwL{>%}Y{ndj=MmR)2qn_c6E)mAAGOoMX66BM|b*PU(+ z|4)BEqXCdZS0+E|gUh(mAjE4CYqcjamxiPXsM@CFX^`uLbD(e;vct;&L&R9Um`vqp zT9TM20yl<;A3g3P821y2d5K2?;_R*g^zPg<_%Y8av^K*3Kv z+~oTv*X|VWt%h@~w#nr0Rf_uKOMdzL^wrudY;CXk4+WsMZ(p11lKFOWsZRy=m)wY& zxT=gr0mIZUezYN~d6Qp;qc-pS|8dQKK>$uI!>It&+|7Tu75qF1U00000RjSomy#4!{!b_TuRwwPcUq9S-u|bMUBon9R4rX>%zzX{#fe0m%#2*@orLsz zsQv>{{}&W;b+NE_`ae|F-rmNUNJs*A&YcMeNM=t;R7lkW_{ta32Ym$RcJ}I~asqIk zke2`wk{2Kf23Ep}EA|&g_qnfJ@=?1(UuikIh=fG9QTLt(N}91yMiMGP7&`Dt{z3{s zUY@^`%h~KL3>g@Z^?LLPEcJ3__owgI=Q}%42ukU-;v4DF9C4pu2WJPgCU=2vU=#cQ z>(WX&P;!F`oM;auCM4*1X!gY?2n9576m1+2^AlKBl08ui1bj~-MoOj#Bp5*WR|Dw8 zFZGG_9rG*lv76dTBLJBK6+@=y6xhs_dot@1Huf1kt&F?5aKVP9s|F)|=*Edl%tb5f z#njYF{h(A4va%wsGxaEnbvu!>LG3! z{ftusfMmprfsX(bxu;k_6c6^#53KV9f+^xqjCjPq7h7y@Umg)`G!8265+9|uh^*2Y z@<{_sHX*I2V;`K1C=Z1yMNOlro8`=KWWz?U6VzZ-I$oks->;Eh$T1I?IL|N8>K4H& zHeb0`o$90pPB?fb;E+N`ZxkyO|lK^j`QA8<2O$g+o6a*VE8{<&?F-6DS!ME8(GyfVlwB5m`IAwRB|C> zVlGOJ(C}96*IflgcZBxSB&qyvUx*lzw%CA4*ua3VTn&-1po)5U+#b%kN}WmiH2>Ir zQ8QkrZC_t{23H>-`Y+=P`+*EKSt4HLzV7+VHei$1QrrGD zOw9{0eGtC#@ly2gz(=GY{egDZ5Nkw}g^TMIpn53|RPi4Nd`+D1SU)bUVwCaWe-3mb z%EKplfnEd#G6y9-f3G&b?rL*}fF2QNGmBb9FVp4PW({7)W8&nwc%mENb4oB-E7&z%yMb z8b%%v-!E(AY`4FSi^J|4x8MtSI($?_*tK+I)EkcO{D~#wZF$3YW9~(-0{vYrI$VG=uA;tP$sHq-e<2mexacz0Uyqz4BBJ41w&VT+z{Zb0T6Lr;161_0swV zZU2N{Z*1B!-q|mT1?w4VJvv*4yBy?9po05-QD_hj7u%R$k%MHuyMX}^t-#p zDf@+G7!5m5Xu9)bF#x6%n*n|kTC$=eEl&mfcpto^f5oTEP=>?syzemZb(i&9%(;@R z3NB@CSeD?BMigcdAjuF+=_wrHpObkvUOi+`vh_!0Qd$O)ke~Ou@|-1e8oqZc0Ho*z z%Su@GE1)1F9pTH}{JipB!2j)e9dlItIT2X!uwOu$`0IcMxe!8Uiq*THTh) zz4;ALJ4rFOQ3b|y?%D0->+05TiPj5D;opOh{z>PdHx2ci-B-8GdW9?9#=E|7gMNFG zsd@hlyRTv(R8dQ$5M`C4jv2!AOq>SP4x?>aoKWeO4b3UNArDleA~5?^llyi5lyhkW z^m6`OCP$Cu;9u^$jmV4b*U_1oYI=Zb-UJY2Z~~e{yIJ9pIS&Ll&eKOxPY~g1ji=u# zoddvFQnqj&sc+LylLUv;0O$HCVBe+x2;B^T`amW!06JO7PGDuTr9l1#kSw z)OAH*8w)J-phopiu_6tp&2C0=vNH>9^{wwWL$A;xn5MhQCxD_$q3I)kDM|gSov3xh z^7nQf6MNigf3n~wZix^KD~bzDwHR(6N{)t$OR&>7ZOSgNWj!8MI42p$QyEQk z;Xb9v&vKnjs=tt##V`N;VgFq=>K3u-VI>jT_tI*_n9Hf^pVt;vRFMt*(-n-C&oDlv z^Ri)1tL|5+NDYmL1OX0d@QN+S3?juQ;q_TA>+Aj1roeg8bi$)ipLdr8!m{Wwup@NC zAd``yTxH1|x6x9vTH{}|R=^m>FY?gVuwu9~oTDkuPhw{gS+||~B6mA~6I_H6pORMVTMzZiIYWalgy$xZ7ZW zQBOMu$G>{;4V+BXxa*sKQRt4zL_m~0#NoR(Dc$VnB->vP$v1}7U}sA}FaHSnsiAEn zesylo)yvw+ds)L^U~l{NbmtD?9K4P?&_caMRDg)lFJQ7-vp$>qmmWd|&yuG=xRoE0 zqMzM(DQT|BP0Z@cd;}f^>%*$rN8(={P?&b~JHzbraUEm)8hSkZ?fpuHmIp>VvL3g` zS>qzyvC9N_RRKl6ropN)#|GGC;1^oCAtn`O@b@ol^!w>rYe^mWK{R8UdsG|_!0MPj zK8EA~6Ee~Z?&V?Y>2CX=-;ayOGd5qCkAa)O_*PUq%UyN$CM_iKDgLA?IVBAq#<{3 zrb9U>RV&|#vvRjjrpa50ekyY_ySVMHKj8^&omXz=uzuyy&RlvNNunqo*;Av5$F%RR zaNd`wLKc^4wV$uIzgLfDPxy+4!v?wYfP>hNd%~PucHhefJ_Wj`B-(%dT!xwr!|ZW2 zJ&!BBdyaVhKHJlIeZ-jJzPLjId#ZeIOVsP$?o3yg+38RTE*pyTfV-tiq)U-;=Kv#O z-(*@~5#Jia;Kbsnxb&|UpCwdh3BpOeq2vcLcq9b2oDw2w5{D3=&P`G_=IMHC>#c29 zsY(7x>bJSTc>E>wU-j(Y+oLUh95ywi%YFBRo1T!!5y^|%6!SfWzt{8 z)Yh4h0Md5i+ODgJ08==ruZKgO0wAtD<^7d_`^S|x;{m_dR?H+ku9_dG^+!Y-%@&rk z0n!ENZ%~tceDo$BL@fQ^PpilNS$?F7RR#iH@SwKUXpj{CTLj-{8@<0bMa2qFKBk5) zzy8-BY~458g9nWH)r^}eE+L%>X8oB5N+3hfojkIQh?bXe)zQf_f7zvL39DmOz}_W1 zDubxOECc6i_y>q_pse<9z&o{yfMf1%?l$Jl|6FPD(VkzD&e6RTr?#_RU(Vx0z|BpI z-$x_VkENYmLlV5ERuXl%@du-F0pG(JBd>}!v{pINGut?7y&MzPu`fdpxE9fjO?T4B zsbPd$?o}>JOR)b}ejxmf6_XuK!F-FFd>rFc^>kCM9Mok+&DZ_7KnxA9L1ROJj**na zLMPm{qbhE3(bg_PDfGX;%6Tx_9^p!?+GBI#?iBh}^MGPm>Gd1rtXm)C_}|_u zV&(%~d`usC{>W;}&u~)cpEOXGoMJVFxnr?cJ(2=H5CKEM5v9VAtqf6B0h+yDMzOhj z<6@IO<=~(m;ni203!Ua}nE8bC7!WNo2Sft$3|_PTUX%pr<)Br12$Q|Ukzj-CA}!#x z)dl3^aI!R6Tbv&>jdEjOCCUpyMEDMC(y%DAE~+es!(p?SFUTBnz!u8!7M{QNN_=~8 zn7MD9w`3K41{-f?BqaWumBJF9al5?eF$Dy`qKxXEVYK&I+FAMi_KqNg^N zSPsd9Ax09EfM2{1ORUg+(U^TlFa#HU5BYO9)+#8T=?6MWjZ_K>lJX$R)^hz_Na4_g zmR~vr;b#{J4n}a1;*IZ@lb3I+n|XvAPFUJE?!Gf??r?~q1zKzCPSIovg5xQFt?&%@ z*G=oCWacWn<}JHHGZaOI{-%gPDpTkPO9gAMEW!2yj`hMK6{$enxW$~d%Rzf zPJxUFj^|Rqho@-yr|Kl#SpctU`%|<0{Cfz(*gs^fhe=bi4Tu=R2slw~MI8b{xvNS% zqrldIqm_tqm=U8pfO(7H$|=8Ixs}^YFMqx+xCpf^hi9IT>A$ipupAfGau!hbxzDW< zoa`jJjd%@{TAElr(+J9Ux!bxdjTOMq^!M2X1EuD;_TOY?4zHu}Tpk}x=;8esA!2+) z2Y~`v?}zDjKs<}v6~hbzC%d>Oxb7m0Q?^Su8Jv>%?ETF7w^LMRGFM{XbgBf%-1U0b zclJv4<;6vXI(mGtN}O9`k8G*h$jC@(nz#GoMXr`>&uop3}Ad2W-pzzL2L@1TCQJq7n|V2kfHphd~2n6@-~= zzVHq%q^s>Fv#B_IeSZEm(@2YE$@*I41uVT1T;&Pm}dGH80c=$?}|0_Wc(Zx%8U)$NruoPmGbY8HguhGlHRIQZa*ibe$M$H{uVQ z^O?ekgaP3f73j!n2gf{qazp+@{6YPkD?XLi;30=(h@aN)$r4x&VO z-H+e^0WhWD@Ewi+oM3MAY@`hxIjNLz;Ho2pSP%-n&3(XR!hl1XStF20-hpL0ad)SV zO90TI#XriCsbiw14#93*(L=~{hyqJfI?hw zL+Hk*YfJ-02aJN~%;&|VMJ#hD66wrCpleW&K4x3|2G=K|LgBPr_(c~=eRSMB*?f< zA@)MKzvF^b^GK44$LycxNL&LQ1DBw$WNG{!c^YIrvoKw z%XCbOKu2cztBB0y*wE2tIwye$z_4S_urK7C5#V~@Bjo&>^X%-!x8RoZws)ac$30V4 zUaw9QY+}CSWc?d?VH^bId4)YqHhLr{Gx2`pEdTe*+Rw$~>@W)C;?SY94CF7*g)t$= z)Wq47|Kpg70sfgvkvtg7RaJA_ z&_UK0OEAOwRKA^vw|h1a=^wnr2y_2;?69EZBZvsvB%cQN*PDl?Cft?{s04FBW)n}h zMt`i;>1Q~?um;k;R5n%8G@+v&7?f>mnk(cQ0wMcXvsr$k%~&g3SiqZs-$uh-Z79Pm zd1Fq>IM{l-L4GVQ$3lsN7rCi)snyj#M^H#OpW_2)^>R5W?@fQMD z!MlMFLsu+D%$|h)zdD%jB^nb7&k5x_dgCcP&!PFc&nM}m;&FE`FKJ!eU|+%k8q8R@ z8{K!ydDrOW2KNLD7vUsP(H~%L7Xdr)j**9+#$&Ieb0}({p8cO+crCEm zq<@K7x8$TFYU6a28y1a`j3WA#QuS5dk49THHS2U5#rL1iSs6&O?BFA?>(#BDADwDB zs>{pIR)XZo5+U+%<`DV6?mEx%Z`P_6{EVm_`eT}K*UMP46-rQ&#z7fLqsojjx|WVJ z%FoK@*p{CR8M=X3^bNzi=TqyI~os(;C_Ix6b%~ZjmY4DY#wiBmqoqgCtnvfA&w$VYWc>+KvD>pdJ3hDnf5e0 z&bdk+r38ut7aAHEfrBG|@5_2J_~E^ZVu94ueX5Vp*ixLG+-IwhdieVi4_Bf88xTel zVyN4euH)g`dr{$mUgg#`vK_8r!WAJvJ1;zV#e}?Hc|MS|2>*;@2KQmJp-}|!X5GIP zcnBq}#ahEf2smt!aW`Da#KL3x2uZA5GCw0`GsXYPcVZwDYBhi~Akxgx0d*v@+8&70 zI}Oxv8%~>o~RMj<|QxRk9j`-5S_!uMyGCV;;s?5 z5dAg!Jx4*oW}L5E4~by)wjPG?4QS2XB-C|6JS;RsmNmDQ$Nyr$mZ_IH$l@`-dC7NA zNl({18A~SAafa_O$S#{(iz{cAIZ>DRlL-Jmhy|n63vnqxc*?2y|L-44@ zFkz*pGwPhT`bSZkxX@s8-ai<2 zg<%?4LL}7WbJzAWL{|fEbommxmmRvE&Nyy9ozr^vk3}Y0Nfxh3KT-J>*e&>e{>?vL zv-jWp7dasVvxb%#FD~0Cqoe5|sR`k)&$&5I8)f8}mu?>$wdsV@9S-c}%qCynlq2u8#6J1a7QCjR5&}^rkZZXseb(ZT3RThL-pKdsQDJ@lL=0vDfM&WI zGZRf`gT>s;}1@fQ|eGWJljp2QOM zD%L=lW0DH}Vt;;qP`B7Lw^c~l(qNj~nFXT~o;oZIBzd#0@RMi7SF3!;XSU0J7#5n| zM*pFVrIFY792arWnaG45LFq`0(eNNy%97By3SjgV9R~V$`OG#HAinA`td4ImA(N?v0I=klP$q`> z%x2O43rvNn7nqG5(^6R2(7?pQ^ZE7u$WP!@F+VyiIy&~MMq}SrJ!sdiQq)7dS$Ll= zT?n z=hl}pO15)?a8X=>pBWj2a0w=xhp)7)q!wJsdIIXw)Zdo`B2S=UPB7Y;<7wnJ4Dz;m z3b!8qroG9Fg*6d{DV%yd7%|YWm<$d@$_v&l?oIQUsMW((mP26#Q}3`l(GadKC@>t2 z!OqOgOveBV;E9H6nE(2EoV#4B&*!k+d^nkE)xJ*U2l0$o4%l7=-8-j;Xll5#pzdSX zx^N%Llim|CTi4*m<8BWdj{06g0Onu}r3i?Y0Q$S+PL~S553*f%de( ziLl~>07u`9tC_vt670QRoL74BoNTN2+}rz7<}Q(!)-v*Uc4LSz4jza+M=KwoEjlK@dskWkA@>r8O3CHnZifo$}|3vEx2D=0s%eVuQ!^^@qf}`aD{cc z91cq?LsXW>`X7Fh<09*aAF^j*8WY~*tX@yxn?dTBb{TTu^|xir!KjRJ<6(f!pxw=9 zedg?D3sq&Bw)4jO-#f$R?fzaSRyEO}NJvNN1qjUu<;#BOKty3^fGZr4+jd^3_+|q& zbJ>D~va!eoG>Nd6jwQFOvd91QN581mTRK@1kMIPD;m!b&gS^0I+DGuAl(-GMMNd-C z?W@*}<@?$^e#8c!Z4(~j=P4y~+mFezG64xLw(=qv=mm(c5s;;2&k6kYR8;(1jLtA4 z%MeqfPF4ySu^TR}6?{vi*J&doCpXGq^puQ=Gb`BpFFR!S*3pJbGIn+h>I-=6m=iJ7 zV@bd0U6|6}es-~qwEOeQ5Cb$KFF96toXdNgl=Ol|t|8$RDdGip%lY$OZr+*m=amt> zV&BG3OvDaNMdbs$(MCmd_dAnnLOP7rhKYC++31 z=fFA#67yC{x@g-MbodkMs_NkQ&x8*gp#Y1uhPs36Q_1keSXFYiQ8AT1OPHCbWFrSK zp#FR7+3PzBowjaXz!*F_m#_3UAmktRZB6TDy$_7Y{rBsh0YXMLQ2?~>Cj}w5U@OjG z){^=inp+saW)Ll9Q{o!+9J{g9i~a;;c$?%Zq~n>_Egs117Jm;Egn@(ObdT`&^ZDHw z@Kbcz;rVz9Uf*A7c%nJCr5m@k-zI7cG93u255-%6hqRY&3W=pI{sgq}r$l!el`_Q3 z;cNe!2jL+mMSARjDaw;cG42?IEEb0iOkvK)?OZ}e0ujGZ=|jTXoqNdv1<-&xG+%-> zH+aeR^z(69FP<#)z!2cEnbj{2Fp`|hME!h;f*;rxX#QzExm;YOFyqj{Q+9=mgy;Kw zxo+03U0>_>s38IHgxIyQxm{yB9Rs;J0i>>;PUJ;OQSYIIG4@ak<8V-a){Ca!;oNj1 zbCccUrN+@N@HD}|VHGL|zYnR04H4jQSl(7VAJcqW;8?>jLEmz9+W9`W;Z{`w!v_*? z>>a#Qr`tRu7b9yzzyL;Jf|CLuN@l-2?+E&->(BrFZ>iPN29GQ>4t8=H(F)P3fjBE<8X1lr+cW;>gN-3ZaXjbqmKWz)-!D+x|Qc-cZ!*pJoJpo#0s!68TjZWC9;zaO8Vmu@G%?ZdrB?Y?zu5t~c@@zL&7h9PLmw25kQ;;qf7MbF1D>piG5y7V0wI~fYtNiM4zS=$ z(-QCj;~$dxKW6^kWPY0={8K-lTS@GdMFJpB&d#W)s5{L_$;`aP)Rjw*g4C~UKs`An zBAh_73i7X4NFZNmQ;0VFYJ1x?pRs2i!7>JxsyBR@OCYga7v@sDf#6|`mGnF5?ks>k z!Np{#w`aH){^=}T(ek5Le0hMVZ#PW9s`HiIl#&gqAx$QTh_Z@Gr{fxN(+CW4tzWZ5 zh4_h>HG0Z`^9#nT7WqGEda_Jf1OyOs8`W@vzkHI}Ep7E&cC>~`P3qQiN#cMnfJYsf>m_K#?@ra$W9{* zY;oW7vURTTU$EL~Kz}e5-V#B?MPhd~ZIQH2XRRZM`A`_pxINlPn$JU}NO@KBM#RLZ zD=Wc0!MSs1&s`$vmq3P^-;7XMl8Vu(j`wpTN*V2+U6TI>o^n&YJN=lk)Vv@WFrSMf~et>-gh14%l@$vCdadENmWaZCs=hD^W zY3b<5*sXyzr#X5cR87rK^O3_R3S}oIJ<#J)6I?p#s6LL@87ATqOj^l;g-=g*(TmpD z``I3EmE)7vk0k0u+^s;j$jY%+B_*g;oUT%!G`jE(M^OdA_&c!&$DCeOmHLV)V*n6W?T%be>jau5o!BoxEeqr=0$HnJueGTEl08ej>FX)Pw; zThpUu5V>`MsKY7~NERGfQ83YW<^6nWC5d|Zj$_zluUcbTJYEPw=J>YPl10u#&w5oGI(iCUID-RB z8Tt6;oh$P9pF$DdcIs@BrS|@=kq#)R?fg5&Gn{P>_FvCiV4i<10!QXUJfw;;g5U@; zQ&Xe= zrn3u*Zcp{luk|hWKrv18%k|QyECp+3ij)FW2pH51{31_K5V$*izw3&ci^jK}o~xeg zjw}78HUVv21Vfhq2a+n7l3*f5Z^^4^l5APJ&hO(+_PkPxq7T6wDKdro&G!4O`>f}j zdlu`-O*Lg{#yKntU7(%)p{=r4dzmF^`aen)sW(g2>iXZmE0B6@5nz$dQb2?j6V7I%y+n6^Z)qtx zJ-yrn=+(u==I2O}WpR{pEEq94PmpMGoAGJT@B8bNKTQG`o&))8`}-h6cx>t2h2|)_ zdr#L*^xEB>8?GQoB9>N~?Q*hYT8W61Gw&R5^cNprgpS0>oYy6hB!~(EKtgP&? z$0v%*6Cjigf&qiK;1Z0_;{*DG#l6DTu4@AGbu3HM%18n^yX`oQmv_xKs_mo8v4sq@>T1Sg0HsBCDJ~JanKoR?d{? znD<}HY1(|6X zZr!tB3DsbuP|7r4i$Hi_`Zo{bs zL__rW-czP71Z-`h{yU$E5gv<35h?GxZkl{&oh0x&Z!XQZg>`oNs3H4$tTealdp}J{ zL6f?cm1_U1FXk$a5=unPB|rGz(4l)5cXt$m{BF#fHSlF8%rSQG7OE|Iey2oqWH?>$HSj z=F3f!tpdYO5i?elcyIwaW8d3h5HYDbqduT*AfQlQp#x47x-%w8RUDT z!U^>jc4VSLegF&T&^9o@!~%O)W30>}@&s^BB?dl=6^X)amnra3m_5dnfsA)mIkc3< z>wPkfi}6vclo)T+a%0+845VzuPVU$&?VCA+B?sS{$4h^$7)ywgnk!=dv%TLV zpsS$;pbAEl%!4rrib88a*P2zE+qt{Lt#;=Wm3OOU;!XJjgxI>M;z9#Y^ik+#X7gu) za)w7MJT7Kf>Rdv?6Y70^wrZ)@;ngJ-<4Gpw6gzR)I7eG%L`(_1jeDrB)AFYN#^)Z? z-#y*unBgCNnh+|(M$-j8v_L?#6`o1z-OR3+0ZCekVh{v%6d7fsNVM*_T-xyvO^kgs z53Rp5XfZ1uEQTsttW$eHdY~IdWdT`b)MM>`52XL_ z;fyKu;@`8N;%v{i%=fcjb zvwD=%9gNe?_K$_FQQn9tvq0~>|Lt>GR$AM)>kbi)S+Fv2)TnWdE~~@@vxv=1+GaqV z?{ov2tTHtm)dUMH3hBNo+w6rZnVf?YGTh){30WJssKSP5>#D={53hEtxZ?-B)#gdd zuA}A2l>z#ZFba@y4kotrc0XSPP6_V8&JIC4ABLPHWuiWm`|&`7752a)=+(J=>w!f5 zf{{zriFm^n?98licR9_(h-D1FAKCF|1QJxYob%8~a3h#nLiPedL|dy{8BZo;oeJfK zX$vL5#V~HeH0dxm{@c#WHRkV!FbO+5dpz$~hLTL3_lbIYv4$=f93FjTTUp?00(ZQc zU?SjM=|rW0g4tQr=sc1}mmP;*Zpm;W?_;MWTB1ya1DE)o7{mKwhCTQ1@LQqhQuyg3 z+V4k{96P;UsMahqXfN6KkRMhST*OfzoJo+dm_&KTf=`vDU6M~42eJ2jU)`x_Ri+I* z@Eq4+$>AQP?dW(D9KI0Q^YSA6PQ1YDjfVXWc~q_(y`y~=e|3+|U5EhRXFG0rY8FE_ z_t$-U`}IzDB~d@#@ku0QUc^}OJ(%0kkj&5L6MIYv6lxUMnR)m8EJlhdiRMAYng3ffjk&8*JoML;)b3(FR>xJb3ON3x=Vr~-LwS46zX|t@ED^fMqUpm4)!6Y! z=KefoHm*InsDRy&&ND4@_)aa-=V9>wGAb}#lT#6$Jp-VEM3f}3i5VO_XjR(*7-`?W zx{+v1Qbo!n>vnbj-r`2OIkVNfCc-khB4vA^Kl)%T4MSsq$aCYf7)P*pAh*P*-ycWvb?OTb(Y!sW6Rt#PLd7fdaLJ@|gtWbp9O+ z+{7&3D0;@va?>^v_O0qh4pV7Iz8O)i`w}IjyO@(BvdG2~7}qN#2gT=xDDeZUp@GUa@G5z*{<8rG<*pu=GE->slvL&7C$`Ljt($=>w|u zb?fUn<327gKp^BXdGq$d(9dkSX{SF&gRY>_e#vGMIoHs_Mw0q)q=`Zfud9#$dtfdfoQEdff(@ z$cL-ZJBmPkW80d$5A31JHXQ2Q+K-{M zaKnuTdaR$**264Fwx|1;l-GR}&*5Wqd{3j@O-4}kC_2sVV&4al$fA67<;WUp>_5Fq zE4*vti!E`l@H^Kk8)Q zSK(ViPU^PHmEA<;bTTF=3W<8(tL2~)XC_Om(gG=MVl2}iqXQH9JrP_R>v=w($vdp0 zXq6{p6VIDjzJK}PYsmrF7@(vY#xPq|U9WFTW7dhk$Cpp{K6@!Hc(fC8q~!7`f|Vd! zNmfBr<1Q!}i!Ue=z2*)y~VxV<>ibtlsDUJZ&!zM?RqStmNN6Z=ytEp7|VCHh2fv^Jt?d zrdY}!Mo)ns@KVav`QGRKdpm9uhQJcZ@T|(R^2uRFP|Js5L<0w%&-J%A7BC9={H&~F zm)6&kYvpK}OMLo6(;In4pe!f3)g=ps_AYl&=*)hu`WQw8=IcYeoJF2d8kRNj3Z0 zO^qy*YP?ej8;JUf6&fjmCt{dkm3sfi%BtYBkpCKt{#oV`4gF{L2b@8+u$A1S@ptpQ zhO$3zMhJL@u&@7a%h+1NF!#9j5|hsIxGayKGI46<^YFv9(G8tsQF50ENnEm$&<dFr=bAR4if0joVY?ZtA73 zzDJpq^Tyf=Y$m-|vVBXbvqtT*QsLhx_$ax12kvkQ3|{&*V)A(EB&%1bfJ*vC_BPP* zmGVUBK61wH=F)t5%~d(Vg4IMuSWHzlRE`**vQifNNpIG(`N5;5eLrn&ccQ*WQn;7Z zF@3H_YOB+b&CsFUqexfyI*OE~qA&SUE~aFZjABBafmSoU^o>lc-!60Uv93rG>#L&D z++qnVt$t_Q6~G*1h}ajm;9BQOH6oB23v>wOIZv{89-YF!OVBEh6#WC^^pn}iR(RSC zhm$}JKBJZKc)0J9InDl6gFL~sw|?Mm3P*}U3RQV9q#d}a!L{7jK2NxlbR|coS(NMK zQ_!;ON?f+p+KqS5%0`R8*769*sFLtz4bps%?O?Fxumu)3vmW`P{4&C{=#(QSa+IP8!OquRnSATc- zE$vF8N)c>kbrc~=4QeC;SDe_JoLW;|pe=j}U7TSwfeC&2E{{~>xV5AMu3drYa(F$% zCW=cf5-Fma<+$urtWq3RuY=6G=_|Qiy-9?ijLk`M>PU}|V3DlzYNe{H?>(Dy$MzY? zT=VHRs8mB+xkjRObtUEJ#!VgLQp#DXl5=za{ z>1eD!U-W`yTtS3hR~;izCL*Mw%9*0fJ?SM7;a7TnE5YN3hC-$Lyg*3sOT*)FO}D;(r~M3@)m5NLG?k1|eCgaswWCuwX-L z{RJ{z!-@8gH5^F4KnhMC+&L53k?}#;O|8iQ-Aw7^T&17*^hTRp!g1>1h0X>uH3oWn z^UA-Yl)qr3a5DG1{2!cFt;8f@-JF@5tm~?@jE7(}(_m9oMoGNcCJyf6B2Jj-$X{PV zY1_OzH?s~%$>FF2>QUI(2A);Y!-NFvh?i^7bl=lVfV}t}RsQ?yi&*dBQN=K=o$ca- zQZmn&ev-8u%8inM$|TU)BW{4i`sO13d_@bDI?00c0y;x`YDj8qXs5+?N@iB>K*wCt zL5t=mmPr*%F7Lrd!bxxFb93FSF#f26Dhy1V+v6!k83Pq3NrBJAdW8VGU1K#E<7b8)zj8w4;Lg5mC1Jt_*Kn`-_X`v|I4%=qGqq(cjxc%OVq1abXdDP3H3XL+&+75g<#;)0qiQ z1pmvxu!X#$QX_S4?u#H6>j+Uc@n#a*Q#GN3yyf!Uz%hKF@nTEymxxnoc4CTX&rNhqm8YZZDzAr#cHl{6SLD;Ebx zEk!Bo>CZ3y7h}_|E+O2TeHD!fhBa@3A-K7Tc7+ZE_zHN_&|=J7N~WNZNg(0bg79%< zBW7t1Wpbrb4n0|APO_CeJXSNay7AIOtzCUSr7)c2Nmj%YES2KZl2r@LoQ#qc8n~m8 zE?Nf_AJ1E;m7{IM41Bd-cH3%JWS3{WLriF*;=R+iSlq56M}6qSvo}uhp4QDtbFz~N zwsdtXxDaAPmt6V1n*jxa6aYM9*KyeLRy0)Cq@`NKs_d&vwkKb}n$bqd+nvM?z)00dhm*lpc_*$$v#a z)F^E4mH=AC)QM(N?9|lss)|Vx(p9gQqo7AM=L5p^{! zJyBy;ptb-EcPfGrxUB!?6|ZLZ{QBhQS?U$uuM1M(HZ;!7x%oi%O!Y>Qj$u{mdF&Uy zXM&lykrX!8uq9>;-bIy7*bya(bWjIfF(wQ(2Go*Juw#>Rc_RHDk1Uj(FPHwF-Le2& zw}b0NzZ@YEJ|ZFr{S<+2VXU9{jHkmcQ;XpfqpVTr#cRo+ngUZI0@WXtJlO{TcV~xK z`t=M>1Ao`xw(G3}D5Bf3bGCp?qbR@jV;+mHs1rwe& zU67XoF_7<|ET>HV@}#D#TIR@N@g6`Aoty0`wLH&K>O5&ni}657g(4FREh9@{yheiU zpjokNBTYk+YoKoETcokoL{XNsadB>B??SR7B-VUJjMhP2JA#rRle0&XD@Eb$RyzpI zKH)f`Mzxtr@1k|rZZ29IgrQL}^b*h0WkL+1j0Iv%QceF6vDYk%yA zhtD2RWZVmhOyQO*#C?|`?}6^&+v+6e3pw3kuL-!t50eBF z@B+)To~n)rwhk)V!j^{r8$|w@HKNgjI(oh{4)0$vyC264I8ByaowluI$6&An4l!xb zhELP$^Sa}3sW~G&oqr0L1uMf)+S@fqkAsfB$~EX+@yc8215mjZPFwu9 zI1-H-ni}tgN#USPtDYxkYh_GkON7SykCaS1qBuSOBpC<&8uRYd!Zi$={8;88Bu_P1 zp8OSs+ik(rB5^=vrJ;%x(nA_1DZfsuzhAw4sl%*M@C7cE+!47gXe6^&McT`8a+VTk zvjHvB%#DUC<4_6Z62X6pAihCB$Bbmc{SVzZ(}q|3ay)m+C$ozew)nU|)N;*#UXsOsb<@DE^hg!X#oAite`^ub zVNuWlL-EleV%}Z8{a+Wipy=c=EFA3dNDD>LgM_zs9ysLWD3s&#%^<4J{sy`f!KM<6 z#Lvep*S1+hW&0vQiO@rv(6QJ_Rrx!zf=dwITQ> zp&~f^>=jZ-$xx=g-?`n*%;=?wbyum* zx4jHm(qb)16;!lj4QD9paJ)R>dpm^`T)GhnL~$KN1xsQmctDB! zxk21QhH!5NN&15*cf=TXpmFv+2z*jWm@ZHb($a0;FS&A+=Wbaf@ubPpouUT%{101> zZiE{>6$Sj`qII+czvCG)vSeKIT%oVv!}6@T)M3wwWbS4-hOWMz3w)0PevW#N?m&@p zS&?vR+d9#H4J1NET-roYkN34aH=ntUOggC%uzffG`m`;lZZtKPL!G6v^N{{0+6yK0 z>7*#)$v8N6Y*#Wd%;h9e6I1DXBJoKU)1bn@qyi8+dtxN;96i_%1jrKvzf`+>jis6) z@n^6V8Z;v@ z!bBuvLZq9tdhqTRkqFU-Y1y;CmdN4w2v7an^>WZ7DW$bXQsUR zZ9_4OdKd^u@q(VjlCaDuoks4Nc~EX8RDzdCBs6-tNJ7LJlG3ZSa%AqhQY+S?XMa~WmUqgOx>oY}UV9;q%A6Z9&ynsF{i zt3D8l^~4gzDHaPMDd81#AWM^|Iha8wpRO=8N$J!Ct{{vfpD`vS*Q%>lo9bd@VxTSa zkQ~*a4X-}b&!;V(vjY8zH6Q`ZUBQ4D5O||U;6%bU$DpD z8QIhmxS=plZeNDfql3^kg*j^qpm2dBLb8$eJEF8` zp|tl_%)hOCB8fUnpREP!rL!kt$55KV^4^REU$pFd;@gi_wd`LI2o-A#SGNZ*aOzV~ zbVP3MD#41ymwfKG7y;r_@^P&kaFLj_6tOGS6pyitfg~j<7LHldO|D#fR;szDCD00x zUt|R!Rse(%K|MjOawl*>q{u|VhH42B5ER>($QD(@dR=P|6Sb<0w+uKRTz;3<)ZdZF zpGfBr!;lRj@p0+JV>|`Bx|?3!v3AM6b-!|@T5qW4s`9=-xe_mX{oxlo+Lw(88&@^+r*|DakaKM zlJ)HP%!fwLUAS}Y3%ge@3v{mN394(Uu{v|>+F)2~G-wTylt8gwiN@s_5`v8XiVEBf zZPAT8Te<_Na5gW~%Av;U5^A@G##>47lNJ+HlEFpP54tuXuBW+0S)HBQS{5h4`J0el za#i{GS>C}kPMoeI_fw#Ah+*=S?L(81;g4CRy?yA^+sdbW+gkm0)i<9t>{u4?Nka&7 zNN9dX=isodOpoPjH90EEfo2H+I1~tp%5{<1shOJ(w03p}8oQ#Ib^sStoCJ(1Bw4(g z57#7OUl5_Lz3i4)qDer_M`?hk?!uXwLuclfXBq6ukl}NWS%}Udh8;L?VCT-A7hZTF zn$(2|S8}l6PlYFUq$gJpq}{>RRn=QRYT5N&bL}2~&*C7MAWV%eWZksJLXz18WuzFK z>c$8TbC?&`w==CwkRsYdwj+@U2sn${d4Q~m7@kN`X)enyoZuZaHKWv~F^Ggji)g|y znnu-MiJ$#V=MckQdg-NSo_Qu14C-{K^99~_GEen&$RP==%$^Sa-67133jF@A=AE5Q zRe|>Ekgq=2)fEj^#lqXgn25*3-u@`486^>m!|H2Q>QsZfNN3G3*mA9@11)KJ4o{}h zrVQ;oWTD7I^DE9xIwu$grUe|MfB*a6@Rz!}x{{I-MLiyDrQE9|4~}vpa6L|!yS$~S z0#$B=gIcS?QT8sW6euYHMx~AqJ0d3+9v~D7J^AF5 zd3kwiwc79ZUw!q}m|U58=9lHTbWSh~lf^3@k6SF3s;a610|sy$_voXK{{8QNfBEH? zD=I3wy1JAWy$46SD#w0g-_T*DC#Y7!)U?J<%j5jy+e*rCCHWtHm`2H6K>t%F7>h@? zke@Yc7DzdK^hY0kv}DPWM;>|Pg%@6!Hf`D&U5*peIl(ZHBv_!!F1xI{x_bZq{TnxK zyzaW|_UzfCQmMv`8wX4F_S&sT0*jxZpFeppE_{sg ztFNz5Pf!2Xzy7s-`}Urm9+0ppQ>OIG*X$QM`wRnL_MLa$@%en$UVAO<hIi1cAKKP)rvQinov2x|gE3UZWtFOKS9)m32c;k&qD+26rg?YRYMhd}| zAjhA4@(FOowY9XgfPBC9+H3RY&wu~@_hHANOl8!N{p?$| zv(GSC2$#zRA_b~%#flZ5efHU#Z@w7_1Qst|e8(Mk?Ao;pICuW}=VP)yT)ld=*=!y< zbSSWD?b@~Q6HLzSx8L5-(2$mvX0=)Yu$W9HgTVlA0YTidWef1&qKhsnEG&fO{^px+ zfJq>@UavQiNWkl`U6w9g`rv~P0!AG;a3BaesKL2&=PGx*=9+6Rzx?vM?z#(<8!iA1_U^my!asrEzznz;%poxB;fEhywrttny?a4$;l&qUd=d5s zTn0Q-Z`9_dF7S&-FM&m_3O*Z$`&qMctGxpMLu3v(G-OSRGJq@J|p^VCTK}-dkK;47>#0JAL|e(1#fr8K7OkUc%jOzWL^? ztSpeH`|rOWo&@;xzyl97H#cWyW-8bfBn<4UY&*|PobrTpPB82!Dk>^!Y;06^G+;K^ z^%u+Z`s=T|-R?Pa=75a>8wTtF1<3O}YI!N6#~#!M00WhX$>s`>Cz!y${`IeG)~vbb zo_pSV?>&& z=WAAb+-abVK^%t+83G^^E&~J$LJyncEPrj8ewGXa@d9Ot$w0rPqy&Jt;z->flX4A+ z9q3iysG`T<_3N*{9{vIncDToeq4AfyckbV{q1$!Cv~0lofOp1@9SiDLL7U&>)twdk zSu*S(9kuj_6NuMQmz`+cNmDtM?zOviZSSfDXp`bdF&Yf#6q638pEtw$g(w0qO|uTf zMqoHiI(l>K&-O!|kbYrUZ+b6*$-S1(T~77VFAV#c(Ju`9nb9u{`PyA07*naRCr$Oy$6(3b=vj&JE?LEMmf( zFh?)|f`Fi?WXaG?rfEW_N+*8n`B(SI%s215=Dof%>w4F%S#9?e)zww!?DK@Z_w$sN zPNxHY$2Tp|(S4IZ3-ELgU-Joc7YNV-(0v^vFbVJobO$idd=t>+5xIA+`G8NLd4LIl ze!vk4P*3y^H{GxQT>=92qx?Pu^7rMhYw~M4mS@Q$@OAZH^dLZ&*QI{XQ(ry?1fk#M zSvaKqM!%0SuY~p8!ctuKczUNIdWkz>0vg z0XDhs@_#)|S5Zd5l8b^3fYs0&BAALsu8NF~1Q~@x11&JrV-#pq)RWis`%DDCLjWC^ zUUIo2(BwV=kgLEUr!qj&mVu{{1Ci!q__-*RdyD|XP>+$v%4t;RQns~fnwob>~P!mm-U zp&T+42 zgnP|ZSGJ}}@oNzHpc?@}VAq2~qK2VB;~Da^k1vmxFWpC%G$iS*9uU5!;RgbRhT7@Z z6RHc~>T4`dqK%|6i87uP?)B+ZU?~yNm-{4XT9}@WR z@9*|I0+6a+4k%`GQAJLhj(|u~mZTyNRAK6<;TB)_9d(=HES6~aeeuuZ;5r7)fNPWSnuGsosC$Q?%o3!yZx}HTdGC&gi ztcpfHbp-x?TrWk|sV430!S!pfgCw>u_a#YYlcX|fJlDfVrR+VLQb%wnukLs*LDwD-^Z9Ly06M!R(jpwU+MO8`~m|8A18M;o$G>B?0@rX%5 zG)$vdm}YqiS{3EfBx+F_i_tg{BN1+d8MH^&TVU!EPAjL*oMbul9_E(rEA%n_F22TlJ)y{vZZP}J8Ej!n+m8) zJJ`O7qlfX$IDr|-r5DYRP$LBtfhJ#)92*K{U-3-3baC=sb#P9uj`Ff-ZWei#uOxNhwXu5GA1^64AEUK}&q2C6>_$-7)bz6JLwe)0zzo(!b$w z{u`e1-w=TgY+wFaUa#jqRDqHEk|H-p?&a8GDP*O+)&oyfIMOWB8q@Xo)bj>6romR%fO$%#n zU_>qIEJ-E0s+~0HjDi4Lm*Q8)l)^d?(B|qe*O0UrLf55^@zH#t32Y39Hse?&eCljD=Ty=d<`e$ zqw8TzJ%M9J$QmBH7GSt?5trPV|s;b2&aqPD94f zFx^}S6&ONSN?k7hmciBHAfWVf=|>V%NNO%Z*m_tv1uQ3v@1+TX454h2<_2^xiP5uF zj9%?p(=opjMOIt#qV3SNrf4)L@C)&LOJP7H7|Ed$5&e3yGDlP7Zh-(vlM4{cK#Frm z(Gb5r;@=Q<4tUCcKY;%3_2=HUfJF|BXJ)WXTcwY{vj_(|A>m{kxsr4;Mu2A85Y$4j z13xIE)>+Hued}4ivy$)E?q$`kYPJR`GG;NFUW6Og@vJnK=VI9*JT069q|_Pm&CHVW zeA*SXlMi;NNA2s5n-x1M&kd$@?D_e)bZkQ3HjQbV--(3L ziKyNYol@K&hDHcn3(b$9>B4FoxCl72Xrz?v5(F^<(fj1}N#s;o;D3e|_+JK4uI>Gm zmjA~TmIII`WvW(B?+2zz4|*VPT24Y#QOAa!#I!2${Ec|-2KHsQvVQMQ=9R5ue)&c= z>`#*o8sl3fq$3izEke=~Ygw{p8cXhR4FyhDaXld=H|Sm(SJNoXYr+M6&*JC~1DUpT z8n6EFDm7urJJLD*s-aoJMQS0-oClmmMa{^Mw!<{LqX!)@+!720q70rP zB&4OlVg$BI>7IJGQAHOR*#DHn`gg^le*=L2*-LH6$MxWnt5kPX_%*#4mM2%Pqu#o2 z>R{~$HlStJQb!SJTM~5y2m)wN)f{2RAeC_lG9F>k%(M)8 zM8}UMR0@_*BY#h#sv#GJE(*JWDO6P8VVefJXR9tw!0h{OE^uu0-gB88jsb^6^xp$&~?e(MiM;00mOUOYx8> zY+w=%N5Jy24N1pR#^~5yfG$L$=VQuAmk1^lfiA}a6)6KJOC+_I4&gM%bZ*K}0a8g< z^1~f4jc!0|G&?~cjfd{42E_D2Dn(~4o2->3`D_?Htcsi6+c zELM=hb61n{7g3h{g|Any;^Q^D*j#O)g-UU)D1iV$IvzRraz*QQF7NwMTuT^aho~G_ zThfGFr6w7}Q%a`p`shiE;}1T8QQZd6u0>jc$4rCK98cj!uCK{2~3D_FU8 zEj3z-h-siX7J4X*W4HwJdZeRM^^}icLs<2F9==3JDbU5YWT%K_Q?w81j5??_LwYo) zReneE^+SjReQ<&nWOM;eK*ZIsT<}bnl$pguSn&T(0qDS5Na_eJClweDhFOE5Z6lLj z#y)!u^ENHzgP&Kke4kEjxCkShuMVtadS41#0SKX-ZwFhY4e3t2utAW_;wCf1B2mJg ziR-x72?Hd7QS>W0h#9MAaLWhxV3$ZyZxQS< zxpm~_oYr?F<3D_qnJecjRlg+Ch>MRohvN<&!>u3O#++r}GOX(mt~~xS^7He-ccd?4 zSIr(?oc1bP_LdQeHlnP02bowM=nj?_A}xtD3hayme{E%ZV z3`a*dviRW&vhFI9*)?p~w}$tYe9xEbw^3uZ0nx zqfim!$K6fyyizWE=4$rmRZDL}sn?9xFMXJ0zx>P{uij67rvhxlrMlXtsb9>?S5M}b zeXDrwqt}^y{WI*W+RrmzJWtiW3L3|YICJD_bZ*j)+Eg{0y&7(P`93nS8gwUvkv4Ix z7}=0d*v!$Dj%vMgikVyx2*0G>r%S{S2vSL!`IQ{gxtJ6B9ZKh-PQ*jqF|D3>Ua9KT ztU%JDs_*|}_K^PofO4W|jt|O_b73J2wVl)ki>S;lX8yY6y#2!lmZS}`g@tHtgt(iB z6QuD?5jAye7Yswvi;pIHS5RLeqhr_-l`o@jPlOYI*pad$0@AEME3ASB|`aiyyj$Ih6~DHwhEMBvNNG@$_3c zt>;NRzVb~T`g9UuEud|F6Pn~VC*`?p-M@oL~z6&PhPbO+N8 zu#)@fQk3M3{+&3g-9a?94kc>!!`7PONFg7DRccg7`VZXx%>ZghT{-PaY!|vAq+2<) z_I%1~f8fI(7W2u9I`+g`l8uFwsAxLk^wSmRp$cPNv?v2Z$zQoBCigjphLdtQx$AHy zj=GKame1t5uV1Fxsl>Kjx|Vd|#fv5|f5SpHZQ90FCtk+5DOa#;`&zCUaRq(*_T`qz zx6-AgHBX)M7cPHiJl~crBvBB?HPCE>5+>hrkdW>s6xts4+EaZk`FX6aDMu8c{ zAP{rJQBOcd9AQ?&OS~Ejaz4BWRmA zgh;qA7_IQc1>i^jNf*{Yul(;yCI2#jq!m`oXRfC>fGThB6iY`d9%CWQ>isdAr)YjL zKL{P~>(%()N~-L+EZe<`S7!gn&$}{Y6CH4^e6rNx=q{#a5wQa@1{k`Kff@X)jhTty z6ov?tY#;@vODt(H`GQ9Y*&dfX^GB)^Swa>h%s9^OG=CU*KF16i#%+(>!!_qzL+hgE zY~Hqob{*RA?9Au*Xz>@cE^N(fmp#ctv#0XTj~@}sGjVMw%|vYAdR_`_$Vwx$9`k*v4y1-)73}w=q0}aeYqX%3+sq@ne@V zdhjUD?sq0{F8F|jn-`-6X@+#`&q)WL$_w*e=vq@srl^oF|#)U^6MxQ1fD2X19?;nImLC*axM5r8lUmA>P&OR$NgmV8| z^>*Li7N-7(0LqCF|2Keg_vT!BzLbLahOVNhVkCkrma&Vhx0s6TQf94R$gA^LvED8w zo0qRR5!02zF-tbA;d(j=x84SC=#b9Px3mjQ@>}xp`niM?GFhP$crK;cC{wPS#L87a z^U#}5(W-k#;(mzJk3NwOE!wku`63qWSk1i6ONj?2cc1V_hISsrAK$){&(=)GD~{1f zE8(Sa53sO&9TPr%46Rt+g+aImUK{rSem3C7XCA;wrFs1FyJ_5_J!d~Lj;ct8uoGj# z8GoWztR44EeVFCmYBG^5!ETR<7mTOGY{a8e|H@;xJjxfdr}4o16A3lW!wgwybph9n zxQ?-dMsf9v*Rrg3Gtr1eTIxGpBov3hh~SD{CCDi8SY3!pg_D2RG1I&09NNuA1A8*0 z(_l&?1F`g;I9@S<9zt_nOv6CAqr_UPIq1^B5K+4Z$ZA+D$S&lL}`cA1zzRD?jd}!fKBjO_0^nIajh{D8rUmDFWS61+uiJ znUG7gGT^B*@8!^r{kZVC>shmJIYwa~o@-)N`P_cS&5Y>Om+!y-macvJQ4}dAl7+2R zl_ZKnobl9+l!y0XRHwOa)HRIlI*dO&dl#$OiklxM*lqK|h4*5`BV0Q9CfpJYJMb`) z8mG1y!c8Y%Pi0*OKX7PTP{4C@UgLxBKf#V_+|tbqfuBXwq6Fd{*2B1thZ{JUqCxpdhPFGBhfcYRgcf1Os(Flm?*Wn};@b%k zWJ0uzH|6GI&*Aj;gPFc^9&5Ml;)KDYc>Mh-+;q-`yf|knuYdo(Vwlf9`aJF)a1HNl z{Dj-zeF(3>BFOk0)u|7Oc$9CJf0rZwR0Iu()#&tS(v1O!9))R`ELu00@5&YugmeNk zL{O`7?NMiO@nNU%$ud1Ll-h|_NA4^FzpL;(U&$IA__!J}V4 z&1=hEr7^|4apQ}8v2Z36zne^6ejcvaZiTJS`uG_S!*H;o5qvX*8;I}HM)x3VSolVO zp@|Ein!I!+XLakq`G+4$>)63WLx+>48J?d<*iNYC!!|RDrZ9XVV}E<0{XYOu12OfF ze^h$L18O4C6Z|Y8J&hJ@A>+#Oh+&G3vco+k>tTxqqKhR7Hq5=98= z9Kz{>(q|3C!9~$rd^qM@n87!M}Os`O*06`qN-@N zQV!ko+jGj`Q`x#>Gw*)?8C8Z$G$Jg!qx80vfH-i7$moY|f}f^n-&T(A7U$xl2ht{X z5aI9uT(=bww-C(>VOv=x_vj+d=4MfTQxWw47(fmF6e-jKmDi+ea#fg*NX=vJpf)v& zjhUZ$Y|cEs*zBMs+KPBhR+lO%MA#F{LPl8~3_XgMH0YSug7b!+&Ou!cCN5qcrUJPWU^}!ji+JS1@icNuiCb~LTsM$x4!Uame#Bz+OiNU>2b?3moc{Q7*W`O+4;h)GYe zs9Hcs+e2My4x7{Sd1Cf_rb*<T*gD&CXBgb&*)7P;eQ%)o=f^R!mmVsB7 zl5?O!yc>WO%gZ_RB+{q>zJ|d*(Vm3O)>O+a2U6KSq@GZHPDHW85;6raGMkY#b6se{ zmo6=%RB!2S(h*PDEX2p(OK;5u$DBi(j@|k2$LV~r^m7~mc*bNz-(eiu=3rKCU(NhQ z-!kQ!L=)^f04)k6>%rI?fz>E|1Q7fvGD$ zCWsrjNm1j&1g5Tp+>oR+k;k$!1mI#;Z{dXY#awyRAX?`gMm*9VFWW->j!dltVp{u+ zZP>pEpoW1tnWC)c$rb4(vsDsI9sIy1YF6UZeaBXNIgiZ!h7Zg4lS#C|a80EUOWSCN z95hd?sTQtp5z-^rsU$;N9?JML@8OgfKo3LQ?&97@J%hOS5cSJ>+RIe=94UT?S&6bmt>+sY{AWam(s{)Xok zEatW4+esHT1w#&2kkfZG9bfFFo-Ot-A{1d{4EELR=KRA)bHm8Xx#)pw*_hhNyaX@JdznW+d5%*Co9A&H1XOl|fvKb|%YJ74rnQVY`Z(_R zVgg?*o=*^q;D%j753P_^K>IxLTnp+I~8NsA^Q+WH^_n;u6 zD2bSxq@;QW;|6u%q&|ZvjST_4FTNjB(Yj&6Ru`Vg&y7n7$CO(ZAO+!nefyUH)UdKd zz>_vj;*LYe&5{j)W7QH3RAHQKbog6Ma$7aTx9mul6nM&8EdUZjnVFPn)HLy^PshACT}t!m(ySTn ziki_puNnD?M(CkJLPirJTE3$Hb3@Fz|H&w{e2ISL1Q~2UL)zI-O|pXB`?s)p&oB6W7RIzf*ddX2#EB?Ou<}i+s35O9=f4)BFXv;{k{MpO@DY-Glid2| zJ){zz^r{3Ym&-<+%T)s|<=*!uuw>gZE;;U8+7xwWOH~E)%Wtqlb^rh%07*naROa&a zyif5wozsV&%{9X>?47W@dVW~mvt zutZ(~tL9>Bd8#u7yM74bpM&UM0#NQ(Wn4rggfJFjbkC^0H)d!D$=c8Px#AbbPhY_5 zAdDTA6epcc4BgdKit|Kmc0#nYOStv4KXORRKCIogguQi@9MN?!HG3+#_xU@isNKr7 zXI{go9;fr*x&vKXcBey=&Xnf0q(EzoEi!%{l4IEA zQPMQ1gBoPim8<9r($oe!*;Tud^2#+V-LjU&Wt-Trw}uMe!VMMSM-n(Pf#SPZavVKh zO{t36P4h!yH6ZO)aYVc)6VADhvK`y_df_)jwHUoRcVkrFV|nwZcX{KJx0rC#eH26r zShRE*9on|0TeFrd-@2Up-+h|xm3z4N+}k*)V-K!;>PB|P_TuXngQzW{Toy+pb7LR2 zGnewJIXv?9_srbx6BOoS2Wf1>#Pg#>LV zT{`q({8@JrF#~RX{(4fj#>8u%;@h=fQ?_+Irwu%v)$4v?`r=tE*|Ql6Bqgc5rCfN* z{~{%^pRIdO z0{(usN_a0tx~a(ru}cV$gxd}&`-CR5_S!yRFB$f-BfW>8%2x8@hGqOzzJap34B1#7 zz8K_OiAF*h$fQR`ablhn@)4WR9_W+bozsV(M#mOyXd7upORa>@%D&~MDSx7Cqf z?UQ`HXg06S`h@bjZ5-LPFSnd=150)<=f3AB(4&1%9vSxl554~cQ#Ve>DvIEFG8302 zUb~hPnri&vnB!=c7(&Dxjq4VnnX=MGh=8baLCA!!3?=A(Oxbk*tJ}W>AbA3*8N|F5 z65c_IQ!9zXN_J;H=k*`v@ZzE^IEC%iOu2}6Dc!&~!swodrDyS~YZ=;VFpr%57ao}U z0PnB(g2F}xw2T!|R$WQUNHgv`=MG9rnsV=(53y|fa-3L}!1okmok=@nEzsj~@*NCW zh9F9j2{KF(wv&W1)wIuxGQ3MKj_q_PU0QY}qBlpQ83e`nUWh=KDbSqOq?R0La+OJ; zCTT=2l3Y!oaP+sGKLWCxSLat#M7=(kTbZDEB%uZ5IW!qV(vqN6Q|Fblu3{;(RxV)n zx^=9ra3v|j>f1CL%Hw#Te$1Z+u5*t2hZL(nW+muM|}ov=iqYb|g(BW6EMLC6#h(% z^b!a%SeYt%8a|`Dw`JHthta9=021_8pi#o4iZJzTvl?U+tvy#{>zZ&OV(b@=$gYnt zx!JH^SCi#xq1>c{Fz={zBMmAl;A)R_*)rDBO^hd54do>pxaWe0G`Vs|A z+fmTE8TWiNo}G33X<;|#*=rx++w$2wJ^e-c_BfO+dv>y}b_+2pq=qVG@IcIYy5rE) z-NBzn_GU<{!4$_vko8)F79nIumDG_Ai56*L3H|b00VGLKT3IzYq16xys&JeiSXuiu zcYQU3AL~L8Zi*|G40U1xW#>=~X~tDW=YGfG>_KNSVbC?)^2*J;x9lrM^cuxq$KAs% zZ~vLaTi1Z46V;=fHt0katzF3SU1b;{8K#kjI;+;WNO|j-a)4c|+C4P$su|p&6{jC^ zGKaQ0oTyn0L7@T$bxKT?q0@ z8a9tLEV0TJ+Bsvqz|6pt0$x3jM79ipwuf5Quw?r@KKy%=qUb7HCo{uBW1(}c6 zWCe|^nNeeq*iIHb8=**x@YGe$^2?$hDBHA{>(07^g=OC}d+P$eS~s5(yNFk>ewx{3 z-|)Z(6A6VQsyho}qC1KTpTRYyZj<@A7+P`{N0+$Va@-)g=N(JL8i3~)Vmgwt4ANFw zT_Bd4nE8!enCPQ&K%Br=)C#<8JpH_@Ve(pj6plR0mVAYmf3 zQ{W0wCjb`p*(MyMiB<2Qcf#Vd!v{0G_XwJX4IE=xAA1sTMYpCn@11g@lRd94<{ zM5e6EQ)(X$8*D{_b`3!7ZfD&&}>b)bW!lb(%K*1n2Qe`MGI>vy7-9vqIv^chJdsh_7oG_Z%ScG`1f2D zA&g)%wa#aJyKN5lPg~3mtFhuggyB$Y+oY?IxhGE}*kf~4`~KW{-koF}mlvi!&Gz!u zTs-y?x^x>zHe=HyZt}!elUcBN3A@t!a4a9EevHgjDL_o~I=&lKtugGPsA?-Gc4)`h z1CFCd%Rz*+E_gu+w$S>4@Iof#)n#1w)OGC2ZXw@|$Q!^8iwz>G(yCF9**mL z6nBido>fa$a#WwADYas}JL5xER;=T~bI)bXb{FT15%+ZVaHW< zj+#hQ^_~N6hStF@?iqaq!jk(al-Et? z!5P!|YDWYkRDctRZsaQ)rVO;Xx~SUFvv~*htlmLkkk5^$U&ZhaNAS`2AM?srFR{z3 zAsi~??sIQtWZPqyQ}qK^yl^v4TvC;ft($}-3djy{JU5i>x z;vdT5)MOdneh?QObuQVIgSR(H+oGm4?$DAi*Ux3rv?*-PRH;alFe1n#LXtYgN?W>t z?#gkJR4J)hHjM-rHG4R|jmvGvjG=ApSp4weIBpT)tfW&}QJmYk{hK0?oKV@r<62ut zr9S8LRkL{D+okN!Zv#%4K#vhfrzP$~$=$X?B2vtg7d=S0*5|Re9%JeHWn3}x076Vt|A~j+dYFNI1~cXCkI1JOUze7)eyz;k`M(uZ>XTN(as71>xhvd`bgGuc zJMX{658o}|wA0Qao3$A*;7CkMxTc2XSdvbh`UMQt?DG~gWAWQOKKFYzYmM>Z5z@MB z^)Sh^g=_?|Px;juiXwSXE93}|;4H;=l4mc`9^?aQ}m7A?F(2e7gE$o|*AA>+BGz{33PgA}a00a7+=6v*@-%;6`}%vPW68Vh#_#{|vFBW+Xh5 zhcCF9L)#p|yk!fNMfdQI16iF~ z8U#PI&3)QNt3&U?H+a~h)$ zAIim}&*g=mrZQ#WM?|6tESb`D>|8W6W!IsBURz7AsK(7BMsjq=VT9<76O<_RU5aBN zf>b;IH-C6ebuUXV=aR=yVo!Q66R&)n3^tFy`7rlh{%6X!Y~$5wZ}QM}_p@~UkKFgl zgB;moIL}}7Dn&tQF3i_&n^v=0{}91*7UkTMCpGb)XrutswAi?DBY*kJc<#LGPFl6> zi0!$AWc5q^RuA>D1`6=G3scbxzQlM3U9Z4q8DFjXh)FYMvD%4~jThuZT3@DD<)V_! zBZB2T+M6xN^8-3}?t~dCB(*Ea-KSm3eN!LjgP*5i#KIiga~SuYb{kV>zrqXOzk*&U zB#$&BVSL{w>Uj8O4YBN2ZW+{%GrJ6?AbKLY(@t4cT(#Nu*Lk&nOl4XoQxhP=Xv#z5 z;Tk3(*C*u4o*jdXmL#I@$9I=gw(nE!p7sd~s|(3Sn&B9-UL=d7r-}FlXtsq>7jV}} zf8gBiV_CX;74I(kfNvIlMWP^~4D6M)yYNgCCj)JoG^Q$BMTL_kutb1#2>)$jzyoIo zJ;FXW4?mINoktS#yMQcV64Q%Z`7$4$QTod4)(YO}RmKlV0k&Et(P zU+0PwFJpT}1z#-sifc~2l2toaF!}Q-9MNSMFN}MgVv1GYl;eH=>zlHstKulP)m7I* zRPC?k{`)6#!G)*Mr}v>`WKn`8yN?={YKisq*QMe)OR0b-P)<&Hd*U@%@_J?TTZ6DL>XwdMSHn?7Hsg;UK-+>7iE<>ipHO_Bi0A)h z4V22%2D%?s;a>nD{uTjG$oEMbs9if@a}%}cZ~1WPXFUAfDym`~)O@#SLTSUs4LgMF z5P42M#o;)~&AYg2)MZ>Wc$_SwV{@jAcW1rBr@wqdm0gLO2q}KTP1X=MEF3FO)HTIb zm}wE2DNN+yd0956x6{AVV4l6`Rq}%-^}7-O8vtoi=DBJJ z($I5GN7r@v%L9)w;K;!YJ$4YTEiAVTw&kLX0*B(41VlnI{A%V>t-f!|P7k#=N!Kb! zvz$*>e8gX8OlNx}ifiV9Ew!d4#u8;!aXn}rY0B{S0}1VN7&rPnS`;;rjYTZB*YKye z?q^fk22SoVlIu>nj;miD&-XP;iN_%1NVAhGTBJLZy-1C!S98ZPtr*+w6bj8_$><$$ z^$4c>-$)tBv>lkL4)k!%+=hs-2%tt*$q|NZlGtQCvEWPUsABMuM^o#1%=&I7pRS(4Hg^kgRWs?> zVlLC=gGYoZmFVZtIJu7-hYsNEgU%zN9fGShR;)x=4+yD(OP3+doWvsVtFPD8HLaU$ zs9VM*PoB))bTyCO_za$7^Vo|Mx&OxdSzor1H@>Tt<&=fdE(Lb!Ex~_Gdw)*etH*lVaoK^G4oBDv}?lq z^FCwCmTg?t{~Z1}_GXsUZsg8s53+jCD#G#tWiy;SMG#;}2B_P{@McNw9X6V_MPqP` z!*IR4`VWTr=P^i2rG$FRs>05f4H1g3@X6{)JMP3^mUkv5q zXcI@C>|_R~D#O)-F5DPAvudaEIDbpqq z59_#|6l$VwWgu)}cv%wFJGtPXgSl?l`7|;I;QFm|%eaFKVKw3`ODH7)NE*wnlT)9T zlUp37+S84xrCj{PiBzX*x%~L+aeRlVU%$phr;ektavxtU{DO;48^`Lct9fnOn;hNa zSSDTcD#fz(OeyaN&Z+0Nl>K_sRGVFw*@3C&^W>z-n0htWU3VpQu4oitRTs;kir6suxiLAdw&Ca`~^HZ^G)7fUPekZG$o;s zv(p+rnr9PpLp*=&6Kq+zj+`4r6V94IBnb1>n$Kun(3I-6 zm7G8N6uLL>&R)`dF#RKDZCl8W{4ATcuT>)|SwE`g<;7zxHG8CLJ0qJk;`S4+qw9di-o}tl!+C1ls}uw!xpb(eO>)3#_%3f#bzi#1*2WaL)1Wi27{_7Tl|&cYoZbK{Jk zS??EM>G^72sy>yY8=|@!=yh41KJza)`)#gy;Ti(n=bp3v$T5cv<@P5h(5w4FTs!<6 z&YyHW^Qx8-Zyd*!Le7s6lI>!;gPyLWx1M6cm~$D>_B4W^4ZdEa4z#Q}kt;zu11XY4 z@eX9`sv&b!xhqKI7V$O9GVl$lrCjpFDJlXzbIU7a9f$j;+{Z(=Ji_LUWxVq7i%hy@ z65ni?$sJGK&N014^7yzHDbz}Hg}73|>c1;`AosHZkfF0by@@*?Ifrd~%JJ$N;U#^V zx3ehiWDzfHPUC|1#59ln$*pYJzkyUH;MBplGPKKi1fHn&;tCMZi?=BE$wDGjYci># zYh;z^>kr`yXh^)fBY`X^+wdi3)S(^^bAg55b_Er+HY~ipi?<(&?y*M3oY!i zGP#CT2?raooey~Br}ubpQ8iwo zIfi56$}VT|TFRt?7Q=USGFAJyedy&}G2jAjfB7EPZ!Kr?tq);1J{R2c2fBCd!Q+?S z%2jXQ#*FRrG4i8iT_FpjxjoBThWyknt{-qXSN6YvFntMvJOWXsWeuKMrXW6MpBkr% zi0+UlgNVwkZ=uPyF4?1_8XcVtbxXMPiBqUbS99u-=PE&W_L3PKf7D6TRo3$JitiaU zXbhWb%6Wg@I}GkNj7KkekzyJvuhD@!EL6QyZ?jkJw+2(+e}<>uyqzJV`qH`O;k@$L zXKb%nOQ(LVxc0_77~XrV`dp61J7)3L?8k6}EMxoM#L$kHDBvT-u-dpG?7aYA-k+Cq zJO~FTn@1!L1!C&n*Q=j;TRV&w$G90eH z@iuO}6bq|9NKa&cln9kZ{vv)LflxyN84wW?-wn#Jn(#;>8?y%m@l230AH8 zg|Ft!W?N<-RrWqA?Fv!}7cZu(nK(K3Qe%on7cxBT+FHgot>&(gr_wrcBEEj8vg7`( zi#&jx*U~935PDl3Ftr83$G2*+v^_ZX3}%*p!}zZku`OssI-G}RrqrZ@=_F*;1DaFE zGh^@Mpwff*Y2#wbcWok)C}oeG;@fYhQxr|mf51R?`87;iHiP|s4SGlv=G?kpY1_pm z+9bP^dq*F~iQUctzXw@8jxNi_<@AZwQg{*%tWbhEzs%s?=kBFlyQU23eFR7J972aC z9h96Q`*BP?%!b-uxb(?0m9RPHuv6JpzLU)rn|R@&msq=YHMiV(BcHxEjRjj5a^1ws z8F9q%oZ9bVHvF=aP+aOV4Lh49A}zECk%3Dj6ed}hA|8uUsQKJ?-*{Se&ga6@$Fk^) z4Sez0Y(jZO1ZI@O`*i2}>&{0nt>&efw_)r1IQfV>7}EY4HMbRnG{w7#;VuVMna7t) zB&3`OGB+nzyx7WZU8ZHlPWuC&ESt)N>EE*@njoV4WK0=VHZX)%aiB0%#N-PfqOn=P zr%R_XNbi_`F${m@k`wbu6pJ&b}rn2yUxY6O^Q1da{lEfvAJv~-^~ApGsd0I z`l=1gUi>+O4;w+dSYJYW<0^`5sVw7&4n6sK{TdoKX-+tu?3WEf=XQ!W3hD z&Y7ex6!no)vJ)v6nR6np&;>FmAeNSLDl_xBd)f=UU%rc2q*#4;m5ddM;4C6V!Yrh3 zldf!Azn*m!8}PCj?mXps&KYtsPt153U&}D=sIw^FxtE)#-p%glZe;q$^rOWxN1ZK&ij#Y;GHKJ#T&Y0YB|pj3qL(E|>rSAOJ~3K~&?$X_xkXHTRAk z!-x)NqXj+Gntw5@s+GQItX{s7pO!9Re@!im7tdwEyoKZ!|g~!MMQdsWr1aT-{~`F=FIu7`ult+ zZ$ISjldj|LHy>r{gqig0UBX}g{xr9ocQ+qyd!I=A2CDaLqx?6~hy^{AU7jwr4i|MfE5p&84Nwlc5P+aMz65$Xf1eh~&2F1<*KN~%t zEp_|2=Ed95b23cpHi_R|^eBthyvD;T9>rTIn|o=7vRczlQT313a$@fUx6D0(ZvN9q z+9%*jJJljq0aG(#=b&SYNd}T4RXQtWK@Cnvm}F`do0{I|&i9tG)#^>chWi z#x%$`@_Fg!4^VZmlIvf75Ua#Vp3_M>WGHNOnZJnP-G@=$vz+CdR*{S*dGm(nd3e?H zJp0Y_zeUa|TD0S6D zB1!Ka-MIM=*R##spctAf)_;VNPSD#wfQh3f^Vpk@5UDXp?#@7yQy6}f_wPj{nIxKS z;*4LMN?v~#_y6@yCQY11--7u}A2^?;P!sESuIHko&)~VGuP|!xc*=?k`Ec30oPF}S ztl#-9ZfieHonO%rKES-;i|}+zi;zqy@P0Eb$*;Kkod@`^ zx|2|DfuanFO24SOs@l}ZaP8b*aQdj@NyLNn@bqBm?ytG??R!b(b`q|Qa_bp)GrC7V zE_&{2Iz16p*(u_uh+7Gk-RNYLqk;Pt9?Qt$qschuVmE}np?s2*XuHsXY_WJ!Exu(E zYN|n^4X3T1WM&C(Z2gcwtlUM5yRXVPGC)y`DVv>WEXCO3as2(<2e{#-JNUZx8}jTP zesl3{tlzndzkIP6e~w0|rIU%h$8zT>*AZ!ro~`H9D_Oj>p$sjX%%ZbSWb+pr>03U4>Xw5XbN;o~?;0Y|iW)O#&$+Od89e zEOwCFju^>F!;ZpoorEowt3<#QjzF3G*|EiAhLmbqXB>$r5w5oHC1gCu?^l1uUpGd` z_ywgVKq+y85xk9!Sj6Or?o)W~%-?d^%eV7c-Ph!#?L2Vy?T~VF`AhfW$%$c)Mmb~R z>D+$QO=@Fx)f;!Pyz(ntc}_?)Gqq6T{!`DPulIP;=^i*8IXwLEA9?J7KM^Q!;P3=Q zja>2REr+zVHZ}KXjWlrF8S}aNmaEuOyPkYUPhyD{+Hz`n|LgadGHMKOef}z)9d>4w z9mh8>e?zJziC+&OxE(piWtkRoL`W95aoo8J$Sv!SEs~Ykt*H+(dcYVq)_y~YznENC z5qqk4Fm_Zw8k=`f=noT5?;sp&q;JVY<_@@+KRx&iAHBDN{G7fRX`$@2P}m1%pV5nO zrk;s27x3MVMp_%=964ek&WN3-ZvG3QhB&r>NFQtT>pwtgXiEl~Gy6!+I_GShPA8h+ zTr8oH%d={vGV~d@y#6#_hGH1L{45$$+6YmsPp9b@=!q|8r>c5C{YnP#(9iEu<~El+ zeH917OZwQK@}7y6?x`$1 zv)&w1!&wqQDN8o$imM=iYtlHZ_0)wP=Z-JF;r&_>`_5BDI^~WmBX&jj*C~WXyc_7&oX1&1eSdG8tq|&r*D3lKi~2U-+Zu|B3FUJKuf08#punI zVSju-N1b*oV`t7{!L*qisNKVw4SV?YX*Y7$+Yd8k^mqpK>CL0h-^GFjW2oHsHAbR_ zj!+Hpn2E>gL+`+38g_K>=HK4OY3nBKB5_+QroWwI&l!p{5M|8dIjr5)Kz>0v{!Bh~ zHPu9FL#%jpHJ+64#WEz5>FlK1;h?R(gUc?zl)LV_hh!>=OYz^*q_r@~%vPRV{typu z*hD0^H6c>D7Bk z<=C*v%PB{vnuN=g+{7Ml=A<5J?wmcBl7jQGn}gNBQ93qRx(m>(D}a>EiHa(5$+4SX zv7_Z#u35I44Mu-lq9{g!xWlc~v1C)P1ROilTr_kZS1-JV_4PYwjI}eNVk}zR!fOKpUqf-v-jo}D(%v9fym&KJsb)2b?{75l!0`*1*6$iJ>E1YW55K(Pmn`{k2_+>Z zn8~bzkERqhGQ^&-F_(++%JQd~GHERDFMEfk zwl>C8OrdpSl0BbSQRE5GlnSD|e0bAY7HU%TV4QYFPZ`T;XU<^xnm54h<=hi);MLDR zU{L>|RP@N_?N6Vh@8DuO+G@yiC+G~-)7}|l%J7poe$3^#GI`u`^G&?_)@S7A6e~-n zu+_|z1?BV}>|*598GN&)jsbl~Qc>EEZ#S=|E!@J+PpYWM7^YzYkY~QwtpB=G~zJ=vHyJ873-Qu`Wv-ouLN33dGM<&OK zE8NM^#WwzQ*2Uy%Cn*z=wwhKJoq9UW;dYGcv-(d;?6ocfLf zOdozSCyu=q4*|CA|CWm{zLHprh1c?87(wy}CmDZY38UssX3ge0hV&ZCppqeY@$vrW zAM)<=OQFGuTcl~Ejh8GS9%BxTcp^q_VIGe>`Y7YaO(srA4NRR@h^FwH{NmjgS=lC9 zlOBZ#wK5`rrDJIV$V-!o7^E^XCxTH${TSbGB5g*94f{7xlWa!wiZ-QKQ<*rmtfrFa z$0-b)5u#7}Aom@2BvX5yg4=NfqzaVYlGMaf4cQ_InYf4sfkT3AjG z1mvhR$PG1e@x;E&9WO~*r42lqPHRVy6HY#bBPY)0 zs$XA2x8n*q`Mi^vGkP`;zI8ht?Ln?xbSt57h&R7@fl1TH^TxYxl4y_d>}@Y%boe;) z=yU0j8{mxFPhr#ctx%g{_517by1J=>p5X`)^VBnJegI$35Jn`U*dBS^dy$9)$wa)2 z9&{RwtszGC^KhW~BN{vRFn9EMoIL6V)hX?2`Ho92{Uz;HaRTI!vJ4DY1Jh3L#Sv%B zRSLV}}K|!>d8)lE@lp!Y&a2-p==&k}NC45cEl;LE;66S-v znX;9~xu0{gJ=mZqJIIBzINO+Au%z2~xI^Xu4ipsAr5LyOWDZf3%`3B0xJEn1t} zsVEwVI~`!d(v76*GYnraTuI_(_9kiE+=|_iqo%+yJw{TiW6&&}oc?j;oR~7)I12qF zB2kL9Vcd7wJAAa|bJ{~YY3f`~D72TdzzE86#;ZkSA{pZ2C0p6{WfM8>9JM#pGErup z(vKOZAHjE3)zq~$Ql8(9pU=FKzdy2s*I#@KpWCan5k=<3CjwC!2_IAGFQ#O1szZ-S z0rL9AaaabY9epnIhE3!3ZO`%02cOd7>O;~cP%;s}P(x{jR&b<^EXPi$=2B*N=?FMw zUXwCOIy@w8;FcFXB}Ow4)ukI3EhQVi@BuCu*Nw|3o3RMM$FY8q`wlCV2u7nZQH z?Ry%{E@GEE=m@>ZJ)eEW;sZg<+&uLKZ+XDuBsX5ld@@VV1m@!puaOkQZfAcONS^Y{TUj2!@|xcW=@MoUC0^jgM|>f2P=- z8Hehc#NRz_gh-Yd3_5iHCr(?)ylzLar(-w%5-*Rx_85*5Q&FkM4xhvuQbf14ar~6i zl!eoZ_g65z*HI*OlO?adO@72ft|On6Kx{JxX{QLdG%)-~KRNxP5DzPT<%Brk7&gir zBe-DE-K^QQ9h(-Vx%ErJ;l1=J7)RgYBd{Dng0Th;Y`0kY$~wXw?doRd2kabiN?*nt zJC!w62MDG+D9A0Q-UycP+u zV4#!IL@VEHsso>(3pM<@Mt4scm0!l_-08*T@T&cnko=Xlp~E0AKaYc{{q&vNo0E<| zjhX#tvA2E)PLGRr5qz>Y@Y%*snKW%SZ@>2n9UZN_c_b0AA`d9q!wg+k4 zRZE`kBVkVvw&FN#epPG5?44B1c2Uqj1V)&&%MkD*Rw_UsE#B`rwBljG%$XcK_zkVW zDrOB`#3|$MR;!?I_rF0?V~S7TT+7Gryo1}9L$9GuCN3zV-=rz5-c-x1X;bh;i@5Qk zI|#Q#DIZn9&#yR}^QK?Hx8HrlefK=V!OAu~POlQTlF6`S_J|q9*0Y2B32E%E40DD} zV!^Zu9{6|#pEUW=Tmhm^Ly;34f?oImnMBQ!vI~>%pQHNKk05uIaB8BRW4c>BK4S*C zg=Z7h#-WM7ZMusXU`7&FLO0cvQ@qce>2EpE`V7~8zK#{`c{toYB^Ds#^1~?#A3}-z zK$hU2;cK#2mmf;BamvVC%>BFBbsz#RfrwaGMw+2LyJKrAV)fz{0=6P_^|yys$B@e8~)ZLS=r*_=gO$|Lq|h`WJ_!M*hnWi0?_-=wN1kf~RLs zqpbLR;*LoQvn2F&HF-+JW0tT=mGhkx(W%vJZ+wz#Ki|muco~{QKxQ&Pl<8xayoqek ze-KSd3GEPjv+MtKiJtu1rHPb*o^0f-aeb)Yu!;R`Au=8vLpVFC!Qj_$xea4h;$-D!q!Z;5f($nm$7&KLFzVoaFUBwks{eAfu573qTImc zNYS}3haI1_;n!XGi=B*{IFX`05Y6mk+<=)JJ?=s!Znfp$*VNQ^@Zs~D+4w~j4u6=b z#}qSQd;#S>r}5c)J6O5wLsD&Syai=kbKfO2CaSPU4d#rPz{j7g;H_6y;YsJA3oBQ| z9~>gYF6DsKf~~j*#_^8I5D9m1(vL(3#cYFR15e|kng2%3L#Vn6iU ze(a{(RMQ$`tqFUtEN_+l5>65ldz0J{5o2Zjh0(V`wfbZICxc#H=u)Mv|1Z1!L?f-ZB&#GKe z6>E$^dIL|+8q3I@mtg7BNM!_-p~%tFg~bJ7jGnRKCQ35BoG%YP!F8YQ;-I6C>a^tW z`X9S0WcPa6q1d5Xs4IYq%@(ehHjR_A(7Uo_)6-SYcFW>u;Q;t80+SCE|H`a3V1vgXQT*rIM-)8pADLnn@ zGqiTLP;BN-B8{g}|Z!5#8c}ZAFC~TtF5RC#)0pGUbL|24El-M zn;1E#jDm_1T9YYUxlYRa^kB-!@e~?8_-6YzXhj{&9W;jrZhxMySL~p`qmzg=Fl_il z+8Rx28yav2#O2zlggs|08pn;lx`F`(5nkK6m^+q#Mw=!=TDs~e|4)1{1hHi$>1C_s z@mV97*yl1deL6|YubL`#@=F^eWgx!`_54O3X zg&AX}@!ZFMr?aD-8&0?tM=HRB_x>JjZwj{qV)hU}yK*SG13IYfs7D}_jg>mA;dj?R zj@RA`TP8_3Ud5w-ew=Q3BRKc0)6xA7T(*2-opNnuy#DH|xLpl=xbtt^{_(5SYh{>P zKnYeUy5bMqoW8F(e(>y60sY^Ou&$qz@pAV}4G$kVkeU5|fkT@?Jd;OS6PJOEz&Rq8 zAj@>wTP{t9F-`iO#`J^bf~m3|jJxGR=~cP0TOBlA9)R&HCc zh`GJb=dD+kk_xqQ))hDL`Q{g>7*fcVUE3)w>chUZac;f#4;1IS(X=G3;TY478O3o| z%~NU?Crvto?XOi*)H9z+XN=;$XYa#Tl!wpmWyaVk{N;^w+v+>CRd zhGviB>tXPV+vidj+lLpm92=HmaPFouZ?GrxU_7{Hf+!jKPas@e+S;Y53l!u8T`9uGS z0&*zg#ed5tr2ZuRv>=aPa|6@*T*@1Z-^FHxIpv%y_-N-}(en(N8X5=$a`BoKTz}qg zafO9`o21hjCjz$mt_GWqh&g9L2F*j>%c zJF_RbgA(Kv$sFC}&^uDjGW~8Qfz6!@AE?yRV&1t4JDPwszyOyI#Vj zdlic`m}uv$Th1a@7-i7F!3-)Lj+V0cV8c?XL)A^Uq_;J3iUBZ=*{D#_0E-8n?!W3<`W4OL^N+VFVEK`Yj^cw| zFR`t5H4fdTyt#}zKWks#h1Ql)9uUbwgCouwNuZ*XwHv->=D?ZE9I$}9?!6lVCb!=F zTejD1XU*16nKEV+OO`F6DK6gag}BmojG6@TU3SI)&m9d}6N4lf`Tiz@5waAz@J zzq^n98$viU1z4E`p3)@6y=)Zq_7e;l814CN-B8cbKbuKTcZ>R#D%xt>NOh#hEA~<{ zI1i`SN1`Qa^i@q==Xaat7rybY5Tj4eN#9QGnT*rmU<7YxbZVncVnaaygEywGuphsZ| zfdMYee4z?!*poKppRs#;4Q8tyFMc}XQHD((!h(xt5)@TdTY^ZilT^%0q&32aOWtEZ z#b{#oIIi3bsc?e5J1Ys4mXKdifM3+(Q+9TJxf7c=mx_tSc=Ch9I@;(s*p5&0VAu0$ z-k&BTnn%jkKqF#AvI9k3v;)MV%7IJEkjx~Ib1x;yQ5ua@jD(pYzoLkqgG%t|eh#b) z5^YRl*CS*c4#KfGW2OvZ_6bw5`NeO{A{j{&ilwPJScR)O$ky-bXm2+#(-yg94lcUx zbQ~@pkyH#V?V@>SGjBit4wmL8EtGD(nhUR-%WErFu%pdVo*c6K`oH){0Li$gKx^UY z>nC#Ln9Hy;jbx^jjA#O6@j!7QCaFSMCxn^#nw6WM;G&1VBxs6&Qx@tdM8Th)6n~hl zx+b4014-=|XHcPy(r@ZCwlLm_gEh;RFBxAOJ~3K~yZBBpemkhY$p0$s!a)89*A@b%?^R z2;g5QWz$J0j}P&}05g#x8VnMRC$VMxO2FKeV<%kIb={u|^Mmj}DbDVuu zwbaz_Cld;z*}dqxJBvWH4CXI9l8KWiQ_;US<=uKw=r8Ay-#^ULPd-O(t{2O>pVKa! z!|SV7vNtF?PWg&ilcgj5|9=z{PFi)-pw!X9GryY2^wAe%)23qBL~=$`9ic4}PgzQ| zNW95q(V1S)>Ya~r(eIbj952Lf6UytMw(xKl^~0w9&|C0>xwKqRI!SkLnv0K^%e#O5 znvPfj9`W^5D(+Hm2`WIkHIGV>S!=bdW^*cKkQS{*TZU9Bo1>kstfzy+DO4OmG`YJJ z3zKRAEJ_xZP4tiDQH%1K7_K=LDp8Pr9i5#tHZ~BC#nhi8h&#o+6@s13LHE2ein@D6 z=1Bq8Y>qghqpE9OEF;W;g9qpgi?)cHT#v@kVf|RUX{*X0(t-NCe)?7PL>Ipdn?o^V z6Ui_sGp0abE_;qTu7zIX(6cLU33$5*mWo13OjOFi?RHUAP)MJC{c$)Qto>#Uwsex* z;&$ereFT5~_!C-8G5rfD-P!-G6XBr%GR-(W-C>^l)jY-zyAVsCjA4`eA&XiMwn)sd z95%ITQ(8Zkxt5KUk8OpI(Xb~G?5TZ>^M3yc zmDK^<-W_LeiPvV0kfN=%rvD%z35fi9n4M~E*A~0ogA#GR>;bv@VkJM zW({KQoLM~Z#2f5u>QEP+<8l*ECh6U$Ck6R=imf8p3{@J)?^Bjp(&ct7tGfX7KeQAT zq@cVkLKl+%6`=@GAxVXs89gGy!1+^o=5>ipJBHL#C?oZYwO$8k*Xl;k*YwWYabWx<8MYSRaWXz)$-8 zUhViDSIxfKTQ|} z0;|MMeQg8vZB01DfJKBZm63@M^ju1FQN+4)eF6Gb^jFHG4ky&q)==Nnu9P;UKFKQC z$x9-2icMt>k_m_Ra=6zw6?F8S{vrkXbqT(t3QVjq5{8Ct&U7ekPs}3kJ zNYjj}-#fH>9^*$3;_ap15|-z0*VHzQBr?~P=?zcex0XZ`<%j@e0o$=kWmU8^1g~uZdR>KzPHq7hd$qDTE$4s>Qt*2N17ec zWE9+lT_+u`Nzduf%Ihg zGm?QK@i0eL_&KiMFrI#T4Vt@e*7#N;S|rOe0%{Ugs#p&F>#aB>dLS9bPJMGDbuBGQ z&AxA09t-D8;QW(jF=#*qAFuqDcb9MEqvh*q48_ph8bb#SQGV=us`g?C3R6ZH@@5PA z(agT($IcqgBR5|}|31Zp!wGJD@CE+z#!3SD0s8kHfF6&te#cHuJ!(A9J#r0^mILHC zyqM86!B8iKJ@{S|kE~y8){#iEvk__K z{G%$k=jRLY`7R(yf2EWnR-r0@;_;ZJoc)AgFUUgs9^%P&`Sa`V@WiW|NCirX%f$*T z^(P0)k5oz0%3BF~*h5@*{0Y4Bm(S^p6#qjXuuJYFX?J6{$&LQ!08+)LDz>vaK>KQ{ zY3=Cbf|Dn4>y_uyrzAkekk&n;I-87^!=~-E{QUX{*jC-D=+>fSzkPS5a^JA)F6`o9 zXr>t5tCY*moWr7%W|AYVdax4$K9bH{p7`6_Jp1NX*bBjU7ryv9x;`TPlNGcl%@X9WpxG;mO~u6xC!+E$SF@XS3brk9`zo zUCn01zrvs-x0RDGoytQWen3My2PYooPb-RJqP2Lq&wmOa8Fgf9v#jdA8EN9iv&VDA z2`Auookq$k&nm7T%0P*@sI&@JS&V0s=vqCA)N+=5{wjAozKXE7jFiaj{vQR9`cg7~ ziMDXVDaW&W`BuJN8^#~#hAD(UC3hl9Rm@GYA+GigLWUVHXd zyqOTB(?sJM^$l(G?^lFj7~~Xn=cV^nbK%X8F>GK3E|;5aJ1a?veRr4f$`z;0tByRKZ^7~(+>vm3Gcmy3ujngl=n~3Sf9mpl4mYwo|rAT+Fd;e1cNGZ(AOisji z;tfn4pHJ`E{dwrEW!QX$*k$yga9)yG4xiBu1yHs<%BBY;+O9?(+57HHw(#IJvpISC zspyVly1eHFZzSW>q!9 zi$+>FYx-ygWSqSC(sn%lo}^XRBmw~YY{Vy{Op&torQ?5ns)xq66dHkMB8Q8a& z=DKA;&`#&vf-OI1^dZv6(cbN60ip?2nu?!)})L%8(k zr>S~m-P+Bxbu=-0Xn(Ab&cTij_SaT1YsOSwcy~1~eDE!295<1Zj~c~@0ez^gZDI5F zDrQcdM1e2O+BGZbJ$Mv#EeV3H?Mxp(l+L8Zh~{X*Ae!^0LnTc2m;9@owg|T zw(-<0Co*NwA~gGS>}HM{ainB+CG}V$(P>$t=_j3tq*h0Ww6&RobuV$j-EXk9J%B^^ zDY=pC=U*fHFu2HnyD3uLTNueW!}A?ndc+i-`tvG`ObHn)R|SyWCN9d7X#SxAEz@D; zGb+~HQd|owAf6!C5o7UFH)7e`JpcTg4DDaayji12L=!mtdA#=eQsp&v!MSJh_IqD& z=c7yT_Z-2&`exGYRebRDubDEY2dQ|RP!j(5+&fg)?B$*tF2!vISn=&PKK%S+F2DRj zUVe84AFbTP-B+K%*=Niq+*F6p;lb|m5|4JG>lWK~Zl|ufnd6RK2vJdw%}~=3XU(2Q z7JsmYJ$u`gID`;2m6(OlYQFC_|H+Kw-|n0oc^MJ)q8*>RnaeJl&%TmBxAYjztXYwulU)v70`Xv&E58!1<~M zlEIi1$>Ot~(&bC3*6^jq2ujkW{ZdFcNVfSpheme*$BM7m-ed zRY&D?x=0vtc2!kV+O3SDJRf!=fz$10Yh4FlY_4PRTPqbDRM?+F)6Qxn%B<^9ww2k? zp{2BBlI%;HC6n8fUbE#gX;0QLb$lsfW)J7?*WV@O51?mU*i0dQirSnyjD9qJ4yoFv zgp4SYbs46ry{Bjoq%fTpiBO0|6AO6Y%9F?ooP(wJ#Y}sZmXPe$<@#-jc*06)S+=P- z)CoJoZr@GXe4B?}e2Yh4--#oyl(ZU7{V)Sb#Hx{Mc8aRj4gaa_{tw@yYsO#(TR3U* zV1^cy@z*E6#uwOp})Sy3m<%q)7M=Y{R;jn>+d0i&1?W=|I#kKVl@-W0!pPbRW*{h z2`IK|ns8z-7hXP{O^uB#S-%@CH%G;qEhDDEKehhJ4s{ioL9|{o;&PNGW$Cyq4MXoF z6OM4x$z!IO<~wJYYN+Z3x5XSRsTB$z(7C#N1WhDrU)F^woe)1baHLbxqN&(b1_^S#Oz)0J1i zCu=JC^Yfok(-|ii2@`G!kw~Oi{N#-sfAnx7^_6%n4|bc2{cTNbuc=kWxBZ3><+;Bu zv#%Uy(p zHsmT+u8ty7p+r(7Ae2XmG%%8Jx;n8#YaOMUBHv!R9-%AS$QU8Il>|BMs;S)f(o&iP zUg{L3j5M~4jwTc+rQq??ifG}z$r@c$U&Vw@Y&XS*)6`qY&qR3WvV|;|ItQog1d>+1 zB8UodLtaXytC)<%EmLjdWk@A3Md3v^kx72duIg1>bnnybiUx2vq;>q^MIBmOWOqwh zfb5~A>tRk`=@cE3!ZXm(#^noV;%uf{M;O8h>C4(&@`UIA5gan8N!J|bEHt)VE5jg9D< z5DHD^P3ptr_nyOm(g2x=$-bHDX1cBi~wKd$)IpQxmwL3aDE{!uiYv=ZHncT{oyx#MWhPw?c@H8^s*D`8RbH5G?LA$}^0&7Xis z{MQ;tiee!!*zF!tnGS~K1$pk~^BK_VXzbc7jEq+Wvh-h)Ez`1INkt`q7JnPU>lY;~S^6ES@Uu%mDeSTV^n)~fxcKS9Su3XoBSqgphF_mN zkH0lt)%jIR-w3$4+*7-u7k z%`dp^@uiqfT}hdQJEH3MijaU{K1P)n^3uaM(AKaI>x<8uM>3jX{hEW^``4FA zIrEgiyF16pfyO!-np@Q~zW0h#xa$0$vGtozi8|71n;&rcSn*vIw>|k8BgPLyB)rrm zrLqfKWmlk1evxXCmO*q0WvH0V>gpcKMnb6FqPSu+aX1XZ!Aj1#U_6mPl0Ut-31@z( z=o%|wPxb7-cc(u55b+meLycgNTYNbfUTqYHp%-Cf|1v zU0?n%8A!PG;wL7&`i#SdnT$~3N^6QcLpOTmQuNMGp%hQY%T{4`#Wgb?q*AMkfuZghs!~8q?29yD@mlnl;-O^cK6Sj zJ99EtJW9J^5Kn~Y(XEK(t9Eeu6@R8jzdj0nDw#*N5OV!0dc-NqIr-uq4!8<7i@!{*ALk*FdhD*j$ z^EU~g1j$r_-rf{X-gF|92G7IpI2t2eq@IC1c_js;v=Uuep>d`3V$Wt1aj-M(3GB8A zc5@^3p)a`c(P#N+eH@oB55p9LH~B{{Q@W&VIEliCdZ!LMZ4@J-fcscvp<;`>{X_o)J!xQAW)iz&24AJ>NQ!ir9Hthr&n;qF})xXL^J(ZnrQThj$?w9k;@++eV=uk zDoMnWL^3H-J`bkbtxR+?DGR$pGK}<>0_9Dk=5ca2)e$E5HGAZVpG72ofUB=xz=qoW zys~;HT7D4@5xtb{z9?@f6BZE>6di#dcFX_mZSG3%O6#zz?y^jrO1`j@6DPX4|H?}! z%{dC}<49Rvbu=oxwUR@WTGS(Rps4aM7V3_;2Z<7fr6rYoi^HlWnOMQ!KYEqhpIL_| zr+}nb9ms>zq#Ef8AT`T4lztC4zLFrz&K_hbr<{V6mzEo6w2^x+JBf84ZDZvZ2l3|i zR>LvTF4D}b8blhWfKnA(B&zudrc89f=yYZ{a!h~jzwrBGQdvZq%1F>=UCh#vChos<7-!EvAD4bSrqxX~F3O`?vbU;#WWeGP zo#>EdN%1BSMd5B`WDg}~WEq@#BM#$pzT5jbKY#E&nmXd>dI717o3ti*M*=8Y49c;f zMu~@MA61{$g*a5dPwX_6LZll)Atsc2x#Hx7{P~_YXl*ON=`F;T5tCSH=VejoQPb#< zk)+OW;TkxGc-)SsvYm704CL}lN760Og4Pj6*PMi{1m4_SDywzw`27m(fk8Bc8mO<_ zz-3bxaN4*TZ1{E+TCOgOAH1b$rXJl3Z($mvEx__uYcUKrYgeyjc>f{T3=2oXt&Yw8 z$@Lub^PvnI+YO^Vqy)QdZU-NK@HIQWs>GXs5}${uBgW90PO&8!VM}u>TeembwTVzd z)@#hJY6@{6@^uAJf{Yc%AwC%K5Cw$>*Zulbe*fBHHnzoac!am6lh)#D@TbgLB!k&R z93#sZ{V5+Q&eL7Gm}+1v89ouDq7a_Hc{U>}jwfSZNJgg5YJHUTvRA*)E(fMth=t*- z%Y<4RWM`i8pv1>c(_7HZ?KFiq@|(Z?oi{$)gVUd&V#@G1dqKhnnP?J1tjkzWjTo?P1+)H!e#v! za`x3E^%Cmd`wH8(l}sNT?$gol`sm=z(56%`S=C^-b#`>Keoc_Mji7JnMFy6F9$ev+MsEKGGhvvF4Yq##BPKKjC>AVD( zE0cGj0%SW~UFj*sh$gGJ;WuaU-S$deS+xOMQL$3Q*F>jTlsHrXsjfm*J|gY%QvygW zprj@f<6Tj~72J`a93xGfeM|*+U2r1B-Z_{|$!`CZYMFSL9fE&IEv(BC7FQ*IHgjaV zDS>ecu*+uaMAxE35*t{)?gg&;!zV-?K2r8vrT(B<2|R+Mu{5O!Ar~MD8;Ad73o$kQ z5a}%iK29mHwnNj=+V^qKCDUo$pXQCHHj$GrvmrUg+_Z$j<|!hW2$LQ@nZUyHh-w}R z!xqiUmch=I%p30Hkz3EEhdYej<>ciL*YekQwv(4Xij3hRlNJ!WjdXhrlk;;qeex9c z@2#S>xswTFM-qv)(%jkDxcJ@EpJB`Ij`0%)gonTX+3r?^ISqSKK|r#zgNrcxVe48O-Ue|VSAwuI1Jr3&t7 z5y2rpoA!_tfk=B=VUQ2|vE;bS4hao~o-@&fHzq?c%Z+YE$u*m}=js#q@`D3>`r%$m z@_Q1E_-RiS;qVr7FnW-jdB>tnUqp+M!sl?4+a9KM={w{$Ze~V#hI_6(lXdGi^WxI) zaOMofX69fs9e6Ak2`N;yIPTU4&K^6SLEVelwtX|HM3OOsN8rk2=VH-Jf}K?dFjHBl zL>YCMnt`x+9Vr)1yNkHJliiJ92okXFsXf5$4>67lFiGEf)5$u6~q+KnWz ztRxO+HPPe;ys_#dZhCAD8BZUDyOAs+GaZ?Js#a1>SPwsgP-r~i+{^Aoig7s()8a@Y zIY~MZ7iKI%|NIztUUVAo{Cy=WS2mKLH=Z;-X^MrZ*G)}i^s+9@e6!!(1`w|z(dp#d7J_c5l|P==J0k&Xt{ z`zQxf#-Vf2u(3OupfeStvnGMhKbQ~qZKc^AK^L<(TO7C3MyRQp>9c!r+&MG2=b0DS z7fFLZmsDCF^#4r&WlMKFFwL=~r4zObX8u2)EViTy zAgN)p{*HlblY9UGAOJ~3K~$1Hl@pJ`?a0C}josdcX|ATW{R1w&|2Ck)w3y(tCD`PvCb2nmS_~&UqcIw-IL&)P z^e>vscO3^=)v^oS@5Zio($RK+Y16xN%7ycJ;BRlSsUe6~C{PWV9occ%v(7yK>yMlq ziY@HK(9>A4cIH$Bc~ODumJ7HQe$XR;bTSs|()|75d|EET)FIb>iaR-0Oa zv_mWvbToB5IEi;QGo^2UYZsl$r|-7&(K`o-+ASKp4WQduSJLP!!Voy85b|sZoOX+{ zXoQ9(Z&MhIqJ^XM%9HVXg4}{0YVs^2dl_I#@tTf?Ib!Mrd=?Z1ll1cD;&a+@+S9}n zaT+>0*-^Qh^3oDAhA7iIF=c&Yw-dD`*t}~c{d;NjE_KmRUC-p9W9i}XU^7BkdOB;5 zB++Vj6V7uG&@pc~i#T-sKVlHm&1Z?zD$P6X*u4YC5`D07O zjIJZBYk_x266*WimIPNCT?=8w*HP2)F4z8XF)MdlI0E83VHbETT1t#yr7!yl8A#Cq zWq2vTa+{j-D4w;Z5sC+Kx*e+XvZY<18zh4*jPFs#P3NA)`_FIWxh3D=nR)@a3oobE zBXvP`TCK3amPLWhhGW}iBA+a$PuhzSs-b&%fWo{yDPdGAnvl$C8EEl1vnNmcf9;(I zlvU-`_kZ`4+wXLSP7ncUf&~;SmM97eDt2Q*5wXWuqNuTeU9n<8#fqSUfDL;kC<-bf zNRi&B&)j}b`__KWjGDYrc@y85wenpTONE(X=ANhQ{onsWI2z^q=~T3An#^aw`o4Td+KD88mAlv#P@pS2bM} zqf!=xV=UadmNiC>wd)G>itR-rmSE=6SNObs5l5c1GlP!anY*5v!&jT?Fv}8HmJsE` z1OkFM|CDjy|9<)SpCMPGhn1<~;C^v#zvv`7mI?Aah=3i#(k0k9pfveE*o6IE5uMHY zM&mv~w3(0c{l_%3)WrT(Qu6|J6td6r%KSN8eBURegXNe3Swu1xkY6%f{pBCVC(27E zgFiph#G|>si3`rSkkU{&x7~XSb{yiN5-c-?p(SyfGVItY%GlFR=iS#9@%Wb!%8$F5 zZP8Y0sOrNAvZKVRJ4h=lMZ*g-=(3>+GFxc3V+rA+gp_U)`XiC0SXP!e4u|Zq54PA9 zyE!>d+;nQ!{(;?KEHbo&;7QUf)uM+y~*MplLox-w4 z8@;qhq16)OBs3f4(IoiUuSP5u>9k46%@K9Ca@!??IDC&Ih((5wcRKm$gqn;-WW)W; z36#y|njiU(2u**(L-x%M)#}$W1f98TO}@$1kIZ8F$4O$*HrS5v^2OC%im_itv3v_5 zpUABMb;G5QO4GkXe_ncEHt&7<5jRe{k=ptytf1uA=TrR=!^F+7%AZd*HPWfPjQ#rV zN2j0`FI*zf{lF2EET6sc8r_R3=ol}dv7v^f*N7I)qsK#Rs@h1@$g)E`!T~+{ z5KJePvAEzfV&VXzBbRYa2Fo;bwpj_B zk|Oc}vFmjS*?vi2>HdW4$9eX@yj6eZBP47_7#PVKjvkcY+H+2zb?i_u_N3rNF_a2e zI#EHxfBIBVql}j0?0XHn?}q9Bwi-N&UA|BX@)&`2E_Pmt4RkQq9VElk)5lM!5{n5AS*Qq-THh;-2guoJ!r2B! z4BwA#gO1_DwPk#@I>fd}UlpZLDjI`xqL>p8bN^}T*-n6t4Xr&1ReLE`0y-b9t75I5ra}LXtM9moE!H;f zd*OASe|H^Ps95ocvT{P}!p{7u!RJs5bYnUH(IjS)k^dSg{s^0>niESOe=z6nAA3I;?TVh<*DnQrZf=a+YJjD ze#r@J6|KA;PzF(+m_&sND!apO*vf9bJ2U*)V`vC=}&TVnoBW zZSCg-lFJx*#vt17B(*_S@snLIj~*=L>HDVx6 zQgcJ~`dcwW%d+yfZ!@{??}~0;y6wMA873!dx%ia+oO|@4l!W>#?;qDLRpm-S1eZck zQ-f9@2(8t#wyv^Ci?n_xTh394z zn=TYDr>3clhaO)xSwdb2n;f<4zNAeg&p|`FP}!q^)zpX= zHdR|6(Tmu!p_=8(zGa`mhq7YnD(-#wDf;!?mDYww>yjv0rwL8VkuKC@w2M*FuPbjY z|Bh$hSV&Sj&PWjj*}y>;E9-IG-ba$GuIH7{-oh%^DKcY(^SW|LQ8${rmyRzJm(oJT zp|`9IvAR)l6yl#;z!dtaD*?GOwvg7v!W0^7Qym9)D`MQ(5p*iso3OqwmepF}V*$|# zs#{3tIs*9qbZ6Z>%J}&+&mWk&%F-k!3nGvs=B=iXd58Cx&f$Vv-=kiyz|th1$@VD` zj!HOH4_hoK0BTpAHSVMg$VJQ zdpkMVl~0JgWwzqVSZDp0UQ9cc) zKsZv&`yXs!@!}Y*S`Q?f7y3#T(~IH=T}5JuB)QrSsX)5T%RZ-HWjPsEaQK;hh6y) zUhpWNG^I*!A*0J;kgh8zJItey%%FKmcHOCxBlqn`uaY7=!x$7SmegxmuZ{^9CpXP~Klc=rVO1vnce&(Eb9VwW= z-`qYp>u*pwH5}binO>fFvN^6YkyrdG=_51MTy*L#oOR40lmrhV$N+3h$b!wLmeSMy zXjS}dHp+G_AZ2qGz|k}4j*KB>MN1A?5-0Zo+tP1v*@QQkv!Ic1S%QKnyX0Ys>_bsc zeRm-_KBX9xX}qBY$y8-HY~X=R9Df^UotRNODT#Z2uQu5 z7O&6`WGXL?8z!~`R?b$&2I5|Umm;67RfM&!T}v6XYi9=c?8I*6J5plFv|OjjDdD2a zpQEa-6GtC&8o5G!Gy5-rrpIV#s3IN<6VhS?EFCXovt`LVhIHx0niU`MP1Bo^M-K^Ete&9*%DC}@p;VUaL);jGl`rxKx&o`Xk!DV$ zyvxl6{Le5Px9bX%?^N;Tj4UC?Q@^B5&FdCneIuFNOuk*aoC|M#ktMYTdbC_oH$7L@ zzqqUW#4}Im7!n5+fhsuEn1EhNeJ08J4V&oJwI`-{_}Dr|B*4lA?=iIJF05Gm z0c$d!q8Ar9W%LMs*R#D+f`*J7=sBwLDc02HSiGizzb^lddCS&Oo0188FNM=ry%#4OeJaNdmaLBmAtIc3-Ko6#{wusS<#lS7)zP|j2m1HjRbAW#GJLq~ z6CQZtLEiiPV=U7nln|z%JZsU+spd@)%VgNAA~1!l<66o_FQ08-r?wV%Uw#z*It;)J z4aO~WQ#hOi1-f3CKr{1D=9NmXFUaf9U{Bk(fP4uYmM(dz4k6oC$6Z>}(1RHaXAy4*%sJOSOhwqcjryBm!aOk!|N;{l;}N-JqnT0;^C^ zo`_m7$hz;oX3w2^uzCGbs&gx8-=!0=wq=xe?ZDQiIyP_H$hYg(uxQ<8R&Q>kx*oE! z=wrp0VH30%*>sj%vVn5Fn1Q|a;iTcmaL|GKv1;8qUVis=zFfGF!w(w59tR9$_{qb# zbL<^#U0cOHlkR8KIcGBFs8i`!yn}*!Gvs)6?yEdF^)WtKx)3dD5Q~LW>YxzbE#1VC zOfaPtllM=$$^zwq2JXD%a1PyNUn0SQc;3!bXlVn4wJ2RyfsodOoBtHIu$X6Gd7B%anMb-vc18?cngPuuV-@gZ zJYhKmk~UA=HktMvIxu4NvD9ShIqra?c;foUkg8z()3^bvnx*g->R6|PXU)z!HTytV9oCft8F)tjrxXVZ9wM=%^xahm~MEa4oiyo)2` zc)LK{G%1gVXkQVcO;MZ<<>izYl~5ip^-1o!s~q9w49&V(Rmj_Rj%2QmhWa#{>l*m3 zrk+iWIU3S7Da*q$BbcU1L@e{Ph`P%2xdQ1%m&)Q&4&8eoCml9|L4AL(*oK$idKuH+ zf024CrHnx3pMwS+z=C<7aoSOT;D|#8bJ)luaH0WruI$Zu!!F>I;l~p+MA!#a*{w`{ z<0T%O@ifcVFDDq2$+?XTrxM`^x?Aw;O(~u8b^PV*z4^ldhf^Hfjexlewv$jLg>p1& zaYz%GUcKvrw)`XU=-)1+?K**!bVuET;+i3?w76&pMj&2=63bY?)N655^GW4Dk$g z^>=3xt0+<#s8%M&fZhW*=lD?^vCm*iMd4|s(aa!Ey*Z7?r$0%r{@q!$a1kdAJC$fS z%IrDQS-o*J)%6Xk&LHd(jYkyC6-&&dd?z&NVk{@E7Ko|x%r#6yM>hpj^l+Up1=Att ziieQE89J_{{RuH7B>qBT%qbv*6rqN4fAu_@Y`#Fja_C&zo)N!4ffEirp3XZ|5L21! z8a1gT!$%#<(yFCITgMg4&~+RYtr@g*_U_rAo36f=v&N2QWz9CSTXURw%xLZ!dkc-# z8|hF{fv((A1FWsx%;Z_m^4y#k(W3#%D&nmCZl#L66keB?tm52b`!M>r!Bj-{#x(ll z*d=Q7DS%Relyd(`wbgRsw2V!Do<6c&3&{7cl9R{768eJBEj)ve%*e#MPx;Y+VbqYy zzE5r8Gwzu5CeOdU8ndh;4GoPPb>N{~bM9CSFG26}&fM_Wb=>geJtR66W7p<+>dJ>W z_P}G5>jrbaeutATJ>5_8 z!yy`s&}+xuj2&|s2ld*YZMF4$w`DUaEz7&}-(c#D=Lnb~90_>UUDC<43b~aKIoYRT zGbdo5&^4qrHf+&=gs_9+qTwi}l4Dy+RG`V5Zs*8k>Xg7x3UKl3)O4MM8K-CGKAdvI z2@D-{2m#aOg_o!E?2KugcJfF@4?kN>gPHv5R4$uvC3-@}1&(@eMGGgs)g{3gv!8yB z+itm?*<#J>%}@fW7wTmPg0)(R=SPc)x==`}niy+o5l>uULRBsjZ6N^Za`=xoP5f z^tc#A)p6>9ow)kU!6ah4qelkfIvp_zvF{bXehr@WGjpXtbra24rN9|KKY!b<1*E)# z#6ww7Nugbeq*d9H$QvwZgwLjS#a}46fkOJPR3(=%?%|odGQBe<^@eXLEv``dch|J2-B!)cZFb@P$KRzqT1=W8PrvmH zb3T2Yzka#U*O7=4)V0~G&+asBYh>w?C5XdbMuaL+OY@lfoU?Ad!)B4)7yNjtV}!(RRRGv&4C=-j$1cbzw$4_40O;%m?2yQ33`M5Nb00jzsh6Kls3L+9PxuCu;*Oekx#;vUoOHkl zmaSOHyoC#C)H8gw;uAKl-Aw=9dnqZAY>c9kBHER;X8+v>vMIfVKizqqLf9*#C0u^i zWgNcSk+d&qtH9AmXFtGw&)!ExypkyoJkJ$(U&D;or%=(pQsF+?Z7J@$Vj0Dnd-FHvnNUu9if-ZzoA-ePmZLdHG% zCNt;Oktl74m&~baVCb-;`QqzEtX%#r#||FBq^ln#N`$nR<>kM=$|Ex$<+FwJ&_gmv z4Km^KJ2~s{Q`O(|%)A+lzV>X2N+ODSYl%a>aAq`(hPpcbJn{<0pLVTcN{+tmJf^%k zl|*G3xq`Uy%WTI|S8%2w#lHRaSR*|cInuY*YBUMYPogE4Gg*PXx7xNCmf8a{QA74N2jt3?sEu}u6vN7 zrwnCH)3=nA6p^z%@HF5;4LcP%9 z`;#|1s7)>oCms=B)1~AAe>+8MzPr9Zm72BXzs3UkCA7N5QA98z(GKaD+G1?y9k$ed z%Y?_@XW9pAa4O0$oG6X;0y@S>*B2On@p#T3K8lw=oW-**JYU zJ%{n=^$!u%!>ri0k|BQ_!KUmMMWh#ruqX@6Kv<#4PS)bl8z1KQJ&$HLD4=LTCb_5K+=F!@nty!RZ5 zk}x?(1Xq4n90~;J(7pp}R&F6=7=(fulF2Gg8r+sYoic>>v0j8CdyxxtL&7qpd>6_s zZdiRUh?sCYOc;Ld$!}K;^vg@J!evDeF-SKw(J|bX*B*X}ZWTK!ch|G7AI+4xGl{n@ zMaznsL*N7pS73S<%ELvx{LoAEF7L@l%jR*?Wv7zXvuI)%AjCIK#<7x!p^3+rqfiH=JfNAC0r53Fd~ZAEg)^cE0DJv2}hzn=9j8w z)X{yoNT%zF9vHFR$v7RbDN&BL0x0?}tSvR{FAE@k>Dm9f3rLwWh*5w%)I3&5+&%&X z?OL4dC)C_GsKM&9(jE-7u|X(MQsw;f=+)o{BC9Ad;OE+82|JH zN)p9*8HeX5Pi5JXC0sS`&xBe975y{dMO0fXR1YVRRr4z4sxOzPvg(sWZVjt8&*bYL z;l%xpR?q0_M{ee}skalaEWyh;1PzylhI%eLdn^|oa~{{-ekDe6n0*KD&rP?CW3yza zhQb6x1)4H7#7&1kp0FsX(Iev;$MCJx(i6| zW$DS3JlZ91isDOCKS0>6!M493Z7txHPd{VAQy;UT!N!eNfSTfqtU808%Q0x5A+#&q ziJjYZ{PQz)v4OU{aq`-nNV3>X6%)%A6ZI&Ksfoic{spME$=H%C}`21)@LCY?-iQ2#+Z zbHgNB=@m?TWfGT9xSFV~bH}**2o^^;>(Vob$4zBQDb8c!@u>Lkf)|+{wj;4pI-Vmu z0$t%|LNiJ=q&c|Hfy}slDiI^X;>~L~@}k43ajHp}L1oA;{@23>4Clr1Qx(N!{^l=0 z41Fd501-DyL_t)!_qjWH=c74(3|7D-m8zw4Te$43JsG;&K;rC)9vVR2tH9QS3KlT) zE@mL8Mo%)1l5SckAHLVqcFfX$W|jTQ3&`K)QnmXW66w~&nO%}yJVHi2c40ADX8~WW zUd)82-si(_8VJN&VVfdXv2ctIxfPeyw&PW9KP&HluGimzi>PRTd$&pCor# znx$Mq#M@C?^Gqtw)7L)CiTfN&ZMKS`mz>C=wTlQRLOv@%#B(y+aU`A5prO8zd#}Hj zVm-|1*PcbZv_#=U66m69Ve+XAy*u^fr8}q6A<>@cb7yhlc_(w-g;#Lx+1GR2*fW{_ z@l+~0i2Ily$tT(NN*kw!#v(bka3o1trr@5)p9B>b0ill5=<&oYlNml>sFIRj`S4ZT zJ^5~mixb!Zn{*-1g(r;R?sISF&L<}_VcG*U1hYkr*n6T z!u<*A{m9ut96i#U=_LlLLR2%c4GFTzVmcvo5gQotef$S4Am#Pf+^{K5iQ>*%XojC5 zA=50~$b!9uY~f2bH-5`wGv8s#n`@~L#4#h{wr)_UNl_6k;mi}x;@nfur!JFZ@bQOJ zOAUdDP(7t!7q4Pj6cBQC3c}yfV$8g4D*Jcci!WDy$>EnAOF=LATo_S+$c_`E2EjGN ziNrE_b;`@kcySu{Ja-Sptt!Yj`z#C6?&d5iqZPb9@nyPJcHyHX^O*I{OWbntUoh+- zYw9;~`gLdX>58w2l@+NDN(Q)cDr%ZYsC`Rg<$fZYNbFOTa@Qtc8Zsm z;P{doj3fcsb++IM9zk9H{5x`mPe?iIc=MBQnK*4O->lCNE-F?9c0Qw#X=r5de!u6o zv3D}{`*98U@CpoFhS|}gQDjVO?>3cW&e`N{%stZWDgQ^-p zD#ffqhJ*)N$&;_mW%>upX|zqEami$`Xxv)M z9=i;rch9~|n>`((LTMGwu-Hh8TZV9$U2MCF^3rxpzx^e4ZQFxq-k!#&ThCWx3fpxk zh^$@dpkzK&puQ%>WvBj`V-Fj~kWoX0Fhe0EMWu9Wp2Cz2nV01QOup$!hV4F>bUw+L zaToF8t24Ooj(a%skWd2NiPr4q3T?ofU%d3`K$%M=lrp#apTXC$fNfy55{Y78$=&Z%eU!EoqiV+SO3RJU1 z^e4kv^={-8JwrG(o-201Qrn~nI1ygFZ6^Eo7{CYLeZsImjv#J|W?xfI8>)F%%z`Wp zDVuj6dz<-l=W^x4SJS3-84Zp_P^8_;16f#?j$$)Txa=OzJ$xi}xhjso^b9^;_63F+ zWa8C#a>jngs{!PftH0u;YtCd%{d$TLaqNPvW`q)2V%Vl~fGe1Coq}o0BJ*gSC}r~a zNpy_1<$-Ar@chR!*;2QSV9+EU^$oZRIVlX1?A;^G$fLWlU%&l{2L=!h_r@}OuO>sB z%?e_bCk`JHLEuv|WD>7J_oV&{6qE*DcwJ&BFSgFgy!~I)nf!=LXT%j9PtCEm7Jk*^F%8qT^j)of$b z8Rs(Q)8y;lHfFsl`@bQYz7IFm@N zEEo*8Wv}hE}BH`=%<+@55^eM9HR?j;W5##Rb@8hWc zL#eTn-2Bij%=&N^)eSX>3r=x3#_>mv;LOv{KiCs&`OT=1rG4{}hygVjTs_w@qKy>>L;)+{Af z8Aa3m2ufv#+$_a$T}x3$a)kn^rZlmlBEnHAYzxY)GmuZwzRYCkL0uVkP(Ql0>qFG* ziLUp>)mr&)bBndIGNt?R>zD0)xBEG5#|Qo<3rJ2KsgL|;C1$DH?8Gw0K#tgOpphjmP|Se+D3UK-%I%GJgMyx$*9sd1LN-L`wzC6b!1RxRnH1sn3MCual|Da_Ye+^VnbR zQAX>}y*Go?t~!TcEJjILoJ_WX%AztR-})%~?Xb66A}j0H@zAV?c=hAi)K+gsHzf== zs0x2Y4i?Rs@ThfzKrp0|sI6?hSmx5DwZ_oBdopbQ9(3=}iHO-5L+gVU=!&hyl)0sx zG16tJP53{|pZ+TrP;;-Z{^jeM{G?&u4PP``QbT!q0|B=hC%cwHVLhw2EaTnJzu>J; zx3PG2t&m3u#YFv4q~=FCr=VOjuw2Et?$o+7J-ha%XOF(LmlVN5TJenLe*O{L8mfsD zMO7K8oKRKLw?>`>W*xY-@e=!B-V$96<>7gDiXKPZNOym(qfhW{F-vmFP{|M-yK}%d#xQqo$x3RU+Q#$lO zuvl?t^nk#2kWHqP=3Nw@QhUfl6gT%oG)71`(?U~KGGgDn+>sMd6F#x;c_bX5yRNy5 z!v+jy!kbA z^Xh9_5{6U|!C#h+C9rGHQVt%_i-Em%p>6991Ou%xjZP3~gC}URU5x7m(StJY6Bea^ z5sG?NQ12fI?>~~G|1&G$pZuKPXaP0zOJo6w$x$<HjuJYSgx2f=CCw_U?icABvbPv z06Z0l8&JAKrSJ1N7`%&Vb%s*{5Gmy0$N)EK#9O8cpwx=XSyk z#1yjtC#bY)J~-xpQ&_=<*?VpOYZ9g3o|d zX)vB7^hk{?bESZCFtbz}s-ug#Rd2*$3y#%@9%!UsZ=fl&n%d+xmapB!^3`>$UN1&a zIkwcMsLy7UCVx}Oh%Ai_cBJmaUD$<+-k`?-gLY8%OTL3!0cC#d- zUfH)u7wJ+K)A?ORf-bE>?9?Gjk4}{;>A56cNl8&hLV6{*rD#SQT&;qfEAdjAa)8&J zh#zkyu}gsa{rMmC`fV1Fs(<{4AUmoBO;%GorT`Y^pXv@267;S%dQc3AYuv`#ZJXFw zT}5qu6HQGv$rNPs{;!}8*U5vFd8+(3lXxtoZ1`d!lZX}|8ZbzN5}2k)Ws0!9A}}QI zC5mQLsE{_4VS%tBWfRE8@Jkw@mB>9RvobYiQ1^nM<`NAq)EF7W`qAJjfbSp1gKwWF z)BnZ6^_wi97TK)SG`?U+j%HaDeh`}gjB+Xo^+EnztngYgI{o@UFd82_Qh12?PRkBe zf=BT%6f|57p;W=^sw+Sy(T=KlOa0?( zl3Ls$zDGI!hZmz?bhoGqe)u>aq*T{lbI0Nr<$hATq|PW+iMkejL4bI3$K~@!&4=m_Kb!gu=@9?EHE;R< ze?P{vJxlR7T0q-`rkpuc~sTTTPta%;R-#{1kA1zL$D%H+-6WfSKsSNk7j}r%=W+3OZ0nFJ%4RmI|tBlx@Qy) z|7|6P|KDZeFEr5ojm--#h>ZX0L=2HX5*3<05SRpbYlOo1Z-94HC+aVXF(}vyse;g- z;4iZmRadM*K0_}gfpsz9Mo^_^GzDJ#f|j!VPgK|5EZ5r@x?fZvLoJh!(8|DyN_C~S zoQjO^u^UGd?a2qLNf^2mayHeH#uBa8E#tDC^W@7^1jb8vQ^f~HEM8{{{vxyB4Tj+< zhT*Y2;d#sHRn*1c;`gfNeIQb;`WQ=}^$Y}C7$)j8+|S}nrr@6 zd^WMjsi09+${Pp}2MT122?-Rcko1S0ear6lQXnz}O$al)pTV~y0J(+@QFqbGX}9cX z0d!T5>$k}F=L5XORSSwv6c+xZkJuo_TR0`TwXG_G1{vKT#=*0FjDsLSxA}^Ml%A|( zL4jXu**U%20mWZXTkb##Cz3FR3MEAODHL(4<#9IuJNoh2$e^#J0$C$zf}0j%TyK6t zw7$e$-01Sa%!@zq4G{GG=`GA4mNb?VPl=Kn1gDBeK~NZvPuAAV)K$$^1tbGBTY~K{v+P^q} z!aXnsE#O6|uLWT01v}aJZSL=PxEo_tkRZKQv2hp!31F;GaTmK>!n%YDyTICBL@5+Y zXp3i2sIEAIw^dgZPhdm7^$NXdOxdN)EK!g)nTV2`>|E_7tc*_+wv+C`#}1zA$MJ~;7_ub;GzC@G*5XE=T$NuRp_D+yr&#rXoDX)N>?s+#VEShD_P~b-}SeXHCEM zatSGi5i*f{)Z;g_T{_!*++DSS&vbN(Mn>yhQ6W?coYn6qZsV@C{CFC48dz3fph7cz zZf#c_+}+mz1&XhluF8o4zC-hZ{zaQ*+7dw1hXhj}C(jZeh*1TfH1z?5JoF zo>UrMzSqVahMc$}wv<2?XTX)E4VAtS_>cqIa%6t>zo$hee+8boOv!dJH*5@L`sfQ3 zO$VXi2P*>?z&DX+zl$T?2jO+DZrV-MLZyVcHO>kc?q=An_UJL zY~BrJ)l3$~+vhsjEZzZm;-9V2rjr6-58fw)XKQpcZRq|g2Cn1e{!(Q|C%Y|=u{I7$ zBuIrUXSr5Oc8*uPbUogG&B1DcNgRFyZ39F_BFKnxn;_^TLW%19UhwYM2wrO>Ht!_| zKTyPH77DXJ*Sw$fC9bx<3E^L16aDRREsj(BRM?_~Ti}>WrWf0ZbTb_Gcisr)xGS-M z*^OA~OK)j-389`J!dgUxiqNuiiBhVO4k(gT6-_R$Dxa<>z%b|rO9ea|F6S4Rdid6x zJntKF5U9Sg{hS{oo7-;j-rMMfJyH{wPiC+UAoJM+d|@YR5Qs!ww8KY~N%FiVo78*i z9R#;C(5UJIN_ewGXFES5=w-F-wT7S-bkmC^cYbYs%Rw2ssje{%W7{(p9+L(R$DHw> zZgXh-xHGPhj@R7k);+mQPWByax}~ z)4a}bm~)Wf?zUlQwE3Etm_QENWdON7hXl*FhNOhoC(sXvkDTxK?Gw^(BO$4?g2?5z z5j%++?p=HC^E*D_uQ4^0NV{mp^M6~rpd_EHPwMS7n;QYBVSA$!S!=dHmAiJV^2dqq zg9-DdRBCv8dghA&v>YrKyf3x{9e?gp$j`gmahK1ef=Cjm+Fg5lZ9|J+5No7~ zpuK&A5>D^&KV4yC)7y`$h7*@GUltSieR!Pq-|m@w)?Jjz%u(4kL7k$;>0pS&d_<;= z%Ht9_dip*oDf>M$5X^TRc70H_FL(0109xqx1G6u9(!P+;+J6%*bc@R2Vs4w zLW7eKVXVrQh_^sinwddyaTY7rvct9lMjH&m5b-}=w(Rt>zuMSswsJ`=F^}Lc7geZj zwLc(jahbkzf?JwmtzD@mryQcBYEl?n`_{m~1bfKsY3>WO(F6hm(ZTk%nm&q#pS=^M zh3Z~#-o;Ko$r~`(&zNtd+SLb%1hn?FO86ZO{ArDeg#aAD7(W3f(TWSNSm(J!-m?Bt_4GnI-SlwKfHK8RFw5;Hs7VF>zTv{o-Ljtt6(uD2XjEbxlBJnYxiz=Qk$q- ztj3$%dV9<{`2-F!p)}(JXXUo^h5!YxP#>a6--ov}&8np_nm&kZ0UkqnjPxfdws-Sr zI@|w+-*-3+n(^$<7RP+b%05)V&O{nllyAp(3S*dS{V<6H3vY;{M-_>wMA|n11};c_ zd`qL*+ohm%8{O|GQ)n=0HRc_uYQ;xiTM;k%WS-eQ>o=m(eE$B_ebW%Gfr<|%tf;5eJp*lS}>Spr!Xs67@x}O)$ zmpjY_006tY>fiKEN+=LovxZV#0Y8EFb=(*^1uI3qU*BxyVmxFbZw#@$J zTq6?Drqv#Uqje8-$1-toqAxnk&Lm!)U-xiI7E$0Tx z=h$-LEBsi)^}|P7Zl?_2PuqN)M%DgamHE{XK6(ZZq(yEzW50HDHlfygEVCLrR ztw&?COy?5V^?kd3>(N!V0{P!3@XD#8^?JRfv8*;SRhikj8*AksNeb?GZ@|ah*)jX$ zSx2KEuUzl>Wns@DJ<5FgI(hNa!<@ago^~2<46tz(iL1IGEAK``Ha))5jzF2B88f|f zuvy9bdJyN=DvAF&qT`e>w?C0NQ`hrRRn%m9U6PkAm5x8=r=bUP#zMl+T(~688v3!g zNIja|R;)7pVRV#onusR9FGbVX0|TSY|hL+etm|vj}`#@s8;+65uE~@k=MyqK=PTOcVbJxHUng}Wo`A^tEk_J zjUjQ!o7{HuZU5EZJ%pQa4b9}~$MYnapoGk>QR<@d`6*IVR#Ry#d=g7^n_ocJwL$LO zc&8#XTi}cA7R)S1H-5?7n!-Kl5-AkGwO1fFx!ME~V>lT8c*(Mx{@1Crtjug^8!jlg zycL+ZmIdsf4KDOqCp;dM*p)l`ga& zRZ==k-nQWNU(@1U;YG&BI4o%16YCrKDWSFt2|X*(lU)!%|9M!8JR=cA&`(8vgPKi?0DU4j{xHL$niw=T%fouPx|btf4f zw2*u6fKYAC)&4MhLl!6=^?tq?XUb2PqYthfj{a`IC+-!>T(qSc(!9P*ypV*&V*Yq} zN+IkI$+R9*nPdiL5)}sHoSKybo8BKmln(V82B)%-5%N0uJOX_D?_tzK`UTu&q`_LH zf5DkJ(W50p0KEEtIfjOQraND{MtlE}%V9CDOOqoA;POo|G1T{8;r7na90UQfp zl+W`G*zldda(bCY*VpEE97rkj$!n4}jj0?g6~Ci8{OCfxBDGQJ!5+j#zKGj`EfcU@4FKS&~&ovsMKgOw-8kCqDyHX*Y#NsaVY) z?Lvb_y0PVM^y?D;O`cs*HGd-<4Nj-?AuGJBb^Y#}-tHi=(L3G0lf;LpbdlqrD(n*k zGK|ZrUfm%MNmX2Hy6i0vu1z(~6D0*aDL$`Z$xrh`_T^*7{59EtMX0u3V|BECMP~Mo zphUDA-{xw)48s2^$_{MQe_d=!B~jUObmb*c&^kb)&M8R|*Fm`I4;-SON|CBnb_OoQ z)Kn3O2&QR1_eI7-7NBj6Evo^Uk&AwNAq zch_may-q@eonEBnSDkHfB~h9(6KWX7xg8Ai6NANt*;z3Ocw-rQBK6;Hj z_g1I3vVZfLt6V6*3g!0gUZ(96BnLnq$H#5GQXNF;nq%l1mhgh1tfeT=S$Rkk(0gF% z8^~2~S+pX*Hje_VKYBM;LiQGnb*;hVCC$WS0}IorQ9jJMn(6}C#d9JK2B9km3iEHID*XY&ThyklF3-_G zw~Rgb_SMh&ae{Ot^7;C^itu8+D&t7-jY~6z+sH2nD3}->{lP}c+xy-Dd5|gR;~4=? zy(;M-1)Bv{-7Rmowak4gU+wkPlBplnedR@Eph_N}fS%J5vw;A1+ER5Y1riSuEg;j_ z6xN0Eg;EnD6}w^y+5-u!A_)`OLUdWDN?nbePx^+$fS3$+I32A0dqW z9s*4L99mh>5F968`Sg>?W*RT1Z<7AQe7c46XLOqvu0~^{K zOtiaO&8AYB+_Pr(1RB}-v=FU)`8__bS8GK|et1uP{$6xiXpN8Y@Oy(AVe>;IZ8|6e zvFn2QSwu0HUvkp>%VnE6H(VTB>%lA?+$0$e693s_-{urnKJNO4K@+3XPqW*wZ*ou- z*!8+;Lq=4pF6taMNZrU@99B?0!mO?`{ma7x`LGWWl3=VF!D#fHIX&UsS-}R-@Irk2 zH=ExI;R=shlrz~J#go;58eo*3CS`NAbNsodv*qR*+Hr~_!4(p*6U;QqpUiZh@R1#6 z#|RB2T=Q^gvP2TWGZjjm_gD>k=-?3`EX5Jx!oFd+>-E1E>pz1&Q%*+W&B3y~kh|RO zv)S_52w|O`a1f18hi+BAI*px9Y3qpmAL}&zLG@N>#^vGL6&%_13jO5Jx6fET_eTa{ zQ*7J@JK4VS<;r54m3c8FF;GMjRuN#2kKiwvb4#v_;NtA?1h_lW(y4%nuVuyfqi=Cc zIe^+>y>fB##he(=Ds|CJgIgrv5^vE-@*e?%)On49$5^-)(omMPD4)tf4YKBbtyHxP_y%lX$e~tYFao)9`{i)C z99bo2nR`6s@zOMSSLk$;jlv-GSmro|oJ1%|=*<=~r`tj0+rzoPRD$@Y3zlib5?t9& z17mjZ?v+6@R_nh^b)4oBKn;o}7uMH@`~^Gy9)J4iBT^IFZgu)Ml7l6nisxMQ&X_*`V`?{^K8=UkzbXHwd5d3$0xGIwaSEy9N zt)bT84^}^-?xxLF7tN?ih^q2(s#9lnCp~Cr=#mg}PivJ7qCDURQ*M%;LQx{7S_9G5 zmJFJtSu(zPUlr@78wg8?uV_mT%aD+}Oea3G;h(4igf&iBiwH>!2}$^eg)~@ncF_vt zgn%yW+0kW%kc))n22t&Z{kLk7)*d5?R_X370F0x(DTA+O}~uT8YRo0o^AhWzSd`p8S;}ZYMSF5Nbu_iDN=?q4C`wFZnz^ zd>ow3GWk3!$(F@Uws!sejmMvGTYl3kz3c`v%esRaS=m}igEjIP>j0`(sx2p_ShW*o z#7DK;1%*WVD`*vMTyFAW)1e9+G7K$j*_6E^Q)8NuX;53Jj zdH=SSq4`4$GH4N+)R1=#^6Ha+4mZc9buB*yD3+OUDiA0$XG97ryDtgGQWbRJ=6qa^ z247YZ%Xf>Pu?c~?IvwZ&6I0Xav;_{D^YOxo`SOD$$cNSGK-JRAmjBntE<7RJTNH_a zq;^1aK~q!=ERo>x1R>tZ5&%D|g#Zni#$ngX7ZP5AZDqyDbO!MHIG4N}`zCq~fyOK~ z^(R~;&%-s4mNN?{vuDN4wDtMv>g|<$gy>Qyqcyqk=&Qad0buCWC8CIn_@}@4wkeN+eOv6U9ZRS0^gd`97Ma9 z!lf;7f|ryWEl;PBV;y9WEa2ix+Xwwa+(HDXgDA@Etl%L#_=^_W|I`rj!d$llpnDEi zLUu1OsBPD)sih*r(9%e+kS1d?G!q@~1{=o*`aywCK~(t&DJ!i5u2A1JfQc?2G<9Um z1UdbqFH4v^QG!$F1CAa0i(PW7fB9>Fu*VhNAI~^J~^m|@`gh=ZknOf=f zXqOWUO@ixr8FwT+QPP>-H#!nhDAvFLGmTjn_m|SJu@?z$j3a~7-Odh( zR&j_d7h>w%L@kPNK3o6k|LN)LBZP@1oP$f#zISFNC(-j6jyILu%>A;8J8|R3V__G7 z;>&gTdJO_P*l047mX_Y2(>dI4Qp6(IC0}onjBR=7D!NbVf?E+3gvcL&b}>pchsp-3 zliRzEKRd%{@Pv-o6ynpW0wXsfz}8h!$fxrt#95OT2sa46?*C5nr%|pB$8-XT$nYeQ zKnneA$=JQ#c^jPBBgmRFG9(igHLx^|G|4w$YS*lLePJCI5ld57KRG_uq{V2VI1Su? zrv-}m+LN(=!?`&};UfYc&iUNPXUVlx^P%o_zKb8o;db5i(#PzgcDn3myS;7B|=qDD){B8jJP$T3DiNa=qS$hx(US2~=58fz9jfp2cpHEoUZb zVj|GgPr&OLi^Ds)wIwc)rb2QngSFNA`YDOKSQVutH9HE?ief)R(~S%~96nN47OS#R ztrGa!8q3RZP;9cAgg{tJ#n2ZTbVp-sjcKr;cz_0MN6ALqG%BCLo93JtE~3#!8#r_v zd_h8WMSDr%)8n#HIwU2u{W7C=#h4*OOiV{6*(qcAtEFV4o=I#pC*t6+@IwlT5=%x= zLU^;JEbaTGfskQoVlS`DY^(PzSl0*g#m9DVn7h;M)TJt|LW7icda63W)PRH00%{!{;NOEgLS8)-avmeHycmOqnG85f3=t653+Ujf8wO0Cv< zqw$!$HZssWFCTb-DeF;rEl=`8d=3%~#2J2p!KHwe$G;pWlLi0uZ{_PzG0X8D=I)5J zS+Gk4OlfJ}S~cDH6lQHfbO2=%*alISE=8C;|DhiWpP-8QZZWu#Xt2CrU3Og9ULy zkJ}wYumdS*Y^dNnHRPqA`wv~88=T*x_Q1rzehNC6NhkVnzjg3&lfTT(pGZkkmMv*g z_b!WI_)MJOVYEWUSakW-*GqgMeap!uohq$93tu-KggLHb)fp_O(>dC0y7<5@Cu+Jk zP_Yp=ExZiZ`VKD@7mbYaeN{29d8uN+NPY=G1z9Xf)&3l={74(Jbl|mK_2BK~^f#4b z3&9M8rSx<+OB+G%jG|aMg+u#Kha;NV5ck!PC#*un<0bTBqqB2`ynhGLGt<2V=ArB4 zvPSp3>{n#)LdKMqe51A=y71oz0(SKo>2-UbO43U2*fi<=$ZDbpjpnQ5^UCskO%K{& zZ!Z5*w^5@a_q2lA9hwgOVM`@w%j^vI>_uYg5+1}Nkhi~ciePZdn}yq*9S!5g5f6%wuoZ%^FdX+;FCTe_sz+ zhGtvq-<@lb8;@B>@zPno-h}j4_>Em2skJtJRA&McPbyEYi)RV`2PNWU|=9@ z7Yh;c+ax}icuS1!X7f240tol!+x=nRn`dv7MrN27hH1wvek@1=FNC-o`g6?vVN43< zb{$~M;RL*gybO?(vEtOw&@xh1>YHpP%O0>s$S_pSi^Eo5`+S=s1?oZJ-+gKNKEJ78An^7NvHU ztc%a>!qrwhkP@Ps-qz-(qoX4x7E0SStBpOL#2@YFe6{Tk>8l8EM16}QWjOqe?h@|u7+XZ@NCF2E333tuWgEUuzx}BoURTN z3#Fc-$<2DZI@R;uXmm-xfX^UKboRE@6hMQs*s*W|T+9|8szvtTcFwmT(;^+L&r!`X zq}g2kZ6__1HC5Eobm{1GOS;QfgRpE|)wtC1XP}WW2!cQ~mH&!Fr{N5;6*AsmL>12R zFQ?W{KtK&a2DhG{;QDb^65XGT5-xke(MXqfKQA26_xCH^-&|U1(r&Z8D-3kzn-LgS z-Pj}-8#HHC^p~2X&i|0p%XdAfVv9hRfTo&r0ka1Z4ABRSl;$RBqG4FG?CuP%PYTI* ziBPKAMVGbHD}NUFR28?oUw5v&#^I)>q*YK!8Jlmh%Wg)-Zy4IEYk2LrDv)y_oEq=o zV-&gMv8rSk7PT|t13^Z~l~<2>kbR#XE%Vf{mv=Obv~yFuoOzT@m^-gqV*y%|vt!27 z^nCwXuQP^1n|2QUE`oqji`YM?1KqI&ktGf7&u_q3d-NI8@&hs?J!XR$)WzKmAchkB z!(RfI`PG5lGgJlN0^R*Qi7auyvSo$4oswvP*+9>LHfahf5#44uHeET;$X9WRqJ9Tj*2r+u41i+4au%T(|73l=YSs9?sKq>g!mEnY%=@8>Um{JWp` zxroo}jb9uAX*qfyL^4t6$H#kgnuT=3m(CNO3R!-}Lxjgmwimi~WT|*>C;e9`8&U5| zQ=ifTGn8yu|ffWTNhvT1SFclENVaYag==diAXx9*ZZY+ z$`%L)dBizttCE-AE@>tA8{j`Pys2?j$#)6F>-_}mIC|}%S0M~fd4)rrv%od8xssa+ zNu!A6TvMUcPB!j97HKZktcavI{cl0|Th?6uIuJ<%`D1Dg4^ck9OkQ3nNhGUhQ0>;w z4mKI3o?WRpRk@y4ahc$2^>NdYW!PEZxs3A;X`;V*owq88;Uqk+1#5m?|w5l~|Bg{R)p zk8{%-A?TQ3jh{R}q;dal=uW4-PpfWUeHHeh9)SCDk^oF;~xpc z@+|fBG#c*hwE{NDLjIZ4MHn7FTT=7H)}G(6QR&PMW#1EfJdba^E-i7qFXCH#)Ic#) z@#L$pGlZ@m6rUB7XdtVn&v_#;8l~yV8JJqW_EVU;&yvrk9Rr|6zo}aADV#Vc30~g=w(7 z#cV|5t(q94n;@J0U{}49BIEGqe0RlN@N0Fvet*xgYVEKKD6keUW{4^&bQ%tG^3=)$I<6Pp3 z5?#hPlQ!JQEtscr!I2Eztdk_j|4H{fEFQVN@$q^8X*=go*f?ru!DUgm$Zs7-#&s;b z9*iCc6>L4%bLh|Gw*4xu!CiCcRHzgs^XmmdH|vE=`m>Q(E&*1Ihfcjf2VFIi8evF; zAG-vi+JTblA5XyV^3_z=?fsh5cC%yP@2g8ff<*$qIlTN+Ze|J5m}1WPKKtUfrf$dO zHYfxK9+1x6g;Vt)J+MHqjj9(!B*4CbY&#k}9!xdd3hueP{lS7y145g{E-`ksK>D~u zOs9i+&5tjufl$P|cry1|n)y6>j8B|+%S}pU0ImpZs5I=V01>%W$|ZZ!le5eh{uE3L zW`deYnbP!2jf`Imj77;2R{clZP;oKBkC~TNRngNn`as#rMMudv0z&90WbRg62xMzllLOpscY)~T*V!J9eLyP-;-BD|(P4=; zS5bt%q4v^P^gO6mS7)Z@*jnD1>{A~E!2gWh?#42|p$u1OgdHoU9NuOOu0G)MiHElB z$f~6?@Q^15UiX`CmDWol9+_n(SQ4vU=z4uq*IvroX6oWQLRXGYd(A~zUjt#>-c^OC zfx5$nPjW4XB+!EyC;YB(Z6FAe|MRNp;^N}w=H`KTpw*sBMT@Vr(eSDr8c_FY%nlwX z!o1;SrgFU*;9Z)$!Kw}rDrm(FyY8yh>-JfrPrJqdmc$qq^KFCklIcH@D?+oRe~jK+ zdzPG%BUHWqerZyui4wiw1KoHkzWjG#UMJb&7D%SF>gpjKz)?qUaeZ#d?7{KO@!$6b zq~+19bSJCJZa67F{Vb3NEY6B`06w`fN{nTpINBuIl2sQ83_3`t^r)UxU;XcZiV?D3 zLtRe`DMP|eEh}%sb(;!@?44X8rA^bSzU8w?nA&uNId*R@6umIW%l+;q@tY?thSx$s427Tb|mGvVT z$pD3+{%h!R*2J*kmK49(s)%~qiiPTZFm#x*maZ+N(3Sw)dtD0!d>gK$Zuk4U&?wrswxP#{c7B zWp#OAwLeHqw0r8mp>d1Z7|`hGmF@@y!m*Yi#&d;QF7 zPhUOX1=Hq=kvgdo!+vGwemYmx$&F&mtq+?@Y!NS^ESGow`0?E^xC~5cgKNd5ZfCdK zabDrY|L)#pY_@I)htjf_b1TZBpTSoeqku56{JfAnJU<-)?FZ%GQ`2C}lOMDKF%S&A zm>H=UplBmZl1c%T<5pjc9Vss}Dbg4|uGN7Sh+k=e_6iy5ls*D{j|rV4{nYI9Y19)2SLvnhkD|I z-ujf%wM(Q+3u`mpN}kDDJ?(P5e7&vZbQiUgtDDen+jafXoe8lX_$-!wK%!e{Ud7J! zgs&%*@T$qVfb^Vdj8&L&{*uFg6X=qY&Vsg{qg6eR&cj82FubY{g=8K#R=zngtKc(? zbu#O)LXlL_4!8n;PB^iq>I&f2E)Y6=r7{waSg@d{b!B0>QyE#dBQhXYM326WQ`HWMoapUXZ zcyVcTePVdhy}rJV9>hY+Y7u6LB zZ<=1L2mwgUP-RZ(DpcuF;E;9-4y)v4n}htgdIRcq}u zm17h$`y90@&aBy*2-^V+X2}m3_}{;CGd{dOEjR$w|LH%lJEr=9pM=>j-|S3lvA2LHe$hI3goSB)JwDz56$&{m@pU$-SPdr&L?c|V&Ml?&CTHFai3VE z+$HNLKCbszS&r|y2#?}TqwlPzv$&mKD_NnEhzj*bT`;GtRrV)ARSslTV6;A)cuFg6 zRl!?tjuxW;!s(VUQW_JOPOMAsyXzRs15Fn@$KX?O91vhCxz``uQQs*N;NU$I8Zm>W z9X(%0HQuLSM(742mz^I$egB8-eJ~3R2Y=^n4f?OY5%@r|GkFg~$79U( z+=}z9Q{$glNP#%nhJ%I4H6L{|v(vBl$37VN{ggjL|M2l>r)K60)Z#L(o3N5`jVwn> zWwX>&Raf>n>aRjFV@|VOPH^Ywn;7#1XN+?a=37=r#6nnnhP;u9O&0}-r4-iX;B9)moQqp(t6)O)^2rxNnlaqAY%TQB?H{PU-fZ#UZR2346f)~%9067Q6m89++LTu&N8xzkX`UM zO>~QNSWd&+9Hgc^)2yohuEi@gmI#n|vM_@Nh;ZWFbf{23o2$GpTk8=Fxsx6Q=<(H` zWrDUqBH-QkOr`d?49RlPR7$6y$C?^3`WszMN7M#j66J{Bl0eW)VlYZJDN@A8Eu;Xm zEwx%S;k7^%MEz(8D>O%AJDE=Pd9TY6%Gv1?QMIbDGKu@QS}*l9mj6wXaRd0?1v)Xj ze|phaVy?VdPk_;j2zw-jx;doQw`ic|502JQ>uFzWHX1|6)#G7s=GK5=?0;AArCokV zm+i6rHv3~Lettg8F?jS^t~2Cm>>^8MOwXbu{0Nr|lj>iPIq=N>$Llc|0NWfa!#)%z z8OUOLKxH|6k{>}+D2Zo`#d>jU$TcDQY#|XOn(Rff#O{u}ZI+VHpVzl!6-zUVtIn4a zv5bwZWMqT)tc}Lj4#MRU{aJa6h6^?!{im;A7YqE`?kj;3wD4HRP_BVv=A4aRId1fs zZW(DQlNt}ghb(OKKp71K*OT@d1?Q%jfpiKr`hpQKpv!B^z2wB|Dsi|(jh#P)6jDd> zv*miYd@6YZTP+-98b@~_H%UzgR|X45nLhZjt1y}h?H zZn&wLjba?yqwKt3>?ZgGQGY`SSa==7Y|~U{tV43cL4ubkW79d@o<>-xgQ%Sb;U$Vh zKQbyrPZ4rBE+Ok`wqG8!wOiFVGNw0`_~!zz8q?=%G@C+U=F|FuB;$?W3ti4J+4;{% zsVC2qH@{om*N;hBtv)|KqBSMbP*^$5ihER;931zV9o!Szj+$zpy*pVM!Fj86h_^Jt z`zPP8wj^ic^W|hHLqefwVN-S=`$1o~-%&>kcEve=UWQT4@|@_W&JC#__uM6_mO6&; zWiB}Nqx2&_$l*-PlA`R;HRud>B`3TYme!=wo6HfdTu$b(hiiQi<5DdLV^*x zka1OwV8X@Jfxzs|wKgsge-E)?9VK zld3=Q%Ez<)ZjQ1rr?GVZrP3;5iX^QFHh?)x)X$8UfVV+zbG;^uV#;oN5H&pI(9QMq zup7?1PyXYh+itblN~qbOT?&Mj>ij0#+`+)OnpWJv*VW3~TVi2T>v_FZrlFYR6E(HK z!B-UD8nxi{@EmCCV>3Kib!*e8HrcC0w6hdt+O6@&rb zedzLe_iow8Vx+jWOEQVbf!LD4J~X_-k$E~3!N#YXfkFl~KlxPiF~n;v)+LA0)`}o{ znX948bB;m#8Utl=1iQj5_m`1$v&VGkr+yc|!DIm=3&A=>@lRvZjx?!`+b$Emv&7HHtCuPs2lZsbiz906hc46vp7@1_k5elG-+S9bRmOQk~4_FXU zL_ozWAw`9o9Z@Ex1;nIjcUd?<7v)J9`aT}Gioo4H00B>V4%{98MeU zxuv{j<&lc;4yKuuTUYR5CIU<)>%b8eE>pM41&SUEJDo;-J!T0qF|m~7(<8HnN}h2? zpwnrtffs}7%@d1UX5*#Fo9qh>k_B5bB@f@cEz-@_-S#qe2I_WW_*BBFU^Wg8?stKY zx<>C?#M;aPkQ}#T{QwJuiO|?Lg|zJZ5&P3TPy6omxh=jjwWIGJv%Q|5QwGE74oz#k z2$4pokC)oVQsZQmq{VsHmHPNy8wz_ud{Ite?B|1v=1FKOhGcn(CHs^1V0>8_flo$1 z`WS-3oM-$z5u;CVs!zM9~8k3zg!9UQA8ohzM92)B-R%FCeFipAk3(PvZZ zfY+H(D9-?HE!W#)#Al=tz?4k>KH|gqQ7z%^o1U`fh z(oT!bhlU4%>+5K^;4s&RXZ7hPDppTr1l_<0tQrvEizY-Paj`?7q>41aBqM>O-)VG$ zbXn|&{tm$zE2Ng%9;rdMARK1^2|T`R9)ADTjsiuvOWj{ofI9#Px3vPdN^ghpc9Mp^ z=Phw@QK@n;X~Nh^+Q~-tx)#5SZ|}`R+K7fsrJ>BjEDm(p_zay}hQ9i1Huzq(=SySy zpAtu8@71o??YI62jM*djF5>bEK`8>cPmZ`6|2mFtf?m^w!(z?<;{x3tPCozT#qR->5gn;;zEoSh zbZ9-t>VVxv`0w@d92IKtcF+5XQ4_PcGD1_o5c}AR@uyQ8PifA}Y(aheI27}`XMPjOIoy_0PPA9rA z_|yVDeAu62u!8i%{ilvYhv&)Mz5jWOh_GnhMXaU6z#&OL@Ibwj=&T6GjsDi%yvNe% z_6aB)I4(gd5r_&k>1|&dPQL0_y@v51m7ka9pL5uaaQOZmI7-+V%piFMVzr%l9<7!z z-V_yWMqu$l@Hxf7d&71e(KS7K6=eFs;$IM;Ie!U>8W}sj|xg$&60;PH`A;_6@Jd(%CGcBl?g=FrM500mUny zZN&+aHr`f^nLiNwF`oOBiyzj#?4Q#fXJH)>P$H^$5f@Q%np5qS66znEj9J0ob+f%v z^}<>jBg0`KkzU2V>O7WI3eLc1HrTwNx$!t<15ZVND3J61rfpSG4cTq!o69}KfUVoB z>(#2~F;JYh&1&|3aV?S%1cf(@&7`@nEsIC5LP3 zaviX}y&YIhOEAI>1?PAMe)T@UtLKmK?0%mb)w*i>VfGwG7&rv2)GGdmBhkhXx_lTH ztN* z8VR=*IVQgMGk?7|1Dn6GhtR--q^9ABsl{_Wk({F+p)kp)N<&^EJaV??mL0^%zOGCJ zErM1cChUw;mWGKjovyTig$ce)C^m+yq1IE#g}k=B)*y*E)eK`oC5UzIWC@EpXiE=b?p?b6~U92!? z1vu5qxk~F@2OUf^x=NPUcN5v)oD*LR3Dax^Zr*^_+}3OYmT)>QE@0*HZ&J$%$(4{J z##1FYbQ^}tX>B>N{Ekb|hhQ8}X7N}o%k>%?p{1tEonD$JZEC1tc|W@php~7y5b6p# zG5{<>HyQ1UlccPyJjC&DWDE)O_G3~7ki*peO8P_M>_*Be&7gmd0Gncm(_Vu z%_m~E#|73zE0zWFmAN%02r7g7>jL~%+f~;g!N=n_^OEqg1=1_N_0%kW;(>vKkFVlN z)-6AmN9OAVVeSf`iJhM^)ZE(6t8x^x&Ah_iOjpeoo6__xG2C1$GBdikRJ5p}sI!(g zje>YqbH)eFEFW$~_*&3Upg`>1SX5%)&Gub|`mf24jyOhN2OrYTdqRM>8iFb~jx=hN zn=!(6H1fyYaMDE3^K%cGa`ywMhEKwPwk88%3VN71jO}*2!~MSzhTb=lGf};(cf+wW zJR8gVbvU+B@!!TqJKtJdtIxb1zukb&iWCovswL+)hVw2SUwLUGvwV_#eIxVw%bwF) zs`04_+0}4Og0ta7Ftt?h%&e!G+aH&wXE^1l6tHwvlv^ z4bywIx7;5WfN#B|m$o>Pq2(8o$UoYZwfpzOeygawyZvz%dN{A@O_+?s;i%w)M5wUR$_u;hZ^h zdXV#-_2oX#2dmefcUC3PoWuf=fhOv$qchFX*?!bsi_qbwvfNN{Kd2 z8&2<~6EId!fjh0#Lk3-)iIP06C@*90&P`N+`bvoddZgDJk0*|CXH56-3Lb`%A_B|A zJQa?dv~#38LIvogx6P(;g-14J7X6O)7ubwy?Hg>u=tEPIk?WIP-6U-UU7k)RK*B&6 zU5=OsZEYQU#4o|0+<574pM5);;`K$+OWg^;ZMWUFdGltEhf&$PJ()2h z^{q+6Rr(o-)4M{+8HPuI3vi@9=z|?YAU$eq$?n~)V@3w}Tsn!T#W7QMEV0F6>E?#$ z_^SNc8VzMKKl;mVABWf`ljN9;HVm-OY_T}4BImi^d~e(C=7*nHzN0?OJvdASkbZ*C z<3724V*=z=sQ|e&Fe$H$@NCdP`K5zWjTZr`%q`s5RFf$1k`@2OnGU(WZSmt6yP=RY1}QYZ{(^{`p&Py_Kq#@sp>l zdiCAY%RR(a*!Vh@XrW5XW|SUIc8yJg<0HVC%(F78q_|UhGX_Bc8i0s>EEMMP5!SJ$ zKv5CIvExtS6pKzyr2KzY4E@b39LvixLo4*=8U`M!YN}bLWme95hj&o{rykZ)waZ!t=PEa?R5eI+Rrb;Gp482BW}5rKW+Y@9BhrC-pF9rdwfQWTZR6DtJj@$@A0 zfYU=BQa2fHg1jd6b95-1!gHaAPXVYzFzU1rq1vGE#5u zuP2 z73t|s8k)K6&$ng^F^eIpWM1TEQ!xm%2p`)61T)Kp|MrV3_Fwhq9nD?c-QDyQ5i40) zvMgPE!#&~7#!r{OIy>kQthnG5FM2PLdPQu+FDtX?ENcz01sMH@3VQ}G@K-s-eE8A2 zgTNaKHwkmEIR9wTX1|3w>Wk!h(Y-g!nSaUYs-Ov$fmz1|>!M@bC9K633D|mg@mUw0 zGvOzHT%jG=x^uiMCLMSu8bi|aiYij;Js=&=A$?=(l&KK>jt?vqJ0u%+1wiz12W!luI!l#WdmKZHO z7;Euey!dy`x{bD#^Ug;s_X$*t9u&OmXh(f4HHvz{SQ&6AAOtbcm@@ z2@56`Q-qPM%k;IUj>rjR1*_YR6~`U1FmI`6nR@E?XL(HtiU>^`GW>r#fqvFt^o6mY z-H+rmN-E#4-ySRSXMPTmMgI43q1N`_8Tw5JE<;)ui|5V}V^?$d^J#EPFT=k@wA&$8Qg(n(t8MlUL!5lyP)?^-nL zV0Dv;B{dW7Z*6*eUH!PC(D`SSFMBK`$ng(XHtjjsUOX~0l%FjS8Ec()ESU4ilJ{W` zNjOJFU~Cx1!mF>|y`%c^H#RK3VhZSC?%}t!P0U&UK+XYM!Y7&f7rh5OKYKK=C5)jM|Bg7DBYADlmB)UY!5 zArnS`M1!zUUNDrC3#dB+blysQc&`{9h``m`JLcYayLfyg)IOiDI~px7@Lpb3K&@G5 zn8c_TAQFi&X+%z8fiJBInSPasxN>$;YdCey#WOBGGey6%EZ=8g)EJh%ClZ9wJN4MW z5J+l>Kj}sY!*hp@AFygbpEVemXlHaDDu;opq7hqa_om9T%ndD^tAcH|A%LUsBOP@) zNn{!eNv1hv;&9cF5~3DKNE=!*7vJ~zzR%u-$-Sa2f4sAH*4RR7qDrdH`}U&iZocVz zW`;4jOwEDHyxEgizVYW_)6cCa9}fkbN~Iot_+bN5+iE6l`{v)i_3mG8R&bj2{xWD- zueuai3pyJQJRji^>GnFtV>(P$lcJ`W>HC z467tWT(V>dL$x}wJCr`(UcF+~=JRGwa6wBV)ZIYjE1Qj3)0W{f-3Ai&M-nja)WXto zfso_jJEhm}cDemNZ(DmOwPRH4@N6)H>bsymy~I8A?(-40vs6uFd1DO;Hfdb7>`x0+ zQ&;tdHTzqTNbT3x^NsXfRMsVgA|)Bra?dUvB@P@fV&65GBQFWKWcZYOS1pZ;I9lvi zI}?C6$*JV%V6S5?j6qv-9T8+x@|jc(u%Q$29FG93G?lOIHSNPf*%lN;>b97XQl9}V z0b&~AyXaw!D9mZAX%S3?x9Y(spM27}Lf}mIf#8fYru=*5f6tgc!LJ_08^$tyohC)M z)>_rwIal2>7aaPC<68vzdnVLcA|s`)W;8(Waw_X3E=F|IDV(#B>1k6y#`T$s20t0c`qGt>dQ5s zCdz`D+goIlm{Zk&&Xdl3^w}cN+j3cN|20n&ysc$Edl5sBLVnVt|4`@bu6~GJp;7 zeb(SkER--@bjqAJ_O6QsWt{D|+G8#gq{S2Vfnaa=wCv-(=btt_61Re039yb~%n`*J z2FBc3L(>Lu$yCSah)_eo6uwOq0jFbFsB4YYYgrduH4{Q<&6+ibKbhGkArQX%F`v*E3z= zaC=9GZc(R7cz5m2b7vMqYQBgGdt}U{+Bs?J7IaB2uat@~OAKQ4#f>dyb2#3sua0}i z07~Whv`p$rlLe!{tw6?>GZ;+lgD5~w%D5`G^t9ZvkGpDGCghgB7c~*+;oCg%Mg5JH z>#M^Wo>ba)&Hv->OTeV6&a}^Rm)f_krI+e`r&${T0a;X3L=+-%N&GcBF^SppXPGC- zBs1eoCQmdvzY~*8{QXT#GCGPz9TO1+Q6nlUqCm5B(@k&m-d)|bSKWKhIsZBLcDFb- zq8Sm$Cr{fnT~)X0eD_<}Zm^$?gSZqWg*PmbB z#|*uBPBWr*0kvoBje}hpzc|F-%ZJGP1hRZhh!=DoUHZ)YRTx4c7j?F@@slP5YN0~e z-!xzJ!ZRK5B4@6^u1w^>d#H3jut9^F4&IT0}dOEuL+TQ9EhpZG8 zc*DU8pO~f=Jrs%M6~o(DS}rzWg^CcQ)>Pr-HJV?mqd{It2~?vf5)8~H`0thmoY8;} zTF?-og2vMgG5rQnL+luRz+-{Ip&{PDTZj9mkCj;2`Iq*tK5r3k6QAAPWdV3T)F-8RY`xVU-ZXBiTT-fe1ZVlF;qgC}5eQ5k zFkM!+u;kC4zI=SFDH7S)CAQd+MP>*-Tre{87_WKy$H|r#_itQXhs1O{vQsiETHL2P z+q*}K3;h+m?*K_a`OPhS;(;e${@qJMYd8HbRgy(}#b7d-0G4hfLzoe}3}@Gt^Q=cj zk0?Z12sBSFMSkQZltu-xNZ>9I!HP}hj^nhOdom1I`drg5blDPJ%^4V>@Z#bBq_-H zNX_eKxiUYIM9%u=f{O_@_eM>UtdHDIWdxeKznxIJe%=LlzVctAwSh>>D49s3zX)Gu zafBh0<>r?UzE)RRHaDsQ!TBNJ9mNqh|6^_u6BFts;6QuYl6U;(*`W-$^Y%Nw_jlhX zjE?pX+KIX>(p2Lt%%S9GzrCU~0!l+}!iY7tWrdvMURHtT4x?3sE}L6^L31=*6z=S7 zD=w`;ShO{=={{_7TzGosO#pHBw(m8jaBY@{32{Y9&kt&sU$)}$?Rze}V4hu2IY{M2 z;j*ajaOWU1aD7b#!c>0@eE%0uVWgPgR(#SnoV$){fV3>MT}K)M-0!cdUfdWigI4ne zPsw7RS_gvWK%~Ohm*!pg@2_teN7~@xX!My@6HUkqU3lCq;fJ#XaDV6ahwuCQPZfu# zxl1$&6wpJP!dVskIB@=5eXxO~v)rGU`W>pm+lm`SfmR3MW@{sj*pfCUQp&<%o2@ALzJGsKFL_t~s z4jm5852f9*6G;EC{3-y!M@NV_(~F+Er?%QgS088f5zxdvd zuP)_6Zo|`YbfRW1Wd1dpT z91Z2g-0RMVK&_i85y5`GHH1C`@_@!}f)wO1_Pd#La6r}w*@j>_7Q zDyKR-C-xocFB+P4e(9x;9^Qt;Ubp3+CoxO`l|afZ4bBVmOTD3fd96D*^Qh5BXQwg( z!O7tiL)4|xc);k`(VO`Vwd5vz5 z&FuT=(W8A`J$;R{WVW^|L*>MBnp&yz}AvNtxf}4qbiow+o7+ z6iqVkBSFhE6>A0Djt3LGs%Ft(-?92?8wS~V^`ZFva+dYR=S?L`e8kW;YG9_duKV0+bj=NGF1H}NN3yXAB@=*D!D>h8e7@RsgwMDe` zHYGE&1l^vmH?RHY*B&1a+2mQl$bnHH^g;i^-jWJpZb0>nD#7K;n-3lCOsA6&xd=^G zl$NboxfnrBV%fqHHx&|w1TdvN5zC3b%p$9RCJk`D*jfJa3+=1d6rtnb9Pc)SfX?HS zhU{A&eKosxxJGpnm?Km<5Fft2ah_sFlo}CW%;LTgb@2N2XSe;s*Z%Qef`JI-Ypp7} zVTiF23qcK`oza?b%`AV#uHj=s5laM5BvZpJ$#bhqfVne{;9wrfIRq|@&a03^HK7tF zp#yz~p6=OuAki%VwC}#_pn0Q81dK);!}SFcfg5Hmt+0FHM>P*~Vmq}p(DBBr-)}Bh z`{03{?U~_`=Ay#3alvr#m(FUKAuO3X*W~}0H=ma-Y>3JXX_Af& z!i$daY$|MXvMKgE42gp}4(u3Ret{-K6@eKrHX0m`trN9ugOZ9RQW(MT9f+<9BQ ziZ_?!RA?jce=l0g`wNrh=zosndq4ZQ90)?0K}lBcy7Bj9dK>=o#qQ`oIhBKHVu!U$s2MeG{2W%d4E+HyO<#=+aqQMji~b zq?oa&tBmAZ`sJ5)E%42~{F=}G?BQEMT9nc}X9g7KHx^zM3KS*A`>KOYuRXQ<;_C`k zDrB3dU!7-lyItb%uFMsL5ECrOO!z;mgytkz6R7w?<0U_8-TclKn%)!m z-PabcYw{LT!E!g*Ql2^&`j{NZx>NWKcuBPJOA9W#y=CiYLoj$`!Zw;Rl?M3@Dp*qA zTMwE0Z-zuTg?)4LSGV9hWVt_EFJ+)O9G5De)Je|YfatFD;`L4r|52sH`)7*pk!1F^o5#&uVIGn|3bWeZp8|`)h{^CBOv}eXv7M28^^5lVx zd3RHjl!!;!LWL!hHisS8Rjp;Lj8ZZAx^Vt-+3n(iq&$y;$WO!>DGRv^dQ$xjY6Rq0 zKJdVwuiZ3XvJp+msJa;S_ZPX2W_vwu�EP%i^{2=1x>=&(Wsx8p=RvsJb`NBR*9M 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 Ef*gZl5C8xG literal 77040 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 z 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

-&lANb zb7&R+0+eV3NJ0GBj)ojd!@`@)j45ZhS_zf7SZs6+_R@%> z4w_9PuG8P6gLmMhq$F3tr~a4Ck9SnBE$F1E9~Cm$IKg#Kih3OvXRIOzKq3RN9EcKD4Qdu-aQf?{d&d%v;hqv4p4v+RZv)9~j;=}JFdMb`A zbXGX(^olEIa6{hGu;;~nODFMm_A;NLvg7~p{HN83{$#y&giN5jmpPk(?J|trhirVu z-2gcB{Qlt;wmn^pFV^T~ihxV$&fmr%6VfXlHy9^@KbTtBmsNxYE;CpRYYU~%jY>~xUKjX6y`a{QLaQ+HCUWtD z!AQaq4w`ZVw1E3}9~4VQ)vEup3m_%ReTTz~G{w2U6n(watXhEGauSc!@rn6c25Gvq_@A_D~UNc3{U>8ih z2$B=A;-+uO*)bpdO<9QJ_f+OcB`W@KM8Neex)*0^W@L)q!Cuy;{tE@p0DGUUM9~7K zlKSDz%}*kYOoCf+oS0-nZJ?0^88Ywfy@1ob^_!Mf;d+ov?;^>QHUk-Huv+VCD(DF9%?9k-QG801KG(GiZ#@Vg&eZ0f)S@(D_gV28q&| z&%^wD8ij-;`fO1Y+iu&qDwrqP4{XN-KaH#jJ<8}ob=Sd}@0c<7A-K_&rwlvikxNsT zH4AA#r+f-}aMy%Lal3V=h#NUh1u@`m(|iV-!V)Zz7(C(Th_>Hwvk1e~c6hHxHM#&}PSrK?&!Yb-I%w6C5ZL z$3sn^HGKk6hg0jN$fU@P7bKgh@>nDB2Gf2)80z8mk}_{P&59&dx1k_`^YTl{mZw z!1O-~`*0z4|BWEowfNA;v={LIx@)7wGld66 zFteem#ts*wh{9W7B|Msk;!an$7<#X*hgti|lI{JJGhNLwKS1hItEc%#}O=DSh3><5}bczix9hd4LJS^e8TMUYrd7}Xz~#8@=$`HLxbth%h1yv6Q(jL zrY3I2RHknt8@etijFF`A&M97dYnVZ=XYEroWWFF)qd^vclvx{i~F zOBu_Hs}t5|Y7eg2g^HP-ycLD=7_ffRa&+*&L5=Wtp(ant_S?5(U|i)^ zbHjskfEpVp*;RGCy8|BZ#p}~~A&3)4^bsrYR6_Jl!m2IxL(C?(jUl?5pWjw=xzckcRV!%$vm?g~_6R2Q zOKkdjPq>M&>vEQMmdWUH9|t;UYKG5N=tHxfzneEZc;c=n?guZgsEY|_l`WcP8ktTQ zZv{s*lXns>0`3I1f}4tf2)6i12#hD&6V2pHNQ=%^-e2a)q(t`WwWu*Sx3Y3qCLNx` zjkW-2r&7R1?&NAa4D7yWzv{NOGO;)^_~l97)4Znjl%%OnL^V%X+p+U_bG6~T5w;xO zdW*RrSNfe575#U9v&sB&%2=1L4^Ku zT=vjYXls_)HDqPRD($J549J>|d$eSHUG`ZE4Bt>3n2yanZ5&`37*~V2f*Ln6VMZ*CrKo&R2V|2>RRbyGq5` zEMr6tg0ZM5Igy`Cz+gcd&BiQbJBK4&LB-v&NL2G}_}^m1y- zQQZeY(rIlfDl46`IhV&$%XuL@C0K}WyMqeXHH1%{{$5r3;%$2u+|66)`#(ZAUIs;< z2AQU01}Qv#4yAnSuRrhaUG)wtYa>}-uDqY^1-izAQdhq*S4iGKpc@Jzl*1Lc-&NkR zi)&=Zu`5DF_7YLyq7M=+?arm41UGDuz#35Gw;WZal%6qkb*3bE<{UV`%j}Ve1ux2M zQ^@>zX$~s!)=oFfZ*d6Yx35AY9*ge~AXFUqBr>yWx+iXi{&^s zo=Js@=mxRI#BsDKnk|{*3nl|}b=mUZ2mCdyX$}Y*)%6s_iCE*ug)mwu!u}Wx4E$AF*cD3RX@V>ZHcGB-oeK{?d=RtL`mbD z&fHf;q%QMfNw*3@znkvd$V7r00+Yv}L`KsGXW4E9T)sTMfs=qkA2m%JS{c-K#Gl;p zvxi4oQcq$_Vppdag-_6he?6FSOg8Z#$PQ&EmwXSbE>@O!m!Xcmu9Xl9xXeI97ItC~ zS-{<2PRmI%oeYo8Ow=5&ZjhE#%%~=0bk+tWcr)3$!EPgC&ijcM)VQ*=sd!c$EEV-0 z(dPT4^P;n8Yg4yfPd#UX&)X{aY^l@H5Yp;!_Wq?Lem*2U3mU~`Swz`?>BlBaZa7?D zHMwk}8KP92s4-QYJd6YW+iMPQHH5CGsWMESKwV7Zo>a!p0-HS(~$|wfu42>otR<2_Bn{ z-Mzi}QFd2aCN5VAx4K^e7^BbK+24-ZOQzd?UVEy~Pdi9`IyhYp7~oyM#h$dEm&f7 zC1)f(F8;d%B%L|W+wTWa%h@)cry0fDg*41kym@jtTP)RnTQ|+612-OC-q>Qocxm$t zz%lH1ky@yb-!fMqqv5|3k+{b8m5yxSfbQ3k7A;M;qVmso=5Qs;i7$eV9T^`#8 zL3AothEf=Xx&|T|HJ{(Sjqcx+f2h6%ZaE#&AKYvjv6FEF8D&xJB<4%;y{zt+)dUhK zzes_ChUT5kqFkMb4xT-`n30NqscC}sUs`Oc<0)2wg|E2|#62JUP+NO_W(%i7hd-9^ z`K#P!5JGGB2}GB1(z=t_Y;EA{+r++frwMg-o8p|G>}R+#6zF=QR_4_Da)!Z-X4oNS zF{)Gu%)Fyj0mtEPy(z#jYeNE;j#GnOhPgS)IxCboHdQ z=b$0-6aV>B!*lG{i8kC%+yJ6z1F)qjPHk2<&+!Z{F4RM4w=?Typ)G18Er1Pu51?AY z0frfa#8l;eD_3t$VD z`4c722B*H2HiDaTCR{h6V}fh~^iTrwAp0|z)ZSR8I{low0n(d=E&Y|Jm- z|9!(it6pK(1&Pv{^ZAdS6dqlfi`IDO~b# zH!&5lTO)~uLf$Sugy#>{TShMK1@k4TZc?g<w3%$Uvwjpz=h4EU0I8a;*#i|QKzx-(mp*z#t!-(+ zrLpG_j?sORPDL~bs0k=++sV+YT?yfCu##UC(*OZwDcp!x!AN9$zBk}MhZheIyT`{} zQL^)i0aqn52_G9EO00`VsY8lChf!W>c3!wjtY2TAfw$Xp_O?{$0tf+}oYchExPz=r zoOd&*B2WFG_J+1RnW8lGCo_078461AOF6~0zueFm%aN2tee$Ri6}fz9fLnZ`l%$kO zmwsIYJo2m(sv7cb>@pK$)MzZQ<2GqbiqsIky~{CRt`-Q58=}MxL$}(?({&qRLl}d* z=KkBz!ovg1xi!_*Y3A*Y8$G}wi!a4Kck+A+dpZ5|)c?t@x=y*lLO|7vKg(UN)cxlP zZGN6tG#esniGXbk=2;JPqhnhj+!>Eu)3h=xZBwJ`M{mF#6x1g{dY*0`dlIk3Qh3AC zzd-tn^I#&JGsE~_TAT)H@$*fSGWypR1SRoc$!$a$9O$Si#8+ld7LyO;8NJWyn~1e8 z`ucQfy{CkBtKl5!b3(zG=JAuk?YQc8)me+C#EQnntsMiGC{2dYgoH2Fj1mu92RX`~ zCaRbNxq<9gVnNTVLI5RZNtlBL>6fq-zu>8aj3yECPp zQ+usUm{(^PzDGFwFX#JTjme(q>wVRq+az`c$y*G!vT6!+v#9$UjsdvytWL0-3HWI=O_cpEI<~Op*qsf zFps&+4;5tIXFcLp%p~uc#T|nL1z|^x5xqe{5_DZm=d?ZX!XNpAAV-o!``3}}=`4D$ z@D`bI&UM~PcI8!{Z=fZ=xIj$GoP92{)B-FDn;f*t@%Cz>Np{&6-rZl z?v*#NQr)bfaiDZCmKF9M;Tvu)yE%HKCP^mLS&dWneUtNdwOg<8$^Bv?bDcS7#nUc( z8IfV_n?J_7oL_H+Z<>4CV6V@!Afu-Nyu#P2$d?OIk-K(Qkvpx|jm*~?ouZs!=EY+L zgGA2l3_^sKpuX-|#0>Ozrg1tMC$N)Vu31VsUx4aXx}x6Pa&GV0wKLz4N($gz9m_X9 z$Am;_E>1rGV|_85<=pXB5^J4Pv<&w$@Zl{bO^YfMNs_#R_C7;Dz21#jT3S|B0*Rfl zX)Z-mbCyCnDjWs75jv4t`BEJVsR1t`i`_=1)|M8`Pd)dZ0ehYRZO>Ebb%SZ#uoeCE zDnT~-+}z-}F?%pa*YSLc^*V~x@*ST1g$ham1SzYGy$f$S> zCo$WPNH5y`@;L6Whs}E$*5`U#E}7SxfBi#kW1sP@$C+U6`bH=fT-R?|sH@@AO$LXk zp|Nn_rrun8WVn0})aYE=_TJdKYowcJn*;UY!pUamsAAu@Y|zEm<|$DJ5*$w%` z;(eHA5DDTaqBLtW_dh$Ji%d(y27_n0vJOnzFuohs8PzyGZ+63AgM0wAow>7^ysv(F z4YBZ{n6(kD*D5Yz5ZEr$*0=$tl{D=|hjO`Cm=zapGT>h;v)T>9yZ@^x0xpsnt(^+;_KhDQ8zl;<0*X2QEVVRp;xx{{O!$M`$mG^`dE^* zx&=3fEgphG5o8UdNpr6JRB9fFiT_(P&fNmGg#YYs1^ze7bOm0fd>?5^YOqHG2WXsAxd~kdj*{=0hO?d@ZwvW-Cke4-kt0SUr(0@r*$s=` zg*Zi1-xCdMJ#nZ7(ZCfuS#U(Dg6*R}B-E{+x8$0fyI{OjRxTO98^RaICn2-4Wt(VA zV*Ww+Mi}XkwVX-1|LZwEm84`&vHXO!-RG^gXF-RQ0p{JT~apah%CQ+Obms=}ast-->%_ z1>9M|VC%CAi3y>`JNQP*rWVq~WOL9bLc-@t(79)MT=&!AiP za#&YsL+R)v^Ob{9C_xq(4J?5S< z+OOFw`p9c6$8MMKk-xF4u^(OI%@CnE7qPvABWa%J);V9)m5*@uK=zkCb^<9eZHnZJ z>Mbc*`I235bZSYwvuA%7ZenbibxIL-r_WbbENKb+O1n`PHbXht_N0r^f61`k)4^^N z7#dw~6pk~<^oM@WKsC7-H%00qf-v>3RzV@E8ZF>roS&OZ5-VnS$L)A6?O`@Dl827pWcqPJ%LU`-7SGh%~EW>BIdVwU;ZynP7^)~ z!2$(G2hm*8dpsE`|E&y8u(<_clt0L>z{n+3k!ykG^}l>c{cVqv&L7gR6Y>Bmy}DMW zM1>0PVkxz{cw%u;zvNJL1x2=1&^?3TBi1U}3BAoGnWCOyC5_F3X&ZmJT+U z&Y2oxjj7V{OU+y9{Ag~ z@Bo|CeZ(wfW|Pv#L#`}FO{%oe!HHmRaeh!KV+H06!|#jF7~HB&8UkpD(?D<9rQ`WE>Y7d+ZL7 za8AcKJsb|xkTkVebqS>=J8Hggv(LzYNs%{-ahhNKx5aDq^?-MN?eIuWl5tTP{N%_e zjGhXxj33a`_WJ^|-JbKzTfJua3f8kXshK{Zcwc_>cr>FN{bpkvZ=A9E1q_(LsbjeO z-^S@b_>})&G$VR6UjA4%b^P!oZ2Bn|Eajq~$ywrR#QtA)u43k5t7;j*E8jc!`d}T` z6UsuKy{v*|m}mX1%zv1~P1m-O*)#t}o7-j?fFTgqQCH>SjVH0wuC{SIyh z5qqTUsEZY;cv0?}sD3q-Rd`rIPS#$@ca}zBLHhD2ybhY9l1*mQ!2eyLlkvOaTY*4n zdHKV$h{q47E@zn(Ln2TLu9PGoH_w0H^!)@`0me4731CP_2{({f`>XM>7^iP`7MJz{ zt|Fy@sENj@b+Hw~VB+t;W;7-w7Z$Y~%z!f=)a6d>SEWLlX;1S!Iq-AO$jOPd`&f}p zbB=36O-nH-7*sDt86H(ZEuGbUVACtfE7R^{VZW+A`ujA-($CqA+(Um~yMKTwW2bow zfA&a8=CskUF7pASrWs0-OZ@M@L_K9l810Mwkcdz4d<7vjGJK7UT8YgJ+@D|L=Z+m~ z`uhh(A9g_*6iz@v3mxr|B#n~Xm_9}eZ)sKhgdj;^=G=~M7{#c-H6JyN*Z85Z= zUqL8Ta6`=dBvV2Vd|KQhvuNf9P6B(hcarMcwSpTf!Cy-Auf$FH*23dcjLzIr1Bg^@ z{QZUR(dgJMT%6h>yzQ&1s)n-$Be8CMgei6P^|`#)6)uk@flqtRp0|buMVL}~$p;i6 zPih??9&Im7mI#WIL^PC(3#UpDvs2+T#y>PkN2hEK_5%mSMT5*RG8X!vNuB$4ZaljO zwp7`%!^ru!ao^{Uw%@(jOe7$`r^jJ%PO_@T!!gID&q`77TG98gHVW{kVras3PG6*BT{h5ca zFZLL(hrW5qTGZihdP`z#$-RZVMT_dXI!~ZUv=uDKsPIr%36cUG7_B_|%^|CuWKl->%La?Njej3}x&k^EKWhG@p zWDz zn3U3YK^4U*s+ahiq_AnXG#=qke%YKM0Ov$QBi*kR+M+0U%N=Kzo1c$CG4C!+h%Syi zlK2TJ>4Q{-ZB$Tut*x!S%`_FISXlYRC0g0hz^tiG1{h3^vz_P6Wf&nQWrYI&b}%Jb zTe6Dz>k)RfPfWAaDF3%=1F-$5J(K>Zz8jAPj{w0}8*9q9srlsjgmrI0-C+u0QQ6DO zSJ7-u$XRrU0vzaNR}Ft+u{^Hh%YBtUzii*9X=}iqH5%`5#r|+8&l`*Xa5s3<)v2|K z(V0bmvTelP6vd`PnTpJe69(`P&d&E|O0>3_{R~+v7_=fO=_RcjSIZV*+ubwuC^edc zT4zUe;&ILb26b;O?j_9?Lk!S_^*TSm z^Y?BYr#Yn}Ay|A{_Zi2LG*O8GiXG3%hRG4PYr}=kkLTRgLcM`s95F~a@%qr1NuO>vB**FQATPf*=U*5Q5*6ar_5FM7qQACcbT#6x zk+A~=-DhWK2L{A-HH@V7{*zHFD+w(2;J6gk@THK0V{C^}d||**+PeX}_NjabXZ8CF zOii-OFg*}C?%~7L!5rWwFxLUt^WEKR&Y4jiR8psn;cqyBm~cF)6fz@`$BHyyg)|$5 z|Kw+z9XxG1N*xh~Q#7!m>j7~(V;+yg0Tr9WBa4euR}cBDYm(uS){Z8eFW-tpAp?_o zn7XJme<3cXIb%cW^^J5dUCKwN$m+D{$d`rj2?Zti0~&SiY~uxYJ$y&MEUC0ZdJ9b& z3#E6XT=n!jNdUrSYLe+MDv2)b*!5U5Jo5JirNswg+|pyusTvG{M@5YVR--gde{ly7yVt2`8;woqvWd=0|iu{C?F3!<_<@hIUZCno?(pt)a5Bi(d- zZ*OnB(Qh*t$)V?j7Q`=!Gdfcu14v^Y|G?1`C-GmnWeMn>0|EgNiT6{-Js{vY3O}uX zJ?3^hrx7w*Zw{6ZILd|j?GH8mE8(iiJt`(6hmmvD|A?sXXcnkFYVSf8jAZcz0e|Fx z5do9nAjDA|3<0s^Ni;OB2wt4t_8YK^miziYb$`<9){8GS>Dr0YNjcf)H_ET8Yj1=u zvF-i$wt=e5Azo#SsezPtI;^Y1Crls<-#8AQ*zR_yW6yQBqxUV2FSW$!Ch8Tld=(42 z2}-@!2w?kLc4#&b-0Nro^M$4_{lYVGm;VPEokVam*PP4@Zvf^Qpjr*EO18AL{I@Fw z?geWAe6yZF60!owQ^(bdb~U7PnwdV?t;1~-_1*%aBA!~ko-zTKP|RTWuTwic^vSU^ ze;guaJ%3mx>ue+PXPHbFtGFG3HQSeGm%{#d#O}8dCs^)Tta%}q4^FoU0duEoez*@O z*h&=3+o5`7NvE>gqCee(AWL{snTKm~rFf7?%Ax&6pV9R6vhhSJU4^Ft+!i|9ZxVLD z?!gvNGP*LIYt1JQ%^?tS*(4X34w*iQ&Lz!ap3mK(*MQ(VFG)yC>R7ZW8GEev|IF#^1C?c5s&E7@7^y%~Qb>s&v2-%c#uF1%@ zx?<9{!^d|6(m_e}h>ENAOli!8@0leZsm;}q#`@c*qwMt_-)m)1tn`z!OnxN9Y=tPh zS)6`MjneqW#9VzAG?qGv@U{4uJ;k*9g4{J}iwEki{HSHFo^_tbaA|MoCOiyRfd)qK z_=*r$$I!O2OS(RUc2bRH#dM*NUl($+D${?O(OfzGP}HR)NM9W%`NKVnLig3(mn#+B3-AS*9eOO|)Zs3osY#~*qh zHnn6XG}jrJ1y70f%$N|xw(ri`FsAPB{P^y6LSf#EzP&K}jn>geG!}G@*y_*%mGTbMvpLc2g^%eXNtcm$4(SUY9jU!)OG9@B*auA)F$Dr_L|?)vuzE-e=K?fV*#s zqf>QkJ|>^wVW;~!DM-FacEAe{;ij7$AwN5Hq|>h@6Lv<2D<05hZLopbwa9>1=1ZMh z76l)kILGz$rbHk5igZZMkPT=lqm!dzm6i!@qqrhkekvF8cQ^Q)wvQC*95TI31E>X3 zr1keWl@@GU1a?R#1RRk7A*-3`E6(!D%As2fA!v?^v#I-rlK;%soGjI@Ew@Yus5jEq zURqkZvwS@+d_K1n;ROEcjS?|}X3?XtXR6 z+Fh-oiM%8ZP7{p;{sHP!t&8QQ;Yf@u9@5rl-uw)INh|X#=M4d_vp;gGUxv5QDYX&5 z&}nBcS03INcW%H)B(U>zL=+`alaln89?({HxN``88JvW-yq@W4}Pr5!~BJh59@zVoDLKIL*pI@M& z^Ivw25rjh1>HPD|w7C%!lA=c0kZwQmwK={@95KVetk;d= zJKY`i-KXVK=b3ZaAPITu6l4#5phRq(5b|;2cr%5#VoEl<_{mB4Lhs$^$6oi1wl#~$ z>}%T-;#3J2hb{_EQleR|%2O-_oxrvPpgG@@g_$bKBB z{miih+AV<3IS~HtwAa$GUNNF&W&bUK%r3pbrMO_D&h=}4gV%_K?=$LY+Dg_?CbLkvqr{(DlS1Ro&QBDhF2BIGiG}8KCw%cJaxH=#@k05g z_>&A7W@!vWs%l=QtpeLQuD6jiVhKK65O}_<7go9z~ip3^gD`uSo9HG=)d14wsbgE&KT;GKveeFGRLa0n&R?rl){?hir?pH6&`N zk!^f8R$fS46tR{~=VR?x)W)XdjFob7u3h&$>M^01OG~3%#uOS^K_+_h(KGHBj-9Zz z;Z2pr+qcjOmlVShdpl-N`y`E*{SJY^snHX(<=lP5KpiubV4Q+dUpl zElA*l<0}{r`s`PRG1CYdP=4u7^nWI~-ANlElz@74tX0;|c~8ubgufT`IIKIp2I4fs zS%6A7F)=~SeRowZ3M5xOHv&dTQDgy?sFCUMIly4?kk;Nx5zZOds}NZoN)_ps-9)Yc#V_WiLoU3I|{7@92MbYyP8`ZyEok;@q(9^+ciH0Gj*nP zzVk4j#u~UKV=?26?|4F#F*Y?hVrOLa&2W|b6dQfdzDSInF}kmP_b(BMYiu_Y=fN@U zvOooS3{sy$-`6{dlc%evCV6y=me10~xJ_l3bVH2OTBNJ3Z&7fIhnC0-3Z){8X#i;iZ$k8VEdM^I;#2qChDK+O-5d0pG zDg%c5vf;N4>3tZUqwmaawug#iEcIEbQf>HA67-s z5i{XhP$ow#{=9$e^{mgy^{jLjoTXPnKmehT94cz~V>e&MV!3MUx}b)qVa(}~5&eB7 zVw%yVPDJ{XDLw)tXBN%}EEq|3T+ijPC$KyZJcT`D5#=>Os4UoEfC$)q)a|);yHH28 zMahLDyLg66^F~zzC?^3pjQ}zU?qy8$o(`z$c)bKb6hDp+i|G$LFe#9`Xe<>c!8Tmu zjZEW+l!BO%)s=4rUJV11bEQ^?BT#w9j8qa$)06Hk~%ka&!E>Oj3tCRQ$mem6AAW zUI6CB^28jon1bD?)R&d{Y{j%oQ{w#7LTd3jKB47jTm>EVchv(?QL^Zt zGr`r~_YKXBDQtzV-ZLl50jDD-=4~B(oG=nmvPA2O90tqn?qA##l%&XI23=D2#^m~D z=4uPWXPLbZG=wPsm<1)%4Z1_{nj&JkvF5(z+sc{#_%<+PaZ)N9jy-U&mr*k|Pw7!I zk#Al?tymFF@4_~aj2|>D*|MRtFXDbY_67|}UTX+PlXvmu*tKxt#o=Z*)YD>=xf9#Z zg2)&bVNi(=e3t-S&+`XrB&Wi$jWHyXbxf@#xQ5?G(`jXHbOkz?2q0Z`{gd*Tz{;m> zIPo3`^aR!2^{nLekSld3QOW*Q<2IKKmMQSy zVX@Bpyj;u+9p}genuX)owxJCzHL}K3JXDJfEk_EAnC4ur&)|#=p@x8eSTD!7yjRsS z@7ZFo*+g#CZawxMz6cYk_qZ&FFEiEsT{Df7bEp`rV*5P=SdJb2kMw$PeS2>K+@Bs~ zWu7Xd;`*%vT*bFJuJv-^LBpYV6FPlaTA>UDt(afr)R{;a&TZU6o-X#oH*df7;?YrkKb_rgcpQSa}iOoZU*Z5l9Yt8F4^{k11h9XjOTfjtC zNa{|+Nu@M^_W{=nMCIIeuNWC79!C+zW0MrEHv2X2y%J%OwJODAIeqCYcE)CuLKq^B zh1qZOBXoj??)HE>=t-k{b3_A|BAGQjN!N;7%W=xyvT?`eYLI?!E7mzeLTTk^RhJo_ zk`^tGqm~y)=!Tu&T8sUuezhn5sUR%;>fcBLEK?uaB#r~@%j2a~|0TIP_|^LCezz?2 zy`x{?(qghv+^VsmjG&5U68|#UE10Jv>bf?8#B(%p?PI{<_@LnbP!f16Gvz1@n?dwy zNJUlCz@e)ZB|0WWN&x5N*|565u}!tgN0*66>?gPnRTdTT!*MA7swk2_aMeBFk~q>q zz&kf&&m~&t8i~Xq9)A}<@=2N(tLLP?3KRqi3ey%pCS<~=`G-8u#lbZYgg7J3^%-3! zmEZE?u%RqE1p-BjyInCtvMd;4{FtHVK*ZuG>V44=`1(V%_crpBrs50cKGI8W=PO|A zml1s&DWupX?{D;X7C)4_$EsVGJ^d+nFY+J!1uz`~jVG_W8&A3Y#`SG&fV(|eXe!_J zP)rNCuVj{17A^qOMW2?Qic?xvDf3^Oe7#F9EF3A8u$VzR zlR*EBUT~@W`uoGHLA~NTS@eQ5LVaAlD#S1=$`KW=gw6R@3>AkOjc~Dv`_JBvf0s$L z+MRNvF!4FoZn7jpt&FQ;j5)}fw~icEH*$Xt4_4YEP;2v;5vpP7?W`Rhd}TFEwbY?1 zim)0%Sg$Z=@!@CTbQ9oFgrl@Wvr(riZY~?09{wVir$hJUySG)`t$rG3s&7USHf3#P z3>E)aX>|C>(@5_FmZj!o-xpaF1r<|Txbt@>EO{}~KQ5ayl-|N@YH=Pp++&okG(z+N z&Y_^6&GnGlhPO}Wde^-H@3jNH!k3zsWTE;JPQeWvYr&@cn)9MO#$1(&Klu)@?ZfDH zyO*ksmzYlI+ERP;7X@wm;QRh0-?i6^v(VQw ziBG;najb$`m$T0EzM#Yrp9!`M1d99K6Ruv=qA;8lAc!D!iXBQ-F#1=}z^GN=<8{;1 zLpc9k%;*PF8J2h36t1<42cCZlDjl#QOWDXJ!00@~d`GC6?w2lQY@{O1KC0stQhqn# zpk!o8zJU*P)Nk@sBZhg!Q^k2^Uad9$X$8WgQZO+w0kh(cw?o|W(h}g$ z>Na%bA_k06K(Ef0b7SrL>S|s`p7LsX+APIZ?2!wl2u!D=b93dsveuRYd&bGu7i4Zr z;7WuV3$|YF2Y)2kZCFY#*hnzJXP}0C4&p8%4WIGoY$innk%qh@nirE>YIIF?cjZ;@ zZbM%s@!hIqS$tc1JcBJnjzjiwWTJ>yZIX3@Apaw}R9GrQ73MQr_^5xg)rC?OE?{6#wbH6(>a{@Hg-%{@D6+`6 zp)K5|_HOUo{~iE=Cf1S&rMh1U8q}Q2r;qwpAysaRA36_*ZN1ylF_BUg16ADX=URQ|i=?-*h+!1I7rI$7%#51C!sLH+NnFJjhG- z@-UW;2d^l53BNb^9qOEp;Oe**I9Sb?H@+zxHT?^fyFFCe#OL48%#4GO7;E%+-Ol*TU5&&EFLn&>~@i7qEqR!PcZU z7ZGRJv93swtWYuzuRuKiQ(0X`?cA_?7(StvDExXBTD75DJGC14L}KLqkI@o|5q7`X zX=6`0B4#L8&UW-~)bLPedRlgq+(43KHGhvcgYz;gQ7v1P9d*|(yB%3CQYLTzRO}5t;x&Gon#M@K3 z`LTFF0A%0YozBc+hlR8=aBSo#EM!lpfD;4v?-aoW=Fs)j;Hi0M6OXKoh>sX0hT-qA z<5rIjJlS|0xn@N;&acNhj2gccNta17rQW6KFiR%a6Gr2zPe^)};)>%V#^EO48p`2Q z;v0U1>b$>BlI zr#n<6x&COvjc(X))o%aI_wHkMvq!By_6-RgZ$@vo3f5;^jz0z@hYJhoz!odRf0{sr zp3{lT4pB*;C)F3WJQR4(`nn_fAoIGvY+1;xKMZzXV_{~tcW?kY75BV>6O)Q^{ZXl$ zGaSF}8WB8?K9U16a(r!Zs3kRG6u1Z5)h)vCh~nkJlRMZk@dBy77|}nKp$H`P=Bduy z#Ck4RLN2d~JVuWI^g^S^(_*92VDR z;N8)WCzD~Hir#h?Tbo18J`&1@3nOhWjx?SVq5CNF<7mYYb}dt6$esTdDu(G=%Rc=7$y z)r_lR2DI;YfKrJ`AQy3bOu;7>f|MVqsknGj9NNq33vHFWP)ne|Zu>(4rLzTX(l@iM z^R~=A+=a)1I7#a5V1&=iB(>9XpI&`m=Y9%0JfAuG-#xBpkpk(V8Gtf@<{ESen`tRA2j8m)#flwAK z8U8bOZMdJhGD*;&=b-{+DiJ9_3vf&e^zK{s=JS2Uyk8cXVZf{X`hiCUUQP@MwW~?N=3q z0-ElxJf5%Sxr)jY%qN3}7Ft=EbswJTG2(F+y!Xj0e>*QLn^f{B>~JW)3Z*GC9&;i( z8RuikUQ_VYLyoz-NZOBp&JgQG zknSELEH4%_u^^DPzk@*$J}zlD{5A))MKSB+t-kY@`7Q>;M2PVH9dQvHx$!XmIe7O+ zMp(zG$8I`G4FxClc$T!(-=o<#4KX!Jo)%+6j}T{7j`tsa)43O$yocit1Mhh6hGs`+ zY1>Swo{3yNR<6kE@nUecYL*ka8r7>V{99U?!Q(CDyB%#OOP)ymkhc5&=DnFi*F&o- z?;MC#s5CW!^4L|Y^Nkv7pFKQkjT!^~U&Y^PY5itgt$q~9U&sf>WWzN0Pkh9Ve><}w z+xbe*{z7XJApZMKoF3D=dhkfppQOw-Vz=P(#}F!nB@Fx5uSU1Md^$4!?Vqdxr!&8I zb}VMO6q|%}tH09dgQf%{Er)%+O{~s9OJ#>#$AqNp8}kUXeB@c7T8Wnh*;y#r-|d^_ zbct>L#1_z+p6g7h%u;fiMZ5a#-v%syDz7^6$t&Aw<4OBHLgshegykpTFxIf1^L3Il zS1vaPFvBPi({jK^EqCf3s+RS@5;vT#3hFw?n+i=rhP)wq zC~$}{BPqffnYwR*EgMg6cSu%I-RS$DW8zBDEAn}0Qanzo3A|;>fd>bvKC|(wrM2|) z1rqYJ>f)b2=CLkaN4fsX^WWvbjIye<(2koF^4%R4bfEQc?H*W_!A749>QvqcMta46 zi*&K6`QDBVWI?50a1xih%=XD6HJY6EP&NC;Z(-N`q`sciw0e;U+N>BDVx>!Kz3f`JD(EN zC=VS*fMab9fb|Ni{ts6{sJ^bTpO|-OuX9!ek|iY-RPga?9LUP`P2RqU?m(m zy86Cv|F*!rzy8UeD9cinS5}s0vza5l-tX?nV7~66>$>wG1=7meVz2Ln%I?_sG8V7% zk`&#zND`OAaDKX=z{cXjR=4z!p3c+Ku`Xxngzv0i5iU*Y(`Xsd#O zN1r{@uqiAM&$srJ$jG1s4eZLv6r0;jjgqyZoO`0&lg}8;ZE^%}<|sDm*-=6*ZLDG* zs6WVyA`8Jqc$FqLtp*RaECllIN_7dqR<%VS^Lg90D@T`4-*Ma7htJ!={(-$gdEbNn zqTRIfkt0X=rDT_0JK|?#%4Vbn0e7RNG8IT`Qz{_WkCdA@8Xy#nuc z3A+z@SB89zpiK|U(BbtJt}M^vNbLZj1%`35w7?60`QE?sp7;Ld{h$8Q(%?uIve|gn z%ZvFl{AGMNjZF9W)6HK9Z z1vpuP!|`KBPv3od<-|%#=_;-s!_l2s4>8IdLca(-{NgYE;y?K(|K!(x?bq729gRkH zUAJw!wzgK5$RzwmXib(sN1c4=)5-)Jm|*W4GRkkW34Pn@CCF18=TXmi4Ba0AAjt& z+iuU`1np)y?LK&N;8{F>@q#!qCck%}Ovw{NlbJACHJw${ zSzR`cLkM|_5HS%oF%>{mlZi+OdB_VFa!EFwPA8LDUDhfx9nU+pJo6`O4DQRD;2X#S#Uni4Y) z_k%z91O0wqRWDz@ytugd!VB#BTL3e<^kTK-y<1ybWqu{ptbxVmwgnOs8;-6Xy?f=J z8}gfOUOjc|!fm$6k;TyW4?gnXpZwXMoIQIsxZuD6nKxHty|zs; z#-b?Z%7G}}Wkgh#WtRCn@454~+fP+Z6(ufVF(EC4K@p1S_PDDH#c=p{fAS}P`lo;T z)TvXG$s~l3W!ZE(eZ4+T7nqquQqweSyig1R7uB@!7RDPpJ6lsIky30r=TgL4QY&N} zI5=WeZJK5_n>ojWVZW|xW+sqW+^u~!ccxJD>Zv$9nCrmXI;5iM>1s05L$va36i<;ri$h+uPG7x;#h}aF$18O&K&6 zMSrK(L4R=&d_5Tt^E@YOT+{o&BxwY>58_DFhM!C6`u^e5$xnPhl%Ir9USde?qG z$zU)j%d)DfTW-1K{JC=gR#sNp7f*1`FpW=XyhkCvJmJ`7m)`20%il71%3= zF>O)P1oE-!ClSwemR0786p9#v#KZ_HD|K_Yg1*f9g6{RVu638>=R9T|9B^Od|6XSa z=8PGd3o>&xQ4`2q3PG3im}l+C$DvaO&n#>%<~IhcG6sM3KmWmh`oH}1)LPc}v!?D8 z&J1NUC34!`F>cutl&L0&GmtWD0L>dgvA8hS3;9x%-gxEoU@Knek37WN+;ARBYNSfZ zIN98k+>|;6Br6=jnVYoin~W)J7Q>b=`$2PJC7pB@05ocxhmbNy#=02f`0VJG?hF^# zkKOmnkDpF&$CyP-t2oQXmyfJBs8cHg8}+BF`LyWkuvgacc>a{zESJZ3fBnhPJ+?kr zPsJ#d4!{U`z-TI-S8@Sdnt`XV!S}uY2kyS}JwNr+fBQ>c{McaF&;2M?qs%W?^>*ZS zSByhO&W~mj6#msEYOEXpihw4>23y^+Era7KU&KaCv(a8e;#o9Z5 z{rsP+^P3tmba2k<)Ki}sPiy)&5#{I zjd_;?0b%pi>9|GO+}uQ2!VHeh462>dP()0$OOM&(Y=D;?YZGH^+qP+%x~}WGt*f@F zW79MM6LII9-U%#3V@m1fn{RZUh)p%+c|Ms;76uEBUbhva1UL>M3} zolS|_&kGo7)DuUK-~E=mmqyFet;xKVXC@GJszD;xB}yeth}Jb|_qSrb#-_sda@nx| zle_#D8ATvb)&$O#lUe9!lMPhHoluaHtzOU{w1uCA_jGls9=SCKfEoKtq{*qGTf zIdTp$f{^8b!BNtroVIOEL{=e{>Cp!tHM6oU!R8zhk%?Ig64wvCBFouhvui{Kfz4+rI5Pwl>G6q?(-9 z!7x|Vqie^4?_F8nSXo?o-P$2UZQF(rHa9j>lgK!88Dt&`^qgA3292pRp@=bVY;1hy zbD#V5-}vw^{>}#Iy-F>`n0y2*IhXRLA&RNhpb3(Y zyvw`ULnX*=%a4tmG8qxrfuRs5o*am5?hnLd>?K?29l7@%-}#^2^eq7)p%sWg6cEg= z{)da=qGcA^U@WuQ%m(^=VFF(lLfLhM`CZZMVkZw*(91g+UjK3W+PyWM)ssRU@crNa z{r~D;e8`b!A7Jtl?&`h|7m}j_vV>B5yJz} zMqA+&3O5|~Yiiomj%1i-^5i2=4tTLm%^(akikTHIZxm+c*bxw8V`>>fD#qK@)xixb zr`~z%;?Y2vku#Clwhe<{TRd7kwkVCry9UDw4@e)ZDj!HL2zQIGRF)zXdG zJf|T*sAeTWa^}%O-@CrVYFd?LQ~$e<{MKD}zy02Kf9q(lYSW2e@QwGp^?&`fU*hA7 z$_xWUNui{|0HKV{xt$AdS$xZZ=^c9h!RF9l`H;tYop~$}akmN>a5#JEqM3mmoM&e0 z=4s86sRw1uWJY8Lh$XoBd2!D}ocEop4j6~-D}ES2Y*SsgWm%WAww%@FtSM(rRkq`u zYC5T!I!PiT=h=D3&JkyJ>+Ltzsml9B+t!Q2#o45Gl)Wa8+%-B9BQ?N>P}b%5{g>aT zNJoyXZHzZ5V}!Z;6x4b1J6Co-|B3q_|KbxXy|u!MK)DkaMI!1ZG<8u{MTtNHZIQZh zKrn>WI!9Oo0c7Nq9k>gPPDsLO&%hmkQ|Ba1F3);t(8FMWQ4gaYh9j(uu(E>X*=!bL z6p-CN0M^%LY3m+Eg|^b( ze){$bi@Wq~XM;lX?>LA=Vl(LR6Gzn&dz#Piznm*iK9f94!MDyuN8(^Up$oxC zWvn71k!9X{b}TkZOU;#}Q}x6gU|yh?a^X<-oIhhvBMet*;U_E2}tau<4}irV6^4MejZHzCl+91(JKpnA+_Q&7B5j-X4XpbSQM%7G4t$;LC!;~ z!lYcB-24qEj^4dm`bmWYkT%smY%oqH$iN<*UU;DoQ z?SKD=M{i{APq(L6Ha0eo9=WNW3BOi-9=#^JdTs}uJ1mV1IK_IM& z6(q{^%=xo|x#m=U)S;_L|tkz5jmy+bKMtlk%Zeu+DbHPmq(hU6f{}Ex4z}3 z&FNJRG@VYp%Q_+IYkw&q8Wr-PfBh>bZa99+shhGvF{x*ixsLWzRWcrCqvdR6a;f_K zAKyPcS7C>H((hvsEHg8u7+u>B3m$>s?YTvPoiZ6aof|(86a<6rMG)?CQOru?jhWT( znt9E8H0av`MUNT;x45`C94_Q}-lahsq^+Adkb3Utat)wVT&I%mmM<2D94^O~P_PKs zxR70!mDz(?UvoUVnWz8=97N@Y8*b=aD!Lb1XBhW$^j(AwKIc@9t2QIEZda2M}svF}J(QpQ4vQ~Zah4pjfq}J$c zYCAK(bK-4Bj@-3|71>VPktFYB?4i=Mb)!&-Az-Fg1>1rW+!z|>dZT?Z;%dY=6qwqi z#q^%HpZtyg@PFR^_EpQO(el#ybC)_9>ua?IABc?HeQrImw$gWbJE>8UbdOU``|_ zm5B;ARaL}9%+$d=%&V{p2VcN^+i2575s-nQ3KgVT+`jqr zjcZ4j6%u3g%&~dZ^XH!*iKt{CE&92diKXBB$bbB<@BXf=2re*K5=pYe3`ZQ`hhd>e z#pHbX_$Qyd`p6b-_+A|KWDqnb^=v$%rGQ>Q?sPwynZa!6oY`sq9@HSad-a~R)xJB! zXgD19hL#KsAkdjYfrJvZM4e8jO&!S)V`N;X7qf5ZFt1Iln5WF`1L#hAZ*v4D^s)yX zzD8GMwdv^*ZImT9AO^iIYc-l5=ETYTe5{ zK3N0_kr08Io%cQq4A+T@lBkDwt+Q?0e0=lFr_Wq@WP`^Zr3IHIlSZn15Mqp(/R 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%0AxC$<_4W&oou^=3Ui+(!t`3$MfI-^t_3FAV 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 diff --git a/frontend/works_shg_app/assets/png/ic_launcher_.png b/frontend/works_shg_app/assets/png/ic_launcher_.png new file mode 100644 index 0000000000000000000000000000000000000000..4fff372272b4c4e058d6ed2af4edbd8d9dc7745e GIT binary patch literal 6206 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 literal 0 HcmV?d00001 diff --git a/frontend/works_shg_app/assets/svg/delete.svg b/frontend/works_shg_app/assets/svg/delete.svg new file mode 100644 index 0000000000..bc66f16d22 --- /dev/null +++ b/frontend/works_shg_app/assets/svg/delete.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/frontend/works_shg_app/assets/svg/double_arrow.svg b/frontend/works_shg_app/assets/svg/double_arrow.svg new file mode 100644 index 0000000000..95b63efa3f --- /dev/null +++ b/frontend/works_shg_app/assets/svg/double_arrow.svg @@ -0,0 +1,4 @@ + + + + diff --git a/frontend/works_shg_app/assets/svg/menu_book.svg b/frontend/works_shg_app/assets/svg/menu_book.svg new file mode 100644 index 0000000000..cce3cd99d4 --- /dev/null +++ b/frontend/works_shg_app/assets/svg/menu_book.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/frontend/works_shg_app/assets/svg/sort.svg b/frontend/works_shg_app/assets/svg/sort.svg new file mode 100644 index 0000000000..02e7e9e605 --- /dev/null +++ b/frontend/works_shg_app/assets/svg/sort.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/works_shg_app/assets/svg/workorderInbox.svg b/frontend/works_shg_app/assets/svg/workorderInbox.svg new file mode 100644 index 0000000000..aae186b9c5 --- /dev/null +++ b/frontend/works_shg_app/assets/svg/workorderInbox.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..af3af4822c78ea4691775abfe455d19e9a19b89b GIT binary patch literal 518790 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�w}RkOrZ*t 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

^E3X2hX7l&c+7XM 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 nuY5n5d%9 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

twrfS6o%;V+Jcp~Z<;uQ@(j{fnYg-|~y+;Xe z1tZ|{(oy`vB>>jZ0r>~as# z=~--s(zQ_2}|FV@b$hn_pTKC`8}5vJoW{_Z;lZlKkm z>lJWcMfYx+dP*Um4T4*{G&##W*bg9%DhXSjI}|YjtVVgRupwZ1Dt@V7YZPVFV7l4F zx+NI$H*nwh4{TUEFsi)N`qMlyj{GwSoqYf z)Rw$-bW)?Lh2j+X6IM`mBgFVMz_S0{h=y$A`lAIUm>=AXmkfS-b5X7DC~){}{~ z?~GZBiS0(}#f$j_&TiDqGtl1CSzaC$m@oQMU%ao(=LT`3SILB#f!HMFN{>(rS|^gK zv*`QUNS)aAMZgKy#z$BdBgz=xdEOD(dRkHy=){dp=bA z`-qTKifZo%Q1@&~S^V55`6W4*Gb{+XLOB)>yg3749KfZ0R;c9xN2BX9LGQG#13 z0;vVKesJCW3zacV&*FrdK*L`8w?ox^e#1YF5a=cXa(e93>&TE{?K%DK5!wy zP~RBL34W0>w6tZD*P^axBH{bo+4%rQ>64ES{J-EL^?fE(^<%;bWYPgV1h+g38yn&L zh^=z&PfC`G15ymxXD!GU^<(-xirOBE36(7`v?>g|1`}+6qQ**~P ztn>DrJ;%ZFTMIZ9s~DSEPCp8~`t=fk>u65VW9m%?nz<#A>udSmqJ2UezWoHz> z6IcbPl7A6=^+qkq{ThBOsB9RbATIYSF=q>Y0V(kYpwOoWa){K4drm^v1W;E+zx#NK@XT$n3n z3U!*4zTi@f=K}DZa>761i4C1_=&nabQD!2g@9$l;I_7Y$(bO_FGxVOg4TpZ^uBjTu z30)K1ek8=8zHlTu`NSzaEx_5%&(9x(>=-A}}V0%0AKB$f3H0Prt|VKREq+ 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 literal 0 HcmV?d00001 diff --git a/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0134efcd4c8f21d7bd2684ab460098e027616d47 GIT binary patch literal 2487 zcmV;o2}t&dP) zNkl3Fm~ zYNvBLbL!YpPZislS{;R`hn7W#aY0^3Ov3Klpzdj1R`5-R0EV&29o`Q|SUa8-ZcaIe2;5 zU=aH@m-8D{O`WcT1S2Sw=ELNW5t7+q>$aOQ9Ou#)tENs5<@+O(<4+1~9dI74zuarL ztPV}g3`>HcLDk^$!%ign9kxPc^|AUZ*%2x6e$xLI40id=u9gDjoo(?MK6IwVY1J6J zK|hC%qBIu#gK;pA#&{=oo*TzcG*p(T>UPaoN+prUF@8KSaPP^7H;hjEq10^Pz=PLL zwDqbzFc=B-k!_xpHA-G_wqV)H6`SMIntL_dub%pF_FBGYaxVx5w*I~8I)hC8^(*pc zmH{U4E;5#UU2Sc8Mh2Bi1^3gug!@v~?7m+3$5&qmYyV>4N_Df%J+LuyHav39;GO_+ zO$;yd_pRl-7Js3T@5O&6<;_6%B)_)z=DCA&vk+tqtH%Z#9QLBt`v>Q}0jNXCd;}gC zObq=b2EUi?7k>4R6G5?ph_D!gy=T*$Phd}jL@0O7)ER$ks`^FLtMGFk9|H_PhwCbK zCN4$>smDt`jf{$(6*Lzxl;1W?iwwscSQkxO(s&K_pyA50+f;;g_f%KP?seT*`$$!C zacJq2I)lT;XRsy)_c^RC3=^aLfBmz(yzFAtwQK7?Tzjdr#A)Q}uRJ!^YW(HFCWbT2 zXDSIMxd=BaiUc+BYPGHTpB#;-P4w6&at#RO!8bb1{xoH;un?M(9*Ad*=$=8%{~ zBH6LyH-HBZXK6SjDzLq^1H*}Ki>9kmzcg!cc|k?;pTud#yfDN$)mw) zbFa&6>T}zW`4YNanuyQ ztp_XI-&boVml5qBGyxdIPr}R@_b=8wD+3^gb5e1gmchF8VSt`eR`HI`?c zOXZ=FGQP>`l*b12vys;~{DHDLb%{I_?4K)77|T*5gAc+uOb!lA0*vvOJ~NpwSq5 zx_Q2SYE9SOhiz5&)iGhd%C`OnRqwF5{^(n2E1su}0S0He?Q1u_f4v^n4jbLsWB#hF z;myS{MzgJI&#}y)bd*8@Gt##A^S*89QEs~(6@povLbkvc7r}^o;E~Te!ApudZ)u(V z;-#~f1;;;s4jBUsgw{=)p?G82<3k0o3wOF{mh>%8tu0IjEixqPvJh#pyP0ROkhvyR zNn-??!=;cPv^q28+X7+@rUwKKv9d@|oR?5bxW7an9M9ZBn*2ckxcBIq+(nO7q_11u z^dNV1^7%HA<*!$bCJGFbl(1XY0o9*vn&QRa(x@1L>&f9XGOd>@@VA%^wG=LeZYJyo zssE1b1@V5P<9R$VXyDjWo?Y#dNh_5yVSfvcMFFFBNF}6VfoxCBu#@5C z3$-Oz91tQ>a=22P&1tvPvyAMOQ#ZxW|0(@H2?h=i^AZ)l`@0PVU#f9445Rjh2pOiL zQ=Le+n}Xm%_VDo*VNe7-$ZG9jvjW^CN-N5#_SGjYPu!D`20fReCk79(gL%G}-`e`Y zt1br_{*6BvVdt2@p`ldZyxG!xXcJtO|ufgUGtM(*%OvT zA(19jJE>O~jYgwasrJpuwzvkasvjQGwi4Dp2)EfdOeUQLaXDVxfL%KyePKGNS7c<& zbN7D)E-o%^ZEd}9;X+DEN^o#+d{8o%%R^DH#vVp<^CN-4+wE|@|IuEf(FlqrjYfMp z;GCSCuCA_{ni`c#)!yD-R8*9gmseI+mYA5x;c#keYo$_YOG^un#{-hLZrz$UZ{EuR zg8~o~6a>zTZEbD9nz*<)z{|+U0F$uUZ0YIgpfe^T=c} za3d0lz!jJ~a#Uk6vmqEo(Mf81X@5lsQT7YT{~HUj29n3(u228~002ovPDHLkV1j8{ Bu^j*a literal 0 HcmV?d00001 diff --git a/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..298b43f0122ae0b4fe95dc338cc5abd93c1d2c13 GIT binary patch literal 4690 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 UJ#P&0kpKVy07*qoM6N<$f^C==IRF3v literal 0 HcmV?d00001 diff --git a/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc5bb717f91369deb05b62d45e488cdc741aede0 GIT binary patch literal 1549 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 Bu^j*a literal 0 HcmV?d00001 diff --git a/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..2015745f30c3aaddddf139ff1a6293650dc0471d GIT binary patch literal 7367 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 VX|b%5N#_6n002ovPDHLkV1h>@l2`x$ literal 0 HcmV?d00001 diff --git a/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png b/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6367d9cc209dce5bc121a05dfc16514afd7db013 GIT binary patch literal 10171 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 literal 0 HcmV?d00001 diff --git a/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png b/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..9ee94ee6f892e0914c73ac440e8844d3fef5f703 GIT binary patch literal 4321 zcmV<75FYP|P)p!-1tXg%(y_=3J4&s8fE(o#+$W9UnA$xLfa&zZ|RBJ1sFm30V=jkEOeUf|6 z@}BSe&i8%iTriH~p#PA9{ks8rQGRFrb;|FozfSp`_17uC04wm&PS#zaZz>mfg#w3A*cvSz6?*mF@{1aqai}u-nb=_}UnPq45xFm{fRbU^?WF~KD=v)+8SqBNlaUfR z1l^Sy5UHmQ1c{Ⓢ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 X7cO1rGiTY|00000NkvXXu0mjfY_<`P literal 0 HcmV?d00001 diff --git a/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..537a7a0b669522caeed1e1648affce027a4bbeec GIT binary patch literal 14479 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 M07*qoM6N<$g8h?0xc~qF literal 0 HcmV?d00001 diff --git a/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png b/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..90200cb3beab5e14cdf475a38a5fe825bdcb744b GIT binary patch literal 6299 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 Q`Tzg`07*qoM6N<$g0VkQssI20 literal 0 HcmV?d00001 diff --git a/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/frontend/works_shg_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..513bbee21ff1826b747b6706ca786538d60ab1bd GIT binary patch literal 25184 zcmbqaQ+F;(kd1BIwr$%w(TQ!_wr$%uv2EKDG^jclDt9EroDk(_9 z!{ERG0Rh2FONpucXUqS0L4o|Yf4XdS{b!I}#I;=1EM06&ft17~h(w)C4PES=g!Q|r z{sU3}7Zi4Nv9NdgKUB@$-o}|oSQ2;6oe2oY@Jd=tSj__%paU`UlB7d8j zphPO>Ww9unMI?|g26xY1*J^L3WC&5&zLc_5V5aqp74h)z$cs53|oDwMPn292YP?*#iO! zt+;h=>svQ$6Z|*YjMk3;ltF-~W~d32^L;4A4~6vXcK0G!GIZ<@<|=Yf7_s=9F(67b zgjnr>Jk6Ajr1|Hsp0=L4QDtr8^4cGI4Dm8^WD%F3QTb~31)La&bOUpD!eC`lAd7C6 zeSp-K*JRjRX#8)^gJ2Mkcsz(G8VoZL*qY&mi}Y+q)7Ns(l{2H;S>J z`4Fx}y|cJF<9;YrGaNdyt=;QZJX#5zeMHYnyB*D@o@PR=xmCPFkSK$o1xE?tt0O}b znN_X8mSA~f08s<<+UF=Od-gSs<+bI^>8K19^$Zm~tn`^1DMmXXkrs2Qvw~AZ@YYMz z?a9zJnyO3Mgq`*U&~?fAe32ivimmPXq92)0?XnMvPkmx>_?4^0xVkCXs5$B6020vC zOiz))m|a`nAf12U!&smsF}=NcyZStsfdUPewFBZDSxkkRWyVkuV$|&FXKN|u>ZxTb zX%uN^c{DQ&mKE|;vs@}!+^-%v!t+n?7Ti?bzP}NWgKz{I{lrj6yt%*X&M4QwJHgs=HY<+{ z6$(7VTki+?VjI6~71h(xp35L3U(W~E&hfUj`!(8`LkW*-xRk9o-)rZ2$aVTGW1abN zKqkhQ^9mgo7vrOI+51NO-Hu_Gf1V6ZFVxpBZf9Zyi0kx^hIpe96NewV$tS!yb9hxu zYxi^<-28Vpu){Uv?K$@++7La@bM3tAw+pswE2_De@zq6{A?id}(#1~ zk?%l025OB6A}{&K=(MAeL{l6F-(f2f(Zy#^KNG*JJ5LmtA7_)#fEPxH`%GniHO%Rk{)l{NLSdOlR}Z|m zXD3DPhGORWZ3tr~vKs(>C74}9NVL#a*8XvFyN##*Y_^&d{IDJBMs-|172LB^N>~^o z*w{-I-rb4n{7B+f(bfF)99$il=(;3NbTf#b$5_&NCd7Fr5*Z&IZ`f=^+S5pvp$aV~ z3vk$#Xy@dO_vu(_p#LMCPq2}ql+;7y_t{?l(mii?=Zp`5`^2-OcX4q`vMgN;3K7$S zOsm{0(D)f#Y)xBZ_Aw#atK96xzsg>~y(ZOvy=n6}eAo6;M=vdzT~+!47a3QufQ%St z@v@&5b3};0<5ENS8ElN}FUQYR{ux3{Z-hkACRRW{-G}@1%OJ9oCa3OPsGF+wd&~&i zew=@dK8tR-=V<{D)P6;&c(ju%;jo;x&(~cBn}3TBizdw$T&FDhzB~@DzkR1JZ!?-+ zog?I5yJ!YZ_Hmhofwb^ptbiWot^0LHzDz($fQ3(PMqZ>;EX@Ox_W}^WFNu z{LU8JZDC5XU+eamc>3KU(kA)Piob@wKFfwg{})!nwEQ@H;ao_+}{!ox;}@pT55+{_j;05>s^|J-(A zOeJlPPPh+MqzC8ntMPg+)QpxENmxM{u{F8wxrcRIfUEo>O2AvL{l

RVrY4i0*4e zjQw#Kj>eE0W$TG78RjX%-imfT?6HHuiyQ*yARk-K{k{o1RMXW z?H23sjNN>Cq*7^jc-patkj=qU#NX@e`N*M3;5(&Wh3~D({ zVRZMUN2No`$jTS^y>o(&DzcfOo6-K~ZwWeRYE)SO6e;fW!fL1fDWcPlo;=)+mywYw7 zL7`Ggv2t2s8BIxh>@k2#E?$j(4BPU;zVH1MlF$!pg9JwS`0R|+X1&2W-y(Yt{b|z_ zQIOU5EXjTrKcm;wFtqY?0|6B5kSfWu$4N(-^5v34j{6nxMxRfxC34jG3i{hri_mUyz`$c;tNLNFjh*u)h zhST-6-Ce0##>Z=`{YtQ7I}?V))Adgmm+K=_g8%R7LC}w)6?

EWpEfPjSU;DdwiQ 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

%9NRatIb+Yth7rD}lGMy7HaJ^@?8 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 JPDHLkV1m=O>yZEe literal 0 HcmV?d00001 diff --git a/frontend/works_shg_app/ios/Runner/Info.plist b/frontend/works_shg_app/ios/Runner/Info.plist index 74ddf9fae8..4f3ad16f08 100644 --- a/frontend/works_shg_app/ios/Runner/Info.plist +++ b/frontend/works_shg_app/ios/Runner/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName - MUKTA CBO App + MUKTASoft App CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier diff --git a/frontend/works_shg_app/lib/Env/env_config.dart b/frontend/works_shg_app/lib/Env/env_config.dart index 823fa4a13b..4d18d86516 100644 --- a/frontend/works_shg_app/lib/Env/env_config.dart +++ b/frontend/works_shg_app/lib/Env/env_config.dart @@ -72,6 +72,10 @@ class Variables { 'SEND_TIMEOUT', '$_connectTimeoutValue', ); +static const _aadhaarUrl = EnvEntry( + 'AADHAAR_VERIFY_PATH', + 'http://164.100.141.79/authekycv4/api/authenticate', + ); static const _baseUrl = EnvEntry( 'BASE_URL', @@ -97,6 +101,8 @@ class Variables { required DotEnv dotEnv, }) : _dotEnv = dotEnv; +String get aadharUrl =>useFallbackValues?_aadhaarUrl.value:_dotEnv.get(_aadhaarUrl.key, fallback: _aadhaarUrl.value); + String get baseUrl => useFallbackValues ? _baseUrl.value : _dotEnv.get(_baseUrl.key, fallback: _baseUrl.value); diff --git a/frontend/works_shg_app/lib/blocs/app_initilization/app_initilization.dart b/frontend/works_shg_app/lib/blocs/app_initilization/app_initilization.dart index 323cb2186e..a072def8fa 100644 --- a/frontend/works_shg_app/lib/blocs/app_initilization/app_initilization.dart +++ b/frontend/works_shg_app/lib/blocs/app_initilization/app_initilization.dart @@ -79,7 +79,9 @@ class AppInitializationBloc languages: [ ...result.commonMastersModel!.stateInfoListModel![0].languages! .mapIndexed((i, element) { - if (element.value == result.commonMastersModel!.stateInfoListModel!.first.languages!.first.value) { + if (element.value == + result.commonMastersModel!.stateInfoListModel!.first.languages! + .first.value) { return element.copyWith(isSelected: true); } else { return element; diff --git a/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.dart b/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.dart index fba1444c95..7b8ac5344b 100644 --- a/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.dart @@ -4,6 +4,7 @@ import 'package:dio/dio.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:works_shg_app/data/repositories/common_repository/common_repository.dart'; +import 'package:works_shg_app/models/employee/homeconfig/homeConfigModel.dart'; import 'package:works_shg_app/services/urls.dart'; import '../../../utils/global_variables.dart'; @@ -17,6 +18,7 @@ typedef HomeScreenBlocEmitter = Emitter; class HomeScreenBloc extends Bloc { HomeScreenBloc() : super(const HomeScreenBlocState.initial()) { on(_getHomeScreenConfig); + on(_getEmpHomeScreenConfig); } FutureOr _getHomeScreenConfig( @@ -50,7 +52,37 @@ class HomeScreenBloc extends Bloc { cboHomeScreenConfig = cboHomeScreenConfig?.toList() ?..sort((a, b) => a.order!.compareTo(b.order!.toInt())); - emit(HomeScreenBlocState.loaded(cboHomeScreenConfig)); + emit(HomeScreenBlocState.loaded(cboHomeScreenConfig, null)); + } on DioError catch (e) { + emit(HomeScreenBlocState.error(e.response?.data['Errors'][0]['code'])); + } + } + + // emp home config from mdms + + FutureOr _getEmpHomeScreenConfig( + GetEmpHomeScreenConfigEvent event, + HomeScreenBlocEmitter emit, + ) async { + Client client = Client(); + try { + emit(const HomeScreenBlocState.loading()); + HomeConfigModel configModel = + await CommonRepository(client.init()).getEmpHomeConfig( + apiEndPoint: Urls.initServices.empHomeConfig, + actionMaster: 'actions-test', + enabled: true, + roleCodes: GlobalVariables.roles, + tenantId: "od", + ); + + print(configModel); + // List? cboHomeScreenConfig = + // configModel.commonUiConfig?.cboHomeScreenConfig; + // cboHomeScreenConfig = cboHomeScreenConfig?.toList() + // ?..sort((a, b) => a.order!.compareTo(b.order!.toInt())); + + emit(HomeScreenBlocState.loaded(null, configModel)); } on DioError catch (e) { emit(HomeScreenBlocState.error(e.response?.data['Errors'][0]['code'])); } @@ -61,6 +93,8 @@ class HomeScreenBloc extends Bloc { class HomeScreenBlocEvent with _$HomeScreenBlocEvent { const factory HomeScreenBlocEvent.getHomeSvreenConfig() = GetHomeScreenConfigEvent; + const factory HomeScreenBlocEvent.getEmpHomeSvreenConfig() = + GetEmpHomeScreenConfigEvent; } @freezed @@ -69,6 +103,8 @@ class HomeScreenBlocState with _$HomeScreenBlocState { const factory HomeScreenBlocState.initial() = _Initial; const factory HomeScreenBlocState.loading() = _Loading; const factory HomeScreenBlocState.loaded( - List? cboHomeScreenConfig) = _Loaded; + List? cboHomeScreenConfig, + HomeConfigModel? homeConfigModel, + ) = _Loaded; const factory HomeScreenBlocState.error(String? error) = _Error; } diff --git a/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.freezed.dart index f6c1284e41..6a63f4af51 100644 --- a/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.freezed.dart @@ -19,16 +19,19 @@ mixin _$HomeScreenBlocEvent { @optionalTypeArgs TResult when({ required TResult Function() getHomeSvreenConfig, + required TResult Function() getEmpHomeSvreenConfig, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? whenOrNull({ TResult? Function()? getHomeSvreenConfig, + TResult? Function()? getEmpHomeSvreenConfig, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeWhen({ TResult Function()? getHomeSvreenConfig, + TResult Function()? getEmpHomeSvreenConfig, required TResult orElse(), }) => throw _privateConstructorUsedError; @@ -36,16 +39,21 @@ mixin _$HomeScreenBlocEvent { TResult map({ required TResult Function(GetHomeScreenConfigEvent value) getHomeSvreenConfig, + required TResult Function(GetEmpHomeScreenConfigEvent value) + getEmpHomeSvreenConfig, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? mapOrNull({ TResult? Function(GetHomeScreenConfigEvent value)? getHomeSvreenConfig, + TResult? Function(GetEmpHomeScreenConfigEvent value)? + getEmpHomeSvreenConfig, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeMap({ TResult Function(GetHomeScreenConfigEvent value)? getHomeSvreenConfig, + TResult Function(GetEmpHomeScreenConfigEvent value)? getEmpHomeSvreenConfig, required TResult orElse(), }) => throw _privateConstructorUsedError; @@ -109,6 +117,7 @@ class _$GetHomeScreenConfigEvent implements GetHomeScreenConfigEvent { @optionalTypeArgs TResult when({ required TResult Function() getHomeSvreenConfig, + required TResult Function() getEmpHomeSvreenConfig, }) { return getHomeSvreenConfig(); } @@ -117,6 +126,7 @@ class _$GetHomeScreenConfigEvent implements GetHomeScreenConfigEvent { @optionalTypeArgs TResult? whenOrNull({ TResult? Function()? getHomeSvreenConfig, + TResult? Function()? getEmpHomeSvreenConfig, }) { return getHomeSvreenConfig?.call(); } @@ -125,6 +135,7 @@ class _$GetHomeScreenConfigEvent implements GetHomeScreenConfigEvent { @optionalTypeArgs TResult maybeWhen({ TResult Function()? getHomeSvreenConfig, + TResult Function()? getEmpHomeSvreenConfig, required TResult orElse(), }) { if (getHomeSvreenConfig != null) { @@ -138,6 +149,8 @@ class _$GetHomeScreenConfigEvent implements GetHomeScreenConfigEvent { TResult map({ required TResult Function(GetHomeScreenConfigEvent value) getHomeSvreenConfig, + required TResult Function(GetEmpHomeScreenConfigEvent value) + getEmpHomeSvreenConfig, }) { return getHomeSvreenConfig(this); } @@ -146,6 +159,8 @@ class _$GetHomeScreenConfigEvent implements GetHomeScreenConfigEvent { @optionalTypeArgs TResult? mapOrNull({ TResult? Function(GetHomeScreenConfigEvent value)? getHomeSvreenConfig, + TResult? Function(GetEmpHomeScreenConfigEvent value)? + getEmpHomeSvreenConfig, }) { return getHomeSvreenConfig?.call(this); } @@ -154,6 +169,7 @@ class _$GetHomeScreenConfigEvent implements GetHomeScreenConfigEvent { @optionalTypeArgs TResult maybeMap({ TResult Function(GetHomeScreenConfigEvent value)? getHomeSvreenConfig, + TResult Function(GetEmpHomeScreenConfigEvent value)? getEmpHomeSvreenConfig, required TResult orElse(), }) { if (getHomeSvreenConfig != null) { @@ -167,6 +183,115 @@ abstract class GetHomeScreenConfigEvent implements HomeScreenBlocEvent { const factory GetHomeScreenConfigEvent() = _$GetHomeScreenConfigEvent; } +/// @nodoc +abstract class _$$GetEmpHomeScreenConfigEventCopyWith<$Res> { + factory _$$GetEmpHomeScreenConfigEventCopyWith( + _$GetEmpHomeScreenConfigEvent value, + $Res Function(_$GetEmpHomeScreenConfigEvent) then) = + __$$GetEmpHomeScreenConfigEventCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$GetEmpHomeScreenConfigEventCopyWithImpl<$Res> + extends _$HomeScreenBlocEventCopyWithImpl<$Res, + _$GetEmpHomeScreenConfigEvent> + implements _$$GetEmpHomeScreenConfigEventCopyWith<$Res> { + __$$GetEmpHomeScreenConfigEventCopyWithImpl( + _$GetEmpHomeScreenConfigEvent _value, + $Res Function(_$GetEmpHomeScreenConfigEvent) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$GetEmpHomeScreenConfigEvent implements GetEmpHomeScreenConfigEvent { + const _$GetEmpHomeScreenConfigEvent(); + + @override + String toString() { + return 'HomeScreenBlocEvent.getEmpHomeSvreenConfig()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$GetEmpHomeScreenConfigEvent); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() getHomeSvreenConfig, + required TResult Function() getEmpHomeSvreenConfig, + }) { + return getEmpHomeSvreenConfig(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? getHomeSvreenConfig, + TResult? Function()? getEmpHomeSvreenConfig, + }) { + return getEmpHomeSvreenConfig?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? getHomeSvreenConfig, + TResult Function()? getEmpHomeSvreenConfig, + required TResult orElse(), + }) { + if (getEmpHomeSvreenConfig != null) { + return getEmpHomeSvreenConfig(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(GetHomeScreenConfigEvent value) + getHomeSvreenConfig, + required TResult Function(GetEmpHomeScreenConfigEvent value) + getEmpHomeSvreenConfig, + }) { + return getEmpHomeSvreenConfig(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(GetHomeScreenConfigEvent value)? getHomeSvreenConfig, + TResult? Function(GetEmpHomeScreenConfigEvent value)? + getEmpHomeSvreenConfig, + }) { + return getEmpHomeSvreenConfig?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(GetHomeScreenConfigEvent value)? getHomeSvreenConfig, + TResult Function(GetEmpHomeScreenConfigEvent value)? getEmpHomeSvreenConfig, + required TResult orElse(), + }) { + if (getEmpHomeSvreenConfig != null) { + return getEmpHomeSvreenConfig(this); + } + return orElse(); + } +} + +abstract class GetEmpHomeScreenConfigEvent implements HomeScreenBlocEvent { + const factory GetEmpHomeScreenConfigEvent() = _$GetEmpHomeScreenConfigEvent; +} + /// @nodoc mixin _$HomeScreenBlocState { @optionalTypeArgs @@ -174,7 +299,8 @@ mixin _$HomeScreenBlocState { required TResult Function() initial, required TResult Function() loading, required TResult Function( - List? cboHomeScreenConfig) + List? cboHomeScreenConfig, + HomeConfigModel? homeConfigModel) loaded, required TResult Function(String? error) error, }) => @@ -183,7 +309,8 @@ mixin _$HomeScreenBlocState { TResult? whenOrNull({ TResult? Function()? initial, TResult? Function()? loading, - TResult? Function(List? cboHomeScreenConfig)? + TResult? Function(List? cboHomeScreenConfig, + HomeConfigModel? homeConfigModel)? loaded, TResult? Function(String? error)? error, }) => @@ -192,7 +319,8 @@ mixin _$HomeScreenBlocState { TResult maybeWhen({ TResult Function()? initial, TResult Function()? loading, - TResult Function(List? cboHomeScreenConfig)? + TResult Function(List? cboHomeScreenConfig, + HomeConfigModel? homeConfigModel)? loaded, TResult Function(String? error)? error, required TResult orElse(), @@ -283,7 +411,8 @@ class _$_Initial extends _Initial { required TResult Function() initial, required TResult Function() loading, required TResult Function( - List? cboHomeScreenConfig) + List? cboHomeScreenConfig, + HomeConfigModel? homeConfigModel) loaded, required TResult Function(String? error) error, }) { @@ -295,7 +424,8 @@ class _$_Initial extends _Initial { TResult? whenOrNull({ TResult? Function()? initial, TResult? Function()? loading, - TResult? Function(List? cboHomeScreenConfig)? + TResult? Function(List? cboHomeScreenConfig, + HomeConfigModel? homeConfigModel)? loaded, TResult? Function(String? error)? error, }) { @@ -307,7 +437,8 @@ class _$_Initial extends _Initial { TResult maybeWhen({ TResult Function()? initial, TResult Function()? loading, - TResult Function(List? cboHomeScreenConfig)? + TResult Function(List? cboHomeScreenConfig, + HomeConfigModel? homeConfigModel)? loaded, TResult Function(String? error)? error, required TResult orElse(), @@ -401,7 +532,8 @@ class _$_Loading extends _Loading { required TResult Function() initial, required TResult Function() loading, required TResult Function( - List? cboHomeScreenConfig) + List? cboHomeScreenConfig, + HomeConfigModel? homeConfigModel) loaded, required TResult Function(String? error) error, }) { @@ -413,7 +545,8 @@ class _$_Loading extends _Loading { TResult? whenOrNull({ TResult? Function()? initial, TResult? Function()? loading, - TResult? Function(List? cboHomeScreenConfig)? + TResult? Function(List? cboHomeScreenConfig, + HomeConfigModel? homeConfigModel)? loaded, TResult? Function(String? error)? error, }) { @@ -425,7 +558,8 @@ class _$_Loading extends _Loading { TResult maybeWhen({ TResult Function()? initial, TResult Function()? loading, - TResult Function(List? cboHomeScreenConfig)? + TResult Function(List? cboHomeScreenConfig, + HomeConfigModel? homeConfigModel)? loaded, TResult Function(String? error)? error, required TResult orElse(), @@ -484,7 +618,11 @@ abstract class _$$_LoadedCopyWith<$Res> { factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = __$$_LoadedCopyWithImpl<$Res>; @useResult - $Res call({List? cboHomeScreenConfig}); + $Res call( + {List? cboHomeScreenConfig, + HomeConfigModel? homeConfigModel}); + + $HomeConfigModelCopyWith<$Res>? get homeConfigModel; } /// @nodoc @@ -498,20 +636,38 @@ class __$$_LoadedCopyWithImpl<$Res> @override $Res call({ Object? cboHomeScreenConfig = freezed, + Object? homeConfigModel = freezed, }) { return _then(_$_Loaded( freezed == cboHomeScreenConfig ? _value._cboHomeScreenConfig : cboHomeScreenConfig // ignore: cast_nullable_to_non_nullable as List?, + freezed == homeConfigModel + ? _value.homeConfigModel + : homeConfigModel // ignore: cast_nullable_to_non_nullable + as HomeConfigModel?, )); } + + @override + @pragma('vm:prefer-inline') + $HomeConfigModelCopyWith<$Res>? get homeConfigModel { + if (_value.homeConfigModel == null) { + return null; + } + + return $HomeConfigModelCopyWith<$Res>(_value.homeConfigModel!, (value) { + return _then(_value.copyWith(homeConfigModel: value)); + }); + } } /// @nodoc class _$_Loaded extends _Loaded { - const _$_Loaded(final List? cboHomeScreenConfig) + const _$_Loaded(final List? cboHomeScreenConfig, + this.homeConfigModel) : _cboHomeScreenConfig = cboHomeScreenConfig, super._(); @@ -526,9 +682,12 @@ class _$_Loaded extends _Loaded { return EqualUnmodifiableListView(value); } + @override + final HomeConfigModel? homeConfigModel; + @override String toString() { - return 'HomeScreenBlocState.loaded(cboHomeScreenConfig: $cboHomeScreenConfig)'; + return 'HomeScreenBlocState.loaded(cboHomeScreenConfig: $cboHomeScreenConfig, homeConfigModel: $homeConfigModel)'; } @override @@ -537,12 +696,16 @@ class _$_Loaded extends _Loaded { (other.runtimeType == runtimeType && other is _$_Loaded && const DeepCollectionEquality() - .equals(other._cboHomeScreenConfig, _cboHomeScreenConfig)); + .equals(other._cboHomeScreenConfig, _cboHomeScreenConfig) && + (identical(other.homeConfigModel, homeConfigModel) || + other.homeConfigModel == homeConfigModel)); } @override int get hashCode => Object.hash( - runtimeType, const DeepCollectionEquality().hash(_cboHomeScreenConfig)); + runtimeType, + const DeepCollectionEquality().hash(_cboHomeScreenConfig), + homeConfigModel); @JsonKey(ignore: true) @override @@ -556,11 +719,12 @@ class _$_Loaded extends _Loaded { required TResult Function() initial, required TResult Function() loading, required TResult Function( - List? cboHomeScreenConfig) + List? cboHomeScreenConfig, + HomeConfigModel? homeConfigModel) loaded, required TResult Function(String? error) error, }) { - return loaded(cboHomeScreenConfig); + return loaded(cboHomeScreenConfig, homeConfigModel); } @override @@ -568,11 +732,12 @@ class _$_Loaded extends _Loaded { TResult? whenOrNull({ TResult? Function()? initial, TResult? Function()? loading, - TResult? Function(List? cboHomeScreenConfig)? + TResult? Function(List? cboHomeScreenConfig, + HomeConfigModel? homeConfigModel)? loaded, TResult? Function(String? error)? error, }) { - return loaded?.call(cboHomeScreenConfig); + return loaded?.call(cboHomeScreenConfig, homeConfigModel); } @override @@ -580,13 +745,14 @@ class _$_Loaded extends _Loaded { TResult maybeWhen({ TResult Function()? initial, TResult Function()? loading, - TResult Function(List? cboHomeScreenConfig)? + TResult Function(List? cboHomeScreenConfig, + HomeConfigModel? homeConfigModel)? loaded, TResult Function(String? error)? error, required TResult orElse(), }) { if (loaded != null) { - return loaded(cboHomeScreenConfig); + return loaded(cboHomeScreenConfig, homeConfigModel); } return orElse(); } @@ -631,10 +797,12 @@ class _$_Loaded extends _Loaded { abstract class _Loaded extends HomeScreenBlocState { const factory _Loaded( - final List? cboHomeScreenConfig) = _$_Loaded; + final List? cboHomeScreenConfig, + final HomeConfigModel? homeConfigModel) = _$_Loaded; const _Loaded._() : super._(); List? get cboHomeScreenConfig; + HomeConfigModel? get homeConfigModel; @JsonKey(ignore: true) _$$_LoadedCopyWith<_$_Loaded> get copyWith => throw _privateConstructorUsedError; @@ -705,7 +873,8 @@ class _$_Error extends _Error { required TResult Function() initial, required TResult Function() loading, required TResult Function( - List? cboHomeScreenConfig) + List? cboHomeScreenConfig, + HomeConfigModel? homeConfigModel) loaded, required TResult Function(String? error) error, }) { @@ -717,7 +886,8 @@ class _$_Error extends _Error { TResult? whenOrNull({ TResult? Function()? initial, TResult? Function()? loading, - TResult? Function(List? cboHomeScreenConfig)? + TResult? Function(List? cboHomeScreenConfig, + HomeConfigModel? homeConfigModel)? loaded, TResult? Function(String? error)? error, }) { @@ -729,7 +899,8 @@ class _$_Error extends _Error { TResult maybeWhen({ TResult Function()? initial, TResult Function()? loading, - TResult Function(List? cboHomeScreenConfig)? + TResult Function(List? cboHomeScreenConfig, + HomeConfigModel? homeConfigModel)? loaded, TResult Function(String? error)? error, required TResult orElse(), diff --git a/frontend/works_shg_app/lib/blocs/attendance/skills/skills_bloc.dart b/frontend/works_shg_app/lib/blocs/attendance/skills/skills_bloc.dart index ede9a8fdbc..1e3e048f48 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/skills/skills_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/skills/skills_bloc.dart @@ -26,15 +26,18 @@ class SkillsBloc extends Bloc { try { emit(const SkillsBlocState.loading()); SkillsList result = await mdmsRepository.skillsMDMS( - apiEndPoint: Urls.initServices.mdms, + apiEndPoint: Urls.initServices.mdmsSkill, tenantId: GlobalVariables .globalConfigObject!.globalConfigs!.stateTenantId .toString(), moduleDetails: [ { - "moduleName": "common-masters", + "moduleName": "WORKS-SOR", "masterDetails": [ - {"name": "WageSeekerSkills", "filter": "[?(@.active==true)]"}, + {"name": "SOR", + "filter": "[?(@.sorType =~ /.*L.*/i)]" + + }, ], } ]); @@ -58,4 +61,4 @@ class SkillsBlocState with _$SkillsBlocState { const factory SkillsBlocState.loading() = _Loading; const factory SkillsBlocState.loaded(SkillsList? skillsList) = _Loaded; const factory SkillsBlocState.error(String? error) = _Error; -} +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/blocs/auth/auth.dart b/frontend/works_shg_app/lib/blocs/auth/auth.dart index 1aae1354de..401b54efc9 100644 --- a/frontend/works_shg_app/lib/blocs/auth/auth.dart +++ b/frontend/works_shg_app/lib/blocs/auth/auth.dart @@ -8,9 +8,11 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:hive_flutter/hive_flutter.dart'; import 'package:universal_html/html.dart' as html; +import 'package:works_shg_app/blocs/app_initilization/app_initilization.dart'; import 'package:works_shg_app/data/schema/localization.dart'; import 'package:works_shg_app/models/user_details/user_details_model.dart'; import 'package:works_shg_app/services/urls.dart'; +import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import '../../data/remote_client.dart'; @@ -21,8 +23,11 @@ part 'auth.freezed.dart'; typedef AuthEmitter = Emitter; +enum RoleType { cbo, employee, none } + class AuthBloc extends Bloc { - AuthBloc() : super(const AuthState.initial()) { + final AppInitializationBloc appInitializationBloc; + AuthBloc(this.appInitializationBloc) : super(const AuthState.initial()) { on(_onLogin); on(_onLogout); on(_onClearLoggedInDetails); @@ -37,17 +42,22 @@ class AuthBloc extends Bloc { .validateLogin(url: Urls.userServices.authenticate, body: { "username": event.userId.toString(), "password": event.password.toString(), - "userType": 'CITIZEN', - "tenantId": - GlobalVariables.globalConfigObject?.globalConfigs?.stateTenantId, + "userType": event.roleType == RoleType.cbo ? 'CITIZEN' : 'EMPLOYEE', + "tenantId": event.roleType == RoleType.cbo + ? GlobalVariables.globalConfigObject?.globalConfigs?.stateTenantId + : event.tenantId, "scope": "read", "grant_type": "password" }); await Future.delayed(const Duration(seconds: 1)); + GlobalVariables.roleType = + event.roleType == RoleType.cbo ? RoleType.cbo : RoleType.employee; GlobalVariables.authToken = userDetailsModel.access_token; GlobalVariables.uuid = userDetailsModel.userRequestModel?.uuid; + GlobalVariables.tenantId = userDetailsModel.userRequestModel?.tenantId; GlobalVariables.userRequestModel = jsonDecode(jsonEncode(userDetailsModel.userRequestModel)); + GlobalVariables.roles= userDetailsModel.userRequestModel!.rolesModel!.map((e) => e.code!).toList(); if (kIsWeb) { html.window.sessionStorage['accessToken' ?? ''] = jsonEncode(userDetailsModel.access_token); @@ -72,8 +82,13 @@ class AuthBloc extends Bloc { value: jsonEncode(userDetailsModel.userRequestModel?.mobileNumber)); } if (userDetailsModel != null) { - emit(AuthState.loaded( - userDetailsModel, userDetailsModel.access_token.toString())); + emit( + AuthState.loaded( + userDetailsModel, + userDetailsModel.access_token.toString(), + event.roleType == RoleType.cbo ? RoleType.cbo : RoleType.employee, + ), + ); } else { emit(const AuthState.error()); } @@ -91,7 +106,6 @@ class AuthBloc extends Bloc { if (kIsWeb) { html.window.sessionStorage.remove(e.value); } else { - await Hive.box('keyValueModel').clear(); await Hive.box('localization').clear(); } @@ -104,12 +118,19 @@ class AuthBloc extends Bloc { body: {'access_token': GlobalVariables.authToken}, options: Options(extra: {"accessToken": GlobalVariables.authToken}), ); + + appInitializationBloc.add( + AppInitializationSetupEvent(selectedLang: LanguageEnum.en_IN.name)); + GlobalVariables.organisationListModel = null; GlobalVariables.authToken = null; - emit(const AuthState.loaded(null, null)); + GlobalVariables.tenantId = null; + GlobalVariables.roleType = RoleType.none; + GlobalVariables.roles=[]; + emit(const AuthState.loaded(null, null, RoleType.none)); emit(const AuthState.initial()); } on DioError catch (e) { - emit(const AuthState.loaded(null, null)); + emit(const AuthState.loaded(null, null, RoleType.none)); } } @@ -123,12 +144,18 @@ class AuthBloc extends Bloc { if (kIsWeb) { html.window.sessionStorage.remove(e.value); } else { + await Hive.box('keyValueModel').clear(); + await Hive.box('localization').clear(); await storage.delete(key: e.value); } }); + GlobalVariables.organisationListModel = null; GlobalVariables.authToken = null; - emit(const AuthState.loaded(null, null)); + GlobalVariables.tenantId = null; + GlobalVariables.roleType = RoleType.none; + GlobalVariables.roles=[]; + emit(const AuthState.loaded(null, null, RoleType.none)); emit(const AuthState.initial()); } on DioError catch (e) { emit(const AuthState.error()); @@ -141,6 +168,8 @@ class AuthEvent with _$AuthEvent { const factory AuthEvent.login({ required String userId, required String password, + required RoleType roleType, + String? tenantId, }) = AuthLoginEvent; const factory AuthEvent.logout() = AuthLogoutEvent; @@ -154,6 +183,9 @@ class AuthState with _$AuthState { const factory AuthState.initial() = _Initial; const factory AuthState.loading() = _Loading; const factory AuthState.loaded( - UserDetailsModel? userDetailsModel, String? accessToken) = _Loaded; + UserDetailsModel? userDetailsModel, + String? accessToken, + RoleType roleType, + ) = _Loaded; const factory AuthState.error() = _Error; } diff --git a/frontend/works_shg_app/lib/blocs/auth/auth.freezed.dart b/frontend/works_shg_app/lib/blocs/auth/auth.freezed.dart index 568db4bf8d..ddf1343962 100644 --- a/frontend/works_shg_app/lib/blocs/auth/auth.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/auth/auth.freezed.dart @@ -18,21 +18,27 @@ final _privateConstructorUsedError = UnsupportedError( mixin _$AuthEvent { @optionalTypeArgs TResult when({ - required TResult Function(String userId, String password) login, + required TResult Function( + String userId, String password, RoleType roleType, String? tenantId) + login, required TResult Function() logout, required TResult Function() clearLoggedInDetails, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? whenOrNull({ - TResult? Function(String userId, String password)? login, + TResult? Function(String userId, String password, RoleType roleType, + String? tenantId)? + login, TResult? Function()? logout, TResult? Function()? clearLoggedInDetails, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeWhen({ - TResult Function(String userId, String password)? login, + TResult Function(String userId, String password, RoleType roleType, + String? tenantId)? + login, TResult Function()? logout, TResult Function()? clearLoggedInDetails, required TResult orElse(), @@ -86,7 +92,8 @@ abstract class _$$AuthLoginEventCopyWith<$Res> { _$AuthLoginEvent value, $Res Function(_$AuthLoginEvent) then) = __$$AuthLoginEventCopyWithImpl<$Res>; @useResult - $Res call({String userId, String password}); + $Res call( + {String userId, String password, RoleType roleType, String? tenantId}); } /// @nodoc @@ -102,6 +109,8 @@ class __$$AuthLoginEventCopyWithImpl<$Res> $Res call({ Object? userId = null, Object? password = null, + Object? roleType = null, + Object? tenantId = freezed, }) { return _then(_$AuthLoginEvent( userId: null == userId @@ -112,6 +121,14 @@ class __$$AuthLoginEventCopyWithImpl<$Res> ? _value.password : password // ignore: cast_nullable_to_non_nullable as String, + roleType: null == roleType + ? _value.roleType + : roleType // ignore: cast_nullable_to_non_nullable + as RoleType, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, )); } } @@ -119,16 +136,24 @@ class __$$AuthLoginEventCopyWithImpl<$Res> /// @nodoc class _$AuthLoginEvent with DiagnosticableTreeMixin implements AuthLoginEvent { - const _$AuthLoginEvent({required this.userId, required this.password}); + const _$AuthLoginEvent( + {required this.userId, + required this.password, + required this.roleType, + this.tenantId}); @override final String userId; @override final String password; + @override + final RoleType roleType; + @override + final String? tenantId; @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { - return 'AuthEvent.login(userId: $userId, password: $password)'; + return 'AuthEvent.login(userId: $userId, password: $password, roleType: $roleType, tenantId: $tenantId)'; } @override @@ -137,7 +162,9 @@ class _$AuthLoginEvent with DiagnosticableTreeMixin implements AuthLoginEvent { properties ..add(DiagnosticsProperty('type', 'AuthEvent.login')) ..add(DiagnosticsProperty('userId', userId)) - ..add(DiagnosticsProperty('password', password)); + ..add(DiagnosticsProperty('password', password)) + ..add(DiagnosticsProperty('roleType', roleType)) + ..add(DiagnosticsProperty('tenantId', tenantId)); } @override @@ -147,11 +174,16 @@ class _$AuthLoginEvent with DiagnosticableTreeMixin implements AuthLoginEvent { other is _$AuthLoginEvent && (identical(other.userId, userId) || other.userId == userId) && (identical(other.password, password) || - other.password == password)); + other.password == password) && + (identical(other.roleType, roleType) || + other.roleType == roleType) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId)); } @override - int get hashCode => Object.hash(runtimeType, userId, password); + int get hashCode => + Object.hash(runtimeType, userId, password, roleType, tenantId); @JsonKey(ignore: true) @override @@ -162,33 +194,39 @@ class _$AuthLoginEvent with DiagnosticableTreeMixin implements AuthLoginEvent { @override @optionalTypeArgs TResult when({ - required TResult Function(String userId, String password) login, + required TResult Function( + String userId, String password, RoleType roleType, String? tenantId) + login, required TResult Function() logout, required TResult Function() clearLoggedInDetails, }) { - return login(userId, password); + return login(userId, password, roleType, tenantId); } @override @optionalTypeArgs TResult? whenOrNull({ - TResult? Function(String userId, String password)? login, + TResult? Function(String userId, String password, RoleType roleType, + String? tenantId)? + login, TResult? Function()? logout, TResult? Function()? clearLoggedInDetails, }) { - return login?.call(userId, password); + return login?.call(userId, password, roleType, tenantId); } @override @optionalTypeArgs TResult maybeWhen({ - TResult Function(String userId, String password)? login, + TResult Function(String userId, String password, RoleType roleType, + String? tenantId)? + login, TResult Function()? logout, TResult Function()? clearLoggedInDetails, required TResult orElse(), }) { if (login != null) { - return login(userId, password); + return login(userId, password, roleType, tenantId); } return orElse(); } @@ -232,10 +270,14 @@ class _$AuthLoginEvent with DiagnosticableTreeMixin implements AuthLoginEvent { abstract class AuthLoginEvent implements AuthEvent { const factory AuthLoginEvent( {required final String userId, - required final String password}) = _$AuthLoginEvent; + required final String password, + required final RoleType roleType, + final String? tenantId}) = _$AuthLoginEvent; String get userId; String get password; + RoleType get roleType; + String? get tenantId; @JsonKey(ignore: true) _$$AuthLoginEventCopyWith<_$AuthLoginEvent> get copyWith => throw _privateConstructorUsedError; @@ -287,7 +329,9 @@ class _$AuthLogoutEvent @override @optionalTypeArgs TResult when({ - required TResult Function(String userId, String password) login, + required TResult Function( + String userId, String password, RoleType roleType, String? tenantId) + login, required TResult Function() logout, required TResult Function() clearLoggedInDetails, }) { @@ -297,7 +341,9 @@ class _$AuthLogoutEvent @override @optionalTypeArgs TResult? whenOrNull({ - TResult? Function(String userId, String password)? login, + TResult? Function(String userId, String password, RoleType roleType, + String? tenantId)? + login, TResult? Function()? logout, TResult? Function()? clearLoggedInDetails, }) { @@ -307,7 +353,9 @@ class _$AuthLogoutEvent @override @optionalTypeArgs TResult maybeWhen({ - TResult Function(String userId, String password)? login, + TResult Function(String userId, String password, RoleType roleType, + String? tenantId)? + login, TResult Function()? logout, TResult Function()? clearLoggedInDetails, required TResult orElse(), @@ -408,7 +456,9 @@ class _$AuthClearLoggedDetailsEvent @override @optionalTypeArgs TResult when({ - required TResult Function(String userId, String password) login, + required TResult Function( + String userId, String password, RoleType roleType, String? tenantId) + login, required TResult Function() logout, required TResult Function() clearLoggedInDetails, }) { @@ -418,7 +468,9 @@ class _$AuthClearLoggedDetailsEvent @override @optionalTypeArgs TResult? whenOrNull({ - TResult? Function(String userId, String password)? login, + TResult? Function(String userId, String password, RoleType roleType, + String? tenantId)? + login, TResult? Function()? logout, TResult? Function()? clearLoggedInDetails, }) { @@ -428,7 +480,9 @@ class _$AuthClearLoggedDetailsEvent @override @optionalTypeArgs TResult maybeWhen({ - TResult Function(String userId, String password)? login, + TResult Function(String userId, String password, RoleType roleType, + String? tenantId)? + login, TResult Function()? logout, TResult Function()? clearLoggedInDetails, required TResult orElse(), @@ -485,8 +539,8 @@ mixin _$AuthState { TResult when({ required TResult Function() initial, required TResult Function() loading, - required TResult Function( - UserDetailsModel? userDetailsModel, String? accessToken) + required TResult Function(UserDetailsModel? userDetailsModel, + String? accessToken, RoleType roleType) loaded, required TResult Function() error, }) => @@ -495,7 +549,8 @@ mixin _$AuthState { TResult? whenOrNull({ TResult? Function()? initial, TResult? Function()? loading, - TResult? Function(UserDetailsModel? userDetailsModel, String? accessToken)? + TResult? Function(UserDetailsModel? userDetailsModel, String? accessToken, + RoleType roleType)? loaded, TResult? Function()? error, }) => @@ -504,7 +559,8 @@ mixin _$AuthState { TResult maybeWhen({ TResult Function()? initial, TResult Function()? loading, - TResult Function(UserDetailsModel? userDetailsModel, String? accessToken)? + TResult Function(UserDetailsModel? userDetailsModel, String? accessToken, + RoleType roleType)? loaded, TResult Function()? error, required TResult orElse(), @@ -599,8 +655,8 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { TResult when({ required TResult Function() initial, required TResult Function() loading, - required TResult Function( - UserDetailsModel? userDetailsModel, String? accessToken) + required TResult Function(UserDetailsModel? userDetailsModel, + String? accessToken, RoleType roleType) loaded, required TResult Function() error, }) { @@ -612,7 +668,8 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { TResult? whenOrNull({ TResult? Function()? initial, TResult? Function()? loading, - TResult? Function(UserDetailsModel? userDetailsModel, String? accessToken)? + TResult? Function(UserDetailsModel? userDetailsModel, String? accessToken, + RoleType roleType)? loaded, TResult? Function()? error, }) { @@ -624,7 +681,8 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { TResult maybeWhen({ TResult Function()? initial, TResult Function()? loading, - TResult Function(UserDetailsModel? userDetailsModel, String? accessToken)? + TResult Function(UserDetailsModel? userDetailsModel, String? accessToken, + RoleType roleType)? loaded, TResult Function()? error, required TResult orElse(), @@ -723,8 +781,8 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { TResult when({ required TResult Function() initial, required TResult Function() loading, - required TResult Function( - UserDetailsModel? userDetailsModel, String? accessToken) + required TResult Function(UserDetailsModel? userDetailsModel, + String? accessToken, RoleType roleType) loaded, required TResult Function() error, }) { @@ -736,7 +794,8 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { TResult? whenOrNull({ TResult? Function()? initial, TResult? Function()? loading, - TResult? Function(UserDetailsModel? userDetailsModel, String? accessToken)? + TResult? Function(UserDetailsModel? userDetailsModel, String? accessToken, + RoleType roleType)? loaded, TResult? Function()? error, }) { @@ -748,7 +807,8 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { TResult maybeWhen({ TResult Function()? initial, TResult Function()? loading, - TResult Function(UserDetailsModel? userDetailsModel, String? accessToken)? + TResult Function(UserDetailsModel? userDetailsModel, String? accessToken, + RoleType roleType)? loaded, TResult Function()? error, required TResult orElse(), @@ -807,7 +867,10 @@ abstract class _$$_LoadedCopyWith<$Res> { factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = __$$_LoadedCopyWithImpl<$Res>; @useResult - $Res call({UserDetailsModel? userDetailsModel, String? accessToken}); + $Res call( + {UserDetailsModel? userDetailsModel, + String? accessToken, + RoleType roleType}); $UserDetailsModelCopyWith<$Res>? get userDetailsModel; } @@ -824,6 +887,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? userDetailsModel = freezed, Object? accessToken = freezed, + Object? roleType = null, }) { return _then(_$_Loaded( freezed == userDetailsModel @@ -834,6 +898,10 @@ class __$$_LoadedCopyWithImpl<$Res> ? _value.accessToken : accessToken // ignore: cast_nullable_to_non_nullable as String?, + null == roleType + ? _value.roleType + : roleType // ignore: cast_nullable_to_non_nullable + as RoleType, )); } @@ -853,16 +921,19 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.userDetailsModel, this.accessToken) : super._(); + const _$_Loaded(this.userDetailsModel, this.accessToken, this.roleType) + : super._(); @override final UserDetailsModel? userDetailsModel; @override final String? accessToken; + @override + final RoleType roleType; @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { - return 'AuthState.loaded(userDetailsModel: $userDetailsModel, accessToken: $accessToken)'; + return 'AuthState.loaded(userDetailsModel: $userDetailsModel, accessToken: $accessToken, roleType: $roleType)'; } @override @@ -871,7 +942,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { properties ..add(DiagnosticsProperty('type', 'AuthState.loaded')) ..add(DiagnosticsProperty('userDetailsModel', userDetailsModel)) - ..add(DiagnosticsProperty('accessToken', accessToken)); + ..add(DiagnosticsProperty('accessToken', accessToken)) + ..add(DiagnosticsProperty('roleType', roleType)); } @override @@ -882,11 +954,14 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { (identical(other.userDetailsModel, userDetailsModel) || other.userDetailsModel == userDetailsModel) && (identical(other.accessToken, accessToken) || - other.accessToken == accessToken)); + other.accessToken == accessToken) && + (identical(other.roleType, roleType) || + other.roleType == roleType)); } @override - int get hashCode => Object.hash(runtimeType, userDetailsModel, accessToken); + int get hashCode => + Object.hash(runtimeType, userDetailsModel, accessToken, roleType); @JsonKey(ignore: true) @override @@ -899,12 +974,12 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { TResult when({ required TResult Function() initial, required TResult Function() loading, - required TResult Function( - UserDetailsModel? userDetailsModel, String? accessToken) + required TResult Function(UserDetailsModel? userDetailsModel, + String? accessToken, RoleType roleType) loaded, required TResult Function() error, }) { - return loaded(userDetailsModel, accessToken); + return loaded(userDetailsModel, accessToken, roleType); } @override @@ -912,11 +987,12 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { TResult? whenOrNull({ TResult? Function()? initial, TResult? Function()? loading, - TResult? Function(UserDetailsModel? userDetailsModel, String? accessToken)? + TResult? Function(UserDetailsModel? userDetailsModel, String? accessToken, + RoleType roleType)? loaded, TResult? Function()? error, }) { - return loaded?.call(userDetailsModel, accessToken); + return loaded?.call(userDetailsModel, accessToken, roleType); } @override @@ -924,13 +1000,14 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { TResult maybeWhen({ TResult Function()? initial, TResult Function()? loading, - TResult Function(UserDetailsModel? userDetailsModel, String? accessToken)? + TResult Function(UserDetailsModel? userDetailsModel, String? accessToken, + RoleType roleType)? loaded, TResult Function()? error, required TResult orElse(), }) { if (loaded != null) { - return loaded(userDetailsModel, accessToken); + return loaded(userDetailsModel, accessToken, roleType); } return orElse(); } @@ -974,13 +1051,13 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } abstract class _Loaded extends AuthState { - const factory _Loaded( - final UserDetailsModel? userDetailsModel, final String? accessToken) = - _$_Loaded; + const factory _Loaded(final UserDetailsModel? userDetailsModel, + final String? accessToken, final RoleType roleType) = _$_Loaded; const _Loaded._() : super._(); UserDetailsModel? get userDetailsModel; String? get accessToken; + RoleType get roleType; @JsonKey(ignore: true) _$$_LoadedCopyWith<_$_Loaded> get copyWith => throw _privateConstructorUsedError; @@ -1030,8 +1107,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { TResult when({ required TResult Function() initial, required TResult Function() loading, - required TResult Function( - UserDetailsModel? userDetailsModel, String? accessToken) + required TResult Function(UserDetailsModel? userDetailsModel, + String? accessToken, RoleType roleType) loaded, required TResult Function() error, }) { @@ -1043,7 +1120,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { TResult? whenOrNull({ TResult? Function()? initial, TResult? Function()? loading, - TResult? Function(UserDetailsModel? userDetailsModel, String? accessToken)? + TResult? Function(UserDetailsModel? userDetailsModel, String? accessToken, + RoleType roleType)? loaded, TResult? Function()? error, }) { @@ -1055,7 +1133,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { TResult maybeWhen({ TResult Function()? initial, TResult Function()? loading, - TResult Function(UserDetailsModel? userDetailsModel, String? accessToken)? + TResult Function(UserDetailsModel? userDetailsModel, String? accessToken, + RoleType roleType)? loaded, TResult Function()? error, required TResult orElse(), diff --git a/frontend/works_shg_app/lib/blocs/employee/emp_hrms/emp_hrms.dart b/frontend/works_shg_app/lib/blocs/employee/emp_hrms/emp_hrms.dart new file mode 100644 index 0000000000..eb107f4a59 --- /dev/null +++ b/frontend/works_shg_app/lib/blocs/employee/emp_hrms/emp_hrms.dart @@ -0,0 +1,74 @@ +//mb_crud + +import 'dart:async'; + +import 'package:dio/dio.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:works_shg_app/data/repositories/employee_repository/emp_hrms.dart'; +import 'package:works_shg_app/services/urls.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; + +import '../../../data/remote_client.dart'; +import '../../../models/employee/mb/role_based_hrms.dart'; +part 'emp_hrms.freezed.dart'; + +typedef EmpHRMSBlocEventEmitter = Emitter; + +class EmpHRMSBloc extends Bloc { + EmpHRMSBloc() : super(const EmpHRMsState.initial()) { + on(loadHrmsEmployee); + } + FutureOr loadHrmsEmployee( + EmpHRMSLoadBlocEvent event, + EmpHRMSBlocEventEmitter emit, + ) async { + Client client = Client(); + + try { + emit(const EmpHRMsState.initial()); + final res = await EmpHRMSRepository(client.init()).loadHrmsEmployee( + url: Urls.empHrms.leadHrmsEmployee, + queryParameters: { + "roles": event.roles.toString(), + "isActive": true, + "tenantId": GlobalVariables.tenantId, + }); + + emit( + EmpHRMsState.loaded( + res.employees, + ), + ); + } on DioError catch (e) { + emit( + EmpHRMsState.error( + e.toString(), + ), + ); + } + } +} + +@freezed +class EmpHRMSBlocEvent with _$EmpHRMSBlocEvent { + const factory EmpHRMSBlocEvent.load({ + required String tenantId, + required String roles, + required bool isActive, + }) = EmpHRMSLoadBlocEvent; + + const factory EmpHRMSBlocEvent.clear() = EmpHRMSBlocClearEvent; +} + +@freezed +class EmpHRMsState with _$EmpHRMsState { + const EmpHRMsState._(); + + const factory EmpHRMsState.initial() = _Initial; + const factory EmpHRMsState.loading() = _Loading; + const factory EmpHRMsState.loaded( + List? hrmsEmployee, + ) = _Loaded; + const factory EmpHRMsState.error(String? error) = _Error; +} diff --git a/frontend/works_shg_app/lib/blocs/employee/emp_hrms/emp_hrms.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/emp_hrms/emp_hrms.freezed.dart new file mode 100644 index 0000000000..769f3dca98 --- /dev/null +++ b/frontend/works_shg_app/lib/blocs/employee/emp_hrms/emp_hrms.freezed.dart @@ -0,0 +1,937 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'emp_hrms.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +/// @nodoc +mixin _$EmpHRMSBlocEvent { + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String roles, bool isActive) + load, + required TResult Function() clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String roles, bool isActive)? load, + TResult? Function()? clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String roles, bool isActive)? load, + TResult Function()? clear, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult map({ + required TResult Function(EmpHRMSLoadBlocEvent value) load, + required TResult Function(EmpHRMSBlocClearEvent value) clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(EmpHRMSLoadBlocEvent value)? load, + TResult? Function(EmpHRMSBlocClearEvent value)? clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeMap({ + TResult Function(EmpHRMSLoadBlocEvent value)? load, + TResult Function(EmpHRMSBlocClearEvent value)? clear, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $EmpHRMSBlocEventCopyWith<$Res> { + factory $EmpHRMSBlocEventCopyWith( + EmpHRMSBlocEvent value, $Res Function(EmpHRMSBlocEvent) then) = + _$EmpHRMSBlocEventCopyWithImpl<$Res, EmpHRMSBlocEvent>; +} + +/// @nodoc +class _$EmpHRMSBlocEventCopyWithImpl<$Res, $Val extends EmpHRMSBlocEvent> + implements $EmpHRMSBlocEventCopyWith<$Res> { + _$EmpHRMSBlocEventCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; +} + +/// @nodoc +abstract class _$$EmpHRMSLoadBlocEventCopyWith<$Res> { + factory _$$EmpHRMSLoadBlocEventCopyWith(_$EmpHRMSLoadBlocEvent value, + $Res Function(_$EmpHRMSLoadBlocEvent) then) = + __$$EmpHRMSLoadBlocEventCopyWithImpl<$Res>; + @useResult + $Res call({String tenantId, String roles, bool isActive}); +} + +/// @nodoc +class __$$EmpHRMSLoadBlocEventCopyWithImpl<$Res> + extends _$EmpHRMSBlocEventCopyWithImpl<$Res, _$EmpHRMSLoadBlocEvent> + implements _$$EmpHRMSLoadBlocEventCopyWith<$Res> { + __$$EmpHRMSLoadBlocEventCopyWithImpl(_$EmpHRMSLoadBlocEvent _value, + $Res Function(_$EmpHRMSLoadBlocEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? tenantId = null, + Object? roles = null, + Object? isActive = null, + }) { + return _then(_$EmpHRMSLoadBlocEvent( + tenantId: null == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String, + roles: null == roles + ? _value.roles + : roles // ignore: cast_nullable_to_non_nullable + as String, + isActive: null == isActive + ? _value.isActive + : isActive // ignore: cast_nullable_to_non_nullable + as bool, + )); + } +} + +/// @nodoc + +class _$EmpHRMSLoadBlocEvent implements EmpHRMSLoadBlocEvent { + const _$EmpHRMSLoadBlocEvent( + {required this.tenantId, required this.roles, required this.isActive}); + + @override + final String tenantId; + @override + final String roles; + @override + final bool isActive; + + @override + String toString() { + return 'EmpHRMSBlocEvent.load(tenantId: $tenantId, roles: $roles, isActive: $isActive)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$EmpHRMSLoadBlocEvent && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.roles, roles) || other.roles == roles) && + (identical(other.isActive, isActive) || + other.isActive == isActive)); + } + + @override + int get hashCode => Object.hash(runtimeType, tenantId, roles, isActive); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$EmpHRMSLoadBlocEventCopyWith<_$EmpHRMSLoadBlocEvent> get copyWith => + __$$EmpHRMSLoadBlocEventCopyWithImpl<_$EmpHRMSLoadBlocEvent>( + this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String roles, bool isActive) + load, + required TResult Function() clear, + }) { + return load(tenantId, roles, isActive); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String roles, bool isActive)? load, + TResult? Function()? clear, + }) { + return load?.call(tenantId, roles, isActive); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String roles, bool isActive)? load, + TResult Function()? clear, + required TResult orElse(), + }) { + if (load != null) { + return load(tenantId, roles, isActive); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(EmpHRMSLoadBlocEvent value) load, + required TResult Function(EmpHRMSBlocClearEvent value) clear, + }) { + return load(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(EmpHRMSLoadBlocEvent value)? load, + TResult? Function(EmpHRMSBlocClearEvent value)? clear, + }) { + return load?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(EmpHRMSLoadBlocEvent value)? load, + TResult Function(EmpHRMSBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (load != null) { + return load(this); + } + return orElse(); + } +} + +abstract class EmpHRMSLoadBlocEvent implements EmpHRMSBlocEvent { + const factory EmpHRMSLoadBlocEvent( + {required final String tenantId, + required final String roles, + required final bool isActive}) = _$EmpHRMSLoadBlocEvent; + + String get tenantId; + String get roles; + bool get isActive; + @JsonKey(ignore: true) + _$$EmpHRMSLoadBlocEventCopyWith<_$EmpHRMSLoadBlocEvent> get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$EmpHRMSBlocClearEventCopyWith<$Res> { + factory _$$EmpHRMSBlocClearEventCopyWith(_$EmpHRMSBlocClearEvent value, + $Res Function(_$EmpHRMSBlocClearEvent) then) = + __$$EmpHRMSBlocClearEventCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$EmpHRMSBlocClearEventCopyWithImpl<$Res> + extends _$EmpHRMSBlocEventCopyWithImpl<$Res, _$EmpHRMSBlocClearEvent> + implements _$$EmpHRMSBlocClearEventCopyWith<$Res> { + __$$EmpHRMSBlocClearEventCopyWithImpl(_$EmpHRMSBlocClearEvent _value, + $Res Function(_$EmpHRMSBlocClearEvent) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$EmpHRMSBlocClearEvent implements EmpHRMSBlocClearEvent { + const _$EmpHRMSBlocClearEvent(); + + @override + String toString() { + return 'EmpHRMSBlocEvent.clear()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$EmpHRMSBlocClearEvent); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String roles, bool isActive) + load, + required TResult Function() clear, + }) { + return clear(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String roles, bool isActive)? load, + TResult? Function()? clear, + }) { + return clear?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String roles, bool isActive)? load, + TResult Function()? clear, + required TResult orElse(), + }) { + if (clear != null) { + return clear(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(EmpHRMSLoadBlocEvent value) load, + required TResult Function(EmpHRMSBlocClearEvent value) clear, + }) { + return clear(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(EmpHRMSLoadBlocEvent value)? load, + TResult? Function(EmpHRMSBlocClearEvent value)? clear, + }) { + return clear?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(EmpHRMSLoadBlocEvent value)? load, + TResult Function(EmpHRMSBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (clear != null) { + return clear(this); + } + return orElse(); + } +} + +abstract class EmpHRMSBlocClearEvent implements EmpHRMSBlocEvent { + const factory EmpHRMSBlocClearEvent() = _$EmpHRMSBlocClearEvent; +} + +/// @nodoc +mixin _$EmpHRMsState { + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(List? hrmsEmployee) loaded, + required TResult Function(String? error) error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(List? hrmsEmployee)? loaded, + TResult? Function(String? error)? error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(List? hrmsEmployee)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $EmpHRMsStateCopyWith<$Res> { + factory $EmpHRMsStateCopyWith( + EmpHRMsState value, $Res Function(EmpHRMsState) then) = + _$EmpHRMsStateCopyWithImpl<$Res, EmpHRMsState>; +} + +/// @nodoc +class _$EmpHRMsStateCopyWithImpl<$Res, $Val extends EmpHRMsState> + implements $EmpHRMsStateCopyWith<$Res> { + _$EmpHRMsStateCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; +} + +/// @nodoc +abstract class _$$_InitialCopyWith<$Res> { + factory _$$_InitialCopyWith( + _$_Initial value, $Res Function(_$_Initial) then) = + __$$_InitialCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$_InitialCopyWithImpl<$Res> + extends _$EmpHRMsStateCopyWithImpl<$Res, _$_Initial> + implements _$$_InitialCopyWith<$Res> { + __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$_Initial extends _Initial { + const _$_Initial() : super._(); + + @override + String toString() { + return 'EmpHRMsState.initial()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$_Initial); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(List? hrmsEmployee) loaded, + required TResult Function(String? error) error, + }) { + return initial(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(List? hrmsEmployee)? loaded, + TResult? Function(String? error)? error, + }) { + return initial?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(List? hrmsEmployee)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (initial != null) { + return initial(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return initial(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return initial?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (initial != null) { + return initial(this); + } + return orElse(); + } +} + +abstract class _Initial extends EmpHRMsState { + const factory _Initial() = _$_Initial; + const _Initial._() : super._(); +} + +/// @nodoc +abstract class _$$_LoadingCopyWith<$Res> { + factory _$$_LoadingCopyWith( + _$_Loading value, $Res Function(_$_Loading) then) = + __$$_LoadingCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$_LoadingCopyWithImpl<$Res> + extends _$EmpHRMsStateCopyWithImpl<$Res, _$_Loading> + implements _$$_LoadingCopyWith<$Res> { + __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$_Loading extends _Loading { + const _$_Loading() : super._(); + + @override + String toString() { + return 'EmpHRMsState.loading()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$_Loading); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(List? hrmsEmployee) loaded, + required TResult Function(String? error) error, + }) { + return loading(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(List? hrmsEmployee)? loaded, + TResult? Function(String? error)? error, + }) { + return loading?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(List? hrmsEmployee)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (loading != null) { + return loading(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return loading(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return loading?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (loading != null) { + return loading(this); + } + return orElse(); + } +} + +abstract class _Loading extends EmpHRMsState { + const factory _Loading() = _$_Loading; + const _Loading._() : super._(); +} + +/// @nodoc +abstract class _$$_LoadedCopyWith<$Res> { + factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = + __$$_LoadedCopyWithImpl<$Res>; + @useResult + $Res call({List? hrmsEmployee}); +} + +/// @nodoc +class __$$_LoadedCopyWithImpl<$Res> + extends _$EmpHRMsStateCopyWithImpl<$Res, _$_Loaded> + implements _$$_LoadedCopyWith<$Res> { + __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? hrmsEmployee = freezed, + }) { + return _then(_$_Loaded( + freezed == hrmsEmployee + ? _value._hrmsEmployee + : hrmsEmployee // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc + +class _$_Loaded extends _Loaded { + const _$_Loaded(final List? hrmsEmployee) + : _hrmsEmployee = hrmsEmployee, + super._(); + + final List? _hrmsEmployee; + @override + List? get hrmsEmployee { + final value = _hrmsEmployee; + if (value == null) return null; + if (_hrmsEmployee is EqualUnmodifiableListView) return _hrmsEmployee; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'EmpHRMsState.loaded(hrmsEmployee: $hrmsEmployee)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Loaded && + const DeepCollectionEquality() + .equals(other._hrmsEmployee, _hrmsEmployee)); + } + + @override + int get hashCode => Object.hash( + runtimeType, const DeepCollectionEquality().hash(_hrmsEmployee)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_LoadedCopyWith<_$_Loaded> get copyWith => + __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(List? hrmsEmployee) loaded, + required TResult Function(String? error) error, + }) { + return loaded(hrmsEmployee); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(List? hrmsEmployee)? loaded, + TResult? Function(String? error)? error, + }) { + return loaded?.call(hrmsEmployee); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(List? hrmsEmployee)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (loaded != null) { + return loaded(hrmsEmployee); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return loaded(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return loaded?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (loaded != null) { + return loaded(this); + } + return orElse(); + } +} + +abstract class _Loaded extends EmpHRMsState { + const factory _Loaded(final List? hrmsEmployee) = _$_Loaded; + const _Loaded._() : super._(); + + List? get hrmsEmployee; + @JsonKey(ignore: true) + _$$_LoadedCopyWith<_$_Loaded> get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$_ErrorCopyWith<$Res> { + factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = + __$$_ErrorCopyWithImpl<$Res>; + @useResult + $Res call({String? error}); +} + +/// @nodoc +class __$$_ErrorCopyWithImpl<$Res> + extends _$EmpHRMsStateCopyWithImpl<$Res, _$_Error> + implements _$$_ErrorCopyWith<$Res> { + __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? error = freezed, + }) { + return _then(_$_Error( + freezed == error + ? _value.error + : error // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc + +class _$_Error extends _Error { + const _$_Error(this.error) : super._(); + + @override + final String? error; + + @override + String toString() { + return 'EmpHRMsState.error(error: $error)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Error && + (identical(other.error, error) || other.error == error)); + } + + @override + int get hashCode => Object.hash(runtimeType, error); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_ErrorCopyWith<_$_Error> get copyWith => + __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(List? hrmsEmployee) loaded, + required TResult Function(String? error) error, + }) { + return error(this.error); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(List? hrmsEmployee)? loaded, + TResult? Function(String? error)? error, + }) { + return error?.call(this.error); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(List? hrmsEmployee)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(this.error); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return error(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return error?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(this); + } + return orElse(); + } +} + +abstract class _Error extends EmpHRMsState { + const factory _Error(final String? error) = _$_Error; + const _Error._() : super._(); + + String? get error; + @JsonKey(ignore: true) + _$$_ErrorCopyWith<_$_Error> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/blocs/employee/estimate/estimate.dart b/frontend/works_shg_app/lib/blocs/employee/estimate/estimate.dart new file mode 100644 index 0000000000..9df45c6f24 --- /dev/null +++ b/frontend/works_shg_app/lib/blocs/employee/estimate/estimate.dart @@ -0,0 +1,74 @@ +//mb_crud + +import 'dart:async'; + +import 'package:dio/dio.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:works_shg_app/data/repositories/employee_repository/estimate.dart'; +import 'package:works_shg_app/models/employee/estimate/estimate_model.dart'; + +import '../../../data/remote_client.dart'; +import '../../../services/urls.dart'; +import '../../../utils/global_variables.dart'; +part 'estimate.freezed.dart'; + +typedef EstimateBlocEventEmitter = Emitter; + +class EstimateBloc extends Bloc { + EstimateBloc() : super(const EstimateState.initial()) { + on(loadEstimate); + } + FutureOr loadEstimate( + EstimateLoadBlocEvent event, + EstimateBlocEventEmitter emit, + ) async { + Client client = Client(); + + try { + emit(const EstimateState.initial()); + final res = await EstimateRepository(client.init()).loadEstimate( + url: Urls.estimateService.estimateSearch, + queryParameters: { + "tenantId": GlobalVariables.tenantId, + "estimateNumber": event.roles, + }, + ); + + emit( + EstimateState.loaded( + res, + ), + ); + } on DioError catch (e) { + emit( + EstimateState.error( + e.toString(), + ), + ); + } + } +} + +@freezed +class EstimateBlocEvent with _$EstimateBlocEvent { + const factory EstimateBlocEvent.load({ + required String tenantId, + required String roles, + required bool isActive, + }) = EstimateLoadBlocEvent; + + const factory EstimateBlocEvent.clear() = EstimateBlocClearEvent; +} + +@freezed +class EstimateState with _$EstimateState { + const EstimateState._(); + + const factory EstimateState.initial() = _Initial; + const factory EstimateState.loading() = _Loading; + const factory EstimateState.loaded( + EstimateDetailResponse? estimateDetailResponse, + ) = _Loaded; + const factory EstimateState.error(String? error) = _Error; +} diff --git a/frontend/works_shg_app/lib/blocs/employee/estimate/estimate.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/estimate/estimate.freezed.dart new file mode 100644 index 0000000000..152fcbe590 --- /dev/null +++ b/frontend/works_shg_app/lib/blocs/employee/estimate/estimate.freezed.dart @@ -0,0 +1,948 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'estimate.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +/// @nodoc +mixin _$EstimateBlocEvent { + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String roles, bool isActive) + load, + required TResult Function() clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String roles, bool isActive)? load, + TResult? Function()? clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String roles, bool isActive)? load, + TResult Function()? clear, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult map({ + required TResult Function(EstimateLoadBlocEvent value) load, + required TResult Function(EstimateBlocClearEvent value) clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(EstimateLoadBlocEvent value)? load, + TResult? Function(EstimateBlocClearEvent value)? clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeMap({ + TResult Function(EstimateLoadBlocEvent value)? load, + TResult Function(EstimateBlocClearEvent value)? clear, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $EstimateBlocEventCopyWith<$Res> { + factory $EstimateBlocEventCopyWith( + EstimateBlocEvent value, $Res Function(EstimateBlocEvent) then) = + _$EstimateBlocEventCopyWithImpl<$Res, EstimateBlocEvent>; +} + +/// @nodoc +class _$EstimateBlocEventCopyWithImpl<$Res, $Val extends EstimateBlocEvent> + implements $EstimateBlocEventCopyWith<$Res> { + _$EstimateBlocEventCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; +} + +/// @nodoc +abstract class _$$EstimateLoadBlocEventCopyWith<$Res> { + factory _$$EstimateLoadBlocEventCopyWith(_$EstimateLoadBlocEvent value, + $Res Function(_$EstimateLoadBlocEvent) then) = + __$$EstimateLoadBlocEventCopyWithImpl<$Res>; + @useResult + $Res call({String tenantId, String roles, bool isActive}); +} + +/// @nodoc +class __$$EstimateLoadBlocEventCopyWithImpl<$Res> + extends _$EstimateBlocEventCopyWithImpl<$Res, _$EstimateLoadBlocEvent> + implements _$$EstimateLoadBlocEventCopyWith<$Res> { + __$$EstimateLoadBlocEventCopyWithImpl(_$EstimateLoadBlocEvent _value, + $Res Function(_$EstimateLoadBlocEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? tenantId = null, + Object? roles = null, + Object? isActive = null, + }) { + return _then(_$EstimateLoadBlocEvent( + tenantId: null == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String, + roles: null == roles + ? _value.roles + : roles // ignore: cast_nullable_to_non_nullable + as String, + isActive: null == isActive + ? _value.isActive + : isActive // ignore: cast_nullable_to_non_nullable + as bool, + )); + } +} + +/// @nodoc + +class _$EstimateLoadBlocEvent implements EstimateLoadBlocEvent { + const _$EstimateLoadBlocEvent( + {required this.tenantId, required this.roles, required this.isActive}); + + @override + final String tenantId; + @override + final String roles; + @override + final bool isActive; + + @override + String toString() { + return 'EstimateBlocEvent.load(tenantId: $tenantId, roles: $roles, isActive: $isActive)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$EstimateLoadBlocEvent && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.roles, roles) || other.roles == roles) && + (identical(other.isActive, isActive) || + other.isActive == isActive)); + } + + @override + int get hashCode => Object.hash(runtimeType, tenantId, roles, isActive); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$EstimateLoadBlocEventCopyWith<_$EstimateLoadBlocEvent> get copyWith => + __$$EstimateLoadBlocEventCopyWithImpl<_$EstimateLoadBlocEvent>( + this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String roles, bool isActive) + load, + required TResult Function() clear, + }) { + return load(tenantId, roles, isActive); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String roles, bool isActive)? load, + TResult? Function()? clear, + }) { + return load?.call(tenantId, roles, isActive); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String roles, bool isActive)? load, + TResult Function()? clear, + required TResult orElse(), + }) { + if (load != null) { + return load(tenantId, roles, isActive); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(EstimateLoadBlocEvent value) load, + required TResult Function(EstimateBlocClearEvent value) clear, + }) { + return load(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(EstimateLoadBlocEvent value)? load, + TResult? Function(EstimateBlocClearEvent value)? clear, + }) { + return load?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(EstimateLoadBlocEvent value)? load, + TResult Function(EstimateBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (load != null) { + return load(this); + } + return orElse(); + } +} + +abstract class EstimateLoadBlocEvent implements EstimateBlocEvent { + const factory EstimateLoadBlocEvent( + {required final String tenantId, + required final String roles, + required final bool isActive}) = _$EstimateLoadBlocEvent; + + String get tenantId; + String get roles; + bool get isActive; + @JsonKey(ignore: true) + _$$EstimateLoadBlocEventCopyWith<_$EstimateLoadBlocEvent> get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$EstimateBlocClearEventCopyWith<$Res> { + factory _$$EstimateBlocClearEventCopyWith(_$EstimateBlocClearEvent value, + $Res Function(_$EstimateBlocClearEvent) then) = + __$$EstimateBlocClearEventCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$EstimateBlocClearEventCopyWithImpl<$Res> + extends _$EstimateBlocEventCopyWithImpl<$Res, _$EstimateBlocClearEvent> + implements _$$EstimateBlocClearEventCopyWith<$Res> { + __$$EstimateBlocClearEventCopyWithImpl(_$EstimateBlocClearEvent _value, + $Res Function(_$EstimateBlocClearEvent) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$EstimateBlocClearEvent implements EstimateBlocClearEvent { + const _$EstimateBlocClearEvent(); + + @override + String toString() { + return 'EstimateBlocEvent.clear()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$EstimateBlocClearEvent); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String roles, bool isActive) + load, + required TResult Function() clear, + }) { + return clear(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String roles, bool isActive)? load, + TResult? Function()? clear, + }) { + return clear?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String roles, bool isActive)? load, + TResult Function()? clear, + required TResult orElse(), + }) { + if (clear != null) { + return clear(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(EstimateLoadBlocEvent value) load, + required TResult Function(EstimateBlocClearEvent value) clear, + }) { + return clear(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(EstimateLoadBlocEvent value)? load, + TResult? Function(EstimateBlocClearEvent value)? clear, + }) { + return clear?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(EstimateLoadBlocEvent value)? load, + TResult Function(EstimateBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (clear != null) { + return clear(this); + } + return orElse(); + } +} + +abstract class EstimateBlocClearEvent implements EstimateBlocEvent { + const factory EstimateBlocClearEvent() = _$EstimateBlocClearEvent; +} + +/// @nodoc +mixin _$EstimateState { + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(EstimateDetailResponse? estimateDetailResponse) + loaded, + required TResult Function(String? error) error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(EstimateDetailResponse? estimateDetailResponse)? loaded, + TResult? Function(String? error)? error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(EstimateDetailResponse? estimateDetailResponse)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $EstimateStateCopyWith<$Res> { + factory $EstimateStateCopyWith( + EstimateState value, $Res Function(EstimateState) then) = + _$EstimateStateCopyWithImpl<$Res, EstimateState>; +} + +/// @nodoc +class _$EstimateStateCopyWithImpl<$Res, $Val extends EstimateState> + implements $EstimateStateCopyWith<$Res> { + _$EstimateStateCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; +} + +/// @nodoc +abstract class _$$_InitialCopyWith<$Res> { + factory _$$_InitialCopyWith( + _$_Initial value, $Res Function(_$_Initial) then) = + __$$_InitialCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$_InitialCopyWithImpl<$Res> + extends _$EstimateStateCopyWithImpl<$Res, _$_Initial> + implements _$$_InitialCopyWith<$Res> { + __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$_Initial extends _Initial { + const _$_Initial() : super._(); + + @override + String toString() { + return 'EstimateState.initial()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$_Initial); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(EstimateDetailResponse? estimateDetailResponse) + loaded, + required TResult Function(String? error) error, + }) { + return initial(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(EstimateDetailResponse? estimateDetailResponse)? loaded, + TResult? Function(String? error)? error, + }) { + return initial?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(EstimateDetailResponse? estimateDetailResponse)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (initial != null) { + return initial(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return initial(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return initial?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (initial != null) { + return initial(this); + } + return orElse(); + } +} + +abstract class _Initial extends EstimateState { + const factory _Initial() = _$_Initial; + const _Initial._() : super._(); +} + +/// @nodoc +abstract class _$$_LoadingCopyWith<$Res> { + factory _$$_LoadingCopyWith( + _$_Loading value, $Res Function(_$_Loading) then) = + __$$_LoadingCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$_LoadingCopyWithImpl<$Res> + extends _$EstimateStateCopyWithImpl<$Res, _$_Loading> + implements _$$_LoadingCopyWith<$Res> { + __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$_Loading extends _Loading { + const _$_Loading() : super._(); + + @override + String toString() { + return 'EstimateState.loading()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$_Loading); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(EstimateDetailResponse? estimateDetailResponse) + loaded, + required TResult Function(String? error) error, + }) { + return loading(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(EstimateDetailResponse? estimateDetailResponse)? loaded, + TResult? Function(String? error)? error, + }) { + return loading?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(EstimateDetailResponse? estimateDetailResponse)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (loading != null) { + return loading(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return loading(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return loading?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (loading != null) { + return loading(this); + } + return orElse(); + } +} + +abstract class _Loading extends EstimateState { + const factory _Loading() = _$_Loading; + const _Loading._() : super._(); +} + +/// @nodoc +abstract class _$$_LoadedCopyWith<$Res> { + factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = + __$$_LoadedCopyWithImpl<$Res>; + @useResult + $Res call({EstimateDetailResponse? estimateDetailResponse}); + + $EstimateDetailResponseCopyWith<$Res>? get estimateDetailResponse; +} + +/// @nodoc +class __$$_LoadedCopyWithImpl<$Res> + extends _$EstimateStateCopyWithImpl<$Res, _$_Loaded> + implements _$$_LoadedCopyWith<$Res> { + __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? estimateDetailResponse = freezed, + }) { + return _then(_$_Loaded( + freezed == estimateDetailResponse + ? _value.estimateDetailResponse + : estimateDetailResponse // ignore: cast_nullable_to_non_nullable + as EstimateDetailResponse?, + )); + } + + @override + @pragma('vm:prefer-inline') + $EstimateDetailResponseCopyWith<$Res>? get estimateDetailResponse { + if (_value.estimateDetailResponse == null) { + return null; + } + + return $EstimateDetailResponseCopyWith<$Res>(_value.estimateDetailResponse!, + (value) { + return _then(_value.copyWith(estimateDetailResponse: value)); + }); + } +} + +/// @nodoc + +class _$_Loaded extends _Loaded { + const _$_Loaded(this.estimateDetailResponse) : super._(); + + @override + final EstimateDetailResponse? estimateDetailResponse; + + @override + String toString() { + return 'EstimateState.loaded(estimateDetailResponse: $estimateDetailResponse)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Loaded && + (identical(other.estimateDetailResponse, estimateDetailResponse) || + other.estimateDetailResponse == estimateDetailResponse)); + } + + @override + int get hashCode => Object.hash(runtimeType, estimateDetailResponse); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_LoadedCopyWith<_$_Loaded> get copyWith => + __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(EstimateDetailResponse? estimateDetailResponse) + loaded, + required TResult Function(String? error) error, + }) { + return loaded(estimateDetailResponse); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(EstimateDetailResponse? estimateDetailResponse)? loaded, + TResult? Function(String? error)? error, + }) { + return loaded?.call(estimateDetailResponse); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(EstimateDetailResponse? estimateDetailResponse)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (loaded != null) { + return loaded(estimateDetailResponse); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return loaded(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return loaded?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (loaded != null) { + return loaded(this); + } + return orElse(); + } +} + +abstract class _Loaded extends EstimateState { + const factory _Loaded(final EstimateDetailResponse? estimateDetailResponse) = + _$_Loaded; + const _Loaded._() : super._(); + + EstimateDetailResponse? get estimateDetailResponse; + @JsonKey(ignore: true) + _$$_LoadedCopyWith<_$_Loaded> get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$_ErrorCopyWith<$Res> { + factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = + __$$_ErrorCopyWithImpl<$Res>; + @useResult + $Res call({String? error}); +} + +/// @nodoc +class __$$_ErrorCopyWithImpl<$Res> + extends _$EstimateStateCopyWithImpl<$Res, _$_Error> + implements _$$_ErrorCopyWith<$Res> { + __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? error = freezed, + }) { + return _then(_$_Error( + freezed == error + ? _value.error + : error // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc + +class _$_Error extends _Error { + const _$_Error(this.error) : super._(); + + @override + final String? error; + + @override + String toString() { + return 'EstimateState.error(error: $error)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Error && + (identical(other.error, error) || other.error == error)); + } + + @override + int get hashCode => Object.hash(runtimeType, error); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_ErrorCopyWith<_$_Error> get copyWith => + __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(EstimateDetailResponse? estimateDetailResponse) + loaded, + required TResult Function(String? error) error, + }) { + return error(this.error); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(EstimateDetailResponse? estimateDetailResponse)? loaded, + TResult? Function(String? error)? error, + }) { + return error?.call(this.error); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(EstimateDetailResponse? estimateDetailResponse)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(this.error); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return error(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return error?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(this); + } + return orElse(); + } +} + +abstract class _Error extends EstimateState { + const factory _Error(final String? error) = _$_Error; + const _Error._() : super._(); + + String? get error; + @JsonKey(ignore: true) + _$$_ErrorCopyWith<_$_Error> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_check.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_check.dart new file mode 100644 index 0000000000..d3b721cea8 --- /dev/null +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_check.dart @@ -0,0 +1,130 @@ +//mb_detail_view + +import 'dart:async'; +import 'dart:core'; + +import 'package:dio/dio.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:works_shg_app/data/repositories/employee_repository/estimate.dart'; +import 'package:works_shg_app/models/exception/custom_msg_exception.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; + +import '../../../data/remote_client.dart'; +import '../../../data/repositories/employee_repository/mb.dart'; +import '../../../models/employee/mb/mb_detail_response.dart'; +import '../../../services/urls.dart'; +import '../../../utils/employee/mb/mb_logic.dart'; + +part 'mb_check.freezed.dart'; + +typedef MeasurementCheckBlocEventEmitter = Emitter; + +class MeasurementCheckBloc + extends Bloc { + MeasurementCheckBloc() : super(const MeasurementCheckState.initial()) { + on(checkMB); + } + FutureOr checkMB( + MeasurementCheckEvent event, + MeasurementCheckBlocEventEmitter emit, + ) async { + Client client = Client(); + try { + emit(const MeasurementCheckState.initial()); + emit(const MeasurementCheckState.loading()); + final MBDetailResponse res = await MBRepository(client.init()) + .fetchMbDetail(url: Urls.measurementService.measurementDetail, body: { + "contractNumber": event.contractNumber, + "tenantId": GlobalVariables.tenantId, + // "measurementNumber": event.measurementNumber, + // "key": "View", + }); + final resEstimate = await EstimateRepository(client.init()).loadEstimate( + url: Urls.estimateService.estimateSearch, + queryParameters: { + "tenantId": GlobalVariables.tenantId, + "estimateNumber": res.contract?.additionalDetails?.estimateNumber, + }, + ); + + bool? workOrderStatus; + bool? estimateStatus; + bool? existingMB; + if (res.period != null && res.period?.message != null) { + throw CustomException(res.period?.message! ?? ""); + } else { + if (res.allMeasurements is! List) { + workOrderStatus = (res.contract!.wfStatus == "APPROVED" || + res.contract!.wfStatus == "ACCEPTED") + ? true + : false; + estimateStatus = resEstimate.estimates?.first.wfStatus == "APPROVED" + ? true + : false; + + existingMB = true; + } else { + workOrderStatus = (res.contract!.wfStatus == "APPROVED" || + res.contract!.wfStatus == "ACCEPTED") + ? true + : false; + estimateStatus = resEstimate.estimates?.first.wfStatus == "APPROVED" + ? true + : false; + + existingMB = (res.allMeasurements[0]['wfStatus'] == "APPROVED" || + res.allMeasurements[0]['wfStatus'] == "REJECTED") + ? true + : false; + } + + emit( + MeasurementCheckState.loaded( + workOrderStatus, + estimateStatus, + existingMB, + event.contractNumber, + ), + ); + } + } on DioError catch (e) { + // emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); + emit(MeasurementCheckState.error(e.toString())); + } on CustomException catch (e) { + emit(MeasurementCheckState.error(e.toString())); + } on Exception catch (e) { + // Handle all other types of exceptions + + emit(MeasurementCheckState.error(e.toString())); + } + } +} + +@freezed +class MeasurementCheckBlocEvent with _$MeasurementCheckBlocEvent { + const factory MeasurementCheckBlocEvent.create({ + required String tenantId, + required String contractNumber, + required String measurementNumber, + required MBScreen screenType, + }) = MeasurementCheckEvent; + + const factory MeasurementCheckBlocEvent.clear() = + MeasurementCheckBlocClearEvent; +} + +@freezed +class MeasurementCheckState with _$MeasurementCheckState { + const MeasurementCheckState._(); + + const factory MeasurementCheckState.initial() = _Initial; + const factory MeasurementCheckState.loading() = _Loading; + const factory MeasurementCheckState.loaded( + bool? workOrderStatus, + bool? estimateStatus, + bool? existingMB, + String? workOrderNumber, + ) = _Loaded; + const factory MeasurementCheckState.error(String? error) = _Error; +} diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_check.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_check.freezed.dart new file mode 100644 index 0000000000..6b7fe44f1a --- /dev/null +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_check.freezed.dart @@ -0,0 +1,1043 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'mb_check.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +/// @nodoc +mixin _$MeasurementCheckBlocEvent { + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) + create, + required TResult Function() clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? + create, + TResult? Function()? clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? + create, + TResult Function()? clear, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementCheckEvent value) create, + required TResult Function(MeasurementCheckBlocClearEvent value) clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementCheckEvent value)? create, + TResult? Function(MeasurementCheckBlocClearEvent value)? clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementCheckEvent value)? create, + TResult Function(MeasurementCheckBlocClearEvent value)? clear, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MeasurementCheckBlocEventCopyWith<$Res> { + factory $MeasurementCheckBlocEventCopyWith(MeasurementCheckBlocEvent value, + $Res Function(MeasurementCheckBlocEvent) then) = + _$MeasurementCheckBlocEventCopyWithImpl<$Res, MeasurementCheckBlocEvent>; +} + +/// @nodoc +class _$MeasurementCheckBlocEventCopyWithImpl<$Res, + $Val extends MeasurementCheckBlocEvent> + implements $MeasurementCheckBlocEventCopyWith<$Res> { + _$MeasurementCheckBlocEventCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; +} + +/// @nodoc +abstract class _$$MeasurementCheckEventCopyWith<$Res> { + factory _$$MeasurementCheckEventCopyWith(_$MeasurementCheckEvent value, + $Res Function(_$MeasurementCheckEvent) then) = + __$$MeasurementCheckEventCopyWithImpl<$Res>; + @useResult + $Res call( + {String tenantId, + String contractNumber, + String measurementNumber, + MBScreen screenType}); +} + +/// @nodoc +class __$$MeasurementCheckEventCopyWithImpl<$Res> + extends _$MeasurementCheckBlocEventCopyWithImpl<$Res, + _$MeasurementCheckEvent> + implements _$$MeasurementCheckEventCopyWith<$Res> { + __$$MeasurementCheckEventCopyWithImpl(_$MeasurementCheckEvent _value, + $Res Function(_$MeasurementCheckEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? tenantId = null, + Object? contractNumber = null, + Object? measurementNumber = null, + Object? screenType = null, + }) { + return _then(_$MeasurementCheckEvent( + tenantId: null == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String, + contractNumber: null == contractNumber + ? _value.contractNumber + : contractNumber // ignore: cast_nullable_to_non_nullable + as String, + measurementNumber: null == measurementNumber + ? _value.measurementNumber + : measurementNumber // ignore: cast_nullable_to_non_nullable + as String, + screenType: null == screenType + ? _value.screenType + : screenType // ignore: cast_nullable_to_non_nullable + as MBScreen, + )); + } +} + +/// @nodoc + +class _$MeasurementCheckEvent implements MeasurementCheckEvent { + const _$MeasurementCheckEvent( + {required this.tenantId, + required this.contractNumber, + required this.measurementNumber, + required this.screenType}); + + @override + final String tenantId; + @override + final String contractNumber; + @override + final String measurementNumber; + @override + final MBScreen screenType; + + @override + String toString() { + return 'MeasurementCheckBlocEvent.create(tenantId: $tenantId, contractNumber: $contractNumber, measurementNumber: $measurementNumber, screenType: $screenType)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$MeasurementCheckEvent && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.contractNumber, contractNumber) || + other.contractNumber == contractNumber) && + (identical(other.measurementNumber, measurementNumber) || + other.measurementNumber == measurementNumber) && + (identical(other.screenType, screenType) || + other.screenType == screenType)); + } + + @override + int get hashCode => Object.hash( + runtimeType, tenantId, contractNumber, measurementNumber, screenType); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$MeasurementCheckEventCopyWith<_$MeasurementCheckEvent> get copyWith => + __$$MeasurementCheckEventCopyWithImpl<_$MeasurementCheckEvent>( + this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) + create, + required TResult Function() clear, + }) { + return create(tenantId, contractNumber, measurementNumber, screenType); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? + create, + TResult? Function()? clear, + }) { + return create?.call( + tenantId, contractNumber, measurementNumber, screenType); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? + create, + TResult Function()? clear, + required TResult orElse(), + }) { + if (create != null) { + return create(tenantId, contractNumber, measurementNumber, screenType); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementCheckEvent value) create, + required TResult Function(MeasurementCheckBlocClearEvent value) clear, + }) { + return create(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementCheckEvent value)? create, + TResult? Function(MeasurementCheckBlocClearEvent value)? clear, + }) { + return create?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementCheckEvent value)? create, + TResult Function(MeasurementCheckBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (create != null) { + return create(this); + } + return orElse(); + } +} + +abstract class MeasurementCheckEvent implements MeasurementCheckBlocEvent { + const factory MeasurementCheckEvent( + {required final String tenantId, + required final String contractNumber, + required final String measurementNumber, + required final MBScreen screenType}) = _$MeasurementCheckEvent; + + String get tenantId; + String get contractNumber; + String get measurementNumber; + MBScreen get screenType; + @JsonKey(ignore: true) + _$$MeasurementCheckEventCopyWith<_$MeasurementCheckEvent> get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$MeasurementCheckBlocClearEventCopyWith<$Res> { + factory _$$MeasurementCheckBlocClearEventCopyWith( + _$MeasurementCheckBlocClearEvent value, + $Res Function(_$MeasurementCheckBlocClearEvent) then) = + __$$MeasurementCheckBlocClearEventCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$MeasurementCheckBlocClearEventCopyWithImpl<$Res> + extends _$MeasurementCheckBlocEventCopyWithImpl<$Res, + _$MeasurementCheckBlocClearEvent> + implements _$$MeasurementCheckBlocClearEventCopyWith<$Res> { + __$$MeasurementCheckBlocClearEventCopyWithImpl( + _$MeasurementCheckBlocClearEvent _value, + $Res Function(_$MeasurementCheckBlocClearEvent) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$MeasurementCheckBlocClearEvent + implements MeasurementCheckBlocClearEvent { + const _$MeasurementCheckBlocClearEvent(); + + @override + String toString() { + return 'MeasurementCheckBlocEvent.clear()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$MeasurementCheckBlocClearEvent); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) + create, + required TResult Function() clear, + }) { + return clear(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? + create, + TResult? Function()? clear, + }) { + return clear?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? + create, + TResult Function()? clear, + required TResult orElse(), + }) { + if (clear != null) { + return clear(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementCheckEvent value) create, + required TResult Function(MeasurementCheckBlocClearEvent value) clear, + }) { + return clear(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementCheckEvent value)? create, + TResult? Function(MeasurementCheckBlocClearEvent value)? clear, + }) { + return clear?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementCheckEvent value)? create, + TResult Function(MeasurementCheckBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (clear != null) { + return clear(this); + } + return orElse(); + } +} + +abstract class MeasurementCheckBlocClearEvent + implements MeasurementCheckBlocEvent { + const factory MeasurementCheckBlocClearEvent() = + _$MeasurementCheckBlocClearEvent; +} + +/// @nodoc +mixin _$MeasurementCheckState { + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(bool? workOrderStatus, bool? estimateStatus, + bool? existingMB, String? workOrderNumber) + loaded, + required TResult Function(String? error) error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(bool? workOrderStatus, bool? estimateStatus, + bool? existingMB, String? workOrderNumber)? + loaded, + TResult? Function(String? error)? error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(bool? workOrderStatus, bool? estimateStatus, + bool? existingMB, String? workOrderNumber)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MeasurementCheckStateCopyWith<$Res> { + factory $MeasurementCheckStateCopyWith(MeasurementCheckState value, + $Res Function(MeasurementCheckState) then) = + _$MeasurementCheckStateCopyWithImpl<$Res, MeasurementCheckState>; +} + +/// @nodoc +class _$MeasurementCheckStateCopyWithImpl<$Res, + $Val extends MeasurementCheckState> + implements $MeasurementCheckStateCopyWith<$Res> { + _$MeasurementCheckStateCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; +} + +/// @nodoc +abstract class _$$_InitialCopyWith<$Res> { + factory _$$_InitialCopyWith( + _$_Initial value, $Res Function(_$_Initial) then) = + __$$_InitialCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$_InitialCopyWithImpl<$Res> + extends _$MeasurementCheckStateCopyWithImpl<$Res, _$_Initial> + implements _$$_InitialCopyWith<$Res> { + __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$_Initial extends _Initial { + const _$_Initial() : super._(); + + @override + String toString() { + return 'MeasurementCheckState.initial()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$_Initial); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(bool? workOrderStatus, bool? estimateStatus, + bool? existingMB, String? workOrderNumber) + loaded, + required TResult Function(String? error) error, + }) { + return initial(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(bool? workOrderStatus, bool? estimateStatus, + bool? existingMB, String? workOrderNumber)? + loaded, + TResult? Function(String? error)? error, + }) { + return initial?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(bool? workOrderStatus, bool? estimateStatus, + bool? existingMB, String? workOrderNumber)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (initial != null) { + return initial(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return initial(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return initial?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (initial != null) { + return initial(this); + } + return orElse(); + } +} + +abstract class _Initial extends MeasurementCheckState { + const factory _Initial() = _$_Initial; + const _Initial._() : super._(); +} + +/// @nodoc +abstract class _$$_LoadingCopyWith<$Res> { + factory _$$_LoadingCopyWith( + _$_Loading value, $Res Function(_$_Loading) then) = + __$$_LoadingCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$_LoadingCopyWithImpl<$Res> + extends _$MeasurementCheckStateCopyWithImpl<$Res, _$_Loading> + implements _$$_LoadingCopyWith<$Res> { + __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$_Loading extends _Loading { + const _$_Loading() : super._(); + + @override + String toString() { + return 'MeasurementCheckState.loading()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$_Loading); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(bool? workOrderStatus, bool? estimateStatus, + bool? existingMB, String? workOrderNumber) + loaded, + required TResult Function(String? error) error, + }) { + return loading(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(bool? workOrderStatus, bool? estimateStatus, + bool? existingMB, String? workOrderNumber)? + loaded, + TResult? Function(String? error)? error, + }) { + return loading?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(bool? workOrderStatus, bool? estimateStatus, + bool? existingMB, String? workOrderNumber)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (loading != null) { + return loading(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return loading(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return loading?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (loading != null) { + return loading(this); + } + return orElse(); + } +} + +abstract class _Loading extends MeasurementCheckState { + const factory _Loading() = _$_Loading; + const _Loading._() : super._(); +} + +/// @nodoc +abstract class _$$_LoadedCopyWith<$Res> { + factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = + __$$_LoadedCopyWithImpl<$Res>; + @useResult + $Res call( + {bool? workOrderStatus, + bool? estimateStatus, + bool? existingMB, + String? workOrderNumber}); +} + +/// @nodoc +class __$$_LoadedCopyWithImpl<$Res> + extends _$MeasurementCheckStateCopyWithImpl<$Res, _$_Loaded> + implements _$$_LoadedCopyWith<$Res> { + __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? workOrderStatus = freezed, + Object? estimateStatus = freezed, + Object? existingMB = freezed, + Object? workOrderNumber = freezed, + }) { + return _then(_$_Loaded( + freezed == workOrderStatus + ? _value.workOrderStatus + : workOrderStatus // ignore: cast_nullable_to_non_nullable + as bool?, + freezed == estimateStatus + ? _value.estimateStatus + : estimateStatus // ignore: cast_nullable_to_non_nullable + as bool?, + freezed == existingMB + ? _value.existingMB + : existingMB // ignore: cast_nullable_to_non_nullable + as bool?, + freezed == workOrderNumber + ? _value.workOrderNumber + : workOrderNumber // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc + +class _$_Loaded extends _Loaded { + const _$_Loaded(this.workOrderStatus, this.estimateStatus, this.existingMB, + this.workOrderNumber) + : super._(); + + @override + final bool? workOrderStatus; + @override + final bool? estimateStatus; + @override + final bool? existingMB; + @override + final String? workOrderNumber; + + @override + String toString() { + return 'MeasurementCheckState.loaded(workOrderStatus: $workOrderStatus, estimateStatus: $estimateStatus, existingMB: $existingMB, workOrderNumber: $workOrderNumber)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Loaded && + (identical(other.workOrderStatus, workOrderStatus) || + other.workOrderStatus == workOrderStatus) && + (identical(other.estimateStatus, estimateStatus) || + other.estimateStatus == estimateStatus) && + (identical(other.existingMB, existingMB) || + other.existingMB == existingMB) && + (identical(other.workOrderNumber, workOrderNumber) || + other.workOrderNumber == workOrderNumber)); + } + + @override + int get hashCode => Object.hash(runtimeType, workOrderStatus, estimateStatus, + existingMB, workOrderNumber); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_LoadedCopyWith<_$_Loaded> get copyWith => + __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(bool? workOrderStatus, bool? estimateStatus, + bool? existingMB, String? workOrderNumber) + loaded, + required TResult Function(String? error) error, + }) { + return loaded(workOrderStatus, estimateStatus, existingMB, workOrderNumber); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(bool? workOrderStatus, bool? estimateStatus, + bool? existingMB, String? workOrderNumber)? + loaded, + TResult? Function(String? error)? error, + }) { + return loaded?.call( + workOrderStatus, estimateStatus, existingMB, workOrderNumber); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(bool? workOrderStatus, bool? estimateStatus, + bool? existingMB, String? workOrderNumber)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (loaded != null) { + return loaded( + workOrderStatus, estimateStatus, existingMB, workOrderNumber); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return loaded(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return loaded?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (loaded != null) { + return loaded(this); + } + return orElse(); + } +} + +abstract class _Loaded extends MeasurementCheckState { + const factory _Loaded(final bool? workOrderStatus, final bool? estimateStatus, + final bool? existingMB, final String? workOrderNumber) = _$_Loaded; + const _Loaded._() : super._(); + + bool? get workOrderStatus; + bool? get estimateStatus; + bool? get existingMB; + String? get workOrderNumber; + @JsonKey(ignore: true) + _$$_LoadedCopyWith<_$_Loaded> get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$_ErrorCopyWith<$Res> { + factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = + __$$_ErrorCopyWithImpl<$Res>; + @useResult + $Res call({String? error}); +} + +/// @nodoc +class __$$_ErrorCopyWithImpl<$Res> + extends _$MeasurementCheckStateCopyWithImpl<$Res, _$_Error> + implements _$$_ErrorCopyWith<$Res> { + __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? error = freezed, + }) { + return _then(_$_Error( + freezed == error + ? _value.error + : error // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc + +class _$_Error extends _Error { + const _$_Error(this.error) : super._(); + + @override + final String? error; + + @override + String toString() { + return 'MeasurementCheckState.error(error: $error)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Error && + (identical(other.error, error) || other.error == error)); + } + + @override + int get hashCode => Object.hash(runtimeType, error); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_ErrorCopyWith<_$_Error> get copyWith => + __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(bool? workOrderStatus, bool? estimateStatus, + bool? existingMB, String? workOrderNumber) + loaded, + required TResult Function(String? error) error, + }) { + return error(this.error); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(bool? workOrderStatus, bool? estimateStatus, + bool? existingMB, String? workOrderNumber)? + loaded, + TResult? Function(String? error)? error, + }) { + return error?.call(this.error); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(bool? workOrderStatus, bool? estimateStatus, + bool? existingMB, String? workOrderNumber)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(this.error); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return error(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return error?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(this); + } + return orElse(); + } +} + +abstract class _Error extends MeasurementCheckState { + const factory _Error(final String? error) = _$_Error; + const _Error._() : super._(); + + String? get error; + @JsonKey(ignore: true) + _$$_ErrorCopyWith<_$_Error> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart new file mode 100644 index 0000000000..5b71e1edbd --- /dev/null +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart @@ -0,0 +1,163 @@ +//mb_crud + +import 'dart:async'; +import 'dart:convert'; + +import 'package:dio/dio.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:works_shg_app/services/urls.dart'; +import 'package:works_shg_app/utils/employee/mb/mb_logic.dart'; +import 'package:works_shg_app/utils/employee/mb/mb_logic.dart'; + +import '../../../data/remote_client.dart'; +import '../../../data/repositories/employee_repository/mb.dart'; +import '../../../models/employee/mb/mb_detail_response.dart'; +import '../../../utils/employee/mb/mb_logic.dart'; +part 'mb_crud.freezed.dart'; + +typedef MeasurementCrudBlocEventEmitter = Emitter; + +class MeasurementCrudBloc + extends Bloc { + MeasurementCrudBloc() : super(const MeasurementCrudState.initial()) { + on(updateMeasurement); + } + FutureOr updateMeasurement( + MeasurementUpdateBlocEvent event, + MeasurementCrudBlocEventEmitter emit, + ) async { + Client client = Client(); + + try { + + emit(const MeasurementCrudState.loading()); + + final Measurement res = await MBRepository(client.init()).updateMeasurement( + url: event.type== MBScreen.update? Urls.measurementService.updateMeasurement:Urls.measurementService.createMeasurement, + body: { + "measurements": [MBLogic.measurementToMap(event.measurement)] + // "measurements": [ + // { + // "id": "23ed34a6-368c-40f7-903b-62e2445aa9b5", + // "tenantId": "od.testing", + // "measurementNumber": "MB/2023-24/000256", + // "physicalRefNumber": null, + // "referenceId": "WO/2023-24/001412", + // "entryDate": 1710159043609, + // "measures": [ + // { + // "id": "d4632a70-c1c5-4cd7-bbc3-b2b2a9d75807", + // // "referenceId": "23ed34a6-368c-40f7-903b-62e2445aa9b5", + // "targetId": "9abc43c4-4c41-49ff-8528-08dd6bc138f9", + // "length": 1, + // "breadth": 1, + // "height": 1, + // "numItems": 7, + // "currentValue": 7, + // "cumulativeValue": 7, + // "isActive": true, + // "comments": null, + // "documents": null, + // // "auditDetails": { + // // "createdBy": "4ec9da90-ef66-47c8-8a0b-eb87d8cf9c31", + // // "lastModifiedBy": "81b1ce2d-262d-4632-b2a3-3e8227769a11", + // // "createdTime": 1709822340529, + // // "lastModifiedTime": 1710159043886 + // // }, + // "additionalDetails": { + // "type": "SOR", + // "mbAmount": 472.21999999999997, + // "measureLineItems": [ + // { + // "width": 0, + // "height": 0, + // "length": 0, + // "number": "2.5", + // "quantity": 2.5, + // "measurelineitemNo": 0 + // }, + // { + // "width": 0, + // "height": 0, + // "length": "1.5", + // "number": 0, + // "quantity": 1.5, + // "measurelineitemNo": 1 + // }, + // { + // "width": 0, + // "height": 0, + // "length": 0, + // "number": "2", + // "quantity": 2, + // "measurelineitemNo": 2 + // }, + // { + // "width": "1", + // "height": 0, + // "length": 0, + // "number": 0, + // "quantity": 1, + // "measurelineitemNo": 3 + // } + // ] + // } + // } + // ], + // "isActive": true, + // "documents": [], + // // "auditDetails": { + // // "createdBy": "4ec9da90-ef66-47c8-8a0b-eb87d8cf9c31", + // // "lastModifiedBy": "81b1ce2d-262d-4632-b2a3-3e8227769a11", + // // "createdTime": 1709822340529, + // // "lastModifiedTime": 1710159043886 + // // }, + // "additionalDetails": { + // "endDate": 1710700199999, + // "sorAmount": 472.21999999999997, + // "startDate": 1710095400000, + // "totalAmount": 472.21999999999997, + // "nonSorAmount": 0, + // "musterRollNumber": [] + // }, + // "wfStatus": "SUBMITTED", + // "workflow": { + // "action": "VERIFY_AND_FORWARD" + // } + // } + // ], + }, + ); + + emit(MeasurementCrudState.loaded(res)); + } on DioError catch (e) { + emit(MeasurementCrudState.error(e.response!.data['Errors'][0]['message'])); + } + } +} + +@freezed +class MeasurementCrudBlocEvent with _$MeasurementCrudBlocEvent { + const factory MeasurementCrudBlocEvent.update({ + required String tenantId, + required Measurement measurement, + required WorkFlow workFlow, + required MBScreen type, + }) = MeasurementUpdateBlocEvent; + + const factory MeasurementCrudBlocEvent.clear() = + MeasurementCrudBlocClearEvent; +} + +@freezed +class MeasurementCrudState with _$MeasurementCrudState { + const MeasurementCrudState._(); + + const factory MeasurementCrudState.initial() = _Initial; + const factory MeasurementCrudState.loading() = _Loading; + const factory MeasurementCrudState.loaded( + Measurement? measurement, + ) = _Loaded; + const factory MeasurementCrudState.error(String? error) = _Error; +} diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.freezed.dart new file mode 100644 index 0000000000..3a26d65c4b --- /dev/null +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.freezed.dart @@ -0,0 +1,1005 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'mb_crud.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +/// @nodoc +mixin _$MeasurementCrudBlocEvent { + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, Measurement measurement, + WorkFlow workFlow, MBScreen type) + update, + required TResult Function() clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, Measurement measurement, + WorkFlow workFlow, MBScreen type)? + update, + TResult? Function()? clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, Measurement measurement, + WorkFlow workFlow, MBScreen type)? + update, + TResult Function()? clear, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementUpdateBlocEvent value) update, + required TResult Function(MeasurementCrudBlocClearEvent value) clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementUpdateBlocEvent value)? update, + TResult? Function(MeasurementCrudBlocClearEvent value)? clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementUpdateBlocEvent value)? update, + TResult Function(MeasurementCrudBlocClearEvent value)? clear, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MeasurementCrudBlocEventCopyWith<$Res> { + factory $MeasurementCrudBlocEventCopyWith(MeasurementCrudBlocEvent value, + $Res Function(MeasurementCrudBlocEvent) then) = + _$MeasurementCrudBlocEventCopyWithImpl<$Res, MeasurementCrudBlocEvent>; +} + +/// @nodoc +class _$MeasurementCrudBlocEventCopyWithImpl<$Res, + $Val extends MeasurementCrudBlocEvent> + implements $MeasurementCrudBlocEventCopyWith<$Res> { + _$MeasurementCrudBlocEventCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; +} + +/// @nodoc +abstract class _$$MeasurementUpdateBlocEventCopyWith<$Res> { + factory _$$MeasurementUpdateBlocEventCopyWith( + _$MeasurementUpdateBlocEvent value, + $Res Function(_$MeasurementUpdateBlocEvent) then) = + __$$MeasurementUpdateBlocEventCopyWithImpl<$Res>; + @useResult + $Res call( + {String tenantId, + Measurement measurement, + WorkFlow workFlow, + MBScreen type}); + + $MeasurementCopyWith<$Res> get measurement; + $WorkFlowCopyWith<$Res> get workFlow; +} + +/// @nodoc +class __$$MeasurementUpdateBlocEventCopyWithImpl<$Res> + extends _$MeasurementCrudBlocEventCopyWithImpl<$Res, + _$MeasurementUpdateBlocEvent> + implements _$$MeasurementUpdateBlocEventCopyWith<$Res> { + __$$MeasurementUpdateBlocEventCopyWithImpl( + _$MeasurementUpdateBlocEvent _value, + $Res Function(_$MeasurementUpdateBlocEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? tenantId = null, + Object? measurement = null, + Object? workFlow = null, + Object? type = null, + }) { + return _then(_$MeasurementUpdateBlocEvent( + tenantId: null == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String, + measurement: null == measurement + ? _value.measurement + : measurement // ignore: cast_nullable_to_non_nullable + as Measurement, + workFlow: null == workFlow + ? _value.workFlow + : workFlow // ignore: cast_nullable_to_non_nullable + as WorkFlow, + type: null == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as MBScreen, + )); + } + + @override + @pragma('vm:prefer-inline') + $MeasurementCopyWith<$Res> get measurement { + return $MeasurementCopyWith<$Res>(_value.measurement, (value) { + return _then(_value.copyWith(measurement: value)); + }); + } + + @override + @pragma('vm:prefer-inline') + $WorkFlowCopyWith<$Res> get workFlow { + return $WorkFlowCopyWith<$Res>(_value.workFlow, (value) { + return _then(_value.copyWith(workFlow: value)); + }); + } +} + +/// @nodoc + +class _$MeasurementUpdateBlocEvent implements MeasurementUpdateBlocEvent { + const _$MeasurementUpdateBlocEvent( + {required this.tenantId, + required this.measurement, + required this.workFlow, + required this.type}); + + @override + final String tenantId; + @override + final Measurement measurement; + @override + final WorkFlow workFlow; + @override + final MBScreen type; + + @override + String toString() { + return 'MeasurementCrudBlocEvent.update(tenantId: $tenantId, measurement: $measurement, workFlow: $workFlow, type: $type)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$MeasurementUpdateBlocEvent && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.measurement, measurement) || + other.measurement == measurement) && + (identical(other.workFlow, workFlow) || + other.workFlow == workFlow) && + (identical(other.type, type) || other.type == type)); + } + + @override + int get hashCode => + Object.hash(runtimeType, tenantId, measurement, workFlow, type); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$MeasurementUpdateBlocEventCopyWith<_$MeasurementUpdateBlocEvent> + get copyWith => __$$MeasurementUpdateBlocEventCopyWithImpl< + _$MeasurementUpdateBlocEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, Measurement measurement, + WorkFlow workFlow, MBScreen type) + update, + required TResult Function() clear, + }) { + return update(tenantId, measurement, workFlow, type); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, Measurement measurement, + WorkFlow workFlow, MBScreen type)? + update, + TResult? Function()? clear, + }) { + return update?.call(tenantId, measurement, workFlow, type); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, Measurement measurement, + WorkFlow workFlow, MBScreen type)? + update, + TResult Function()? clear, + required TResult orElse(), + }) { + if (update != null) { + return update(tenantId, measurement, workFlow, type); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementUpdateBlocEvent value) update, + required TResult Function(MeasurementCrudBlocClearEvent value) clear, + }) { + return update(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementUpdateBlocEvent value)? update, + TResult? Function(MeasurementCrudBlocClearEvent value)? clear, + }) { + return update?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementUpdateBlocEvent value)? update, + TResult Function(MeasurementCrudBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (update != null) { + return update(this); + } + return orElse(); + } +} + +abstract class MeasurementUpdateBlocEvent implements MeasurementCrudBlocEvent { + const factory MeasurementUpdateBlocEvent( + {required final String tenantId, + required final Measurement measurement, + required final WorkFlow workFlow, + required final MBScreen type}) = _$MeasurementUpdateBlocEvent; + + String get tenantId; + Measurement get measurement; + WorkFlow get workFlow; + MBScreen get type; + @JsonKey(ignore: true) + _$$MeasurementUpdateBlocEventCopyWith<_$MeasurementUpdateBlocEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$MeasurementCrudBlocClearEventCopyWith<$Res> { + factory _$$MeasurementCrudBlocClearEventCopyWith( + _$MeasurementCrudBlocClearEvent value, + $Res Function(_$MeasurementCrudBlocClearEvent) then) = + __$$MeasurementCrudBlocClearEventCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$MeasurementCrudBlocClearEventCopyWithImpl<$Res> + extends _$MeasurementCrudBlocEventCopyWithImpl<$Res, + _$MeasurementCrudBlocClearEvent> + implements _$$MeasurementCrudBlocClearEventCopyWith<$Res> { + __$$MeasurementCrudBlocClearEventCopyWithImpl( + _$MeasurementCrudBlocClearEvent _value, + $Res Function(_$MeasurementCrudBlocClearEvent) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$MeasurementCrudBlocClearEvent implements MeasurementCrudBlocClearEvent { + const _$MeasurementCrudBlocClearEvent(); + + @override + String toString() { + return 'MeasurementCrudBlocEvent.clear()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$MeasurementCrudBlocClearEvent); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, Measurement measurement, + WorkFlow workFlow, MBScreen type) + update, + required TResult Function() clear, + }) { + return clear(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, Measurement measurement, + WorkFlow workFlow, MBScreen type)? + update, + TResult? Function()? clear, + }) { + return clear?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, Measurement measurement, + WorkFlow workFlow, MBScreen type)? + update, + TResult Function()? clear, + required TResult orElse(), + }) { + if (clear != null) { + return clear(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementUpdateBlocEvent value) update, + required TResult Function(MeasurementCrudBlocClearEvent value) clear, + }) { + return clear(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementUpdateBlocEvent value)? update, + TResult? Function(MeasurementCrudBlocClearEvent value)? clear, + }) { + return clear?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementUpdateBlocEvent value)? update, + TResult Function(MeasurementCrudBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (clear != null) { + return clear(this); + } + return orElse(); + } +} + +abstract class MeasurementCrudBlocClearEvent + implements MeasurementCrudBlocEvent { + const factory MeasurementCrudBlocClearEvent() = + _$MeasurementCrudBlocClearEvent; +} + +/// @nodoc +mixin _$MeasurementCrudState { + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(Measurement? measurement) loaded, + required TResult Function(String? error) error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(Measurement? measurement)? loaded, + TResult? Function(String? error)? error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(Measurement? measurement)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MeasurementCrudStateCopyWith<$Res> { + factory $MeasurementCrudStateCopyWith(MeasurementCrudState value, + $Res Function(MeasurementCrudState) then) = + _$MeasurementCrudStateCopyWithImpl<$Res, MeasurementCrudState>; +} + +/// @nodoc +class _$MeasurementCrudStateCopyWithImpl<$Res, + $Val extends MeasurementCrudState> + implements $MeasurementCrudStateCopyWith<$Res> { + _$MeasurementCrudStateCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; +} + +/// @nodoc +abstract class _$$_InitialCopyWith<$Res> { + factory _$$_InitialCopyWith( + _$_Initial value, $Res Function(_$_Initial) then) = + __$$_InitialCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$_InitialCopyWithImpl<$Res> + extends _$MeasurementCrudStateCopyWithImpl<$Res, _$_Initial> + implements _$$_InitialCopyWith<$Res> { + __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$_Initial extends _Initial { + const _$_Initial() : super._(); + + @override + String toString() { + return 'MeasurementCrudState.initial()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$_Initial); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(Measurement? measurement) loaded, + required TResult Function(String? error) error, + }) { + return initial(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(Measurement? measurement)? loaded, + TResult? Function(String? error)? error, + }) { + return initial?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(Measurement? measurement)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (initial != null) { + return initial(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return initial(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return initial?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (initial != null) { + return initial(this); + } + return orElse(); + } +} + +abstract class _Initial extends MeasurementCrudState { + const factory _Initial() = _$_Initial; + const _Initial._() : super._(); +} + +/// @nodoc +abstract class _$$_LoadingCopyWith<$Res> { + factory _$$_LoadingCopyWith( + _$_Loading value, $Res Function(_$_Loading) then) = + __$$_LoadingCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$_LoadingCopyWithImpl<$Res> + extends _$MeasurementCrudStateCopyWithImpl<$Res, _$_Loading> + implements _$$_LoadingCopyWith<$Res> { + __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$_Loading extends _Loading { + const _$_Loading() : super._(); + + @override + String toString() { + return 'MeasurementCrudState.loading()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$_Loading); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(Measurement? measurement) loaded, + required TResult Function(String? error) error, + }) { + return loading(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(Measurement? measurement)? loaded, + TResult? Function(String? error)? error, + }) { + return loading?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(Measurement? measurement)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (loading != null) { + return loading(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return loading(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return loading?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (loading != null) { + return loading(this); + } + return orElse(); + } +} + +abstract class _Loading extends MeasurementCrudState { + const factory _Loading() = _$_Loading; + const _Loading._() : super._(); +} + +/// @nodoc +abstract class _$$_LoadedCopyWith<$Res> { + factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = + __$$_LoadedCopyWithImpl<$Res>; + @useResult + $Res call({Measurement? measurement}); + + $MeasurementCopyWith<$Res>? get measurement; +} + +/// @nodoc +class __$$_LoadedCopyWithImpl<$Res> + extends _$MeasurementCrudStateCopyWithImpl<$Res, _$_Loaded> + implements _$$_LoadedCopyWith<$Res> { + __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? measurement = freezed, + }) { + return _then(_$_Loaded( + freezed == measurement + ? _value.measurement + : measurement // ignore: cast_nullable_to_non_nullable + as Measurement?, + )); + } + + @override + @pragma('vm:prefer-inline') + $MeasurementCopyWith<$Res>? get measurement { + if (_value.measurement == null) { + return null; + } + + return $MeasurementCopyWith<$Res>(_value.measurement!, (value) { + return _then(_value.copyWith(measurement: value)); + }); + } +} + +/// @nodoc + +class _$_Loaded extends _Loaded { + const _$_Loaded(this.measurement) : super._(); + + @override + final Measurement? measurement; + + @override + String toString() { + return 'MeasurementCrudState.loaded(measurement: $measurement)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Loaded && + (identical(other.measurement, measurement) || + other.measurement == measurement)); + } + + @override + int get hashCode => Object.hash(runtimeType, measurement); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_LoadedCopyWith<_$_Loaded> get copyWith => + __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(Measurement? measurement) loaded, + required TResult Function(String? error) error, + }) { + return loaded(measurement); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(Measurement? measurement)? loaded, + TResult? Function(String? error)? error, + }) { + return loaded?.call(measurement); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(Measurement? measurement)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (loaded != null) { + return loaded(measurement); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return loaded(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return loaded?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (loaded != null) { + return loaded(this); + } + return orElse(); + } +} + +abstract class _Loaded extends MeasurementCrudState { + const factory _Loaded(final Measurement? measurement) = _$_Loaded; + const _Loaded._() : super._(); + + Measurement? get measurement; + @JsonKey(ignore: true) + _$$_LoadedCopyWith<_$_Loaded> get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$_ErrorCopyWith<$Res> { + factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = + __$$_ErrorCopyWithImpl<$Res>; + @useResult + $Res call({String? error}); +} + +/// @nodoc +class __$$_ErrorCopyWithImpl<$Res> + extends _$MeasurementCrudStateCopyWithImpl<$Res, _$_Error> + implements _$$_ErrorCopyWith<$Res> { + __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? error = freezed, + }) { + return _then(_$_Error( + freezed == error + ? _value.error + : error // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc + +class _$_Error extends _Error { + const _$_Error(this.error) : super._(); + + @override + final String? error; + + @override + String toString() { + return 'MeasurementCrudState.error(error: $error)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Error && + (identical(other.error, error) || other.error == error)); + } + + @override + int get hashCode => Object.hash(runtimeType, error); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_ErrorCopyWith<_$_Error> get copyWith => + __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(Measurement? measurement) loaded, + required TResult Function(String? error) error, + }) { + return error(this.error); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(Measurement? measurement)? loaded, + TResult? Function(String? error)? error, + }) { + return error?.call(this.error); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(Measurement? measurement)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(this.error); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return error(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return error?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(this); + } + return orElse(); + } +} + +abstract class _Error extends MeasurementCrudState { + const factory _Error(final String? error) = _$_Error; + const _Error._() : super._(); + + String? get error; + @JsonKey(ignore: true) + _$$_ErrorCopyWith<_$_Error> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart new file mode 100644 index 0000000000..bd445612c0 --- /dev/null +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart @@ -0,0 +1,968 @@ +//mb_detail_view + +import 'dart:async'; +import 'dart:convert'; +import 'dart:core'; +import 'dart:math'; + +import 'package:collection/collection.dart'; +import 'package:dio/dio.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:uuid/uuid.dart'; +import 'package:works_shg_app/models/employee/mb/mb_inbox_response.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; + +import '../../../data/remote_client.dart'; +import '../../../data/repositories/employee_repository/mb.dart'; +import '../../../models/employee/mb/filtered_Measures.dart'; +import '../../../models/employee/mb/mb_detail_response.dart'; +import '../../../models/muster_rolls/muster_workflow_model.dart'; +import '../../../services/urls.dart'; +import '../../../utils/employee/mb/mb_logic.dart'; + +part 'mb_detail_view.freezed.dart'; + +typedef MeasurementDetailBlocEventEmitter = Emitter; + +class MeasurementDetailBloc + extends Bloc { + MeasurementDetailBloc() : super(const MeasurementDetailState.initial()) { + on(getMBDetail); + on(addMeasurementLine); + on(updateMeasurementLine); + on(updateViewMode); + on(cancelUpdate); + on(updatePriceSOR); + on(modifyDocument); + on(updateMSGMode); + + on(deleteMeasurementLine); + } + FutureOr getMBDetail( + MeasurementDetailBookBlocEvent event, + MeasurementDetailBlocEventEmitter emit, + ) async { + Client client = Client(); + try { + emit(const MeasurementDetailState.initial()); + emit(const MeasurementDetailState.loading()); + final MBDetailResponse res = await MBRepository(client.init()) + .fetchMbDetail(url: Urls.measurementService.measurementDetail, body: { + "contractNumber": event.contractNumber, + "tenantId": GlobalVariables.tenantId, + "measurementNumber": event.measurementNumber, + "key": event.screenType == MBScreen.create?"":"View", + }); + + List data; + if (event.screenType == MBScreen.create && res.allMeasurements is! List) { + data = MBLogic.formContract(mbDetailResponse: res); + } else { + data = MBLogic.getMeasureList( + mbDetailResponse: res, + type: event.screenType, + ); + } + + List>> sorList = MBLogic.getSors(data); + + print(sorList); + + emit( + MeasurementDetailState.loaded( + 0, + null, + event.screenType == MBScreen.create + ? false + : data.first.wfStatus == "DRAFTED" + ? false + : true, + res.allMeasurements is List + ? res.allMeasurements + .map((dynamic item) { + if (item is Map) { + return Measurement( + id: item['id'], + tenantId: item['tenantId'], + measurementNumber: item['measurementNumber'], + physicalRefNumber: item['physicalRefNumber'], + referenceId: item['referenceId'], + entryDate: item['entryDate'], + isActive: item['isActive'], + wfStatus: item['wfStatus'], + auditDetails: AuditDetails( + createdBy: item['auditDetails']['createdBy'], + lastModifiedBy: item['auditDetails'] + ['lastModifiedBy'], + createdTime: item['auditDetails']['createdTime'], + lastModifiedTime: item['auditDetails'] + ['lastModifiedTime'], + ), + additionalDetail: MeasurementAdditionalDetail( + endDate: item['additionalDetails'] == null + ? 0 + : item['additionalDetails']['endDate'], + sorAmount: item['additionalDetails'] == null + ? 0.0 + : double.parse(item['additionalDetails'] + ['sorAmount'] + .toString()) + .toDouble(), + startDate: item['additionalDetails'] == null + ? 1 + : item['additionalDetails']['startDate'], + totalAmount: item['additionalDetails'] == null + ? 0.0 + : double.parse(item['additionalDetails'] + ['totalAmount'] + .toString()) + .toDouble(), + nonSorAmount: item['additionalDetails'] == null + ? 0.0 + : double.parse(item['additionalDetails'] + ['nonSorAmount'] + .toString()) + .toDouble(), + musterRollNumber: item['additionalDetails'] == null + ? null + : item['additionalDetails']['musterRollNumber'], + ), + measures: (item['measures'] as List) + .map((e) => + Measure.fromJson(e as Map)) + .toList(), + documents: (item['documents'] as List) + .map((e) => + WorkflowDocument.fromJson( + e as Map)) + .toList(), + ); + } else { + // Assuming there's a conversion method or constructor for Measurement + return Measurement.fromJson(item as Map); + } + }) + .toList() + .first + : res.allMeasurements!, + data, + sorList.first.first, + sorList.first.last, + sorList.length >= 2 ? sorList[1].first : null, + sorList.length >= 2 ? sorList[1].last : null, + ), + ); + } on DioError catch (e) { + // emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); + emit(MeasurementDetailState.error(e.toString())); + } + } + + FutureOr addMeasurementLine( + AddToMeasurementLineEvent event, + MeasurementDetailBlocEventEmitter emit, + ) async { + try { + state.maybeMap( + orElse: () => null, + loaded: (value) { + print(event.sorId); + print(event.type); + List mk = []; + + if (event.single) { + MeasureLineItem mm = const MeasureLineItem( + width: 0, + height: 0, + length: 0, + number: 0, + quantity: 0, + measurelineitemNo: 1, + ); + mk = [mm]; + } else { + MeasureLineItem mm = MeasureLineItem( + width: 0, + height: 0, + length: 0, + number: 0, + quantity: 0, + measurelineitemNo: event.measurementLineIndex, + // measurelineitemNo: randomNumber, + ); + mk = [mm]; + } + + if (event.type != "NON-SOR") { + List data = MBLogic.addMeasurementLine( + value.sor!, + event.sorId, + event.filteredMeasurementMeasureId!, + event.measurementLineIndex!, + mk, + ); + + emit(value.copyWith( + qtyErrorMsg: 1, + sor: data, + )); + } else { + List data = MBLogic.addMeasurementLine( + value.nonSor!, + event.sorId, + event.filteredMeasurementMeasureId!, + event.measurementLineIndex!, + mk, + ); + + emit(value.copyWith( + qtyErrorMsg: 1, + nonSor: data, + )); + } + }, + ); + } catch (e) { + // emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); + // emit(MeasurementDetailState.error(e.toString())); + } + } + +// delete mbline + FutureOr deleteMeasurementLine( + DeleteMeasurementLineEvent event, + MeasurementDetailBlocEventEmitter emit, + ) async { + try { + state.maybeMap( + orElse: () => null, + loaded: (value) { + print(event.sorId); + print(event.type); + + if (event.type != "NonSor") { + List data = MBLogic.deleteMeasurementLine( + value.sor!, + event.sorId, + event.filteredMeasurementMeasureId!, + event.measurementLineIndex!, + ); + + emit(value.copyWith( + qtyErrorMsg: 1, + sor: data, + )); + } else { + List data = MBLogic.deleteMeasurementLine( + value.nonSor!, + event.sorId, + event.filteredMeasurementMeasureId!, + event.measurementLineIndex!, + ); + + emit(value.copyWith( + qtyErrorMsg: 1, + nonSor: data, + )); + } + }, + ); + } catch (e) { + // emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); + // emit(MeasurementDetailState.error(e.toString())); + } + } + +// end of delete mbline + + // update mbline + + FutureOr updateMeasurementLine( + UpdateToMeasurementLineEvent event, + MeasurementDetailBlocEventEmitter emit, + ) async { + try { + state.maybeMap( + orElse: () => null, + loaded: (value) { + // double target = MBLogic.calculateTotalQuantityAndSkip( + // value.sor!, + // event.sorId, + // event.filteredMeasurementMeasureId!, + // event.measurementLineIndex!, + // ); + // print("money: $target"); + // print(event.sorId); + // print(event.type); + + // double currentLineQty = double.parse(calulateQuantity( + // height: event.height, + // width: event.width, + // length: event.length, + // number: event.number) + // .toString()); + + // if ((currentLineQty + target) <= + // (double.parse(event.noOfUnit.toString()) - + // double.parse(event.cummulativePrevQty.toString()))) { + // + MeasureLineItem ml = MeasureLineItem( + width: event.width, + height: event.height, + length: event.length, + number: event.number, + quantity: calulateQuantity( + height: event.height.toString(), + width: event.width.toString(), + length: event.length.toString(), + number: event.number.toString(), + ), + measurelineitemNo: event.measurementLineIndex, + ); + + if (event.type != "NON-SOR") { + List data = MBLogic.updateMeasurementLine( + value.sor!, + event.sorId, + event.filteredMeasurementMeasureId!, + event.measurementLineIndex!, + ml, + ); + + emit(value.copyWith( + sor: data, + warningMsg: null, + qtyErrorMsg: 1, + )); + } else { + List data = MBLogic.updateMeasurementLine( + value.nonSor!, + event.sorId, + event.filteredMeasurementMeasureId!, + event.measurementLineIndex!, + ml, + ); + + emit(value.copyWith( + nonSor: data, + warningMsg: null, + qtyErrorMsg: 1, + )); + } + // + // } else { + // emit(value.copyWith( + // warningMsg: + // "The current quantity of MB entry should not exceed the approved quantity minus the consumed quantity.", + // )); + // } + }, + ); + } catch (e) { + // emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); + emit(MeasurementDetailState.error(e.toString())); + } + } + +// update view mode + FutureOr updateViewMode( + UpdateViewModeEvent event, + MeasurementDetailBlocEventEmitter emit, + ) async { + try { + state.maybeMap( + orElse: () => null, + loaded: (value) { + emit( + value.copyWith( + viewStatus: event.updateView, + ), + ); + }, + ); + } catch (e) { + // emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); + // emit(MeasurementDetailState.error(e.toString())); + } + } + +// cancel sor&non-sor mode + FutureOr cancelUpdate( + CancelUpdateEvent event, + MeasurementDetailBlocEventEmitter emit, + ) async { + try { + state.maybeMap( + orElse: () => null, + loaded: (value) async { + if (event.type == "sor") { + List s = await resetFilteredMeasure( + value.sor!, event.sorId, [value.data.first]); + + TotalEstimate sorData = MBLogic.calculateTotalQuantity( + s, "sorId", "filteredMeasurementsMeasureId", 0); + + List newData = value.data.mapIndexed( + (index, e) { + if (index == 0) { + return FilteredMeasurements( + tenantId: e.tenantId, + id: e.id, + wfStatus: e.wfStatus, + mbNumber: e.mbNumber, + totalAmount: (e.totalNorSorAmount! + sorData.totalAmount), + totalNorSorAmount: e.totalNorSorAmount, + totalSorAmount: sorData.totalAmount, + musterRollNumber: e.musterRollNumber, + endDate: e.endDate, + startDate: e.startDate, + entryDate: e.entryDate, + referenceId: e.referenceId, + physicalRefNumber: e.physicalRefNumber, + measures: e.measures, + documents: e.documents?.map((e) => e).toList(), + ); + } else { + return e; + } + }, + ).toList(); + + emit( + value.copyWith( + data: newData, + warningMsg: null, + sor: sorData.sorObjectList, + qtyErrorMsg: -1, + ), + ); + } else { + List ns = await resetFilteredMeasure( + value.nonSor!, event.sorId, [value.data.first]); + + TotalEstimate nonSorData = MBLogic.calculateTotalQuantity( + ns, "sorId", "filteredMeasurementsMeasureId", 0); + + List newData = value.data.mapIndexed( + (index, e) { + if (index == 0) { + return FilteredMeasurements( + tenantId: e.tenantId, + id: e.id, + wfStatus: e.wfStatus, + mbNumber: e.mbNumber, + totalAmount: (nonSorData.totalAmount + e.totalSorAmount!), + totalNorSorAmount: nonSorData.totalAmount, + totalSorAmount: e.totalSorAmount, + musterRollNumber: e.musterRollNumber, + endDate: e.endDate, + startDate: e.startDate, + entryDate: e.entryDate, + referenceId: e.referenceId, + physicalRefNumber: e.physicalRefNumber, + measures: e.measures, + documents: e.documents?.map((e) => e).toList(), + ); + } else { + return e; + } + }, + ).toList(); + + emit( + value.copyWith( + data: newData, + warningMsg: null, + nonSor: nonSorData.sorObjectList, + qtyErrorMsg: -1, + ), + ); + } + }, + ); + } catch (e) { + // emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); + emit(MeasurementDetailState.error(e.toString())); + } + } + + Future> resetFilteredMeasure(List sorObjects, + String sorId, List previousData) async { + // Find the index of the SorObject with the specified sorId + int sorIndex = + sorObjects.indexWhere((sorObject) => sorObject.sorId == sorId); + if (sorIndex != -1) { + // Find the previous SorObject from previousData based on sorId + SorObject? previousSor = findSorObjectById(previousData, sorId); + + if (previousSor != null) { + // Create a copy of sorObjects + List copyOfSorObjects = List.of(sorObjects); + + // Replace the existing SorObject with the previous one + copyOfSorObjects[sorIndex] = previousSor; + + // Return the modified list instead of modifying sorObjects directly + return copyOfSorObjects; + } + } + + // Return the original list if no modification is made + return sorObjects; + } +//temp for bug fixes + // SorObject? findSorObjectById( + // List filteredMeasurementsList, String sorId) { + // for (FilteredMeasurements filteredMeasurements + // in filteredMeasurementsList) { + // List mutableList = []; + // for (FilteredMeasurementsMeasure measure + // in filteredMeasurements.measures ?? []) { + // if (measure.contracts!.first.estimates!.first.sorId == sorId) { + // mutableList.add(measure); + // return SorObject( + // id: measure.contracts!.first.estimates!.first.id, + // sorId: measure.contracts!.first.estimates!.first.sorId, + // filteredMeasurementsMeasure: mutableList + // // Fill in the properties of SorObject based on the found measure + // ); + // } + // } + // } + // return null; // If no SorObject with the given sorId is found + // } + + SorObject? findSorObjectById( + List filteredMeasurementsList, String sorId) { + for (FilteredMeasurements filteredMeasurements + in filteredMeasurementsList) { + List mutableList = []; + for (FilteredMeasurementsMeasure measure + in filteredMeasurements.measures ?? []) { + if (measure.contracts!.first.estimates!.first.sorId == sorId) { + mutableList.add(measure); + // Do not return here + } + } + if (mutableList.isNotEmpty) { + // If any matching measures are found, create and return SorObject + return SorObject( + id: mutableList.first.contracts!.first.estimates!.first.id, + sorId: mutableList.first.contracts!.first.estimates!.first.sorId, + filteredMeasurementsMeasure: mutableList + // Fill in the properties of SorObject based on the found measures + ); + } + } + return null; // If no SorObject with the given sorId is found in any filtered measurements + } + +// calculate qty + dynamic calulateQuantity({ + required dynamic height, + required dynamic width, + required dynamic length, + required dynamic number, + }) { + //return field==0?1:field; + + height = double.parse( + (height == "" || height == ".") ? "0.0" : height.toString()) + .toStringAsFixed(4); + width = + double.parse((width == "" || width == ".") ? "0.0" : width.toString()) + .toStringAsFixed(4); + length = double.parse( + (length == "" || length == ".") ? "0.0" : length.toString()) + .toStringAsFixed(4); + number = double.parse( + (number == "" || number == ".") ? "0.0" : number.toString()) + .toStringAsFixed(4); + + if ((height == '0.0000' && + width == '0.0000' && + length == '0.0000' && + number == '0.0000') || + (height == '0.0000' && + width == '0.0000' && + length == '0.0000' && + number == '0.0000')) { + return 0; + } else { + if (height == '0.0000') { + height = 1; + } + if (width == '0.0000') { + width = 1; + } + if (length == '0.0000') { + length = 1; + } + if (number == '0.0000') { + number = 1; + } + double h = double.parse(height.toString()); + + double n = double.parse(number.toString()); + double w = double.parse(width.toString()); + double l = double.parse(length.toString()); + + return double.parse((h * n * w * l).toString()).toStringAsFixed(4); + // return double.parse( + // (double.parse(height.toString()) * + // double.parse(width.toString()) * + // double.parse(length.toString()) * + // double.parse(number.toString())) + // .toString()) + // .toStringAsFixed(3); + } + } + +// update price + FutureOr updatePriceSOR( + SubmitLineEvent event, + MeasurementDetailBlocEventEmitter emit, + ) async { + try { + state.maybeMap( + orElse: () => null, + loaded: (value) { + TotalEstimate sorData = MBLogic.calculateTotalQuantity( + value.sor!, "sorId", "filteredMeasurementsMeasureId", 0); + + TotalEstimate nonSorData = MBLogic.calculateTotalQuantity( + value.nonSor!, "sorId", "filteredMeasurementsMeasureId", 0); + +// TODO:Testing purpose + + print(sorData); + + final ss = event.type == "NonSor" + ? nonSorData.sorObjectList + .firstWhere((element) => element.sorId == event.sorId) + .filteredMeasurementsMeasure + .fold(0.0, (sum, element) { + double m = + double.parse(element.numItems.toString()).toDouble(); + return sum + m; + }) + : sorData.sorObjectList + .firstWhere((element) => element.sorId == event.sorId) + .filteredMeasurementsMeasure + .fold(0.0, (sum, element) { + double m = + double.parse(element.numItems.toString()).toDouble(); + return sum + m; + }); + ; + + print(ss); + + if (ss <= + ((double.parse(event.noOfUnit.toString()) - + double.parse(event.cummulativePrevQty.toString()))) && + ss >= 0) { + List newData = value.data.mapIndexed( + (index, e) { + if (index == 0) { + return FilteredMeasurements( + tenantId: e.tenantId, + id: e.id, + wfStatus: e.wfStatus, + mbNumber: e.mbNumber, + totalAmount: (sorData.totalAmount + nonSorData.totalAmount), + totalNorSorAmount: nonSorData.totalAmount, + totalSorAmount: sorData.totalAmount, + musterRollNumber: e.musterRollNumber, + endDate: e.endDate, + startDate: e.startDate, + entryDate: e.entryDate, + referenceId: e.referenceId, + physicalRefNumber: e.physicalRefNumber, + measures: e.measures, + documents: e.documents?.map((e) => e).toList(), + ); + } else { + return e; + } + }, + ).toList(); + +// + + emit( + value.copyWith( + data: newData, + warningMsg: null, + sor: sorData.sorObjectList, + nonSor: nonSorData.sorObjectList, + qtyErrorMsg: value.qtyErrorMsg == 0 ? -2 : 0, + ), + ); + } else { + emit(value.copyWith( + qtyErrorMsg: 2, + warningMsg: "mbQtyErrMsg", + )); + } + +// end of this + +//update data +// previous algo [working prevoius] +// List newData = value.data.mapIndexed( +// (index, e) { +// if (index == 0) { +// return FilteredMeasurements( +// tenantId: e.tenantId, +// id: e.id, +// wfStatus: e.wfStatus, +// mbNumber: e.mbNumber, +// totalAmount: (sorData.totalAmount + nonSorData.totalAmount), +// totalNorSorAmount: nonSorData.totalAmount, +// totalSorAmount: sorData.totalAmount, +// musterRollNumber: e.musterRollNumber, +// endDate: e.endDate, +// startDate: e.startDate, +// entryDate: e.entryDate, +// referenceId: e.referenceId, +// physicalRefNumber: e.physicalRefNumber, +// measures: e.measures, +// documents: e.documents?.map((e) => e).toList(), +// ); +// } else { +// return e; +// } +// }, +// ).toList(); + +// // + +// emit( +// value.copyWith( +// data: newData, +// warningMsg: null, +// sor: sorData.sorObjectList, +// nonSor: nonSorData.sorObjectList, +// ), +// ); +// end of previoud algo + }, + ); + } on DioError catch (e) { + // emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); + emit(MeasurementDetailState.error(e.toString())); + } + } + +// modify document + + FutureOr modifyDocument( + MeasurementUploadDocumentBlocEvent event, + MeasurementDetailBlocEventEmitter emit, + ) async { + try { + state.maybeMap( + orElse: () => null, + loaded: (value) { +//update data + + // List updatedDocuments = [ + // ...value.data.first.documents ?? [] + // ]; // Create a copy of existing documents + +// Add or update the new documents + // if (event.workflowDocument != null && + // event.workflowDocument.isNotEmpty) { + // if (updatedDocuments.isEmpty) { + // // If updatedDocuments is empty, assign event.workflowDocument directly + // updatedDocuments = List.from(event.workflowDocument); + // } else { + // // Iterate over each new document + // // for (WorkflowDocument document in event.workflowDocument) { + + // // updatedDocuments.add(document); + // // } + + // updatedDocuments.clear(); + // updatedDocuments = List.from(event.workflowDocument); + // } + // } + List updatedDocuments = []; + + updatedDocuments = List.from(event.workflowDocument); + + List newData = value.data.mapIndexed( + (index, e) { + if (index == 0) { + return FilteredMeasurements( + tenantId: e.tenantId, + id: e.id, + wfStatus: e.wfStatus, + mbNumber: e.mbNumber, + totalAmount: e.totalAmount, + totalNorSorAmount: e.totalNorSorAmount, + totalSorAmount: e.totalSorAmount, + musterRollNumber: e.musterRollNumber, + endDate: e.endDate, + startDate: e.startDate, + entryDate: e.entryDate, + referenceId: e.referenceId, + physicalRefNumber: e.physicalRefNumber, + measures: e.measures, + documents: updatedDocuments.map((e) => e).toList(), + ); + } else { + return e; + } + }, + ).toList(); + +// + print(newData); + emit( + value.copyWith( + data: newData, + warningMsg: null, + qtyErrorMsg: 0, + ), + ); + }, + ); + } on DioError catch (e) { + // emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); + emit(MeasurementDetailState.error(e.toString())); + } + } + +// update view mode + FutureOr updateMSGMode( + UpdateMsgCodeEvent event, + MeasurementDetailBlocEventEmitter emit, + ) async { + try { + state.maybeMap( + orElse: () => null, + loaded: (value) { + emit( + value.copyWith( + qtyErrorMsg: event.updateCode, + ), + ); + }, + ); + } catch (e) { + // emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); + // emit(MeasurementDetailState.error(e.toString())); + } + } +} + +@freezed +class MeasurementDetailBlocEvent with _$MeasurementDetailBlocEvent { + const factory MeasurementDetailBlocEvent.uploadDocument({ + required String tenantId, + required List workflowDocument, + }) = MeasurementUploadDocumentBlocEvent; + + const factory MeasurementDetailBlocEvent.create({ + required String tenantId, + required String contractNumber, + required String measurementNumber, + required MBScreen screenType, + }) = MeasurementDetailBookBlocEvent; + + const factory MeasurementDetailBlocEvent.clear() = + MeasurementDetailBlocClearEvent; + const factory MeasurementDetailBlocEvent.addToMeasurementLineList({ + required String sorId, + required String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + required bool single, + }) = AddToMeasurementLineEvent; + + const factory MeasurementDetailBlocEvent.updateToMeasurementLineList({ + required dynamic noOfUnit, + required dynamic cummulativePrevQty, + required String sorId, + required String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + }) = UpdateToMeasurementLineEvent; + // update view mode + + const factory MeasurementDetailBlocEvent.updateViewMode({ + required bool updateView, + }) = UpdateViewModeEvent; + + // reset the sorlist + + const factory MeasurementDetailBlocEvent.cancelUpdate({ + required bool cancelUpdate, + required String sorId, + required dynamic filteredMeasurementsMeasureId, + required String type, + }) = CancelUpdateEvent; + + // submit + + const factory MeasurementDetailBlocEvent.submitLine({ + required dynamic noOfUnit, + required dynamic cummulativePrevQty, + required String sorId, + required String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + }) = SubmitLineEvent; + + // update msg code + + const factory MeasurementDetailBlocEvent.updateMsgCode({ + required int updateCode, + }) = UpdateMsgCodeEvent; + + // delete measurementLineItem + + const factory MeasurementDetailBlocEvent.deleteMeasurementLine({ + required String sorId, + required String type, + required int index, + required int measurementLineIndex, + required String filteredMeasurementMeasureId, + }) = DeleteMeasurementLineEvent; +} + +@freezed +class MeasurementDetailState with _$MeasurementDetailState { + const MeasurementDetailState._(); + + const factory MeasurementDetailState.initial() = _Initial; + const factory MeasurementDetailState.loading() = _Loading; + const factory MeasurementDetailState.loaded( + int qtyErrorMsg, + String? warningMsg, + bool viewStatus, + dynamic rawData, + List data, + List? sor, + List? nonSor, + List? preSor, + List? preNonSor, + ) = _Loaded; + const factory MeasurementDetailState.error(String? error) = _Error; +} diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.freezed.dart new file mode 100644 index 0000000000..7e84e4efa3 --- /dev/null +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.freezed.dart @@ -0,0 +1,4811 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'mb_detail_view.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +/// @nodoc +mixin _$MeasurementDetailBlocEvent { + @optionalTypeArgs + TResult when({ + required TResult Function( + String tenantId, List workflowDocument) + uploadDocument, + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + create, + required TResult Function() clear, + required TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single) + addToMeasurementLineList, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity) + updateToMeasurementLineList, + required TResult Function(bool updateView) updateViewMode, + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + cancelUpdate, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId) + submitLine, + required TResult Function(int updateCode) updateMsgCode, + required TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId) + deleteMeasurementLine, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult? Function()? clear, + TResult? Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult? Function(bool updateView)? updateViewMode, + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult? Function(int updateCode)? updateMsgCode, + TResult? Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult Function()? clear, + TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult Function(bool updateView)? updateViewMode, + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult Function(int updateCode)? updateMsgCode, + TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementUploadDocumentBlocEvent value) + uploadDocument, + required TResult Function(MeasurementDetailBookBlocEvent value) create, + required TResult Function(MeasurementDetailBlocClearEvent value) clear, + required TResult Function(AddToMeasurementLineEvent value) + addToMeasurementLineList, + required TResult Function(UpdateToMeasurementLineEvent value) + updateToMeasurementLineList, + required TResult Function(UpdateViewModeEvent value) updateViewMode, + required TResult Function(CancelUpdateEvent value) cancelUpdate, + required TResult Function(SubmitLineEvent value) submitLine, + required TResult Function(UpdateMsgCodeEvent value) updateMsgCode, + required TResult Function(DeleteMeasurementLineEvent value) + deleteMeasurementLine, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult? Function(MeasurementDetailBookBlocEvent value)? create, + TResult? Function(MeasurementDetailBlocClearEvent value)? clear, + TResult? Function(AddToMeasurementLineEvent value)? + addToMeasurementLineList, + TResult? Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult? Function(UpdateViewModeEvent value)? updateViewMode, + TResult? Function(CancelUpdateEvent value)? cancelUpdate, + TResult? Function(SubmitLineEvent value)? submitLine, + TResult? Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult? Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult Function(MeasurementDetailBookBlocEvent value)? create, + TResult Function(MeasurementDetailBlocClearEvent value)? clear, + TResult Function(AddToMeasurementLineEvent value)? addToMeasurementLineList, + TResult Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult Function(UpdateViewModeEvent value)? updateViewMode, + TResult Function(CancelUpdateEvent value)? cancelUpdate, + TResult Function(SubmitLineEvent value)? submitLine, + TResult Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MeasurementDetailBlocEventCopyWith<$Res> { + factory $MeasurementDetailBlocEventCopyWith(MeasurementDetailBlocEvent value, + $Res Function(MeasurementDetailBlocEvent) then) = + _$MeasurementDetailBlocEventCopyWithImpl<$Res, + MeasurementDetailBlocEvent>; +} + +/// @nodoc +class _$MeasurementDetailBlocEventCopyWithImpl<$Res, + $Val extends MeasurementDetailBlocEvent> + implements $MeasurementDetailBlocEventCopyWith<$Res> { + _$MeasurementDetailBlocEventCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; +} + +/// @nodoc +abstract class _$$MeasurementUploadDocumentBlocEventCopyWith<$Res> { + factory _$$MeasurementUploadDocumentBlocEventCopyWith( + _$MeasurementUploadDocumentBlocEvent value, + $Res Function(_$MeasurementUploadDocumentBlocEvent) then) = + __$$MeasurementUploadDocumentBlocEventCopyWithImpl<$Res>; + @useResult + $Res call({String tenantId, List workflowDocument}); +} + +/// @nodoc +class __$$MeasurementUploadDocumentBlocEventCopyWithImpl<$Res> + extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, + _$MeasurementUploadDocumentBlocEvent> + implements _$$MeasurementUploadDocumentBlocEventCopyWith<$Res> { + __$$MeasurementUploadDocumentBlocEventCopyWithImpl( + _$MeasurementUploadDocumentBlocEvent _value, + $Res Function(_$MeasurementUploadDocumentBlocEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? tenantId = null, + Object? workflowDocument = null, + }) { + return _then(_$MeasurementUploadDocumentBlocEvent( + tenantId: null == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String, + workflowDocument: null == workflowDocument + ? _value._workflowDocument + : workflowDocument // ignore: cast_nullable_to_non_nullable + as List, + )); + } +} + +/// @nodoc + +class _$MeasurementUploadDocumentBlocEvent + implements MeasurementUploadDocumentBlocEvent { + const _$MeasurementUploadDocumentBlocEvent( + {required this.tenantId, + required final List workflowDocument}) + : _workflowDocument = workflowDocument; + + @override + final String tenantId; + final List _workflowDocument; + @override + List get workflowDocument { + if (_workflowDocument is EqualUnmodifiableListView) + return _workflowDocument; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_workflowDocument); + } + + @override + String toString() { + return 'MeasurementDetailBlocEvent.uploadDocument(tenantId: $tenantId, workflowDocument: $workflowDocument)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$MeasurementUploadDocumentBlocEvent && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + const DeepCollectionEquality() + .equals(other._workflowDocument, _workflowDocument)); + } + + @override + int get hashCode => Object.hash(runtimeType, tenantId, + const DeepCollectionEquality().hash(_workflowDocument)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$MeasurementUploadDocumentBlocEventCopyWith< + _$MeasurementUploadDocumentBlocEvent> + get copyWith => __$$MeasurementUploadDocumentBlocEventCopyWithImpl< + _$MeasurementUploadDocumentBlocEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + String tenantId, List workflowDocument) + uploadDocument, + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + create, + required TResult Function() clear, + required TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single) + addToMeasurementLineList, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity) + updateToMeasurementLineList, + required TResult Function(bool updateView) updateViewMode, + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + cancelUpdate, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId) + submitLine, + required TResult Function(int updateCode) updateMsgCode, + required TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId) + deleteMeasurementLine, + }) { + return uploadDocument(tenantId, workflowDocument); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult? Function()? clear, + TResult? Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult? Function(bool updateView)? updateViewMode, + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult? Function(int updateCode)? updateMsgCode, + TResult? Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + }) { + return uploadDocument?.call(tenantId, workflowDocument); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult Function()? clear, + TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult Function(bool updateView)? updateViewMode, + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult Function(int updateCode)? updateMsgCode, + TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + required TResult orElse(), + }) { + if (uploadDocument != null) { + return uploadDocument(tenantId, workflowDocument); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementUploadDocumentBlocEvent value) + uploadDocument, + required TResult Function(MeasurementDetailBookBlocEvent value) create, + required TResult Function(MeasurementDetailBlocClearEvent value) clear, + required TResult Function(AddToMeasurementLineEvent value) + addToMeasurementLineList, + required TResult Function(UpdateToMeasurementLineEvent value) + updateToMeasurementLineList, + required TResult Function(UpdateViewModeEvent value) updateViewMode, + required TResult Function(CancelUpdateEvent value) cancelUpdate, + required TResult Function(SubmitLineEvent value) submitLine, + required TResult Function(UpdateMsgCodeEvent value) updateMsgCode, + required TResult Function(DeleteMeasurementLineEvent value) + deleteMeasurementLine, + }) { + return uploadDocument(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult? Function(MeasurementDetailBookBlocEvent value)? create, + TResult? Function(MeasurementDetailBlocClearEvent value)? clear, + TResult? Function(AddToMeasurementLineEvent value)? + addToMeasurementLineList, + TResult? Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult? Function(UpdateViewModeEvent value)? updateViewMode, + TResult? Function(CancelUpdateEvent value)? cancelUpdate, + TResult? Function(SubmitLineEvent value)? submitLine, + TResult? Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult? Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + }) { + return uploadDocument?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult Function(MeasurementDetailBookBlocEvent value)? create, + TResult Function(MeasurementDetailBlocClearEvent value)? clear, + TResult Function(AddToMeasurementLineEvent value)? addToMeasurementLineList, + TResult Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult Function(UpdateViewModeEvent value)? updateViewMode, + TResult Function(CancelUpdateEvent value)? cancelUpdate, + TResult Function(SubmitLineEvent value)? submitLine, + TResult Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + required TResult orElse(), + }) { + if (uploadDocument != null) { + return uploadDocument(this); + } + return orElse(); + } +} + +abstract class MeasurementUploadDocumentBlocEvent + implements MeasurementDetailBlocEvent { + const factory MeasurementUploadDocumentBlocEvent( + {required final String tenantId, + required final List workflowDocument}) = + _$MeasurementUploadDocumentBlocEvent; + + String get tenantId; + List get workflowDocument; + @JsonKey(ignore: true) + _$$MeasurementUploadDocumentBlocEventCopyWith< + _$MeasurementUploadDocumentBlocEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$MeasurementDetailBookBlocEventCopyWith<$Res> { + factory _$$MeasurementDetailBookBlocEventCopyWith( + _$MeasurementDetailBookBlocEvent value, + $Res Function(_$MeasurementDetailBookBlocEvent) then) = + __$$MeasurementDetailBookBlocEventCopyWithImpl<$Res>; + @useResult + $Res call( + {String tenantId, + String contractNumber, + String measurementNumber, + MBScreen screenType}); +} + +/// @nodoc +class __$$MeasurementDetailBookBlocEventCopyWithImpl<$Res> + extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, + _$MeasurementDetailBookBlocEvent> + implements _$$MeasurementDetailBookBlocEventCopyWith<$Res> { + __$$MeasurementDetailBookBlocEventCopyWithImpl( + _$MeasurementDetailBookBlocEvent _value, + $Res Function(_$MeasurementDetailBookBlocEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? tenantId = null, + Object? contractNumber = null, + Object? measurementNumber = null, + Object? screenType = null, + }) { + return _then(_$MeasurementDetailBookBlocEvent( + tenantId: null == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String, + contractNumber: null == contractNumber + ? _value.contractNumber + : contractNumber // ignore: cast_nullable_to_non_nullable + as String, + measurementNumber: null == measurementNumber + ? _value.measurementNumber + : measurementNumber // ignore: cast_nullable_to_non_nullable + as String, + screenType: null == screenType + ? _value.screenType + : screenType // ignore: cast_nullable_to_non_nullable + as MBScreen, + )); + } +} + +/// @nodoc + +class _$MeasurementDetailBookBlocEvent + implements MeasurementDetailBookBlocEvent { + const _$MeasurementDetailBookBlocEvent( + {required this.tenantId, + required this.contractNumber, + required this.measurementNumber, + required this.screenType}); + + @override + final String tenantId; + @override + final String contractNumber; + @override + final String measurementNumber; + @override + final MBScreen screenType; + + @override + String toString() { + return 'MeasurementDetailBlocEvent.create(tenantId: $tenantId, contractNumber: $contractNumber, measurementNumber: $measurementNumber, screenType: $screenType)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$MeasurementDetailBookBlocEvent && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.contractNumber, contractNumber) || + other.contractNumber == contractNumber) && + (identical(other.measurementNumber, measurementNumber) || + other.measurementNumber == measurementNumber) && + (identical(other.screenType, screenType) || + other.screenType == screenType)); + } + + @override + int get hashCode => Object.hash( + runtimeType, tenantId, contractNumber, measurementNumber, screenType); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$MeasurementDetailBookBlocEventCopyWith<_$MeasurementDetailBookBlocEvent> + get copyWith => __$$MeasurementDetailBookBlocEventCopyWithImpl< + _$MeasurementDetailBookBlocEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + String tenantId, List workflowDocument) + uploadDocument, + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + create, + required TResult Function() clear, + required TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single) + addToMeasurementLineList, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity) + updateToMeasurementLineList, + required TResult Function(bool updateView) updateViewMode, + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + cancelUpdate, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId) + submitLine, + required TResult Function(int updateCode) updateMsgCode, + required TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId) + deleteMeasurementLine, + }) { + return create(tenantId, contractNumber, measurementNumber, screenType); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult? Function()? clear, + TResult? Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult? Function(bool updateView)? updateViewMode, + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult? Function(int updateCode)? updateMsgCode, + TResult? Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + }) { + return create?.call( + tenantId, contractNumber, measurementNumber, screenType); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult Function()? clear, + TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult Function(bool updateView)? updateViewMode, + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult Function(int updateCode)? updateMsgCode, + TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + required TResult orElse(), + }) { + if (create != null) { + return create(tenantId, contractNumber, measurementNumber, screenType); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementUploadDocumentBlocEvent value) + uploadDocument, + required TResult Function(MeasurementDetailBookBlocEvent value) create, + required TResult Function(MeasurementDetailBlocClearEvent value) clear, + required TResult Function(AddToMeasurementLineEvent value) + addToMeasurementLineList, + required TResult Function(UpdateToMeasurementLineEvent value) + updateToMeasurementLineList, + required TResult Function(UpdateViewModeEvent value) updateViewMode, + required TResult Function(CancelUpdateEvent value) cancelUpdate, + required TResult Function(SubmitLineEvent value) submitLine, + required TResult Function(UpdateMsgCodeEvent value) updateMsgCode, + required TResult Function(DeleteMeasurementLineEvent value) + deleteMeasurementLine, + }) { + return create(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult? Function(MeasurementDetailBookBlocEvent value)? create, + TResult? Function(MeasurementDetailBlocClearEvent value)? clear, + TResult? Function(AddToMeasurementLineEvent value)? + addToMeasurementLineList, + TResult? Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult? Function(UpdateViewModeEvent value)? updateViewMode, + TResult? Function(CancelUpdateEvent value)? cancelUpdate, + TResult? Function(SubmitLineEvent value)? submitLine, + TResult? Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult? Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + }) { + return create?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult Function(MeasurementDetailBookBlocEvent value)? create, + TResult Function(MeasurementDetailBlocClearEvent value)? clear, + TResult Function(AddToMeasurementLineEvent value)? addToMeasurementLineList, + TResult Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult Function(UpdateViewModeEvent value)? updateViewMode, + TResult Function(CancelUpdateEvent value)? cancelUpdate, + TResult Function(SubmitLineEvent value)? submitLine, + TResult Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + required TResult orElse(), + }) { + if (create != null) { + return create(this); + } + return orElse(); + } +} + +abstract class MeasurementDetailBookBlocEvent + implements MeasurementDetailBlocEvent { + const factory MeasurementDetailBookBlocEvent( + {required final String tenantId, + required final String contractNumber, + required final String measurementNumber, + required final MBScreen screenType}) = _$MeasurementDetailBookBlocEvent; + + String get tenantId; + String get contractNumber; + String get measurementNumber; + MBScreen get screenType; + @JsonKey(ignore: true) + _$$MeasurementDetailBookBlocEventCopyWith<_$MeasurementDetailBookBlocEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$MeasurementDetailBlocClearEventCopyWith<$Res> { + factory _$$MeasurementDetailBlocClearEventCopyWith( + _$MeasurementDetailBlocClearEvent value, + $Res Function(_$MeasurementDetailBlocClearEvent) then) = + __$$MeasurementDetailBlocClearEventCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$MeasurementDetailBlocClearEventCopyWithImpl<$Res> + extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, + _$MeasurementDetailBlocClearEvent> + implements _$$MeasurementDetailBlocClearEventCopyWith<$Res> { + __$$MeasurementDetailBlocClearEventCopyWithImpl( + _$MeasurementDetailBlocClearEvent _value, + $Res Function(_$MeasurementDetailBlocClearEvent) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$MeasurementDetailBlocClearEvent + implements MeasurementDetailBlocClearEvent { + const _$MeasurementDetailBlocClearEvent(); + + @override + String toString() { + return 'MeasurementDetailBlocEvent.clear()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$MeasurementDetailBlocClearEvent); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + String tenantId, List workflowDocument) + uploadDocument, + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + create, + required TResult Function() clear, + required TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single) + addToMeasurementLineList, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity) + updateToMeasurementLineList, + required TResult Function(bool updateView) updateViewMode, + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + cancelUpdate, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId) + submitLine, + required TResult Function(int updateCode) updateMsgCode, + required TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId) + deleteMeasurementLine, + }) { + return clear(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult? Function()? clear, + TResult? Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult? Function(bool updateView)? updateViewMode, + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult? Function(int updateCode)? updateMsgCode, + TResult? Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + }) { + return clear?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult Function()? clear, + TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult Function(bool updateView)? updateViewMode, + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult Function(int updateCode)? updateMsgCode, + TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + required TResult orElse(), + }) { + if (clear != null) { + return clear(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementUploadDocumentBlocEvent value) + uploadDocument, + required TResult Function(MeasurementDetailBookBlocEvent value) create, + required TResult Function(MeasurementDetailBlocClearEvent value) clear, + required TResult Function(AddToMeasurementLineEvent value) + addToMeasurementLineList, + required TResult Function(UpdateToMeasurementLineEvent value) + updateToMeasurementLineList, + required TResult Function(UpdateViewModeEvent value) updateViewMode, + required TResult Function(CancelUpdateEvent value) cancelUpdate, + required TResult Function(SubmitLineEvent value) submitLine, + required TResult Function(UpdateMsgCodeEvent value) updateMsgCode, + required TResult Function(DeleteMeasurementLineEvent value) + deleteMeasurementLine, + }) { + return clear(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult? Function(MeasurementDetailBookBlocEvent value)? create, + TResult? Function(MeasurementDetailBlocClearEvent value)? clear, + TResult? Function(AddToMeasurementLineEvent value)? + addToMeasurementLineList, + TResult? Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult? Function(UpdateViewModeEvent value)? updateViewMode, + TResult? Function(CancelUpdateEvent value)? cancelUpdate, + TResult? Function(SubmitLineEvent value)? submitLine, + TResult? Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult? Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + }) { + return clear?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult Function(MeasurementDetailBookBlocEvent value)? create, + TResult Function(MeasurementDetailBlocClearEvent value)? clear, + TResult Function(AddToMeasurementLineEvent value)? addToMeasurementLineList, + TResult Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult Function(UpdateViewModeEvent value)? updateViewMode, + TResult Function(CancelUpdateEvent value)? cancelUpdate, + TResult Function(SubmitLineEvent value)? submitLine, + TResult Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + required TResult orElse(), + }) { + if (clear != null) { + return clear(this); + } + return orElse(); + } +} + +abstract class MeasurementDetailBlocClearEvent + implements MeasurementDetailBlocEvent { + const factory MeasurementDetailBlocClearEvent() = + _$MeasurementDetailBlocClearEvent; +} + +/// @nodoc +abstract class _$$AddToMeasurementLineEventCopyWith<$Res> { + factory _$$AddToMeasurementLineEventCopyWith( + _$AddToMeasurementLineEvent value, + $Res Function(_$AddToMeasurementLineEvent) then) = + __$$AddToMeasurementLineEventCopyWithImpl<$Res>; + @useResult + $Res call( + {String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single}); +} + +/// @nodoc +class __$$AddToMeasurementLineEventCopyWithImpl<$Res> + extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, + _$AddToMeasurementLineEvent> + implements _$$AddToMeasurementLineEventCopyWith<$Res> { + __$$AddToMeasurementLineEventCopyWithImpl(_$AddToMeasurementLineEvent _value, + $Res Function(_$AddToMeasurementLineEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? sorId = null, + Object? type = null, + Object? index = freezed, + Object? measurementLineIndex = freezed, + Object? filteredMeasurementMeasureId = freezed, + Object? height = freezed, + Object? width = freezed, + Object? length = freezed, + Object? number = freezed, + Object? quantity = freezed, + Object? single = null, + }) { + return _then(_$AddToMeasurementLineEvent( + sorId: null == sorId + ? _value.sorId + : sorId // ignore: cast_nullable_to_non_nullable + as String, + type: null == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String, + index: freezed == index + ? _value.index + : index // ignore: cast_nullable_to_non_nullable + as int?, + measurementLineIndex: freezed == measurementLineIndex + ? _value.measurementLineIndex + : measurementLineIndex // ignore: cast_nullable_to_non_nullable + as int?, + filteredMeasurementMeasureId: freezed == filteredMeasurementMeasureId + ? _value.filteredMeasurementMeasureId + : filteredMeasurementMeasureId // ignore: cast_nullable_to_non_nullable + as String?, + height: freezed == height + ? _value.height + : height // ignore: cast_nullable_to_non_nullable + as dynamic, + width: freezed == width + ? _value.width + : width // ignore: cast_nullable_to_non_nullable + as dynamic, + length: freezed == length + ? _value.length + : length // ignore: cast_nullable_to_non_nullable + as dynamic, + number: freezed == number + ? _value.number + : number // ignore: cast_nullable_to_non_nullable + as dynamic, + quantity: freezed == quantity + ? _value.quantity + : quantity // ignore: cast_nullable_to_non_nullable + as dynamic, + single: null == single + ? _value.single + : single // ignore: cast_nullable_to_non_nullable + as bool, + )); + } +} + +/// @nodoc + +class _$AddToMeasurementLineEvent implements AddToMeasurementLineEvent { + const _$AddToMeasurementLineEvent( + {required this.sorId, + required this.type, + this.index, + this.measurementLineIndex, + this.filteredMeasurementMeasureId, + this.height, + this.width, + this.length, + this.number, + this.quantity, + required this.single}); + + @override + final String sorId; + @override + final String type; + @override + final int? index; + @override + final int? measurementLineIndex; + @override + final String? filteredMeasurementMeasureId; + @override + final dynamic height; + @override + final dynamic width; + @override + final dynamic length; + @override + final dynamic number; + @override + final dynamic quantity; + @override + final bool single; + + @override + String toString() { + return 'MeasurementDetailBlocEvent.addToMeasurementLineList(sorId: $sorId, type: $type, index: $index, measurementLineIndex: $measurementLineIndex, filteredMeasurementMeasureId: $filteredMeasurementMeasureId, height: $height, width: $width, length: $length, number: $number, quantity: $quantity, single: $single)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$AddToMeasurementLineEvent && + (identical(other.sorId, sorId) || other.sorId == sorId) && + (identical(other.type, type) || other.type == type) && + (identical(other.index, index) || other.index == index) && + (identical(other.measurementLineIndex, measurementLineIndex) || + other.measurementLineIndex == measurementLineIndex) && + (identical(other.filteredMeasurementMeasureId, + filteredMeasurementMeasureId) || + other.filteredMeasurementMeasureId == + filteredMeasurementMeasureId) && + const DeepCollectionEquality().equals(other.height, height) && + const DeepCollectionEquality().equals(other.width, width) && + const DeepCollectionEquality().equals(other.length, length) && + const DeepCollectionEquality().equals(other.number, number) && + const DeepCollectionEquality().equals(other.quantity, quantity) && + (identical(other.single, single) || other.single == single)); + } + + @override + int get hashCode => Object.hash( + runtimeType, + sorId, + type, + index, + measurementLineIndex, + filteredMeasurementMeasureId, + const DeepCollectionEquality().hash(height), + const DeepCollectionEquality().hash(width), + const DeepCollectionEquality().hash(length), + const DeepCollectionEquality().hash(number), + const DeepCollectionEquality().hash(quantity), + single); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$AddToMeasurementLineEventCopyWith<_$AddToMeasurementLineEvent> + get copyWith => __$$AddToMeasurementLineEventCopyWithImpl< + _$AddToMeasurementLineEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + String tenantId, List workflowDocument) + uploadDocument, + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + create, + required TResult Function() clear, + required TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single) + addToMeasurementLineList, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity) + updateToMeasurementLineList, + required TResult Function(bool updateView) updateViewMode, + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + cancelUpdate, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId) + submitLine, + required TResult Function(int updateCode) updateMsgCode, + required TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId) + deleteMeasurementLine, + }) { + return addToMeasurementLineList( + sorId, + type, + index, + measurementLineIndex, + filteredMeasurementMeasureId, + height, + width, + length, + number, + quantity, + single); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult? Function()? clear, + TResult? Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult? Function(bool updateView)? updateViewMode, + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult? Function(int updateCode)? updateMsgCode, + TResult? Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + }) { + return addToMeasurementLineList?.call( + sorId, + type, + index, + measurementLineIndex, + filteredMeasurementMeasureId, + height, + width, + length, + number, + quantity, + single); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult Function()? clear, + TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult Function(bool updateView)? updateViewMode, + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult Function(int updateCode)? updateMsgCode, + TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + required TResult orElse(), + }) { + if (addToMeasurementLineList != null) { + return addToMeasurementLineList( + sorId, + type, + index, + measurementLineIndex, + filteredMeasurementMeasureId, + height, + width, + length, + number, + quantity, + single); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementUploadDocumentBlocEvent value) + uploadDocument, + required TResult Function(MeasurementDetailBookBlocEvent value) create, + required TResult Function(MeasurementDetailBlocClearEvent value) clear, + required TResult Function(AddToMeasurementLineEvent value) + addToMeasurementLineList, + required TResult Function(UpdateToMeasurementLineEvent value) + updateToMeasurementLineList, + required TResult Function(UpdateViewModeEvent value) updateViewMode, + required TResult Function(CancelUpdateEvent value) cancelUpdate, + required TResult Function(SubmitLineEvent value) submitLine, + required TResult Function(UpdateMsgCodeEvent value) updateMsgCode, + required TResult Function(DeleteMeasurementLineEvent value) + deleteMeasurementLine, + }) { + return addToMeasurementLineList(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult? Function(MeasurementDetailBookBlocEvent value)? create, + TResult? Function(MeasurementDetailBlocClearEvent value)? clear, + TResult? Function(AddToMeasurementLineEvent value)? + addToMeasurementLineList, + TResult? Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult? Function(UpdateViewModeEvent value)? updateViewMode, + TResult? Function(CancelUpdateEvent value)? cancelUpdate, + TResult? Function(SubmitLineEvent value)? submitLine, + TResult? Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult? Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + }) { + return addToMeasurementLineList?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult Function(MeasurementDetailBookBlocEvent value)? create, + TResult Function(MeasurementDetailBlocClearEvent value)? clear, + TResult Function(AddToMeasurementLineEvent value)? addToMeasurementLineList, + TResult Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult Function(UpdateViewModeEvent value)? updateViewMode, + TResult Function(CancelUpdateEvent value)? cancelUpdate, + TResult Function(SubmitLineEvent value)? submitLine, + TResult Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + required TResult orElse(), + }) { + if (addToMeasurementLineList != null) { + return addToMeasurementLineList(this); + } + return orElse(); + } +} + +abstract class AddToMeasurementLineEvent implements MeasurementDetailBlocEvent { + const factory AddToMeasurementLineEvent( + {required final String sorId, + required final String type, + final int? index, + final int? measurementLineIndex, + final String? filteredMeasurementMeasureId, + final dynamic height, + final dynamic width, + final dynamic length, + final dynamic number, + final dynamic quantity, + required final bool single}) = _$AddToMeasurementLineEvent; + + String get sorId; + String get type; + int? get index; + int? get measurementLineIndex; + String? get filteredMeasurementMeasureId; + dynamic get height; + dynamic get width; + dynamic get length; + dynamic get number; + dynamic get quantity; + bool get single; + @JsonKey(ignore: true) + _$$AddToMeasurementLineEventCopyWith<_$AddToMeasurementLineEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$UpdateToMeasurementLineEventCopyWith<$Res> { + factory _$$UpdateToMeasurementLineEventCopyWith( + _$UpdateToMeasurementLineEvent value, + $Res Function(_$UpdateToMeasurementLineEvent) then) = + __$$UpdateToMeasurementLineEventCopyWithImpl<$Res>; + @useResult + $Res call( + {dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity}); +} + +/// @nodoc +class __$$UpdateToMeasurementLineEventCopyWithImpl<$Res> + extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, + _$UpdateToMeasurementLineEvent> + implements _$$UpdateToMeasurementLineEventCopyWith<$Res> { + __$$UpdateToMeasurementLineEventCopyWithImpl( + _$UpdateToMeasurementLineEvent _value, + $Res Function(_$UpdateToMeasurementLineEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? noOfUnit = freezed, + Object? cummulativePrevQty = freezed, + Object? sorId = null, + Object? type = null, + Object? index = freezed, + Object? measurementLineIndex = freezed, + Object? filteredMeasurementMeasureId = freezed, + Object? height = freezed, + Object? width = freezed, + Object? length = freezed, + Object? number = freezed, + Object? quantity = freezed, + }) { + return _then(_$UpdateToMeasurementLineEvent( + noOfUnit: freezed == noOfUnit + ? _value.noOfUnit + : noOfUnit // ignore: cast_nullable_to_non_nullable + as dynamic, + cummulativePrevQty: freezed == cummulativePrevQty + ? _value.cummulativePrevQty + : cummulativePrevQty // ignore: cast_nullable_to_non_nullable + as dynamic, + sorId: null == sorId + ? _value.sorId + : sorId // ignore: cast_nullable_to_non_nullable + as String, + type: null == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String, + index: freezed == index + ? _value.index + : index // ignore: cast_nullable_to_non_nullable + as int?, + measurementLineIndex: freezed == measurementLineIndex + ? _value.measurementLineIndex + : measurementLineIndex // ignore: cast_nullable_to_non_nullable + as int?, + filteredMeasurementMeasureId: freezed == filteredMeasurementMeasureId + ? _value.filteredMeasurementMeasureId + : filteredMeasurementMeasureId // ignore: cast_nullable_to_non_nullable + as String?, + height: freezed == height + ? _value.height + : height // ignore: cast_nullable_to_non_nullable + as dynamic, + width: freezed == width + ? _value.width + : width // ignore: cast_nullable_to_non_nullable + as dynamic, + length: freezed == length + ? _value.length + : length // ignore: cast_nullable_to_non_nullable + as dynamic, + number: freezed == number + ? _value.number + : number // ignore: cast_nullable_to_non_nullable + as dynamic, + quantity: freezed == quantity + ? _value.quantity + : quantity // ignore: cast_nullable_to_non_nullable + as dynamic, + )); + } +} + +/// @nodoc + +class _$UpdateToMeasurementLineEvent implements UpdateToMeasurementLineEvent { + const _$UpdateToMeasurementLineEvent( + {required this.noOfUnit, + required this.cummulativePrevQty, + required this.sorId, + required this.type, + this.index, + this.measurementLineIndex, + this.filteredMeasurementMeasureId, + this.height, + this.width, + this.length, + this.number, + this.quantity}); + + @override + final dynamic noOfUnit; + @override + final dynamic cummulativePrevQty; + @override + final String sorId; + @override + final String type; + @override + final int? index; + @override + final int? measurementLineIndex; + @override + final String? filteredMeasurementMeasureId; + @override + final dynamic height; + @override + final dynamic width; + @override + final dynamic length; + @override + final dynamic number; + @override + final dynamic quantity; + + @override + String toString() { + return 'MeasurementDetailBlocEvent.updateToMeasurementLineList(noOfUnit: $noOfUnit, cummulativePrevQty: $cummulativePrevQty, sorId: $sorId, type: $type, index: $index, measurementLineIndex: $measurementLineIndex, filteredMeasurementMeasureId: $filteredMeasurementMeasureId, height: $height, width: $width, length: $length, number: $number, quantity: $quantity)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$UpdateToMeasurementLineEvent && + const DeepCollectionEquality().equals(other.noOfUnit, noOfUnit) && + const DeepCollectionEquality() + .equals(other.cummulativePrevQty, cummulativePrevQty) && + (identical(other.sorId, sorId) || other.sorId == sorId) && + (identical(other.type, type) || other.type == type) && + (identical(other.index, index) || other.index == index) && + (identical(other.measurementLineIndex, measurementLineIndex) || + other.measurementLineIndex == measurementLineIndex) && + (identical(other.filteredMeasurementMeasureId, + filteredMeasurementMeasureId) || + other.filteredMeasurementMeasureId == + filteredMeasurementMeasureId) && + const DeepCollectionEquality().equals(other.height, height) && + const DeepCollectionEquality().equals(other.width, width) && + const DeepCollectionEquality().equals(other.length, length) && + const DeepCollectionEquality().equals(other.number, number) && + const DeepCollectionEquality().equals(other.quantity, quantity)); + } + + @override + int get hashCode => Object.hash( + runtimeType, + const DeepCollectionEquality().hash(noOfUnit), + const DeepCollectionEquality().hash(cummulativePrevQty), + sorId, + type, + index, + measurementLineIndex, + filteredMeasurementMeasureId, + const DeepCollectionEquality().hash(height), + const DeepCollectionEquality().hash(width), + const DeepCollectionEquality().hash(length), + const DeepCollectionEquality().hash(number), + const DeepCollectionEquality().hash(quantity)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$UpdateToMeasurementLineEventCopyWith<_$UpdateToMeasurementLineEvent> + get copyWith => __$$UpdateToMeasurementLineEventCopyWithImpl< + _$UpdateToMeasurementLineEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + String tenantId, List workflowDocument) + uploadDocument, + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + create, + required TResult Function() clear, + required TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single) + addToMeasurementLineList, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity) + updateToMeasurementLineList, + required TResult Function(bool updateView) updateViewMode, + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + cancelUpdate, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId) + submitLine, + required TResult Function(int updateCode) updateMsgCode, + required TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId) + deleteMeasurementLine, + }) { + return updateToMeasurementLineList( + noOfUnit, + cummulativePrevQty, + sorId, + type, + index, + measurementLineIndex, + filteredMeasurementMeasureId, + height, + width, + length, + number, + quantity); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult? Function()? clear, + TResult? Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult? Function(bool updateView)? updateViewMode, + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult? Function(int updateCode)? updateMsgCode, + TResult? Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + }) { + return updateToMeasurementLineList?.call( + noOfUnit, + cummulativePrevQty, + sorId, + type, + index, + measurementLineIndex, + filteredMeasurementMeasureId, + height, + width, + length, + number, + quantity); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult Function()? clear, + TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult Function(bool updateView)? updateViewMode, + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult Function(int updateCode)? updateMsgCode, + TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + required TResult orElse(), + }) { + if (updateToMeasurementLineList != null) { + return updateToMeasurementLineList( + noOfUnit, + cummulativePrevQty, + sorId, + type, + index, + measurementLineIndex, + filteredMeasurementMeasureId, + height, + width, + length, + number, + quantity); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementUploadDocumentBlocEvent value) + uploadDocument, + required TResult Function(MeasurementDetailBookBlocEvent value) create, + required TResult Function(MeasurementDetailBlocClearEvent value) clear, + required TResult Function(AddToMeasurementLineEvent value) + addToMeasurementLineList, + required TResult Function(UpdateToMeasurementLineEvent value) + updateToMeasurementLineList, + required TResult Function(UpdateViewModeEvent value) updateViewMode, + required TResult Function(CancelUpdateEvent value) cancelUpdate, + required TResult Function(SubmitLineEvent value) submitLine, + required TResult Function(UpdateMsgCodeEvent value) updateMsgCode, + required TResult Function(DeleteMeasurementLineEvent value) + deleteMeasurementLine, + }) { + return updateToMeasurementLineList(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult? Function(MeasurementDetailBookBlocEvent value)? create, + TResult? Function(MeasurementDetailBlocClearEvent value)? clear, + TResult? Function(AddToMeasurementLineEvent value)? + addToMeasurementLineList, + TResult? Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult? Function(UpdateViewModeEvent value)? updateViewMode, + TResult? Function(CancelUpdateEvent value)? cancelUpdate, + TResult? Function(SubmitLineEvent value)? submitLine, + TResult? Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult? Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + }) { + return updateToMeasurementLineList?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult Function(MeasurementDetailBookBlocEvent value)? create, + TResult Function(MeasurementDetailBlocClearEvent value)? clear, + TResult Function(AddToMeasurementLineEvent value)? addToMeasurementLineList, + TResult Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult Function(UpdateViewModeEvent value)? updateViewMode, + TResult Function(CancelUpdateEvent value)? cancelUpdate, + TResult Function(SubmitLineEvent value)? submitLine, + TResult Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + required TResult orElse(), + }) { + if (updateToMeasurementLineList != null) { + return updateToMeasurementLineList(this); + } + return orElse(); + } +} + +abstract class UpdateToMeasurementLineEvent + implements MeasurementDetailBlocEvent { + const factory UpdateToMeasurementLineEvent( + {required final dynamic noOfUnit, + required final dynamic cummulativePrevQty, + required final String sorId, + required final String type, + final int? index, + final int? measurementLineIndex, + final String? filteredMeasurementMeasureId, + final dynamic height, + final dynamic width, + final dynamic length, + final dynamic number, + final dynamic quantity}) = _$UpdateToMeasurementLineEvent; + + dynamic get noOfUnit; + dynamic get cummulativePrevQty; + String get sorId; + String get type; + int? get index; + int? get measurementLineIndex; + String? get filteredMeasurementMeasureId; + dynamic get height; + dynamic get width; + dynamic get length; + dynamic get number; + dynamic get quantity; + @JsonKey(ignore: true) + _$$UpdateToMeasurementLineEventCopyWith<_$UpdateToMeasurementLineEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$UpdateViewModeEventCopyWith<$Res> { + factory _$$UpdateViewModeEventCopyWith(_$UpdateViewModeEvent value, + $Res Function(_$UpdateViewModeEvent) then) = + __$$UpdateViewModeEventCopyWithImpl<$Res>; + @useResult + $Res call({bool updateView}); +} + +/// @nodoc +class __$$UpdateViewModeEventCopyWithImpl<$Res> + extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, + _$UpdateViewModeEvent> implements _$$UpdateViewModeEventCopyWith<$Res> { + __$$UpdateViewModeEventCopyWithImpl( + _$UpdateViewModeEvent _value, $Res Function(_$UpdateViewModeEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? updateView = null, + }) { + return _then(_$UpdateViewModeEvent( + updateView: null == updateView + ? _value.updateView + : updateView // ignore: cast_nullable_to_non_nullable + as bool, + )); + } +} + +/// @nodoc + +class _$UpdateViewModeEvent implements UpdateViewModeEvent { + const _$UpdateViewModeEvent({required this.updateView}); + + @override + final bool updateView; + + @override + String toString() { + return 'MeasurementDetailBlocEvent.updateViewMode(updateView: $updateView)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$UpdateViewModeEvent && + (identical(other.updateView, updateView) || + other.updateView == updateView)); + } + + @override + int get hashCode => Object.hash(runtimeType, updateView); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$UpdateViewModeEventCopyWith<_$UpdateViewModeEvent> get copyWith => + __$$UpdateViewModeEventCopyWithImpl<_$UpdateViewModeEvent>( + this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + String tenantId, List workflowDocument) + uploadDocument, + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + create, + required TResult Function() clear, + required TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single) + addToMeasurementLineList, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity) + updateToMeasurementLineList, + required TResult Function(bool updateView) updateViewMode, + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + cancelUpdate, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId) + submitLine, + required TResult Function(int updateCode) updateMsgCode, + required TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId) + deleteMeasurementLine, + }) { + return updateViewMode(updateView); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult? Function()? clear, + TResult? Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult? Function(bool updateView)? updateViewMode, + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult? Function(int updateCode)? updateMsgCode, + TResult? Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + }) { + return updateViewMode?.call(updateView); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult Function()? clear, + TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult Function(bool updateView)? updateViewMode, + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult Function(int updateCode)? updateMsgCode, + TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + required TResult orElse(), + }) { + if (updateViewMode != null) { + return updateViewMode(updateView); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementUploadDocumentBlocEvent value) + uploadDocument, + required TResult Function(MeasurementDetailBookBlocEvent value) create, + required TResult Function(MeasurementDetailBlocClearEvent value) clear, + required TResult Function(AddToMeasurementLineEvent value) + addToMeasurementLineList, + required TResult Function(UpdateToMeasurementLineEvent value) + updateToMeasurementLineList, + required TResult Function(UpdateViewModeEvent value) updateViewMode, + required TResult Function(CancelUpdateEvent value) cancelUpdate, + required TResult Function(SubmitLineEvent value) submitLine, + required TResult Function(UpdateMsgCodeEvent value) updateMsgCode, + required TResult Function(DeleteMeasurementLineEvent value) + deleteMeasurementLine, + }) { + return updateViewMode(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult? Function(MeasurementDetailBookBlocEvent value)? create, + TResult? Function(MeasurementDetailBlocClearEvent value)? clear, + TResult? Function(AddToMeasurementLineEvent value)? + addToMeasurementLineList, + TResult? Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult? Function(UpdateViewModeEvent value)? updateViewMode, + TResult? Function(CancelUpdateEvent value)? cancelUpdate, + TResult? Function(SubmitLineEvent value)? submitLine, + TResult? Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult? Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + }) { + return updateViewMode?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult Function(MeasurementDetailBookBlocEvent value)? create, + TResult Function(MeasurementDetailBlocClearEvent value)? clear, + TResult Function(AddToMeasurementLineEvent value)? addToMeasurementLineList, + TResult Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult Function(UpdateViewModeEvent value)? updateViewMode, + TResult Function(CancelUpdateEvent value)? cancelUpdate, + TResult Function(SubmitLineEvent value)? submitLine, + TResult Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + required TResult orElse(), + }) { + if (updateViewMode != null) { + return updateViewMode(this); + } + return orElse(); + } +} + +abstract class UpdateViewModeEvent implements MeasurementDetailBlocEvent { + const factory UpdateViewModeEvent({required final bool updateView}) = + _$UpdateViewModeEvent; + + bool get updateView; + @JsonKey(ignore: true) + _$$UpdateViewModeEventCopyWith<_$UpdateViewModeEvent> get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$CancelUpdateEventCopyWith<$Res> { + factory _$$CancelUpdateEventCopyWith( + _$CancelUpdateEvent value, $Res Function(_$CancelUpdateEvent) then) = + __$$CancelUpdateEventCopyWithImpl<$Res>; + @useResult + $Res call( + {bool cancelUpdate, + String sorId, + dynamic filteredMeasurementsMeasureId, + String type}); +} + +/// @nodoc +class __$$CancelUpdateEventCopyWithImpl<$Res> + extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, _$CancelUpdateEvent> + implements _$$CancelUpdateEventCopyWith<$Res> { + __$$CancelUpdateEventCopyWithImpl( + _$CancelUpdateEvent _value, $Res Function(_$CancelUpdateEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? cancelUpdate = null, + Object? sorId = null, + Object? filteredMeasurementsMeasureId = freezed, + Object? type = null, + }) { + return _then(_$CancelUpdateEvent( + cancelUpdate: null == cancelUpdate + ? _value.cancelUpdate + : cancelUpdate // ignore: cast_nullable_to_non_nullable + as bool, + sorId: null == sorId + ? _value.sorId + : sorId // ignore: cast_nullable_to_non_nullable + as String, + filteredMeasurementsMeasureId: freezed == filteredMeasurementsMeasureId + ? _value.filteredMeasurementsMeasureId + : filteredMeasurementsMeasureId // ignore: cast_nullable_to_non_nullable + as dynamic, + type: null == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +/// @nodoc + +class _$CancelUpdateEvent implements CancelUpdateEvent { + const _$CancelUpdateEvent( + {required this.cancelUpdate, + required this.sorId, + required this.filteredMeasurementsMeasureId, + required this.type}); + + @override + final bool cancelUpdate; + @override + final String sorId; + @override + final dynamic filteredMeasurementsMeasureId; + @override + final String type; + + @override + String toString() { + return 'MeasurementDetailBlocEvent.cancelUpdate(cancelUpdate: $cancelUpdate, sorId: $sorId, filteredMeasurementsMeasureId: $filteredMeasurementsMeasureId, type: $type)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$CancelUpdateEvent && + (identical(other.cancelUpdate, cancelUpdate) || + other.cancelUpdate == cancelUpdate) && + (identical(other.sorId, sorId) || other.sorId == sorId) && + const DeepCollectionEquality().equals( + other.filteredMeasurementsMeasureId, + filteredMeasurementsMeasureId) && + (identical(other.type, type) || other.type == type)); + } + + @override + int get hashCode => Object.hash(runtimeType, cancelUpdate, sorId, + const DeepCollectionEquality().hash(filteredMeasurementsMeasureId), type); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$CancelUpdateEventCopyWith<_$CancelUpdateEvent> get copyWith => + __$$CancelUpdateEventCopyWithImpl<_$CancelUpdateEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + String tenantId, List workflowDocument) + uploadDocument, + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + create, + required TResult Function() clear, + required TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single) + addToMeasurementLineList, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity) + updateToMeasurementLineList, + required TResult Function(bool updateView) updateViewMode, + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + cancelUpdate, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId) + submitLine, + required TResult Function(int updateCode) updateMsgCode, + required TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId) + deleteMeasurementLine, + }) { + return cancelUpdate( + this.cancelUpdate, sorId, filteredMeasurementsMeasureId, type); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult? Function()? clear, + TResult? Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult? Function(bool updateView)? updateViewMode, + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult? Function(int updateCode)? updateMsgCode, + TResult? Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + }) { + return cancelUpdate?.call( + this.cancelUpdate, sorId, filteredMeasurementsMeasureId, type); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult Function()? clear, + TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult Function(bool updateView)? updateViewMode, + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult Function(int updateCode)? updateMsgCode, + TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + required TResult orElse(), + }) { + if (cancelUpdate != null) { + return cancelUpdate( + this.cancelUpdate, sorId, filteredMeasurementsMeasureId, type); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementUploadDocumentBlocEvent value) + uploadDocument, + required TResult Function(MeasurementDetailBookBlocEvent value) create, + required TResult Function(MeasurementDetailBlocClearEvent value) clear, + required TResult Function(AddToMeasurementLineEvent value) + addToMeasurementLineList, + required TResult Function(UpdateToMeasurementLineEvent value) + updateToMeasurementLineList, + required TResult Function(UpdateViewModeEvent value) updateViewMode, + required TResult Function(CancelUpdateEvent value) cancelUpdate, + required TResult Function(SubmitLineEvent value) submitLine, + required TResult Function(UpdateMsgCodeEvent value) updateMsgCode, + required TResult Function(DeleteMeasurementLineEvent value) + deleteMeasurementLine, + }) { + return cancelUpdate(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult? Function(MeasurementDetailBookBlocEvent value)? create, + TResult? Function(MeasurementDetailBlocClearEvent value)? clear, + TResult? Function(AddToMeasurementLineEvent value)? + addToMeasurementLineList, + TResult? Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult? Function(UpdateViewModeEvent value)? updateViewMode, + TResult? Function(CancelUpdateEvent value)? cancelUpdate, + TResult? Function(SubmitLineEvent value)? submitLine, + TResult? Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult? Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + }) { + return cancelUpdate?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult Function(MeasurementDetailBookBlocEvent value)? create, + TResult Function(MeasurementDetailBlocClearEvent value)? clear, + TResult Function(AddToMeasurementLineEvent value)? addToMeasurementLineList, + TResult Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult Function(UpdateViewModeEvent value)? updateViewMode, + TResult Function(CancelUpdateEvent value)? cancelUpdate, + TResult Function(SubmitLineEvent value)? submitLine, + TResult Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + required TResult orElse(), + }) { + if (cancelUpdate != null) { + return cancelUpdate(this); + } + return orElse(); + } +} + +abstract class CancelUpdateEvent implements MeasurementDetailBlocEvent { + const factory CancelUpdateEvent( + {required final bool cancelUpdate, + required final String sorId, + required final dynamic filteredMeasurementsMeasureId, + required final String type}) = _$CancelUpdateEvent; + + bool get cancelUpdate; + String get sorId; + dynamic get filteredMeasurementsMeasureId; + String get type; + @JsonKey(ignore: true) + _$$CancelUpdateEventCopyWith<_$CancelUpdateEvent> get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$SubmitLineEventCopyWith<$Res> { + factory _$$SubmitLineEventCopyWith( + _$SubmitLineEvent value, $Res Function(_$SubmitLineEvent) then) = + __$$SubmitLineEventCopyWithImpl<$Res>; + @useResult + $Res call( + {dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId}); +} + +/// @nodoc +class __$$SubmitLineEventCopyWithImpl<$Res> + extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, _$SubmitLineEvent> + implements _$$SubmitLineEventCopyWith<$Res> { + __$$SubmitLineEventCopyWithImpl( + _$SubmitLineEvent _value, $Res Function(_$SubmitLineEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? noOfUnit = freezed, + Object? cummulativePrevQty = freezed, + Object? sorId = null, + Object? type = null, + Object? index = freezed, + Object? measurementLineIndex = freezed, + Object? filteredMeasurementMeasureId = freezed, + }) { + return _then(_$SubmitLineEvent( + noOfUnit: freezed == noOfUnit + ? _value.noOfUnit + : noOfUnit // ignore: cast_nullable_to_non_nullable + as dynamic, + cummulativePrevQty: freezed == cummulativePrevQty + ? _value.cummulativePrevQty + : cummulativePrevQty // ignore: cast_nullable_to_non_nullable + as dynamic, + sorId: null == sorId + ? _value.sorId + : sorId // ignore: cast_nullable_to_non_nullable + as String, + type: null == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String, + index: freezed == index + ? _value.index + : index // ignore: cast_nullable_to_non_nullable + as int?, + measurementLineIndex: freezed == measurementLineIndex + ? _value.measurementLineIndex + : measurementLineIndex // ignore: cast_nullable_to_non_nullable + as int?, + filteredMeasurementMeasureId: freezed == filteredMeasurementMeasureId + ? _value.filteredMeasurementMeasureId + : filteredMeasurementMeasureId // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc + +class _$SubmitLineEvent implements SubmitLineEvent { + const _$SubmitLineEvent( + {required this.noOfUnit, + required this.cummulativePrevQty, + required this.sorId, + required this.type, + this.index, + this.measurementLineIndex, + this.filteredMeasurementMeasureId}); + + @override + final dynamic noOfUnit; + @override + final dynamic cummulativePrevQty; + @override + final String sorId; + @override + final String type; + @override + final int? index; + @override + final int? measurementLineIndex; + @override + final String? filteredMeasurementMeasureId; + + @override + String toString() { + return 'MeasurementDetailBlocEvent.submitLine(noOfUnit: $noOfUnit, cummulativePrevQty: $cummulativePrevQty, sorId: $sorId, type: $type, index: $index, measurementLineIndex: $measurementLineIndex, filteredMeasurementMeasureId: $filteredMeasurementMeasureId)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$SubmitLineEvent && + const DeepCollectionEquality().equals(other.noOfUnit, noOfUnit) && + const DeepCollectionEquality() + .equals(other.cummulativePrevQty, cummulativePrevQty) && + (identical(other.sorId, sorId) || other.sorId == sorId) && + (identical(other.type, type) || other.type == type) && + (identical(other.index, index) || other.index == index) && + (identical(other.measurementLineIndex, measurementLineIndex) || + other.measurementLineIndex == measurementLineIndex) && + (identical(other.filteredMeasurementMeasureId, + filteredMeasurementMeasureId) || + other.filteredMeasurementMeasureId == + filteredMeasurementMeasureId)); + } + + @override + int get hashCode => Object.hash( + runtimeType, + const DeepCollectionEquality().hash(noOfUnit), + const DeepCollectionEquality().hash(cummulativePrevQty), + sorId, + type, + index, + measurementLineIndex, + filteredMeasurementMeasureId); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$SubmitLineEventCopyWith<_$SubmitLineEvent> get copyWith => + __$$SubmitLineEventCopyWithImpl<_$SubmitLineEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + String tenantId, List workflowDocument) + uploadDocument, + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + create, + required TResult Function() clear, + required TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single) + addToMeasurementLineList, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity) + updateToMeasurementLineList, + required TResult Function(bool updateView) updateViewMode, + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + cancelUpdate, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId) + submitLine, + required TResult Function(int updateCode) updateMsgCode, + required TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId) + deleteMeasurementLine, + }) { + return submitLine(noOfUnit, cummulativePrevQty, sorId, type, index, + measurementLineIndex, filteredMeasurementMeasureId); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult? Function()? clear, + TResult? Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult? Function(bool updateView)? updateViewMode, + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult? Function(int updateCode)? updateMsgCode, + TResult? Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + }) { + return submitLine?.call(noOfUnit, cummulativePrevQty, sorId, type, index, + measurementLineIndex, filteredMeasurementMeasureId); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult Function()? clear, + TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult Function(bool updateView)? updateViewMode, + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult Function(int updateCode)? updateMsgCode, + TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + required TResult orElse(), + }) { + if (submitLine != null) { + return submitLine(noOfUnit, cummulativePrevQty, sorId, type, index, + measurementLineIndex, filteredMeasurementMeasureId); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementUploadDocumentBlocEvent value) + uploadDocument, + required TResult Function(MeasurementDetailBookBlocEvent value) create, + required TResult Function(MeasurementDetailBlocClearEvent value) clear, + required TResult Function(AddToMeasurementLineEvent value) + addToMeasurementLineList, + required TResult Function(UpdateToMeasurementLineEvent value) + updateToMeasurementLineList, + required TResult Function(UpdateViewModeEvent value) updateViewMode, + required TResult Function(CancelUpdateEvent value) cancelUpdate, + required TResult Function(SubmitLineEvent value) submitLine, + required TResult Function(UpdateMsgCodeEvent value) updateMsgCode, + required TResult Function(DeleteMeasurementLineEvent value) + deleteMeasurementLine, + }) { + return submitLine(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult? Function(MeasurementDetailBookBlocEvent value)? create, + TResult? Function(MeasurementDetailBlocClearEvent value)? clear, + TResult? Function(AddToMeasurementLineEvent value)? + addToMeasurementLineList, + TResult? Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult? Function(UpdateViewModeEvent value)? updateViewMode, + TResult? Function(CancelUpdateEvent value)? cancelUpdate, + TResult? Function(SubmitLineEvent value)? submitLine, + TResult? Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult? Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + }) { + return submitLine?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult Function(MeasurementDetailBookBlocEvent value)? create, + TResult Function(MeasurementDetailBlocClearEvent value)? clear, + TResult Function(AddToMeasurementLineEvent value)? addToMeasurementLineList, + TResult Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult Function(UpdateViewModeEvent value)? updateViewMode, + TResult Function(CancelUpdateEvent value)? cancelUpdate, + TResult Function(SubmitLineEvent value)? submitLine, + TResult Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + required TResult orElse(), + }) { + if (submitLine != null) { + return submitLine(this); + } + return orElse(); + } +} + +abstract class SubmitLineEvent implements MeasurementDetailBlocEvent { + const factory SubmitLineEvent( + {required final dynamic noOfUnit, + required final dynamic cummulativePrevQty, + required final String sorId, + required final String type, + final int? index, + final int? measurementLineIndex, + final String? filteredMeasurementMeasureId}) = _$SubmitLineEvent; + + dynamic get noOfUnit; + dynamic get cummulativePrevQty; + String get sorId; + String get type; + int? get index; + int? get measurementLineIndex; + String? get filteredMeasurementMeasureId; + @JsonKey(ignore: true) + _$$SubmitLineEventCopyWith<_$SubmitLineEvent> get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$UpdateMsgCodeEventCopyWith<$Res> { + factory _$$UpdateMsgCodeEventCopyWith(_$UpdateMsgCodeEvent value, + $Res Function(_$UpdateMsgCodeEvent) then) = + __$$UpdateMsgCodeEventCopyWithImpl<$Res>; + @useResult + $Res call({int updateCode}); +} + +/// @nodoc +class __$$UpdateMsgCodeEventCopyWithImpl<$Res> + extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, _$UpdateMsgCodeEvent> + implements _$$UpdateMsgCodeEventCopyWith<$Res> { + __$$UpdateMsgCodeEventCopyWithImpl( + _$UpdateMsgCodeEvent _value, $Res Function(_$UpdateMsgCodeEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? updateCode = null, + }) { + return _then(_$UpdateMsgCodeEvent( + updateCode: null == updateCode + ? _value.updateCode + : updateCode // ignore: cast_nullable_to_non_nullable + as int, + )); + } +} + +/// @nodoc + +class _$UpdateMsgCodeEvent implements UpdateMsgCodeEvent { + const _$UpdateMsgCodeEvent({required this.updateCode}); + + @override + final int updateCode; + + @override + String toString() { + return 'MeasurementDetailBlocEvent.updateMsgCode(updateCode: $updateCode)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$UpdateMsgCodeEvent && + (identical(other.updateCode, updateCode) || + other.updateCode == updateCode)); + } + + @override + int get hashCode => Object.hash(runtimeType, updateCode); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$UpdateMsgCodeEventCopyWith<_$UpdateMsgCodeEvent> get copyWith => + __$$UpdateMsgCodeEventCopyWithImpl<_$UpdateMsgCodeEvent>( + this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + String tenantId, List workflowDocument) + uploadDocument, + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + create, + required TResult Function() clear, + required TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single) + addToMeasurementLineList, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity) + updateToMeasurementLineList, + required TResult Function(bool updateView) updateViewMode, + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + cancelUpdate, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId) + submitLine, + required TResult Function(int updateCode) updateMsgCode, + required TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId) + deleteMeasurementLine, + }) { + return updateMsgCode(updateCode); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult? Function()? clear, + TResult? Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult? Function(bool updateView)? updateViewMode, + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult? Function(int updateCode)? updateMsgCode, + TResult? Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + }) { + return updateMsgCode?.call(updateCode); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult Function()? clear, + TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult Function(bool updateView)? updateViewMode, + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult Function(int updateCode)? updateMsgCode, + TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + required TResult orElse(), + }) { + if (updateMsgCode != null) { + return updateMsgCode(updateCode); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementUploadDocumentBlocEvent value) + uploadDocument, + required TResult Function(MeasurementDetailBookBlocEvent value) create, + required TResult Function(MeasurementDetailBlocClearEvent value) clear, + required TResult Function(AddToMeasurementLineEvent value) + addToMeasurementLineList, + required TResult Function(UpdateToMeasurementLineEvent value) + updateToMeasurementLineList, + required TResult Function(UpdateViewModeEvent value) updateViewMode, + required TResult Function(CancelUpdateEvent value) cancelUpdate, + required TResult Function(SubmitLineEvent value) submitLine, + required TResult Function(UpdateMsgCodeEvent value) updateMsgCode, + required TResult Function(DeleteMeasurementLineEvent value) + deleteMeasurementLine, + }) { + return updateMsgCode(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult? Function(MeasurementDetailBookBlocEvent value)? create, + TResult? Function(MeasurementDetailBlocClearEvent value)? clear, + TResult? Function(AddToMeasurementLineEvent value)? + addToMeasurementLineList, + TResult? Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult? Function(UpdateViewModeEvent value)? updateViewMode, + TResult? Function(CancelUpdateEvent value)? cancelUpdate, + TResult? Function(SubmitLineEvent value)? submitLine, + TResult? Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult? Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + }) { + return updateMsgCode?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult Function(MeasurementDetailBookBlocEvent value)? create, + TResult Function(MeasurementDetailBlocClearEvent value)? clear, + TResult Function(AddToMeasurementLineEvent value)? addToMeasurementLineList, + TResult Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult Function(UpdateViewModeEvent value)? updateViewMode, + TResult Function(CancelUpdateEvent value)? cancelUpdate, + TResult Function(SubmitLineEvent value)? submitLine, + TResult Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + required TResult orElse(), + }) { + if (updateMsgCode != null) { + return updateMsgCode(this); + } + return orElse(); + } +} + +abstract class UpdateMsgCodeEvent implements MeasurementDetailBlocEvent { + const factory UpdateMsgCodeEvent({required final int updateCode}) = + _$UpdateMsgCodeEvent; + + int get updateCode; + @JsonKey(ignore: true) + _$$UpdateMsgCodeEventCopyWith<_$UpdateMsgCodeEvent> get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$DeleteMeasurementLineEventCopyWith<$Res> { + factory _$$DeleteMeasurementLineEventCopyWith( + _$DeleteMeasurementLineEvent value, + $Res Function(_$DeleteMeasurementLineEvent) then) = + __$$DeleteMeasurementLineEventCopyWithImpl<$Res>; + @useResult + $Res call( + {String sorId, + String type, + int index, + int measurementLineIndex, + String filteredMeasurementMeasureId}); +} + +/// @nodoc +class __$$DeleteMeasurementLineEventCopyWithImpl<$Res> + extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, + _$DeleteMeasurementLineEvent> + implements _$$DeleteMeasurementLineEventCopyWith<$Res> { + __$$DeleteMeasurementLineEventCopyWithImpl( + _$DeleteMeasurementLineEvent _value, + $Res Function(_$DeleteMeasurementLineEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? sorId = null, + Object? type = null, + Object? index = null, + Object? measurementLineIndex = null, + Object? filteredMeasurementMeasureId = null, + }) { + return _then(_$DeleteMeasurementLineEvent( + sorId: null == sorId + ? _value.sorId + : sorId // ignore: cast_nullable_to_non_nullable + as String, + type: null == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String, + index: null == index + ? _value.index + : index // ignore: cast_nullable_to_non_nullable + as int, + measurementLineIndex: null == measurementLineIndex + ? _value.measurementLineIndex + : measurementLineIndex // ignore: cast_nullable_to_non_nullable + as int, + filteredMeasurementMeasureId: null == filteredMeasurementMeasureId + ? _value.filteredMeasurementMeasureId + : filteredMeasurementMeasureId // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +/// @nodoc + +class _$DeleteMeasurementLineEvent implements DeleteMeasurementLineEvent { + const _$DeleteMeasurementLineEvent( + {required this.sorId, + required this.type, + required this.index, + required this.measurementLineIndex, + required this.filteredMeasurementMeasureId}); + + @override + final String sorId; + @override + final String type; + @override + final int index; + @override + final int measurementLineIndex; + @override + final String filteredMeasurementMeasureId; + + @override + String toString() { + return 'MeasurementDetailBlocEvent.deleteMeasurementLine(sorId: $sorId, type: $type, index: $index, measurementLineIndex: $measurementLineIndex, filteredMeasurementMeasureId: $filteredMeasurementMeasureId)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$DeleteMeasurementLineEvent && + (identical(other.sorId, sorId) || other.sorId == sorId) && + (identical(other.type, type) || other.type == type) && + (identical(other.index, index) || other.index == index) && + (identical(other.measurementLineIndex, measurementLineIndex) || + other.measurementLineIndex == measurementLineIndex) && + (identical(other.filteredMeasurementMeasureId, + filteredMeasurementMeasureId) || + other.filteredMeasurementMeasureId == + filteredMeasurementMeasureId)); + } + + @override + int get hashCode => Object.hash(runtimeType, sorId, type, index, + measurementLineIndex, filteredMeasurementMeasureId); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$DeleteMeasurementLineEventCopyWith<_$DeleteMeasurementLineEvent> + get copyWith => __$$DeleteMeasurementLineEventCopyWithImpl< + _$DeleteMeasurementLineEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + String tenantId, List workflowDocument) + uploadDocument, + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + create, + required TResult Function() clear, + required TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single) + addToMeasurementLineList, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity) + updateToMeasurementLineList, + required TResult Function(bool updateView) updateViewMode, + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + cancelUpdate, + required TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId) + submitLine, + required TResult Function(int updateCode) updateMsgCode, + required TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId) + deleteMeasurementLine, + }) { + return deleteMeasurementLine( + sorId, type, index, measurementLineIndex, filteredMeasurementMeasureId); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult? Function()? clear, + TResult? Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult? Function(bool updateView)? updateViewMode, + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult? Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult? Function(int updateCode)? updateMsgCode, + TResult? Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + }) { + return deleteMeasurementLine?.call( + sorId, type, index, measurementLineIndex, filteredMeasurementMeasureId); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, List workflowDocument)? + uploadDocument, + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + create, + TResult Function()? clear, + TResult Function( + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity, + bool single)? + addToMeasurementLineList, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId, + dynamic height, + dynamic width, + dynamic length, + dynamic number, + dynamic quantity)? + updateToMeasurementLineList, + TResult Function(bool updateView)? updateViewMode, + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + cancelUpdate, + TResult Function( + dynamic noOfUnit, + dynamic cummulativePrevQty, + String sorId, + String type, + int? index, + int? measurementLineIndex, + String? filteredMeasurementMeasureId)? + submitLine, + TResult Function(int updateCode)? updateMsgCode, + TResult Function(String sorId, String type, int index, + int measurementLineIndex, String filteredMeasurementMeasureId)? + deleteMeasurementLine, + required TResult orElse(), + }) { + if (deleteMeasurementLine != null) { + return deleteMeasurementLine(sorId, type, index, measurementLineIndex, + filteredMeasurementMeasureId); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementUploadDocumentBlocEvent value) + uploadDocument, + required TResult Function(MeasurementDetailBookBlocEvent value) create, + required TResult Function(MeasurementDetailBlocClearEvent value) clear, + required TResult Function(AddToMeasurementLineEvent value) + addToMeasurementLineList, + required TResult Function(UpdateToMeasurementLineEvent value) + updateToMeasurementLineList, + required TResult Function(UpdateViewModeEvent value) updateViewMode, + required TResult Function(CancelUpdateEvent value) cancelUpdate, + required TResult Function(SubmitLineEvent value) submitLine, + required TResult Function(UpdateMsgCodeEvent value) updateMsgCode, + required TResult Function(DeleteMeasurementLineEvent value) + deleteMeasurementLine, + }) { + return deleteMeasurementLine(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult? Function(MeasurementDetailBookBlocEvent value)? create, + TResult? Function(MeasurementDetailBlocClearEvent value)? clear, + TResult? Function(AddToMeasurementLineEvent value)? + addToMeasurementLineList, + TResult? Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult? Function(UpdateViewModeEvent value)? updateViewMode, + TResult? Function(CancelUpdateEvent value)? cancelUpdate, + TResult? Function(SubmitLineEvent value)? submitLine, + TResult? Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult? Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + }) { + return deleteMeasurementLine?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementUploadDocumentBlocEvent value)? uploadDocument, + TResult Function(MeasurementDetailBookBlocEvent value)? create, + TResult Function(MeasurementDetailBlocClearEvent value)? clear, + TResult Function(AddToMeasurementLineEvent value)? addToMeasurementLineList, + TResult Function(UpdateToMeasurementLineEvent value)? + updateToMeasurementLineList, + TResult Function(UpdateViewModeEvent value)? updateViewMode, + TResult Function(CancelUpdateEvent value)? cancelUpdate, + TResult Function(SubmitLineEvent value)? submitLine, + TResult Function(UpdateMsgCodeEvent value)? updateMsgCode, + TResult Function(DeleteMeasurementLineEvent value)? deleteMeasurementLine, + required TResult orElse(), + }) { + if (deleteMeasurementLine != null) { + return deleteMeasurementLine(this); + } + return orElse(); + } +} + +abstract class DeleteMeasurementLineEvent + implements MeasurementDetailBlocEvent { + const factory DeleteMeasurementLineEvent( + {required final String sorId, + required final String type, + required final int index, + required final int measurementLineIndex, + required final String filteredMeasurementMeasureId}) = + _$DeleteMeasurementLineEvent; + + String get sorId; + String get type; + int get index; + int get measurementLineIndex; + String get filteredMeasurementMeasureId; + @JsonKey(ignore: true) + _$$DeleteMeasurementLineEventCopyWith<_$DeleteMeasurementLineEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +mixin _$MeasurementDetailState { + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function( + int qtyErrorMsg, + String? warningMsg, + bool viewStatus, + dynamic rawData, + List data, + List? sor, + List? nonSor, + List? preSor, + List? preNonSor) + loaded, + required TResult Function(String? error) error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function( + int qtyErrorMsg, + String? warningMsg, + bool viewStatus, + dynamic rawData, + List data, + List? sor, + List? nonSor, + List? preSor, + List? preNonSor)? + loaded, + TResult? Function(String? error)? error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function( + int qtyErrorMsg, + String? warningMsg, + bool viewStatus, + dynamic rawData, + List data, + List? sor, + List? nonSor, + List? preSor, + List? preNonSor)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MeasurementDetailStateCopyWith<$Res> { + factory $MeasurementDetailStateCopyWith(MeasurementDetailState value, + $Res Function(MeasurementDetailState) then) = + _$MeasurementDetailStateCopyWithImpl<$Res, MeasurementDetailState>; +} + +/// @nodoc +class _$MeasurementDetailStateCopyWithImpl<$Res, + $Val extends MeasurementDetailState> + implements $MeasurementDetailStateCopyWith<$Res> { + _$MeasurementDetailStateCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; +} + +/// @nodoc +abstract class _$$_InitialCopyWith<$Res> { + factory _$$_InitialCopyWith( + _$_Initial value, $Res Function(_$_Initial) then) = + __$$_InitialCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$_InitialCopyWithImpl<$Res> + extends _$MeasurementDetailStateCopyWithImpl<$Res, _$_Initial> + implements _$$_InitialCopyWith<$Res> { + __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$_Initial extends _Initial { + const _$_Initial() : super._(); + + @override + String toString() { + return 'MeasurementDetailState.initial()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$_Initial); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function( + int qtyErrorMsg, + String? warningMsg, + bool viewStatus, + dynamic rawData, + List data, + List? sor, + List? nonSor, + List? preSor, + List? preNonSor) + loaded, + required TResult Function(String? error) error, + }) { + return initial(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function( + int qtyErrorMsg, + String? warningMsg, + bool viewStatus, + dynamic rawData, + List data, + List? sor, + List? nonSor, + List? preSor, + List? preNonSor)? + loaded, + TResult? Function(String? error)? error, + }) { + return initial?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function( + int qtyErrorMsg, + String? warningMsg, + bool viewStatus, + dynamic rawData, + List data, + List? sor, + List? nonSor, + List? preSor, + List? preNonSor)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (initial != null) { + return initial(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return initial(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return initial?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (initial != null) { + return initial(this); + } + return orElse(); + } +} + +abstract class _Initial extends MeasurementDetailState { + const factory _Initial() = _$_Initial; + const _Initial._() : super._(); +} + +/// @nodoc +abstract class _$$_LoadingCopyWith<$Res> { + factory _$$_LoadingCopyWith( + _$_Loading value, $Res Function(_$_Loading) then) = + __$$_LoadingCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$_LoadingCopyWithImpl<$Res> + extends _$MeasurementDetailStateCopyWithImpl<$Res, _$_Loading> + implements _$$_LoadingCopyWith<$Res> { + __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$_Loading extends _Loading { + const _$_Loading() : super._(); + + @override + String toString() { + return 'MeasurementDetailState.loading()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$_Loading); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function( + int qtyErrorMsg, + String? warningMsg, + bool viewStatus, + dynamic rawData, + List data, + List? sor, + List? nonSor, + List? preSor, + List? preNonSor) + loaded, + required TResult Function(String? error) error, + }) { + return loading(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function( + int qtyErrorMsg, + String? warningMsg, + bool viewStatus, + dynamic rawData, + List data, + List? sor, + List? nonSor, + List? preSor, + List? preNonSor)? + loaded, + TResult? Function(String? error)? error, + }) { + return loading?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function( + int qtyErrorMsg, + String? warningMsg, + bool viewStatus, + dynamic rawData, + List data, + List? sor, + List? nonSor, + List? preSor, + List? preNonSor)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (loading != null) { + return loading(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return loading(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return loading?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (loading != null) { + return loading(this); + } + return orElse(); + } +} + +abstract class _Loading extends MeasurementDetailState { + const factory _Loading() = _$_Loading; + const _Loading._() : super._(); +} + +/// @nodoc +abstract class _$$_LoadedCopyWith<$Res> { + factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = + __$$_LoadedCopyWithImpl<$Res>; + @useResult + $Res call( + {int qtyErrorMsg, + String? warningMsg, + bool viewStatus, + dynamic rawData, + List data, + List? sor, + List? nonSor, + List? preSor, + List? preNonSor}); +} + +/// @nodoc +class __$$_LoadedCopyWithImpl<$Res> + extends _$MeasurementDetailStateCopyWithImpl<$Res, _$_Loaded> + implements _$$_LoadedCopyWith<$Res> { + __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? qtyErrorMsg = null, + Object? warningMsg = freezed, + Object? viewStatus = null, + Object? rawData = freezed, + Object? data = null, + Object? sor = freezed, + Object? nonSor = freezed, + Object? preSor = freezed, + Object? preNonSor = freezed, + }) { + return _then(_$_Loaded( + null == qtyErrorMsg + ? _value.qtyErrorMsg + : qtyErrorMsg // ignore: cast_nullable_to_non_nullable + as int, + freezed == warningMsg + ? _value.warningMsg + : warningMsg // ignore: cast_nullable_to_non_nullable + as String?, + null == viewStatus + ? _value.viewStatus + : viewStatus // ignore: cast_nullable_to_non_nullable + as bool, + freezed == rawData + ? _value.rawData + : rawData // ignore: cast_nullable_to_non_nullable + as dynamic, + null == data + ? _value._data + : data // ignore: cast_nullable_to_non_nullable + as List, + freezed == sor + ? _value._sor + : sor // ignore: cast_nullable_to_non_nullable + as List?, + freezed == nonSor + ? _value._nonSor + : nonSor // ignore: cast_nullable_to_non_nullable + as List?, + freezed == preSor + ? _value._preSor + : preSor // ignore: cast_nullable_to_non_nullable + as List?, + freezed == preNonSor + ? _value._preNonSor + : preNonSor // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc + +class _$_Loaded extends _Loaded { + const _$_Loaded( + this.qtyErrorMsg, + this.warningMsg, + this.viewStatus, + this.rawData, + final List data, + final List? sor, + final List? nonSor, + final List? preSor, + final List? preNonSor) + : _data = data, + _sor = sor, + _nonSor = nonSor, + _preSor = preSor, + _preNonSor = preNonSor, + super._(); + + @override + final int qtyErrorMsg; + @override + final String? warningMsg; + @override + final bool viewStatus; + @override + final dynamic rawData; + final List _data; + @override + List get data { + if (_data is EqualUnmodifiableListView) return _data; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_data); + } + + final List? _sor; + @override + List? get sor { + final value = _sor; + if (value == null) return null; + if (_sor is EqualUnmodifiableListView) return _sor; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + final List? _nonSor; + @override + List? get nonSor { + final value = _nonSor; + if (value == null) return null; + if (_nonSor is EqualUnmodifiableListView) return _nonSor; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + final List? _preSor; + @override + List? get preSor { + final value = _preSor; + if (value == null) return null; + if (_preSor is EqualUnmodifiableListView) return _preSor; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + final List? _preNonSor; + @override + List? get preNonSor { + final value = _preNonSor; + if (value == null) return null; + if (_preNonSor is EqualUnmodifiableListView) return _preNonSor; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'MeasurementDetailState.loaded(qtyErrorMsg: $qtyErrorMsg, warningMsg: $warningMsg, viewStatus: $viewStatus, rawData: $rawData, data: $data, sor: $sor, nonSor: $nonSor, preSor: $preSor, preNonSor: $preNonSor)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Loaded && + (identical(other.qtyErrorMsg, qtyErrorMsg) || + other.qtyErrorMsg == qtyErrorMsg) && + (identical(other.warningMsg, warningMsg) || + other.warningMsg == warningMsg) && + (identical(other.viewStatus, viewStatus) || + other.viewStatus == viewStatus) && + const DeepCollectionEquality().equals(other.rawData, rawData) && + const DeepCollectionEquality().equals(other._data, _data) && + const DeepCollectionEquality().equals(other._sor, _sor) && + const DeepCollectionEquality().equals(other._nonSor, _nonSor) && + const DeepCollectionEquality().equals(other._preSor, _preSor) && + const DeepCollectionEquality() + .equals(other._preNonSor, _preNonSor)); + } + + @override + int get hashCode => Object.hash( + runtimeType, + qtyErrorMsg, + warningMsg, + viewStatus, + const DeepCollectionEquality().hash(rawData), + const DeepCollectionEquality().hash(_data), + const DeepCollectionEquality().hash(_sor), + const DeepCollectionEquality().hash(_nonSor), + const DeepCollectionEquality().hash(_preSor), + const DeepCollectionEquality().hash(_preNonSor)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_LoadedCopyWith<_$_Loaded> get copyWith => + __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function( + int qtyErrorMsg, + String? warningMsg, + bool viewStatus, + dynamic rawData, + List data, + List? sor, + List? nonSor, + List? preSor, + List? preNonSor) + loaded, + required TResult Function(String? error) error, + }) { + return loaded(qtyErrorMsg, warningMsg, viewStatus, rawData, data, sor, + nonSor, preSor, preNonSor); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function( + int qtyErrorMsg, + String? warningMsg, + bool viewStatus, + dynamic rawData, + List data, + List? sor, + List? nonSor, + List? preSor, + List? preNonSor)? + loaded, + TResult? Function(String? error)? error, + }) { + return loaded?.call(qtyErrorMsg, warningMsg, viewStatus, rawData, data, sor, + nonSor, preSor, preNonSor); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function( + int qtyErrorMsg, + String? warningMsg, + bool viewStatus, + dynamic rawData, + List data, + List? sor, + List? nonSor, + List? preSor, + List? preNonSor)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (loaded != null) { + return loaded(qtyErrorMsg, warningMsg, viewStatus, rawData, data, sor, + nonSor, preSor, preNonSor); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return loaded(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return loaded?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (loaded != null) { + return loaded(this); + } + return orElse(); + } +} + +abstract class _Loaded extends MeasurementDetailState { + const factory _Loaded( + final int qtyErrorMsg, + final String? warningMsg, + final bool viewStatus, + final dynamic rawData, + final List data, + final List? sor, + final List? nonSor, + final List? preSor, + final List? preNonSor) = _$_Loaded; + const _Loaded._() : super._(); + + int get qtyErrorMsg; + String? get warningMsg; + bool get viewStatus; + dynamic get rawData; + List get data; + List? get sor; + List? get nonSor; + List? get preSor; + List? get preNonSor; + @JsonKey(ignore: true) + _$$_LoadedCopyWith<_$_Loaded> get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$_ErrorCopyWith<$Res> { + factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = + __$$_ErrorCopyWithImpl<$Res>; + @useResult + $Res call({String? error}); +} + +/// @nodoc +class __$$_ErrorCopyWithImpl<$Res> + extends _$MeasurementDetailStateCopyWithImpl<$Res, _$_Error> + implements _$$_ErrorCopyWith<$Res> { + __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? error = freezed, + }) { + return _then(_$_Error( + freezed == error + ? _value.error + : error // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc + +class _$_Error extends _Error { + const _$_Error(this.error) : super._(); + + @override + final String? error; + + @override + String toString() { + return 'MeasurementDetailState.error(error: $error)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Error && + (identical(other.error, error) || other.error == error)); + } + + @override + int get hashCode => Object.hash(runtimeType, error); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_ErrorCopyWith<_$_Error> get copyWith => + __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function( + int qtyErrorMsg, + String? warningMsg, + bool viewStatus, + dynamic rawData, + List data, + List? sor, + List? nonSor, + List? preSor, + List? preNonSor) + loaded, + required TResult Function(String? error) error, + }) { + return error(this.error); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function( + int qtyErrorMsg, + String? warningMsg, + bool viewStatus, + dynamic rawData, + List data, + List? sor, + List? nonSor, + List? preSor, + List? preNonSor)? + loaded, + TResult? Function(String? error)? error, + }) { + return error?.call(this.error); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function( + int qtyErrorMsg, + String? warningMsg, + bool viewStatus, + dynamic rawData, + List data, + List? sor, + List? nonSor, + List? preSor, + List? preNonSor)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(this.error); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return error(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return error?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(this); + } + return orElse(); + } +} + +abstract class _Error extends MeasurementDetailState { + const factory _Error(final String? error) = _$_Error; + const _Error._() : super._(); + + String? get error; + @JsonKey(ignore: true) + _$$_ErrorCopyWith<_$_Error> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.dart b/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.dart new file mode 100644 index 0000000000..9bb271e619 --- /dev/null +++ b/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.dart @@ -0,0 +1,366 @@ +import 'dart:async'; + +import 'package:dio/dio.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; + +import '../../../data/remote_client.dart'; +import '../../../data/repositories/employee_repository/mb.dart'; +import '../../../models/employee/mb/mb_inbox_response.dart'; +import '../../../services/urls.dart'; +part 'measurement_book.freezed.dart'; + +typedef MeasurementInboxBlocEventEmitter = Emitter; + +class MeasurementInboxBloc + extends Bloc { + MeasurementInboxBloc() : super(const MeasurementInboxState.initial()) { + on(getMBInbox); + on(searchMb); + on(initialStage); + on(repeatSearch); + on(sort); + } + FutureOr getMBInbox( + MeasurementBookInboxBlocEvent event, + MeasurementInboxBlocEventEmitter emit, + ) async { + Client client = Client(); + try { + if (event.offset == 0) { + emit(const MeasurementInboxState.loading()); + } + + final s = { + "inbox": { + "tenantId": GlobalVariables.tenantId, + "moduleSearchCriteria": { + "tenantId": GlobalVariables.tenantId, + // "status":["1f4fa87c-b299-4adf-8691-409bf0b8e164",], + // "status":[], + // "ward":[], + }, + "processSearchCriteria": { + "businessService": ["MB"], + "moduleName": "measurement-service" + }, + "limit": 10, + "offset": event.offset + } + }; + final MBInboxResponse res = + await MBRepository(client.init()).fetchMbInbox( + url: Urls.measurementService.measurementInbox, body: s, + // "RequestInfo": { + // "apiId": "Rainmaker", + // "authToken": "db570c2b-950a-4084-87fc-6fa7482a22f7", + // "userInfo": { + // "id": 357, + // "uuid": "4ec9da90-ef66-47c8-8a0b-eb87d8cf9c31", + // "userName": "EMPJIT", + // "name": "Sumana Naga sai", + // "mobileNumber": "7895456214", + // "emailId": null, + // "locale": null, + // "type": "EMPLOYEE", + // "active": true, + // "tenantId": "od.testing", + // "permanentCity": null + // }, + // "msgId": "1708076019861|en_IN", + // "plainAccessRequest": {} + // } + ); + if (event.offset == 0) { + emit(MeasurementInboxState.loaded( + res, + res.items!.length < 10 ? false : true, + null, + null, + null, + null, + null, + false, {})); + } else { + state.maybeMap( + orElse: () { + return null; + }, + loaded: (value) { + List data = []; + data.addAll(value.mbInboxResponse.items ?? []); + data.addAll(res.items!); + + emit( + MeasurementInboxState.loaded( + value.mbInboxResponse.copyWith(items: data), + res.items!.length < 10 ? false : true, + null, + null, + null, + null, + null, + false, + {}, + ), + ); + }, + ); + } + } on DioError catch (e) { + emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); + } + } +//search + + FutureOr searchMb( + MeasurementBookInboxSearchBlocEvent event, + MeasurementInboxBlocEventEmitter emit, + ) async { + Client client = Client(); + try { + if (event.offset == 0) { + emit(const MeasurementInboxState.loading()); + } + + // final s = { + // "inbox": { + // "tenantId": "od.testing", + // "moduleSearchCriteria": { + // "tenantId": "od.testing", + // "status": event.status, + // "ward": event.ward, + // }, + // "processSearchCriteria": { + // "businessService": ["MB"], + // "moduleName": "measurement-service" + // }, + // "limit": 10, + // "offset": event.offset + // } + // }; + final MBInboxResponse res = + await MBRepository(client.init()).fetchMbInbox( + url: Urls.measurementService.measurementInbox, + body: event.data, + ); + if (event.offset == 0) { + emit(MeasurementInboxState.loaded( + res, + res.items!.length < 10 ? false : true, + null, + null, + null, + null, + null, + true, + event.data)); + } else { + state.maybeMap( + orElse: () { + return null; + }, + loaded: (value) { + List data = []; + data.addAll(value.mbInboxResponse.items ?? []); + data.addAll(res.items!); + + emit( + MeasurementInboxState.loaded( + value.mbInboxResponse.copyWith(items: data), + res.items!.length < 10 ? false : true, + null, + null, + null, + null, + null, + true, + event.data, + ), + ); + }, + ); + } + } on DioError catch (e) { + emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); + } + } + + FutureOr initialStage( + MeasurementBookInboxBlocClearEvent event, + MeasurementInboxBlocEventEmitter emit, + ) { + emit(const MeasurementInboxState.initial()); + } + + FutureOr repeatSearch( + MeasurementBookInboxSearchRepeatBlocEvent event, + MeasurementInboxBlocEventEmitter emit, + ) async { + Client client = Client(); + try { + await state.maybeMap( + orElse: () { + return null; + }, + loaded: (value) async { + // final s = { + // "inbox": { + // "tenantId": "od.testing", + // "moduleSearchCriteria": { + // "tenantId": "od.testing", + // "status": value.status, + // "ward": value.ward, + // }, + // "processSearchCriteria": { + // "businessService": ["MB"], + // "moduleName": "measurement-service" + // }, + // "limit": 10, + // "offset": event.offset + // } + // }; + value.data['inbox']!['offset'] = event.offset; + final MBInboxResponse res = await MBRepository(client.init()) + .fetchMbInbox( + url: Urls.measurementService.measurementInbox, + body: value.data + //body: value.data, + ); + List data = []; + data.addAll(value.mbInboxResponse.items ?? []); + data.addAll(res.items!); + + emit( + MeasurementInboxState.loaded( + value.mbInboxResponse.copyWith(items: data), + res.items!.length < 10 ? false : true, + // event.ward, + value.ward, + // event.status, + value.status, + // event.projectId, + value.projectId, + // event.mbNumber, + value.mbNumber, + + // event.projectName, + value.projectName, + true, + value.data, + ), + ); + }, + ); + } on DioError catch (e) { + emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); + } + } + +// function for sorting + + FutureOr sort( + MeasurementBookInboxSortBlocEvent event, + MeasurementInboxBlocEventEmitter emit, + ) async { + try { + state.maybeMap( + orElse: () { + return null; + }, + loaded: (value) { + List itemList = + List.from(value.mbInboxResponse.items ?? []); + switch (event.sortCode) { + case 0: + itemList.sort((a, b) => a.businessObject!.serviceSla! + .compareTo(b.businessObject!.serviceSla!)); + + break; + case 1: + itemList.sort((a, b) => a.processInstance!.state!.state! + .compareTo(b.processInstance!.state!.state!)); + break; + case 2: + itemList.sort((a, b) => a.businessObject!.measures!.first + .measureAdditionalDetails!.mbAmount! + .compareTo(b.businessObject!.measures!.first + .measureAdditionalDetails!.mbAmount!)); + break; + case 3: + itemList.sort((a, b) => b.businessObject!.measures!.first + .measureAdditionalDetails!.mbAmount! + .compareTo(a.businessObject!.measures!.first + .measureAdditionalDetails!.mbAmount!)); + break; + default: + } + + emit(value.copyWith( + mbInboxResponse: + value.mbInboxResponse.copyWith(items: itemList))); + }, + ); + } on DioError catch (e) { + emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); + } + } +} + +@freezed +class MeasurementInboxBlocEvent with _$MeasurementInboxBlocEvent { + const factory MeasurementInboxBlocEvent.create({ + required String tenantId, + required String businessService, + required String moduleName, + required int limit, + required int offset, + }) = MeasurementBookInboxBlocEvent; + + const factory MeasurementInboxBlocEvent.search( + {List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + required int limit, + required int offset, + required Map> data}) = + MeasurementBookInboxSearchBlocEvent; + + const factory MeasurementInboxBlocEvent.searchRepeat({ + required String tenantId, + required String businessService, + required String moduleName, + required int limit, + required int offset, + }) = MeasurementBookInboxSearchRepeatBlocEvent; + + // event for sorting the list + const factory MeasurementInboxBlocEvent.sort({ + required int sortCode, + }) = MeasurementBookInboxSortBlocEvent; + + const factory MeasurementInboxBlocEvent.clear() = + MeasurementBookInboxBlocClearEvent; +} + +@freezed +class MeasurementInboxState with _$MeasurementInboxState { + const MeasurementInboxState._(); + + const factory MeasurementInboxState.initial() = _Initial; + const factory MeasurementInboxState.loading() = _Loading; + const factory MeasurementInboxState.loaded( + MBInboxResponse mbInboxResponse, + bool isLoading, + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + bool search, + Map> data) = _Loaded; + const factory MeasurementInboxState.error(String? error) = _Error; +} diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.freezed.dart new file mode 100644 index 0000000000..5c73dbeed7 --- /dev/null +++ b/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.freezed.dart @@ -0,0 +1,2237 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'measurement_book.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +/// @nodoc +mixin _$MeasurementInboxBlocEvent { + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + create, + required TResult Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data) + search, + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + searchRepeat, + required TResult Function(int sortCode) sort, + required TResult Function() clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + create, + TResult? Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data)? + search, + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + searchRepeat, + TResult? Function(int sortCode)? sort, + TResult? Function()? clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + create, + TResult Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data)? + search, + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + searchRepeat, + TResult Function(int sortCode)? sort, + TResult Function()? clear, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementBookInboxBlocEvent value) create, + required TResult Function(MeasurementBookInboxSearchBlocEvent value) search, + required TResult Function(MeasurementBookInboxSearchRepeatBlocEvent value) + searchRepeat, + required TResult Function(MeasurementBookInboxSortBlocEvent value) sort, + required TResult Function(MeasurementBookInboxBlocClearEvent value) clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementBookInboxBlocEvent value)? create, + TResult? Function(MeasurementBookInboxSearchBlocEvent value)? search, + TResult? Function(MeasurementBookInboxSearchRepeatBlocEvent value)? + searchRepeat, + TResult? Function(MeasurementBookInboxSortBlocEvent value)? sort, + TResult? Function(MeasurementBookInboxBlocClearEvent value)? clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementBookInboxBlocEvent value)? create, + TResult Function(MeasurementBookInboxSearchBlocEvent value)? search, + TResult Function(MeasurementBookInboxSearchRepeatBlocEvent value)? + searchRepeat, + TResult Function(MeasurementBookInboxSortBlocEvent value)? sort, + TResult Function(MeasurementBookInboxBlocClearEvent value)? clear, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MeasurementInboxBlocEventCopyWith<$Res> { + factory $MeasurementInboxBlocEventCopyWith(MeasurementInboxBlocEvent value, + $Res Function(MeasurementInboxBlocEvent) then) = + _$MeasurementInboxBlocEventCopyWithImpl<$Res, MeasurementInboxBlocEvent>; +} + +/// @nodoc +class _$MeasurementInboxBlocEventCopyWithImpl<$Res, + $Val extends MeasurementInboxBlocEvent> + implements $MeasurementInboxBlocEventCopyWith<$Res> { + _$MeasurementInboxBlocEventCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; +} + +/// @nodoc +abstract class _$$MeasurementBookInboxBlocEventCopyWith<$Res> { + factory _$$MeasurementBookInboxBlocEventCopyWith( + _$MeasurementBookInboxBlocEvent value, + $Res Function(_$MeasurementBookInboxBlocEvent) then) = + __$$MeasurementBookInboxBlocEventCopyWithImpl<$Res>; + @useResult + $Res call( + {String tenantId, + String businessService, + String moduleName, + int limit, + int offset}); +} + +/// @nodoc +class __$$MeasurementBookInboxBlocEventCopyWithImpl<$Res> + extends _$MeasurementInboxBlocEventCopyWithImpl<$Res, + _$MeasurementBookInboxBlocEvent> + implements _$$MeasurementBookInboxBlocEventCopyWith<$Res> { + __$$MeasurementBookInboxBlocEventCopyWithImpl( + _$MeasurementBookInboxBlocEvent _value, + $Res Function(_$MeasurementBookInboxBlocEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? tenantId = null, + Object? businessService = null, + Object? moduleName = null, + Object? limit = null, + Object? offset = null, + }) { + return _then(_$MeasurementBookInboxBlocEvent( + tenantId: null == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String, + businessService: null == businessService + ? _value.businessService + : businessService // ignore: cast_nullable_to_non_nullable + as String, + moduleName: null == moduleName + ? _value.moduleName + : moduleName // ignore: cast_nullable_to_non_nullable + as String, + limit: null == limit + ? _value.limit + : limit // ignore: cast_nullable_to_non_nullable + as int, + offset: null == offset + ? _value.offset + : offset // ignore: cast_nullable_to_non_nullable + as int, + )); + } +} + +/// @nodoc + +class _$MeasurementBookInboxBlocEvent implements MeasurementBookInboxBlocEvent { + const _$MeasurementBookInboxBlocEvent( + {required this.tenantId, + required this.businessService, + required this.moduleName, + required this.limit, + required this.offset}); + + @override + final String tenantId; + @override + final String businessService; + @override + final String moduleName; + @override + final int limit; + @override + final int offset; + + @override + String toString() { + return 'MeasurementInboxBlocEvent.create(tenantId: $tenantId, businessService: $businessService, moduleName: $moduleName, limit: $limit, offset: $offset)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$MeasurementBookInboxBlocEvent && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.businessService, businessService) || + other.businessService == businessService) && + (identical(other.moduleName, moduleName) || + other.moduleName == moduleName) && + (identical(other.limit, limit) || other.limit == limit) && + (identical(other.offset, offset) || other.offset == offset)); + } + + @override + int get hashCode => Object.hash( + runtimeType, tenantId, businessService, moduleName, limit, offset); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$MeasurementBookInboxBlocEventCopyWith<_$MeasurementBookInboxBlocEvent> + get copyWith => __$$MeasurementBookInboxBlocEventCopyWithImpl< + _$MeasurementBookInboxBlocEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + create, + required TResult Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data) + search, + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + searchRepeat, + required TResult Function(int sortCode) sort, + required TResult Function() clear, + }) { + return create(tenantId, businessService, moduleName, limit, offset); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + create, + TResult? Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data)? + search, + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + searchRepeat, + TResult? Function(int sortCode)? sort, + TResult? Function()? clear, + }) { + return create?.call(tenantId, businessService, moduleName, limit, offset); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + create, + TResult Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data)? + search, + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + searchRepeat, + TResult Function(int sortCode)? sort, + TResult Function()? clear, + required TResult orElse(), + }) { + if (create != null) { + return create(tenantId, businessService, moduleName, limit, offset); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementBookInboxBlocEvent value) create, + required TResult Function(MeasurementBookInboxSearchBlocEvent value) search, + required TResult Function(MeasurementBookInboxSearchRepeatBlocEvent value) + searchRepeat, + required TResult Function(MeasurementBookInboxSortBlocEvent value) sort, + required TResult Function(MeasurementBookInboxBlocClearEvent value) clear, + }) { + return create(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementBookInboxBlocEvent value)? create, + TResult? Function(MeasurementBookInboxSearchBlocEvent value)? search, + TResult? Function(MeasurementBookInboxSearchRepeatBlocEvent value)? + searchRepeat, + TResult? Function(MeasurementBookInboxSortBlocEvent value)? sort, + TResult? Function(MeasurementBookInboxBlocClearEvent value)? clear, + }) { + return create?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementBookInboxBlocEvent value)? create, + TResult Function(MeasurementBookInboxSearchBlocEvent value)? search, + TResult Function(MeasurementBookInboxSearchRepeatBlocEvent value)? + searchRepeat, + TResult Function(MeasurementBookInboxSortBlocEvent value)? sort, + TResult Function(MeasurementBookInboxBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (create != null) { + return create(this); + } + return orElse(); + } +} + +abstract class MeasurementBookInboxBlocEvent + implements MeasurementInboxBlocEvent { + const factory MeasurementBookInboxBlocEvent( + {required final String tenantId, + required final String businessService, + required final String moduleName, + required final int limit, + required final int offset}) = _$MeasurementBookInboxBlocEvent; + + String get tenantId; + String get businessService; + String get moduleName; + int get limit; + int get offset; + @JsonKey(ignore: true) + _$$MeasurementBookInboxBlocEventCopyWith<_$MeasurementBookInboxBlocEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$MeasurementBookInboxSearchBlocEventCopyWith<$Res> { + factory _$$MeasurementBookInboxSearchBlocEventCopyWith( + _$MeasurementBookInboxSearchBlocEvent value, + $Res Function(_$MeasurementBookInboxSearchBlocEvent) then) = + __$$MeasurementBookInboxSearchBlocEventCopyWithImpl<$Res>; + @useResult + $Res call( + {List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data}); +} + +/// @nodoc +class __$$MeasurementBookInboxSearchBlocEventCopyWithImpl<$Res> + extends _$MeasurementInboxBlocEventCopyWithImpl<$Res, + _$MeasurementBookInboxSearchBlocEvent> + implements _$$MeasurementBookInboxSearchBlocEventCopyWith<$Res> { + __$$MeasurementBookInboxSearchBlocEventCopyWithImpl( + _$MeasurementBookInboxSearchBlocEvent _value, + $Res Function(_$MeasurementBookInboxSearchBlocEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? ward = freezed, + Object? status = freezed, + Object? projectId = freezed, + Object? mbNumber = freezed, + Object? projectName = freezed, + Object? limit = null, + Object? offset = null, + Object? data = null, + }) { + return _then(_$MeasurementBookInboxSearchBlocEvent( + ward: freezed == ward + ? _value._ward + : ward // ignore: cast_nullable_to_non_nullable + as List?, + status: freezed == status + ? _value._status + : status // ignore: cast_nullable_to_non_nullable + as List?, + projectId: freezed == projectId + ? _value.projectId + : projectId // ignore: cast_nullable_to_non_nullable + as String?, + mbNumber: freezed == mbNumber + ? _value.mbNumber + : mbNumber // ignore: cast_nullable_to_non_nullable + as String?, + projectName: freezed == projectName + ? _value.projectName + : projectName // ignore: cast_nullable_to_non_nullable + as String?, + limit: null == limit + ? _value.limit + : limit // ignore: cast_nullable_to_non_nullable + as int, + offset: null == offset + ? _value.offset + : offset // ignore: cast_nullable_to_non_nullable + as int, + data: null == data + ? _value._data + : data // ignore: cast_nullable_to_non_nullable + as Map>, + )); + } +} + +/// @nodoc + +class _$MeasurementBookInboxSearchBlocEvent + implements MeasurementBookInboxSearchBlocEvent { + const _$MeasurementBookInboxSearchBlocEvent( + {final List? ward, + final List? status, + this.projectId, + this.mbNumber, + this.projectName, + required this.limit, + required this.offset, + required final Map> data}) + : _ward = ward, + _status = status, + _data = data; + + final List? _ward; + @override + List? get ward { + final value = _ward; + if (value == null) return null; + if (_ward is EqualUnmodifiableListView) return _ward; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + final List? _status; + @override + List? get status { + final value = _status; + if (value == null) return null; + if (_status is EqualUnmodifiableListView) return _status; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + final String? projectId; + @override + final String? mbNumber; + @override + final String? projectName; + @override + final int limit; + @override + final int offset; + final Map> _data; + @override + Map> get data { + if (_data is EqualUnmodifiableMapView) return _data; + // ignore: implicit_dynamic_type + return EqualUnmodifiableMapView(_data); + } + + @override + String toString() { + return 'MeasurementInboxBlocEvent.search(ward: $ward, status: $status, projectId: $projectId, mbNumber: $mbNumber, projectName: $projectName, limit: $limit, offset: $offset, data: $data)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$MeasurementBookInboxSearchBlocEvent && + const DeepCollectionEquality().equals(other._ward, _ward) && + const DeepCollectionEquality().equals(other._status, _status) && + (identical(other.projectId, projectId) || + other.projectId == projectId) && + (identical(other.mbNumber, mbNumber) || + other.mbNumber == mbNumber) && + (identical(other.projectName, projectName) || + other.projectName == projectName) && + (identical(other.limit, limit) || other.limit == limit) && + (identical(other.offset, offset) || other.offset == offset) && + const DeepCollectionEquality().equals(other._data, _data)); + } + + @override + int get hashCode => Object.hash( + runtimeType, + const DeepCollectionEquality().hash(_ward), + const DeepCollectionEquality().hash(_status), + projectId, + mbNumber, + projectName, + limit, + offset, + const DeepCollectionEquality().hash(_data)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$MeasurementBookInboxSearchBlocEventCopyWith< + _$MeasurementBookInboxSearchBlocEvent> + get copyWith => __$$MeasurementBookInboxSearchBlocEventCopyWithImpl< + _$MeasurementBookInboxSearchBlocEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + create, + required TResult Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data) + search, + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + searchRepeat, + required TResult Function(int sortCode) sort, + required TResult Function() clear, + }) { + return search( + ward, status, projectId, mbNumber, projectName, limit, offset, data); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + create, + TResult? Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data)? + search, + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + searchRepeat, + TResult? Function(int sortCode)? sort, + TResult? Function()? clear, + }) { + return search?.call( + ward, status, projectId, mbNumber, projectName, limit, offset, data); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + create, + TResult Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data)? + search, + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + searchRepeat, + TResult Function(int sortCode)? sort, + TResult Function()? clear, + required TResult orElse(), + }) { + if (search != null) { + return search( + ward, status, projectId, mbNumber, projectName, limit, offset, data); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementBookInboxBlocEvent value) create, + required TResult Function(MeasurementBookInboxSearchBlocEvent value) search, + required TResult Function(MeasurementBookInboxSearchRepeatBlocEvent value) + searchRepeat, + required TResult Function(MeasurementBookInboxSortBlocEvent value) sort, + required TResult Function(MeasurementBookInboxBlocClearEvent value) clear, + }) { + return search(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementBookInboxBlocEvent value)? create, + TResult? Function(MeasurementBookInboxSearchBlocEvent value)? search, + TResult? Function(MeasurementBookInboxSearchRepeatBlocEvent value)? + searchRepeat, + TResult? Function(MeasurementBookInboxSortBlocEvent value)? sort, + TResult? Function(MeasurementBookInboxBlocClearEvent value)? clear, + }) { + return search?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementBookInboxBlocEvent value)? create, + TResult Function(MeasurementBookInboxSearchBlocEvent value)? search, + TResult Function(MeasurementBookInboxSearchRepeatBlocEvent value)? + searchRepeat, + TResult Function(MeasurementBookInboxSortBlocEvent value)? sort, + TResult Function(MeasurementBookInboxBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (search != null) { + return search(this); + } + return orElse(); + } +} + +abstract class MeasurementBookInboxSearchBlocEvent + implements MeasurementInboxBlocEvent { + const factory MeasurementBookInboxSearchBlocEvent( + {final List? ward, + final List? status, + final String? projectId, + final String? mbNumber, + final String? projectName, + required final int limit, + required final int offset, + required final Map> data}) = + _$MeasurementBookInboxSearchBlocEvent; + + List? get ward; + List? get status; + String? get projectId; + String? get mbNumber; + String? get projectName; + int get limit; + int get offset; + Map> get data; + @JsonKey(ignore: true) + _$$MeasurementBookInboxSearchBlocEventCopyWith< + _$MeasurementBookInboxSearchBlocEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$MeasurementBookInboxSearchRepeatBlocEventCopyWith<$Res> { + factory _$$MeasurementBookInboxSearchRepeatBlocEventCopyWith( + _$MeasurementBookInboxSearchRepeatBlocEvent value, + $Res Function(_$MeasurementBookInboxSearchRepeatBlocEvent) then) = + __$$MeasurementBookInboxSearchRepeatBlocEventCopyWithImpl<$Res>; + @useResult + $Res call( + {String tenantId, + String businessService, + String moduleName, + int limit, + int offset}); +} + +/// @nodoc +class __$$MeasurementBookInboxSearchRepeatBlocEventCopyWithImpl<$Res> + extends _$MeasurementInboxBlocEventCopyWithImpl<$Res, + _$MeasurementBookInboxSearchRepeatBlocEvent> + implements _$$MeasurementBookInboxSearchRepeatBlocEventCopyWith<$Res> { + __$$MeasurementBookInboxSearchRepeatBlocEventCopyWithImpl( + _$MeasurementBookInboxSearchRepeatBlocEvent _value, + $Res Function(_$MeasurementBookInboxSearchRepeatBlocEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? tenantId = null, + Object? businessService = null, + Object? moduleName = null, + Object? limit = null, + Object? offset = null, + }) { + return _then(_$MeasurementBookInboxSearchRepeatBlocEvent( + tenantId: null == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String, + businessService: null == businessService + ? _value.businessService + : businessService // ignore: cast_nullable_to_non_nullable + as String, + moduleName: null == moduleName + ? _value.moduleName + : moduleName // ignore: cast_nullable_to_non_nullable + as String, + limit: null == limit + ? _value.limit + : limit // ignore: cast_nullable_to_non_nullable + as int, + offset: null == offset + ? _value.offset + : offset // ignore: cast_nullable_to_non_nullable + as int, + )); + } +} + +/// @nodoc + +class _$MeasurementBookInboxSearchRepeatBlocEvent + implements MeasurementBookInboxSearchRepeatBlocEvent { + const _$MeasurementBookInboxSearchRepeatBlocEvent( + {required this.tenantId, + required this.businessService, + required this.moduleName, + required this.limit, + required this.offset}); + + @override + final String tenantId; + @override + final String businessService; + @override + final String moduleName; + @override + final int limit; + @override + final int offset; + + @override + String toString() { + return 'MeasurementInboxBlocEvent.searchRepeat(tenantId: $tenantId, businessService: $businessService, moduleName: $moduleName, limit: $limit, offset: $offset)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$MeasurementBookInboxSearchRepeatBlocEvent && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.businessService, businessService) || + other.businessService == businessService) && + (identical(other.moduleName, moduleName) || + other.moduleName == moduleName) && + (identical(other.limit, limit) || other.limit == limit) && + (identical(other.offset, offset) || other.offset == offset)); + } + + @override + int get hashCode => Object.hash( + runtimeType, tenantId, businessService, moduleName, limit, offset); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$MeasurementBookInboxSearchRepeatBlocEventCopyWith< + _$MeasurementBookInboxSearchRepeatBlocEvent> + get copyWith => __$$MeasurementBookInboxSearchRepeatBlocEventCopyWithImpl< + _$MeasurementBookInboxSearchRepeatBlocEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + create, + required TResult Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data) + search, + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + searchRepeat, + required TResult Function(int sortCode) sort, + required TResult Function() clear, + }) { + return searchRepeat(tenantId, businessService, moduleName, limit, offset); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + create, + TResult? Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data)? + search, + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + searchRepeat, + TResult? Function(int sortCode)? sort, + TResult? Function()? clear, + }) { + return searchRepeat?.call( + tenantId, businessService, moduleName, limit, offset); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + create, + TResult Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data)? + search, + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + searchRepeat, + TResult Function(int sortCode)? sort, + TResult Function()? clear, + required TResult orElse(), + }) { + if (searchRepeat != null) { + return searchRepeat(tenantId, businessService, moduleName, limit, offset); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementBookInboxBlocEvent value) create, + required TResult Function(MeasurementBookInboxSearchBlocEvent value) search, + required TResult Function(MeasurementBookInboxSearchRepeatBlocEvent value) + searchRepeat, + required TResult Function(MeasurementBookInboxSortBlocEvent value) sort, + required TResult Function(MeasurementBookInboxBlocClearEvent value) clear, + }) { + return searchRepeat(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementBookInboxBlocEvent value)? create, + TResult? Function(MeasurementBookInboxSearchBlocEvent value)? search, + TResult? Function(MeasurementBookInboxSearchRepeatBlocEvent value)? + searchRepeat, + TResult? Function(MeasurementBookInboxSortBlocEvent value)? sort, + TResult? Function(MeasurementBookInboxBlocClearEvent value)? clear, + }) { + return searchRepeat?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementBookInboxBlocEvent value)? create, + TResult Function(MeasurementBookInboxSearchBlocEvent value)? search, + TResult Function(MeasurementBookInboxSearchRepeatBlocEvent value)? + searchRepeat, + TResult Function(MeasurementBookInboxSortBlocEvent value)? sort, + TResult Function(MeasurementBookInboxBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (searchRepeat != null) { + return searchRepeat(this); + } + return orElse(); + } +} + +abstract class MeasurementBookInboxSearchRepeatBlocEvent + implements MeasurementInboxBlocEvent { + const factory MeasurementBookInboxSearchRepeatBlocEvent( + {required final String tenantId, + required final String businessService, + required final String moduleName, + required final int limit, + required final int offset}) = _$MeasurementBookInboxSearchRepeatBlocEvent; + + String get tenantId; + String get businessService; + String get moduleName; + int get limit; + int get offset; + @JsonKey(ignore: true) + _$$MeasurementBookInboxSearchRepeatBlocEventCopyWith< + _$MeasurementBookInboxSearchRepeatBlocEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$MeasurementBookInboxSortBlocEventCopyWith<$Res> { + factory _$$MeasurementBookInboxSortBlocEventCopyWith( + _$MeasurementBookInboxSortBlocEvent value, + $Res Function(_$MeasurementBookInboxSortBlocEvent) then) = + __$$MeasurementBookInboxSortBlocEventCopyWithImpl<$Res>; + @useResult + $Res call({int sortCode}); +} + +/// @nodoc +class __$$MeasurementBookInboxSortBlocEventCopyWithImpl<$Res> + extends _$MeasurementInboxBlocEventCopyWithImpl<$Res, + _$MeasurementBookInboxSortBlocEvent> + implements _$$MeasurementBookInboxSortBlocEventCopyWith<$Res> { + __$$MeasurementBookInboxSortBlocEventCopyWithImpl( + _$MeasurementBookInboxSortBlocEvent _value, + $Res Function(_$MeasurementBookInboxSortBlocEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? sortCode = null, + }) { + return _then(_$MeasurementBookInboxSortBlocEvent( + sortCode: null == sortCode + ? _value.sortCode + : sortCode // ignore: cast_nullable_to_non_nullable + as int, + )); + } +} + +/// @nodoc + +class _$MeasurementBookInboxSortBlocEvent + implements MeasurementBookInboxSortBlocEvent { + const _$MeasurementBookInboxSortBlocEvent({required this.sortCode}); + + @override + final int sortCode; + + @override + String toString() { + return 'MeasurementInboxBlocEvent.sort(sortCode: $sortCode)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$MeasurementBookInboxSortBlocEvent && + (identical(other.sortCode, sortCode) || + other.sortCode == sortCode)); + } + + @override + int get hashCode => Object.hash(runtimeType, sortCode); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$MeasurementBookInboxSortBlocEventCopyWith< + _$MeasurementBookInboxSortBlocEvent> + get copyWith => __$$MeasurementBookInboxSortBlocEventCopyWithImpl< + _$MeasurementBookInboxSortBlocEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + create, + required TResult Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data) + search, + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + searchRepeat, + required TResult Function(int sortCode) sort, + required TResult Function() clear, + }) { + return sort(sortCode); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + create, + TResult? Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data)? + search, + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + searchRepeat, + TResult? Function(int sortCode)? sort, + TResult? Function()? clear, + }) { + return sort?.call(sortCode); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + create, + TResult Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data)? + search, + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + searchRepeat, + TResult Function(int sortCode)? sort, + TResult Function()? clear, + required TResult orElse(), + }) { + if (sort != null) { + return sort(sortCode); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementBookInboxBlocEvent value) create, + required TResult Function(MeasurementBookInboxSearchBlocEvent value) search, + required TResult Function(MeasurementBookInboxSearchRepeatBlocEvent value) + searchRepeat, + required TResult Function(MeasurementBookInboxSortBlocEvent value) sort, + required TResult Function(MeasurementBookInboxBlocClearEvent value) clear, + }) { + return sort(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementBookInboxBlocEvent value)? create, + TResult? Function(MeasurementBookInboxSearchBlocEvent value)? search, + TResult? Function(MeasurementBookInboxSearchRepeatBlocEvent value)? + searchRepeat, + TResult? Function(MeasurementBookInboxSortBlocEvent value)? sort, + TResult? Function(MeasurementBookInboxBlocClearEvent value)? clear, + }) { + return sort?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementBookInboxBlocEvent value)? create, + TResult Function(MeasurementBookInboxSearchBlocEvent value)? search, + TResult Function(MeasurementBookInboxSearchRepeatBlocEvent value)? + searchRepeat, + TResult Function(MeasurementBookInboxSortBlocEvent value)? sort, + TResult Function(MeasurementBookInboxBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (sort != null) { + return sort(this); + } + return orElse(); + } +} + +abstract class MeasurementBookInboxSortBlocEvent + implements MeasurementInboxBlocEvent { + const factory MeasurementBookInboxSortBlocEvent( + {required final int sortCode}) = _$MeasurementBookInboxSortBlocEvent; + + int get sortCode; + @JsonKey(ignore: true) + _$$MeasurementBookInboxSortBlocEventCopyWith< + _$MeasurementBookInboxSortBlocEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$MeasurementBookInboxBlocClearEventCopyWith<$Res> { + factory _$$MeasurementBookInboxBlocClearEventCopyWith( + _$MeasurementBookInboxBlocClearEvent value, + $Res Function(_$MeasurementBookInboxBlocClearEvent) then) = + __$$MeasurementBookInboxBlocClearEventCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$MeasurementBookInboxBlocClearEventCopyWithImpl<$Res> + extends _$MeasurementInboxBlocEventCopyWithImpl<$Res, + _$MeasurementBookInboxBlocClearEvent> + implements _$$MeasurementBookInboxBlocClearEventCopyWith<$Res> { + __$$MeasurementBookInboxBlocClearEventCopyWithImpl( + _$MeasurementBookInboxBlocClearEvent _value, + $Res Function(_$MeasurementBookInboxBlocClearEvent) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$MeasurementBookInboxBlocClearEvent + implements MeasurementBookInboxBlocClearEvent { + const _$MeasurementBookInboxBlocClearEvent(); + + @override + String toString() { + return 'MeasurementInboxBlocEvent.clear()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$MeasurementBookInboxBlocClearEvent); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + create, + required TResult Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data) + search, + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + searchRepeat, + required TResult Function(int sortCode) sort, + required TResult Function() clear, + }) { + return clear(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + create, + TResult? Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data)? + search, + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + searchRepeat, + TResult? Function(int sortCode)? sort, + TResult? Function()? clear, + }) { + return clear?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + create, + TResult Function( + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + int limit, + int offset, + Map> data)? + search, + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + searchRepeat, + TResult Function(int sortCode)? sort, + TResult Function()? clear, + required TResult orElse(), + }) { + if (clear != null) { + return clear(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(MeasurementBookInboxBlocEvent value) create, + required TResult Function(MeasurementBookInboxSearchBlocEvent value) search, + required TResult Function(MeasurementBookInboxSearchRepeatBlocEvent value) + searchRepeat, + required TResult Function(MeasurementBookInboxSortBlocEvent value) sort, + required TResult Function(MeasurementBookInboxBlocClearEvent value) clear, + }) { + return clear(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(MeasurementBookInboxBlocEvent value)? create, + TResult? Function(MeasurementBookInboxSearchBlocEvent value)? search, + TResult? Function(MeasurementBookInboxSearchRepeatBlocEvent value)? + searchRepeat, + TResult? Function(MeasurementBookInboxSortBlocEvent value)? sort, + TResult? Function(MeasurementBookInboxBlocClearEvent value)? clear, + }) { + return clear?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(MeasurementBookInboxBlocEvent value)? create, + TResult Function(MeasurementBookInboxSearchBlocEvent value)? search, + TResult Function(MeasurementBookInboxSearchRepeatBlocEvent value)? + searchRepeat, + TResult Function(MeasurementBookInboxSortBlocEvent value)? sort, + TResult Function(MeasurementBookInboxBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (clear != null) { + return clear(this); + } + return orElse(); + } +} + +abstract class MeasurementBookInboxBlocClearEvent + implements MeasurementInboxBlocEvent { + const factory MeasurementBookInboxBlocClearEvent() = + _$MeasurementBookInboxBlocClearEvent; +} + +/// @nodoc +mixin _$MeasurementInboxState { + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function( + MBInboxResponse mbInboxResponse, + bool isLoading, + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + bool search, + Map> data) + loaded, + required TResult Function(String? error) error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function( + MBInboxResponse mbInboxResponse, + bool isLoading, + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + bool search, + Map> data)? + loaded, + TResult? Function(String? error)? error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function( + MBInboxResponse mbInboxResponse, + bool isLoading, + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + bool search, + Map> data)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MeasurementInboxStateCopyWith<$Res> { + factory $MeasurementInboxStateCopyWith(MeasurementInboxState value, + $Res Function(MeasurementInboxState) then) = + _$MeasurementInboxStateCopyWithImpl<$Res, MeasurementInboxState>; +} + +/// @nodoc +class _$MeasurementInboxStateCopyWithImpl<$Res, + $Val extends MeasurementInboxState> + implements $MeasurementInboxStateCopyWith<$Res> { + _$MeasurementInboxStateCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; +} + +/// @nodoc +abstract class _$$_InitialCopyWith<$Res> { + factory _$$_InitialCopyWith( + _$_Initial value, $Res Function(_$_Initial) then) = + __$$_InitialCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$_InitialCopyWithImpl<$Res> + extends _$MeasurementInboxStateCopyWithImpl<$Res, _$_Initial> + implements _$$_InitialCopyWith<$Res> { + __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$_Initial extends _Initial { + const _$_Initial() : super._(); + + @override + String toString() { + return 'MeasurementInboxState.initial()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$_Initial); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function( + MBInboxResponse mbInboxResponse, + bool isLoading, + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + bool search, + Map> data) + loaded, + required TResult Function(String? error) error, + }) { + return initial(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function( + MBInboxResponse mbInboxResponse, + bool isLoading, + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + bool search, + Map> data)? + loaded, + TResult? Function(String? error)? error, + }) { + return initial?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function( + MBInboxResponse mbInboxResponse, + bool isLoading, + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + bool search, + Map> data)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (initial != null) { + return initial(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return initial(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return initial?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (initial != null) { + return initial(this); + } + return orElse(); + } +} + +abstract class _Initial extends MeasurementInboxState { + const factory _Initial() = _$_Initial; + const _Initial._() : super._(); +} + +/// @nodoc +abstract class _$$_LoadingCopyWith<$Res> { + factory _$$_LoadingCopyWith( + _$_Loading value, $Res Function(_$_Loading) then) = + __$$_LoadingCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$_LoadingCopyWithImpl<$Res> + extends _$MeasurementInboxStateCopyWithImpl<$Res, _$_Loading> + implements _$$_LoadingCopyWith<$Res> { + __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$_Loading extends _Loading { + const _$_Loading() : super._(); + + @override + String toString() { + return 'MeasurementInboxState.loading()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$_Loading); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function( + MBInboxResponse mbInboxResponse, + bool isLoading, + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + bool search, + Map> data) + loaded, + required TResult Function(String? error) error, + }) { + return loading(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function( + MBInboxResponse mbInboxResponse, + bool isLoading, + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + bool search, + Map> data)? + loaded, + TResult? Function(String? error)? error, + }) { + return loading?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function( + MBInboxResponse mbInboxResponse, + bool isLoading, + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + bool search, + Map> data)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (loading != null) { + return loading(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return loading(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return loading?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (loading != null) { + return loading(this); + } + return orElse(); + } +} + +abstract class _Loading extends MeasurementInboxState { + const factory _Loading() = _$_Loading; + const _Loading._() : super._(); +} + +/// @nodoc +abstract class _$$_LoadedCopyWith<$Res> { + factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = + __$$_LoadedCopyWithImpl<$Res>; + @useResult + $Res call( + {MBInboxResponse mbInboxResponse, + bool isLoading, + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + bool search, + Map> data}); + + $MBInboxResponseCopyWith<$Res> get mbInboxResponse; +} + +/// @nodoc +class __$$_LoadedCopyWithImpl<$Res> + extends _$MeasurementInboxStateCopyWithImpl<$Res, _$_Loaded> + implements _$$_LoadedCopyWith<$Res> { + __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? mbInboxResponse = null, + Object? isLoading = null, + Object? ward = freezed, + Object? status = freezed, + Object? projectId = freezed, + Object? mbNumber = freezed, + Object? projectName = freezed, + Object? search = null, + Object? data = null, + }) { + return _then(_$_Loaded( + null == mbInboxResponse + ? _value.mbInboxResponse + : mbInboxResponse // ignore: cast_nullable_to_non_nullable + as MBInboxResponse, + null == isLoading + ? _value.isLoading + : isLoading // ignore: cast_nullable_to_non_nullable + as bool, + freezed == ward + ? _value._ward + : ward // ignore: cast_nullable_to_non_nullable + as List?, + freezed == status + ? _value._status + : status // ignore: cast_nullable_to_non_nullable + as List?, + freezed == projectId + ? _value.projectId + : projectId // ignore: cast_nullable_to_non_nullable + as String?, + freezed == mbNumber + ? _value.mbNumber + : mbNumber // ignore: cast_nullable_to_non_nullable + as String?, + freezed == projectName + ? _value.projectName + : projectName // ignore: cast_nullable_to_non_nullable + as String?, + null == search + ? _value.search + : search // ignore: cast_nullable_to_non_nullable + as bool, + null == data + ? _value._data + : data // ignore: cast_nullable_to_non_nullable + as Map>, + )); + } + + @override + @pragma('vm:prefer-inline') + $MBInboxResponseCopyWith<$Res> get mbInboxResponse { + return $MBInboxResponseCopyWith<$Res>(_value.mbInboxResponse, (value) { + return _then(_value.copyWith(mbInboxResponse: value)); + }); + } +} + +/// @nodoc + +class _$_Loaded extends _Loaded { + const _$_Loaded( + this.mbInboxResponse, + this.isLoading, + final List? ward, + final List? status, + this.projectId, + this.mbNumber, + this.projectName, + this.search, + final Map> data) + : _ward = ward, + _status = status, + _data = data, + super._(); + + @override + final MBInboxResponse mbInboxResponse; + @override + final bool isLoading; + final List? _ward; + @override + List? get ward { + final value = _ward; + if (value == null) return null; + if (_ward is EqualUnmodifiableListView) return _ward; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + final List? _status; + @override + List? get status { + final value = _status; + if (value == null) return null; + if (_status is EqualUnmodifiableListView) return _status; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + final String? projectId; + @override + final String? mbNumber; + @override + final String? projectName; + @override + final bool search; + final Map> _data; + @override + Map> get data { + if (_data is EqualUnmodifiableMapView) return _data; + // ignore: implicit_dynamic_type + return EqualUnmodifiableMapView(_data); + } + + @override + String toString() { + return 'MeasurementInboxState.loaded(mbInboxResponse: $mbInboxResponse, isLoading: $isLoading, ward: $ward, status: $status, projectId: $projectId, mbNumber: $mbNumber, projectName: $projectName, search: $search, data: $data)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Loaded && + (identical(other.mbInboxResponse, mbInboxResponse) || + other.mbInboxResponse == mbInboxResponse) && + (identical(other.isLoading, isLoading) || + other.isLoading == isLoading) && + const DeepCollectionEquality().equals(other._ward, _ward) && + const DeepCollectionEquality().equals(other._status, _status) && + (identical(other.projectId, projectId) || + other.projectId == projectId) && + (identical(other.mbNumber, mbNumber) || + other.mbNumber == mbNumber) && + (identical(other.projectName, projectName) || + other.projectName == projectName) && + (identical(other.search, search) || other.search == search) && + const DeepCollectionEquality().equals(other._data, _data)); + } + + @override + int get hashCode => Object.hash( + runtimeType, + mbInboxResponse, + isLoading, + const DeepCollectionEquality().hash(_ward), + const DeepCollectionEquality().hash(_status), + projectId, + mbNumber, + projectName, + search, + const DeepCollectionEquality().hash(_data)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_LoadedCopyWith<_$_Loaded> get copyWith => + __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function( + MBInboxResponse mbInboxResponse, + bool isLoading, + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + bool search, + Map> data) + loaded, + required TResult Function(String? error) error, + }) { + return loaded(mbInboxResponse, isLoading, ward, status, projectId, mbNumber, + projectName, search, data); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function( + MBInboxResponse mbInboxResponse, + bool isLoading, + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + bool search, + Map> data)? + loaded, + TResult? Function(String? error)? error, + }) { + return loaded?.call(mbInboxResponse, isLoading, ward, status, projectId, + mbNumber, projectName, search, data); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function( + MBInboxResponse mbInboxResponse, + bool isLoading, + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + bool search, + Map> data)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (loaded != null) { + return loaded(mbInboxResponse, isLoading, ward, status, projectId, + mbNumber, projectName, search, data); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return loaded(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return loaded?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (loaded != null) { + return loaded(this); + } + return orElse(); + } +} + +abstract class _Loaded extends MeasurementInboxState { + const factory _Loaded( + final MBInboxResponse mbInboxResponse, + final bool isLoading, + final List? ward, + final List? status, + final String? projectId, + final String? mbNumber, + final String? projectName, + final bool search, + final Map> data) = _$_Loaded; + const _Loaded._() : super._(); + + MBInboxResponse get mbInboxResponse; + bool get isLoading; + List? get ward; + List? get status; + String? get projectId; + String? get mbNumber; + String? get projectName; + bool get search; + Map> get data; + @JsonKey(ignore: true) + _$$_LoadedCopyWith<_$_Loaded> get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$_ErrorCopyWith<$Res> { + factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = + __$$_ErrorCopyWithImpl<$Res>; + @useResult + $Res call({String? error}); +} + +/// @nodoc +class __$$_ErrorCopyWithImpl<$Res> + extends _$MeasurementInboxStateCopyWithImpl<$Res, _$_Error> + implements _$$_ErrorCopyWith<$Res> { + __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? error = freezed, + }) { + return _then(_$_Error( + freezed == error + ? _value.error + : error // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc + +class _$_Error extends _Error { + const _$_Error(this.error) : super._(); + + @override + final String? error; + + @override + String toString() { + return 'MeasurementInboxState.error(error: $error)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Error && + (identical(other.error, error) || other.error == error)); + } + + @override + int get hashCode => Object.hash(runtimeType, error); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_ErrorCopyWith<_$_Error> get copyWith => + __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function( + MBInboxResponse mbInboxResponse, + bool isLoading, + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + bool search, + Map> data) + loaded, + required TResult Function(String? error) error, + }) { + return error(this.error); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function( + MBInboxResponse mbInboxResponse, + bool isLoading, + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + bool search, + Map> data)? + loaded, + TResult? Function(String? error)? error, + }) { + return error?.call(this.error); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function( + MBInboxResponse mbInboxResponse, + bool isLoading, + List? ward, + List? status, + String? projectId, + String? mbNumber, + String? projectName, + bool search, + Map> data)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(this.error); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return error(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return error?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(this); + } + return orElse(); + } +} + +abstract class _Error extends MeasurementInboxState { + const factory _Error(final String? error) = _$_Error; + const _Error._() : super._(); + + String? get error; + @JsonKey(ignore: true) + _$$_ErrorCopyWith<_$_Error> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart b/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart new file mode 100644 index 0000000000..c76fb67f1d --- /dev/null +++ b/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart @@ -0,0 +1,81 @@ +//mb_detail_view + +import 'dart:async'; +import 'dart:convert'; +import 'dart:core'; +import 'dart:math'; + +import 'package:dio/dio.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:works_shg_app/data/repositories/employee_repository/mdms.dart'; +import 'package:works_shg_app/models/employee/mb/mb_project_type.dart'; + +import '../../../data/remote_client.dart'; +import '../../../services/urls.dart'; + +part 'project_type.freezed.dart'; + +typedef ProjectTypeBlocEventEmitter = Emitter; + +class ProjectTypeBloc extends Bloc { + ProjectTypeBloc() : super(const ProjectTypeState.initial()) { + on(checkMB); + } + FutureOr checkMB( + ProjectTypeEvent event, + ProjectTypeBlocEventEmitter emit, + ) async { + Client client = Client(); + try { + emit(const ProjectTypeState.loading()); + + final MBProjectType res = + await MBMDMSRepository(client.init()).fetchProjectType( + url: Urls.initServices.mdms, + body: { + "MdmsCriteria": { + "tenantId": "od", + "moduleDetails": [ + { + "moduleName": "works", + "masterDetails": [ + {"name": "ProjectType"} + ] + } + ] + } + }, + ); + print(res); + + emit( + ProjectTypeState.loaded(res), + ); + } on DioError catch (e) { + // emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); + emit(ProjectTypeState.error(e.toString())); + } + } +} + +@freezed +class ProjectTypeBlocEvent with _$ProjectTypeBlocEvent { + const factory ProjectTypeBlocEvent.create({ + required String tenantId, + }) = ProjectTypeEvent; + + const factory ProjectTypeBlocEvent.clear() = ProjectTypeBlocClearEvent; +} + +@freezed +class ProjectTypeState with _$ProjectTypeState { + const ProjectTypeState._(); + + const factory ProjectTypeState.initial() = _Initial; + const factory ProjectTypeState.loading() = _Loading; + const factory ProjectTypeState.loaded( + MBProjectType? mbProjectType, + ) = _Loaded; + const factory ProjectTypeState.error(String? error) = _Error; +} diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/project_type.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/mb/project_type.freezed.dart new file mode 100644 index 0000000000..023df349f8 --- /dev/null +++ b/frontend/works_shg_app/lib/blocs/employee/mb/project_type.freezed.dart @@ -0,0 +1,919 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'project_type.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +/// @nodoc +mixin _$ProjectTypeBlocEvent { + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId) create, + required TResult Function() clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId)? create, + TResult? Function()? clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId)? create, + TResult Function()? clear, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult map({ + required TResult Function(ProjectTypeEvent value) create, + required TResult Function(ProjectTypeBlocClearEvent value) clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(ProjectTypeEvent value)? create, + TResult? Function(ProjectTypeBlocClearEvent value)? clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeMap({ + TResult Function(ProjectTypeEvent value)? create, + TResult Function(ProjectTypeBlocClearEvent value)? clear, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $ProjectTypeBlocEventCopyWith<$Res> { + factory $ProjectTypeBlocEventCopyWith(ProjectTypeBlocEvent value, + $Res Function(ProjectTypeBlocEvent) then) = + _$ProjectTypeBlocEventCopyWithImpl<$Res, ProjectTypeBlocEvent>; +} + +/// @nodoc +class _$ProjectTypeBlocEventCopyWithImpl<$Res, + $Val extends ProjectTypeBlocEvent> + implements $ProjectTypeBlocEventCopyWith<$Res> { + _$ProjectTypeBlocEventCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; +} + +/// @nodoc +abstract class _$$ProjectTypeEventCopyWith<$Res> { + factory _$$ProjectTypeEventCopyWith( + _$ProjectTypeEvent value, $Res Function(_$ProjectTypeEvent) then) = + __$$ProjectTypeEventCopyWithImpl<$Res>; + @useResult + $Res call({String tenantId}); +} + +/// @nodoc +class __$$ProjectTypeEventCopyWithImpl<$Res> + extends _$ProjectTypeBlocEventCopyWithImpl<$Res, _$ProjectTypeEvent> + implements _$$ProjectTypeEventCopyWith<$Res> { + __$$ProjectTypeEventCopyWithImpl( + _$ProjectTypeEvent _value, $Res Function(_$ProjectTypeEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? tenantId = null, + }) { + return _then(_$ProjectTypeEvent( + tenantId: null == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +/// @nodoc + +class _$ProjectTypeEvent implements ProjectTypeEvent { + const _$ProjectTypeEvent({required this.tenantId}); + + @override + final String tenantId; + + @override + String toString() { + return 'ProjectTypeBlocEvent.create(tenantId: $tenantId)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$ProjectTypeEvent && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId)); + } + + @override + int get hashCode => Object.hash(runtimeType, tenantId); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$ProjectTypeEventCopyWith<_$ProjectTypeEvent> get copyWith => + __$$ProjectTypeEventCopyWithImpl<_$ProjectTypeEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId) create, + required TResult Function() clear, + }) { + return create(tenantId); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId)? create, + TResult? Function()? clear, + }) { + return create?.call(tenantId); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId)? create, + TResult Function()? clear, + required TResult orElse(), + }) { + if (create != null) { + return create(tenantId); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(ProjectTypeEvent value) create, + required TResult Function(ProjectTypeBlocClearEvent value) clear, + }) { + return create(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(ProjectTypeEvent value)? create, + TResult? Function(ProjectTypeBlocClearEvent value)? clear, + }) { + return create?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(ProjectTypeEvent value)? create, + TResult Function(ProjectTypeBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (create != null) { + return create(this); + } + return orElse(); + } +} + +abstract class ProjectTypeEvent implements ProjectTypeBlocEvent { + const factory ProjectTypeEvent({required final String tenantId}) = + _$ProjectTypeEvent; + + String get tenantId; + @JsonKey(ignore: true) + _$$ProjectTypeEventCopyWith<_$ProjectTypeEvent> get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$ProjectTypeBlocClearEventCopyWith<$Res> { + factory _$$ProjectTypeBlocClearEventCopyWith( + _$ProjectTypeBlocClearEvent value, + $Res Function(_$ProjectTypeBlocClearEvent) then) = + __$$ProjectTypeBlocClearEventCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$ProjectTypeBlocClearEventCopyWithImpl<$Res> + extends _$ProjectTypeBlocEventCopyWithImpl<$Res, + _$ProjectTypeBlocClearEvent> + implements _$$ProjectTypeBlocClearEventCopyWith<$Res> { + __$$ProjectTypeBlocClearEventCopyWithImpl(_$ProjectTypeBlocClearEvent _value, + $Res Function(_$ProjectTypeBlocClearEvent) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$ProjectTypeBlocClearEvent implements ProjectTypeBlocClearEvent { + const _$ProjectTypeBlocClearEvent(); + + @override + String toString() { + return 'ProjectTypeBlocEvent.clear()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$ProjectTypeBlocClearEvent); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId) create, + required TResult Function() clear, + }) { + return clear(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId)? create, + TResult? Function()? clear, + }) { + return clear?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId)? create, + TResult Function()? clear, + required TResult orElse(), + }) { + if (clear != null) { + return clear(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(ProjectTypeEvent value) create, + required TResult Function(ProjectTypeBlocClearEvent value) clear, + }) { + return clear(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(ProjectTypeEvent value)? create, + TResult? Function(ProjectTypeBlocClearEvent value)? clear, + }) { + return clear?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(ProjectTypeEvent value)? create, + TResult Function(ProjectTypeBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (clear != null) { + return clear(this); + } + return orElse(); + } +} + +abstract class ProjectTypeBlocClearEvent implements ProjectTypeBlocEvent { + const factory ProjectTypeBlocClearEvent() = _$ProjectTypeBlocClearEvent; +} + +/// @nodoc +mixin _$ProjectTypeState { + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(MBProjectType? mbProjectType) loaded, + required TResult Function(String? error) error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(MBProjectType? mbProjectType)? loaded, + TResult? Function(String? error)? error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(MBProjectType? mbProjectType)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $ProjectTypeStateCopyWith<$Res> { + factory $ProjectTypeStateCopyWith( + ProjectTypeState value, $Res Function(ProjectTypeState) then) = + _$ProjectTypeStateCopyWithImpl<$Res, ProjectTypeState>; +} + +/// @nodoc +class _$ProjectTypeStateCopyWithImpl<$Res, $Val extends ProjectTypeState> + implements $ProjectTypeStateCopyWith<$Res> { + _$ProjectTypeStateCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; +} + +/// @nodoc +abstract class _$$_InitialCopyWith<$Res> { + factory _$$_InitialCopyWith( + _$_Initial value, $Res Function(_$_Initial) then) = + __$$_InitialCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$_InitialCopyWithImpl<$Res> + extends _$ProjectTypeStateCopyWithImpl<$Res, _$_Initial> + implements _$$_InitialCopyWith<$Res> { + __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$_Initial extends _Initial { + const _$_Initial() : super._(); + + @override + String toString() { + return 'ProjectTypeState.initial()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$_Initial); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(MBProjectType? mbProjectType) loaded, + required TResult Function(String? error) error, + }) { + return initial(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(MBProjectType? mbProjectType)? loaded, + TResult? Function(String? error)? error, + }) { + return initial?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(MBProjectType? mbProjectType)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (initial != null) { + return initial(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return initial(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return initial?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (initial != null) { + return initial(this); + } + return orElse(); + } +} + +abstract class _Initial extends ProjectTypeState { + const factory _Initial() = _$_Initial; + const _Initial._() : super._(); +} + +/// @nodoc +abstract class _$$_LoadingCopyWith<$Res> { + factory _$$_LoadingCopyWith( + _$_Loading value, $Res Function(_$_Loading) then) = + __$$_LoadingCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$_LoadingCopyWithImpl<$Res> + extends _$ProjectTypeStateCopyWithImpl<$Res, _$_Loading> + implements _$$_LoadingCopyWith<$Res> { + __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$_Loading extends _Loading { + const _$_Loading() : super._(); + + @override + String toString() { + return 'ProjectTypeState.loading()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$_Loading); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(MBProjectType? mbProjectType) loaded, + required TResult Function(String? error) error, + }) { + return loading(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(MBProjectType? mbProjectType)? loaded, + TResult? Function(String? error)? error, + }) { + return loading?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(MBProjectType? mbProjectType)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (loading != null) { + return loading(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return loading(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return loading?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (loading != null) { + return loading(this); + } + return orElse(); + } +} + +abstract class _Loading extends ProjectTypeState { + const factory _Loading() = _$_Loading; + const _Loading._() : super._(); +} + +/// @nodoc +abstract class _$$_LoadedCopyWith<$Res> { + factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = + __$$_LoadedCopyWithImpl<$Res>; + @useResult + $Res call({MBProjectType? mbProjectType}); + + $MBProjectTypeCopyWith<$Res>? get mbProjectType; +} + +/// @nodoc +class __$$_LoadedCopyWithImpl<$Res> + extends _$ProjectTypeStateCopyWithImpl<$Res, _$_Loaded> + implements _$$_LoadedCopyWith<$Res> { + __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? mbProjectType = freezed, + }) { + return _then(_$_Loaded( + freezed == mbProjectType + ? _value.mbProjectType + : mbProjectType // ignore: cast_nullable_to_non_nullable + as MBProjectType?, + )); + } + + @override + @pragma('vm:prefer-inline') + $MBProjectTypeCopyWith<$Res>? get mbProjectType { + if (_value.mbProjectType == null) { + return null; + } + + return $MBProjectTypeCopyWith<$Res>(_value.mbProjectType!, (value) { + return _then(_value.copyWith(mbProjectType: value)); + }); + } +} + +/// @nodoc + +class _$_Loaded extends _Loaded { + const _$_Loaded(this.mbProjectType) : super._(); + + @override + final MBProjectType? mbProjectType; + + @override + String toString() { + return 'ProjectTypeState.loaded(mbProjectType: $mbProjectType)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Loaded && + (identical(other.mbProjectType, mbProjectType) || + other.mbProjectType == mbProjectType)); + } + + @override + int get hashCode => Object.hash(runtimeType, mbProjectType); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_LoadedCopyWith<_$_Loaded> get copyWith => + __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(MBProjectType? mbProjectType) loaded, + required TResult Function(String? error) error, + }) { + return loaded(mbProjectType); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(MBProjectType? mbProjectType)? loaded, + TResult? Function(String? error)? error, + }) { + return loaded?.call(mbProjectType); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(MBProjectType? mbProjectType)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (loaded != null) { + return loaded(mbProjectType); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return loaded(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return loaded?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (loaded != null) { + return loaded(this); + } + return orElse(); + } +} + +abstract class _Loaded extends ProjectTypeState { + const factory _Loaded(final MBProjectType? mbProjectType) = _$_Loaded; + const _Loaded._() : super._(); + + MBProjectType? get mbProjectType; + @JsonKey(ignore: true) + _$$_LoadedCopyWith<_$_Loaded> get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$_ErrorCopyWith<$Res> { + factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = + __$$_ErrorCopyWithImpl<$Res>; + @useResult + $Res call({String? error}); +} + +/// @nodoc +class __$$_ErrorCopyWithImpl<$Res> + extends _$ProjectTypeStateCopyWithImpl<$Res, _$_Error> + implements _$$_ErrorCopyWith<$Res> { + __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? error = freezed, + }) { + return _then(_$_Error( + freezed == error + ? _value.error + : error // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc + +class _$_Error extends _Error { + const _$_Error(this.error) : super._(); + + @override + final String? error; + + @override + String toString() { + return 'ProjectTypeState.error(error: $error)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Error && + (identical(other.error, error) || other.error == error)); + } + + @override + int get hashCode => Object.hash(runtimeType, error); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_ErrorCopyWith<_$_Error> get copyWith => + __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(MBProjectType? mbProjectType) loaded, + required TResult Function(String? error) error, + }) { + return error(this.error); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(MBProjectType? mbProjectType)? loaded, + TResult? Function(String? error)? error, + }) { + return error?.call(this.error); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(MBProjectType? mbProjectType)? loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(this.error); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return error(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return error?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(this); + } + return orElse(); + } +} + +abstract class _Error extends ProjectTypeState { + const factory _Error(final String? error) = _$_Error; + const _Error._() : super._(); + + String? get error; + @JsonKey(ignore: true) + _$$_ErrorCopyWith<_$_Error> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.dart b/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.dart new file mode 100644 index 0000000000..5723cda5b9 --- /dev/null +++ b/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.dart @@ -0,0 +1,350 @@ +import 'dart:async'; + +import 'package:dio/dio.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:works_shg_app/data/repositories/employee_repository/work_order.dart'; +import 'package:works_shg_app/models/employee/work_order/wo_inbox_response.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; + +import '../../../data/remote_client.dart'; +import '../../../data/repositories/work_order_repository/my_works_repository.dart'; +import '../../../models/works/contracts_model.dart'; +import '../../../services/urls.dart'; +import '../../../utils/constants.dart'; +part 'workorder_book.freezed.dart'; + +typedef WorkOrderInboxBlocEventEmitter = Emitter; + +class WorkOrderInboxBloc + extends Bloc { + WorkOrderInboxBloc() : super(const WorkOrderInboxState.initial()) { + on(getWorkOrderInbox); + on(sort); + on(search); + on(repeatSearch); + } + FutureOr getWorkOrderInbox( + WorkOrderInboxBlocCreateEvent event, + WorkOrderInboxBlocEventEmitter emit, + ) async { + Client client = Client(); + try { + if (event.offset == 0) { + emit(const WorkOrderInboxState.loading()); + } + // old + // final WOInboxResponse res = await WORepository(client.init()) + // .fetchWoInbox(url: Urls.measurementService.measurementInbox, body: { + // "inbox": { + // "tenantId": GlobalVariables.tenantId, + // "moduleSearchCriteria": {"tenantId": GlobalVariables.tenantId}, + // "processSearchCriteria": { + // "businessService": ["CONTRACT","CONTRACT-REVISION"], + // "moduleName": "contract-service" + // }, + // "limit": 10, + // "offset": event.offset + // }, + + // }); + + ContractsModel contractsModel = + await MyWorksRepository(client.init()).searchMyWorks( + url: Urls.workServices.myWorks, + body: { + "tenantId": GlobalVariables.tenantId ?? + GlobalVariables + .organisationListModel!.organisations!.first.tenantId, + "orgIds": [], + "wfStatus": ["ACCEPTED","APPROVED"], + "pagination": { + "limit": "10", + "offSet": event.offset.toString(), + "sortBy": "lastModifiedTime", + "order": "desc" + } + }, + options: Options(extra: { + "userInfo": GlobalVariables.userRequestModel, + "accessToken": GlobalVariables.authToken, + "apiId": "asset-services", + "msgId": "search with from and to values" + })); + + if (event.offset == 0) { + emit(WorkOrderInboxState.loaded( + null, + true, + contractsModel.contracts + ?.where((e) => e.status != Constants.inActive) + .toList(), + false, + {})); + } else { + state.maybeMap( + orElse: () { + return null; + }, + loaded: (value) { + List data = []; + data.addAll(value.contracts ?? []); + data.addAll(contractsModel.contracts! + .where((e) => e.status != Constants.inActive) + .toList()); + + emit( + WorkOrderInboxState.loaded( + null, data!.length < 10 ? false : true, data, false, {}), + ); + }, + ); + } + } on DioError catch (e) { + emit(WorkOrderInboxState.error(e.response?.data['Errors'][0]['code'])); + } + } + +// function for sorting + + FutureOr sort( + WorkOrderInboxSortBlocEvent event, + WorkOrderInboxBlocEventEmitter emit, + ) async { + try { + state.maybeMap( + orElse: () { + return null; + }, + loaded: (value) { + List itemList = List.from(value.contracts ?? []); + switch (event.sortCode) { + case 0: + itemList.sort((a, b) => a.endDate!.compareTo(b.endDate!)); + + break; + case 1: + itemList.sort((a, b) => a.startDate!.compareTo(b.startDate!)); + break; + case 2: + itemList.sort((a, b) => a.issueDate!.compareTo(b.issueDate!)); + break; + case 3: + itemList.sort((a, b) => + b.totalContractedAmount!.compareTo(a.totalContractedAmount!)); + break; + case 4: + itemList.sort((a, b) => a.additionalDetails!.cboName! + .compareTo(b.additionalDetails!.cboName!)); + break; + case 5: + itemList.sort((a, b) => + a.totalContractedAmount!.compareTo(b.totalContractedAmount!)); + break; + default: + } + + emit(value.copyWith(contracts: itemList)); + }, + ); + } on DioError catch (e) { + emit(WorkOrderInboxState.error(e.response?.data['Errors'][0]['code'])); + } + } + +// function for filtering + + FutureOr search( + WorkOrderInboxSearchBlocEvent event, + WorkOrderInboxBlocEventEmitter emit, + ) async { + Client client = Client(); + try { + if (event.offset == 0) { + emit(const WorkOrderInboxState.loading()); + } + final s = { + "tenantId": GlobalVariables.tenantId ?? + GlobalVariables + .organisationListModel!.organisations!.first.tenantId, + "contractNumber": event.contractNumber, + "orgIds": [], + "wfStatus": ["ACCEPTED","APPROVED"], + "pagination": { + "limit": "10", + "offSet": event.offset.toString(), + "sortBy": "lastModifiedTime", + "order": "desc" + } + }; + + ContractsModel contractsModel = + await MyWorksRepository(client.init()).searchMyWorks( + url: Urls.workServices.myWorks, + body: event.data, + options: Options(extra: { + "userInfo": GlobalVariables.userRequestModel, + "accessToken": GlobalVariables.authToken, + "apiId": "asset-services", + "msgId": "search with from and to values" + })); + + if (event.offset == 0) { + emit(WorkOrderInboxState.loaded( + null, + contractsModel.contracts! + .where((e) => e.status != Constants.inActive) + .toList() + .length! < + 10 + ? false + : true, + contractsModel.contracts + ?.where((e) => e.status != Constants.inActive) + .toList(), + true, + event.data, + )); + } else { + state.maybeMap( + orElse: () { + return null; + }, + loaded: (value) { + List data = []; + data.addAll(value.contracts ?? []); + data.addAll(contractsModel.contracts! + .where((e) => e.status != Constants.inActive) + .toList()); + + emit( + WorkOrderInboxState.loaded( + null, + data!.length < 10 ? false : true, + data, + true, + event.data, + ), + ); + }, + ); + } + } on DioError catch (e) { + emit(WorkOrderInboxState.error(e.response?.data['Errors'][0]['code'])); + } + } + + // repeat search + + FutureOr repeatSearch( + WorkOrderInboxSearchRepeatBlocEvent event, + WorkOrderInboxBlocEventEmitter emit, + ) async { + Client client = Client(); + try { + await state.maybeMap( + orElse: () { + return null; + }, + loaded: (value) async { + // final s = { + // "inbox": { + // "tenantId": "od.testing", + // "moduleSearchCriteria": { + // "tenantId": "od.testing", + // "status": value.status, + // "ward": value.ward, + // }, + // "processSearchCriteria": { + // "businessService": ["MB"], + // "moduleName": "measurement-service" + // }, + // "limit": 10, + // "offset": event.offset + // } + // }; + value!.searchData['pagination']!['offset'] = event.offset; + ContractsModel contractsModel = + await MyWorksRepository(client.init()).searchMyWorks( + url: Urls.workServices.myWorks, + body: value.searchData, + options: Options(extra: { + "userInfo": GlobalVariables.userRequestModel, + "accessToken": GlobalVariables.authToken, + "apiId": "asset-services", + "msgId": "search with from and to values" + })); + List data = []; + data.addAll(value.contracts ?? []); + data.addAll(contractsModel.contracts!); + + emit( + WorkOrderInboxState.loaded( + null, + contractsModel.contracts!.length<10?false:true, + data, + true, + value.searchData, + + ), + ); + }, + ); + } on DioError catch (e) { + emit(WorkOrderInboxState.error(e.response?.data['Errors'][0]['code'])); + } + } + +} + +@freezed +class WorkOrderInboxBlocEvent with _$WorkOrderInboxBlocEvent { + const factory WorkOrderInboxBlocEvent.create({ + required String tenantId, + required String businessService, + required String moduleName, + required int limit, + required int offset, + }) = WorkOrderInboxBlocCreateEvent; + + // event for sorting the list + const factory WorkOrderInboxBlocEvent.sort({ + required int sortCode, + }) = WorkOrderInboxSortBlocEvent; + + // event for filter + + const factory WorkOrderInboxBlocEvent.search( + {List? ward, + String? projectId, + String? contractNumber, + String? projectName, + required int limit, + required int offset, + required Map data}) = WorkOrderInboxSearchBlocEvent; + + const factory WorkOrderInboxBlocEvent.searchRepeat({ + required String tenantId, + required String businessService, + required String moduleName, + required int limit, + required int offset, + }) = WorkOrderInboxSearchRepeatBlocEvent; + + const factory WorkOrderInboxBlocEvent.clear() = WorkOrderInboxBlocClearEvent; +} + +@freezed +class WorkOrderInboxState with _$WorkOrderInboxState { + const WorkOrderInboxState._(); + + const factory WorkOrderInboxState.initial() = _Initial; + const factory WorkOrderInboxState.loading() = _Loading; + const factory WorkOrderInboxState.loaded( + WOInboxResponse? mbInboxResponse, + bool isLoading, + List? contracts, + bool search, + Map searchData) = _Loaded; + const factory WorkOrderInboxState.error(String? error) = _Error; +} diff --git a/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.freezed.dart new file mode 100644 index 0000000000..9abe28156b --- /dev/null +++ b/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.freezed.dart @@ -0,0 +1,2054 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'workorder_book.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +/// @nodoc +mixin _$WorkOrderInboxBlocEvent { + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + create, + required TResult Function(int sortCode) sort, + required TResult Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data) + search, + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + searchRepeat, + required TResult Function() clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + create, + TResult? Function(int sortCode)? sort, + TResult? Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data)? + search, + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + searchRepeat, + TResult? Function()? clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + create, + TResult Function(int sortCode)? sort, + TResult Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data)? + search, + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + searchRepeat, + TResult Function()? clear, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult map({ + required TResult Function(WorkOrderInboxBlocCreateEvent value) create, + required TResult Function(WorkOrderInboxSortBlocEvent value) sort, + required TResult Function(WorkOrderInboxSearchBlocEvent value) search, + required TResult Function(WorkOrderInboxSearchRepeatBlocEvent value) + searchRepeat, + required TResult Function(WorkOrderInboxBlocClearEvent value) clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(WorkOrderInboxBlocCreateEvent value)? create, + TResult? Function(WorkOrderInboxSortBlocEvent value)? sort, + TResult? Function(WorkOrderInboxSearchBlocEvent value)? search, + TResult? Function(WorkOrderInboxSearchRepeatBlocEvent value)? searchRepeat, + TResult? Function(WorkOrderInboxBlocClearEvent value)? clear, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeMap({ + TResult Function(WorkOrderInboxBlocCreateEvent value)? create, + TResult Function(WorkOrderInboxSortBlocEvent value)? sort, + TResult Function(WorkOrderInboxSearchBlocEvent value)? search, + TResult Function(WorkOrderInboxSearchRepeatBlocEvent value)? searchRepeat, + TResult Function(WorkOrderInboxBlocClearEvent value)? clear, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $WorkOrderInboxBlocEventCopyWith<$Res> { + factory $WorkOrderInboxBlocEventCopyWith(WorkOrderInboxBlocEvent value, + $Res Function(WorkOrderInboxBlocEvent) then) = + _$WorkOrderInboxBlocEventCopyWithImpl<$Res, WorkOrderInboxBlocEvent>; +} + +/// @nodoc +class _$WorkOrderInboxBlocEventCopyWithImpl<$Res, + $Val extends WorkOrderInboxBlocEvent> + implements $WorkOrderInboxBlocEventCopyWith<$Res> { + _$WorkOrderInboxBlocEventCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; +} + +/// @nodoc +abstract class _$$WorkOrderInboxBlocCreateEventCopyWith<$Res> { + factory _$$WorkOrderInboxBlocCreateEventCopyWith( + _$WorkOrderInboxBlocCreateEvent value, + $Res Function(_$WorkOrderInboxBlocCreateEvent) then) = + __$$WorkOrderInboxBlocCreateEventCopyWithImpl<$Res>; + @useResult + $Res call( + {String tenantId, + String businessService, + String moduleName, + int limit, + int offset}); +} + +/// @nodoc +class __$$WorkOrderInboxBlocCreateEventCopyWithImpl<$Res> + extends _$WorkOrderInboxBlocEventCopyWithImpl<$Res, + _$WorkOrderInboxBlocCreateEvent> + implements _$$WorkOrderInboxBlocCreateEventCopyWith<$Res> { + __$$WorkOrderInboxBlocCreateEventCopyWithImpl( + _$WorkOrderInboxBlocCreateEvent _value, + $Res Function(_$WorkOrderInboxBlocCreateEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? tenantId = null, + Object? businessService = null, + Object? moduleName = null, + Object? limit = null, + Object? offset = null, + }) { + return _then(_$WorkOrderInboxBlocCreateEvent( + tenantId: null == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String, + businessService: null == businessService + ? _value.businessService + : businessService // ignore: cast_nullable_to_non_nullable + as String, + moduleName: null == moduleName + ? _value.moduleName + : moduleName // ignore: cast_nullable_to_non_nullable + as String, + limit: null == limit + ? _value.limit + : limit // ignore: cast_nullable_to_non_nullable + as int, + offset: null == offset + ? _value.offset + : offset // ignore: cast_nullable_to_non_nullable + as int, + )); + } +} + +/// @nodoc + +class _$WorkOrderInboxBlocCreateEvent implements WorkOrderInboxBlocCreateEvent { + const _$WorkOrderInboxBlocCreateEvent( + {required this.tenantId, + required this.businessService, + required this.moduleName, + required this.limit, + required this.offset}); + + @override + final String tenantId; + @override + final String businessService; + @override + final String moduleName; + @override + final int limit; + @override + final int offset; + + @override + String toString() { + return 'WorkOrderInboxBlocEvent.create(tenantId: $tenantId, businessService: $businessService, moduleName: $moduleName, limit: $limit, offset: $offset)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$WorkOrderInboxBlocCreateEvent && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.businessService, businessService) || + other.businessService == businessService) && + (identical(other.moduleName, moduleName) || + other.moduleName == moduleName) && + (identical(other.limit, limit) || other.limit == limit) && + (identical(other.offset, offset) || other.offset == offset)); + } + + @override + int get hashCode => Object.hash( + runtimeType, tenantId, businessService, moduleName, limit, offset); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$WorkOrderInboxBlocCreateEventCopyWith<_$WorkOrderInboxBlocCreateEvent> + get copyWith => __$$WorkOrderInboxBlocCreateEventCopyWithImpl< + _$WorkOrderInboxBlocCreateEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + create, + required TResult Function(int sortCode) sort, + required TResult Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data) + search, + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + searchRepeat, + required TResult Function() clear, + }) { + return create(tenantId, businessService, moduleName, limit, offset); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + create, + TResult? Function(int sortCode)? sort, + TResult? Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data)? + search, + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + searchRepeat, + TResult? Function()? clear, + }) { + return create?.call(tenantId, businessService, moduleName, limit, offset); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + create, + TResult Function(int sortCode)? sort, + TResult Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data)? + search, + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + searchRepeat, + TResult Function()? clear, + required TResult orElse(), + }) { + if (create != null) { + return create(tenantId, businessService, moduleName, limit, offset); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(WorkOrderInboxBlocCreateEvent value) create, + required TResult Function(WorkOrderInboxSortBlocEvent value) sort, + required TResult Function(WorkOrderInboxSearchBlocEvent value) search, + required TResult Function(WorkOrderInboxSearchRepeatBlocEvent value) + searchRepeat, + required TResult Function(WorkOrderInboxBlocClearEvent value) clear, + }) { + return create(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(WorkOrderInboxBlocCreateEvent value)? create, + TResult? Function(WorkOrderInboxSortBlocEvent value)? sort, + TResult? Function(WorkOrderInboxSearchBlocEvent value)? search, + TResult? Function(WorkOrderInboxSearchRepeatBlocEvent value)? searchRepeat, + TResult? Function(WorkOrderInboxBlocClearEvent value)? clear, + }) { + return create?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(WorkOrderInboxBlocCreateEvent value)? create, + TResult Function(WorkOrderInboxSortBlocEvent value)? sort, + TResult Function(WorkOrderInboxSearchBlocEvent value)? search, + TResult Function(WorkOrderInboxSearchRepeatBlocEvent value)? searchRepeat, + TResult Function(WorkOrderInboxBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (create != null) { + return create(this); + } + return orElse(); + } +} + +abstract class WorkOrderInboxBlocCreateEvent + implements WorkOrderInboxBlocEvent { + const factory WorkOrderInboxBlocCreateEvent( + {required final String tenantId, + required final String businessService, + required final String moduleName, + required final int limit, + required final int offset}) = _$WorkOrderInboxBlocCreateEvent; + + String get tenantId; + String get businessService; + String get moduleName; + int get limit; + int get offset; + @JsonKey(ignore: true) + _$$WorkOrderInboxBlocCreateEventCopyWith<_$WorkOrderInboxBlocCreateEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$WorkOrderInboxSortBlocEventCopyWith<$Res> { + factory _$$WorkOrderInboxSortBlocEventCopyWith( + _$WorkOrderInboxSortBlocEvent value, + $Res Function(_$WorkOrderInboxSortBlocEvent) then) = + __$$WorkOrderInboxSortBlocEventCopyWithImpl<$Res>; + @useResult + $Res call({int sortCode}); +} + +/// @nodoc +class __$$WorkOrderInboxSortBlocEventCopyWithImpl<$Res> + extends _$WorkOrderInboxBlocEventCopyWithImpl<$Res, + _$WorkOrderInboxSortBlocEvent> + implements _$$WorkOrderInboxSortBlocEventCopyWith<$Res> { + __$$WorkOrderInboxSortBlocEventCopyWithImpl( + _$WorkOrderInboxSortBlocEvent _value, + $Res Function(_$WorkOrderInboxSortBlocEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? sortCode = null, + }) { + return _then(_$WorkOrderInboxSortBlocEvent( + sortCode: null == sortCode + ? _value.sortCode + : sortCode // ignore: cast_nullable_to_non_nullable + as int, + )); + } +} + +/// @nodoc + +class _$WorkOrderInboxSortBlocEvent implements WorkOrderInboxSortBlocEvent { + const _$WorkOrderInboxSortBlocEvent({required this.sortCode}); + + @override + final int sortCode; + + @override + String toString() { + return 'WorkOrderInboxBlocEvent.sort(sortCode: $sortCode)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$WorkOrderInboxSortBlocEvent && + (identical(other.sortCode, sortCode) || + other.sortCode == sortCode)); + } + + @override + int get hashCode => Object.hash(runtimeType, sortCode); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$WorkOrderInboxSortBlocEventCopyWith<_$WorkOrderInboxSortBlocEvent> + get copyWith => __$$WorkOrderInboxSortBlocEventCopyWithImpl< + _$WorkOrderInboxSortBlocEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + create, + required TResult Function(int sortCode) sort, + required TResult Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data) + search, + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + searchRepeat, + required TResult Function() clear, + }) { + return sort(sortCode); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + create, + TResult? Function(int sortCode)? sort, + TResult? Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data)? + search, + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + searchRepeat, + TResult? Function()? clear, + }) { + return sort?.call(sortCode); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + create, + TResult Function(int sortCode)? sort, + TResult Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data)? + search, + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + searchRepeat, + TResult Function()? clear, + required TResult orElse(), + }) { + if (sort != null) { + return sort(sortCode); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(WorkOrderInboxBlocCreateEvent value) create, + required TResult Function(WorkOrderInboxSortBlocEvent value) sort, + required TResult Function(WorkOrderInboxSearchBlocEvent value) search, + required TResult Function(WorkOrderInboxSearchRepeatBlocEvent value) + searchRepeat, + required TResult Function(WorkOrderInboxBlocClearEvent value) clear, + }) { + return sort(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(WorkOrderInboxBlocCreateEvent value)? create, + TResult? Function(WorkOrderInboxSortBlocEvent value)? sort, + TResult? Function(WorkOrderInboxSearchBlocEvent value)? search, + TResult? Function(WorkOrderInboxSearchRepeatBlocEvent value)? searchRepeat, + TResult? Function(WorkOrderInboxBlocClearEvent value)? clear, + }) { + return sort?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(WorkOrderInboxBlocCreateEvent value)? create, + TResult Function(WorkOrderInboxSortBlocEvent value)? sort, + TResult Function(WorkOrderInboxSearchBlocEvent value)? search, + TResult Function(WorkOrderInboxSearchRepeatBlocEvent value)? searchRepeat, + TResult Function(WorkOrderInboxBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (sort != null) { + return sort(this); + } + return orElse(); + } +} + +abstract class WorkOrderInboxSortBlocEvent implements WorkOrderInboxBlocEvent { + const factory WorkOrderInboxSortBlocEvent({required final int sortCode}) = + _$WorkOrderInboxSortBlocEvent; + + int get sortCode; + @JsonKey(ignore: true) + _$$WorkOrderInboxSortBlocEventCopyWith<_$WorkOrderInboxSortBlocEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$WorkOrderInboxSearchBlocEventCopyWith<$Res> { + factory _$$WorkOrderInboxSearchBlocEventCopyWith( + _$WorkOrderInboxSearchBlocEvent value, + $Res Function(_$WorkOrderInboxSearchBlocEvent) then) = + __$$WorkOrderInboxSearchBlocEventCopyWithImpl<$Res>; + @useResult + $Res call( + {List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data}); +} + +/// @nodoc +class __$$WorkOrderInboxSearchBlocEventCopyWithImpl<$Res> + extends _$WorkOrderInboxBlocEventCopyWithImpl<$Res, + _$WorkOrderInboxSearchBlocEvent> + implements _$$WorkOrderInboxSearchBlocEventCopyWith<$Res> { + __$$WorkOrderInboxSearchBlocEventCopyWithImpl( + _$WorkOrderInboxSearchBlocEvent _value, + $Res Function(_$WorkOrderInboxSearchBlocEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? ward = freezed, + Object? projectId = freezed, + Object? contractNumber = freezed, + Object? projectName = freezed, + Object? limit = null, + Object? offset = null, + Object? data = null, + }) { + return _then(_$WorkOrderInboxSearchBlocEvent( + ward: freezed == ward + ? _value._ward + : ward // ignore: cast_nullable_to_non_nullable + as List?, + projectId: freezed == projectId + ? _value.projectId + : projectId // ignore: cast_nullable_to_non_nullable + as String?, + contractNumber: freezed == contractNumber + ? _value.contractNumber + : contractNumber // ignore: cast_nullable_to_non_nullable + as String?, + projectName: freezed == projectName + ? _value.projectName + : projectName // ignore: cast_nullable_to_non_nullable + as String?, + limit: null == limit + ? _value.limit + : limit // ignore: cast_nullable_to_non_nullable + as int, + offset: null == offset + ? _value.offset + : offset // ignore: cast_nullable_to_non_nullable + as int, + data: null == data + ? _value._data + : data // ignore: cast_nullable_to_non_nullable + as Map, + )); + } +} + +/// @nodoc + +class _$WorkOrderInboxSearchBlocEvent implements WorkOrderInboxSearchBlocEvent { + const _$WorkOrderInboxSearchBlocEvent( + {final List? ward, + this.projectId, + this.contractNumber, + this.projectName, + required this.limit, + required this.offset, + required final Map data}) + : _ward = ward, + _data = data; + + final List? _ward; + @override + List? get ward { + final value = _ward; + if (value == null) return null; + if (_ward is EqualUnmodifiableListView) return _ward; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + final String? projectId; + @override + final String? contractNumber; + @override + final String? projectName; + @override + final int limit; + @override + final int offset; + final Map _data; + @override + Map get data { + if (_data is EqualUnmodifiableMapView) return _data; + // ignore: implicit_dynamic_type + return EqualUnmodifiableMapView(_data); + } + + @override + String toString() { + return 'WorkOrderInboxBlocEvent.search(ward: $ward, projectId: $projectId, contractNumber: $contractNumber, projectName: $projectName, limit: $limit, offset: $offset, data: $data)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$WorkOrderInboxSearchBlocEvent && + const DeepCollectionEquality().equals(other._ward, _ward) && + (identical(other.projectId, projectId) || + other.projectId == projectId) && + (identical(other.contractNumber, contractNumber) || + other.contractNumber == contractNumber) && + (identical(other.projectName, projectName) || + other.projectName == projectName) && + (identical(other.limit, limit) || other.limit == limit) && + (identical(other.offset, offset) || other.offset == offset) && + const DeepCollectionEquality().equals(other._data, _data)); + } + + @override + int get hashCode => Object.hash( + runtimeType, + const DeepCollectionEquality().hash(_ward), + projectId, + contractNumber, + projectName, + limit, + offset, + const DeepCollectionEquality().hash(_data)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$WorkOrderInboxSearchBlocEventCopyWith<_$WorkOrderInboxSearchBlocEvent> + get copyWith => __$$WorkOrderInboxSearchBlocEventCopyWithImpl< + _$WorkOrderInboxSearchBlocEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + create, + required TResult Function(int sortCode) sort, + required TResult Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data) + search, + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + searchRepeat, + required TResult Function() clear, + }) { + return search( + ward, projectId, contractNumber, projectName, limit, offset, data); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + create, + TResult? Function(int sortCode)? sort, + TResult? Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data)? + search, + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + searchRepeat, + TResult? Function()? clear, + }) { + return search?.call( + ward, projectId, contractNumber, projectName, limit, offset, data); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + create, + TResult Function(int sortCode)? sort, + TResult Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data)? + search, + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + searchRepeat, + TResult Function()? clear, + required TResult orElse(), + }) { + if (search != null) { + return search( + ward, projectId, contractNumber, projectName, limit, offset, data); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(WorkOrderInboxBlocCreateEvent value) create, + required TResult Function(WorkOrderInboxSortBlocEvent value) sort, + required TResult Function(WorkOrderInboxSearchBlocEvent value) search, + required TResult Function(WorkOrderInboxSearchRepeatBlocEvent value) + searchRepeat, + required TResult Function(WorkOrderInboxBlocClearEvent value) clear, + }) { + return search(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(WorkOrderInboxBlocCreateEvent value)? create, + TResult? Function(WorkOrderInboxSortBlocEvent value)? sort, + TResult? Function(WorkOrderInboxSearchBlocEvent value)? search, + TResult? Function(WorkOrderInboxSearchRepeatBlocEvent value)? searchRepeat, + TResult? Function(WorkOrderInboxBlocClearEvent value)? clear, + }) { + return search?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(WorkOrderInboxBlocCreateEvent value)? create, + TResult Function(WorkOrderInboxSortBlocEvent value)? sort, + TResult Function(WorkOrderInboxSearchBlocEvent value)? search, + TResult Function(WorkOrderInboxSearchRepeatBlocEvent value)? searchRepeat, + TResult Function(WorkOrderInboxBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (search != null) { + return search(this); + } + return orElse(); + } +} + +abstract class WorkOrderInboxSearchBlocEvent + implements WorkOrderInboxBlocEvent { + const factory WorkOrderInboxSearchBlocEvent( + {final List? ward, + final String? projectId, + final String? contractNumber, + final String? projectName, + required final int limit, + required final int offset, + required final Map data}) = + _$WorkOrderInboxSearchBlocEvent; + + List? get ward; + String? get projectId; + String? get contractNumber; + String? get projectName; + int get limit; + int get offset; + Map get data; + @JsonKey(ignore: true) + _$$WorkOrderInboxSearchBlocEventCopyWith<_$WorkOrderInboxSearchBlocEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$WorkOrderInboxSearchRepeatBlocEventCopyWith<$Res> { + factory _$$WorkOrderInboxSearchRepeatBlocEventCopyWith( + _$WorkOrderInboxSearchRepeatBlocEvent value, + $Res Function(_$WorkOrderInboxSearchRepeatBlocEvent) then) = + __$$WorkOrderInboxSearchRepeatBlocEventCopyWithImpl<$Res>; + @useResult + $Res call( + {String tenantId, + String businessService, + String moduleName, + int limit, + int offset}); +} + +/// @nodoc +class __$$WorkOrderInboxSearchRepeatBlocEventCopyWithImpl<$Res> + extends _$WorkOrderInboxBlocEventCopyWithImpl<$Res, + _$WorkOrderInboxSearchRepeatBlocEvent> + implements _$$WorkOrderInboxSearchRepeatBlocEventCopyWith<$Res> { + __$$WorkOrderInboxSearchRepeatBlocEventCopyWithImpl( + _$WorkOrderInboxSearchRepeatBlocEvent _value, + $Res Function(_$WorkOrderInboxSearchRepeatBlocEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? tenantId = null, + Object? businessService = null, + Object? moduleName = null, + Object? limit = null, + Object? offset = null, + }) { + return _then(_$WorkOrderInboxSearchRepeatBlocEvent( + tenantId: null == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String, + businessService: null == businessService + ? _value.businessService + : businessService // ignore: cast_nullable_to_non_nullable + as String, + moduleName: null == moduleName + ? _value.moduleName + : moduleName // ignore: cast_nullable_to_non_nullable + as String, + limit: null == limit + ? _value.limit + : limit // ignore: cast_nullable_to_non_nullable + as int, + offset: null == offset + ? _value.offset + : offset // ignore: cast_nullable_to_non_nullable + as int, + )); + } +} + +/// @nodoc + +class _$WorkOrderInboxSearchRepeatBlocEvent + implements WorkOrderInboxSearchRepeatBlocEvent { + const _$WorkOrderInboxSearchRepeatBlocEvent( + {required this.tenantId, + required this.businessService, + required this.moduleName, + required this.limit, + required this.offset}); + + @override + final String tenantId; + @override + final String businessService; + @override + final String moduleName; + @override + final int limit; + @override + final int offset; + + @override + String toString() { + return 'WorkOrderInboxBlocEvent.searchRepeat(tenantId: $tenantId, businessService: $businessService, moduleName: $moduleName, limit: $limit, offset: $offset)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$WorkOrderInboxSearchRepeatBlocEvent && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.businessService, businessService) || + other.businessService == businessService) && + (identical(other.moduleName, moduleName) || + other.moduleName == moduleName) && + (identical(other.limit, limit) || other.limit == limit) && + (identical(other.offset, offset) || other.offset == offset)); + } + + @override + int get hashCode => Object.hash( + runtimeType, tenantId, businessService, moduleName, limit, offset); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$WorkOrderInboxSearchRepeatBlocEventCopyWith< + _$WorkOrderInboxSearchRepeatBlocEvent> + get copyWith => __$$WorkOrderInboxSearchRepeatBlocEventCopyWithImpl< + _$WorkOrderInboxSearchRepeatBlocEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + create, + required TResult Function(int sortCode) sort, + required TResult Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data) + search, + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + searchRepeat, + required TResult Function() clear, + }) { + return searchRepeat(tenantId, businessService, moduleName, limit, offset); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + create, + TResult? Function(int sortCode)? sort, + TResult? Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data)? + search, + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + searchRepeat, + TResult? Function()? clear, + }) { + return searchRepeat?.call( + tenantId, businessService, moduleName, limit, offset); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + create, + TResult Function(int sortCode)? sort, + TResult Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data)? + search, + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + searchRepeat, + TResult Function()? clear, + required TResult orElse(), + }) { + if (searchRepeat != null) { + return searchRepeat(tenantId, businessService, moduleName, limit, offset); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(WorkOrderInboxBlocCreateEvent value) create, + required TResult Function(WorkOrderInboxSortBlocEvent value) sort, + required TResult Function(WorkOrderInboxSearchBlocEvent value) search, + required TResult Function(WorkOrderInboxSearchRepeatBlocEvent value) + searchRepeat, + required TResult Function(WorkOrderInboxBlocClearEvent value) clear, + }) { + return searchRepeat(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(WorkOrderInboxBlocCreateEvent value)? create, + TResult? Function(WorkOrderInboxSortBlocEvent value)? sort, + TResult? Function(WorkOrderInboxSearchBlocEvent value)? search, + TResult? Function(WorkOrderInboxSearchRepeatBlocEvent value)? searchRepeat, + TResult? Function(WorkOrderInboxBlocClearEvent value)? clear, + }) { + return searchRepeat?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(WorkOrderInboxBlocCreateEvent value)? create, + TResult Function(WorkOrderInboxSortBlocEvent value)? sort, + TResult Function(WorkOrderInboxSearchBlocEvent value)? search, + TResult Function(WorkOrderInboxSearchRepeatBlocEvent value)? searchRepeat, + TResult Function(WorkOrderInboxBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (searchRepeat != null) { + return searchRepeat(this); + } + return orElse(); + } +} + +abstract class WorkOrderInboxSearchRepeatBlocEvent + implements WorkOrderInboxBlocEvent { + const factory WorkOrderInboxSearchRepeatBlocEvent( + {required final String tenantId, + required final String businessService, + required final String moduleName, + required final int limit, + required final int offset}) = _$WorkOrderInboxSearchRepeatBlocEvent; + + String get tenantId; + String get businessService; + String get moduleName; + int get limit; + int get offset; + @JsonKey(ignore: true) + _$$WorkOrderInboxSearchRepeatBlocEventCopyWith< + _$WorkOrderInboxSearchRepeatBlocEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$WorkOrderInboxBlocClearEventCopyWith<$Res> { + factory _$$WorkOrderInboxBlocClearEventCopyWith( + _$WorkOrderInboxBlocClearEvent value, + $Res Function(_$WorkOrderInboxBlocClearEvent) then) = + __$$WorkOrderInboxBlocClearEventCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$WorkOrderInboxBlocClearEventCopyWithImpl<$Res> + extends _$WorkOrderInboxBlocEventCopyWithImpl<$Res, + _$WorkOrderInboxBlocClearEvent> + implements _$$WorkOrderInboxBlocClearEventCopyWith<$Res> { + __$$WorkOrderInboxBlocClearEventCopyWithImpl( + _$WorkOrderInboxBlocClearEvent _value, + $Res Function(_$WorkOrderInboxBlocClearEvent) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$WorkOrderInboxBlocClearEvent implements WorkOrderInboxBlocClearEvent { + const _$WorkOrderInboxBlocClearEvent(); + + @override + String toString() { + return 'WorkOrderInboxBlocEvent.clear()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$WorkOrderInboxBlocClearEvent); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + create, + required TResult Function(int sortCode) sort, + required TResult Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data) + search, + required TResult Function(String tenantId, String businessService, + String moduleName, int limit, int offset) + searchRepeat, + required TResult Function() clear, + }) { + return clear(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + create, + TResult? Function(int sortCode)? sort, + TResult? Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data)? + search, + TResult? Function(String tenantId, String businessService, + String moduleName, int limit, int offset)? + searchRepeat, + TResult? Function()? clear, + }) { + return clear?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + create, + TResult Function(int sortCode)? sort, + TResult Function( + List? ward, + String? projectId, + String? contractNumber, + String? projectName, + int limit, + int offset, + Map data)? + search, + TResult Function(String tenantId, String businessService, String moduleName, + int limit, int offset)? + searchRepeat, + TResult Function()? clear, + required TResult orElse(), + }) { + if (clear != null) { + return clear(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(WorkOrderInboxBlocCreateEvent value) create, + required TResult Function(WorkOrderInboxSortBlocEvent value) sort, + required TResult Function(WorkOrderInboxSearchBlocEvent value) search, + required TResult Function(WorkOrderInboxSearchRepeatBlocEvent value) + searchRepeat, + required TResult Function(WorkOrderInboxBlocClearEvent value) clear, + }) { + return clear(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(WorkOrderInboxBlocCreateEvent value)? create, + TResult? Function(WorkOrderInboxSortBlocEvent value)? sort, + TResult? Function(WorkOrderInboxSearchBlocEvent value)? search, + TResult? Function(WorkOrderInboxSearchRepeatBlocEvent value)? searchRepeat, + TResult? Function(WorkOrderInboxBlocClearEvent value)? clear, + }) { + return clear?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(WorkOrderInboxBlocCreateEvent value)? create, + TResult Function(WorkOrderInboxSortBlocEvent value)? sort, + TResult Function(WorkOrderInboxSearchBlocEvent value)? search, + TResult Function(WorkOrderInboxSearchRepeatBlocEvent value)? searchRepeat, + TResult Function(WorkOrderInboxBlocClearEvent value)? clear, + required TResult orElse(), + }) { + if (clear != null) { + return clear(this); + } + return orElse(); + } +} + +abstract class WorkOrderInboxBlocClearEvent implements WorkOrderInboxBlocEvent { + const factory WorkOrderInboxBlocClearEvent() = _$WorkOrderInboxBlocClearEvent; +} + +/// @nodoc +mixin _$WorkOrderInboxState { + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function( + WOInboxResponse? mbInboxResponse, + bool isLoading, + List? contracts, + bool search, + Map searchData) + loaded, + required TResult Function(String? error) error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function( + WOInboxResponse? mbInboxResponse, + bool isLoading, + List? contracts, + bool search, + Map searchData)? + loaded, + TResult? Function(String? error)? error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function( + WOInboxResponse? mbInboxResponse, + bool isLoading, + List? contracts, + bool search, + Map searchData)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) => + throw _privateConstructorUsedError; + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $WorkOrderInboxStateCopyWith<$Res> { + factory $WorkOrderInboxStateCopyWith( + WorkOrderInboxState value, $Res Function(WorkOrderInboxState) then) = + _$WorkOrderInboxStateCopyWithImpl<$Res, WorkOrderInboxState>; +} + +/// @nodoc +class _$WorkOrderInboxStateCopyWithImpl<$Res, $Val extends WorkOrderInboxState> + implements $WorkOrderInboxStateCopyWith<$Res> { + _$WorkOrderInboxStateCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; +} + +/// @nodoc +abstract class _$$_InitialCopyWith<$Res> { + factory _$$_InitialCopyWith( + _$_Initial value, $Res Function(_$_Initial) then) = + __$$_InitialCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$_InitialCopyWithImpl<$Res> + extends _$WorkOrderInboxStateCopyWithImpl<$Res, _$_Initial> + implements _$$_InitialCopyWith<$Res> { + __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$_Initial extends _Initial { + const _$_Initial() : super._(); + + @override + String toString() { + return 'WorkOrderInboxState.initial()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$_Initial); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function( + WOInboxResponse? mbInboxResponse, + bool isLoading, + List? contracts, + bool search, + Map searchData) + loaded, + required TResult Function(String? error) error, + }) { + return initial(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function( + WOInboxResponse? mbInboxResponse, + bool isLoading, + List? contracts, + bool search, + Map searchData)? + loaded, + TResult? Function(String? error)? error, + }) { + return initial?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function( + WOInboxResponse? mbInboxResponse, + bool isLoading, + List? contracts, + bool search, + Map searchData)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (initial != null) { + return initial(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return initial(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return initial?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (initial != null) { + return initial(this); + } + return orElse(); + } +} + +abstract class _Initial extends WorkOrderInboxState { + const factory _Initial() = _$_Initial; + const _Initial._() : super._(); +} + +/// @nodoc +abstract class _$$_LoadingCopyWith<$Res> { + factory _$$_LoadingCopyWith( + _$_Loading value, $Res Function(_$_Loading) then) = + __$$_LoadingCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$_LoadingCopyWithImpl<$Res> + extends _$WorkOrderInboxStateCopyWithImpl<$Res, _$_Loading> + implements _$$_LoadingCopyWith<$Res> { + __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$_Loading extends _Loading { + const _$_Loading() : super._(); + + @override + String toString() { + return 'WorkOrderInboxState.loading()'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$_Loading); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function( + WOInboxResponse? mbInboxResponse, + bool isLoading, + List? contracts, + bool search, + Map searchData) + loaded, + required TResult Function(String? error) error, + }) { + return loading(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function( + WOInboxResponse? mbInboxResponse, + bool isLoading, + List? contracts, + bool search, + Map searchData)? + loaded, + TResult? Function(String? error)? error, + }) { + return loading?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function( + WOInboxResponse? mbInboxResponse, + bool isLoading, + List? contracts, + bool search, + Map searchData)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (loading != null) { + return loading(); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return loading(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return loading?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (loading != null) { + return loading(this); + } + return orElse(); + } +} + +abstract class _Loading extends WorkOrderInboxState { + const factory _Loading() = _$_Loading; + const _Loading._() : super._(); +} + +/// @nodoc +abstract class _$$_LoadedCopyWith<$Res> { + factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = + __$$_LoadedCopyWithImpl<$Res>; + @useResult + $Res call( + {WOInboxResponse? mbInboxResponse, + bool isLoading, + List? contracts, + bool search, + Map searchData}); + + $WOInboxResponseCopyWith<$Res>? get mbInboxResponse; +} + +/// @nodoc +class __$$_LoadedCopyWithImpl<$Res> + extends _$WorkOrderInboxStateCopyWithImpl<$Res, _$_Loaded> + implements _$$_LoadedCopyWith<$Res> { + __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? mbInboxResponse = freezed, + Object? isLoading = null, + Object? contracts = freezed, + Object? search = null, + Object? searchData = null, + }) { + return _then(_$_Loaded( + freezed == mbInboxResponse + ? _value.mbInboxResponse + : mbInboxResponse // ignore: cast_nullable_to_non_nullable + as WOInboxResponse?, + null == isLoading + ? _value.isLoading + : isLoading // ignore: cast_nullable_to_non_nullable + as bool, + freezed == contracts + ? _value._contracts + : contracts // ignore: cast_nullable_to_non_nullable + as List?, + null == search + ? _value.search + : search // ignore: cast_nullable_to_non_nullable + as bool, + null == searchData + ? _value._searchData + : searchData // ignore: cast_nullable_to_non_nullable + as Map, + )); + } + + @override + @pragma('vm:prefer-inline') + $WOInboxResponseCopyWith<$Res>? get mbInboxResponse { + if (_value.mbInboxResponse == null) { + return null; + } + + return $WOInboxResponseCopyWith<$Res>(_value.mbInboxResponse!, (value) { + return _then(_value.copyWith(mbInboxResponse: value)); + }); + } +} + +/// @nodoc + +class _$_Loaded extends _Loaded { + const _$_Loaded( + this.mbInboxResponse, + this.isLoading, + final List? contracts, + this.search, + final Map searchData) + : _contracts = contracts, + _searchData = searchData, + super._(); + + @override + final WOInboxResponse? mbInboxResponse; + @override + final bool isLoading; + final List? _contracts; + @override + List? get contracts { + final value = _contracts; + if (value == null) return null; + if (_contracts is EqualUnmodifiableListView) return _contracts; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + final bool search; + final Map _searchData; + @override + Map get searchData { + if (_searchData is EqualUnmodifiableMapView) return _searchData; + // ignore: implicit_dynamic_type + return EqualUnmodifiableMapView(_searchData); + } + + @override + String toString() { + return 'WorkOrderInboxState.loaded(mbInboxResponse: $mbInboxResponse, isLoading: $isLoading, contracts: $contracts, search: $search, searchData: $searchData)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Loaded && + (identical(other.mbInboxResponse, mbInboxResponse) || + other.mbInboxResponse == mbInboxResponse) && + (identical(other.isLoading, isLoading) || + other.isLoading == isLoading) && + const DeepCollectionEquality() + .equals(other._contracts, _contracts) && + (identical(other.search, search) || other.search == search) && + const DeepCollectionEquality() + .equals(other._searchData, _searchData)); + } + + @override + int get hashCode => Object.hash( + runtimeType, + mbInboxResponse, + isLoading, + const DeepCollectionEquality().hash(_contracts), + search, + const DeepCollectionEquality().hash(_searchData)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_LoadedCopyWith<_$_Loaded> get copyWith => + __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function( + WOInboxResponse? mbInboxResponse, + bool isLoading, + List? contracts, + bool search, + Map searchData) + loaded, + required TResult Function(String? error) error, + }) { + return loaded(mbInboxResponse, isLoading, contracts, search, searchData); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function( + WOInboxResponse? mbInboxResponse, + bool isLoading, + List? contracts, + bool search, + Map searchData)? + loaded, + TResult? Function(String? error)? error, + }) { + return loaded?.call( + mbInboxResponse, isLoading, contracts, search, searchData); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function( + WOInboxResponse? mbInboxResponse, + bool isLoading, + List? contracts, + bool search, + Map searchData)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (loaded != null) { + return loaded(mbInboxResponse, isLoading, contracts, search, searchData); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return loaded(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return loaded?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (loaded != null) { + return loaded(this); + } + return orElse(); + } +} + +abstract class _Loaded extends WorkOrderInboxState { + const factory _Loaded( + final WOInboxResponse? mbInboxResponse, + final bool isLoading, + final List? contracts, + final bool search, + final Map searchData) = _$_Loaded; + const _Loaded._() : super._(); + + WOInboxResponse? get mbInboxResponse; + bool get isLoading; + List? get contracts; + bool get search; + Map get searchData; + @JsonKey(ignore: true) + _$$_LoadedCopyWith<_$_Loaded> get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$_ErrorCopyWith<$Res> { + factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = + __$$_ErrorCopyWithImpl<$Res>; + @useResult + $Res call({String? error}); +} + +/// @nodoc +class __$$_ErrorCopyWithImpl<$Res> + extends _$WorkOrderInboxStateCopyWithImpl<$Res, _$_Error> + implements _$$_ErrorCopyWith<$Res> { + __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? error = freezed, + }) { + return _then(_$_Error( + freezed == error + ? _value.error + : error // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc + +class _$_Error extends _Error { + const _$_Error(this.error) : super._(); + + @override + final String? error; + + @override + String toString() { + return 'WorkOrderInboxState.error(error: $error)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Error && + (identical(other.error, error) || other.error == error)); + } + + @override + int get hashCode => Object.hash(runtimeType, error); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_ErrorCopyWith<_$_Error> get copyWith => + __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function( + WOInboxResponse? mbInboxResponse, + bool isLoading, + List? contracts, + bool search, + Map searchData) + loaded, + required TResult Function(String? error) error, + }) { + return error(this.error); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function( + WOInboxResponse? mbInboxResponse, + bool isLoading, + List? contracts, + bool search, + Map searchData)? + loaded, + TResult? Function(String? error)? error, + }) { + return error?.call(this.error); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function( + WOInboxResponse? mbInboxResponse, + bool isLoading, + List? contracts, + bool search, + Map searchData)? + loaded, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(this.error); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Error value) error, + }) { + return error(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Error value)? error, + }) { + return error?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (error != null) { + return error(this); + } + return orElse(); + } +} + +abstract class _Error extends WorkOrderInboxState { + const factory _Error(final String? error) = _$_Error; + const _Error._() : super._(); + + String? get error; + @JsonKey(ignore: true) + _$$_ErrorCopyWith<_$_Error> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/blocs/localization/localization.dart b/frontend/works_shg_app/lib/blocs/localization/localization.dart index 933f4a1d1e..d64ec90880 100644 --- a/frontend/works_shg_app/lib/blocs/localization/localization.dart +++ b/frontend/works_shg_app/lib/blocs/localization/localization.dart @@ -290,4 +290,4 @@ class LocalizationState with _$LocalizationState { List? moduleStatus, ) = _Loaded; const factory LocalizationState.error(String? error) = _Error; -} +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/get_muster_workflow.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/get_muster_workflow.dart index d92ef4f291..44ea492764 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/get_muster_workflow.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/get_muster_workflow.dart @@ -18,6 +18,7 @@ class MusterGetWorkflowBloc extends Bloc { MusterGetWorkflowBloc() : super(const MusterGetWorkflowState.initial()) { on(_onGetWorkflow); + on(_onGetMBWorkflow); on(_onDispose); } @@ -49,6 +50,36 @@ class MusterGetWorkflowBloc emit(const MusterGetWorkflowState.error()); } } + // mb + FutureOr _onGetMBWorkflow( + FetchMBWorkFlowEvent event, MusterGetWorkflowEmitter emit) async { + Client client = Client(); + try { + emit(const MusterGetWorkflowState.initial()); + emit(const MusterGetWorkflowState.loading()); + MusterWorkFlowModel musterWorkFlowModel = + await WorkFlowRepository(client.init()).getWorkFlow( + url: Urls.commonServices.workflow, + options: + Options(extra: {"accessToken": GlobalVariables.authToken}), + queryParameters: { + "history": "true", + "tenantId": event.tenantId, + + "businessIds": event.mbNumber, + }); + WorkflowState? state = + musterWorkFlowModel.processInstances?.first.workflowState; + + + emit(MusterGetWorkflowState.loaded( + musterWorkFlowModel: musterWorkFlowModel, + isInWorkflow: true)); + } on DioError catch (e) { + emit(const MusterGetWorkflowState.error()); + } + } + FutureOr _onDispose(DisposeMusterRollWorkflowEvent event, MusterGetWorkflowEmitter emit) async { @@ -62,6 +93,12 @@ class MusterGetWorkflowEvent with _$MusterGetWorkflowEvent { {required String tenantId, required String musterRollNumber, required String musterSentBackCode}) = GetMusterWorkflowEvent; +const factory MusterGetWorkflowEvent.fetch( + {required String tenantId, + required String mbNumber, + + }) = FetchMBWorkFlowEvent; + const factory MusterGetWorkflowEvent.dispose() = DisposeMusterRollWorkflowEvent; } @@ -73,7 +110,11 @@ class MusterGetWorkflowState with _$MusterGetWorkflowState { const factory MusterGetWorkflowState.loading() = _Loading; const factory MusterGetWorkflowState.loaded( {MusterWorkFlowModel? musterWorkFlowModel, - @Default(false) bool isInWorkflow}) = _Loaded; + + @Default(false) bool isInWorkflow, + + + }) = _Loaded; const factory MusterGetWorkflowState.error() = _Error; // const factory MusterGetWorkflowState({ diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/get_muster_workflow.freezed.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/get_muster_workflow.freezed.dart index c726067e83..a60cfcf05c 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/get_muster_workflow.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/get_muster_workflow.freezed.dart @@ -21,6 +21,7 @@ mixin _$MusterGetWorkflowEvent { required TResult Function( String tenantId, String musterRollNumber, String musterSentBackCode) get, + required TResult Function(String tenantId, String mbNumber) fetch, required TResult Function() dispose, }) => throw _privateConstructorUsedError; @@ -29,6 +30,7 @@ mixin _$MusterGetWorkflowEvent { TResult? Function(String tenantId, String musterRollNumber, String musterSentBackCode)? get, + TResult? Function(String tenantId, String mbNumber)? fetch, TResult? Function()? dispose, }) => throw _privateConstructorUsedError; @@ -37,6 +39,7 @@ mixin _$MusterGetWorkflowEvent { TResult Function(String tenantId, String musterRollNumber, String musterSentBackCode)? get, + TResult Function(String tenantId, String mbNumber)? fetch, TResult Function()? dispose, required TResult orElse(), }) => @@ -44,18 +47,21 @@ mixin _$MusterGetWorkflowEvent { @optionalTypeArgs TResult map({ required TResult Function(GetMusterWorkflowEvent value) get, + required TResult Function(FetchMBWorkFlowEvent value) fetch, required TResult Function(DisposeMusterRollWorkflowEvent value) dispose, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? mapOrNull({ TResult? Function(GetMusterWorkflowEvent value)? get, + TResult? Function(FetchMBWorkFlowEvent value)? fetch, TResult? Function(DisposeMusterRollWorkflowEvent value)? dispose, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeMap({ TResult Function(GetMusterWorkflowEvent value)? get, + TResult Function(FetchMBWorkFlowEvent value)? fetch, TResult Function(DisposeMusterRollWorkflowEvent value)? dispose, required TResult orElse(), }) => @@ -173,6 +179,7 @@ class _$GetMusterWorkflowEvent implements GetMusterWorkflowEvent { required TResult Function( String tenantId, String musterRollNumber, String musterSentBackCode) get, + required TResult Function(String tenantId, String mbNumber) fetch, required TResult Function() dispose, }) { return get(tenantId, musterRollNumber, musterSentBackCode); @@ -184,6 +191,7 @@ class _$GetMusterWorkflowEvent implements GetMusterWorkflowEvent { TResult? Function(String tenantId, String musterRollNumber, String musterSentBackCode)? get, + TResult? Function(String tenantId, String mbNumber)? fetch, TResult? Function()? dispose, }) { return get?.call(tenantId, musterRollNumber, musterSentBackCode); @@ -195,6 +203,7 @@ class _$GetMusterWorkflowEvent implements GetMusterWorkflowEvent { TResult Function(String tenantId, String musterRollNumber, String musterSentBackCode)? get, + TResult Function(String tenantId, String mbNumber)? fetch, TResult Function()? dispose, required TResult orElse(), }) { @@ -208,6 +217,7 @@ class _$GetMusterWorkflowEvent implements GetMusterWorkflowEvent { @optionalTypeArgs TResult map({ required TResult Function(GetMusterWorkflowEvent value) get, + required TResult Function(FetchMBWorkFlowEvent value) fetch, required TResult Function(DisposeMusterRollWorkflowEvent value) dispose, }) { return get(this); @@ -217,6 +227,7 @@ class _$GetMusterWorkflowEvent implements GetMusterWorkflowEvent { @optionalTypeArgs TResult? mapOrNull({ TResult? Function(GetMusterWorkflowEvent value)? get, + TResult? Function(FetchMBWorkFlowEvent value)? fetch, TResult? Function(DisposeMusterRollWorkflowEvent value)? dispose, }) { return get?.call(this); @@ -226,6 +237,7 @@ class _$GetMusterWorkflowEvent implements GetMusterWorkflowEvent { @optionalTypeArgs TResult maybeMap({ TResult Function(GetMusterWorkflowEvent value)? get, + TResult Function(FetchMBWorkFlowEvent value)? fetch, TResult Function(DisposeMusterRollWorkflowEvent value)? dispose, required TResult orElse(), }) { @@ -250,6 +262,166 @@ abstract class GetMusterWorkflowEvent implements MusterGetWorkflowEvent { throw _privateConstructorUsedError; } +/// @nodoc +abstract class _$$FetchMBWorkFlowEventCopyWith<$Res> { + factory _$$FetchMBWorkFlowEventCopyWith(_$FetchMBWorkFlowEvent value, + $Res Function(_$FetchMBWorkFlowEvent) then) = + __$$FetchMBWorkFlowEventCopyWithImpl<$Res>; + @useResult + $Res call({String tenantId, String mbNumber}); +} + +/// @nodoc +class __$$FetchMBWorkFlowEventCopyWithImpl<$Res> + extends _$MusterGetWorkflowEventCopyWithImpl<$Res, _$FetchMBWorkFlowEvent> + implements _$$FetchMBWorkFlowEventCopyWith<$Res> { + __$$FetchMBWorkFlowEventCopyWithImpl(_$FetchMBWorkFlowEvent _value, + $Res Function(_$FetchMBWorkFlowEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? tenantId = null, + Object? mbNumber = null, + }) { + return _then(_$FetchMBWorkFlowEvent( + tenantId: null == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String, + mbNumber: null == mbNumber + ? _value.mbNumber + : mbNumber // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +/// @nodoc + +class _$FetchMBWorkFlowEvent implements FetchMBWorkFlowEvent { + const _$FetchMBWorkFlowEvent( + {required this.tenantId, required this.mbNumber}); + + @override + final String tenantId; + @override + final String mbNumber; + + @override + String toString() { + return 'MusterGetWorkflowEvent.fetch(tenantId: $tenantId, mbNumber: $mbNumber)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$FetchMBWorkFlowEvent && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.mbNumber, mbNumber) || + other.mbNumber == mbNumber)); + } + + @override + int get hashCode => Object.hash(runtimeType, tenantId, mbNumber); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$FetchMBWorkFlowEventCopyWith<_$FetchMBWorkFlowEvent> get copyWith => + __$$FetchMBWorkFlowEventCopyWithImpl<_$FetchMBWorkFlowEvent>( + this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + String tenantId, String musterRollNumber, String musterSentBackCode) + get, + required TResult Function(String tenantId, String mbNumber) fetch, + required TResult Function() dispose, + }) { + return fetch(tenantId, mbNumber); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String tenantId, String musterRollNumber, + String musterSentBackCode)? + get, + TResult? Function(String tenantId, String mbNumber)? fetch, + TResult? Function()? dispose, + }) { + return fetch?.call(tenantId, mbNumber); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String tenantId, String musterRollNumber, + String musterSentBackCode)? + get, + TResult Function(String tenantId, String mbNumber)? fetch, + TResult Function()? dispose, + required TResult orElse(), + }) { + if (fetch != null) { + return fetch(tenantId, mbNumber); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(GetMusterWorkflowEvent value) get, + required TResult Function(FetchMBWorkFlowEvent value) fetch, + required TResult Function(DisposeMusterRollWorkflowEvent value) dispose, + }) { + return fetch(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(GetMusterWorkflowEvent value)? get, + TResult? Function(FetchMBWorkFlowEvent value)? fetch, + TResult? Function(DisposeMusterRollWorkflowEvent value)? dispose, + }) { + return fetch?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(GetMusterWorkflowEvent value)? get, + TResult Function(FetchMBWorkFlowEvent value)? fetch, + TResult Function(DisposeMusterRollWorkflowEvent value)? dispose, + required TResult orElse(), + }) { + if (fetch != null) { + return fetch(this); + } + return orElse(); + } +} + +abstract class FetchMBWorkFlowEvent implements MusterGetWorkflowEvent { + const factory FetchMBWorkFlowEvent( + {required final String tenantId, + required final String mbNumber}) = _$FetchMBWorkFlowEvent; + + String get tenantId; + String get mbNumber; + @JsonKey(ignore: true) + _$$FetchMBWorkFlowEventCopyWith<_$FetchMBWorkFlowEvent> get copyWith => + throw _privateConstructorUsedError; +} + /// @nodoc abstract class _$$DisposeMusterRollWorkflowEventCopyWith<$Res> { factory _$$DisposeMusterRollWorkflowEventCopyWith( @@ -296,6 +468,7 @@ class _$DisposeMusterRollWorkflowEvent required TResult Function( String tenantId, String musterRollNumber, String musterSentBackCode) get, + required TResult Function(String tenantId, String mbNumber) fetch, required TResult Function() dispose, }) { return dispose(); @@ -307,6 +480,7 @@ class _$DisposeMusterRollWorkflowEvent TResult? Function(String tenantId, String musterRollNumber, String musterSentBackCode)? get, + TResult? Function(String tenantId, String mbNumber)? fetch, TResult? Function()? dispose, }) { return dispose?.call(); @@ -318,6 +492,7 @@ class _$DisposeMusterRollWorkflowEvent TResult Function(String tenantId, String musterRollNumber, String musterSentBackCode)? get, + TResult Function(String tenantId, String mbNumber)? fetch, TResult Function()? dispose, required TResult orElse(), }) { @@ -331,6 +506,7 @@ class _$DisposeMusterRollWorkflowEvent @optionalTypeArgs TResult map({ required TResult Function(GetMusterWorkflowEvent value) get, + required TResult Function(FetchMBWorkFlowEvent value) fetch, required TResult Function(DisposeMusterRollWorkflowEvent value) dispose, }) { return dispose(this); @@ -340,6 +516,7 @@ class _$DisposeMusterRollWorkflowEvent @optionalTypeArgs TResult? mapOrNull({ TResult? Function(GetMusterWorkflowEvent value)? get, + TResult? Function(FetchMBWorkFlowEvent value)? fetch, TResult? Function(DisposeMusterRollWorkflowEvent value)? dispose, }) { return dispose?.call(this); @@ -349,6 +526,7 @@ class _$DisposeMusterRollWorkflowEvent @optionalTypeArgs TResult maybeMap({ TResult Function(GetMusterWorkflowEvent value)? get, + TResult Function(FetchMBWorkFlowEvent value)? fetch, TResult Function(DisposeMusterRollWorkflowEvent value)? dispose, required TResult orElse(), }) { diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/search_muster_roll.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/search_muster_roll.dart index 2ad98dedb8..441c5e5423 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/search_muster_roll.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/search_muster_roll.dart @@ -19,6 +19,7 @@ class MusterRollSearchBloc extends Bloc { MusterRollSearchBloc() : super(const MusterRollSearchState.initial()) { on(_onSearch); + on(_onMbSearch); } FutureOr _onSearch( @@ -47,11 +48,43 @@ class MusterRollSearchBloc emit(const MusterRollSearchState.loaded(MusterRollsModel())); } } + ///// + FutureOr _onMbSearch( + MbSearchMusterRollEvent event, MusterRollSearchEmitter emit) async { + Client client = Client(); + try { + emit(const MusterRollSearchState.loading()); + + MusterRollsModel musterRollsModel = + await MusterRollRepository(client.init()).searchMusterRolls( + url: Urls.musterRollServices.searchMusterRolls, + queryParameters: { + "tenantId": event.tenantId, + "musterRollNumber":event.musterRollNumner + }, + options: Options(extra: { + "userInfo": GlobalVariables.userRequestModel, + "accessToken": GlobalVariables.authToken, + "apiId": "asset-services", + "msgId": "search with from and to values" + })); + await Future.delayed(const Duration(seconds: 1)); + emit(MusterRollSearchState.loaded(musterRollsModel)); + } on DioError catch (e) { + emit(const MusterRollSearchState.loaded(MusterRollsModel())); + } + } } @freezed class MusterRollSearchEvent with _$MusterRollSearchEvent { const factory MusterRollSearchEvent.search() = SearchMusterRollEvent; + const factory MusterRollSearchEvent.mbMusterSearch( + { + required final String musterRollNumner, + required final String tenantId, + } + ) = MbSearchMusterRollEvent; } @freezed diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/search_muster_roll.freezed.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/search_muster_roll.freezed.dart index 2baabd00bf..304775382c 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/search_muster_roll.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/search_muster_roll.freezed.dart @@ -19,32 +19,39 @@ mixin _$MusterRollSearchEvent { @optionalTypeArgs TResult when({ required TResult Function() search, + required TResult Function(String musterRollNumner, String tenantId) + mbMusterSearch, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? whenOrNull({ TResult? Function()? search, + TResult? Function(String musterRollNumner, String tenantId)? mbMusterSearch, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeWhen({ TResult Function()? search, + TResult Function(String musterRollNumner, String tenantId)? mbMusterSearch, required TResult orElse(), }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult map({ required TResult Function(SearchMusterRollEvent value) search, + required TResult Function(MbSearchMusterRollEvent value) mbMusterSearch, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? mapOrNull({ TResult? Function(SearchMusterRollEvent value)? search, + TResult? Function(MbSearchMusterRollEvent value)? mbMusterSearch, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeMap({ TResult Function(SearchMusterRollEvent value)? search, + TResult Function(MbSearchMusterRollEvent value)? mbMusterSearch, required TResult orElse(), }) => throw _privateConstructorUsedError; @@ -116,6 +123,8 @@ class _$SearchMusterRollEvent @optionalTypeArgs TResult when({ required TResult Function() search, + required TResult Function(String musterRollNumner, String tenantId) + mbMusterSearch, }) { return search(); } @@ -124,6 +133,7 @@ class _$SearchMusterRollEvent @optionalTypeArgs TResult? whenOrNull({ TResult? Function()? search, + TResult? Function(String musterRollNumner, String tenantId)? mbMusterSearch, }) { return search?.call(); } @@ -132,6 +142,7 @@ class _$SearchMusterRollEvent @optionalTypeArgs TResult maybeWhen({ TResult Function()? search, + TResult Function(String musterRollNumner, String tenantId)? mbMusterSearch, required TResult orElse(), }) { if (search != null) { @@ -144,6 +155,7 @@ class _$SearchMusterRollEvent @optionalTypeArgs TResult map({ required TResult Function(SearchMusterRollEvent value) search, + required TResult Function(MbSearchMusterRollEvent value) mbMusterSearch, }) { return search(this); } @@ -152,6 +164,7 @@ class _$SearchMusterRollEvent @optionalTypeArgs TResult? mapOrNull({ TResult? Function(SearchMusterRollEvent value)? search, + TResult? Function(MbSearchMusterRollEvent value)? mbMusterSearch, }) { return search?.call(this); } @@ -160,6 +173,7 @@ class _$SearchMusterRollEvent @optionalTypeArgs TResult maybeMap({ TResult Function(SearchMusterRollEvent value)? search, + TResult Function(MbSearchMusterRollEvent value)? mbMusterSearch, required TResult orElse(), }) { if (search != null) { @@ -173,6 +187,166 @@ abstract class SearchMusterRollEvent implements MusterRollSearchEvent { const factory SearchMusterRollEvent() = _$SearchMusterRollEvent; } +/// @nodoc +abstract class _$$MbSearchMusterRollEventCopyWith<$Res> { + factory _$$MbSearchMusterRollEventCopyWith(_$MbSearchMusterRollEvent value, + $Res Function(_$MbSearchMusterRollEvent) then) = + __$$MbSearchMusterRollEventCopyWithImpl<$Res>; + @useResult + $Res call({String musterRollNumner, String tenantId}); +} + +/// @nodoc +class __$$MbSearchMusterRollEventCopyWithImpl<$Res> + extends _$MusterRollSearchEventCopyWithImpl<$Res, _$MbSearchMusterRollEvent> + implements _$$MbSearchMusterRollEventCopyWith<$Res> { + __$$MbSearchMusterRollEventCopyWithImpl(_$MbSearchMusterRollEvent _value, + $Res Function(_$MbSearchMusterRollEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? musterRollNumner = null, + Object? tenantId = null, + }) { + return _then(_$MbSearchMusterRollEvent( + musterRollNumner: null == musterRollNumner + ? _value.musterRollNumner + : musterRollNumner // ignore: cast_nullable_to_non_nullable + as String, + tenantId: null == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +/// @nodoc + +class _$MbSearchMusterRollEvent + with DiagnosticableTreeMixin + implements MbSearchMusterRollEvent { + const _$MbSearchMusterRollEvent( + {required this.musterRollNumner, required this.tenantId}); + + @override + final String musterRollNumner; + @override + final String tenantId; + + @override + String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { + return 'MusterRollSearchEvent.mbMusterSearch(musterRollNumner: $musterRollNumner, tenantId: $tenantId)'; + } + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(DiagnosticsProperty('type', 'MusterRollSearchEvent.mbMusterSearch')) + ..add(DiagnosticsProperty('musterRollNumner', musterRollNumner)) + ..add(DiagnosticsProperty('tenantId', tenantId)); + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$MbSearchMusterRollEvent && + (identical(other.musterRollNumner, musterRollNumner) || + other.musterRollNumner == musterRollNumner) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId)); + } + + @override + int get hashCode => Object.hash(runtimeType, musterRollNumner, tenantId); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$MbSearchMusterRollEventCopyWith<_$MbSearchMusterRollEvent> get copyWith => + __$$MbSearchMusterRollEventCopyWithImpl<_$MbSearchMusterRollEvent>( + this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() search, + required TResult Function(String musterRollNumner, String tenantId) + mbMusterSearch, + }) { + return mbMusterSearch(musterRollNumner, tenantId); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? search, + TResult? Function(String musterRollNumner, String tenantId)? mbMusterSearch, + }) { + return mbMusterSearch?.call(musterRollNumner, tenantId); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? search, + TResult Function(String musterRollNumner, String tenantId)? mbMusterSearch, + required TResult orElse(), + }) { + if (mbMusterSearch != null) { + return mbMusterSearch(musterRollNumner, tenantId); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(SearchMusterRollEvent value) search, + required TResult Function(MbSearchMusterRollEvent value) mbMusterSearch, + }) { + return mbMusterSearch(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(SearchMusterRollEvent value)? search, + TResult? Function(MbSearchMusterRollEvent value)? mbMusterSearch, + }) { + return mbMusterSearch?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(SearchMusterRollEvent value)? search, + TResult Function(MbSearchMusterRollEvent value)? mbMusterSearch, + required TResult orElse(), + }) { + if (mbMusterSearch != null) { + return mbMusterSearch(this); + } + return orElse(); + } +} + +abstract class MbSearchMusterRollEvent implements MusterRollSearchEvent { + const factory MbSearchMusterRollEvent( + {required final String musterRollNumner, + required final String tenantId}) = _$MbSearchMusterRollEvent; + + String get musterRollNumner; + String get tenantId; + @JsonKey(ignore: true) + _$$MbSearchMusterRollEventCopyWith<_$MbSearchMusterRollEvent> get copyWith => + throw _privateConstructorUsedError; +} + /// @nodoc mixin _$MusterRollSearchState { @optionalTypeArgs diff --git a/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.dart b/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.dart index fc548ab3a4..f2c6a2cb25 100644 --- a/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.dart @@ -18,9 +18,10 @@ typedef ORGSearchEmitter = Emitter; class ORGSearchBloc extends Bloc { ORGSearchBloc() : super(const ORGSearchState.initial()) { on(_onSearch); + on(mbOrgSearch); } - FutureOr _onSearch(ORGSearchEvent event, ORGSearchEmitter emit) async { + FutureOr _onSearch(SearchORGEvent event, ORGSearchEmitter emit) async { Client client = Client(); try { emit(const ORGSearchState.loading()); @@ -37,11 +38,31 @@ class ORGSearchBloc extends Bloc { emit(ORGSearchState.error(e.response?.data['Errors'][0]['code'])); } } + + + FutureOr mbOrgSearch(SearchMbORGEvent event, ORGSearchEmitter emit) async { + Client client = Client(); + try { + emit(const ORGSearchState.loading()); + OrganisationListModel organisationListModel = + await ORGRepository(client.init()) + .searchORG(url: Urls.orgServices.orgSearch, body: { + "SearchCriteria": {"tenantId": event.tenantId}, + "Pagination": {"offSet": 0, "limit": 1000} + }); + GlobalVariables.organisationListModel = organisationListModel; + await Future.delayed(const Duration(seconds: 1)); + emit(ORGSearchState.loaded(organisationListModel)); + } on DioError catch (e) { + emit(ORGSearchState.error(e.response?.data['Errors'][0]['code'])); + } + } } @freezed class ORGSearchEvent with _$ORGSearchEvent { const factory ORGSearchEvent.search(String mobileNumber) = SearchORGEvent; + const factory ORGSearchEvent.mbOrgsearch({ required String tenantId}) = SearchMbORGEvent; } @freezed diff --git a/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.freezed.dart index 2622d89344..6e49b4cd9d 100644 --- a/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.freezed.dart @@ -16,43 +16,44 @@ final _privateConstructorUsedError = UnsupportedError( /// @nodoc mixin _$ORGSearchEvent { - String get mobileNumber => throw _privateConstructorUsedError; @optionalTypeArgs TResult when({ required TResult Function(String mobileNumber) search, + required TResult Function(String tenantId) mbOrgsearch, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? whenOrNull({ TResult? Function(String mobileNumber)? search, + TResult? Function(String tenantId)? mbOrgsearch, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeWhen({ TResult Function(String mobileNumber)? search, + TResult Function(String tenantId)? mbOrgsearch, required TResult orElse(), }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult map({ required TResult Function(SearchORGEvent value) search, + required TResult Function(SearchMbORGEvent value) mbOrgsearch, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? mapOrNull({ TResult? Function(SearchORGEvent value)? search, + TResult? Function(SearchMbORGEvent value)? mbOrgsearch, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeMap({ TResult Function(SearchORGEvent value)? search, + TResult Function(SearchMbORGEvent value)? mbOrgsearch, required TResult orElse(), }) => throw _privateConstructorUsedError; - - @JsonKey(ignore: true) - $ORGSearchEventCopyWith get copyWith => - throw _privateConstructorUsedError; } /// @nodoc @@ -60,8 +61,6 @@ abstract class $ORGSearchEventCopyWith<$Res> { factory $ORGSearchEventCopyWith( ORGSearchEvent value, $Res Function(ORGSearchEvent) then) = _$ORGSearchEventCopyWithImpl<$Res, ORGSearchEvent>; - @useResult - $Res call({String mobileNumber}); } /// @nodoc @@ -73,28 +72,13 @@ class _$ORGSearchEventCopyWithImpl<$Res, $Val extends ORGSearchEvent> final $Val _value; // ignore: unused_field final $Res Function($Val) _then; - - @pragma('vm:prefer-inline') - @override - $Res call({ - Object? mobileNumber = null, - }) { - return _then(_value.copyWith( - mobileNumber: null == mobileNumber - ? _value.mobileNumber - : mobileNumber // ignore: cast_nullable_to_non_nullable - as String, - ) as $Val); - } } /// @nodoc -abstract class _$$SearchORGEventCopyWith<$Res> - implements $ORGSearchEventCopyWith<$Res> { +abstract class _$$SearchORGEventCopyWith<$Res> { factory _$$SearchORGEventCopyWith( _$SearchORGEvent value, $Res Function(_$SearchORGEvent) then) = __$$SearchORGEventCopyWithImpl<$Res>; - @override @useResult $Res call({String mobileNumber}); } @@ -164,6 +148,7 @@ class _$SearchORGEvent with DiagnosticableTreeMixin implements SearchORGEvent { @optionalTypeArgs TResult when({ required TResult Function(String mobileNumber) search, + required TResult Function(String tenantId) mbOrgsearch, }) { return search(mobileNumber); } @@ -172,6 +157,7 @@ class _$SearchORGEvent with DiagnosticableTreeMixin implements SearchORGEvent { @optionalTypeArgs TResult? whenOrNull({ TResult? Function(String mobileNumber)? search, + TResult? Function(String tenantId)? mbOrgsearch, }) { return search?.call(mobileNumber); } @@ -180,6 +166,7 @@ class _$SearchORGEvent with DiagnosticableTreeMixin implements SearchORGEvent { @optionalTypeArgs TResult maybeWhen({ TResult Function(String mobileNumber)? search, + TResult Function(String tenantId)? mbOrgsearch, required TResult orElse(), }) { if (search != null) { @@ -192,6 +179,7 @@ class _$SearchORGEvent with DiagnosticableTreeMixin implements SearchORGEvent { @optionalTypeArgs TResult map({ required TResult Function(SearchORGEvent value) search, + required TResult Function(SearchMbORGEvent value) mbOrgsearch, }) { return search(this); } @@ -200,6 +188,7 @@ class _$SearchORGEvent with DiagnosticableTreeMixin implements SearchORGEvent { @optionalTypeArgs TResult? mapOrNull({ TResult? Function(SearchORGEvent value)? search, + TResult? Function(SearchMbORGEvent value)? mbOrgsearch, }) { return search?.call(this); } @@ -208,6 +197,7 @@ class _$SearchORGEvent with DiagnosticableTreeMixin implements SearchORGEvent { @optionalTypeArgs TResult maybeMap({ TResult Function(SearchORGEvent value)? search, + TResult Function(SearchMbORGEvent value)? mbOrgsearch, required TResult orElse(), }) { if (search != null) { @@ -220,14 +210,157 @@ class _$SearchORGEvent with DiagnosticableTreeMixin implements SearchORGEvent { abstract class SearchORGEvent implements ORGSearchEvent { const factory SearchORGEvent(final String mobileNumber) = _$SearchORGEvent; - @override String get mobileNumber; - @override @JsonKey(ignore: true) _$$SearchORGEventCopyWith<_$SearchORGEvent> get copyWith => throw _privateConstructorUsedError; } +/// @nodoc +abstract class _$$SearchMbORGEventCopyWith<$Res> { + factory _$$SearchMbORGEventCopyWith( + _$SearchMbORGEvent value, $Res Function(_$SearchMbORGEvent) then) = + __$$SearchMbORGEventCopyWithImpl<$Res>; + @useResult + $Res call({String tenantId}); +} + +/// @nodoc +class __$$SearchMbORGEventCopyWithImpl<$Res> + extends _$ORGSearchEventCopyWithImpl<$Res, _$SearchMbORGEvent> + implements _$$SearchMbORGEventCopyWith<$Res> { + __$$SearchMbORGEventCopyWithImpl( + _$SearchMbORGEvent _value, $Res Function(_$SearchMbORGEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? tenantId = null, + }) { + return _then(_$SearchMbORGEvent( + tenantId: null == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +/// @nodoc + +class _$SearchMbORGEvent + with DiagnosticableTreeMixin + implements SearchMbORGEvent { + const _$SearchMbORGEvent({required this.tenantId}); + + @override + final String tenantId; + + @override + String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { + return 'ORGSearchEvent.mbOrgsearch(tenantId: $tenantId)'; + } + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(DiagnosticsProperty('type', 'ORGSearchEvent.mbOrgsearch')) + ..add(DiagnosticsProperty('tenantId', tenantId)); + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$SearchMbORGEvent && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId)); + } + + @override + int get hashCode => Object.hash(runtimeType, tenantId); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$SearchMbORGEventCopyWith<_$SearchMbORGEvent> get copyWith => + __$$SearchMbORGEventCopyWithImpl<_$SearchMbORGEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String mobileNumber) search, + required TResult Function(String tenantId) mbOrgsearch, + }) { + return mbOrgsearch(tenantId); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String mobileNumber)? search, + TResult? Function(String tenantId)? mbOrgsearch, + }) { + return mbOrgsearch?.call(tenantId); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String mobileNumber)? search, + TResult Function(String tenantId)? mbOrgsearch, + required TResult orElse(), + }) { + if (mbOrgsearch != null) { + return mbOrgsearch(tenantId); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(SearchORGEvent value) search, + required TResult Function(SearchMbORGEvent value) mbOrgsearch, + }) { + return mbOrgsearch(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(SearchORGEvent value)? search, + TResult? Function(SearchMbORGEvent value)? mbOrgsearch, + }) { + return mbOrgsearch?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(SearchORGEvent value)? search, + TResult Function(SearchMbORGEvent value)? mbOrgsearch, + required TResult orElse(), + }) { + if (mbOrgsearch != null) { + return mbOrgsearch(this); + } + return orElse(); + } +} + +abstract class SearchMbORGEvent implements ORGSearchEvent { + const factory SearchMbORGEvent({required final String tenantId}) = + _$SearchMbORGEvent; + + String get tenantId; + @JsonKey(ignore: true) + _$$SearchMbORGEventCopyWith<_$SearchMbORGEvent> get copyWith => + throw _privateConstructorUsedError; +} + /// @nodoc mixin _$ORGSearchState { @optionalTypeArgs diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.dart index 731f9fdab0..84a1f967d1 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:convert'; import 'package:dio/dio.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -7,6 +8,7 @@ import 'package:works_shg_app/services/urls.dart'; import '../../data/remote_client.dart'; import '../../data/repositories/wage_seeker_repository/wage_seeker_repository.dart'; +import '../../models/adharModel/adhar_response.dart'; import '../../models/attendance/individual_list_model.dart'; import '../../models/wage_seeker/financial_details_model.dart'; import '../../models/wage_seeker/individual_details_model.dart'; @@ -23,12 +25,49 @@ class WageSeekerCreateBloc WageSeekerCreateBloc() : super(const WageSeekerCreateState.initial()) { on(_onCreate); on(_onDispose); + on(_onVerifyAdhar); + } + + FutureOr _onVerifyAdhar( + VerifyAdharEvent event, WageSeekerCreateEmitter emit) async { + Client client = Client(); + + final data = { + "uid": event.uid, + "uidType": "A", + "consent": "Y", + "subAuaCode": "0002590000", + "txn": "", + "isPI": "y", + "isBio": "n", + "isOTP": "n", + "bioType": "n", + "name": event.name, + "dob": "", + "gender": "", + "rdInfo": "", + "rdData": "", + "otpValue": "" + }; + try { + emit(const WageSeekerCreateState.loading()); + AdharCardResponse s = + await WageSeekerRepository(client.init()).verifyingAdharCard( + url: Urls.wageSeekerServices.adharVerifyUrl, + body: jsonEncode(data), + ); + + emit(WageSeekerCreateState.verified(s)); + } catch (e) { + emit(WageSeekerCreateState.error(e.toString())); + } } FutureOr _onCreate( CreateWageSeekerEvent event, WageSeekerCreateEmitter emit) async { Client client = Client(); try { + print(event.individualDetails?.adharCardResponse?.toJson()); emit(const WageSeekerCreateState.loading()); SingleIndividualModel individualListModel = await WageSeekerRepository(client.init()).createIndividual( @@ -66,7 +105,7 @@ class WageSeekerCreateBloc "relationship": event.individualDetails?.relationship, "identifiers": [ { - "identifierType": "AADHAAR", + "identifierType": event.individualDetails?.documentType, "identifierId": event.individualDetails?.aadhaarNo } ], @@ -79,8 +118,33 @@ class WageSeekerCreateBloc { "key": "SOCIAL_CATEGORY", "value": event.individualDetails?.socialCategory + }, + { + "key": "is_aadhaar_verified", + "value": event.individualDetails?.adharVerified ?? false + }, + { + "key": "verification_time", + "value": event.individualDetails?.timeStamp } - ] + + ], + "adhaar_res": + event.individualDetails?.adharCardResponse != null + ? { + "ret": event.individualDetails?.adharCardResponse?.ret, + "err": event.individualDetails?.adharCardResponse?.err, + "status": event.individualDetails?.adharCardResponse?.status, + "errMsg": event.individualDetails?.adharCardResponse?.errMsg, + "txn": event.individualDetails?.adharCardResponse?.txn, + "responseCode": event.individualDetails?.adharCardResponse?.responseCode, + "uidToken": + event.individualDetails?.adharCardResponse?.uidToken, + "mobileNumber": event.individualDetails?.adharCardResponse?.mobileNumber, + "email": event.individualDetails?.adharCardResponse?.email + } + : null + } } }); @@ -104,6 +168,12 @@ class WageSeekerCreateEvent with _$WageSeekerCreateEvent { SkillDetails? skillDetails, LocationDetails? locationDetails, FinancialDetails? financialDetails}) = CreateWageSeekerEvent; + + const factory WageSeekerCreateEvent.verifyAdhar({ + required String name, + required String uid, + }) = VerifyAdharEvent; + const factory WageSeekerCreateEvent.dispose() = CreateWageSeekerDisposeEvent; } @@ -114,6 +184,10 @@ class WageSeekerCreateState with _$WageSeekerCreateState { const factory WageSeekerCreateState.initial() = _Initial; const factory WageSeekerCreateState.loading() = _Loading; const factory WageSeekerCreateState.loaded( - SingleIndividualModel? individualListModel) = _Loaded; + SingleIndividualModel? individualListModel, + ) = _Loaded; + const factory WageSeekerCreateState.verified( + AdharCardResponse? adharCardResponse, + ) = _Verified; const factory WageSeekerCreateState.error(String? error) = _Error; } diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.freezed.dart index 34c28154b6..d7cdfec31d 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.freezed.dart @@ -24,6 +24,7 @@ mixin _$WageSeekerCreateEvent { LocationDetails? locationDetails, FinancialDetails? financialDetails) create, + required TResult Function(String name, String uid) verifyAdhar, required TResult Function() dispose, }) => throw _privateConstructorUsedError; @@ -35,6 +36,7 @@ mixin _$WageSeekerCreateEvent { LocationDetails? locationDetails, FinancialDetails? financialDetails)? create, + TResult? Function(String name, String uid)? verifyAdhar, TResult? Function()? dispose, }) => throw _privateConstructorUsedError; @@ -46,6 +48,7 @@ mixin _$WageSeekerCreateEvent { LocationDetails? locationDetails, FinancialDetails? financialDetails)? create, + TResult Function(String name, String uid)? verifyAdhar, TResult Function()? dispose, required TResult orElse(), }) => @@ -53,18 +56,21 @@ mixin _$WageSeekerCreateEvent { @optionalTypeArgs TResult map({ required TResult Function(CreateWageSeekerEvent value) create, + required TResult Function(VerifyAdharEvent value) verifyAdhar, required TResult Function(CreateWageSeekerDisposeEvent value) dispose, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? mapOrNull({ TResult? Function(CreateWageSeekerEvent value)? create, + TResult? Function(VerifyAdharEvent value)? verifyAdhar, TResult? Function(CreateWageSeekerDisposeEvent value)? dispose, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeMap({ TResult Function(CreateWageSeekerEvent value)? create, + TResult Function(VerifyAdharEvent value)? verifyAdhar, TResult Function(CreateWageSeekerDisposeEvent value)? dispose, required TResult orElse(), }) => @@ -198,6 +204,7 @@ class _$CreateWageSeekerEvent implements CreateWageSeekerEvent { LocationDetails? locationDetails, FinancialDetails? financialDetails) create, + required TResult Function(String name, String uid) verifyAdhar, required TResult Function() dispose, }) { return create( @@ -213,6 +220,7 @@ class _$CreateWageSeekerEvent implements CreateWageSeekerEvent { LocationDetails? locationDetails, FinancialDetails? financialDetails)? create, + TResult? Function(String name, String uid)? verifyAdhar, TResult? Function()? dispose, }) { return create?.call( @@ -228,6 +236,7 @@ class _$CreateWageSeekerEvent implements CreateWageSeekerEvent { LocationDetails? locationDetails, FinancialDetails? financialDetails)? create, + TResult Function(String name, String uid)? verifyAdhar, TResult Function()? dispose, required TResult orElse(), }) { @@ -242,6 +251,7 @@ class _$CreateWageSeekerEvent implements CreateWageSeekerEvent { @optionalTypeArgs TResult map({ required TResult Function(CreateWageSeekerEvent value) create, + required TResult Function(VerifyAdharEvent value) verifyAdhar, required TResult Function(CreateWageSeekerDisposeEvent value) dispose, }) { return create(this); @@ -251,6 +261,7 @@ class _$CreateWageSeekerEvent implements CreateWageSeekerEvent { @optionalTypeArgs TResult? mapOrNull({ TResult? Function(CreateWageSeekerEvent value)? create, + TResult? Function(VerifyAdharEvent value)? verifyAdhar, TResult? Function(CreateWageSeekerDisposeEvent value)? dispose, }) { return create?.call(this); @@ -260,6 +271,7 @@ class _$CreateWageSeekerEvent implements CreateWageSeekerEvent { @optionalTypeArgs TResult maybeMap({ TResult Function(CreateWageSeekerEvent value)? create, + TResult Function(VerifyAdharEvent value)? verifyAdhar, TResult Function(CreateWageSeekerDisposeEvent value)? dispose, required TResult orElse(), }) { @@ -286,6 +298,171 @@ abstract class CreateWageSeekerEvent implements WageSeekerCreateEvent { throw _privateConstructorUsedError; } +/// @nodoc +abstract class _$$VerifyAdharEventCopyWith<$Res> { + factory _$$VerifyAdharEventCopyWith( + _$VerifyAdharEvent value, $Res Function(_$VerifyAdharEvent) then) = + __$$VerifyAdharEventCopyWithImpl<$Res>; + @useResult + $Res call({String name, String uid}); +} + +/// @nodoc +class __$$VerifyAdharEventCopyWithImpl<$Res> + extends _$WageSeekerCreateEventCopyWithImpl<$Res, _$VerifyAdharEvent> + implements _$$VerifyAdharEventCopyWith<$Res> { + __$$VerifyAdharEventCopyWithImpl( + _$VerifyAdharEvent _value, $Res Function(_$VerifyAdharEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? name = null, + Object? uid = null, + }) { + return _then(_$VerifyAdharEvent( + name: null == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String, + uid: null == uid + ? _value.uid + : uid // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +/// @nodoc + +class _$VerifyAdharEvent implements VerifyAdharEvent { + const _$VerifyAdharEvent({required this.name, required this.uid}); + + @override + final String name; + @override + final String uid; + + @override + String toString() { + return 'WageSeekerCreateEvent.verifyAdhar(name: $name, uid: $uid)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$VerifyAdharEvent && + (identical(other.name, name) || other.name == name) && + (identical(other.uid, uid) || other.uid == uid)); + } + + @override + int get hashCode => Object.hash(runtimeType, name, uid); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$VerifyAdharEventCopyWith<_$VerifyAdharEvent> get copyWith => + __$$VerifyAdharEventCopyWithImpl<_$VerifyAdharEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + IndividualDetails? individualDetails, + SkillDetails? skillDetails, + LocationDetails? locationDetails, + FinancialDetails? financialDetails) + create, + required TResult Function(String name, String uid) verifyAdhar, + required TResult Function() dispose, + }) { + return verifyAdhar(name, uid); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function( + IndividualDetails? individualDetails, + SkillDetails? skillDetails, + LocationDetails? locationDetails, + FinancialDetails? financialDetails)? + create, + TResult? Function(String name, String uid)? verifyAdhar, + TResult? Function()? dispose, + }) { + return verifyAdhar?.call(name, uid); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function( + IndividualDetails? individualDetails, + SkillDetails? skillDetails, + LocationDetails? locationDetails, + FinancialDetails? financialDetails)? + create, + TResult Function(String name, String uid)? verifyAdhar, + TResult Function()? dispose, + required TResult orElse(), + }) { + if (verifyAdhar != null) { + return verifyAdhar(name, uid); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(CreateWageSeekerEvent value) create, + required TResult Function(VerifyAdharEvent value) verifyAdhar, + required TResult Function(CreateWageSeekerDisposeEvent value) dispose, + }) { + return verifyAdhar(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(CreateWageSeekerEvent value)? create, + TResult? Function(VerifyAdharEvent value)? verifyAdhar, + TResult? Function(CreateWageSeekerDisposeEvent value)? dispose, + }) { + return verifyAdhar?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(CreateWageSeekerEvent value)? create, + TResult Function(VerifyAdharEvent value)? verifyAdhar, + TResult Function(CreateWageSeekerDisposeEvent value)? dispose, + required TResult orElse(), + }) { + if (verifyAdhar != null) { + return verifyAdhar(this); + } + return orElse(); + } +} + +abstract class VerifyAdharEvent implements WageSeekerCreateEvent { + const factory VerifyAdharEvent( + {required final String name, + required final String uid}) = _$VerifyAdharEvent; + + String get name; + String get uid; + @JsonKey(ignore: true) + _$$VerifyAdharEventCopyWith<_$VerifyAdharEvent> get copyWith => + throw _privateConstructorUsedError; +} + /// @nodoc abstract class _$$CreateWageSeekerDisposeEventCopyWith<$Res> { factory _$$CreateWageSeekerDisposeEventCopyWith( @@ -334,6 +511,7 @@ class _$CreateWageSeekerDisposeEvent implements CreateWageSeekerDisposeEvent { LocationDetails? locationDetails, FinancialDetails? financialDetails) create, + required TResult Function(String name, String uid) verifyAdhar, required TResult Function() dispose, }) { return dispose(); @@ -348,6 +526,7 @@ class _$CreateWageSeekerDisposeEvent implements CreateWageSeekerDisposeEvent { LocationDetails? locationDetails, FinancialDetails? financialDetails)? create, + TResult? Function(String name, String uid)? verifyAdhar, TResult? Function()? dispose, }) { return dispose?.call(); @@ -362,6 +541,7 @@ class _$CreateWageSeekerDisposeEvent implements CreateWageSeekerDisposeEvent { LocationDetails? locationDetails, FinancialDetails? financialDetails)? create, + TResult Function(String name, String uid)? verifyAdhar, TResult Function()? dispose, required TResult orElse(), }) { @@ -375,6 +555,7 @@ class _$CreateWageSeekerDisposeEvent implements CreateWageSeekerDisposeEvent { @optionalTypeArgs TResult map({ required TResult Function(CreateWageSeekerEvent value) create, + required TResult Function(VerifyAdharEvent value) verifyAdhar, required TResult Function(CreateWageSeekerDisposeEvent value) dispose, }) { return dispose(this); @@ -384,6 +565,7 @@ class _$CreateWageSeekerDisposeEvent implements CreateWageSeekerDisposeEvent { @optionalTypeArgs TResult? mapOrNull({ TResult? Function(CreateWageSeekerEvent value)? create, + TResult? Function(VerifyAdharEvent value)? verifyAdhar, TResult? Function(CreateWageSeekerDisposeEvent value)? dispose, }) { return dispose?.call(this); @@ -393,6 +575,7 @@ class _$CreateWageSeekerDisposeEvent implements CreateWageSeekerDisposeEvent { @optionalTypeArgs TResult maybeMap({ TResult Function(CreateWageSeekerEvent value)? create, + TResult Function(VerifyAdharEvent value)? verifyAdhar, TResult Function(CreateWageSeekerDisposeEvent value)? dispose, required TResult orElse(), }) { @@ -415,6 +598,7 @@ mixin _$WageSeekerCreateState { required TResult Function() loading, required TResult Function(SingleIndividualModel? individualListModel) loaded, + required TResult Function(AdharCardResponse? adharCardResponse) verified, required TResult Function(String? error) error, }) => throw _privateConstructorUsedError; @@ -423,6 +607,7 @@ mixin _$WageSeekerCreateState { TResult? Function()? initial, TResult? Function()? loading, TResult? Function(SingleIndividualModel? individualListModel)? loaded, + TResult? Function(AdharCardResponse? adharCardResponse)? verified, TResult? Function(String? error)? error, }) => throw _privateConstructorUsedError; @@ -431,6 +616,7 @@ mixin _$WageSeekerCreateState { TResult Function()? initial, TResult Function()? loading, TResult Function(SingleIndividualModel? individualListModel)? loaded, + TResult Function(AdharCardResponse? adharCardResponse)? verified, TResult Function(String? error)? error, required TResult orElse(), }) => @@ -440,6 +626,7 @@ mixin _$WageSeekerCreateState { required TResult Function(_Initial value) initial, required TResult Function(_Loading value) loading, required TResult Function(_Loaded value) loaded, + required TResult Function(_Verified value) verified, required TResult Function(_Error value) error, }) => throw _privateConstructorUsedError; @@ -448,6 +635,7 @@ mixin _$WageSeekerCreateState { TResult? Function(_Initial value)? initial, TResult? Function(_Loading value)? loading, TResult? Function(_Loaded value)? loaded, + TResult? Function(_Verified value)? verified, TResult? Function(_Error value)? error, }) => throw _privateConstructorUsedError; @@ -456,6 +644,7 @@ mixin _$WageSeekerCreateState { TResult Function(_Initial value)? initial, TResult Function(_Loading value)? loading, TResult Function(_Loaded value)? loaded, + TResult Function(_Verified value)? verified, TResult Function(_Error value)? error, required TResult orElse(), }) => @@ -522,6 +711,7 @@ class _$_Initial extends _Initial { required TResult Function() loading, required TResult Function(SingleIndividualModel? individualListModel) loaded, + required TResult Function(AdharCardResponse? adharCardResponse) verified, required TResult Function(String? error) error, }) { return initial(); @@ -533,6 +723,7 @@ class _$_Initial extends _Initial { TResult? Function()? initial, TResult? Function()? loading, TResult? Function(SingleIndividualModel? individualListModel)? loaded, + TResult? Function(AdharCardResponse? adharCardResponse)? verified, TResult? Function(String? error)? error, }) { return initial?.call(); @@ -544,6 +735,7 @@ class _$_Initial extends _Initial { TResult Function()? initial, TResult Function()? loading, TResult Function(SingleIndividualModel? individualListModel)? loaded, + TResult Function(AdharCardResponse? adharCardResponse)? verified, TResult Function(String? error)? error, required TResult orElse(), }) { @@ -559,6 +751,7 @@ class _$_Initial extends _Initial { required TResult Function(_Initial value) initial, required TResult Function(_Loading value) loading, required TResult Function(_Loaded value) loaded, + required TResult Function(_Verified value) verified, required TResult Function(_Error value) error, }) { return initial(this); @@ -570,6 +763,7 @@ class _$_Initial extends _Initial { TResult? Function(_Initial value)? initial, TResult? Function(_Loading value)? loading, TResult? Function(_Loaded value)? loaded, + TResult? Function(_Verified value)? verified, TResult? Function(_Error value)? error, }) { return initial?.call(this); @@ -581,6 +775,7 @@ class _$_Initial extends _Initial { TResult Function(_Initial value)? initial, TResult Function(_Loading value)? loading, TResult Function(_Loaded value)? loaded, + TResult Function(_Verified value)? verified, TResult Function(_Error value)? error, required TResult orElse(), }) { @@ -637,6 +832,7 @@ class _$_Loading extends _Loading { required TResult Function() loading, required TResult Function(SingleIndividualModel? individualListModel) loaded, + required TResult Function(AdharCardResponse? adharCardResponse) verified, required TResult Function(String? error) error, }) { return loading(); @@ -648,6 +844,7 @@ class _$_Loading extends _Loading { TResult? Function()? initial, TResult? Function()? loading, TResult? Function(SingleIndividualModel? individualListModel)? loaded, + TResult? Function(AdharCardResponse? adharCardResponse)? verified, TResult? Function(String? error)? error, }) { return loading?.call(); @@ -659,6 +856,7 @@ class _$_Loading extends _Loading { TResult Function()? initial, TResult Function()? loading, TResult Function(SingleIndividualModel? individualListModel)? loaded, + TResult Function(AdharCardResponse? adharCardResponse)? verified, TResult Function(String? error)? error, required TResult orElse(), }) { @@ -674,6 +872,7 @@ class _$_Loading extends _Loading { required TResult Function(_Initial value) initial, required TResult Function(_Loading value) loading, required TResult Function(_Loaded value) loaded, + required TResult Function(_Verified value) verified, required TResult Function(_Error value) error, }) { return loading(this); @@ -685,6 +884,7 @@ class _$_Loading extends _Loading { TResult? Function(_Initial value)? initial, TResult? Function(_Loading value)? loading, TResult? Function(_Loaded value)? loaded, + TResult? Function(_Verified value)? verified, TResult? Function(_Error value)? error, }) { return loading?.call(this); @@ -696,6 +896,7 @@ class _$_Loading extends _Loading { TResult Function(_Initial value)? initial, TResult Function(_Loading value)? loading, TResult Function(_Loaded value)? loaded, + TResult Function(_Verified value)? verified, TResult Function(_Error value)? error, required TResult orElse(), }) { @@ -778,6 +979,7 @@ class _$_Loaded extends _Loaded { required TResult Function() loading, required TResult Function(SingleIndividualModel? individualListModel) loaded, + required TResult Function(AdharCardResponse? adharCardResponse) verified, required TResult Function(String? error) error, }) { return loaded(individualListModel); @@ -789,6 +991,7 @@ class _$_Loaded extends _Loaded { TResult? Function()? initial, TResult? Function()? loading, TResult? Function(SingleIndividualModel? individualListModel)? loaded, + TResult? Function(AdharCardResponse? adharCardResponse)? verified, TResult? Function(String? error)? error, }) { return loaded?.call(individualListModel); @@ -800,6 +1003,7 @@ class _$_Loaded extends _Loaded { TResult Function()? initial, TResult Function()? loading, TResult Function(SingleIndividualModel? individualListModel)? loaded, + TResult Function(AdharCardResponse? adharCardResponse)? verified, TResult Function(String? error)? error, required TResult orElse(), }) { @@ -815,6 +1019,7 @@ class _$_Loaded extends _Loaded { required TResult Function(_Initial value) initial, required TResult Function(_Loading value) loading, required TResult Function(_Loaded value) loaded, + required TResult Function(_Verified value) verified, required TResult Function(_Error value) error, }) { return loaded(this); @@ -826,6 +1031,7 @@ class _$_Loaded extends _Loaded { TResult? Function(_Initial value)? initial, TResult? Function(_Loading value)? loading, TResult? Function(_Loaded value)? loaded, + TResult? Function(_Verified value)? verified, TResult? Function(_Error value)? error, }) { return loaded?.call(this); @@ -837,6 +1043,7 @@ class _$_Loaded extends _Loaded { TResult Function(_Initial value)? initial, TResult Function(_Loading value)? loading, TResult Function(_Loaded value)? loaded, + TResult Function(_Verified value)? verified, TResult Function(_Error value)? error, required TResult orElse(), }) { @@ -858,6 +1065,175 @@ abstract class _Loaded extends WageSeekerCreateState { throw _privateConstructorUsedError; } +/// @nodoc +abstract class _$$_VerifiedCopyWith<$Res> { + factory _$$_VerifiedCopyWith( + _$_Verified value, $Res Function(_$_Verified) then) = + __$$_VerifiedCopyWithImpl<$Res>; + @useResult + $Res call({AdharCardResponse? adharCardResponse}); + + $AdharCardResponseCopyWith<$Res>? get adharCardResponse; +} + +/// @nodoc +class __$$_VerifiedCopyWithImpl<$Res> + extends _$WageSeekerCreateStateCopyWithImpl<$Res, _$_Verified> + implements _$$_VerifiedCopyWith<$Res> { + __$$_VerifiedCopyWithImpl( + _$_Verified _value, $Res Function(_$_Verified) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? adharCardResponse = freezed, + }) { + return _then(_$_Verified( + freezed == adharCardResponse + ? _value.adharCardResponse + : adharCardResponse // ignore: cast_nullable_to_non_nullable + as AdharCardResponse?, + )); + } + + @override + @pragma('vm:prefer-inline') + $AdharCardResponseCopyWith<$Res>? get adharCardResponse { + if (_value.adharCardResponse == null) { + return null; + } + + return $AdharCardResponseCopyWith<$Res>(_value.adharCardResponse!, (value) { + return _then(_value.copyWith(adharCardResponse: value)); + }); + } +} + +/// @nodoc + +class _$_Verified extends _Verified { + const _$_Verified(this.adharCardResponse) : super._(); + + @override + final AdharCardResponse? adharCardResponse; + + @override + String toString() { + return 'WageSeekerCreateState.verified(adharCardResponse: $adharCardResponse)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Verified && + (identical(other.adharCardResponse, adharCardResponse) || + other.adharCardResponse == adharCardResponse)); + } + + @override + int get hashCode => Object.hash(runtimeType, adharCardResponse); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_VerifiedCopyWith<_$_Verified> get copyWith => + __$$_VerifiedCopyWithImpl<_$_Verified>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function() initial, + required TResult Function() loading, + required TResult Function(SingleIndividualModel? individualListModel) + loaded, + required TResult Function(AdharCardResponse? adharCardResponse) verified, + required TResult Function(String? error) error, + }) { + return verified(adharCardResponse); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function()? initial, + TResult? Function()? loading, + TResult? Function(SingleIndividualModel? individualListModel)? loaded, + TResult? Function(AdharCardResponse? adharCardResponse)? verified, + TResult? Function(String? error)? error, + }) { + return verified?.call(adharCardResponse); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function()? initial, + TResult Function()? loading, + TResult Function(SingleIndividualModel? individualListModel)? loaded, + TResult Function(AdharCardResponse? adharCardResponse)? verified, + TResult Function(String? error)? error, + required TResult orElse(), + }) { + if (verified != null) { + return verified(adharCardResponse); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(_Initial value) initial, + required TResult Function(_Loading value) loading, + required TResult Function(_Loaded value) loaded, + required TResult Function(_Verified value) verified, + required TResult Function(_Error value) error, + }) { + return verified(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(_Initial value)? initial, + TResult? Function(_Loading value)? loading, + TResult? Function(_Loaded value)? loaded, + TResult? Function(_Verified value)? verified, + TResult? Function(_Error value)? error, + }) { + return verified?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(_Initial value)? initial, + TResult Function(_Loading value)? loading, + TResult Function(_Loaded value)? loaded, + TResult Function(_Verified value)? verified, + TResult Function(_Error value)? error, + required TResult orElse(), + }) { + if (verified != null) { + return verified(this); + } + return orElse(); + } +} + +abstract class _Verified extends WageSeekerCreateState { + const factory _Verified(final AdharCardResponse? adharCardResponse) = + _$_Verified; + const _Verified._() : super._(); + + AdharCardResponse? get adharCardResponse; + @JsonKey(ignore: true) + _$$_VerifiedCopyWith<_$_Verified> get copyWith => + throw _privateConstructorUsedError; +} + /// @nodoc abstract class _$$_ErrorCopyWith<$Res> { factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = @@ -924,6 +1300,7 @@ class _$_Error extends _Error { required TResult Function() loading, required TResult Function(SingleIndividualModel? individualListModel) loaded, + required TResult Function(AdharCardResponse? adharCardResponse) verified, required TResult Function(String? error) error, }) { return error(this.error); @@ -935,6 +1312,7 @@ class _$_Error extends _Error { TResult? Function()? initial, TResult? Function()? loading, TResult? Function(SingleIndividualModel? individualListModel)? loaded, + TResult? Function(AdharCardResponse? adharCardResponse)? verified, TResult? Function(String? error)? error, }) { return error?.call(this.error); @@ -946,6 +1324,7 @@ class _$_Error extends _Error { TResult Function()? initial, TResult Function()? loading, TResult Function(SingleIndividualModel? individualListModel)? loaded, + TResult Function(AdharCardResponse? adharCardResponse)? verified, TResult Function(String? error)? error, required TResult orElse(), }) { @@ -961,6 +1340,7 @@ class _$_Error extends _Error { required TResult Function(_Initial value) initial, required TResult Function(_Loading value) loading, required TResult Function(_Loaded value) loaded, + required TResult Function(_Verified value) verified, required TResult Function(_Error value) error, }) { return error(this); @@ -972,6 +1352,7 @@ class _$_Error extends _Error { TResult? Function(_Initial value)? initial, TResult? Function(_Loading value)? loading, TResult? Function(_Loaded value)? loaded, + TResult? Function(_Verified value)? verified, TResult? Function(_Error value)? error, }) { return error?.call(this); @@ -983,6 +1364,7 @@ class _$_Error extends _Error { TResult Function(_Initial value)? initial, TResult Function(_Loading value)? loading, TResult Function(_Loaded value)? loaded, + TResult Function(_Verified value)? verified, TResult Function(_Error value)? error, required TResult orElse(), }) { diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_mdms_bloc.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_mdms_bloc.dart index 667786c21f..5e5f4bd09a 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_mdms_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_mdms_bloc.dart @@ -3,6 +3,7 @@ import 'dart:async'; import 'package:dio/dio.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:works_shg_app/models/skills/skills.dart'; import 'package:works_shg_app/services/urls.dart'; import '../../data/repositories/common_repository/common_repository.dart'; @@ -39,7 +40,6 @@ class WageSeekerMDMSBloc "moduleName": "common-masters", "masterDetails": [ {"name": "GenderType", "filter": "[?(@.active==true)]"}, - {"name": "WageSeekerSkills", "filter": "[?(@.active==true)]"}, {"name": "Relationship", "filter": "[?(@.active==true)]"}, {"name": "SocialCategory", "filter": "[?(@.active==true)]"}, ], @@ -60,9 +60,30 @@ class WageSeekerMDMSBloc ], } ]); +//{"name": "WageSeekerSkills", "filter": "[?(@.active==true)]"}, + List skillResult = await mdmsRepository.skillsMDMS( + apiEndPoint: Urls.initServices.mdmsSkill, + tenantId: GlobalVariables + .globalConfigObject!.globalConfigs!.stateTenantId + .toString(), + moduleDetails: [ + { + "moduleName": "WORKS-SOR", + "masterDetails": [ + { + "name": "SOR", + "filter": "[?(@.sorType =~ /.*L.*/i)]" + }, + ], + } + ]); + + final updatedCommonMDMS = result.copyWith( + commonMDMS: + result.commonMDMS?.copyWith(wageSeekerSkills: skillResult)); - if (result != null) { - emit(WageSeekerMDMSState.loaded(result)); + if (updatedCommonMDMS != null) { + emit(WageSeekerMDMSState.loaded(updatedCommonMDMS)); } } on DioError catch (e) { emit(WageSeekerMDMSState.error(e.response?.data['Errors'][0]['code'])); @@ -84,4 +105,4 @@ class WageSeekerMDMSState with _$WageSeekerMDMSState { const factory WageSeekerMDMSState.loaded(WageSeekerMDMS? wageSeekerMDMS) = _Loaded; const factory WageSeekerMDMSState.error(String? error) = _Error; -} +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_registration_bloc.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_registration_bloc.dart index 29087de219..960dc8d5e2 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_registration_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_registration_bloc.dart @@ -1,8 +1,10 @@ import 'dart:async'; +import 'dart:io'; import 'package:flutter/foundation.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:works_shg_app/models/adharModel/adhar_response.dart'; import 'package:works_shg_app/models/wage_seeker/financial_details_model.dart'; import 'package:works_shg_app/models/wage_seeker/individual_details_model.dart'; import 'package:works_shg_app/models/wage_seeker/location_details_model.dart'; @@ -16,17 +18,127 @@ class WageSeekerBloc extends Bloc { WageSeekerBloc() : super(const WageSeekerBlocState.create()) { on(_onCreate); on(_onClear); + + on(_onIdentificationCreate); + + on(_onDetailsCreate); + + on(_onSkillCreate); + + on(_onPhotoCreate); + } + +// Event handler for WageSeekerPhotoCreateEvent + FutureOr _onPhotoCreate( + WageSeekerPhotoCreateEvent event, WageSeekerBlocEmitter emit) async { + state.maybeMap( + orElse: () => {}, + create: (value) { + emit( + value.copyWith( + individualDetails: value.individualDetails!.copyWith( + photo: event.photo, + imageFile: event.imageFile, + bytes: event.bytes, + ), + ), + ); + }, + ); + } + +// Event handler for WageSeekerSkillCreateEvent + FutureOr _onSkillCreate( + WageSeekerSkillCreateEvent event, WageSeekerBlocEmitter emit) async { + state.maybeMap( + orElse: () => {}, + create: (value) { + emit(value.copyWith( + skillDetails: event.skillDetails, + )); + }, + ); } +// Event handler for WageSeekerPhotoCreateEvent + FutureOr _onIdentificationCreate( + WageSeekerIdentificationCreateEvent event, + WageSeekerBlocEmitter emit) async { +// Get the current state of the bloc + WageSeekerBlocState state = this.state; + +// Check if aadhaarNo is null in individualDetails of the current state + if (state.individualDetails?.aadhaarNo == null) { + // Emit a new state with updated individualDetails if aadhaarNo is null + emit(WageSeekerBlocState.create( + individualDetails: IndividualDetails( + aadhaarNo: event.number, + name: event.name, + documentType: event.documentType, + adharVerified: event.adharVerified, + timeStamp: event.timeStamp, + adharCardResponse: event.adharCardResponse, + ), + )); + } else { + emit( +// Emit a new state with updated individualDetails if aadhaarNo is not null + state.copyWith( + individualDetails: state.individualDetails?.copyWith( + aadhaarNo: event.number, + name: event.name, + documentType: event.documentType, + adharVerified: event.adharVerified, + timeStamp: event.timeStamp, + adharCardResponse: event.adharCardResponse, + ))); + } + + // emit(WageSeekerBlocState.create( + // individualDetails: IndividualDetails( + // aadhaarNo: event.number, + // name: event.name, + // documentType: event.documentType, + // adharVerified: event.adharVerified, + // ), + // )); + } + + // Event handler for WageSeekerDetailsCreateEvent + FutureOr _onDetailsCreate( + WageSeekerDetailsCreateEvent event, WageSeekerBlocEmitter emit) async { + state.maybeMap( + orElse: () => + {}, // Do nothing if the state does not match the expected state + create: (value) { + emit(value.copyWith( + individualDetails: value.individualDetails!.copyWith( + dateOfBirth: event.dob, + gender: event.gender, + fatherName: event.fatherName, + relationship: event.relationShip, + socialCategory: event.socialCategory, + mobileNumber: event.mobileNumber, + ))); + }, + ); + } + +// Event handler for WageSeekerCreateEvent FutureOr _onCreate( WageSeekerCreateEvent event, WageSeekerBlocEmitter emit) async { - emit(WageSeekerBlocState.create( - individualDetails: event.individualDetails, - locationDetails: event.locationDetails, - skillDetails: event.skillDetails, - financialDetails: event.financialDetails)); + state.maybeMap( + orElse: () => {}, + create: (value) { + emit(value.copyWith( + financialDetails: event.financialDetails, + locationDetails: event.locationDetails, + )); + }, + ); } +// Event handler for WageSeekerClearEvent FutureOr _onClear( WageSeekerClearEvent event, WageSeekerBlocEmitter emit) async { emit(WageSeekerBlocState.clear( @@ -44,6 +156,34 @@ class WageSeekerBlocEvent with _$WageSeekerBlocEvent { SkillDetails? skillDetails, LocationDetails? locationDetails, FinancialDetails? financialDetails}) = WageSeekerCreateEvent; + + const factory WageSeekerBlocEvent.identificationCreate({ + required String documentType, + required String number, + required String name, + required bool adharVerified, + required int timeStamp, + AdharCardResponse? adharCardResponse + }) = WageSeekerIdentificationCreateEvent; + + const factory WageSeekerBlocEvent.detailsCreate( + {required String fatherName, + required DateTime dob, + required String relationShip, + required String gender, + required String socialCategory, + required String mobileNumber}) = WageSeekerDetailsCreateEvent; + + const factory WageSeekerBlocEvent.skillCreate({ + required SkillDetails skillDetails, + }) = WageSeekerSkillCreateEvent; + + const factory WageSeekerBlocEvent.photoCreate({ + File? imageFile, + Uint8List? bytes, + String? photo, + }) = WageSeekerPhotoCreateEvent; + const factory WageSeekerBlocEvent.clear() = WageSeekerClearEvent; } diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_registration_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_registration_bloc.freezed.dart index cfc3ad4886..e9560f47d6 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_registration_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_registration_bloc.freezed.dart @@ -24,6 +24,25 @@ mixin _$WageSeekerBlocEvent { LocationDetails? locationDetails, FinancialDetails? financialDetails) create, + required TResult Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse) + identificationCreate, + required TResult Function( + String fatherName, + DateTime dob, + String relationShip, + String gender, + String socialCategory, + String mobileNumber) + detailsCreate, + required TResult Function(SkillDetails skillDetails) skillCreate, + required TResult Function(File? imageFile, Uint8List? bytes, String? photo) + photoCreate, required TResult Function() clear, }) => throw _privateConstructorUsedError; @@ -35,6 +54,20 @@ mixin _$WageSeekerBlocEvent { LocationDetails? locationDetails, FinancialDetails? financialDetails)? create, + TResult? Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse)? + identificationCreate, + TResult? Function(String fatherName, DateTime dob, String relationShip, + String gender, String socialCategory, String mobileNumber)? + detailsCreate, + TResult? Function(SkillDetails skillDetails)? skillCreate, + TResult? Function(File? imageFile, Uint8List? bytes, String? photo)? + photoCreate, TResult? Function()? clear, }) => throw _privateConstructorUsedError; @@ -46,6 +79,20 @@ mixin _$WageSeekerBlocEvent { LocationDetails? locationDetails, FinancialDetails? financialDetails)? create, + TResult Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse)? + identificationCreate, + TResult Function(String fatherName, DateTime dob, String relationShip, + String gender, String socialCategory, String mobileNumber)? + detailsCreate, + TResult Function(SkillDetails skillDetails)? skillCreate, + TResult Function(File? imageFile, Uint8List? bytes, String? photo)? + photoCreate, TResult Function()? clear, required TResult orElse(), }) => @@ -53,18 +100,33 @@ mixin _$WageSeekerBlocEvent { @optionalTypeArgs TResult map({ required TResult Function(WageSeekerCreateEvent value) create, + required TResult Function(WageSeekerIdentificationCreateEvent value) + identificationCreate, + required TResult Function(WageSeekerDetailsCreateEvent value) detailsCreate, + required TResult Function(WageSeekerSkillCreateEvent value) skillCreate, + required TResult Function(WageSeekerPhotoCreateEvent value) photoCreate, required TResult Function(WageSeekerClearEvent value) clear, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? mapOrNull({ TResult? Function(WageSeekerCreateEvent value)? create, + TResult? Function(WageSeekerIdentificationCreateEvent value)? + identificationCreate, + TResult? Function(WageSeekerDetailsCreateEvent value)? detailsCreate, + TResult? Function(WageSeekerSkillCreateEvent value)? skillCreate, + TResult? Function(WageSeekerPhotoCreateEvent value)? photoCreate, TResult? Function(WageSeekerClearEvent value)? clear, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeMap({ TResult Function(WageSeekerCreateEvent value)? create, + TResult Function(WageSeekerIdentificationCreateEvent value)? + identificationCreate, + TResult Function(WageSeekerDetailsCreateEvent value)? detailsCreate, + TResult Function(WageSeekerSkillCreateEvent value)? skillCreate, + TResult Function(WageSeekerPhotoCreateEvent value)? photoCreate, TResult Function(WageSeekerClearEvent value)? clear, required TResult orElse(), }) => @@ -210,6 +272,25 @@ class _$WageSeekerCreateEvent LocationDetails? locationDetails, FinancialDetails? financialDetails) create, + required TResult Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse) + identificationCreate, + required TResult Function( + String fatherName, + DateTime dob, + String relationShip, + String gender, + String socialCategory, + String mobileNumber) + detailsCreate, + required TResult Function(SkillDetails skillDetails) skillCreate, + required TResult Function(File? imageFile, Uint8List? bytes, String? photo) + photoCreate, required TResult Function() clear, }) { return create( @@ -225,6 +306,20 @@ class _$WageSeekerCreateEvent LocationDetails? locationDetails, FinancialDetails? financialDetails)? create, + TResult? Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse)? + identificationCreate, + TResult? Function(String fatherName, DateTime dob, String relationShip, + String gender, String socialCategory, String mobileNumber)? + detailsCreate, + TResult? Function(SkillDetails skillDetails)? skillCreate, + TResult? Function(File? imageFile, Uint8List? bytes, String? photo)? + photoCreate, TResult? Function()? clear, }) { return create?.call( @@ -240,6 +335,20 @@ class _$WageSeekerCreateEvent LocationDetails? locationDetails, FinancialDetails? financialDetails)? create, + TResult Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse)? + identificationCreate, + TResult Function(String fatherName, DateTime dob, String relationShip, + String gender, String socialCategory, String mobileNumber)? + detailsCreate, + TResult Function(SkillDetails skillDetails)? skillCreate, + TResult Function(File? imageFile, Uint8List? bytes, String? photo)? + photoCreate, TResult Function()? clear, required TResult orElse(), }) { @@ -254,6 +363,11 @@ class _$WageSeekerCreateEvent @optionalTypeArgs TResult map({ required TResult Function(WageSeekerCreateEvent value) create, + required TResult Function(WageSeekerIdentificationCreateEvent value) + identificationCreate, + required TResult Function(WageSeekerDetailsCreateEvent value) detailsCreate, + required TResult Function(WageSeekerSkillCreateEvent value) skillCreate, + required TResult Function(WageSeekerPhotoCreateEvent value) photoCreate, required TResult Function(WageSeekerClearEvent value) clear, }) { return create(this); @@ -263,6 +377,11 @@ class _$WageSeekerCreateEvent @optionalTypeArgs TResult? mapOrNull({ TResult? Function(WageSeekerCreateEvent value)? create, + TResult? Function(WageSeekerIdentificationCreateEvent value)? + identificationCreate, + TResult? Function(WageSeekerDetailsCreateEvent value)? detailsCreate, + TResult? Function(WageSeekerSkillCreateEvent value)? skillCreate, + TResult? Function(WageSeekerPhotoCreateEvent value)? photoCreate, TResult? Function(WageSeekerClearEvent value)? clear, }) { return create?.call(this); @@ -272,6 +391,11 @@ class _$WageSeekerCreateEvent @optionalTypeArgs TResult maybeMap({ TResult Function(WageSeekerCreateEvent value)? create, + TResult Function(WageSeekerIdentificationCreateEvent value)? + identificationCreate, + TResult Function(WageSeekerDetailsCreateEvent value)? detailsCreate, + TResult Function(WageSeekerSkillCreateEvent value)? skillCreate, + TResult Function(WageSeekerPhotoCreateEvent value)? photoCreate, TResult Function(WageSeekerClearEvent value)? clear, required TResult orElse(), }) { @@ -299,47 +423,157 @@ abstract class WageSeekerCreateEvent implements WageSeekerBlocEvent { } /// @nodoc -abstract class _$$WageSeekerClearEventCopyWith<$Res> { - factory _$$WageSeekerClearEventCopyWith(_$WageSeekerClearEvent value, - $Res Function(_$WageSeekerClearEvent) then) = - __$$WageSeekerClearEventCopyWithImpl<$Res>; +abstract class _$$WageSeekerIdentificationCreateEventCopyWith<$Res> { + factory _$$WageSeekerIdentificationCreateEventCopyWith( + _$WageSeekerIdentificationCreateEvent value, + $Res Function(_$WageSeekerIdentificationCreateEvent) then) = + __$$WageSeekerIdentificationCreateEventCopyWithImpl<$Res>; + @useResult + $Res call( + {String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse}); + + $AdharCardResponseCopyWith<$Res>? get adharCardResponse; } /// @nodoc -class __$$WageSeekerClearEventCopyWithImpl<$Res> - extends _$WageSeekerBlocEventCopyWithImpl<$Res, _$WageSeekerClearEvent> - implements _$$WageSeekerClearEventCopyWith<$Res> { - __$$WageSeekerClearEventCopyWithImpl(_$WageSeekerClearEvent _value, - $Res Function(_$WageSeekerClearEvent) _then) +class __$$WageSeekerIdentificationCreateEventCopyWithImpl<$Res> + extends _$WageSeekerBlocEventCopyWithImpl<$Res, + _$WageSeekerIdentificationCreateEvent> + implements _$$WageSeekerIdentificationCreateEventCopyWith<$Res> { + __$$WageSeekerIdentificationCreateEventCopyWithImpl( + _$WageSeekerIdentificationCreateEvent _value, + $Res Function(_$WageSeekerIdentificationCreateEvent) _then) : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? documentType = null, + Object? number = null, + Object? name = null, + Object? adharVerified = null, + Object? timeStamp = null, + Object? adharCardResponse = freezed, + }) { + return _then(_$WageSeekerIdentificationCreateEvent( + documentType: null == documentType + ? _value.documentType + : documentType // ignore: cast_nullable_to_non_nullable + as String, + number: null == number + ? _value.number + : number // ignore: cast_nullable_to_non_nullable + as String, + name: null == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String, + adharVerified: null == adharVerified + ? _value.adharVerified + : adharVerified // ignore: cast_nullable_to_non_nullable + as bool, + timeStamp: null == timeStamp + ? _value.timeStamp + : timeStamp // ignore: cast_nullable_to_non_nullable + as int, + adharCardResponse: freezed == adharCardResponse + ? _value.adharCardResponse + : adharCardResponse // ignore: cast_nullable_to_non_nullable + as AdharCardResponse?, + )); + } + + @override + @pragma('vm:prefer-inline') + $AdharCardResponseCopyWith<$Res>? get adharCardResponse { + if (_value.adharCardResponse == null) { + return null; + } + + return $AdharCardResponseCopyWith<$Res>(_value.adharCardResponse!, (value) { + return _then(_value.copyWith(adharCardResponse: value)); + }); + } } /// @nodoc -class _$WageSeekerClearEvent +class _$WageSeekerIdentificationCreateEvent with DiagnosticableTreeMixin - implements WageSeekerClearEvent { - const _$WageSeekerClearEvent(); + implements WageSeekerIdentificationCreateEvent { + const _$WageSeekerIdentificationCreateEvent( + {required this.documentType, + required this.number, + required this.name, + required this.adharVerified, + required this.timeStamp, + this.adharCardResponse}); + + @override + final String documentType; + @override + final String number; + @override + final String name; + @override + final bool adharVerified; + @override + final int timeStamp; + @override + final AdharCardResponse? adharCardResponse; @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { - return 'WageSeekerBlocEvent.clear()'; + return 'WageSeekerBlocEvent.identificationCreate(documentType: $documentType, number: $number, name: $name, adharVerified: $adharVerified, timeStamp: $timeStamp, adharCardResponse: $adharCardResponse)'; } @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); - properties.add(DiagnosticsProperty('type', 'WageSeekerBlocEvent.clear')); + properties + ..add(DiagnosticsProperty( + 'type', 'WageSeekerBlocEvent.identificationCreate')) + ..add(DiagnosticsProperty('documentType', documentType)) + ..add(DiagnosticsProperty('number', number)) + ..add(DiagnosticsProperty('name', name)) + ..add(DiagnosticsProperty('adharVerified', adharVerified)) + ..add(DiagnosticsProperty('timeStamp', timeStamp)) + ..add(DiagnosticsProperty('adharCardResponse', adharCardResponse)); } @override bool operator ==(dynamic other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$WageSeekerClearEvent); + (other.runtimeType == runtimeType && + other is _$WageSeekerIdentificationCreateEvent && + (identical(other.documentType, documentType) || + other.documentType == documentType) && + (identical(other.number, number) || other.number == number) && + (identical(other.name, name) || other.name == name) && + (identical(other.adharVerified, adharVerified) || + other.adharVerified == adharVerified) && + (identical(other.timeStamp, timeStamp) || + other.timeStamp == timeStamp) && + (identical(other.adharCardResponse, adharCardResponse) || + other.adharCardResponse == adharCardResponse)); } @override - int get hashCode => runtimeType.hashCode; + int get hashCode => Object.hash(runtimeType, documentType, number, name, + adharVerified, timeStamp, adharCardResponse); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$WageSeekerIdentificationCreateEventCopyWith< + _$WageSeekerIdentificationCreateEvent> + get copyWith => __$$WageSeekerIdentificationCreateEventCopyWithImpl< + _$WageSeekerIdentificationCreateEvent>(this, _$identity); @override @optionalTypeArgs @@ -350,9 +584,29 @@ class _$WageSeekerClearEvent LocationDetails? locationDetails, FinancialDetails? financialDetails) create, + required TResult Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse) + identificationCreate, + required TResult Function( + String fatherName, + DateTime dob, + String relationShip, + String gender, + String socialCategory, + String mobileNumber) + detailsCreate, + required TResult Function(SkillDetails skillDetails) skillCreate, + required TResult Function(File? imageFile, Uint8List? bytes, String? photo) + photoCreate, required TResult Function() clear, }) { - return clear(); + return identificationCreate(documentType, number, name, adharVerified, + timeStamp, adharCardResponse); } @override @@ -364,9 +618,327 @@ class _$WageSeekerClearEvent LocationDetails? locationDetails, FinancialDetails? financialDetails)? create, + TResult? Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse)? + identificationCreate, + TResult? Function(String fatherName, DateTime dob, String relationShip, + String gender, String socialCategory, String mobileNumber)? + detailsCreate, + TResult? Function(SkillDetails skillDetails)? skillCreate, + TResult? Function(File? imageFile, Uint8List? bytes, String? photo)? + photoCreate, TResult? Function()? clear, }) { - return clear?.call(); + return identificationCreate?.call(documentType, number, name, adharVerified, + timeStamp, adharCardResponse); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function( + IndividualDetails? individualDetails, + SkillDetails? skillDetails, + LocationDetails? locationDetails, + FinancialDetails? financialDetails)? + create, + TResult Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse)? + identificationCreate, + TResult Function(String fatherName, DateTime dob, String relationShip, + String gender, String socialCategory, String mobileNumber)? + detailsCreate, + TResult Function(SkillDetails skillDetails)? skillCreate, + TResult Function(File? imageFile, Uint8List? bytes, String? photo)? + photoCreate, + TResult Function()? clear, + required TResult orElse(), + }) { + if (identificationCreate != null) { + return identificationCreate(documentType, number, name, adharVerified, + timeStamp, adharCardResponse); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(WageSeekerCreateEvent value) create, + required TResult Function(WageSeekerIdentificationCreateEvent value) + identificationCreate, + required TResult Function(WageSeekerDetailsCreateEvent value) detailsCreate, + required TResult Function(WageSeekerSkillCreateEvent value) skillCreate, + required TResult Function(WageSeekerPhotoCreateEvent value) photoCreate, + required TResult Function(WageSeekerClearEvent value) clear, + }) { + return identificationCreate(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(WageSeekerCreateEvent value)? create, + TResult? Function(WageSeekerIdentificationCreateEvent value)? + identificationCreate, + TResult? Function(WageSeekerDetailsCreateEvent value)? detailsCreate, + TResult? Function(WageSeekerSkillCreateEvent value)? skillCreate, + TResult? Function(WageSeekerPhotoCreateEvent value)? photoCreate, + TResult? Function(WageSeekerClearEvent value)? clear, + }) { + return identificationCreate?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(WageSeekerCreateEvent value)? create, + TResult Function(WageSeekerIdentificationCreateEvent value)? + identificationCreate, + TResult Function(WageSeekerDetailsCreateEvent value)? detailsCreate, + TResult Function(WageSeekerSkillCreateEvent value)? skillCreate, + TResult Function(WageSeekerPhotoCreateEvent value)? photoCreate, + TResult Function(WageSeekerClearEvent value)? clear, + required TResult orElse(), + }) { + if (identificationCreate != null) { + return identificationCreate(this); + } + return orElse(); + } +} + +abstract class WageSeekerIdentificationCreateEvent + implements WageSeekerBlocEvent { + const factory WageSeekerIdentificationCreateEvent( + {required final String documentType, + required final String number, + required final String name, + required final bool adharVerified, + required final int timeStamp, + final AdharCardResponse? adharCardResponse}) = + _$WageSeekerIdentificationCreateEvent; + + String get documentType; + String get number; + String get name; + bool get adharVerified; + int get timeStamp; + AdharCardResponse? get adharCardResponse; + @JsonKey(ignore: true) + _$$WageSeekerIdentificationCreateEventCopyWith< + _$WageSeekerIdentificationCreateEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$WageSeekerDetailsCreateEventCopyWith<$Res> { + factory _$$WageSeekerDetailsCreateEventCopyWith( + _$WageSeekerDetailsCreateEvent value, + $Res Function(_$WageSeekerDetailsCreateEvent) then) = + __$$WageSeekerDetailsCreateEventCopyWithImpl<$Res>; + @useResult + $Res call( + {String fatherName, + DateTime dob, + String relationShip, + String gender, + String socialCategory, + String mobileNumber}); +} + +/// @nodoc +class __$$WageSeekerDetailsCreateEventCopyWithImpl<$Res> + extends _$WageSeekerBlocEventCopyWithImpl<$Res, + _$WageSeekerDetailsCreateEvent> + implements _$$WageSeekerDetailsCreateEventCopyWith<$Res> { + __$$WageSeekerDetailsCreateEventCopyWithImpl( + _$WageSeekerDetailsCreateEvent _value, + $Res Function(_$WageSeekerDetailsCreateEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? fatherName = null, + Object? dob = null, + Object? relationShip = null, + Object? gender = null, + Object? socialCategory = null, + Object? mobileNumber = null, + }) { + return _then(_$WageSeekerDetailsCreateEvent( + fatherName: null == fatherName + ? _value.fatherName + : fatherName // ignore: cast_nullable_to_non_nullable + as String, + dob: null == dob + ? _value.dob + : dob // ignore: cast_nullable_to_non_nullable + as DateTime, + relationShip: null == relationShip + ? _value.relationShip + : relationShip // ignore: cast_nullable_to_non_nullable + as String, + gender: null == gender + ? _value.gender + : gender // ignore: cast_nullable_to_non_nullable + as String, + socialCategory: null == socialCategory + ? _value.socialCategory + : socialCategory // ignore: cast_nullable_to_non_nullable + as String, + mobileNumber: null == mobileNumber + ? _value.mobileNumber + : mobileNumber // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +/// @nodoc + +class _$WageSeekerDetailsCreateEvent + with DiagnosticableTreeMixin + implements WageSeekerDetailsCreateEvent { + const _$WageSeekerDetailsCreateEvent( + {required this.fatherName, + required this.dob, + required this.relationShip, + required this.gender, + required this.socialCategory, + required this.mobileNumber}); + + @override + final String fatherName; + @override + final DateTime dob; + @override + final String relationShip; + @override + final String gender; + @override + final String socialCategory; + @override + final String mobileNumber; + + @override + String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { + return 'WageSeekerBlocEvent.detailsCreate(fatherName: $fatherName, dob: $dob, relationShip: $relationShip, gender: $gender, socialCategory: $socialCategory, mobileNumber: $mobileNumber)'; + } + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(DiagnosticsProperty('type', 'WageSeekerBlocEvent.detailsCreate')) + ..add(DiagnosticsProperty('fatherName', fatherName)) + ..add(DiagnosticsProperty('dob', dob)) + ..add(DiagnosticsProperty('relationShip', relationShip)) + ..add(DiagnosticsProperty('gender', gender)) + ..add(DiagnosticsProperty('socialCategory', socialCategory)) + ..add(DiagnosticsProperty('mobileNumber', mobileNumber)); + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$WageSeekerDetailsCreateEvent && + (identical(other.fatherName, fatherName) || + other.fatherName == fatherName) && + (identical(other.dob, dob) || other.dob == dob) && + (identical(other.relationShip, relationShip) || + other.relationShip == relationShip) && + (identical(other.gender, gender) || other.gender == gender) && + (identical(other.socialCategory, socialCategory) || + other.socialCategory == socialCategory) && + (identical(other.mobileNumber, mobileNumber) || + other.mobileNumber == mobileNumber)); + } + + @override + int get hashCode => Object.hash(runtimeType, fatherName, dob, relationShip, + gender, socialCategory, mobileNumber); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$WageSeekerDetailsCreateEventCopyWith<_$WageSeekerDetailsCreateEvent> + get copyWith => __$$WageSeekerDetailsCreateEventCopyWithImpl< + _$WageSeekerDetailsCreateEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + IndividualDetails? individualDetails, + SkillDetails? skillDetails, + LocationDetails? locationDetails, + FinancialDetails? financialDetails) + create, + required TResult Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse) + identificationCreate, + required TResult Function( + String fatherName, + DateTime dob, + String relationShip, + String gender, + String socialCategory, + String mobileNumber) + detailsCreate, + required TResult Function(SkillDetails skillDetails) skillCreate, + required TResult Function(File? imageFile, Uint8List? bytes, String? photo) + photoCreate, + required TResult Function() clear, + }) { + return detailsCreate( + fatherName, dob, relationShip, gender, socialCategory, mobileNumber); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function( + IndividualDetails? individualDetails, + SkillDetails? skillDetails, + LocationDetails? locationDetails, + FinancialDetails? financialDetails)? + create, + TResult? Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse)? + identificationCreate, + TResult? Function(String fatherName, DateTime dob, String relationShip, + String gender, String socialCategory, String mobileNumber)? + detailsCreate, + TResult? Function(SkillDetails skillDetails)? skillCreate, + TResult? Function(File? imageFile, Uint8List? bytes, String? photo)? + photoCreate, + TResult? Function()? clear, + }) { + return detailsCreate?.call( + fatherName, dob, relationShip, gender, socialCategory, mobileNumber); } @override @@ -378,6 +950,700 @@ class _$WageSeekerClearEvent LocationDetails? locationDetails, FinancialDetails? financialDetails)? create, + TResult Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse)? + identificationCreate, + TResult Function(String fatherName, DateTime dob, String relationShip, + String gender, String socialCategory, String mobileNumber)? + detailsCreate, + TResult Function(SkillDetails skillDetails)? skillCreate, + TResult Function(File? imageFile, Uint8List? bytes, String? photo)? + photoCreate, + TResult Function()? clear, + required TResult orElse(), + }) { + if (detailsCreate != null) { + return detailsCreate( + fatherName, dob, relationShip, gender, socialCategory, mobileNumber); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(WageSeekerCreateEvent value) create, + required TResult Function(WageSeekerIdentificationCreateEvent value) + identificationCreate, + required TResult Function(WageSeekerDetailsCreateEvent value) detailsCreate, + required TResult Function(WageSeekerSkillCreateEvent value) skillCreate, + required TResult Function(WageSeekerPhotoCreateEvent value) photoCreate, + required TResult Function(WageSeekerClearEvent value) clear, + }) { + return detailsCreate(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(WageSeekerCreateEvent value)? create, + TResult? Function(WageSeekerIdentificationCreateEvent value)? + identificationCreate, + TResult? Function(WageSeekerDetailsCreateEvent value)? detailsCreate, + TResult? Function(WageSeekerSkillCreateEvent value)? skillCreate, + TResult? Function(WageSeekerPhotoCreateEvent value)? photoCreate, + TResult? Function(WageSeekerClearEvent value)? clear, + }) { + return detailsCreate?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(WageSeekerCreateEvent value)? create, + TResult Function(WageSeekerIdentificationCreateEvent value)? + identificationCreate, + TResult Function(WageSeekerDetailsCreateEvent value)? detailsCreate, + TResult Function(WageSeekerSkillCreateEvent value)? skillCreate, + TResult Function(WageSeekerPhotoCreateEvent value)? photoCreate, + TResult Function(WageSeekerClearEvent value)? clear, + required TResult orElse(), + }) { + if (detailsCreate != null) { + return detailsCreate(this); + } + return orElse(); + } +} + +abstract class WageSeekerDetailsCreateEvent implements WageSeekerBlocEvent { + const factory WageSeekerDetailsCreateEvent( + {required final String fatherName, + required final DateTime dob, + required final String relationShip, + required final String gender, + required final String socialCategory, + required final String mobileNumber}) = _$WageSeekerDetailsCreateEvent; + + String get fatherName; + DateTime get dob; + String get relationShip; + String get gender; + String get socialCategory; + String get mobileNumber; + @JsonKey(ignore: true) + _$$WageSeekerDetailsCreateEventCopyWith<_$WageSeekerDetailsCreateEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$WageSeekerSkillCreateEventCopyWith<$Res> { + factory _$$WageSeekerSkillCreateEventCopyWith( + _$WageSeekerSkillCreateEvent value, + $Res Function(_$WageSeekerSkillCreateEvent) then) = + __$$WageSeekerSkillCreateEventCopyWithImpl<$Res>; + @useResult + $Res call({SkillDetails skillDetails}); +} + +/// @nodoc +class __$$WageSeekerSkillCreateEventCopyWithImpl<$Res> + extends _$WageSeekerBlocEventCopyWithImpl<$Res, + _$WageSeekerSkillCreateEvent> + implements _$$WageSeekerSkillCreateEventCopyWith<$Res> { + __$$WageSeekerSkillCreateEventCopyWithImpl( + _$WageSeekerSkillCreateEvent _value, + $Res Function(_$WageSeekerSkillCreateEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? skillDetails = null, + }) { + return _then(_$WageSeekerSkillCreateEvent( + skillDetails: null == skillDetails + ? _value.skillDetails + : skillDetails // ignore: cast_nullable_to_non_nullable + as SkillDetails, + )); + } +} + +/// @nodoc + +class _$WageSeekerSkillCreateEvent + with DiagnosticableTreeMixin + implements WageSeekerSkillCreateEvent { + const _$WageSeekerSkillCreateEvent({required this.skillDetails}); + + @override + final SkillDetails skillDetails; + + @override + String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { + return 'WageSeekerBlocEvent.skillCreate(skillDetails: $skillDetails)'; + } + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(DiagnosticsProperty('type', 'WageSeekerBlocEvent.skillCreate')) + ..add(DiagnosticsProperty('skillDetails', skillDetails)); + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$WageSeekerSkillCreateEvent && + (identical(other.skillDetails, skillDetails) || + other.skillDetails == skillDetails)); + } + + @override + int get hashCode => Object.hash(runtimeType, skillDetails); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$WageSeekerSkillCreateEventCopyWith<_$WageSeekerSkillCreateEvent> + get copyWith => __$$WageSeekerSkillCreateEventCopyWithImpl< + _$WageSeekerSkillCreateEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + IndividualDetails? individualDetails, + SkillDetails? skillDetails, + LocationDetails? locationDetails, + FinancialDetails? financialDetails) + create, + required TResult Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse) + identificationCreate, + required TResult Function( + String fatherName, + DateTime dob, + String relationShip, + String gender, + String socialCategory, + String mobileNumber) + detailsCreate, + required TResult Function(SkillDetails skillDetails) skillCreate, + required TResult Function(File? imageFile, Uint8List? bytes, String? photo) + photoCreate, + required TResult Function() clear, + }) { + return skillCreate(skillDetails); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function( + IndividualDetails? individualDetails, + SkillDetails? skillDetails, + LocationDetails? locationDetails, + FinancialDetails? financialDetails)? + create, + TResult? Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse)? + identificationCreate, + TResult? Function(String fatherName, DateTime dob, String relationShip, + String gender, String socialCategory, String mobileNumber)? + detailsCreate, + TResult? Function(SkillDetails skillDetails)? skillCreate, + TResult? Function(File? imageFile, Uint8List? bytes, String? photo)? + photoCreate, + TResult? Function()? clear, + }) { + return skillCreate?.call(skillDetails); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function( + IndividualDetails? individualDetails, + SkillDetails? skillDetails, + LocationDetails? locationDetails, + FinancialDetails? financialDetails)? + create, + TResult Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse)? + identificationCreate, + TResult Function(String fatherName, DateTime dob, String relationShip, + String gender, String socialCategory, String mobileNumber)? + detailsCreate, + TResult Function(SkillDetails skillDetails)? skillCreate, + TResult Function(File? imageFile, Uint8List? bytes, String? photo)? + photoCreate, + TResult Function()? clear, + required TResult orElse(), + }) { + if (skillCreate != null) { + return skillCreate(skillDetails); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(WageSeekerCreateEvent value) create, + required TResult Function(WageSeekerIdentificationCreateEvent value) + identificationCreate, + required TResult Function(WageSeekerDetailsCreateEvent value) detailsCreate, + required TResult Function(WageSeekerSkillCreateEvent value) skillCreate, + required TResult Function(WageSeekerPhotoCreateEvent value) photoCreate, + required TResult Function(WageSeekerClearEvent value) clear, + }) { + return skillCreate(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(WageSeekerCreateEvent value)? create, + TResult? Function(WageSeekerIdentificationCreateEvent value)? + identificationCreate, + TResult? Function(WageSeekerDetailsCreateEvent value)? detailsCreate, + TResult? Function(WageSeekerSkillCreateEvent value)? skillCreate, + TResult? Function(WageSeekerPhotoCreateEvent value)? photoCreate, + TResult? Function(WageSeekerClearEvent value)? clear, + }) { + return skillCreate?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(WageSeekerCreateEvent value)? create, + TResult Function(WageSeekerIdentificationCreateEvent value)? + identificationCreate, + TResult Function(WageSeekerDetailsCreateEvent value)? detailsCreate, + TResult Function(WageSeekerSkillCreateEvent value)? skillCreate, + TResult Function(WageSeekerPhotoCreateEvent value)? photoCreate, + TResult Function(WageSeekerClearEvent value)? clear, + required TResult orElse(), + }) { + if (skillCreate != null) { + return skillCreate(this); + } + return orElse(); + } +} + +abstract class WageSeekerSkillCreateEvent implements WageSeekerBlocEvent { + const factory WageSeekerSkillCreateEvent( + {required final SkillDetails skillDetails}) = + _$WageSeekerSkillCreateEvent; + + SkillDetails get skillDetails; + @JsonKey(ignore: true) + _$$WageSeekerSkillCreateEventCopyWith<_$WageSeekerSkillCreateEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$WageSeekerPhotoCreateEventCopyWith<$Res> { + factory _$$WageSeekerPhotoCreateEventCopyWith( + _$WageSeekerPhotoCreateEvent value, + $Res Function(_$WageSeekerPhotoCreateEvent) then) = + __$$WageSeekerPhotoCreateEventCopyWithImpl<$Res>; + @useResult + $Res call({File? imageFile, Uint8List? bytes, String? photo}); +} + +/// @nodoc +class __$$WageSeekerPhotoCreateEventCopyWithImpl<$Res> + extends _$WageSeekerBlocEventCopyWithImpl<$Res, + _$WageSeekerPhotoCreateEvent> + implements _$$WageSeekerPhotoCreateEventCopyWith<$Res> { + __$$WageSeekerPhotoCreateEventCopyWithImpl( + _$WageSeekerPhotoCreateEvent _value, + $Res Function(_$WageSeekerPhotoCreateEvent) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? imageFile = freezed, + Object? bytes = freezed, + Object? photo = freezed, + }) { + return _then(_$WageSeekerPhotoCreateEvent( + imageFile: freezed == imageFile + ? _value.imageFile + : imageFile // ignore: cast_nullable_to_non_nullable + as File?, + bytes: freezed == bytes + ? _value.bytes + : bytes // ignore: cast_nullable_to_non_nullable + as Uint8List?, + photo: freezed == photo + ? _value.photo + : photo // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc + +class _$WageSeekerPhotoCreateEvent + with DiagnosticableTreeMixin + implements WageSeekerPhotoCreateEvent { + const _$WageSeekerPhotoCreateEvent({this.imageFile, this.bytes, this.photo}); + + @override + final File? imageFile; + @override + final Uint8List? bytes; + @override + final String? photo; + + @override + String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { + return 'WageSeekerBlocEvent.photoCreate(imageFile: $imageFile, bytes: $bytes, photo: $photo)'; + } + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties + ..add(DiagnosticsProperty('type', 'WageSeekerBlocEvent.photoCreate')) + ..add(DiagnosticsProperty('imageFile', imageFile)) + ..add(DiagnosticsProperty('bytes', bytes)) + ..add(DiagnosticsProperty('photo', photo)); + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$WageSeekerPhotoCreateEvent && + (identical(other.imageFile, imageFile) || + other.imageFile == imageFile) && + const DeepCollectionEquality().equals(other.bytes, bytes) && + (identical(other.photo, photo) || other.photo == photo)); + } + + @override + int get hashCode => Object.hash(runtimeType, imageFile, + const DeepCollectionEquality().hash(bytes), photo); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$WageSeekerPhotoCreateEventCopyWith<_$WageSeekerPhotoCreateEvent> + get copyWith => __$$WageSeekerPhotoCreateEventCopyWithImpl< + _$WageSeekerPhotoCreateEvent>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + IndividualDetails? individualDetails, + SkillDetails? skillDetails, + LocationDetails? locationDetails, + FinancialDetails? financialDetails) + create, + required TResult Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse) + identificationCreate, + required TResult Function( + String fatherName, + DateTime dob, + String relationShip, + String gender, + String socialCategory, + String mobileNumber) + detailsCreate, + required TResult Function(SkillDetails skillDetails) skillCreate, + required TResult Function(File? imageFile, Uint8List? bytes, String? photo) + photoCreate, + required TResult Function() clear, + }) { + return photoCreate(imageFile, bytes, photo); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function( + IndividualDetails? individualDetails, + SkillDetails? skillDetails, + LocationDetails? locationDetails, + FinancialDetails? financialDetails)? + create, + TResult? Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse)? + identificationCreate, + TResult? Function(String fatherName, DateTime dob, String relationShip, + String gender, String socialCategory, String mobileNumber)? + detailsCreate, + TResult? Function(SkillDetails skillDetails)? skillCreate, + TResult? Function(File? imageFile, Uint8List? bytes, String? photo)? + photoCreate, + TResult? Function()? clear, + }) { + return photoCreate?.call(imageFile, bytes, photo); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function( + IndividualDetails? individualDetails, + SkillDetails? skillDetails, + LocationDetails? locationDetails, + FinancialDetails? financialDetails)? + create, + TResult Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse)? + identificationCreate, + TResult Function(String fatherName, DateTime dob, String relationShip, + String gender, String socialCategory, String mobileNumber)? + detailsCreate, + TResult Function(SkillDetails skillDetails)? skillCreate, + TResult Function(File? imageFile, Uint8List? bytes, String? photo)? + photoCreate, + TResult Function()? clear, + required TResult orElse(), + }) { + if (photoCreate != null) { + return photoCreate(imageFile, bytes, photo); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(WageSeekerCreateEvent value) create, + required TResult Function(WageSeekerIdentificationCreateEvent value) + identificationCreate, + required TResult Function(WageSeekerDetailsCreateEvent value) detailsCreate, + required TResult Function(WageSeekerSkillCreateEvent value) skillCreate, + required TResult Function(WageSeekerPhotoCreateEvent value) photoCreate, + required TResult Function(WageSeekerClearEvent value) clear, + }) { + return photoCreate(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(WageSeekerCreateEvent value)? create, + TResult? Function(WageSeekerIdentificationCreateEvent value)? + identificationCreate, + TResult? Function(WageSeekerDetailsCreateEvent value)? detailsCreate, + TResult? Function(WageSeekerSkillCreateEvent value)? skillCreate, + TResult? Function(WageSeekerPhotoCreateEvent value)? photoCreate, + TResult? Function(WageSeekerClearEvent value)? clear, + }) { + return photoCreate?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(WageSeekerCreateEvent value)? create, + TResult Function(WageSeekerIdentificationCreateEvent value)? + identificationCreate, + TResult Function(WageSeekerDetailsCreateEvent value)? detailsCreate, + TResult Function(WageSeekerSkillCreateEvent value)? skillCreate, + TResult Function(WageSeekerPhotoCreateEvent value)? photoCreate, + TResult Function(WageSeekerClearEvent value)? clear, + required TResult orElse(), + }) { + if (photoCreate != null) { + return photoCreate(this); + } + return orElse(); + } +} + +abstract class WageSeekerPhotoCreateEvent implements WageSeekerBlocEvent { + const factory WageSeekerPhotoCreateEvent( + {final File? imageFile, + final Uint8List? bytes, + final String? photo}) = _$WageSeekerPhotoCreateEvent; + + File? get imageFile; + Uint8List? get bytes; + String? get photo; + @JsonKey(ignore: true) + _$$WageSeekerPhotoCreateEventCopyWith<_$WageSeekerPhotoCreateEvent> + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class _$$WageSeekerClearEventCopyWith<$Res> { + factory _$$WageSeekerClearEventCopyWith(_$WageSeekerClearEvent value, + $Res Function(_$WageSeekerClearEvent) then) = + __$$WageSeekerClearEventCopyWithImpl<$Res>; +} + +/// @nodoc +class __$$WageSeekerClearEventCopyWithImpl<$Res> + extends _$WageSeekerBlocEventCopyWithImpl<$Res, _$WageSeekerClearEvent> + implements _$$WageSeekerClearEventCopyWith<$Res> { + __$$WageSeekerClearEventCopyWithImpl(_$WageSeekerClearEvent _value, + $Res Function(_$WageSeekerClearEvent) _then) + : super(_value, _then); +} + +/// @nodoc + +class _$WageSeekerClearEvent + with DiagnosticableTreeMixin + implements WageSeekerClearEvent { + const _$WageSeekerClearEvent(); + + @override + String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { + return 'WageSeekerBlocEvent.clear()'; + } + + @override + void debugFillProperties(DiagnosticPropertiesBuilder properties) { + super.debugFillProperties(properties); + properties.add(DiagnosticsProperty('type', 'WageSeekerBlocEvent.clear')); + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && other is _$WageSeekerClearEvent); + } + + @override + int get hashCode => runtimeType.hashCode; + + @override + @optionalTypeArgs + TResult when({ + required TResult Function( + IndividualDetails? individualDetails, + SkillDetails? skillDetails, + LocationDetails? locationDetails, + FinancialDetails? financialDetails) + create, + required TResult Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse) + identificationCreate, + required TResult Function( + String fatherName, + DateTime dob, + String relationShip, + String gender, + String socialCategory, + String mobileNumber) + detailsCreate, + required TResult Function(SkillDetails skillDetails) skillCreate, + required TResult Function(File? imageFile, Uint8List? bytes, String? photo) + photoCreate, + required TResult Function() clear, + }) { + return clear(); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function( + IndividualDetails? individualDetails, + SkillDetails? skillDetails, + LocationDetails? locationDetails, + FinancialDetails? financialDetails)? + create, + TResult? Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse)? + identificationCreate, + TResult? Function(String fatherName, DateTime dob, String relationShip, + String gender, String socialCategory, String mobileNumber)? + detailsCreate, + TResult? Function(SkillDetails skillDetails)? skillCreate, + TResult? Function(File? imageFile, Uint8List? bytes, String? photo)? + photoCreate, + TResult? Function()? clear, + }) { + return clear?.call(); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function( + IndividualDetails? individualDetails, + SkillDetails? skillDetails, + LocationDetails? locationDetails, + FinancialDetails? financialDetails)? + create, + TResult Function( + String documentType, + String number, + String name, + bool adharVerified, + int timeStamp, + AdharCardResponse? adharCardResponse)? + identificationCreate, + TResult Function(String fatherName, DateTime dob, String relationShip, + String gender, String socialCategory, String mobileNumber)? + detailsCreate, + TResult Function(SkillDetails skillDetails)? skillCreate, + TResult Function(File? imageFile, Uint8List? bytes, String? photo)? + photoCreate, TResult Function()? clear, required TResult orElse(), }) { @@ -391,6 +1657,11 @@ class _$WageSeekerClearEvent @optionalTypeArgs TResult map({ required TResult Function(WageSeekerCreateEvent value) create, + required TResult Function(WageSeekerIdentificationCreateEvent value) + identificationCreate, + required TResult Function(WageSeekerDetailsCreateEvent value) detailsCreate, + required TResult Function(WageSeekerSkillCreateEvent value) skillCreate, + required TResult Function(WageSeekerPhotoCreateEvent value) photoCreate, required TResult Function(WageSeekerClearEvent value) clear, }) { return clear(this); @@ -400,6 +1671,11 @@ class _$WageSeekerClearEvent @optionalTypeArgs TResult? mapOrNull({ TResult? Function(WageSeekerCreateEvent value)? create, + TResult? Function(WageSeekerIdentificationCreateEvent value)? + identificationCreate, + TResult? Function(WageSeekerDetailsCreateEvent value)? detailsCreate, + TResult? Function(WageSeekerSkillCreateEvent value)? skillCreate, + TResult? Function(WageSeekerPhotoCreateEvent value)? photoCreate, TResult? Function(WageSeekerClearEvent value)? clear, }) { return clear?.call(this); @@ -409,6 +1685,11 @@ class _$WageSeekerClearEvent @optionalTypeArgs TResult maybeMap({ TResult Function(WageSeekerCreateEvent value)? create, + TResult Function(WageSeekerIdentificationCreateEvent value)? + identificationCreate, + TResult Function(WageSeekerDetailsCreateEvent value)? detailsCreate, + TResult Function(WageSeekerSkillCreateEvent value)? skillCreate, + TResult Function(WageSeekerPhotoCreateEvent value)? photoCreate, TResult Function(WageSeekerClearEvent value)? clear, required TResult orElse(), }) { diff --git a/frontend/works_shg_app/lib/blocs/work_orders/search_individual_work.dart b/frontend/works_shg_app/lib/blocs/work_orders/search_individual_work.dart index e678045e11..ef737babfd 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/search_individual_work.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/search_individual_work.dart @@ -4,6 +4,7 @@ import 'package:dio/dio.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/data/repositories/work_order_repository/my_works_repository.dart'; import 'package:works_shg_app/services/urls.dart'; import 'package:works_shg_app/utils/global_variables.dart'; @@ -42,8 +43,10 @@ class SearchIndividualWorkBloc url: Urls.workServices.myWorks, body: { ...?event.body, - "tenantId": GlobalVariables - .organisationListModel!.organisations!.first.tenantId, + "tenantId": GlobalVariables.roleType == RoleType.employee + ? GlobalVariables.tenantId + : GlobalVariables + .organisationListModel!.organisations!.first.tenantId, "orgIds": [], "contractNumber": event.contractNumber, "pagination": { diff --git a/frontend/works_shg_app/lib/data/repositories/attendance_mdms.dart b/frontend/works_shg_app/lib/data/repositories/attendance_mdms.dart index 92784bd311..54ce63ec8b 100644 --- a/frontend/works_shg_app/lib/data/repositories/attendance_mdms.dart +++ b/frontend/works_shg_app/lib/data/repositories/attendance_mdms.dart @@ -23,7 +23,7 @@ class AttendanceMDMSRepository { }); return SkillsList.fromJson( - json.decode(response.toString())['MdmsRes']['common-masters'], + json.decode(response.toString())['MdmsRes']['WORKS-SOR'], ); } on DioError catch (ex) { // Assuming there will be an errorMessage property in the JSON object diff --git a/frontend/works_shg_app/lib/data/repositories/common_repository/common_repository.dart b/frontend/works_shg_app/lib/data/repositories/common_repository/common_repository.dart index 5cd3f58f68..cc2bbf69dc 100644 --- a/frontend/works_shg_app/lib/data/repositories/common_repository/common_repository.dart +++ b/frontend/works_shg_app/lib/data/repositories/common_repository/common_repository.dart @@ -2,8 +2,13 @@ import 'dart:async'; import 'dart:convert'; import 'package:dio/dio.dart'; +import 'package:flutter/foundation.dart'; +import 'package:works_shg_app/Env/app_config.dart'; +import 'package:works_shg_app/Env/env_config.dart'; import 'package:works_shg_app/models/init_mdms/init_mdms_model.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; +import '../../../models/employee/homeconfig/homeConfigModel.dart'; import '../../../models/mdms/location_mdms.dart'; import '../../../models/muster_rolls/business_service_workflow.dart'; import '../../../models/screen_config/home_screen_config.dart'; @@ -54,6 +59,41 @@ class CommonRepository { rethrow; } } + // emp mb home screen + + Future getEmpHomeConfig({ + required String apiEndPoint, + required String tenantId, + required List roleCodes, + required String actionMaster, + required bool enabled, + }) async { + try { + Dio client = Dio(); + + client.options.baseUrl = + kIsWeb && !kDebugMode ? apiBaseUrl : envConfig.variables.baseUrl; + var response = await client.post(apiEndPoint, data: { + "roleCodes": roleCodes, + "tenantId": tenantId, + "actionMaster": actionMaster, + "enabled": enabled, + "RequestInfo": { + "apiId": 'Rainmaker', + "ts": DateTime.now().millisecondsSinceEpoch, + "action": "_search", + "msgId": "", + "authToken": GlobalVariables.authToken, + "userInfo": null + }, + }); + + return HomeConfigModel.fromJson(response.data); + } on DioError catch (ex) { + // Assuming there will be an errorMessage property in the JSON object + rethrow; + } + } Future getAppVersion({ required String apiEndPoint, diff --git a/frontend/works_shg_app/lib/data/repositories/core_repo/core_repository.dart b/frontend/works_shg_app/lib/data/repositories/core_repo/core_repository.dart index fbe53a6449..7096bc6943 100644 --- a/frontend/works_shg_app/lib/data/repositories/core_repo/core_repository.dart +++ b/frontend/works_shg_app/lib/data/repositories/core_repo/core_repository.dart @@ -16,7 +16,9 @@ import '../../../Env/env_config.dart'; import '../../../utils/common_methods.dart'; import '../../../utils/models.dart'; import '../../../utils/save_file_mobile.dart'; - +enum FileUploadStatus { + NOT_ACTIVE,STARTED,COMPLETED +} class CoreRepository { Future> uploadFiles( List? paths, String moduleName) async { @@ -53,9 +55,8 @@ class CoreRepository { request.files.add(multipartFile); } } - request.fields['tenantId'] = GlobalVariables - .organisationListModel!.organisations!.first.tenantId! - .toString(); + // testing + request.fields['tenantId'] = GlobalVariables.tenantId!; request.fields['module'] = moduleName; await request.send().then((response) async { if (response.statusCode == 201) { diff --git a/frontend/works_shg_app/lib/data/repositories/employee_repository/emp_hrms.dart b/frontend/works_shg_app/lib/data/repositories/employee_repository/emp_hrms.dart new file mode 100644 index 0000000000..8bbc98e192 --- /dev/null +++ b/frontend/works_shg_app/lib/data/repositories/employee_repository/emp_hrms.dart @@ -0,0 +1,38 @@ +import 'package:dio/dio.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; + +import '../../../models/employee/mb/role_based_hrms.dart'; + +class EmpHRMSRepository { + final Dio _client; + EmpHRMSRepository(this._client); + + Future loadHrmsEmployee({ + Map? queryParameters, + dynamic body, + required String url, + }) async { + try { + //Dio http=Dio(); + final res = await _client.post( + url, + queryParameters: queryParameters, + data: body ?? {}, + options: Options(extra: { + "userInfo": GlobalVariables.userRequestModel, + "accessToken": GlobalVariables.authToken + }), + ); + + + return HRMSResponse.fromJson(res.data); + } on DioError catch (ex) { + // Assuming there will be an errorMessage property in the JSON object + rethrow; + } + } + + + + +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/data/repositories/employee_repository/estimate.dart b/frontend/works_shg_app/lib/data/repositories/employee_repository/estimate.dart new file mode 100644 index 0000000000..a77ce3f5b8 --- /dev/null +++ b/frontend/works_shg_app/lib/data/repositories/employee_repository/estimate.dart @@ -0,0 +1,37 @@ +import 'package:dio/dio.dart'; +import 'package:works_shg_app/models/employee/estimate/estimate_model.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; + +class EstimateRepository { + final Dio _client; + EstimateRepository(this._client); + + Future loadEstimate({ + Map? queryParameters, + dynamic body, + required String url, + }) async { + try { + //Dio http=Dio(); + final res = await _client.post( + url, + queryParameters: queryParameters, + data: body ?? {}, + options: Options(extra: { + "userInfo": GlobalVariables.userRequestModel, + "accessToken": GlobalVariables.authToken + }), + ); + + + return EstimateDetailResponse.fromJson(res.data); + } on DioError catch (ex) { + // Assuming there will be an errorMessage property in the JSON object + rethrow; + } + } + + + + +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/data/repositories/employee_repository/mb.dart b/frontend/works_shg_app/lib/data/repositories/employee_repository/mb.dart new file mode 100644 index 0000000000..0410c954c8 --- /dev/null +++ b/frontend/works_shg_app/lib/data/repositories/employee_repository/mb.dart @@ -0,0 +1,92 @@ +// ignore_for_file: avoid_dynamic_calls + +import 'dart:async'; + +import 'package:dio/dio.dart'; + +import '../../../models/employee/mb/mb_detail_response.dart'; +import '../../../models/employee/mb/mb_inbox_response.dart'; +import '../../../utils/global_variables.dart'; + +class MBRepository { + final Dio _client; + MBRepository(this._client); + + Future fetchMbInbox({ + Map? queryParameters, + dynamic body, + required String url, + }) async { + try { + //Dio http=Dio(); + final res = await _client.post( + url, + queryParameters: queryParameters, + data: body ?? {}, + options: Options(extra: { + "userInfo": GlobalVariables.userRequestModel, + "accessToken": GlobalVariables.authToken + }), + ); + + // return res.data; + return MBInboxResponse.fromJson(res.data); + } on DioError catch (ex) { + // Assuming there will be an errorMessage property in the JSON object + rethrow; + } + } + + FutureOr fetchMbDetail({ + Map? queryParameters, + dynamic body, + required String url, + }) async { + try { + //Dio http=Dio(); + final res = await _client.post( + url, + queryParameters: queryParameters, + data: body ?? {}, + options: Options(extra: { + "userInfo": GlobalVariables.userRequestModel, + "accessToken": GlobalVariables.authToken + }), + ); + + //return res.data; + // return MBInboxResponse.fromJson(res.data); + + return MBDetailResponse.fromJson(res.data); + } on DioError catch (ex) { + // Assuming there will be an errorMessage property in the JSON object + rethrow; + } + } + + FutureOr updateMeasurement({ + Map? queryParameters, + dynamic body, + required String url, + }) async { + try { + //Dio http=Dio(); + final res = await _client.post( + url, + queryParameters: queryParameters, + data: body ?? {}, + options: Options(extra: { + "userInfo": GlobalVariables.userRequestModel, + "accessToken": GlobalVariables.authToken + }), + ); + + //return res.data; + print(res.data['measurements']); + return Measurement.fromJson(res.data['measurements'][0]); + } on DioError catch (ex) { + // Assuming there will be an errorMessage property in the JSON object + rethrow; + } + } +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/data/repositories/employee_repository/mdms.dart b/frontend/works_shg_app/lib/data/repositories/employee_repository/mdms.dart new file mode 100644 index 0000000000..68e6114721 --- /dev/null +++ b/frontend/works_shg_app/lib/data/repositories/employee_repository/mdms.dart @@ -0,0 +1,37 @@ +// ignore_for_file: avoid_dynamic_calls + +import 'dart:async'; + +import 'package:dio/dio.dart'; +import 'package:works_shg_app/models/employee/mb/mb_project_type.dart'; + +import '../../../utils/global_variables.dart'; + +class MBMDMSRepository { + final Dio _client; + MBMDMSRepository(this._client); + + FutureOr fetchProjectType({ + Map? queryParameters, + dynamic body, + required String url, + }) async { + try { + //Dio http=Dio(); + final res = await _client.post( + url, + queryParameters: queryParameters, + data: body ?? {}, + options: Options(extra: {"authToken": GlobalVariables.authToken}), + ); + + //return res.data; + // return MBInboxResponse.fromJson(res.data); + + return MBProjectType.fromJson(res.data); + } on DioError catch (ex) { + // Assuming there will be an errorMessage property in the JSON object + rethrow; + } + } +} diff --git a/frontend/works_shg_app/lib/data/repositories/employee_repository/work_order.dart b/frontend/works_shg_app/lib/data/repositories/employee_repository/work_order.dart new file mode 100644 index 0000000000..d294888626 --- /dev/null +++ b/frontend/works_shg_app/lib/data/repositories/employee_repository/work_order.dart @@ -0,0 +1,90 @@ +// ignore_for_file: avoid_dynamic_calls + +import 'dart:async'; + +import 'package:dio/dio.dart'; +import 'package:works_shg_app/models/employee/work_order/wo_inbox_response.dart'; + +import '../../../utils/global_variables.dart'; + +class WORepository { + final Dio _client; + WORepository(this._client); + + Future fetchWoInbox({ + Map? queryParameters, + dynamic body, + required String url, + }) async { + try { + //Dio http=Dio(); + final res = await _client.post( + url, + queryParameters: queryParameters, + data: body ?? {}, + options: Options(extra: { + "userInfo": GlobalVariables.userRequestModel, + "accessToken": GlobalVariables.authToken + }), + ); + + // return res.data; + return WOInboxResponse.fromJson(res.data); + } on DioError catch (ex) { + // Assuming there will be an errorMessage property in the JSON object + rethrow; + } + } + + // FutureOr fetchMbDetail({ + // Map? queryParameters, + // dynamic body, + // required String url, + // }) async { + // try { + // //Dio http=Dio(); + // final res = await _client.post( + // url, + // queryParameters: queryParameters, + // data: body ?? {}, + // options: Options(extra: { + // "userInfo": GlobalVariables.userRequestModel, + // "accessToken": GlobalVariables.authToken + // }), + // ); + + // //return res.data; + // // return MBInboxResponse.fromJson(res.data); + + // return MBDetailResponse.fromJson(res.data); + // } on DioError catch (ex) { + // // Assuming there will be an errorMessage property in the JSON object + // rethrow; + // } + // } + + // FutureOr updateMeasurement({ + // Map? queryParameters, + // dynamic body, + // required String url, + // }) async { + // try { + // //Dio http=Dio(); + // final res = await _client.post( + // url, + // queryParameters: queryParameters, + // data: body ?? {}, + // options: Options(extra: { + // "userInfo": GlobalVariables.userRequestModel, + // "accessToken": GlobalVariables.authToken + // }), + // ); + + // //return res.data; + // return Measurement.fromJson(res.data); + // } on DioError catch (ex) { + // // Assuming there will be an errorMessage property in the JSON object + // rethrow; + // } + // } +} diff --git a/frontend/works_shg_app/lib/data/repositories/remote/mdms.dart b/frontend/works_shg_app/lib/data/repositories/remote/mdms.dart index 08640c3530..603a1fdf3e 100644 --- a/frontend/works_shg_app/lib/data/repositories/remote/mdms.dart +++ b/frontend/works_shg_app/lib/data/repositories/remote/mdms.dart @@ -5,6 +5,7 @@ import 'dart:convert'; import 'package:dio/dio.dart'; import 'package:works_shg_app/models/init_mdms/init_mdms_model.dart'; +import 'package:works_shg_app/models/skills/skills.dart'; import '../../../models/attendance/muster_submission.dart'; import '../../../models/mdms/attendance_hours.dart'; @@ -123,4 +124,30 @@ class MdmsRepository { rethrow; } } -} + + +// updated sor skills + +Future> skillsMDMS({ + required String apiEndPoint, + required String tenantId, + required List moduleDetails, + }) async { + try { + var response = await _client.post(apiEndPoint, data: { + "MdmsCriteria": { + "tenantId": tenantId, + "moduleDetails": moduleDetails, + }, + }); + + return SkillsList.fromJson( + json.decode(response.toString())['MdmsRes']['WORKS-SOR'], + ).wageSeekerSkills??[]; + } on DioError catch (ex) { + // Assuming there will be an errorMessage property in the JSON object + rethrow; + } + } + +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/data/repositories/wage_seeker_repository/wage_seeker_repository.dart b/frontend/works_shg_app/lib/data/repositories/wage_seeker_repository/wage_seeker_repository.dart index 1fa7575b23..6f64f4cd36 100644 --- a/frontend/works_shg_app/lib/data/repositories/wage_seeker_repository/wage_seeker_repository.dart +++ b/frontend/works_shg_app/lib/data/repositories/wage_seeker_repository/wage_seeker_repository.dart @@ -1,9 +1,11 @@ // ignore_for_file: avoid_dynamic_calls import 'dart:async'; +import 'dart:convert'; import 'package:dio/dio.dart'; +import '../../../models/adharModel/adhar_response.dart'; import '../../../models/attendance/individual_list_model.dart'; import '../../../models/wage_seeker/banking_details_model.dart'; import '../../../utils/global_variables.dart'; @@ -54,4 +56,25 @@ class WageSeekerRepository { rethrow; } } + +// verify adhar + + Future verifyingAdharCard({ + dynamic body, + required String url, + }) async { + final Dio dio = Dio(); + try { + final response = await dio.post( + url, + data: body, + ); + dio.close(); + return AdharCardResponse.fromJson(jsonDecode(response.data)); + } on DioError catch (ex) { + dio.close(); + // Assuming there will be an errorMessage property in the JSON object + rethrow; + } + } } diff --git a/frontend/works_shg_app/lib/data/repositories/work_order_repository/my_works_repository.dart b/frontend/works_shg_app/lib/data/repositories/work_order_repository/my_works_repository.dart index 1108556b79..bbd3ee9fcd 100644 --- a/frontend/works_shg_app/lib/data/repositories/work_order_repository/my_works_repository.dart +++ b/frontend/works_shg_app/lib/data/repositories/work_order_repository/my_works_repository.dart @@ -21,6 +21,7 @@ class MyWorksRepository { // var formData = FormData.fromMap(body); final response = await _client.post(url, queryParameters: queryParameters, data: body ?? {}, options: options); + return ContractsModelMapper.fromMap( response.data as Map); } on DioError catch (ex) { diff --git a/frontend/works_shg_app/lib/main.dart b/frontend/works_shg_app/lib/main.dart index efba7eb6cc..ed3bb5dbbc 100644 --- a/frontend/works_shg_app/lib/main.dart +++ b/frontend/works_shg_app/lib/main.dart @@ -18,6 +18,10 @@ import 'package:works_shg_app/blocs/attendance/individual_search.dart'; import 'package:works_shg_app/blocs/attendance/search_projects/search_projects.dart'; import 'package:works_shg_app/blocs/attendance/skills/skills_bloc.dart'; import 'package:works_shg_app/blocs/auth/otp_bloc.dart'; +import 'package:works_shg_app/blocs/employee/emp_hrms/emp_hrms.dart'; +import 'package:works_shg_app/blocs/employee/mb/mb_check.dart'; +import 'package:works_shg_app/blocs/employee/mb/mb_crud.dart'; +import 'package:works_shg_app/blocs/employee/mb/project_type.dart'; import 'package:works_shg_app/blocs/muster_rolls/create_muster.dart'; import 'package:works_shg_app/blocs/muster_rolls/muster_roll_estimate.dart'; import 'package:works_shg_app/blocs/muster_rolls/search_muster_roll.dart'; @@ -48,6 +52,10 @@ import 'blocs/attendance/individual_wms_search.dart'; import 'blocs/attendance/muster_submission_mdms.dart'; import 'blocs/attendance/search_projects/search_individual_project.dart'; import 'blocs/auth/auth.dart'; +import 'blocs/employee/estimate/estimate.dart'; +import 'blocs/employee/mb/mb_detail_view.dart'; +import 'blocs/employee/mb/measurement_book.dart'; +import 'blocs/employee/work_order/workorder_book.dart'; import 'blocs/localization/app_localization.dart'; import 'blocs/localization/localization.dart'; import 'blocs/muster_rolls/from_to_date_search_muster_roll.dart'; @@ -192,6 +200,31 @@ class _MainApplicationState extends State { return MultiBlocProvider( providers: [ + BlocProvider(create: (context)=>ProjectTypeBloc()), + BlocProvider(create:(context)=>MeasurementCheckBloc()), + + BlocProvider(create:(context)=>EstimateBloc()), + BlocProvider( + create: (context) => EmpHRMSBloc(), + ), + BlocProvider( + create: (context) => MeasurementCrudBloc(), + ), + BlocProvider( + create: (context) => WorkOrderInboxBloc(), + ), + BlocProvider( + create: (context) => MeasurementDetailBloc(), + ), + BlocProvider( + create: (context) => MeasurementInboxBloc(), + ), + // BlocProvider( + // create: (context) => LocalizationBloc( + // const LocalizationState.initial(), + // LocalizationRepository(initClient.init()), + // )), + BlocProvider( create: (context) => LocalizationBloc( const LocalizationState.initial(), @@ -205,7 +238,7 @@ class _MainApplicationState extends State { )..add( AppInitializationSetupEvent(selectedLang: LanguageEnum.en_IN.name)), lazy: false, ), - BlocProvider(create: (context) => AuthBloc()), + BlocProvider(create: (context) => AuthBloc( BlocProvider.of(context))), BlocProvider(create: (context) => OTPBloc()), BlocProvider(create: (context) => HomeScreenBloc()), BlocProvider(create: (context) => AppVersionBloc()), @@ -213,9 +246,14 @@ class _MainApplicationState extends State { BlocProvider( create: (_) => UserSearchBloc()..add(const SearchUserEvent()), ), - BlocProvider( + //TODO:[old code] + // BlocProvider( + // create: (_) => + // MusterRollSearchBloc()..add(const SearchMusterRollEvent()), + // ), + BlocProvider( create: (_) => - MusterRollSearchBloc()..add(const SearchMusterRollEvent()), + MusterRollSearchBloc(), ), BlocProvider( create: (_) => AttendanceProjectsSearchBloc() @@ -289,7 +327,7 @@ class _MainApplicationState extends State { return BlocBuilder( builder: (context, authState) { return MaterialApp.router( - title: 'MUKTA CBO App', + title: 'MUKTASoft App', supportedLocales: appInitState.initMdmsModel != null ? appInitState.digitRowCardItems!.map((e) { final results = e.value.split('_'); @@ -317,7 +355,7 @@ class _MainApplicationState extends State { authState.maybeWhen( initial: () => const UnauthenticatedRouteWrapper(), loaded: (UserDetailsModel? userDetailsModel, - String? accessToken) => + String? accessToken, RoleType? roleType) => const AuthenticatedRouteWrapper(), orElse: () => const UnauthenticatedRouteWrapper()) ], diff --git a/frontend/works_shg_app/lib/models/adharModel/adhar_response.dart b/frontend/works_shg_app/lib/models/adharModel/adhar_response.dart new file mode 100644 index 0000000000..ffbac89e9f --- /dev/null +++ b/frontend/works_shg_app/lib/models/adharModel/adhar_response.dart @@ -0,0 +1,37 @@ +import 'package:freezed_annotation/freezed_annotation.dart'; + +part 'adhar_response.freezed.dart'; +part 'adhar_response.g.dart'; + +@freezed +class AdharCardResponse with _$AdharCardResponse { + const factory AdharCardResponse({ + @JsonKey(name: 'status') + String? status, + @JsonKey(name: 'txn') + String? txn, + @JsonKey(name: 'ret') + String? ret, + @JsonKey(name: 'err') + String? err, + @JsonKey(name: 'errMsg') + String? errMsg, + @JsonKey(name: 'responseCode') + String? responseCode, + @JsonKey(name: 'uidToken') + String? uidToken, + @JsonKey(name: 'mobileNumber') + String? mobileNumber, + @JsonKey(name: 'email') + String? email + + + }) = _AdharCardResponse; + + factory AdharCardResponse.fromJson( + Map json, + ) => + _$AdharCardResponseFromJson(json); + + +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/models/adharModel/adhar_response.freezed.dart b/frontend/works_shg_app/lib/models/adharModel/adhar_response.freezed.dart new file mode 100644 index 0000000000..760efdf3f9 --- /dev/null +++ b/frontend/works_shg_app/lib/models/adharModel/adhar_response.freezed.dart @@ -0,0 +1,347 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'adhar_response.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +AdharCardResponse _$AdharCardResponseFromJson(Map json) { + return _AdharCardResponse.fromJson(json); +} + +/// @nodoc +mixin _$AdharCardResponse { + @JsonKey(name: 'status') + String? get status => throw _privateConstructorUsedError; + @JsonKey(name: 'txn') + String? get txn => throw _privateConstructorUsedError; + @JsonKey(name: 'ret') + String? get ret => throw _privateConstructorUsedError; + @JsonKey(name: 'err') + String? get err => throw _privateConstructorUsedError; + @JsonKey(name: 'errMsg') + String? get errMsg => throw _privateConstructorUsedError; + @JsonKey(name: 'responseCode') + String? get responseCode => throw _privateConstructorUsedError; + @JsonKey(name: 'uidToken') + String? get uidToken => throw _privateConstructorUsedError; + @JsonKey(name: 'mobileNumber') + String? get mobileNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'email') + String? get email => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $AdharCardResponseCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $AdharCardResponseCopyWith<$Res> { + factory $AdharCardResponseCopyWith( + AdharCardResponse value, $Res Function(AdharCardResponse) then) = + _$AdharCardResponseCopyWithImpl<$Res, AdharCardResponse>; + @useResult + $Res call( + {@JsonKey(name: 'status') String? status, + @JsonKey(name: 'txn') String? txn, + @JsonKey(name: 'ret') String? ret, + @JsonKey(name: 'err') String? err, + @JsonKey(name: 'errMsg') String? errMsg, + @JsonKey(name: 'responseCode') String? responseCode, + @JsonKey(name: 'uidToken') String? uidToken, + @JsonKey(name: 'mobileNumber') String? mobileNumber, + @JsonKey(name: 'email') String? email}); +} + +/// @nodoc +class _$AdharCardResponseCopyWithImpl<$Res, $Val extends AdharCardResponse> + implements $AdharCardResponseCopyWith<$Res> { + _$AdharCardResponseCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? status = freezed, + Object? txn = freezed, + Object? ret = freezed, + Object? err = freezed, + Object? errMsg = freezed, + Object? responseCode = freezed, + Object? uidToken = freezed, + Object? mobileNumber = freezed, + Object? email = freezed, + }) { + return _then(_value.copyWith( + status: freezed == status + ? _value.status + : status // ignore: cast_nullable_to_non_nullable + as String?, + txn: freezed == txn + ? _value.txn + : txn // ignore: cast_nullable_to_non_nullable + as String?, + ret: freezed == ret + ? _value.ret + : ret // ignore: cast_nullable_to_non_nullable + as String?, + err: freezed == err + ? _value.err + : err // ignore: cast_nullable_to_non_nullable + as String?, + errMsg: freezed == errMsg + ? _value.errMsg + : errMsg // ignore: cast_nullable_to_non_nullable + as String?, + responseCode: freezed == responseCode + ? _value.responseCode + : responseCode // ignore: cast_nullable_to_non_nullable + as String?, + uidToken: freezed == uidToken + ? _value.uidToken + : uidToken // ignore: cast_nullable_to_non_nullable + as String?, + mobileNumber: freezed == mobileNumber + ? _value.mobileNumber + : mobileNumber // ignore: cast_nullable_to_non_nullable + as String?, + email: freezed == email + ? _value.email + : email // ignore: cast_nullable_to_non_nullable + as String?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_AdharCardResponseCopyWith<$Res> + implements $AdharCardResponseCopyWith<$Res> { + factory _$$_AdharCardResponseCopyWith(_$_AdharCardResponse value, + $Res Function(_$_AdharCardResponse) then) = + __$$_AdharCardResponseCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'status') String? status, + @JsonKey(name: 'txn') String? txn, + @JsonKey(name: 'ret') String? ret, + @JsonKey(name: 'err') String? err, + @JsonKey(name: 'errMsg') String? errMsg, + @JsonKey(name: 'responseCode') String? responseCode, + @JsonKey(name: 'uidToken') String? uidToken, + @JsonKey(name: 'mobileNumber') String? mobileNumber, + @JsonKey(name: 'email') String? email}); +} + +/// @nodoc +class __$$_AdharCardResponseCopyWithImpl<$Res> + extends _$AdharCardResponseCopyWithImpl<$Res, _$_AdharCardResponse> + implements _$$_AdharCardResponseCopyWith<$Res> { + __$$_AdharCardResponseCopyWithImpl( + _$_AdharCardResponse _value, $Res Function(_$_AdharCardResponse) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? status = freezed, + Object? txn = freezed, + Object? ret = freezed, + Object? err = freezed, + Object? errMsg = freezed, + Object? responseCode = freezed, + Object? uidToken = freezed, + Object? mobileNumber = freezed, + Object? email = freezed, + }) { + return _then(_$_AdharCardResponse( + status: freezed == status + ? _value.status + : status // ignore: cast_nullable_to_non_nullable + as String?, + txn: freezed == txn + ? _value.txn + : txn // ignore: cast_nullable_to_non_nullable + as String?, + ret: freezed == ret + ? _value.ret + : ret // ignore: cast_nullable_to_non_nullable + as String?, + err: freezed == err + ? _value.err + : err // ignore: cast_nullable_to_non_nullable + as String?, + errMsg: freezed == errMsg + ? _value.errMsg + : errMsg // ignore: cast_nullable_to_non_nullable + as String?, + responseCode: freezed == responseCode + ? _value.responseCode + : responseCode // ignore: cast_nullable_to_non_nullable + as String?, + uidToken: freezed == uidToken + ? _value.uidToken + : uidToken // ignore: cast_nullable_to_non_nullable + as String?, + mobileNumber: freezed == mobileNumber + ? _value.mobileNumber + : mobileNumber // ignore: cast_nullable_to_non_nullable + as String?, + email: freezed == email + ? _value.email + : email // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_AdharCardResponse implements _AdharCardResponse { + const _$_AdharCardResponse( + {@JsonKey(name: 'status') this.status, + @JsonKey(name: 'txn') this.txn, + @JsonKey(name: 'ret') this.ret, + @JsonKey(name: 'err') this.err, + @JsonKey(name: 'errMsg') this.errMsg, + @JsonKey(name: 'responseCode') this.responseCode, + @JsonKey(name: 'uidToken') this.uidToken, + @JsonKey(name: 'mobileNumber') this.mobileNumber, + @JsonKey(name: 'email') this.email}); + + factory _$_AdharCardResponse.fromJson(Map json) => + _$$_AdharCardResponseFromJson(json); + + @override + @JsonKey(name: 'status') + final String? status; + @override + @JsonKey(name: 'txn') + final String? txn; + @override + @JsonKey(name: 'ret') + final String? ret; + @override + @JsonKey(name: 'err') + final String? err; + @override + @JsonKey(name: 'errMsg') + final String? errMsg; + @override + @JsonKey(name: 'responseCode') + final String? responseCode; + @override + @JsonKey(name: 'uidToken') + final String? uidToken; + @override + @JsonKey(name: 'mobileNumber') + final String? mobileNumber; + @override + @JsonKey(name: 'email') + final String? email; + + @override + String toString() { + return 'AdharCardResponse(status: $status, txn: $txn, ret: $ret, err: $err, errMsg: $errMsg, responseCode: $responseCode, uidToken: $uidToken, mobileNumber: $mobileNumber, email: $email)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_AdharCardResponse && + (identical(other.status, status) || other.status == status) && + (identical(other.txn, txn) || other.txn == txn) && + (identical(other.ret, ret) || other.ret == ret) && + (identical(other.err, err) || other.err == err) && + (identical(other.errMsg, errMsg) || other.errMsg == errMsg) && + (identical(other.responseCode, responseCode) || + other.responseCode == responseCode) && + (identical(other.uidToken, uidToken) || + other.uidToken == uidToken) && + (identical(other.mobileNumber, mobileNumber) || + other.mobileNumber == mobileNumber) && + (identical(other.email, email) || other.email == email)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, status, txn, ret, err, errMsg, + responseCode, uidToken, mobileNumber, email); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_AdharCardResponseCopyWith<_$_AdharCardResponse> get copyWith => + __$$_AdharCardResponseCopyWithImpl<_$_AdharCardResponse>( + this, _$identity); + + @override + Map toJson() { + return _$$_AdharCardResponseToJson( + this, + ); + } +} + +abstract class _AdharCardResponse implements AdharCardResponse { + const factory _AdharCardResponse( + {@JsonKey(name: 'status') final String? status, + @JsonKey(name: 'txn') final String? txn, + @JsonKey(name: 'ret') final String? ret, + @JsonKey(name: 'err') final String? err, + @JsonKey(name: 'errMsg') final String? errMsg, + @JsonKey(name: 'responseCode') final String? responseCode, + @JsonKey(name: 'uidToken') final String? uidToken, + @JsonKey(name: 'mobileNumber') final String? mobileNumber, + @JsonKey(name: 'email') final String? email}) = _$_AdharCardResponse; + + factory _AdharCardResponse.fromJson(Map json) = + _$_AdharCardResponse.fromJson; + + @override + @JsonKey(name: 'status') + String? get status; + @override + @JsonKey(name: 'txn') + String? get txn; + @override + @JsonKey(name: 'ret') + String? get ret; + @override + @JsonKey(name: 'err') + String? get err; + @override + @JsonKey(name: 'errMsg') + String? get errMsg; + @override + @JsonKey(name: 'responseCode') + String? get responseCode; + @override + @JsonKey(name: 'uidToken') + String? get uidToken; + @override + @JsonKey(name: 'mobileNumber') + String? get mobileNumber; + @override + @JsonKey(name: 'email') + String? get email; + @override + @JsonKey(ignore: true) + _$$_AdharCardResponseCopyWith<_$_AdharCardResponse> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/models/adharModel/adhar_response.g.dart b/frontend/works_shg_app/lib/models/adharModel/adhar_response.g.dart new file mode 100644 index 0000000000..1cfddbb1f9 --- /dev/null +++ b/frontend/works_shg_app/lib/models/adharModel/adhar_response.g.dart @@ -0,0 +1,34 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'adhar_response.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +_$_AdharCardResponse _$$_AdharCardResponseFromJson(Map json) => + _$_AdharCardResponse( + status: json['status'] as String?, + txn: json['txn'] as String?, + ret: json['ret'] as String?, + err: json['err'] as String?, + errMsg: json['errMsg'] as String?, + responseCode: json['responseCode'] as String?, + uidToken: json['uidToken'] as String?, + mobileNumber: json['mobileNumber'] as String?, + email: json['email'] as String?, + ); + +Map _$$_AdharCardResponseToJson( + _$_AdharCardResponse instance) => + { + 'status': instance.status, + 'txn': instance.txn, + 'ret': instance.ret, + 'err': instance.err, + 'errMsg': instance.errMsg, + 'responseCode': instance.responseCode, + 'uidToken': instance.uidToken, + 'mobileNumber': instance.mobileNumber, + 'email': instance.email, + }; diff --git a/frontend/works_shg_app/lib/models/employee/estimate/estimate_model.dart b/frontend/works_shg_app/lib/models/employee/estimate/estimate_model.dart new file mode 100644 index 0000000000..0f2daf1d39 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/estimate/estimate_model.dart @@ -0,0 +1,20 @@ +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:works_shg_app/models/employee/mb/mb_detail_response.dart'; + +part 'estimate_model.freezed.dart'; +part 'estimate_model.g.dart'; + +@freezed +class EstimateDetailResponse with _$EstimateDetailResponse { + const factory EstimateDetailResponse({ + + @JsonKey(name: 'estimates') List? estimates, + @JsonKey(name: 'TotalCount') int? totalCount, + + }) = _EstimateDetailResponse; + + factory EstimateDetailResponse.fromJson( + Map json, + ) => + _$EstimateDetailResponseFromJson(json); +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/models/employee/estimate/estimate_model.freezed.dart b/frontend/works_shg_app/lib/models/employee/estimate/estimate_model.freezed.dart new file mode 100644 index 0000000000..58b9ebcf8a --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/estimate/estimate_model.freezed.dart @@ -0,0 +1,198 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'estimate_model.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +EstimateDetailResponse _$EstimateDetailResponseFromJson( + Map json) { + return _EstimateDetailResponse.fromJson(json); +} + +/// @nodoc +mixin _$EstimateDetailResponse { + @JsonKey(name: 'estimates') + List? get estimates => throw _privateConstructorUsedError; + @JsonKey(name: 'TotalCount') + int? get totalCount => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $EstimateDetailResponseCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $EstimateDetailResponseCopyWith<$Res> { + factory $EstimateDetailResponseCopyWith(EstimateDetailResponse value, + $Res Function(EstimateDetailResponse) then) = + _$EstimateDetailResponseCopyWithImpl<$Res, EstimateDetailResponse>; + @useResult + $Res call( + {@JsonKey(name: 'estimates') List? estimates, + @JsonKey(name: 'TotalCount') int? totalCount}); +} + +/// @nodoc +class _$EstimateDetailResponseCopyWithImpl<$Res, + $Val extends EstimateDetailResponse> + implements $EstimateDetailResponseCopyWith<$Res> { + _$EstimateDetailResponseCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? estimates = freezed, + Object? totalCount = freezed, + }) { + return _then(_value.copyWith( + estimates: freezed == estimates + ? _value.estimates + : estimates // ignore: cast_nullable_to_non_nullable + as List?, + totalCount: freezed == totalCount + ? _value.totalCount + : totalCount // ignore: cast_nullable_to_non_nullable + as int?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_EstimateDetailResponseCopyWith<$Res> + implements $EstimateDetailResponseCopyWith<$Res> { + factory _$$_EstimateDetailResponseCopyWith(_$_EstimateDetailResponse value, + $Res Function(_$_EstimateDetailResponse) then) = + __$$_EstimateDetailResponseCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'estimates') List? estimates, + @JsonKey(name: 'TotalCount') int? totalCount}); +} + +/// @nodoc +class __$$_EstimateDetailResponseCopyWithImpl<$Res> + extends _$EstimateDetailResponseCopyWithImpl<$Res, + _$_EstimateDetailResponse> + implements _$$_EstimateDetailResponseCopyWith<$Res> { + __$$_EstimateDetailResponseCopyWithImpl(_$_EstimateDetailResponse _value, + $Res Function(_$_EstimateDetailResponse) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? estimates = freezed, + Object? totalCount = freezed, + }) { + return _then(_$_EstimateDetailResponse( + estimates: freezed == estimates + ? _value._estimates + : estimates // ignore: cast_nullable_to_non_nullable + as List?, + totalCount: freezed == totalCount + ? _value.totalCount + : totalCount // ignore: cast_nullable_to_non_nullable + as int?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_EstimateDetailResponse implements _EstimateDetailResponse { + const _$_EstimateDetailResponse( + {@JsonKey(name: 'estimates') final List? estimates, + @JsonKey(name: 'TotalCount') this.totalCount}) + : _estimates = estimates; + + factory _$_EstimateDetailResponse.fromJson(Map json) => + _$$_EstimateDetailResponseFromJson(json); + + final List? _estimates; + @override + @JsonKey(name: 'estimates') + List? get estimates { + final value = _estimates; + if (value == null) return null; + if (_estimates is EqualUnmodifiableListView) return _estimates; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + @JsonKey(name: 'TotalCount') + final int? totalCount; + + @override + String toString() { + return 'EstimateDetailResponse(estimates: $estimates, totalCount: $totalCount)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_EstimateDetailResponse && + const DeepCollectionEquality() + .equals(other._estimates, _estimates) && + (identical(other.totalCount, totalCount) || + other.totalCount == totalCount)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, const DeepCollectionEquality().hash(_estimates), totalCount); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_EstimateDetailResponseCopyWith<_$_EstimateDetailResponse> get copyWith => + __$$_EstimateDetailResponseCopyWithImpl<_$_EstimateDetailResponse>( + this, _$identity); + + @override + Map toJson() { + return _$$_EstimateDetailResponseToJson( + this, + ); + } +} + +abstract class _EstimateDetailResponse implements EstimateDetailResponse { + const factory _EstimateDetailResponse( + {@JsonKey(name: 'estimates') final List? estimates, + @JsonKey(name: 'TotalCount') final int? totalCount}) = + _$_EstimateDetailResponse; + + factory _EstimateDetailResponse.fromJson(Map json) = + _$_EstimateDetailResponse.fromJson; + + @override + @JsonKey(name: 'estimates') + List? get estimates; + @override + @JsonKey(name: 'TotalCount') + int? get totalCount; + @override + @JsonKey(ignore: true) + _$$_EstimateDetailResponseCopyWith<_$_EstimateDetailResponse> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/models/employee/estimate/estimate_model.g.dart b/frontend/works_shg_app/lib/models/employee/estimate/estimate_model.g.dart new file mode 100644 index 0000000000..a4385c9653 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/estimate/estimate_model.g.dart @@ -0,0 +1,23 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'estimate_model.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +_$_EstimateDetailResponse _$$_EstimateDetailResponseFromJson( + Map json) => + _$_EstimateDetailResponse( + estimates: (json['estimates'] as List?) + ?.map((e) => Estimate.fromJson(e as Map)) + .toList(), + totalCount: json['TotalCount'] as int?, + ); + +Map _$$_EstimateDetailResponseToJson( + _$_EstimateDetailResponse instance) => + { + 'estimates': instance.estimates, + 'TotalCount': instance.totalCount, + }; diff --git a/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.dart b/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.dart new file mode 100644 index 0000000000..b5cebcb574 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.dart @@ -0,0 +1,36 @@ +import 'package:freezed_annotation/freezed_annotation.dart'; + +part 'homeConfigModel.freezed.dart'; +part 'homeConfigModel.g.dart'; + +@freezed +class HomeConfigModel with _$HomeConfigModel { + factory HomeConfigModel({@JsonKey(name: 'actions') required List homeActions}) = + _HomeConfigModel; + + factory HomeConfigModel.fromJson( + Map json, + ) => + _$HomeConfigModelFromJson(json); +} + +@freezed +class HomeAction with _$HomeAction { + const factory HomeAction({ + @JsonKey(name: 'id') required int id, + @JsonKey(name: 'displayName') required String displayName, + @JsonKey(name: 'parentModule') required String parentModule, + @JsonKey(name: 'enabled')required bool enabled, + @JsonKey(name: 'tenantId')required String tenantId, + @JsonKey(name: 'url')required String url, + + + }) = _HomeAction; + + factory HomeAction.fromJson( + Map json, + ) => + _$HomeActionFromJson(json); +} + + diff --git a/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.freezed.dart b/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.freezed.dart new file mode 100644 index 0000000000..f2b65e6169 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.freezed.dart @@ -0,0 +1,427 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'homeConfigModel.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +HomeConfigModel _$HomeConfigModelFromJson(Map json) { + return _HomeConfigModel.fromJson(json); +} + +/// @nodoc +mixin _$HomeConfigModel { + @JsonKey(name: 'actions') + List get homeActions => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $HomeConfigModelCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $HomeConfigModelCopyWith<$Res> { + factory $HomeConfigModelCopyWith( + HomeConfigModel value, $Res Function(HomeConfigModel) then) = + _$HomeConfigModelCopyWithImpl<$Res, HomeConfigModel>; + @useResult + $Res call({@JsonKey(name: 'actions') List homeActions}); +} + +/// @nodoc +class _$HomeConfigModelCopyWithImpl<$Res, $Val extends HomeConfigModel> + implements $HomeConfigModelCopyWith<$Res> { + _$HomeConfigModelCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? homeActions = null, + }) { + return _then(_value.copyWith( + homeActions: null == homeActions + ? _value.homeActions + : homeActions // ignore: cast_nullable_to_non_nullable + as List, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_HomeConfigModelCopyWith<$Res> + implements $HomeConfigModelCopyWith<$Res> { + factory _$$_HomeConfigModelCopyWith( + _$_HomeConfigModel value, $Res Function(_$_HomeConfigModel) then) = + __$$_HomeConfigModelCopyWithImpl<$Res>; + @override + @useResult + $Res call({@JsonKey(name: 'actions') List homeActions}); +} + +/// @nodoc +class __$$_HomeConfigModelCopyWithImpl<$Res> + extends _$HomeConfigModelCopyWithImpl<$Res, _$_HomeConfigModel> + implements _$$_HomeConfigModelCopyWith<$Res> { + __$$_HomeConfigModelCopyWithImpl( + _$_HomeConfigModel _value, $Res Function(_$_HomeConfigModel) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? homeActions = null, + }) { + return _then(_$_HomeConfigModel( + homeActions: null == homeActions + ? _value._homeActions + : homeActions // ignore: cast_nullable_to_non_nullable + as List, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_HomeConfigModel implements _HomeConfigModel { + _$_HomeConfigModel( + {@JsonKey(name: 'actions') required final List homeActions}) + : _homeActions = homeActions; + + factory _$_HomeConfigModel.fromJson(Map json) => + _$$_HomeConfigModelFromJson(json); + + final List _homeActions; + @override + @JsonKey(name: 'actions') + List get homeActions { + if (_homeActions is EqualUnmodifiableListView) return _homeActions; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_homeActions); + } + + @override + String toString() { + return 'HomeConfigModel(homeActions: $homeActions)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_HomeConfigModel && + const DeepCollectionEquality() + .equals(other._homeActions, _homeActions)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, const DeepCollectionEquality().hash(_homeActions)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_HomeConfigModelCopyWith<_$_HomeConfigModel> get copyWith => + __$$_HomeConfigModelCopyWithImpl<_$_HomeConfigModel>(this, _$identity); + + @override + Map toJson() { + return _$$_HomeConfigModelToJson( + this, + ); + } +} + +abstract class _HomeConfigModel implements HomeConfigModel { + factory _HomeConfigModel( + {@JsonKey(name: 'actions') + required final List homeActions}) = _$_HomeConfigModel; + + factory _HomeConfigModel.fromJson(Map json) = + _$_HomeConfigModel.fromJson; + + @override + @JsonKey(name: 'actions') + List get homeActions; + @override + @JsonKey(ignore: true) + _$$_HomeConfigModelCopyWith<_$_HomeConfigModel> get copyWith => + throw _privateConstructorUsedError; +} + +HomeAction _$HomeActionFromJson(Map json) { + return _HomeAction.fromJson(json); +} + +/// @nodoc +mixin _$HomeAction { + @JsonKey(name: 'id') + int get id => throw _privateConstructorUsedError; + @JsonKey(name: 'displayName') + String get displayName => throw _privateConstructorUsedError; + @JsonKey(name: 'parentModule') + String get parentModule => throw _privateConstructorUsedError; + @JsonKey(name: 'enabled') + bool get enabled => throw _privateConstructorUsedError; + @JsonKey(name: 'tenantId') + String get tenantId => throw _privateConstructorUsedError; + @JsonKey(name: 'url') + String get url => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $HomeActionCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $HomeActionCopyWith<$Res> { + factory $HomeActionCopyWith( + HomeAction value, $Res Function(HomeAction) then) = + _$HomeActionCopyWithImpl<$Res, HomeAction>; + @useResult + $Res call( + {@JsonKey(name: 'id') int id, + @JsonKey(name: 'displayName') String displayName, + @JsonKey(name: 'parentModule') String parentModule, + @JsonKey(name: 'enabled') bool enabled, + @JsonKey(name: 'tenantId') String tenantId, + @JsonKey(name: 'url') String url}); +} + +/// @nodoc +class _$HomeActionCopyWithImpl<$Res, $Val extends HomeAction> + implements $HomeActionCopyWith<$Res> { + _$HomeActionCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = null, + Object? displayName = null, + Object? parentModule = null, + Object? enabled = null, + Object? tenantId = null, + Object? url = null, + }) { + return _then(_value.copyWith( + id: null == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as int, + displayName: null == displayName + ? _value.displayName + : displayName // ignore: cast_nullable_to_non_nullable + as String, + parentModule: null == parentModule + ? _value.parentModule + : parentModule // ignore: cast_nullable_to_non_nullable + as String, + enabled: null == enabled + ? _value.enabled + : enabled // ignore: cast_nullable_to_non_nullable + as bool, + tenantId: null == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String, + url: null == url + ? _value.url + : url // ignore: cast_nullable_to_non_nullable + as String, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_HomeActionCopyWith<$Res> + implements $HomeActionCopyWith<$Res> { + factory _$$_HomeActionCopyWith( + _$_HomeAction value, $Res Function(_$_HomeAction) then) = + __$$_HomeActionCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'id') int id, + @JsonKey(name: 'displayName') String displayName, + @JsonKey(name: 'parentModule') String parentModule, + @JsonKey(name: 'enabled') bool enabled, + @JsonKey(name: 'tenantId') String tenantId, + @JsonKey(name: 'url') String url}); +} + +/// @nodoc +class __$$_HomeActionCopyWithImpl<$Res> + extends _$HomeActionCopyWithImpl<$Res, _$_HomeAction> + implements _$$_HomeActionCopyWith<$Res> { + __$$_HomeActionCopyWithImpl( + _$_HomeAction _value, $Res Function(_$_HomeAction) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = null, + Object? displayName = null, + Object? parentModule = null, + Object? enabled = null, + Object? tenantId = null, + Object? url = null, + }) { + return _then(_$_HomeAction( + id: null == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as int, + displayName: null == displayName + ? _value.displayName + : displayName // ignore: cast_nullable_to_non_nullable + as String, + parentModule: null == parentModule + ? _value.parentModule + : parentModule // ignore: cast_nullable_to_non_nullable + as String, + enabled: null == enabled + ? _value.enabled + : enabled // ignore: cast_nullable_to_non_nullable + as bool, + tenantId: null == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String, + url: null == url + ? _value.url + : url // ignore: cast_nullable_to_non_nullable + as String, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_HomeAction implements _HomeAction { + const _$_HomeAction( + {@JsonKey(name: 'id') required this.id, + @JsonKey(name: 'displayName') required this.displayName, + @JsonKey(name: 'parentModule') required this.parentModule, + @JsonKey(name: 'enabled') required this.enabled, + @JsonKey(name: 'tenantId') required this.tenantId, + @JsonKey(name: 'url') required this.url}); + + factory _$_HomeAction.fromJson(Map json) => + _$$_HomeActionFromJson(json); + + @override + @JsonKey(name: 'id') + final int id; + @override + @JsonKey(name: 'displayName') + final String displayName; + @override + @JsonKey(name: 'parentModule') + final String parentModule; + @override + @JsonKey(name: 'enabled') + final bool enabled; + @override + @JsonKey(name: 'tenantId') + final String tenantId; + @override + @JsonKey(name: 'url') + final String url; + + @override + String toString() { + return 'HomeAction(id: $id, displayName: $displayName, parentModule: $parentModule, enabled: $enabled, tenantId: $tenantId, url: $url)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_HomeAction && + (identical(other.id, id) || other.id == id) && + (identical(other.displayName, displayName) || + other.displayName == displayName) && + (identical(other.parentModule, parentModule) || + other.parentModule == parentModule) && + (identical(other.enabled, enabled) || other.enabled == enabled) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.url, url) || other.url == url)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, id, displayName, parentModule, enabled, tenantId, url); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_HomeActionCopyWith<_$_HomeAction> get copyWith => + __$$_HomeActionCopyWithImpl<_$_HomeAction>(this, _$identity); + + @override + Map toJson() { + return _$$_HomeActionToJson( + this, + ); + } +} + +abstract class _HomeAction implements HomeAction { + const factory _HomeAction( + {@JsonKey(name: 'id') required final int id, + @JsonKey(name: 'displayName') required final String displayName, + @JsonKey(name: 'parentModule') required final String parentModule, + @JsonKey(name: 'enabled') required final bool enabled, + @JsonKey(name: 'tenantId') required final String tenantId, + @JsonKey(name: 'url') required final String url}) = _$_HomeAction; + + factory _HomeAction.fromJson(Map json) = + _$_HomeAction.fromJson; + + @override + @JsonKey(name: 'id') + int get id; + @override + @JsonKey(name: 'displayName') + String get displayName; + @override + @JsonKey(name: 'parentModule') + String get parentModule; + @override + @JsonKey(name: 'enabled') + bool get enabled; + @override + @JsonKey(name: 'tenantId') + String get tenantId; + @override + @JsonKey(name: 'url') + String get url; + @override + @JsonKey(ignore: true) + _$$_HomeActionCopyWith<_$_HomeAction> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.g.dart b/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.g.dart new file mode 100644 index 0000000000..f24630a646 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.g.dart @@ -0,0 +1,39 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'homeConfigModel.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +_$_HomeConfigModel _$$_HomeConfigModelFromJson(Map json) => + _$_HomeConfigModel( + homeActions: (json['actions'] as List) + .map((e) => HomeAction.fromJson(e as Map)) + .toList(), + ); + +Map _$$_HomeConfigModelToJson(_$_HomeConfigModel instance) => + { + 'actions': instance.homeActions, + }; + +_$_HomeAction _$$_HomeActionFromJson(Map json) => + _$_HomeAction( + id: json['id'] as int, + displayName: json['displayName'] as String, + parentModule: json['parentModule'] as String, + enabled: json['enabled'] as bool, + tenantId: json['tenantId'] as String, + url: json['url'] as String, + ); + +Map _$$_HomeActionToJson(_$_HomeAction instance) => + { + 'id': instance.id, + 'displayName': instance.displayName, + 'parentModule': instance.parentModule, + 'enabled': instance.enabled, + 'tenantId': instance.tenantId, + 'url': instance.url, + }; diff --git a/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.dart b/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.dart new file mode 100644 index 0000000000..122d7b34c5 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.dart @@ -0,0 +1,118 @@ +//filtered_Measures + +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:works_shg_app/models/employee/mb/mb_inbox_response.dart'; + +import '../../muster_rolls/muster_workflow_model.dart'; + +part 'filtered_Measures.freezed.dart'; +part 'filtered_Measures.g.dart'; + +@freezed +class FilteredMeasurements with _$FilteredMeasurements { + const factory FilteredMeasurements({ + double? totalSorAmount, + double? totalNorSorAmount, + double? totalAmount, + String? musterRollNumber, + String? mbNumber, + String? wfStatus, + String? tenantId, + int? endDate, + int? startDate, + int? entryDate, + String? referenceId, + String? id, + String? physicalRefNumber, + + List? measures, + + List ?documents, + }) = _FilteredMeasurements; + + factory FilteredMeasurements.fromJson( + Map json, + ) => + _$FilteredMeasurementsFromJson(json); +} + +// measures + + +@freezed +class FilteredMeasurementsMeasure with _$FilteredMeasurementsMeasure { + const factory FilteredMeasurementsMeasure({ + double? length, + double? breath, + double? height, + double? numItems, + double? currentValue, + double? cumulativeValue, + String? tenantId, + double? mbAmount, + String? type, + String? targetId, + bool? isActive, + String? id, + String? referenceId, + List? measureLineItems, + + List? contracts + }) = _FilteredMeasurementsMeasure; + + factory FilteredMeasurementsMeasure.fromJson( + Map json, + ) => + _$FilteredMeasurementsMeasureFromJson(json); +} + + +// contracts + +@freezed +class FilteredMeasurementsContract with _$FilteredMeasurementsContract { + const factory FilteredMeasurementsContract({ + String ? estimateId, + String ? estimateLineItemId, + String ? contractLineItemRef, + double? unitRate, + String? status, + String? wfStatus, + ContractAdditionalDetails? contractAdditionalDetails, + List? estimates + }) = _FilteredMeasurementsContract; + + factory FilteredMeasurementsContract.fromJson( + Map json, + ) => + _$FilteredMeasurementsContractFromJson(json); +} + + +// estimate + +@freezed +class FilteredMeasurementsEstimate with _$FilteredMeasurementsEstimate { + const factory FilteredMeasurementsEstimate({ + String? id, + String? sorId, + String? category, + String? name, + String? description, + double? unitRate, + dynamic noOfunit, + String? uom, + dynamic length, + dynamic width, + dynamic height, + dynamic quantity, + bool? isDeduction, + String? wfStatus, + String? status, + }) = _FilteredMeasurementsEstimate; + + factory FilteredMeasurementsEstimate.fromJson( + Map json, + ) => + _$FilteredMeasurementsEstimateFromJson(json); +} diff --git a/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.freezed.dart b/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.freezed.dart new file mode 100644 index 0000000000..032967d3e3 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.freezed.dart @@ -0,0 +1,1744 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'filtered_Measures.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +FilteredMeasurements _$FilteredMeasurementsFromJson(Map json) { + return _FilteredMeasurements.fromJson(json); +} + +/// @nodoc +mixin _$FilteredMeasurements { + double? get totalSorAmount => throw _privateConstructorUsedError; + double? get totalNorSorAmount => throw _privateConstructorUsedError; + double? get totalAmount => throw _privateConstructorUsedError; + String? get musterRollNumber => throw _privateConstructorUsedError; + String? get mbNumber => throw _privateConstructorUsedError; + String? get wfStatus => throw _privateConstructorUsedError; + String? get tenantId => throw _privateConstructorUsedError; + int? get endDate => throw _privateConstructorUsedError; + int? get startDate => throw _privateConstructorUsedError; + int? get entryDate => throw _privateConstructorUsedError; + String? get referenceId => throw _privateConstructorUsedError; + String? get id => throw _privateConstructorUsedError; + String? get physicalRefNumber => throw _privateConstructorUsedError; + List? get measures => + throw _privateConstructorUsedError; + List? get documents => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $FilteredMeasurementsCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $FilteredMeasurementsCopyWith<$Res> { + factory $FilteredMeasurementsCopyWith(FilteredMeasurements value, + $Res Function(FilteredMeasurements) then) = + _$FilteredMeasurementsCopyWithImpl<$Res, FilteredMeasurements>; + @useResult + $Res call( + {double? totalSorAmount, + double? totalNorSorAmount, + double? totalAmount, + String? musterRollNumber, + String? mbNumber, + String? wfStatus, + String? tenantId, + int? endDate, + int? startDate, + int? entryDate, + String? referenceId, + String? id, + String? physicalRefNumber, + List? measures, + List? documents}); +} + +/// @nodoc +class _$FilteredMeasurementsCopyWithImpl<$Res, + $Val extends FilteredMeasurements> + implements $FilteredMeasurementsCopyWith<$Res> { + _$FilteredMeasurementsCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? totalSorAmount = freezed, + Object? totalNorSorAmount = freezed, + Object? totalAmount = freezed, + Object? musterRollNumber = freezed, + Object? mbNumber = freezed, + Object? wfStatus = freezed, + Object? tenantId = freezed, + Object? endDate = freezed, + Object? startDate = freezed, + Object? entryDate = freezed, + Object? referenceId = freezed, + Object? id = freezed, + Object? physicalRefNumber = freezed, + Object? measures = freezed, + Object? documents = freezed, + }) { + return _then(_value.copyWith( + totalSorAmount: freezed == totalSorAmount + ? _value.totalSorAmount + : totalSorAmount // ignore: cast_nullable_to_non_nullable + as double?, + totalNorSorAmount: freezed == totalNorSorAmount + ? _value.totalNorSorAmount + : totalNorSorAmount // ignore: cast_nullable_to_non_nullable + as double?, + totalAmount: freezed == totalAmount + ? _value.totalAmount + : totalAmount // ignore: cast_nullable_to_non_nullable + as double?, + musterRollNumber: freezed == musterRollNumber + ? _value.musterRollNumber + : musterRollNumber // ignore: cast_nullable_to_non_nullable + as String?, + mbNumber: freezed == mbNumber + ? _value.mbNumber + : mbNumber // ignore: cast_nullable_to_non_nullable + as String?, + wfStatus: freezed == wfStatus + ? _value.wfStatus + : wfStatus // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + endDate: freezed == endDate + ? _value.endDate + : endDate // ignore: cast_nullable_to_non_nullable + as int?, + startDate: freezed == startDate + ? _value.startDate + : startDate // ignore: cast_nullable_to_non_nullable + as int?, + entryDate: freezed == entryDate + ? _value.entryDate + : entryDate // ignore: cast_nullable_to_non_nullable + as int?, + referenceId: freezed == referenceId + ? _value.referenceId + : referenceId // ignore: cast_nullable_to_non_nullable + as String?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + physicalRefNumber: freezed == physicalRefNumber + ? _value.physicalRefNumber + : physicalRefNumber // ignore: cast_nullable_to_non_nullable + as String?, + measures: freezed == measures + ? _value.measures + : measures // ignore: cast_nullable_to_non_nullable + as List?, + documents: freezed == documents + ? _value.documents + : documents // ignore: cast_nullable_to_non_nullable + as List?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_FilteredMeasurementsCopyWith<$Res> + implements $FilteredMeasurementsCopyWith<$Res> { + factory _$$_FilteredMeasurementsCopyWith(_$_FilteredMeasurements value, + $Res Function(_$_FilteredMeasurements) then) = + __$$_FilteredMeasurementsCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {double? totalSorAmount, + double? totalNorSorAmount, + double? totalAmount, + String? musterRollNumber, + String? mbNumber, + String? wfStatus, + String? tenantId, + int? endDate, + int? startDate, + int? entryDate, + String? referenceId, + String? id, + String? physicalRefNumber, + List? measures, + List? documents}); +} + +/// @nodoc +class __$$_FilteredMeasurementsCopyWithImpl<$Res> + extends _$FilteredMeasurementsCopyWithImpl<$Res, _$_FilteredMeasurements> + implements _$$_FilteredMeasurementsCopyWith<$Res> { + __$$_FilteredMeasurementsCopyWithImpl(_$_FilteredMeasurements _value, + $Res Function(_$_FilteredMeasurements) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? totalSorAmount = freezed, + Object? totalNorSorAmount = freezed, + Object? totalAmount = freezed, + Object? musterRollNumber = freezed, + Object? mbNumber = freezed, + Object? wfStatus = freezed, + Object? tenantId = freezed, + Object? endDate = freezed, + Object? startDate = freezed, + Object? entryDate = freezed, + Object? referenceId = freezed, + Object? id = freezed, + Object? physicalRefNumber = freezed, + Object? measures = freezed, + Object? documents = freezed, + }) { + return _then(_$_FilteredMeasurements( + totalSorAmount: freezed == totalSorAmount + ? _value.totalSorAmount + : totalSorAmount // ignore: cast_nullable_to_non_nullable + as double?, + totalNorSorAmount: freezed == totalNorSorAmount + ? _value.totalNorSorAmount + : totalNorSorAmount // ignore: cast_nullable_to_non_nullable + as double?, + totalAmount: freezed == totalAmount + ? _value.totalAmount + : totalAmount // ignore: cast_nullable_to_non_nullable + as double?, + musterRollNumber: freezed == musterRollNumber + ? _value.musterRollNumber + : musterRollNumber // ignore: cast_nullable_to_non_nullable + as String?, + mbNumber: freezed == mbNumber + ? _value.mbNumber + : mbNumber // ignore: cast_nullable_to_non_nullable + as String?, + wfStatus: freezed == wfStatus + ? _value.wfStatus + : wfStatus // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + endDate: freezed == endDate + ? _value.endDate + : endDate // ignore: cast_nullable_to_non_nullable + as int?, + startDate: freezed == startDate + ? _value.startDate + : startDate // ignore: cast_nullable_to_non_nullable + as int?, + entryDate: freezed == entryDate + ? _value.entryDate + : entryDate // ignore: cast_nullable_to_non_nullable + as int?, + referenceId: freezed == referenceId + ? _value.referenceId + : referenceId // ignore: cast_nullable_to_non_nullable + as String?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + physicalRefNumber: freezed == physicalRefNumber + ? _value.physicalRefNumber + : physicalRefNumber // ignore: cast_nullable_to_non_nullable + as String?, + measures: freezed == measures + ? _value._measures + : measures // ignore: cast_nullable_to_non_nullable + as List?, + documents: freezed == documents + ? _value._documents + : documents // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_FilteredMeasurements implements _FilteredMeasurements { + const _$_FilteredMeasurements( + {this.totalSorAmount, + this.totalNorSorAmount, + this.totalAmount, + this.musterRollNumber, + this.mbNumber, + this.wfStatus, + this.tenantId, + this.endDate, + this.startDate, + this.entryDate, + this.referenceId, + this.id, + this.physicalRefNumber, + final List? measures, + final List? documents}) + : _measures = measures, + _documents = documents; + + factory _$_FilteredMeasurements.fromJson(Map json) => + _$$_FilteredMeasurementsFromJson(json); + + @override + final double? totalSorAmount; + @override + final double? totalNorSorAmount; + @override + final double? totalAmount; + @override + final String? musterRollNumber; + @override + final String? mbNumber; + @override + final String? wfStatus; + @override + final String? tenantId; + @override + final int? endDate; + @override + final int? startDate; + @override + final int? entryDate; + @override + final String? referenceId; + @override + final String? id; + @override + final String? physicalRefNumber; + final List? _measures; + @override + List? get measures { + final value = _measures; + if (value == null) return null; + if (_measures is EqualUnmodifiableListView) return _measures; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + final List? _documents; + @override + List? get documents { + final value = _documents; + if (value == null) return null; + if (_documents is EqualUnmodifiableListView) return _documents; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'FilteredMeasurements(totalSorAmount: $totalSorAmount, totalNorSorAmount: $totalNorSorAmount, totalAmount: $totalAmount, musterRollNumber: $musterRollNumber, mbNumber: $mbNumber, wfStatus: $wfStatus, tenantId: $tenantId, endDate: $endDate, startDate: $startDate, entryDate: $entryDate, referenceId: $referenceId, id: $id, physicalRefNumber: $physicalRefNumber, measures: $measures, documents: $documents)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_FilteredMeasurements && + (identical(other.totalSorAmount, totalSorAmount) || + other.totalSorAmount == totalSorAmount) && + (identical(other.totalNorSorAmount, totalNorSorAmount) || + other.totalNorSorAmount == totalNorSorAmount) && + (identical(other.totalAmount, totalAmount) || + other.totalAmount == totalAmount) && + (identical(other.musterRollNumber, musterRollNumber) || + other.musterRollNumber == musterRollNumber) && + (identical(other.mbNumber, mbNumber) || + other.mbNumber == mbNumber) && + (identical(other.wfStatus, wfStatus) || + other.wfStatus == wfStatus) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.endDate, endDate) || other.endDate == endDate) && + (identical(other.startDate, startDate) || + other.startDate == startDate) && + (identical(other.entryDate, entryDate) || + other.entryDate == entryDate) && + (identical(other.referenceId, referenceId) || + other.referenceId == referenceId) && + (identical(other.id, id) || other.id == id) && + (identical(other.physicalRefNumber, physicalRefNumber) || + other.physicalRefNumber == physicalRefNumber) && + const DeepCollectionEquality().equals(other._measures, _measures) && + const DeepCollectionEquality() + .equals(other._documents, _documents)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + totalSorAmount, + totalNorSorAmount, + totalAmount, + musterRollNumber, + mbNumber, + wfStatus, + tenantId, + endDate, + startDate, + entryDate, + referenceId, + id, + physicalRefNumber, + const DeepCollectionEquality().hash(_measures), + const DeepCollectionEquality().hash(_documents)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_FilteredMeasurementsCopyWith<_$_FilteredMeasurements> get copyWith => + __$$_FilteredMeasurementsCopyWithImpl<_$_FilteredMeasurements>( + this, _$identity); + + @override + Map toJson() { + return _$$_FilteredMeasurementsToJson( + this, + ); + } +} + +abstract class _FilteredMeasurements implements FilteredMeasurements { + const factory _FilteredMeasurements( + {final double? totalSorAmount, + final double? totalNorSorAmount, + final double? totalAmount, + final String? musterRollNumber, + final String? mbNumber, + final String? wfStatus, + final String? tenantId, + final int? endDate, + final int? startDate, + final int? entryDate, + final String? referenceId, + final String? id, + final String? physicalRefNumber, + final List? measures, + final List? documents}) = _$_FilteredMeasurements; + + factory _FilteredMeasurements.fromJson(Map json) = + _$_FilteredMeasurements.fromJson; + + @override + double? get totalSorAmount; + @override + double? get totalNorSorAmount; + @override + double? get totalAmount; + @override + String? get musterRollNumber; + @override + String? get mbNumber; + @override + String? get wfStatus; + @override + String? get tenantId; + @override + int? get endDate; + @override + int? get startDate; + @override + int? get entryDate; + @override + String? get referenceId; + @override + String? get id; + @override + String? get physicalRefNumber; + @override + List? get measures; + @override + List? get documents; + @override + @JsonKey(ignore: true) + _$$_FilteredMeasurementsCopyWith<_$_FilteredMeasurements> get copyWith => + throw _privateConstructorUsedError; +} + +FilteredMeasurementsMeasure _$FilteredMeasurementsMeasureFromJson( + Map json) { + return _FilteredMeasurementsMeasure.fromJson(json); +} + +/// @nodoc +mixin _$FilteredMeasurementsMeasure { + double? get length => throw _privateConstructorUsedError; + double? get breath => throw _privateConstructorUsedError; + double? get height => throw _privateConstructorUsedError; + double? get numItems => throw _privateConstructorUsedError; + double? get currentValue => throw _privateConstructorUsedError; + double? get cumulativeValue => throw _privateConstructorUsedError; + String? get tenantId => throw _privateConstructorUsedError; + double? get mbAmount => throw _privateConstructorUsedError; + String? get type => throw _privateConstructorUsedError; + String? get targetId => throw _privateConstructorUsedError; + bool? get isActive => throw _privateConstructorUsedError; + String? get id => throw _privateConstructorUsedError; + String? get referenceId => throw _privateConstructorUsedError; + List? get measureLineItems => + throw _privateConstructorUsedError; + List? get contracts => + throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $FilteredMeasurementsMeasureCopyWith + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $FilteredMeasurementsMeasureCopyWith<$Res> { + factory $FilteredMeasurementsMeasureCopyWith( + FilteredMeasurementsMeasure value, + $Res Function(FilteredMeasurementsMeasure) then) = + _$FilteredMeasurementsMeasureCopyWithImpl<$Res, + FilteredMeasurementsMeasure>; + @useResult + $Res call( + {double? length, + double? breath, + double? height, + double? numItems, + double? currentValue, + double? cumulativeValue, + String? tenantId, + double? mbAmount, + String? type, + String? targetId, + bool? isActive, + String? id, + String? referenceId, + List? measureLineItems, + List? contracts}); +} + +/// @nodoc +class _$FilteredMeasurementsMeasureCopyWithImpl<$Res, + $Val extends FilteredMeasurementsMeasure> + implements $FilteredMeasurementsMeasureCopyWith<$Res> { + _$FilteredMeasurementsMeasureCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? length = freezed, + Object? breath = freezed, + Object? height = freezed, + Object? numItems = freezed, + Object? currentValue = freezed, + Object? cumulativeValue = freezed, + Object? tenantId = freezed, + Object? mbAmount = freezed, + Object? type = freezed, + Object? targetId = freezed, + Object? isActive = freezed, + Object? id = freezed, + Object? referenceId = freezed, + Object? measureLineItems = freezed, + Object? contracts = freezed, + }) { + return _then(_value.copyWith( + length: freezed == length + ? _value.length + : length // ignore: cast_nullable_to_non_nullable + as double?, + breath: freezed == breath + ? _value.breath + : breath // ignore: cast_nullable_to_non_nullable + as double?, + height: freezed == height + ? _value.height + : height // ignore: cast_nullable_to_non_nullable + as double?, + numItems: freezed == numItems + ? _value.numItems + : numItems // ignore: cast_nullable_to_non_nullable + as double?, + currentValue: freezed == currentValue + ? _value.currentValue + : currentValue // ignore: cast_nullable_to_non_nullable + as double?, + cumulativeValue: freezed == cumulativeValue + ? _value.cumulativeValue + : cumulativeValue // ignore: cast_nullable_to_non_nullable + as double?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + mbAmount: freezed == mbAmount + ? _value.mbAmount + : mbAmount // ignore: cast_nullable_to_non_nullable + as double?, + type: freezed == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String?, + targetId: freezed == targetId + ? _value.targetId + : targetId // ignore: cast_nullable_to_non_nullable + as String?, + isActive: freezed == isActive + ? _value.isActive + : isActive // ignore: cast_nullable_to_non_nullable + as bool?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + referenceId: freezed == referenceId + ? _value.referenceId + : referenceId // ignore: cast_nullable_to_non_nullable + as String?, + measureLineItems: freezed == measureLineItems + ? _value.measureLineItems + : measureLineItems // ignore: cast_nullable_to_non_nullable + as List?, + contracts: freezed == contracts + ? _value.contracts + : contracts // ignore: cast_nullable_to_non_nullable + as List?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_FilteredMeasurementsMeasureCopyWith<$Res> + implements $FilteredMeasurementsMeasureCopyWith<$Res> { + factory _$$_FilteredMeasurementsMeasureCopyWith( + _$_FilteredMeasurementsMeasure value, + $Res Function(_$_FilteredMeasurementsMeasure) then) = + __$$_FilteredMeasurementsMeasureCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {double? length, + double? breath, + double? height, + double? numItems, + double? currentValue, + double? cumulativeValue, + String? tenantId, + double? mbAmount, + String? type, + String? targetId, + bool? isActive, + String? id, + String? referenceId, + List? measureLineItems, + List? contracts}); +} + +/// @nodoc +class __$$_FilteredMeasurementsMeasureCopyWithImpl<$Res> + extends _$FilteredMeasurementsMeasureCopyWithImpl<$Res, + _$_FilteredMeasurementsMeasure> + implements _$$_FilteredMeasurementsMeasureCopyWith<$Res> { + __$$_FilteredMeasurementsMeasureCopyWithImpl( + _$_FilteredMeasurementsMeasure _value, + $Res Function(_$_FilteredMeasurementsMeasure) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? length = freezed, + Object? breath = freezed, + Object? height = freezed, + Object? numItems = freezed, + Object? currentValue = freezed, + Object? cumulativeValue = freezed, + Object? tenantId = freezed, + Object? mbAmount = freezed, + Object? type = freezed, + Object? targetId = freezed, + Object? isActive = freezed, + Object? id = freezed, + Object? referenceId = freezed, + Object? measureLineItems = freezed, + Object? contracts = freezed, + }) { + return _then(_$_FilteredMeasurementsMeasure( + length: freezed == length + ? _value.length + : length // ignore: cast_nullable_to_non_nullable + as double?, + breath: freezed == breath + ? _value.breath + : breath // ignore: cast_nullable_to_non_nullable + as double?, + height: freezed == height + ? _value.height + : height // ignore: cast_nullable_to_non_nullable + as double?, + numItems: freezed == numItems + ? _value.numItems + : numItems // ignore: cast_nullable_to_non_nullable + as double?, + currentValue: freezed == currentValue + ? _value.currentValue + : currentValue // ignore: cast_nullable_to_non_nullable + as double?, + cumulativeValue: freezed == cumulativeValue + ? _value.cumulativeValue + : cumulativeValue // ignore: cast_nullable_to_non_nullable + as double?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + mbAmount: freezed == mbAmount + ? _value.mbAmount + : mbAmount // ignore: cast_nullable_to_non_nullable + as double?, + type: freezed == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String?, + targetId: freezed == targetId + ? _value.targetId + : targetId // ignore: cast_nullable_to_non_nullable + as String?, + isActive: freezed == isActive + ? _value.isActive + : isActive // ignore: cast_nullable_to_non_nullable + as bool?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + referenceId: freezed == referenceId + ? _value.referenceId + : referenceId // ignore: cast_nullable_to_non_nullable + as String?, + measureLineItems: freezed == measureLineItems + ? _value._measureLineItems + : measureLineItems // ignore: cast_nullable_to_non_nullable + as List?, + contracts: freezed == contracts + ? _value._contracts + : contracts // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_FilteredMeasurementsMeasure implements _FilteredMeasurementsMeasure { + const _$_FilteredMeasurementsMeasure( + {this.length, + this.breath, + this.height, + this.numItems, + this.currentValue, + this.cumulativeValue, + this.tenantId, + this.mbAmount, + this.type, + this.targetId, + this.isActive, + this.id, + this.referenceId, + final List? measureLineItems, + final List? contracts}) + : _measureLineItems = measureLineItems, + _contracts = contracts; + + factory _$_FilteredMeasurementsMeasure.fromJson(Map json) => + _$$_FilteredMeasurementsMeasureFromJson(json); + + @override + final double? length; + @override + final double? breath; + @override + final double? height; + @override + final double? numItems; + @override + final double? currentValue; + @override + final double? cumulativeValue; + @override + final String? tenantId; + @override + final double? mbAmount; + @override + final String? type; + @override + final String? targetId; + @override + final bool? isActive; + @override + final String? id; + @override + final String? referenceId; + final List? _measureLineItems; + @override + List? get measureLineItems { + final value = _measureLineItems; + if (value == null) return null; + if (_measureLineItems is EqualUnmodifiableListView) + return _measureLineItems; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + final List? _contracts; + @override + List? get contracts { + final value = _contracts; + if (value == null) return null; + if (_contracts is EqualUnmodifiableListView) return _contracts; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'FilteredMeasurementsMeasure(length: $length, breath: $breath, height: $height, numItems: $numItems, currentValue: $currentValue, cumulativeValue: $cumulativeValue, tenantId: $tenantId, mbAmount: $mbAmount, type: $type, targetId: $targetId, isActive: $isActive, id: $id, referenceId: $referenceId, measureLineItems: $measureLineItems, contracts: $contracts)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_FilteredMeasurementsMeasure && + (identical(other.length, length) || other.length == length) && + (identical(other.breath, breath) || other.breath == breath) && + (identical(other.height, height) || other.height == height) && + (identical(other.numItems, numItems) || + other.numItems == numItems) && + (identical(other.currentValue, currentValue) || + other.currentValue == currentValue) && + (identical(other.cumulativeValue, cumulativeValue) || + other.cumulativeValue == cumulativeValue) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.mbAmount, mbAmount) || + other.mbAmount == mbAmount) && + (identical(other.type, type) || other.type == type) && + (identical(other.targetId, targetId) || + other.targetId == targetId) && + (identical(other.isActive, isActive) || + other.isActive == isActive) && + (identical(other.id, id) || other.id == id) && + (identical(other.referenceId, referenceId) || + other.referenceId == referenceId) && + const DeepCollectionEquality() + .equals(other._measureLineItems, _measureLineItems) && + const DeepCollectionEquality() + .equals(other._contracts, _contracts)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + length, + breath, + height, + numItems, + currentValue, + cumulativeValue, + tenantId, + mbAmount, + type, + targetId, + isActive, + id, + referenceId, + const DeepCollectionEquality().hash(_measureLineItems), + const DeepCollectionEquality().hash(_contracts)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_FilteredMeasurementsMeasureCopyWith<_$_FilteredMeasurementsMeasure> + get copyWith => __$$_FilteredMeasurementsMeasureCopyWithImpl< + _$_FilteredMeasurementsMeasure>(this, _$identity); + + @override + Map toJson() { + return _$$_FilteredMeasurementsMeasureToJson( + this, + ); + } +} + +abstract class _FilteredMeasurementsMeasure + implements FilteredMeasurementsMeasure { + const factory _FilteredMeasurementsMeasure( + {final double? length, + final double? breath, + final double? height, + final double? numItems, + final double? currentValue, + final double? cumulativeValue, + final String? tenantId, + final double? mbAmount, + final String? type, + final String? targetId, + final bool? isActive, + final String? id, + final String? referenceId, + final List? measureLineItems, + final List? contracts}) = + _$_FilteredMeasurementsMeasure; + + factory _FilteredMeasurementsMeasure.fromJson(Map json) = + _$_FilteredMeasurementsMeasure.fromJson; + + @override + double? get length; + @override + double? get breath; + @override + double? get height; + @override + double? get numItems; + @override + double? get currentValue; + @override + double? get cumulativeValue; + @override + String? get tenantId; + @override + double? get mbAmount; + @override + String? get type; + @override + String? get targetId; + @override + bool? get isActive; + @override + String? get id; + @override + String? get referenceId; + @override + List? get measureLineItems; + @override + List? get contracts; + @override + @JsonKey(ignore: true) + _$$_FilteredMeasurementsMeasureCopyWith<_$_FilteredMeasurementsMeasure> + get copyWith => throw _privateConstructorUsedError; +} + +FilteredMeasurementsContract _$FilteredMeasurementsContractFromJson( + Map json) { + return _FilteredMeasurementsContract.fromJson(json); +} + +/// @nodoc +mixin _$FilteredMeasurementsContract { + String? get estimateId => throw _privateConstructorUsedError; + String? get estimateLineItemId => throw _privateConstructorUsedError; + String? get contractLineItemRef => throw _privateConstructorUsedError; + double? get unitRate => throw _privateConstructorUsedError; + String? get status => throw _privateConstructorUsedError; + String? get wfStatus => throw _privateConstructorUsedError; + ContractAdditionalDetails? get contractAdditionalDetails => + throw _privateConstructorUsedError; + List? get estimates => + throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $FilteredMeasurementsContractCopyWith + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $FilteredMeasurementsContractCopyWith<$Res> { + factory $FilteredMeasurementsContractCopyWith( + FilteredMeasurementsContract value, + $Res Function(FilteredMeasurementsContract) then) = + _$FilteredMeasurementsContractCopyWithImpl<$Res, + FilteredMeasurementsContract>; + @useResult + $Res call( + {String? estimateId, + String? estimateLineItemId, + String? contractLineItemRef, + double? unitRate, + String? status, + String? wfStatus, + ContractAdditionalDetails? contractAdditionalDetails, + List? estimates}); + + $ContractAdditionalDetailsCopyWith<$Res>? get contractAdditionalDetails; +} + +/// @nodoc +class _$FilteredMeasurementsContractCopyWithImpl<$Res, + $Val extends FilteredMeasurementsContract> + implements $FilteredMeasurementsContractCopyWith<$Res> { + _$FilteredMeasurementsContractCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? estimateId = freezed, + Object? estimateLineItemId = freezed, + Object? contractLineItemRef = freezed, + Object? unitRate = freezed, + Object? status = freezed, + Object? wfStatus = freezed, + Object? contractAdditionalDetails = freezed, + Object? estimates = freezed, + }) { + return _then(_value.copyWith( + estimateId: freezed == estimateId + ? _value.estimateId + : estimateId // ignore: cast_nullable_to_non_nullable + as String?, + estimateLineItemId: freezed == estimateLineItemId + ? _value.estimateLineItemId + : estimateLineItemId // ignore: cast_nullable_to_non_nullable + as String?, + contractLineItemRef: freezed == contractLineItemRef + ? _value.contractLineItemRef + : contractLineItemRef // ignore: cast_nullable_to_non_nullable + as String?, + unitRate: freezed == unitRate + ? _value.unitRate + : unitRate // ignore: cast_nullable_to_non_nullable + as double?, + status: freezed == status + ? _value.status + : status // ignore: cast_nullable_to_non_nullable + as String?, + wfStatus: freezed == wfStatus + ? _value.wfStatus + : wfStatus // ignore: cast_nullable_to_non_nullable + as String?, + contractAdditionalDetails: freezed == contractAdditionalDetails + ? _value.contractAdditionalDetails + : contractAdditionalDetails // ignore: cast_nullable_to_non_nullable + as ContractAdditionalDetails?, + estimates: freezed == estimates + ? _value.estimates + : estimates // ignore: cast_nullable_to_non_nullable + as List?, + ) as $Val); + } + + @override + @pragma('vm:prefer-inline') + $ContractAdditionalDetailsCopyWith<$Res>? get contractAdditionalDetails { + if (_value.contractAdditionalDetails == null) { + return null; + } + + return $ContractAdditionalDetailsCopyWith<$Res>( + _value.contractAdditionalDetails!, (value) { + return _then(_value.copyWith(contractAdditionalDetails: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$_FilteredMeasurementsContractCopyWith<$Res> + implements $FilteredMeasurementsContractCopyWith<$Res> { + factory _$$_FilteredMeasurementsContractCopyWith( + _$_FilteredMeasurementsContract value, + $Res Function(_$_FilteredMeasurementsContract) then) = + __$$_FilteredMeasurementsContractCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {String? estimateId, + String? estimateLineItemId, + String? contractLineItemRef, + double? unitRate, + String? status, + String? wfStatus, + ContractAdditionalDetails? contractAdditionalDetails, + List? estimates}); + + @override + $ContractAdditionalDetailsCopyWith<$Res>? get contractAdditionalDetails; +} + +/// @nodoc +class __$$_FilteredMeasurementsContractCopyWithImpl<$Res> + extends _$FilteredMeasurementsContractCopyWithImpl<$Res, + _$_FilteredMeasurementsContract> + implements _$$_FilteredMeasurementsContractCopyWith<$Res> { + __$$_FilteredMeasurementsContractCopyWithImpl( + _$_FilteredMeasurementsContract _value, + $Res Function(_$_FilteredMeasurementsContract) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? estimateId = freezed, + Object? estimateLineItemId = freezed, + Object? contractLineItemRef = freezed, + Object? unitRate = freezed, + Object? status = freezed, + Object? wfStatus = freezed, + Object? contractAdditionalDetails = freezed, + Object? estimates = freezed, + }) { + return _then(_$_FilteredMeasurementsContract( + estimateId: freezed == estimateId + ? _value.estimateId + : estimateId // ignore: cast_nullable_to_non_nullable + as String?, + estimateLineItemId: freezed == estimateLineItemId + ? _value.estimateLineItemId + : estimateLineItemId // ignore: cast_nullable_to_non_nullable + as String?, + contractLineItemRef: freezed == contractLineItemRef + ? _value.contractLineItemRef + : contractLineItemRef // ignore: cast_nullable_to_non_nullable + as String?, + unitRate: freezed == unitRate + ? _value.unitRate + : unitRate // ignore: cast_nullable_to_non_nullable + as double?, + status: freezed == status + ? _value.status + : status // ignore: cast_nullable_to_non_nullable + as String?, + wfStatus: freezed == wfStatus + ? _value.wfStatus + : wfStatus // ignore: cast_nullable_to_non_nullable + as String?, + contractAdditionalDetails: freezed == contractAdditionalDetails + ? _value.contractAdditionalDetails + : contractAdditionalDetails // ignore: cast_nullable_to_non_nullable + as ContractAdditionalDetails?, + estimates: freezed == estimates + ? _value._estimates + : estimates // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_FilteredMeasurementsContract implements _FilteredMeasurementsContract { + const _$_FilteredMeasurementsContract( + {this.estimateId, + this.estimateLineItemId, + this.contractLineItemRef, + this.unitRate, + this.status, + this.wfStatus, + this.contractAdditionalDetails, + final List? estimates}) + : _estimates = estimates; + + factory _$_FilteredMeasurementsContract.fromJson(Map json) => + _$$_FilteredMeasurementsContractFromJson(json); + + @override + final String? estimateId; + @override + final String? estimateLineItemId; + @override + final String? contractLineItemRef; + @override + final double? unitRate; + @override + final String? status; + @override + final String? wfStatus; + @override + final ContractAdditionalDetails? contractAdditionalDetails; + final List? _estimates; + @override + List? get estimates { + final value = _estimates; + if (value == null) return null; + if (_estimates is EqualUnmodifiableListView) return _estimates; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'FilteredMeasurementsContract(estimateId: $estimateId, estimateLineItemId: $estimateLineItemId, contractLineItemRef: $contractLineItemRef, unitRate: $unitRate, status: $status, wfStatus: $wfStatus, contractAdditionalDetails: $contractAdditionalDetails, estimates: $estimates)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_FilteredMeasurementsContract && + (identical(other.estimateId, estimateId) || + other.estimateId == estimateId) && + (identical(other.estimateLineItemId, estimateLineItemId) || + other.estimateLineItemId == estimateLineItemId) && + (identical(other.contractLineItemRef, contractLineItemRef) || + other.contractLineItemRef == contractLineItemRef) && + (identical(other.unitRate, unitRate) || + other.unitRate == unitRate) && + (identical(other.status, status) || other.status == status) && + (identical(other.wfStatus, wfStatus) || + other.wfStatus == wfStatus) && + (identical(other.contractAdditionalDetails, + contractAdditionalDetails) || + other.contractAdditionalDetails == contractAdditionalDetails) && + const DeepCollectionEquality() + .equals(other._estimates, _estimates)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + estimateId, + estimateLineItemId, + contractLineItemRef, + unitRate, + status, + wfStatus, + contractAdditionalDetails, + const DeepCollectionEquality().hash(_estimates)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_FilteredMeasurementsContractCopyWith<_$_FilteredMeasurementsContract> + get copyWith => __$$_FilteredMeasurementsContractCopyWithImpl< + _$_FilteredMeasurementsContract>(this, _$identity); + + @override + Map toJson() { + return _$$_FilteredMeasurementsContractToJson( + this, + ); + } +} + +abstract class _FilteredMeasurementsContract + implements FilteredMeasurementsContract { + const factory _FilteredMeasurementsContract( + {final String? estimateId, + final String? estimateLineItemId, + final String? contractLineItemRef, + final double? unitRate, + final String? status, + final String? wfStatus, + final ContractAdditionalDetails? contractAdditionalDetails, + final List? estimates}) = + _$_FilteredMeasurementsContract; + + factory _FilteredMeasurementsContract.fromJson(Map json) = + _$_FilteredMeasurementsContract.fromJson; + + @override + String? get estimateId; + @override + String? get estimateLineItemId; + @override + String? get contractLineItemRef; + @override + double? get unitRate; + @override + String? get status; + @override + String? get wfStatus; + @override + ContractAdditionalDetails? get contractAdditionalDetails; + @override + List? get estimates; + @override + @JsonKey(ignore: true) + _$$_FilteredMeasurementsContractCopyWith<_$_FilteredMeasurementsContract> + get copyWith => throw _privateConstructorUsedError; +} + +FilteredMeasurementsEstimate _$FilteredMeasurementsEstimateFromJson( + Map json) { + return _FilteredMeasurementsEstimate.fromJson(json); +} + +/// @nodoc +mixin _$FilteredMeasurementsEstimate { + String? get id => throw _privateConstructorUsedError; + String? get sorId => throw _privateConstructorUsedError; + String? get category => throw _privateConstructorUsedError; + String? get name => throw _privateConstructorUsedError; + String? get description => throw _privateConstructorUsedError; + double? get unitRate => throw _privateConstructorUsedError; + dynamic get noOfunit => throw _privateConstructorUsedError; + String? get uom => throw _privateConstructorUsedError; + dynamic get length => throw _privateConstructorUsedError; + dynamic get width => throw _privateConstructorUsedError; + dynamic get height => throw _privateConstructorUsedError; + dynamic get quantity => throw _privateConstructorUsedError; + bool? get isDeduction => throw _privateConstructorUsedError; + String? get wfStatus => throw _privateConstructorUsedError; + String? get status => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $FilteredMeasurementsEstimateCopyWith + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $FilteredMeasurementsEstimateCopyWith<$Res> { + factory $FilteredMeasurementsEstimateCopyWith( + FilteredMeasurementsEstimate value, + $Res Function(FilteredMeasurementsEstimate) then) = + _$FilteredMeasurementsEstimateCopyWithImpl<$Res, + FilteredMeasurementsEstimate>; + @useResult + $Res call( + {String? id, + String? sorId, + String? category, + String? name, + String? description, + double? unitRate, + dynamic noOfunit, + String? uom, + dynamic length, + dynamic width, + dynamic height, + dynamic quantity, + bool? isDeduction, + String? wfStatus, + String? status}); +} + +/// @nodoc +class _$FilteredMeasurementsEstimateCopyWithImpl<$Res, + $Val extends FilteredMeasurementsEstimate> + implements $FilteredMeasurementsEstimateCopyWith<$Res> { + _$FilteredMeasurementsEstimateCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? sorId = freezed, + Object? category = freezed, + Object? name = freezed, + Object? description = freezed, + Object? unitRate = freezed, + Object? noOfunit = freezed, + Object? uom = freezed, + Object? length = freezed, + Object? width = freezed, + Object? height = freezed, + Object? quantity = freezed, + Object? isDeduction = freezed, + Object? wfStatus = freezed, + Object? status = freezed, + }) { + return _then(_value.copyWith( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + sorId: freezed == sorId + ? _value.sorId + : sorId // ignore: cast_nullable_to_non_nullable + as String?, + category: freezed == category + ? _value.category + : category // ignore: cast_nullable_to_non_nullable + as String?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + description: freezed == description + ? _value.description + : description // ignore: cast_nullable_to_non_nullable + as String?, + unitRate: freezed == unitRate + ? _value.unitRate + : unitRate // ignore: cast_nullable_to_non_nullable + as double?, + noOfunit: freezed == noOfunit + ? _value.noOfunit + : noOfunit // ignore: cast_nullable_to_non_nullable + as dynamic, + uom: freezed == uom + ? _value.uom + : uom // ignore: cast_nullable_to_non_nullable + as String?, + length: freezed == length + ? _value.length + : length // ignore: cast_nullable_to_non_nullable + as dynamic, + width: freezed == width + ? _value.width + : width // ignore: cast_nullable_to_non_nullable + as dynamic, + height: freezed == height + ? _value.height + : height // ignore: cast_nullable_to_non_nullable + as dynamic, + quantity: freezed == quantity + ? _value.quantity + : quantity // ignore: cast_nullable_to_non_nullable + as dynamic, + isDeduction: freezed == isDeduction + ? _value.isDeduction + : isDeduction // ignore: cast_nullable_to_non_nullable + as bool?, + wfStatus: freezed == wfStatus + ? _value.wfStatus + : wfStatus // ignore: cast_nullable_to_non_nullable + as String?, + status: freezed == status + ? _value.status + : status // ignore: cast_nullable_to_non_nullable + as String?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_FilteredMeasurementsEstimateCopyWith<$Res> + implements $FilteredMeasurementsEstimateCopyWith<$Res> { + factory _$$_FilteredMeasurementsEstimateCopyWith( + _$_FilteredMeasurementsEstimate value, + $Res Function(_$_FilteredMeasurementsEstimate) then) = + __$$_FilteredMeasurementsEstimateCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {String? id, + String? sorId, + String? category, + String? name, + String? description, + double? unitRate, + dynamic noOfunit, + String? uom, + dynamic length, + dynamic width, + dynamic height, + dynamic quantity, + bool? isDeduction, + String? wfStatus, + String? status}); +} + +/// @nodoc +class __$$_FilteredMeasurementsEstimateCopyWithImpl<$Res> + extends _$FilteredMeasurementsEstimateCopyWithImpl<$Res, + _$_FilteredMeasurementsEstimate> + implements _$$_FilteredMeasurementsEstimateCopyWith<$Res> { + __$$_FilteredMeasurementsEstimateCopyWithImpl( + _$_FilteredMeasurementsEstimate _value, + $Res Function(_$_FilteredMeasurementsEstimate) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? sorId = freezed, + Object? category = freezed, + Object? name = freezed, + Object? description = freezed, + Object? unitRate = freezed, + Object? noOfunit = freezed, + Object? uom = freezed, + Object? length = freezed, + Object? width = freezed, + Object? height = freezed, + Object? quantity = freezed, + Object? isDeduction = freezed, + Object? wfStatus = freezed, + Object? status = freezed, + }) { + return _then(_$_FilteredMeasurementsEstimate( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + sorId: freezed == sorId + ? _value.sorId + : sorId // ignore: cast_nullable_to_non_nullable + as String?, + category: freezed == category + ? _value.category + : category // ignore: cast_nullable_to_non_nullable + as String?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + description: freezed == description + ? _value.description + : description // ignore: cast_nullable_to_non_nullable + as String?, + unitRate: freezed == unitRate + ? _value.unitRate + : unitRate // ignore: cast_nullable_to_non_nullable + as double?, + noOfunit: freezed == noOfunit + ? _value.noOfunit + : noOfunit // ignore: cast_nullable_to_non_nullable + as dynamic, + uom: freezed == uom + ? _value.uom + : uom // ignore: cast_nullable_to_non_nullable + as String?, + length: freezed == length + ? _value.length + : length // ignore: cast_nullable_to_non_nullable + as dynamic, + width: freezed == width + ? _value.width + : width // ignore: cast_nullable_to_non_nullable + as dynamic, + height: freezed == height + ? _value.height + : height // ignore: cast_nullable_to_non_nullable + as dynamic, + quantity: freezed == quantity + ? _value.quantity + : quantity // ignore: cast_nullable_to_non_nullable + as dynamic, + isDeduction: freezed == isDeduction + ? _value.isDeduction + : isDeduction // ignore: cast_nullable_to_non_nullable + as bool?, + wfStatus: freezed == wfStatus + ? _value.wfStatus + : wfStatus // ignore: cast_nullable_to_non_nullable + as String?, + status: freezed == status + ? _value.status + : status // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_FilteredMeasurementsEstimate implements _FilteredMeasurementsEstimate { + const _$_FilteredMeasurementsEstimate( + {this.id, + this.sorId, + this.category, + this.name, + this.description, + this.unitRate, + this.noOfunit, + this.uom, + this.length, + this.width, + this.height, + this.quantity, + this.isDeduction, + this.wfStatus, + this.status}); + + factory _$_FilteredMeasurementsEstimate.fromJson(Map json) => + _$$_FilteredMeasurementsEstimateFromJson(json); + + @override + final String? id; + @override + final String? sorId; + @override + final String? category; + @override + final String? name; + @override + final String? description; + @override + final double? unitRate; + @override + final dynamic noOfunit; + @override + final String? uom; + @override + final dynamic length; + @override + final dynamic width; + @override + final dynamic height; + @override + final dynamic quantity; + @override + final bool? isDeduction; + @override + final String? wfStatus; + @override + final String? status; + + @override + String toString() { + return 'FilteredMeasurementsEstimate(id: $id, sorId: $sorId, category: $category, name: $name, description: $description, unitRate: $unitRate, noOfunit: $noOfunit, uom: $uom, length: $length, width: $width, height: $height, quantity: $quantity, isDeduction: $isDeduction, wfStatus: $wfStatus, status: $status)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_FilteredMeasurementsEstimate && + (identical(other.id, id) || other.id == id) && + (identical(other.sorId, sorId) || other.sorId == sorId) && + (identical(other.category, category) || + other.category == category) && + (identical(other.name, name) || other.name == name) && + (identical(other.description, description) || + other.description == description) && + (identical(other.unitRate, unitRate) || + other.unitRate == unitRate) && + const DeepCollectionEquality().equals(other.noOfunit, noOfunit) && + (identical(other.uom, uom) || other.uom == uom) && + const DeepCollectionEquality().equals(other.length, length) && + const DeepCollectionEquality().equals(other.width, width) && + const DeepCollectionEquality().equals(other.height, height) && + const DeepCollectionEquality().equals(other.quantity, quantity) && + (identical(other.isDeduction, isDeduction) || + other.isDeduction == isDeduction) && + (identical(other.wfStatus, wfStatus) || + other.wfStatus == wfStatus) && + (identical(other.status, status) || other.status == status)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + id, + sorId, + category, + name, + description, + unitRate, + const DeepCollectionEquality().hash(noOfunit), + uom, + const DeepCollectionEquality().hash(length), + const DeepCollectionEquality().hash(width), + const DeepCollectionEquality().hash(height), + const DeepCollectionEquality().hash(quantity), + isDeduction, + wfStatus, + status); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_FilteredMeasurementsEstimateCopyWith<_$_FilteredMeasurementsEstimate> + get copyWith => __$$_FilteredMeasurementsEstimateCopyWithImpl< + _$_FilteredMeasurementsEstimate>(this, _$identity); + + @override + Map toJson() { + return _$$_FilteredMeasurementsEstimateToJson( + this, + ); + } +} + +abstract class _FilteredMeasurementsEstimate + implements FilteredMeasurementsEstimate { + const factory _FilteredMeasurementsEstimate( + {final String? id, + final String? sorId, + final String? category, + final String? name, + final String? description, + final double? unitRate, + final dynamic noOfunit, + final String? uom, + final dynamic length, + final dynamic width, + final dynamic height, + final dynamic quantity, + final bool? isDeduction, + final String? wfStatus, + final String? status}) = _$_FilteredMeasurementsEstimate; + + factory _FilteredMeasurementsEstimate.fromJson(Map json) = + _$_FilteredMeasurementsEstimate.fromJson; + + @override + String? get id; + @override + String? get sorId; + @override + String? get category; + @override + String? get name; + @override + String? get description; + @override + double? get unitRate; + @override + dynamic get noOfunit; + @override + String? get uom; + @override + dynamic get length; + @override + dynamic get width; + @override + dynamic get height; + @override + dynamic get quantity; + @override + bool? get isDeduction; + @override + String? get wfStatus; + @override + String? get status; + @override + @JsonKey(ignore: true) + _$$_FilteredMeasurementsEstimateCopyWith<_$_FilteredMeasurementsEstimate> + get copyWith => throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.g.dart b/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.g.dart new file mode 100644 index 0000000000..5287b16ae0 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.g.dart @@ -0,0 +1,169 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'filtered_Measures.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +_$_FilteredMeasurements _$$_FilteredMeasurementsFromJson( + Map json) => + _$_FilteredMeasurements( + totalSorAmount: (json['totalSorAmount'] as num?)?.toDouble(), + totalNorSorAmount: (json['totalNorSorAmount'] as num?)?.toDouble(), + totalAmount: (json['totalAmount'] as num?)?.toDouble(), + musterRollNumber: json['musterRollNumber'] as String?, + mbNumber: json['mbNumber'] as String?, + wfStatus: json['wfStatus'] as String?, + tenantId: json['tenantId'] as String?, + endDate: json['endDate'] as int?, + startDate: json['startDate'] as int?, + entryDate: json['entryDate'] as int?, + referenceId: json['referenceId'] as String?, + id: json['id'] as String?, + physicalRefNumber: json['physicalRefNumber'] as String?, + measures: (json['measures'] as List?) + ?.map((e) => + FilteredMeasurementsMeasure.fromJson(e as Map)) + .toList(), + documents: (json['documents'] as List?) + ?.map((e) => WorkflowDocument.fromJson(e as Map)) + .toList(), + ); + +Map _$$_FilteredMeasurementsToJson( + _$_FilteredMeasurements instance) => + { + 'totalSorAmount': instance.totalSorAmount, + 'totalNorSorAmount': instance.totalNorSorAmount, + 'totalAmount': instance.totalAmount, + 'musterRollNumber': instance.musterRollNumber, + 'mbNumber': instance.mbNumber, + 'wfStatus': instance.wfStatus, + 'tenantId': instance.tenantId, + 'endDate': instance.endDate, + 'startDate': instance.startDate, + 'entryDate': instance.entryDate, + 'referenceId': instance.referenceId, + 'id': instance.id, + 'physicalRefNumber': instance.physicalRefNumber, + 'measures': instance.measures, + 'documents': instance.documents, + }; + +_$_FilteredMeasurementsMeasure _$$_FilteredMeasurementsMeasureFromJson( + Map json) => + _$_FilteredMeasurementsMeasure( + length: (json['length'] as num?)?.toDouble(), + breath: (json['breath'] as num?)?.toDouble(), + height: (json['height'] as num?)?.toDouble(), + numItems: (json['numItems'] as num?)?.toDouble(), + currentValue: (json['currentValue'] as num?)?.toDouble(), + cumulativeValue: (json['cumulativeValue'] as num?)?.toDouble(), + tenantId: json['tenantId'] as String?, + mbAmount: (json['mbAmount'] as num?)?.toDouble(), + type: json['type'] as String?, + targetId: json['targetId'] as String?, + isActive: json['isActive'] as bool?, + id: json['id'] as String?, + referenceId: json['referenceId'] as String?, + measureLineItems: (json['measureLineItems'] as List?) + ?.map((e) => MeasureLineItem.fromJson(e as Map)) + .toList(), + contracts: (json['contracts'] as List?) + ?.map((e) => + FilteredMeasurementsContract.fromJson(e as Map)) + .toList(), + ); + +Map _$$_FilteredMeasurementsMeasureToJson( + _$_FilteredMeasurementsMeasure instance) => + { + 'length': instance.length, + 'breath': instance.breath, + 'height': instance.height, + 'numItems': instance.numItems, + 'currentValue': instance.currentValue, + 'cumulativeValue': instance.cumulativeValue, + 'tenantId': instance.tenantId, + 'mbAmount': instance.mbAmount, + 'type': instance.type, + 'targetId': instance.targetId, + 'isActive': instance.isActive, + 'id': instance.id, + 'referenceId': instance.referenceId, + 'measureLineItems': instance.measureLineItems, + 'contracts': instance.contracts, + }; + +_$_FilteredMeasurementsContract _$$_FilteredMeasurementsContractFromJson( + Map json) => + _$_FilteredMeasurementsContract( + estimateId: json['estimateId'] as String?, + estimateLineItemId: json['estimateLineItemId'] as String?, + contractLineItemRef: json['contractLineItemRef'] as String?, + unitRate: (json['unitRate'] as num?)?.toDouble(), + status: json['status'] as String?, + wfStatus: json['wfStatus'] as String?, + contractAdditionalDetails: json['contractAdditionalDetails'] == null + ? null + : ContractAdditionalDetails.fromJson( + json['contractAdditionalDetails'] as Map), + estimates: (json['estimates'] as List?) + ?.map((e) => + FilteredMeasurementsEstimate.fromJson(e as Map)) + .toList(), + ); + +Map _$$_FilteredMeasurementsContractToJson( + _$_FilteredMeasurementsContract instance) => + { + 'estimateId': instance.estimateId, + 'estimateLineItemId': instance.estimateLineItemId, + 'contractLineItemRef': instance.contractLineItemRef, + 'unitRate': instance.unitRate, + 'status': instance.status, + 'wfStatus': instance.wfStatus, + 'contractAdditionalDetails': instance.contractAdditionalDetails, + 'estimates': instance.estimates, + }; + +_$_FilteredMeasurementsEstimate _$$_FilteredMeasurementsEstimateFromJson( + Map json) => + _$_FilteredMeasurementsEstimate( + id: json['id'] as String?, + sorId: json['sorId'] as String?, + category: json['category'] as String?, + name: json['name'] as String?, + description: json['description'] as String?, + unitRate: (json['unitRate'] as num?)?.toDouble(), + noOfunit: json['noOfunit'], + uom: json['uom'] as String?, + length: json['length'], + width: json['width'], + height: json['height'], + quantity: json['quantity'], + isDeduction: json['isDeduction'] as bool?, + wfStatus: json['wfStatus'] as String?, + status: json['status'] as String?, + ); + +Map _$$_FilteredMeasurementsEstimateToJson( + _$_FilteredMeasurementsEstimate instance) => + { + 'id': instance.id, + 'sorId': instance.sorId, + 'category': instance.category, + 'name': instance.name, + 'description': instance.description, + 'unitRate': instance.unitRate, + 'noOfunit': instance.noOfunit, + 'uom': instance.uom, + 'length': instance.length, + 'width': instance.width, + 'height': instance.height, + 'quantity': instance.quantity, + 'isDeduction': instance.isDeduction, + 'wfStatus': instance.wfStatus, + 'status': instance.status, + }; diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.dart new file mode 100644 index 0000000000..a884605c43 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.dart @@ -0,0 +1,308 @@ +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:works_shg_app/models/employee/mb/mb_inbox_response.dart'; +import 'package:works_shg_app/models/muster_rolls/estimate_muster_roll_model.dart'; +import 'package:works_shg_app/models/muster_rolls/muster_workflow_model.dart'; + +import 'filtered_Measures.dart'; + +part 'mb_detail_response.freezed.dart'; +part 'mb_detail_response.g.dart'; + +@freezed +class MBDetailResponse with _$MBDetailResponse { + const factory MBDetailResponse({ + @JsonKey(name: 'contract') Contract? contract, + @JsonKey(name: 'estimate') Estimate? estimate, + @JsonKey(name: 'period') Period? period, + @JsonKey(name: 'allMeasurements') dynamic allMeasurements, + @JsonKey(name: 'measurement') Measurement? measurement, + @JsonKey(name: 'musterRolls') dynamic musterRolls + }) = _MBDetailResponse; + + factory MBDetailResponse.fromJson( + Map json, + ) => + _$MBDetailResponseFromJson(json); +} + + + +@freezed +class WorkFlow with _$WorkFlow { + const factory WorkFlow({ + @JsonKey(name: 'action') String? action, + @JsonKey(name: 'comment') String? comment, + @JsonKey(name: 'assignees') List? assignees, + @JsonKey(name: 'documents')List?documents + }) = _WorkFlow; + + factory WorkFlow.fromJson( + Map json, + ) => + _$WorkFlowFromJson(json); +} + + +@freezed +class WorkFlowSupportDocument with _$WorkFlowSupportDocument { + const factory WorkFlowSupportDocument({ + @JsonKey(name: 'documentType') String? documentType, + @JsonKey(name: 'documentUid') String? documentUid, + @JsonKey(name: 'fileName') String? fileName, + @JsonKey(name: 'fileStoreId') String? fileStoreId, + @JsonKey(name: 'tenantId') String? tenantId, + + }) = _WorkFlowSupportDocument; + + factory WorkFlowSupportDocument.fromJson( + Map json, + ) => + _$WorkFlowSupportDocumentFromJson(json); +} + +/// estimate +/// +/// +/// + + + +@freezed +class MusterRoll with _$MusterRoll { + const factory MusterRoll({ + @JsonKey(name: 'id') String? id, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'musterRollNumber')dynamic musterRollNumber, + @JsonKey(name: 'registerId')String? registerId, + @JsonKey(name: 'status') String? status, + @JsonKey(name: 'musterRollStatus') String? musterRollStatus, + @JsonKey(name: 'startDate')int? startDate, + @JsonKey(name: 'endDate') int? endDate, + @JsonKey(name: 'referenceId')String? referenceId, + @JsonKey(name: 'serviceCode')String? serviceCode, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, + @JsonKey(name: 'additionalDetails') MusterRollAdditionalDetails? additional + + }) = _MusterRoll; + + factory MusterRoll.fromJson( + Map json, + ) => + _$MusterRollFromJson(json); +} + + +@freezed +class MusterRollAdditionalDetails with _$MusterRollAdditionalDetails { + const factory MusterRollAdditionalDetails({ + @JsonKey(name: 'ward') String? ward, + @JsonKey(name: 'orgId') String? orgId, + @JsonKey(name: 'amount')double? amount, + @JsonKey(name: 'orgName')String? orgName, + @JsonKey(name: 'locality') String? locality, + @JsonKey(name: 'projectId') String? projectId, + @JsonKey(name: 'contractId')String? contractId, + @JsonKey(name: 'projectDesc') String? projectDesc, + @JsonKey(name: 'projectName')String? projectName, + @JsonKey(name: 'projectType')String? projectType, + @JsonKey(name: 'executingAuthority') String? executingAuthority, + @JsonKey(name: 'attendanceRegisterNo')String? attendanceRegisterNo, + @JsonKey(name: 'attendanceRegisterName')String? attendanceRegisterName, + + + }) = _MusterRollAdditionalDetails; + + factory MusterRollAdditionalDetails.fromJson( + Map json, + ) => + _$MusterRollAdditionalDetailsFromJson(json); +} + + + +@freezed +class Measurement with _$Measurement { + const factory Measurement({ + @JsonKey(name: 'id') + String? id, + @JsonKey(name: 'tenantId') + String? tenantId, + @JsonKey(name: 'measurementNumber') + String? measurementNumber, + @JsonKey(name: 'physicalRefNumber') + String? physicalRefNumber, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'entryDate') + int? entryDate, + @JsonKey(name: 'isActive') + bool? isActive, + @JsonKey(name: 'wfStatus') + String? wfStatus, + @JsonKey(name: 'workflow') + WorkFlow? workflow, + @JsonKey(name: 'auditDetails') + AuditDetails? auditDetails, + @JsonKey(name: 'additionalDetails') + MeasurementAdditionalDetail? additionalDetail, + + @JsonKey(name: 'measures') + List? measures, + + @JsonKey(name: 'documents') + List ?documents, + + }) = _Measurement; + + factory Measurement.fromJson( + Map json, + ) => + _$MeasurementFromJson(json); +} + +@freezed +class MeasurementAdditionalDetail with _$MeasurementAdditionalDetail { + const factory MeasurementAdditionalDetail({ + @JsonKey(name: 'endDate') int? endDate, + @JsonKey(name: 'sorAmount') double? sorAmount, + @JsonKey(name: 'startDate') int? startDate, + @JsonKey(name: 'totalAmount') double? totalAmount, + @JsonKey(name: 'nonSorAmount') double? nonSorAmount, + @JsonKey(name: 'musterRollNumber') dynamic musterRollNumber, + }) = _MeasurementAdditionalDetail; + + factory MeasurementAdditionalDetail.fromJson( + Map json, + ) => + _$MeasurementAdditionalDetailFromJson(json); +} + +@freezed +class Period with _$Period { + const factory Period({ + @JsonKey(name: 'startDate') int? startDate, + @JsonKey(name: 'endDate') int? endDate, + @JsonKey(name:'message')String? message, + @JsonKey(name:'type')String? type, + + }) = _Period; + + factory Period.fromJson( + Map json, + ) => + _$PeriodFromJson(json); +} + +@freezed +class Estimate with _$Estimate { + const factory Estimate({ + @JsonKey(name: 'id') String? id, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'estimateNumber') String? estimateNumber, + @JsonKey(name: 'revisionNumber') String? revisionNumber, + @JsonKey(name: 'businessService') String? businessService, + @JsonKey(name: 'oldUuid') String? oldUuid, + @JsonKey(name: 'projectId') String? projectId, + @JsonKey(name: 'versionNumber') int? versionNumber, + @JsonKey(name: 'proposalDate') int? proposalDate, + @JsonKey(name: 'status') String? status, + @JsonKey(name: 'wfStatus') String? wfStatus, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'referenceNumber') String? referenceNumber, + @JsonKey(name: 'description') String? description, + @JsonKey(name: 'executingDepartment') String? executingDepartment, + @JsonKey(name: 'address') EstimateAddress? address, + @JsonKey(name: 'estimateDetails') List? estimateDetails, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, + }) = _Estimate; + + factory Estimate.fromJson( + Map json, + ) => + _$EstimateFromJson(json); +} + +@freezed +class EstimateDetail with _$EstimateDetail { + const factory EstimateDetail( + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'previousLineItemId') String? previousLineItemId, + @JsonKey(name: 'sorId') String? sorId, + @JsonKey(name: 'category') String? category, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'description') String? description, + @JsonKey(name: 'unitRate') double? unitRate, + @JsonKey(name: 'noOfunit') num? noOfunit, + @JsonKey(name: 'uom') String? uom, + @JsonKey(name: 'uomValue') double? uomValue, + @JsonKey(name: 'length') num? length, + @JsonKey(name: 'width') num? width, + @JsonKey(name: 'height') num? height, + @JsonKey(name: 'quantity') num? quantity, + @JsonKey(name: 'isDeduction') bool? isDeduction, + @JsonKey(name: 'isActive') bool? isActive, + @JsonKey(name: 'amountDetail') List? amountDetails}) = + _EstimateDetail; + + factory EstimateDetail.fromJson( + Map json, + ) => + _$EstimateDetailFromJson(json); +} + +@freezed +class AmoutDetail with _$AmoutDetail { + const factory AmoutDetail({ + @JsonKey(name: 'type') String? type, + @JsonKey(name: 'amount') double? amount, + @JsonKey(name: 'id') String? id, + @JsonKey(name: 'isActive') bool? isActive, + }) = _AmoutDetail; + + factory AmoutDetail.fromJson( + Map json, + ) => + _$AmoutDetailFromJson(json); +} + +@freezed +class EstimateAddress with _$EstimateAddress { + const factory EstimateAddress({ + @JsonKey(name: 'id') String? id, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'doorNo') String? doorNo, + @JsonKey(name: 'latitude') double? latitude, + @JsonKey(name: 'longitude') double? longitude, + @JsonKey(name: 'locationAccuracy') double? locationAccuracy, + @JsonKey(name: 'type') String? type, + @JsonKey(name: 'addressNumber') String? addressNumber, + @JsonKey(name: 'addressLine1') String? addressLine1, + @JsonKey(name: 'addressLine2') String? addressLine2, + @JsonKey(name: 'landmark') String? landmark, + @JsonKey(name: 'city') String? city, + }) = _EstimateAddress; + + factory EstimateAddress.fromJson( + Map json, + ) => + _$EstimateAddressFromJson(json); +} + + + + +@freezed +class SorObject with _$SorObject { + const factory SorObject({ + String? sorId, + String? id, + @Default([]) List filteredMeasurementsMeasure, + }) = _SorObject; + + factory SorObject.fromJson( + Map json, + ) => + _$SorObjectFromJson(json); + + +} diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.freezed.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.freezed.dart new file mode 100644 index 0000000000..fde005170f --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.freezed.dart @@ -0,0 +1,4854 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'mb_detail_response.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +MBDetailResponse _$MBDetailResponseFromJson(Map json) { + return _MBDetailResponse.fromJson(json); +} + +/// @nodoc +mixin _$MBDetailResponse { + @JsonKey(name: 'contract') + Contract? get contract => throw _privateConstructorUsedError; + @JsonKey(name: 'estimate') + Estimate? get estimate => throw _privateConstructorUsedError; + @JsonKey(name: 'period') + Period? get period => throw _privateConstructorUsedError; + @JsonKey(name: 'allMeasurements') + dynamic get allMeasurements => throw _privateConstructorUsedError; + @JsonKey(name: 'measurement') + Measurement? get measurement => throw _privateConstructorUsedError; + @JsonKey(name: 'musterRolls') + dynamic get musterRolls => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $MBDetailResponseCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MBDetailResponseCopyWith<$Res> { + factory $MBDetailResponseCopyWith( + MBDetailResponse value, $Res Function(MBDetailResponse) then) = + _$MBDetailResponseCopyWithImpl<$Res, MBDetailResponse>; + @useResult + $Res call( + {@JsonKey(name: 'contract') Contract? contract, + @JsonKey(name: 'estimate') Estimate? estimate, + @JsonKey(name: 'period') Period? period, + @JsonKey(name: 'allMeasurements') dynamic allMeasurements, + @JsonKey(name: 'measurement') Measurement? measurement, + @JsonKey(name: 'musterRolls') dynamic musterRolls}); + + $ContractCopyWith<$Res>? get contract; + $EstimateCopyWith<$Res>? get estimate; + $PeriodCopyWith<$Res>? get period; + $MeasurementCopyWith<$Res>? get measurement; +} + +/// @nodoc +class _$MBDetailResponseCopyWithImpl<$Res, $Val extends MBDetailResponse> + implements $MBDetailResponseCopyWith<$Res> { + _$MBDetailResponseCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? contract = freezed, + Object? estimate = freezed, + Object? period = freezed, + Object? allMeasurements = freezed, + Object? measurement = freezed, + Object? musterRolls = freezed, + }) { + return _then(_value.copyWith( + contract: freezed == contract + ? _value.contract + : contract // ignore: cast_nullable_to_non_nullable + as Contract?, + estimate: freezed == estimate + ? _value.estimate + : estimate // ignore: cast_nullable_to_non_nullable + as Estimate?, + period: freezed == period + ? _value.period + : period // ignore: cast_nullable_to_non_nullable + as Period?, + allMeasurements: freezed == allMeasurements + ? _value.allMeasurements + : allMeasurements // ignore: cast_nullable_to_non_nullable + as dynamic, + measurement: freezed == measurement + ? _value.measurement + : measurement // ignore: cast_nullable_to_non_nullable + as Measurement?, + musterRolls: freezed == musterRolls + ? _value.musterRolls + : musterRolls // ignore: cast_nullable_to_non_nullable + as dynamic, + ) as $Val); + } + + @override + @pragma('vm:prefer-inline') + $ContractCopyWith<$Res>? get contract { + if (_value.contract == null) { + return null; + } + + return $ContractCopyWith<$Res>(_value.contract!, (value) { + return _then(_value.copyWith(contract: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $EstimateCopyWith<$Res>? get estimate { + if (_value.estimate == null) { + return null; + } + + return $EstimateCopyWith<$Res>(_value.estimate!, (value) { + return _then(_value.copyWith(estimate: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $PeriodCopyWith<$Res>? get period { + if (_value.period == null) { + return null; + } + + return $PeriodCopyWith<$Res>(_value.period!, (value) { + return _then(_value.copyWith(period: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $MeasurementCopyWith<$Res>? get measurement { + if (_value.measurement == null) { + return null; + } + + return $MeasurementCopyWith<$Res>(_value.measurement!, (value) { + return _then(_value.copyWith(measurement: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$_MBDetailResponseCopyWith<$Res> + implements $MBDetailResponseCopyWith<$Res> { + factory _$$_MBDetailResponseCopyWith( + _$_MBDetailResponse value, $Res Function(_$_MBDetailResponse) then) = + __$$_MBDetailResponseCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'contract') Contract? contract, + @JsonKey(name: 'estimate') Estimate? estimate, + @JsonKey(name: 'period') Period? period, + @JsonKey(name: 'allMeasurements') dynamic allMeasurements, + @JsonKey(name: 'measurement') Measurement? measurement, + @JsonKey(name: 'musterRolls') dynamic musterRolls}); + + @override + $ContractCopyWith<$Res>? get contract; + @override + $EstimateCopyWith<$Res>? get estimate; + @override + $PeriodCopyWith<$Res>? get period; + @override + $MeasurementCopyWith<$Res>? get measurement; +} + +/// @nodoc +class __$$_MBDetailResponseCopyWithImpl<$Res> + extends _$MBDetailResponseCopyWithImpl<$Res, _$_MBDetailResponse> + implements _$$_MBDetailResponseCopyWith<$Res> { + __$$_MBDetailResponseCopyWithImpl( + _$_MBDetailResponse _value, $Res Function(_$_MBDetailResponse) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? contract = freezed, + Object? estimate = freezed, + Object? period = freezed, + Object? allMeasurements = freezed, + Object? measurement = freezed, + Object? musterRolls = freezed, + }) { + return _then(_$_MBDetailResponse( + contract: freezed == contract + ? _value.contract + : contract // ignore: cast_nullable_to_non_nullable + as Contract?, + estimate: freezed == estimate + ? _value.estimate + : estimate // ignore: cast_nullable_to_non_nullable + as Estimate?, + period: freezed == period + ? _value.period + : period // ignore: cast_nullable_to_non_nullable + as Period?, + allMeasurements: freezed == allMeasurements + ? _value.allMeasurements + : allMeasurements // ignore: cast_nullable_to_non_nullable + as dynamic, + measurement: freezed == measurement + ? _value.measurement + : measurement // ignore: cast_nullable_to_non_nullable + as Measurement?, + musterRolls: freezed == musterRolls + ? _value.musterRolls + : musterRolls // ignore: cast_nullable_to_non_nullable + as dynamic, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_MBDetailResponse implements _MBDetailResponse { + const _$_MBDetailResponse( + {@JsonKey(name: 'contract') this.contract, + @JsonKey(name: 'estimate') this.estimate, + @JsonKey(name: 'period') this.period, + @JsonKey(name: 'allMeasurements') this.allMeasurements, + @JsonKey(name: 'measurement') this.measurement, + @JsonKey(name: 'musterRolls') this.musterRolls}); + + factory _$_MBDetailResponse.fromJson(Map json) => + _$$_MBDetailResponseFromJson(json); + + @override + @JsonKey(name: 'contract') + final Contract? contract; + @override + @JsonKey(name: 'estimate') + final Estimate? estimate; + @override + @JsonKey(name: 'period') + final Period? period; + @override + @JsonKey(name: 'allMeasurements') + final dynamic allMeasurements; + @override + @JsonKey(name: 'measurement') + final Measurement? measurement; + @override + @JsonKey(name: 'musterRolls') + final dynamic musterRolls; + + @override + String toString() { + return 'MBDetailResponse(contract: $contract, estimate: $estimate, period: $period, allMeasurements: $allMeasurements, measurement: $measurement, musterRolls: $musterRolls)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_MBDetailResponse && + (identical(other.contract, contract) || + other.contract == contract) && + (identical(other.estimate, estimate) || + other.estimate == estimate) && + (identical(other.period, period) || other.period == period) && + const DeepCollectionEquality() + .equals(other.allMeasurements, allMeasurements) && + (identical(other.measurement, measurement) || + other.measurement == measurement) && + const DeepCollectionEquality() + .equals(other.musterRolls, musterRolls)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + contract, + estimate, + period, + const DeepCollectionEquality().hash(allMeasurements), + measurement, + const DeepCollectionEquality().hash(musterRolls)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_MBDetailResponseCopyWith<_$_MBDetailResponse> get copyWith => + __$$_MBDetailResponseCopyWithImpl<_$_MBDetailResponse>(this, _$identity); + + @override + Map toJson() { + return _$$_MBDetailResponseToJson( + this, + ); + } +} + +abstract class _MBDetailResponse implements MBDetailResponse { + const factory _MBDetailResponse( + {@JsonKey(name: 'contract') final Contract? contract, + @JsonKey(name: 'estimate') final Estimate? estimate, + @JsonKey(name: 'period') final Period? period, + @JsonKey(name: 'allMeasurements') final dynamic allMeasurements, + @JsonKey(name: 'measurement') final Measurement? measurement, + @JsonKey(name: 'musterRolls') final dynamic musterRolls}) = + _$_MBDetailResponse; + + factory _MBDetailResponse.fromJson(Map json) = + _$_MBDetailResponse.fromJson; + + @override + @JsonKey(name: 'contract') + Contract? get contract; + @override + @JsonKey(name: 'estimate') + Estimate? get estimate; + @override + @JsonKey(name: 'period') + Period? get period; + @override + @JsonKey(name: 'allMeasurements') + dynamic get allMeasurements; + @override + @JsonKey(name: 'measurement') + Measurement? get measurement; + @override + @JsonKey(name: 'musterRolls') + dynamic get musterRolls; + @override + @JsonKey(ignore: true) + _$$_MBDetailResponseCopyWith<_$_MBDetailResponse> get copyWith => + throw _privateConstructorUsedError; +} + +WorkFlow _$WorkFlowFromJson(Map json) { + return _WorkFlow.fromJson(json); +} + +/// @nodoc +mixin _$WorkFlow { + @JsonKey(name: 'action') + String? get action => throw _privateConstructorUsedError; + @JsonKey(name: 'comment') + String? get comment => throw _privateConstructorUsedError; + @JsonKey(name: 'assignees') + List? get assignees => throw _privateConstructorUsedError; + @JsonKey(name: 'documents') + List? get documents => + throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $WorkFlowCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $WorkFlowCopyWith<$Res> { + factory $WorkFlowCopyWith(WorkFlow value, $Res Function(WorkFlow) then) = + _$WorkFlowCopyWithImpl<$Res, WorkFlow>; + @useResult + $Res call( + {@JsonKey(name: 'action') String? action, + @JsonKey(name: 'comment') String? comment, + @JsonKey(name: 'assignees') List? assignees, + @JsonKey(name: 'documents') List? documents}); +} + +/// @nodoc +class _$WorkFlowCopyWithImpl<$Res, $Val extends WorkFlow> + implements $WorkFlowCopyWith<$Res> { + _$WorkFlowCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? action = freezed, + Object? comment = freezed, + Object? assignees = freezed, + Object? documents = freezed, + }) { + return _then(_value.copyWith( + action: freezed == action + ? _value.action + : action // ignore: cast_nullable_to_non_nullable + as String?, + comment: freezed == comment + ? _value.comment + : comment // ignore: cast_nullable_to_non_nullable + as String?, + assignees: freezed == assignees + ? _value.assignees + : assignees // ignore: cast_nullable_to_non_nullable + as List?, + documents: freezed == documents + ? _value.documents + : documents // ignore: cast_nullable_to_non_nullable + as List?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_WorkFlowCopyWith<$Res> implements $WorkFlowCopyWith<$Res> { + factory _$$_WorkFlowCopyWith( + _$_WorkFlow value, $Res Function(_$_WorkFlow) then) = + __$$_WorkFlowCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'action') String? action, + @JsonKey(name: 'comment') String? comment, + @JsonKey(name: 'assignees') List? assignees, + @JsonKey(name: 'documents') List? documents}); +} + +/// @nodoc +class __$$_WorkFlowCopyWithImpl<$Res> + extends _$WorkFlowCopyWithImpl<$Res, _$_WorkFlow> + implements _$$_WorkFlowCopyWith<$Res> { + __$$_WorkFlowCopyWithImpl( + _$_WorkFlow _value, $Res Function(_$_WorkFlow) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? action = freezed, + Object? comment = freezed, + Object? assignees = freezed, + Object? documents = freezed, + }) { + return _then(_$_WorkFlow( + action: freezed == action + ? _value.action + : action // ignore: cast_nullable_to_non_nullable + as String?, + comment: freezed == comment + ? _value.comment + : comment // ignore: cast_nullable_to_non_nullable + as String?, + assignees: freezed == assignees + ? _value._assignees + : assignees // ignore: cast_nullable_to_non_nullable + as List?, + documents: freezed == documents + ? _value._documents + : documents // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_WorkFlow implements _WorkFlow { + const _$_WorkFlow( + {@JsonKey(name: 'action') + this.action, + @JsonKey(name: 'comment') + this.comment, + @JsonKey(name: 'assignees') + final List? assignees, + @JsonKey(name: 'documents') + final List? documents}) + : _assignees = assignees, + _documents = documents; + + factory _$_WorkFlow.fromJson(Map json) => + _$$_WorkFlowFromJson(json); + + @override + @JsonKey(name: 'action') + final String? action; + @override + @JsonKey(name: 'comment') + final String? comment; + final List? _assignees; + @override + @JsonKey(name: 'assignees') + List? get assignees { + final value = _assignees; + if (value == null) return null; + if (_assignees is EqualUnmodifiableListView) return _assignees; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + final List? _documents; + @override + @JsonKey(name: 'documents') + List? get documents { + final value = _documents; + if (value == null) return null; + if (_documents is EqualUnmodifiableListView) return _documents; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'WorkFlow(action: $action, comment: $comment, assignees: $assignees, documents: $documents)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_WorkFlow && + (identical(other.action, action) || other.action == action) && + (identical(other.comment, comment) || other.comment == comment) && + const DeepCollectionEquality() + .equals(other._assignees, _assignees) && + const DeepCollectionEquality() + .equals(other._documents, _documents)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + action, + comment, + const DeepCollectionEquality().hash(_assignees), + const DeepCollectionEquality().hash(_documents)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_WorkFlowCopyWith<_$_WorkFlow> get copyWith => + __$$_WorkFlowCopyWithImpl<_$_WorkFlow>(this, _$identity); + + @override + Map toJson() { + return _$$_WorkFlowToJson( + this, + ); + } +} + +abstract class _WorkFlow implements WorkFlow { + const factory _WorkFlow( + {@JsonKey(name: 'action') + final String? action, + @JsonKey(name: 'comment') + final String? comment, + @JsonKey(name: 'assignees') + final List? assignees, + @JsonKey(name: 'documents') + final List? documents}) = _$_WorkFlow; + + factory _WorkFlow.fromJson(Map json) = _$_WorkFlow.fromJson; + + @override + @JsonKey(name: 'action') + String? get action; + @override + @JsonKey(name: 'comment') + String? get comment; + @override + @JsonKey(name: 'assignees') + List? get assignees; + @override + @JsonKey(name: 'documents') + List? get documents; + @override + @JsonKey(ignore: true) + _$$_WorkFlowCopyWith<_$_WorkFlow> get copyWith => + throw _privateConstructorUsedError; +} + +WorkFlowSupportDocument _$WorkFlowSupportDocumentFromJson( + Map json) { + return _WorkFlowSupportDocument.fromJson(json); +} + +/// @nodoc +mixin _$WorkFlowSupportDocument { + @JsonKey(name: 'documentType') + String? get documentType => throw _privateConstructorUsedError; + @JsonKey(name: 'documentUid') + String? get documentUid => throw _privateConstructorUsedError; + @JsonKey(name: 'fileName') + String? get fileName => throw _privateConstructorUsedError; + @JsonKey(name: 'fileStoreId') + String? get fileStoreId => throw _privateConstructorUsedError; + @JsonKey(name: 'tenantId') + String? get tenantId => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $WorkFlowSupportDocumentCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $WorkFlowSupportDocumentCopyWith<$Res> { + factory $WorkFlowSupportDocumentCopyWith(WorkFlowSupportDocument value, + $Res Function(WorkFlowSupportDocument) then) = + _$WorkFlowSupportDocumentCopyWithImpl<$Res, WorkFlowSupportDocument>; + @useResult + $Res call( + {@JsonKey(name: 'documentType') String? documentType, + @JsonKey(name: 'documentUid') String? documentUid, + @JsonKey(name: 'fileName') String? fileName, + @JsonKey(name: 'fileStoreId') String? fileStoreId, + @JsonKey(name: 'tenantId') String? tenantId}); +} + +/// @nodoc +class _$WorkFlowSupportDocumentCopyWithImpl<$Res, + $Val extends WorkFlowSupportDocument> + implements $WorkFlowSupportDocumentCopyWith<$Res> { + _$WorkFlowSupportDocumentCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? documentType = freezed, + Object? documentUid = freezed, + Object? fileName = freezed, + Object? fileStoreId = freezed, + Object? tenantId = freezed, + }) { + return _then(_value.copyWith( + documentType: freezed == documentType + ? _value.documentType + : documentType // ignore: cast_nullable_to_non_nullable + as String?, + documentUid: freezed == documentUid + ? _value.documentUid + : documentUid // ignore: cast_nullable_to_non_nullable + as String?, + fileName: freezed == fileName + ? _value.fileName + : fileName // ignore: cast_nullable_to_non_nullable + as String?, + fileStoreId: freezed == fileStoreId + ? _value.fileStoreId + : fileStoreId // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_WorkFlowSupportDocumentCopyWith<$Res> + implements $WorkFlowSupportDocumentCopyWith<$Res> { + factory _$$_WorkFlowSupportDocumentCopyWith(_$_WorkFlowSupportDocument value, + $Res Function(_$_WorkFlowSupportDocument) then) = + __$$_WorkFlowSupportDocumentCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'documentType') String? documentType, + @JsonKey(name: 'documentUid') String? documentUid, + @JsonKey(name: 'fileName') String? fileName, + @JsonKey(name: 'fileStoreId') String? fileStoreId, + @JsonKey(name: 'tenantId') String? tenantId}); +} + +/// @nodoc +class __$$_WorkFlowSupportDocumentCopyWithImpl<$Res> + extends _$WorkFlowSupportDocumentCopyWithImpl<$Res, + _$_WorkFlowSupportDocument> + implements _$$_WorkFlowSupportDocumentCopyWith<$Res> { + __$$_WorkFlowSupportDocumentCopyWithImpl(_$_WorkFlowSupportDocument _value, + $Res Function(_$_WorkFlowSupportDocument) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? documentType = freezed, + Object? documentUid = freezed, + Object? fileName = freezed, + Object? fileStoreId = freezed, + Object? tenantId = freezed, + }) { + return _then(_$_WorkFlowSupportDocument( + documentType: freezed == documentType + ? _value.documentType + : documentType // ignore: cast_nullable_to_non_nullable + as String?, + documentUid: freezed == documentUid + ? _value.documentUid + : documentUid // ignore: cast_nullable_to_non_nullable + as String?, + fileName: freezed == fileName + ? _value.fileName + : fileName // ignore: cast_nullable_to_non_nullable + as String?, + fileStoreId: freezed == fileStoreId + ? _value.fileStoreId + : fileStoreId // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_WorkFlowSupportDocument implements _WorkFlowSupportDocument { + const _$_WorkFlowSupportDocument( + {@JsonKey(name: 'documentType') this.documentType, + @JsonKey(name: 'documentUid') this.documentUid, + @JsonKey(name: 'fileName') this.fileName, + @JsonKey(name: 'fileStoreId') this.fileStoreId, + @JsonKey(name: 'tenantId') this.tenantId}); + + factory _$_WorkFlowSupportDocument.fromJson(Map json) => + _$$_WorkFlowSupportDocumentFromJson(json); + + @override + @JsonKey(name: 'documentType') + final String? documentType; + @override + @JsonKey(name: 'documentUid') + final String? documentUid; + @override + @JsonKey(name: 'fileName') + final String? fileName; + @override + @JsonKey(name: 'fileStoreId') + final String? fileStoreId; + @override + @JsonKey(name: 'tenantId') + final String? tenantId; + + @override + String toString() { + return 'WorkFlowSupportDocument(documentType: $documentType, documentUid: $documentUid, fileName: $fileName, fileStoreId: $fileStoreId, tenantId: $tenantId)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_WorkFlowSupportDocument && + (identical(other.documentType, documentType) || + other.documentType == documentType) && + (identical(other.documentUid, documentUid) || + other.documentUid == documentUid) && + (identical(other.fileName, fileName) || + other.fileName == fileName) && + (identical(other.fileStoreId, fileStoreId) || + other.fileStoreId == fileStoreId) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, documentType, documentUid, fileName, fileStoreId, tenantId); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_WorkFlowSupportDocumentCopyWith<_$_WorkFlowSupportDocument> + get copyWith => + __$$_WorkFlowSupportDocumentCopyWithImpl<_$_WorkFlowSupportDocument>( + this, _$identity); + + @override + Map toJson() { + return _$$_WorkFlowSupportDocumentToJson( + this, + ); + } +} + +abstract class _WorkFlowSupportDocument implements WorkFlowSupportDocument { + const factory _WorkFlowSupportDocument( + {@JsonKey(name: 'documentType') final String? documentType, + @JsonKey(name: 'documentUid') final String? documentUid, + @JsonKey(name: 'fileName') final String? fileName, + @JsonKey(name: 'fileStoreId') final String? fileStoreId, + @JsonKey(name: 'tenantId') final String? tenantId}) = + _$_WorkFlowSupportDocument; + + factory _WorkFlowSupportDocument.fromJson(Map json) = + _$_WorkFlowSupportDocument.fromJson; + + @override + @JsonKey(name: 'documentType') + String? get documentType; + @override + @JsonKey(name: 'documentUid') + String? get documentUid; + @override + @JsonKey(name: 'fileName') + String? get fileName; + @override + @JsonKey(name: 'fileStoreId') + String? get fileStoreId; + @override + @JsonKey(name: 'tenantId') + String? get tenantId; + @override + @JsonKey(ignore: true) + _$$_WorkFlowSupportDocumentCopyWith<_$_WorkFlowSupportDocument> + get copyWith => throw _privateConstructorUsedError; +} + +MusterRoll _$MusterRollFromJson(Map json) { + return _MusterRoll.fromJson(json); +} + +/// @nodoc +mixin _$MusterRoll { + @JsonKey(name: 'id') + String? get id => throw _privateConstructorUsedError; + @JsonKey(name: 'tenantId') + String? get tenantId => throw _privateConstructorUsedError; + @JsonKey(name: 'musterRollNumber') + dynamic get musterRollNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'registerId') + String? get registerId => throw _privateConstructorUsedError; + @JsonKey(name: 'status') + String? get status => throw _privateConstructorUsedError; + @JsonKey(name: 'musterRollStatus') + String? get musterRollStatus => throw _privateConstructorUsedError; + @JsonKey(name: 'startDate') + int? get startDate => throw _privateConstructorUsedError; + @JsonKey(name: 'endDate') + int? get endDate => throw _privateConstructorUsedError; + @JsonKey(name: 'referenceId') + String? get referenceId => throw _privateConstructorUsedError; + @JsonKey(name: 'serviceCode') + String? get serviceCode => throw _privateConstructorUsedError; + @JsonKey(name: 'auditDetails') + AuditDetails? get auditDetails => throw _privateConstructorUsedError; + @JsonKey(name: 'additionalDetails') + MusterRollAdditionalDetails? get additional => + throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $MusterRollCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MusterRollCopyWith<$Res> { + factory $MusterRollCopyWith( + MusterRoll value, $Res Function(MusterRoll) then) = + _$MusterRollCopyWithImpl<$Res, MusterRoll>; + @useResult + $Res call( + {@JsonKey(name: 'id') + String? id, + @JsonKey(name: 'tenantId') + String? tenantId, + @JsonKey(name: 'musterRollNumber') + dynamic musterRollNumber, + @JsonKey(name: 'registerId') + String? registerId, + @JsonKey(name: 'status') + String? status, + @JsonKey(name: 'musterRollStatus') + String? musterRollStatus, + @JsonKey(name: 'startDate') + int? startDate, + @JsonKey(name: 'endDate') + int? endDate, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'serviceCode') + String? serviceCode, + @JsonKey(name: 'auditDetails') + AuditDetails? auditDetails, + @JsonKey(name: 'additionalDetails') + MusterRollAdditionalDetails? additional}); + + $AuditDetailsCopyWith<$Res>? get auditDetails; + $MusterRollAdditionalDetailsCopyWith<$Res>? get additional; +} + +/// @nodoc +class _$MusterRollCopyWithImpl<$Res, $Val extends MusterRoll> + implements $MusterRollCopyWith<$Res> { + _$MusterRollCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? tenantId = freezed, + Object? musterRollNumber = freezed, + Object? registerId = freezed, + Object? status = freezed, + Object? musterRollStatus = freezed, + Object? startDate = freezed, + Object? endDate = freezed, + Object? referenceId = freezed, + Object? serviceCode = freezed, + Object? auditDetails = freezed, + Object? additional = freezed, + }) { + return _then(_value.copyWith( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + musterRollNumber: freezed == musterRollNumber + ? _value.musterRollNumber + : musterRollNumber // ignore: cast_nullable_to_non_nullable + as dynamic, + registerId: freezed == registerId + ? _value.registerId + : registerId // ignore: cast_nullable_to_non_nullable + as String?, + status: freezed == status + ? _value.status + : status // ignore: cast_nullable_to_non_nullable + as String?, + musterRollStatus: freezed == musterRollStatus + ? _value.musterRollStatus + : musterRollStatus // ignore: cast_nullable_to_non_nullable + as String?, + startDate: freezed == startDate + ? _value.startDate + : startDate // ignore: cast_nullable_to_non_nullable + as int?, + endDate: freezed == endDate + ? _value.endDate + : endDate // ignore: cast_nullable_to_non_nullable + as int?, + referenceId: freezed == referenceId + ? _value.referenceId + : referenceId // ignore: cast_nullable_to_non_nullable + as String?, + serviceCode: freezed == serviceCode + ? _value.serviceCode + : serviceCode // ignore: cast_nullable_to_non_nullable + as String?, + auditDetails: freezed == auditDetails + ? _value.auditDetails + : auditDetails // ignore: cast_nullable_to_non_nullable + as AuditDetails?, + additional: freezed == additional + ? _value.additional + : additional // ignore: cast_nullable_to_non_nullable + as MusterRollAdditionalDetails?, + ) as $Val); + } + + @override + @pragma('vm:prefer-inline') + $AuditDetailsCopyWith<$Res>? get auditDetails { + if (_value.auditDetails == null) { + return null; + } + + return $AuditDetailsCopyWith<$Res>(_value.auditDetails!, (value) { + return _then(_value.copyWith(auditDetails: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $MusterRollAdditionalDetailsCopyWith<$Res>? get additional { + if (_value.additional == null) { + return null; + } + + return $MusterRollAdditionalDetailsCopyWith<$Res>(_value.additional!, + (value) { + return _then(_value.copyWith(additional: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$_MusterRollCopyWith<$Res> + implements $MusterRollCopyWith<$Res> { + factory _$$_MusterRollCopyWith( + _$_MusterRoll value, $Res Function(_$_MusterRoll) then) = + __$$_MusterRollCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'id') + String? id, + @JsonKey(name: 'tenantId') + String? tenantId, + @JsonKey(name: 'musterRollNumber') + dynamic musterRollNumber, + @JsonKey(name: 'registerId') + String? registerId, + @JsonKey(name: 'status') + String? status, + @JsonKey(name: 'musterRollStatus') + String? musterRollStatus, + @JsonKey(name: 'startDate') + int? startDate, + @JsonKey(name: 'endDate') + int? endDate, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'serviceCode') + String? serviceCode, + @JsonKey(name: 'auditDetails') + AuditDetails? auditDetails, + @JsonKey(name: 'additionalDetails') + MusterRollAdditionalDetails? additional}); + + @override + $AuditDetailsCopyWith<$Res>? get auditDetails; + @override + $MusterRollAdditionalDetailsCopyWith<$Res>? get additional; +} + +/// @nodoc +class __$$_MusterRollCopyWithImpl<$Res> + extends _$MusterRollCopyWithImpl<$Res, _$_MusterRoll> + implements _$$_MusterRollCopyWith<$Res> { + __$$_MusterRollCopyWithImpl( + _$_MusterRoll _value, $Res Function(_$_MusterRoll) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? tenantId = freezed, + Object? musterRollNumber = freezed, + Object? registerId = freezed, + Object? status = freezed, + Object? musterRollStatus = freezed, + Object? startDate = freezed, + Object? endDate = freezed, + Object? referenceId = freezed, + Object? serviceCode = freezed, + Object? auditDetails = freezed, + Object? additional = freezed, + }) { + return _then(_$_MusterRoll( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + musterRollNumber: freezed == musterRollNumber + ? _value.musterRollNumber + : musterRollNumber // ignore: cast_nullable_to_non_nullable + as dynamic, + registerId: freezed == registerId + ? _value.registerId + : registerId // ignore: cast_nullable_to_non_nullable + as String?, + status: freezed == status + ? _value.status + : status // ignore: cast_nullable_to_non_nullable + as String?, + musterRollStatus: freezed == musterRollStatus + ? _value.musterRollStatus + : musterRollStatus // ignore: cast_nullable_to_non_nullable + as String?, + startDate: freezed == startDate + ? _value.startDate + : startDate // ignore: cast_nullable_to_non_nullable + as int?, + endDate: freezed == endDate + ? _value.endDate + : endDate // ignore: cast_nullable_to_non_nullable + as int?, + referenceId: freezed == referenceId + ? _value.referenceId + : referenceId // ignore: cast_nullable_to_non_nullable + as String?, + serviceCode: freezed == serviceCode + ? _value.serviceCode + : serviceCode // ignore: cast_nullable_to_non_nullable + as String?, + auditDetails: freezed == auditDetails + ? _value.auditDetails + : auditDetails // ignore: cast_nullable_to_non_nullable + as AuditDetails?, + additional: freezed == additional + ? _value.additional + : additional // ignore: cast_nullable_to_non_nullable + as MusterRollAdditionalDetails?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_MusterRoll implements _MusterRoll { + const _$_MusterRoll( + {@JsonKey(name: 'id') this.id, + @JsonKey(name: 'tenantId') this.tenantId, + @JsonKey(name: 'musterRollNumber') this.musterRollNumber, + @JsonKey(name: 'registerId') this.registerId, + @JsonKey(name: 'status') this.status, + @JsonKey(name: 'musterRollStatus') this.musterRollStatus, + @JsonKey(name: 'startDate') this.startDate, + @JsonKey(name: 'endDate') this.endDate, + @JsonKey(name: 'referenceId') this.referenceId, + @JsonKey(name: 'serviceCode') this.serviceCode, + @JsonKey(name: 'auditDetails') this.auditDetails, + @JsonKey(name: 'additionalDetails') this.additional}); + + factory _$_MusterRoll.fromJson(Map json) => + _$$_MusterRollFromJson(json); + + @override + @JsonKey(name: 'id') + final String? id; + @override + @JsonKey(name: 'tenantId') + final String? tenantId; + @override + @JsonKey(name: 'musterRollNumber') + final dynamic musterRollNumber; + @override + @JsonKey(name: 'registerId') + final String? registerId; + @override + @JsonKey(name: 'status') + final String? status; + @override + @JsonKey(name: 'musterRollStatus') + final String? musterRollStatus; + @override + @JsonKey(name: 'startDate') + final int? startDate; + @override + @JsonKey(name: 'endDate') + final int? endDate; + @override + @JsonKey(name: 'referenceId') + final String? referenceId; + @override + @JsonKey(name: 'serviceCode') + final String? serviceCode; + @override + @JsonKey(name: 'auditDetails') + final AuditDetails? auditDetails; + @override + @JsonKey(name: 'additionalDetails') + final MusterRollAdditionalDetails? additional; + + @override + String toString() { + return 'MusterRoll(id: $id, tenantId: $tenantId, musterRollNumber: $musterRollNumber, registerId: $registerId, status: $status, musterRollStatus: $musterRollStatus, startDate: $startDate, endDate: $endDate, referenceId: $referenceId, serviceCode: $serviceCode, auditDetails: $auditDetails, additional: $additional)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_MusterRoll && + (identical(other.id, id) || other.id == id) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + const DeepCollectionEquality() + .equals(other.musterRollNumber, musterRollNumber) && + (identical(other.registerId, registerId) || + other.registerId == registerId) && + (identical(other.status, status) || other.status == status) && + (identical(other.musterRollStatus, musterRollStatus) || + other.musterRollStatus == musterRollStatus) && + (identical(other.startDate, startDate) || + other.startDate == startDate) && + (identical(other.endDate, endDate) || other.endDate == endDate) && + (identical(other.referenceId, referenceId) || + other.referenceId == referenceId) && + (identical(other.serviceCode, serviceCode) || + other.serviceCode == serviceCode) && + (identical(other.auditDetails, auditDetails) || + other.auditDetails == auditDetails) && + (identical(other.additional, additional) || + other.additional == additional)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + id, + tenantId, + const DeepCollectionEquality().hash(musterRollNumber), + registerId, + status, + musterRollStatus, + startDate, + endDate, + referenceId, + serviceCode, + auditDetails, + additional); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_MusterRollCopyWith<_$_MusterRoll> get copyWith => + __$$_MusterRollCopyWithImpl<_$_MusterRoll>(this, _$identity); + + @override + Map toJson() { + return _$$_MusterRollToJson( + this, + ); + } +} + +abstract class _MusterRoll implements MusterRoll { + const factory _MusterRoll( + {@JsonKey(name: 'id') + final String? id, + @JsonKey(name: 'tenantId') + final String? tenantId, + @JsonKey(name: 'musterRollNumber') + final dynamic musterRollNumber, + @JsonKey(name: 'registerId') + final String? registerId, + @JsonKey(name: 'status') + final String? status, + @JsonKey(name: 'musterRollStatus') + final String? musterRollStatus, + @JsonKey(name: 'startDate') + final int? startDate, + @JsonKey(name: 'endDate') + final int? endDate, + @JsonKey(name: 'referenceId') + final String? referenceId, + @JsonKey(name: 'serviceCode') + final String? serviceCode, + @JsonKey(name: 'auditDetails') + final AuditDetails? auditDetails, + @JsonKey(name: 'additionalDetails') + final MusterRollAdditionalDetails? additional}) = _$_MusterRoll; + + factory _MusterRoll.fromJson(Map json) = + _$_MusterRoll.fromJson; + + @override + @JsonKey(name: 'id') + String? get id; + @override + @JsonKey(name: 'tenantId') + String? get tenantId; + @override + @JsonKey(name: 'musterRollNumber') + dynamic get musterRollNumber; + @override + @JsonKey(name: 'registerId') + String? get registerId; + @override + @JsonKey(name: 'status') + String? get status; + @override + @JsonKey(name: 'musterRollStatus') + String? get musterRollStatus; + @override + @JsonKey(name: 'startDate') + int? get startDate; + @override + @JsonKey(name: 'endDate') + int? get endDate; + @override + @JsonKey(name: 'referenceId') + String? get referenceId; + @override + @JsonKey(name: 'serviceCode') + String? get serviceCode; + @override + @JsonKey(name: 'auditDetails') + AuditDetails? get auditDetails; + @override + @JsonKey(name: 'additionalDetails') + MusterRollAdditionalDetails? get additional; + @override + @JsonKey(ignore: true) + _$$_MusterRollCopyWith<_$_MusterRoll> get copyWith => + throw _privateConstructorUsedError; +} + +MusterRollAdditionalDetails _$MusterRollAdditionalDetailsFromJson( + Map json) { + return _MusterRollAdditionalDetails.fromJson(json); +} + +/// @nodoc +mixin _$MusterRollAdditionalDetails { + @JsonKey(name: 'ward') + String? get ward => throw _privateConstructorUsedError; + @JsonKey(name: 'orgId') + String? get orgId => throw _privateConstructorUsedError; + @JsonKey(name: 'amount') + double? get amount => throw _privateConstructorUsedError; + @JsonKey(name: 'orgName') + String? get orgName => throw _privateConstructorUsedError; + @JsonKey(name: 'locality') + String? get locality => throw _privateConstructorUsedError; + @JsonKey(name: 'projectId') + String? get projectId => throw _privateConstructorUsedError; + @JsonKey(name: 'contractId') + String? get contractId => throw _privateConstructorUsedError; + @JsonKey(name: 'projectDesc') + String? get projectDesc => throw _privateConstructorUsedError; + @JsonKey(name: 'projectName') + String? get projectName => throw _privateConstructorUsedError; + @JsonKey(name: 'projectType') + String? get projectType => throw _privateConstructorUsedError; + @JsonKey(name: 'executingAuthority') + String? get executingAuthority => throw _privateConstructorUsedError; + @JsonKey(name: 'attendanceRegisterNo') + String? get attendanceRegisterNo => throw _privateConstructorUsedError; + @JsonKey(name: 'attendanceRegisterName') + String? get attendanceRegisterName => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $MusterRollAdditionalDetailsCopyWith + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MusterRollAdditionalDetailsCopyWith<$Res> { + factory $MusterRollAdditionalDetailsCopyWith( + MusterRollAdditionalDetails value, + $Res Function(MusterRollAdditionalDetails) then) = + _$MusterRollAdditionalDetailsCopyWithImpl<$Res, + MusterRollAdditionalDetails>; + @useResult + $Res call( + {@JsonKey(name: 'ward') String? ward, + @JsonKey(name: 'orgId') String? orgId, + @JsonKey(name: 'amount') double? amount, + @JsonKey(name: 'orgName') String? orgName, + @JsonKey(name: 'locality') String? locality, + @JsonKey(name: 'projectId') String? projectId, + @JsonKey(name: 'contractId') String? contractId, + @JsonKey(name: 'projectDesc') String? projectDesc, + @JsonKey(name: 'projectName') String? projectName, + @JsonKey(name: 'projectType') String? projectType, + @JsonKey(name: 'executingAuthority') String? executingAuthority, + @JsonKey(name: 'attendanceRegisterNo') String? attendanceRegisterNo, + @JsonKey(name: 'attendanceRegisterName') String? attendanceRegisterName}); +} + +/// @nodoc +class _$MusterRollAdditionalDetailsCopyWithImpl<$Res, + $Val extends MusterRollAdditionalDetails> + implements $MusterRollAdditionalDetailsCopyWith<$Res> { + _$MusterRollAdditionalDetailsCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? ward = freezed, + Object? orgId = freezed, + Object? amount = freezed, + Object? orgName = freezed, + Object? locality = freezed, + Object? projectId = freezed, + Object? contractId = freezed, + Object? projectDesc = freezed, + Object? projectName = freezed, + Object? projectType = freezed, + Object? executingAuthority = freezed, + Object? attendanceRegisterNo = freezed, + Object? attendanceRegisterName = freezed, + }) { + return _then(_value.copyWith( + ward: freezed == ward + ? _value.ward + : ward // ignore: cast_nullable_to_non_nullable + as String?, + orgId: freezed == orgId + ? _value.orgId + : orgId // ignore: cast_nullable_to_non_nullable + as String?, + amount: freezed == amount + ? _value.amount + : amount // ignore: cast_nullable_to_non_nullable + as double?, + orgName: freezed == orgName + ? _value.orgName + : orgName // ignore: cast_nullable_to_non_nullable + as String?, + locality: freezed == locality + ? _value.locality + : locality // ignore: cast_nullable_to_non_nullable + as String?, + projectId: freezed == projectId + ? _value.projectId + : projectId // ignore: cast_nullable_to_non_nullable + as String?, + contractId: freezed == contractId + ? _value.contractId + : contractId // ignore: cast_nullable_to_non_nullable + as String?, + projectDesc: freezed == projectDesc + ? _value.projectDesc + : projectDesc // ignore: cast_nullable_to_non_nullable + as String?, + projectName: freezed == projectName + ? _value.projectName + : projectName // ignore: cast_nullable_to_non_nullable + as String?, + projectType: freezed == projectType + ? _value.projectType + : projectType // ignore: cast_nullable_to_non_nullable + as String?, + executingAuthority: freezed == executingAuthority + ? _value.executingAuthority + : executingAuthority // ignore: cast_nullable_to_non_nullable + as String?, + attendanceRegisterNo: freezed == attendanceRegisterNo + ? _value.attendanceRegisterNo + : attendanceRegisterNo // ignore: cast_nullable_to_non_nullable + as String?, + attendanceRegisterName: freezed == attendanceRegisterName + ? _value.attendanceRegisterName + : attendanceRegisterName // ignore: cast_nullable_to_non_nullable + as String?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_MusterRollAdditionalDetailsCopyWith<$Res> + implements $MusterRollAdditionalDetailsCopyWith<$Res> { + factory _$$_MusterRollAdditionalDetailsCopyWith( + _$_MusterRollAdditionalDetails value, + $Res Function(_$_MusterRollAdditionalDetails) then) = + __$$_MusterRollAdditionalDetailsCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'ward') String? ward, + @JsonKey(name: 'orgId') String? orgId, + @JsonKey(name: 'amount') double? amount, + @JsonKey(name: 'orgName') String? orgName, + @JsonKey(name: 'locality') String? locality, + @JsonKey(name: 'projectId') String? projectId, + @JsonKey(name: 'contractId') String? contractId, + @JsonKey(name: 'projectDesc') String? projectDesc, + @JsonKey(name: 'projectName') String? projectName, + @JsonKey(name: 'projectType') String? projectType, + @JsonKey(name: 'executingAuthority') String? executingAuthority, + @JsonKey(name: 'attendanceRegisterNo') String? attendanceRegisterNo, + @JsonKey(name: 'attendanceRegisterName') String? attendanceRegisterName}); +} + +/// @nodoc +class __$$_MusterRollAdditionalDetailsCopyWithImpl<$Res> + extends _$MusterRollAdditionalDetailsCopyWithImpl<$Res, + _$_MusterRollAdditionalDetails> + implements _$$_MusterRollAdditionalDetailsCopyWith<$Res> { + __$$_MusterRollAdditionalDetailsCopyWithImpl( + _$_MusterRollAdditionalDetails _value, + $Res Function(_$_MusterRollAdditionalDetails) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? ward = freezed, + Object? orgId = freezed, + Object? amount = freezed, + Object? orgName = freezed, + Object? locality = freezed, + Object? projectId = freezed, + Object? contractId = freezed, + Object? projectDesc = freezed, + Object? projectName = freezed, + Object? projectType = freezed, + Object? executingAuthority = freezed, + Object? attendanceRegisterNo = freezed, + Object? attendanceRegisterName = freezed, + }) { + return _then(_$_MusterRollAdditionalDetails( + ward: freezed == ward + ? _value.ward + : ward // ignore: cast_nullable_to_non_nullable + as String?, + orgId: freezed == orgId + ? _value.orgId + : orgId // ignore: cast_nullable_to_non_nullable + as String?, + amount: freezed == amount + ? _value.amount + : amount // ignore: cast_nullable_to_non_nullable + as double?, + orgName: freezed == orgName + ? _value.orgName + : orgName // ignore: cast_nullable_to_non_nullable + as String?, + locality: freezed == locality + ? _value.locality + : locality // ignore: cast_nullable_to_non_nullable + as String?, + projectId: freezed == projectId + ? _value.projectId + : projectId // ignore: cast_nullable_to_non_nullable + as String?, + contractId: freezed == contractId + ? _value.contractId + : contractId // ignore: cast_nullable_to_non_nullable + as String?, + projectDesc: freezed == projectDesc + ? _value.projectDesc + : projectDesc // ignore: cast_nullable_to_non_nullable + as String?, + projectName: freezed == projectName + ? _value.projectName + : projectName // ignore: cast_nullable_to_non_nullable + as String?, + projectType: freezed == projectType + ? _value.projectType + : projectType // ignore: cast_nullable_to_non_nullable + as String?, + executingAuthority: freezed == executingAuthority + ? _value.executingAuthority + : executingAuthority // ignore: cast_nullable_to_non_nullable + as String?, + attendanceRegisterNo: freezed == attendanceRegisterNo + ? _value.attendanceRegisterNo + : attendanceRegisterNo // ignore: cast_nullable_to_non_nullable + as String?, + attendanceRegisterName: freezed == attendanceRegisterName + ? _value.attendanceRegisterName + : attendanceRegisterName // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_MusterRollAdditionalDetails implements _MusterRollAdditionalDetails { + const _$_MusterRollAdditionalDetails( + {@JsonKey(name: 'ward') this.ward, + @JsonKey(name: 'orgId') this.orgId, + @JsonKey(name: 'amount') this.amount, + @JsonKey(name: 'orgName') this.orgName, + @JsonKey(name: 'locality') this.locality, + @JsonKey(name: 'projectId') this.projectId, + @JsonKey(name: 'contractId') this.contractId, + @JsonKey(name: 'projectDesc') this.projectDesc, + @JsonKey(name: 'projectName') this.projectName, + @JsonKey(name: 'projectType') this.projectType, + @JsonKey(name: 'executingAuthority') this.executingAuthority, + @JsonKey(name: 'attendanceRegisterNo') this.attendanceRegisterNo, + @JsonKey(name: 'attendanceRegisterName') this.attendanceRegisterName}); + + factory _$_MusterRollAdditionalDetails.fromJson(Map json) => + _$$_MusterRollAdditionalDetailsFromJson(json); + + @override + @JsonKey(name: 'ward') + final String? ward; + @override + @JsonKey(name: 'orgId') + final String? orgId; + @override + @JsonKey(name: 'amount') + final double? amount; + @override + @JsonKey(name: 'orgName') + final String? orgName; + @override + @JsonKey(name: 'locality') + final String? locality; + @override + @JsonKey(name: 'projectId') + final String? projectId; + @override + @JsonKey(name: 'contractId') + final String? contractId; + @override + @JsonKey(name: 'projectDesc') + final String? projectDesc; + @override + @JsonKey(name: 'projectName') + final String? projectName; + @override + @JsonKey(name: 'projectType') + final String? projectType; + @override + @JsonKey(name: 'executingAuthority') + final String? executingAuthority; + @override + @JsonKey(name: 'attendanceRegisterNo') + final String? attendanceRegisterNo; + @override + @JsonKey(name: 'attendanceRegisterName') + final String? attendanceRegisterName; + + @override + String toString() { + return 'MusterRollAdditionalDetails(ward: $ward, orgId: $orgId, amount: $amount, orgName: $orgName, locality: $locality, projectId: $projectId, contractId: $contractId, projectDesc: $projectDesc, projectName: $projectName, projectType: $projectType, executingAuthority: $executingAuthority, attendanceRegisterNo: $attendanceRegisterNo, attendanceRegisterName: $attendanceRegisterName)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_MusterRollAdditionalDetails && + (identical(other.ward, ward) || other.ward == ward) && + (identical(other.orgId, orgId) || other.orgId == orgId) && + (identical(other.amount, amount) || other.amount == amount) && + (identical(other.orgName, orgName) || other.orgName == orgName) && + (identical(other.locality, locality) || + other.locality == locality) && + (identical(other.projectId, projectId) || + other.projectId == projectId) && + (identical(other.contractId, contractId) || + other.contractId == contractId) && + (identical(other.projectDesc, projectDesc) || + other.projectDesc == projectDesc) && + (identical(other.projectName, projectName) || + other.projectName == projectName) && + (identical(other.projectType, projectType) || + other.projectType == projectType) && + (identical(other.executingAuthority, executingAuthority) || + other.executingAuthority == executingAuthority) && + (identical(other.attendanceRegisterNo, attendanceRegisterNo) || + other.attendanceRegisterNo == attendanceRegisterNo) && + (identical(other.attendanceRegisterName, attendanceRegisterName) || + other.attendanceRegisterName == attendanceRegisterName)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + ward, + orgId, + amount, + orgName, + locality, + projectId, + contractId, + projectDesc, + projectName, + projectType, + executingAuthority, + attendanceRegisterNo, + attendanceRegisterName); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_MusterRollAdditionalDetailsCopyWith<_$_MusterRollAdditionalDetails> + get copyWith => __$$_MusterRollAdditionalDetailsCopyWithImpl< + _$_MusterRollAdditionalDetails>(this, _$identity); + + @override + Map toJson() { + return _$$_MusterRollAdditionalDetailsToJson( + this, + ); + } +} + +abstract class _MusterRollAdditionalDetails + implements MusterRollAdditionalDetails { + const factory _MusterRollAdditionalDetails( + {@JsonKey(name: 'ward') + final String? ward, + @JsonKey(name: 'orgId') + final String? orgId, + @JsonKey(name: 'amount') + final double? amount, + @JsonKey(name: 'orgName') + final String? orgName, + @JsonKey(name: 'locality') + final String? locality, + @JsonKey(name: 'projectId') + final String? projectId, + @JsonKey(name: 'contractId') + final String? contractId, + @JsonKey(name: 'projectDesc') + final String? projectDesc, + @JsonKey(name: 'projectName') + final String? projectName, + @JsonKey(name: 'projectType') + final String? projectType, + @JsonKey(name: 'executingAuthority') + final String? executingAuthority, + @JsonKey(name: 'attendanceRegisterNo') + final String? attendanceRegisterNo, + @JsonKey(name: 'attendanceRegisterName') + final String? attendanceRegisterName}) = + _$_MusterRollAdditionalDetails; + + factory _MusterRollAdditionalDetails.fromJson(Map json) = + _$_MusterRollAdditionalDetails.fromJson; + + @override + @JsonKey(name: 'ward') + String? get ward; + @override + @JsonKey(name: 'orgId') + String? get orgId; + @override + @JsonKey(name: 'amount') + double? get amount; + @override + @JsonKey(name: 'orgName') + String? get orgName; + @override + @JsonKey(name: 'locality') + String? get locality; + @override + @JsonKey(name: 'projectId') + String? get projectId; + @override + @JsonKey(name: 'contractId') + String? get contractId; + @override + @JsonKey(name: 'projectDesc') + String? get projectDesc; + @override + @JsonKey(name: 'projectName') + String? get projectName; + @override + @JsonKey(name: 'projectType') + String? get projectType; + @override + @JsonKey(name: 'executingAuthority') + String? get executingAuthority; + @override + @JsonKey(name: 'attendanceRegisterNo') + String? get attendanceRegisterNo; + @override + @JsonKey(name: 'attendanceRegisterName') + String? get attendanceRegisterName; + @override + @JsonKey(ignore: true) + _$$_MusterRollAdditionalDetailsCopyWith<_$_MusterRollAdditionalDetails> + get copyWith => throw _privateConstructorUsedError; +} + +Measurement _$MeasurementFromJson(Map json) { + return _Measurement.fromJson(json); +} + +/// @nodoc +mixin _$Measurement { + @JsonKey(name: 'id') + String? get id => throw _privateConstructorUsedError; + @JsonKey(name: 'tenantId') + String? get tenantId => throw _privateConstructorUsedError; + @JsonKey(name: 'measurementNumber') + String? get measurementNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'physicalRefNumber') + String? get physicalRefNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'referenceId') + String? get referenceId => throw _privateConstructorUsedError; + @JsonKey(name: 'entryDate') + int? get entryDate => throw _privateConstructorUsedError; + @JsonKey(name: 'isActive') + bool? get isActive => throw _privateConstructorUsedError; + @JsonKey(name: 'wfStatus') + String? get wfStatus => throw _privateConstructorUsedError; + @JsonKey(name: 'workflow') + WorkFlow? get workflow => throw _privateConstructorUsedError; + @JsonKey(name: 'auditDetails') + AuditDetails? get auditDetails => throw _privateConstructorUsedError; + @JsonKey(name: 'additionalDetails') + MeasurementAdditionalDetail? get additionalDetail => + throw _privateConstructorUsedError; + @JsonKey(name: 'measures') + List? get measures => throw _privateConstructorUsedError; + @JsonKey(name: 'documents') + List? get documents => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $MeasurementCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MeasurementCopyWith<$Res> { + factory $MeasurementCopyWith( + Measurement value, $Res Function(Measurement) then) = + _$MeasurementCopyWithImpl<$Res, Measurement>; + @useResult + $Res call( + {@JsonKey(name: 'id') + String? id, + @JsonKey(name: 'tenantId') + String? tenantId, + @JsonKey(name: 'measurementNumber') + String? measurementNumber, + @JsonKey(name: 'physicalRefNumber') + String? physicalRefNumber, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'entryDate') + int? entryDate, + @JsonKey(name: 'isActive') + bool? isActive, + @JsonKey(name: 'wfStatus') + String? wfStatus, + @JsonKey(name: 'workflow') + WorkFlow? workflow, + @JsonKey(name: 'auditDetails') + AuditDetails? auditDetails, + @JsonKey(name: 'additionalDetails') + MeasurementAdditionalDetail? additionalDetail, + @JsonKey(name: 'measures') + List? measures, + @JsonKey(name: 'documents') + List? documents}); + + $WorkFlowCopyWith<$Res>? get workflow; + $AuditDetailsCopyWith<$Res>? get auditDetails; + $MeasurementAdditionalDetailCopyWith<$Res>? get additionalDetail; +} + +/// @nodoc +class _$MeasurementCopyWithImpl<$Res, $Val extends Measurement> + implements $MeasurementCopyWith<$Res> { + _$MeasurementCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? tenantId = freezed, + Object? measurementNumber = freezed, + Object? physicalRefNumber = freezed, + Object? referenceId = freezed, + Object? entryDate = freezed, + Object? isActive = freezed, + Object? wfStatus = freezed, + Object? workflow = freezed, + Object? auditDetails = freezed, + Object? additionalDetail = freezed, + Object? measures = freezed, + Object? documents = freezed, + }) { + return _then(_value.copyWith( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + measurementNumber: freezed == measurementNumber + ? _value.measurementNumber + : measurementNumber // ignore: cast_nullable_to_non_nullable + as String?, + physicalRefNumber: freezed == physicalRefNumber + ? _value.physicalRefNumber + : physicalRefNumber // ignore: cast_nullable_to_non_nullable + as String?, + referenceId: freezed == referenceId + ? _value.referenceId + : referenceId // ignore: cast_nullable_to_non_nullable + as String?, + entryDate: freezed == entryDate + ? _value.entryDate + : entryDate // ignore: cast_nullable_to_non_nullable + as int?, + isActive: freezed == isActive + ? _value.isActive + : isActive // ignore: cast_nullable_to_non_nullable + as bool?, + wfStatus: freezed == wfStatus + ? _value.wfStatus + : wfStatus // ignore: cast_nullable_to_non_nullable + as String?, + workflow: freezed == workflow + ? _value.workflow + : workflow // ignore: cast_nullable_to_non_nullable + as WorkFlow?, + auditDetails: freezed == auditDetails + ? _value.auditDetails + : auditDetails // ignore: cast_nullable_to_non_nullable + as AuditDetails?, + additionalDetail: freezed == additionalDetail + ? _value.additionalDetail + : additionalDetail // ignore: cast_nullable_to_non_nullable + as MeasurementAdditionalDetail?, + measures: freezed == measures + ? _value.measures + : measures // ignore: cast_nullable_to_non_nullable + as List?, + documents: freezed == documents + ? _value.documents + : documents // ignore: cast_nullable_to_non_nullable + as List?, + ) as $Val); + } + + @override + @pragma('vm:prefer-inline') + $WorkFlowCopyWith<$Res>? get workflow { + if (_value.workflow == null) { + return null; + } + + return $WorkFlowCopyWith<$Res>(_value.workflow!, (value) { + return _then(_value.copyWith(workflow: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $AuditDetailsCopyWith<$Res>? get auditDetails { + if (_value.auditDetails == null) { + return null; + } + + return $AuditDetailsCopyWith<$Res>(_value.auditDetails!, (value) { + return _then(_value.copyWith(auditDetails: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $MeasurementAdditionalDetailCopyWith<$Res>? get additionalDetail { + if (_value.additionalDetail == null) { + return null; + } + + return $MeasurementAdditionalDetailCopyWith<$Res>(_value.additionalDetail!, + (value) { + return _then(_value.copyWith(additionalDetail: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$_MeasurementCopyWith<$Res> + implements $MeasurementCopyWith<$Res> { + factory _$$_MeasurementCopyWith( + _$_Measurement value, $Res Function(_$_Measurement) then) = + __$$_MeasurementCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'id') + String? id, + @JsonKey(name: 'tenantId') + String? tenantId, + @JsonKey(name: 'measurementNumber') + String? measurementNumber, + @JsonKey(name: 'physicalRefNumber') + String? physicalRefNumber, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'entryDate') + int? entryDate, + @JsonKey(name: 'isActive') + bool? isActive, + @JsonKey(name: 'wfStatus') + String? wfStatus, + @JsonKey(name: 'workflow') + WorkFlow? workflow, + @JsonKey(name: 'auditDetails') + AuditDetails? auditDetails, + @JsonKey(name: 'additionalDetails') + MeasurementAdditionalDetail? additionalDetail, + @JsonKey(name: 'measures') + List? measures, + @JsonKey(name: 'documents') + List? documents}); + + @override + $WorkFlowCopyWith<$Res>? get workflow; + @override + $AuditDetailsCopyWith<$Res>? get auditDetails; + @override + $MeasurementAdditionalDetailCopyWith<$Res>? get additionalDetail; +} + +/// @nodoc +class __$$_MeasurementCopyWithImpl<$Res> + extends _$MeasurementCopyWithImpl<$Res, _$_Measurement> + implements _$$_MeasurementCopyWith<$Res> { + __$$_MeasurementCopyWithImpl( + _$_Measurement _value, $Res Function(_$_Measurement) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? tenantId = freezed, + Object? measurementNumber = freezed, + Object? physicalRefNumber = freezed, + Object? referenceId = freezed, + Object? entryDate = freezed, + Object? isActive = freezed, + Object? wfStatus = freezed, + Object? workflow = freezed, + Object? auditDetails = freezed, + Object? additionalDetail = freezed, + Object? measures = freezed, + Object? documents = freezed, + }) { + return _then(_$_Measurement( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + measurementNumber: freezed == measurementNumber + ? _value.measurementNumber + : measurementNumber // ignore: cast_nullable_to_non_nullable + as String?, + physicalRefNumber: freezed == physicalRefNumber + ? _value.physicalRefNumber + : physicalRefNumber // ignore: cast_nullable_to_non_nullable + as String?, + referenceId: freezed == referenceId + ? _value.referenceId + : referenceId // ignore: cast_nullable_to_non_nullable + as String?, + entryDate: freezed == entryDate + ? _value.entryDate + : entryDate // ignore: cast_nullable_to_non_nullable + as int?, + isActive: freezed == isActive + ? _value.isActive + : isActive // ignore: cast_nullable_to_non_nullable + as bool?, + wfStatus: freezed == wfStatus + ? _value.wfStatus + : wfStatus // ignore: cast_nullable_to_non_nullable + as String?, + workflow: freezed == workflow + ? _value.workflow + : workflow // ignore: cast_nullable_to_non_nullable + as WorkFlow?, + auditDetails: freezed == auditDetails + ? _value.auditDetails + : auditDetails // ignore: cast_nullable_to_non_nullable + as AuditDetails?, + additionalDetail: freezed == additionalDetail + ? _value.additionalDetail + : additionalDetail // ignore: cast_nullable_to_non_nullable + as MeasurementAdditionalDetail?, + measures: freezed == measures + ? _value._measures + : measures // ignore: cast_nullable_to_non_nullable + as List?, + documents: freezed == documents + ? _value._documents + : documents // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_Measurement implements _Measurement { + const _$_Measurement( + {@JsonKey(name: 'id') this.id, + @JsonKey(name: 'tenantId') this.tenantId, + @JsonKey(name: 'measurementNumber') this.measurementNumber, + @JsonKey(name: 'physicalRefNumber') this.physicalRefNumber, + @JsonKey(name: 'referenceId') this.referenceId, + @JsonKey(name: 'entryDate') this.entryDate, + @JsonKey(name: 'isActive') this.isActive, + @JsonKey(name: 'wfStatus') this.wfStatus, + @JsonKey(name: 'workflow') this.workflow, + @JsonKey(name: 'auditDetails') this.auditDetails, + @JsonKey(name: 'additionalDetails') this.additionalDetail, + @JsonKey(name: 'measures') final List? measures, + @JsonKey(name: 'documents') final List? documents}) + : _measures = measures, + _documents = documents; + + factory _$_Measurement.fromJson(Map json) => + _$$_MeasurementFromJson(json); + + @override + @JsonKey(name: 'id') + final String? id; + @override + @JsonKey(name: 'tenantId') + final String? tenantId; + @override + @JsonKey(name: 'measurementNumber') + final String? measurementNumber; + @override + @JsonKey(name: 'physicalRefNumber') + final String? physicalRefNumber; + @override + @JsonKey(name: 'referenceId') + final String? referenceId; + @override + @JsonKey(name: 'entryDate') + final int? entryDate; + @override + @JsonKey(name: 'isActive') + final bool? isActive; + @override + @JsonKey(name: 'wfStatus') + final String? wfStatus; + @override + @JsonKey(name: 'workflow') + final WorkFlow? workflow; + @override + @JsonKey(name: 'auditDetails') + final AuditDetails? auditDetails; + @override + @JsonKey(name: 'additionalDetails') + final MeasurementAdditionalDetail? additionalDetail; + final List? _measures; + @override + @JsonKey(name: 'measures') + List? get measures { + final value = _measures; + if (value == null) return null; + if (_measures is EqualUnmodifiableListView) return _measures; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + final List? _documents; + @override + @JsonKey(name: 'documents') + List? get documents { + final value = _documents; + if (value == null) return null; + if (_documents is EqualUnmodifiableListView) return _documents; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'Measurement(id: $id, tenantId: $tenantId, measurementNumber: $measurementNumber, physicalRefNumber: $physicalRefNumber, referenceId: $referenceId, entryDate: $entryDate, isActive: $isActive, wfStatus: $wfStatus, workflow: $workflow, auditDetails: $auditDetails, additionalDetail: $additionalDetail, measures: $measures, documents: $documents)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Measurement && + (identical(other.id, id) || other.id == id) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.measurementNumber, measurementNumber) || + other.measurementNumber == measurementNumber) && + (identical(other.physicalRefNumber, physicalRefNumber) || + other.physicalRefNumber == physicalRefNumber) && + (identical(other.referenceId, referenceId) || + other.referenceId == referenceId) && + (identical(other.entryDate, entryDate) || + other.entryDate == entryDate) && + (identical(other.isActive, isActive) || + other.isActive == isActive) && + (identical(other.wfStatus, wfStatus) || + other.wfStatus == wfStatus) && + (identical(other.workflow, workflow) || + other.workflow == workflow) && + (identical(other.auditDetails, auditDetails) || + other.auditDetails == auditDetails) && + (identical(other.additionalDetail, additionalDetail) || + other.additionalDetail == additionalDetail) && + const DeepCollectionEquality().equals(other._measures, _measures) && + const DeepCollectionEquality() + .equals(other._documents, _documents)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + id, + tenantId, + measurementNumber, + physicalRefNumber, + referenceId, + entryDate, + isActive, + wfStatus, + workflow, + auditDetails, + additionalDetail, + const DeepCollectionEquality().hash(_measures), + const DeepCollectionEquality().hash(_documents)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_MeasurementCopyWith<_$_Measurement> get copyWith => + __$$_MeasurementCopyWithImpl<_$_Measurement>(this, _$identity); + + @override + Map toJson() { + return _$$_MeasurementToJson( + this, + ); + } +} + +abstract class _Measurement implements Measurement { + const factory _Measurement( + {@JsonKey(name: 'id') + final String? id, + @JsonKey(name: 'tenantId') + final String? tenantId, + @JsonKey(name: 'measurementNumber') + final String? measurementNumber, + @JsonKey(name: 'physicalRefNumber') + final String? physicalRefNumber, + @JsonKey(name: 'referenceId') + final String? referenceId, + @JsonKey(name: 'entryDate') + final int? entryDate, + @JsonKey(name: 'isActive') + final bool? isActive, + @JsonKey(name: 'wfStatus') + final String? wfStatus, + @JsonKey(name: 'workflow') + final WorkFlow? workflow, + @JsonKey(name: 'auditDetails') + final AuditDetails? auditDetails, + @JsonKey(name: 'additionalDetails') + final MeasurementAdditionalDetail? additionalDetail, + @JsonKey(name: 'measures') + final List? measures, + @JsonKey(name: 'documents') + final List? documents}) = _$_Measurement; + + factory _Measurement.fromJson(Map json) = + _$_Measurement.fromJson; + + @override + @JsonKey(name: 'id') + String? get id; + @override + @JsonKey(name: 'tenantId') + String? get tenantId; + @override + @JsonKey(name: 'measurementNumber') + String? get measurementNumber; + @override + @JsonKey(name: 'physicalRefNumber') + String? get physicalRefNumber; + @override + @JsonKey(name: 'referenceId') + String? get referenceId; + @override + @JsonKey(name: 'entryDate') + int? get entryDate; + @override + @JsonKey(name: 'isActive') + bool? get isActive; + @override + @JsonKey(name: 'wfStatus') + String? get wfStatus; + @override + @JsonKey(name: 'workflow') + WorkFlow? get workflow; + @override + @JsonKey(name: 'auditDetails') + AuditDetails? get auditDetails; + @override + @JsonKey(name: 'additionalDetails') + MeasurementAdditionalDetail? get additionalDetail; + @override + @JsonKey(name: 'measures') + List? get measures; + @override + @JsonKey(name: 'documents') + List? get documents; + @override + @JsonKey(ignore: true) + _$$_MeasurementCopyWith<_$_Measurement> get copyWith => + throw _privateConstructorUsedError; +} + +MeasurementAdditionalDetail _$MeasurementAdditionalDetailFromJson( + Map json) { + return _MeasurementAdditionalDetail.fromJson(json); +} + +/// @nodoc +mixin _$MeasurementAdditionalDetail { + @JsonKey(name: 'endDate') + int? get endDate => throw _privateConstructorUsedError; + @JsonKey(name: 'sorAmount') + double? get sorAmount => throw _privateConstructorUsedError; + @JsonKey(name: 'startDate') + int? get startDate => throw _privateConstructorUsedError; + @JsonKey(name: 'totalAmount') + double? get totalAmount => throw _privateConstructorUsedError; + @JsonKey(name: 'nonSorAmount') + double? get nonSorAmount => throw _privateConstructorUsedError; + @JsonKey(name: 'musterRollNumber') + dynamic get musterRollNumber => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $MeasurementAdditionalDetailCopyWith + get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MeasurementAdditionalDetailCopyWith<$Res> { + factory $MeasurementAdditionalDetailCopyWith( + MeasurementAdditionalDetail value, + $Res Function(MeasurementAdditionalDetail) then) = + _$MeasurementAdditionalDetailCopyWithImpl<$Res, + MeasurementAdditionalDetail>; + @useResult + $Res call( + {@JsonKey(name: 'endDate') int? endDate, + @JsonKey(name: 'sorAmount') double? sorAmount, + @JsonKey(name: 'startDate') int? startDate, + @JsonKey(name: 'totalAmount') double? totalAmount, + @JsonKey(name: 'nonSorAmount') double? nonSorAmount, + @JsonKey(name: 'musterRollNumber') dynamic musterRollNumber}); +} + +/// @nodoc +class _$MeasurementAdditionalDetailCopyWithImpl<$Res, + $Val extends MeasurementAdditionalDetail> + implements $MeasurementAdditionalDetailCopyWith<$Res> { + _$MeasurementAdditionalDetailCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? endDate = freezed, + Object? sorAmount = freezed, + Object? startDate = freezed, + Object? totalAmount = freezed, + Object? nonSorAmount = freezed, + Object? musterRollNumber = freezed, + }) { + return _then(_value.copyWith( + endDate: freezed == endDate + ? _value.endDate + : endDate // ignore: cast_nullable_to_non_nullable + as int?, + sorAmount: freezed == sorAmount + ? _value.sorAmount + : sorAmount // ignore: cast_nullable_to_non_nullable + as double?, + startDate: freezed == startDate + ? _value.startDate + : startDate // ignore: cast_nullable_to_non_nullable + as int?, + totalAmount: freezed == totalAmount + ? _value.totalAmount + : totalAmount // ignore: cast_nullable_to_non_nullable + as double?, + nonSorAmount: freezed == nonSorAmount + ? _value.nonSorAmount + : nonSorAmount // ignore: cast_nullable_to_non_nullable + as double?, + musterRollNumber: freezed == musterRollNumber + ? _value.musterRollNumber + : musterRollNumber // ignore: cast_nullable_to_non_nullable + as dynamic, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_MeasurementAdditionalDetailCopyWith<$Res> + implements $MeasurementAdditionalDetailCopyWith<$Res> { + factory _$$_MeasurementAdditionalDetailCopyWith( + _$_MeasurementAdditionalDetail value, + $Res Function(_$_MeasurementAdditionalDetail) then) = + __$$_MeasurementAdditionalDetailCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'endDate') int? endDate, + @JsonKey(name: 'sorAmount') double? sorAmount, + @JsonKey(name: 'startDate') int? startDate, + @JsonKey(name: 'totalAmount') double? totalAmount, + @JsonKey(name: 'nonSorAmount') double? nonSorAmount, + @JsonKey(name: 'musterRollNumber') dynamic musterRollNumber}); +} + +/// @nodoc +class __$$_MeasurementAdditionalDetailCopyWithImpl<$Res> + extends _$MeasurementAdditionalDetailCopyWithImpl<$Res, + _$_MeasurementAdditionalDetail> + implements _$$_MeasurementAdditionalDetailCopyWith<$Res> { + __$$_MeasurementAdditionalDetailCopyWithImpl( + _$_MeasurementAdditionalDetail _value, + $Res Function(_$_MeasurementAdditionalDetail) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? endDate = freezed, + Object? sorAmount = freezed, + Object? startDate = freezed, + Object? totalAmount = freezed, + Object? nonSorAmount = freezed, + Object? musterRollNumber = freezed, + }) { + return _then(_$_MeasurementAdditionalDetail( + endDate: freezed == endDate + ? _value.endDate + : endDate // ignore: cast_nullable_to_non_nullable + as int?, + sorAmount: freezed == sorAmount + ? _value.sorAmount + : sorAmount // ignore: cast_nullable_to_non_nullable + as double?, + startDate: freezed == startDate + ? _value.startDate + : startDate // ignore: cast_nullable_to_non_nullable + as int?, + totalAmount: freezed == totalAmount + ? _value.totalAmount + : totalAmount // ignore: cast_nullable_to_non_nullable + as double?, + nonSorAmount: freezed == nonSorAmount + ? _value.nonSorAmount + : nonSorAmount // ignore: cast_nullable_to_non_nullable + as double?, + musterRollNumber: freezed == musterRollNumber + ? _value.musterRollNumber + : musterRollNumber // ignore: cast_nullable_to_non_nullable + as dynamic, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_MeasurementAdditionalDetail implements _MeasurementAdditionalDetail { + const _$_MeasurementAdditionalDetail( + {@JsonKey(name: 'endDate') this.endDate, + @JsonKey(name: 'sorAmount') this.sorAmount, + @JsonKey(name: 'startDate') this.startDate, + @JsonKey(name: 'totalAmount') this.totalAmount, + @JsonKey(name: 'nonSorAmount') this.nonSorAmount, + @JsonKey(name: 'musterRollNumber') this.musterRollNumber}); + + factory _$_MeasurementAdditionalDetail.fromJson(Map json) => + _$$_MeasurementAdditionalDetailFromJson(json); + + @override + @JsonKey(name: 'endDate') + final int? endDate; + @override + @JsonKey(name: 'sorAmount') + final double? sorAmount; + @override + @JsonKey(name: 'startDate') + final int? startDate; + @override + @JsonKey(name: 'totalAmount') + final double? totalAmount; + @override + @JsonKey(name: 'nonSorAmount') + final double? nonSorAmount; + @override + @JsonKey(name: 'musterRollNumber') + final dynamic musterRollNumber; + + @override + String toString() { + return 'MeasurementAdditionalDetail(endDate: $endDate, sorAmount: $sorAmount, startDate: $startDate, totalAmount: $totalAmount, nonSorAmount: $nonSorAmount, musterRollNumber: $musterRollNumber)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_MeasurementAdditionalDetail && + (identical(other.endDate, endDate) || other.endDate == endDate) && + (identical(other.sorAmount, sorAmount) || + other.sorAmount == sorAmount) && + (identical(other.startDate, startDate) || + other.startDate == startDate) && + (identical(other.totalAmount, totalAmount) || + other.totalAmount == totalAmount) && + (identical(other.nonSorAmount, nonSorAmount) || + other.nonSorAmount == nonSorAmount) && + const DeepCollectionEquality() + .equals(other.musterRollNumber, musterRollNumber)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + endDate, + sorAmount, + startDate, + totalAmount, + nonSorAmount, + const DeepCollectionEquality().hash(musterRollNumber)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_MeasurementAdditionalDetailCopyWith<_$_MeasurementAdditionalDetail> + get copyWith => __$$_MeasurementAdditionalDetailCopyWithImpl< + _$_MeasurementAdditionalDetail>(this, _$identity); + + @override + Map toJson() { + return _$$_MeasurementAdditionalDetailToJson( + this, + ); + } +} + +abstract class _MeasurementAdditionalDetail + implements MeasurementAdditionalDetail { + const factory _MeasurementAdditionalDetail( + {@JsonKey(name: 'endDate') final int? endDate, + @JsonKey(name: 'sorAmount') final double? sorAmount, + @JsonKey(name: 'startDate') final int? startDate, + @JsonKey(name: 'totalAmount') final double? totalAmount, + @JsonKey(name: 'nonSorAmount') final double? nonSorAmount, + @JsonKey(name: 'musterRollNumber') final dynamic musterRollNumber}) = + _$_MeasurementAdditionalDetail; + + factory _MeasurementAdditionalDetail.fromJson(Map json) = + _$_MeasurementAdditionalDetail.fromJson; + + @override + @JsonKey(name: 'endDate') + int? get endDate; + @override + @JsonKey(name: 'sorAmount') + double? get sorAmount; + @override + @JsonKey(name: 'startDate') + int? get startDate; + @override + @JsonKey(name: 'totalAmount') + double? get totalAmount; + @override + @JsonKey(name: 'nonSorAmount') + double? get nonSorAmount; + @override + @JsonKey(name: 'musterRollNumber') + dynamic get musterRollNumber; + @override + @JsonKey(ignore: true) + _$$_MeasurementAdditionalDetailCopyWith<_$_MeasurementAdditionalDetail> + get copyWith => throw _privateConstructorUsedError; +} + +Period _$PeriodFromJson(Map json) { + return _Period.fromJson(json); +} + +/// @nodoc +mixin _$Period { + @JsonKey(name: 'startDate') + int? get startDate => throw _privateConstructorUsedError; + @JsonKey(name: 'endDate') + int? get endDate => throw _privateConstructorUsedError; + @JsonKey(name: 'message') + String? get message => throw _privateConstructorUsedError; + @JsonKey(name: 'type') + String? get type => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $PeriodCopyWith get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $PeriodCopyWith<$Res> { + factory $PeriodCopyWith(Period value, $Res Function(Period) then) = + _$PeriodCopyWithImpl<$Res, Period>; + @useResult + $Res call( + {@JsonKey(name: 'startDate') int? startDate, + @JsonKey(name: 'endDate') int? endDate, + @JsonKey(name: 'message') String? message, + @JsonKey(name: 'type') String? type}); +} + +/// @nodoc +class _$PeriodCopyWithImpl<$Res, $Val extends Period> + implements $PeriodCopyWith<$Res> { + _$PeriodCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? startDate = freezed, + Object? endDate = freezed, + Object? message = freezed, + Object? type = freezed, + }) { + return _then(_value.copyWith( + startDate: freezed == startDate + ? _value.startDate + : startDate // ignore: cast_nullable_to_non_nullable + as int?, + endDate: freezed == endDate + ? _value.endDate + : endDate // ignore: cast_nullable_to_non_nullable + as int?, + message: freezed == message + ? _value.message + : message // ignore: cast_nullable_to_non_nullable + as String?, + type: freezed == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_PeriodCopyWith<$Res> implements $PeriodCopyWith<$Res> { + factory _$$_PeriodCopyWith(_$_Period value, $Res Function(_$_Period) then) = + __$$_PeriodCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'startDate') int? startDate, + @JsonKey(name: 'endDate') int? endDate, + @JsonKey(name: 'message') String? message, + @JsonKey(name: 'type') String? type}); +} + +/// @nodoc +class __$$_PeriodCopyWithImpl<$Res> + extends _$PeriodCopyWithImpl<$Res, _$_Period> + implements _$$_PeriodCopyWith<$Res> { + __$$_PeriodCopyWithImpl(_$_Period _value, $Res Function(_$_Period) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? startDate = freezed, + Object? endDate = freezed, + Object? message = freezed, + Object? type = freezed, + }) { + return _then(_$_Period( + startDate: freezed == startDate + ? _value.startDate + : startDate // ignore: cast_nullable_to_non_nullable + as int?, + endDate: freezed == endDate + ? _value.endDate + : endDate // ignore: cast_nullable_to_non_nullable + as int?, + message: freezed == message + ? _value.message + : message // ignore: cast_nullable_to_non_nullable + as String?, + type: freezed == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_Period implements _Period { + const _$_Period( + {@JsonKey(name: 'startDate') this.startDate, + @JsonKey(name: 'endDate') this.endDate, + @JsonKey(name: 'message') this.message, + @JsonKey(name: 'type') this.type}); + + factory _$_Period.fromJson(Map json) => + _$$_PeriodFromJson(json); + + @override + @JsonKey(name: 'startDate') + final int? startDate; + @override + @JsonKey(name: 'endDate') + final int? endDate; + @override + @JsonKey(name: 'message') + final String? message; + @override + @JsonKey(name: 'type') + final String? type; + + @override + String toString() { + return 'Period(startDate: $startDate, endDate: $endDate, message: $message, type: $type)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Period && + (identical(other.startDate, startDate) || + other.startDate == startDate) && + (identical(other.endDate, endDate) || other.endDate == endDate) && + (identical(other.message, message) || other.message == message) && + (identical(other.type, type) || other.type == type)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => + Object.hash(runtimeType, startDate, endDate, message, type); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_PeriodCopyWith<_$_Period> get copyWith => + __$$_PeriodCopyWithImpl<_$_Period>(this, _$identity); + + @override + Map toJson() { + return _$$_PeriodToJson( + this, + ); + } +} + +abstract class _Period implements Period { + const factory _Period( + {@JsonKey(name: 'startDate') final int? startDate, + @JsonKey(name: 'endDate') final int? endDate, + @JsonKey(name: 'message') final String? message, + @JsonKey(name: 'type') final String? type}) = _$_Period; + + factory _Period.fromJson(Map json) = _$_Period.fromJson; + + @override + @JsonKey(name: 'startDate') + int? get startDate; + @override + @JsonKey(name: 'endDate') + int? get endDate; + @override + @JsonKey(name: 'message') + String? get message; + @override + @JsonKey(name: 'type') + String? get type; + @override + @JsonKey(ignore: true) + _$$_PeriodCopyWith<_$_Period> get copyWith => + throw _privateConstructorUsedError; +} + +Estimate _$EstimateFromJson(Map json) { + return _Estimate.fromJson(json); +} + +/// @nodoc +mixin _$Estimate { + @JsonKey(name: 'id') + String? get id => throw _privateConstructorUsedError; + @JsonKey(name: 'tenantId') + String? get tenantId => throw _privateConstructorUsedError; + @JsonKey(name: 'estimateNumber') + String? get estimateNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'revisionNumber') + String? get revisionNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'businessService') + String? get businessService => throw _privateConstructorUsedError; + @JsonKey(name: 'oldUuid') + String? get oldUuid => throw _privateConstructorUsedError; + @JsonKey(name: 'projectId') + String? get projectId => throw _privateConstructorUsedError; + @JsonKey(name: 'versionNumber') + int? get versionNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'proposalDate') + int? get proposalDate => throw _privateConstructorUsedError; + @JsonKey(name: 'status') + String? get status => throw _privateConstructorUsedError; + @JsonKey(name: 'wfStatus') + String? get wfStatus => throw _privateConstructorUsedError; + @JsonKey(name: 'name') + String? get name => throw _privateConstructorUsedError; + @JsonKey(name: 'referenceNumber') + String? get referenceNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'description') + String? get description => throw _privateConstructorUsedError; + @JsonKey(name: 'executingDepartment') + String? get executingDepartment => throw _privateConstructorUsedError; + @JsonKey(name: 'address') + EstimateAddress? get address => throw _privateConstructorUsedError; + @JsonKey(name: 'estimateDetails') + List? get estimateDetails => + throw _privateConstructorUsedError; + @JsonKey(name: 'auditDetails') + AuditDetails? get auditDetails => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $EstimateCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $EstimateCopyWith<$Res> { + factory $EstimateCopyWith(Estimate value, $Res Function(Estimate) then) = + _$EstimateCopyWithImpl<$Res, Estimate>; + @useResult + $Res call( + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'estimateNumber') String? estimateNumber, + @JsonKey(name: 'revisionNumber') String? revisionNumber, + @JsonKey(name: 'businessService') String? businessService, + @JsonKey(name: 'oldUuid') String? oldUuid, + @JsonKey(name: 'projectId') String? projectId, + @JsonKey(name: 'versionNumber') int? versionNumber, + @JsonKey(name: 'proposalDate') int? proposalDate, + @JsonKey(name: 'status') String? status, + @JsonKey(name: 'wfStatus') String? wfStatus, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'referenceNumber') String? referenceNumber, + @JsonKey(name: 'description') String? description, + @JsonKey(name: 'executingDepartment') String? executingDepartment, + @JsonKey(name: 'address') EstimateAddress? address, + @JsonKey(name: 'estimateDetails') List? estimateDetails, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails}); + + $EstimateAddressCopyWith<$Res>? get address; + $AuditDetailsCopyWith<$Res>? get auditDetails; +} + +/// @nodoc +class _$EstimateCopyWithImpl<$Res, $Val extends Estimate> + implements $EstimateCopyWith<$Res> { + _$EstimateCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? tenantId = freezed, + Object? estimateNumber = freezed, + Object? revisionNumber = freezed, + Object? businessService = freezed, + Object? oldUuid = freezed, + Object? projectId = freezed, + Object? versionNumber = freezed, + Object? proposalDate = freezed, + Object? status = freezed, + Object? wfStatus = freezed, + Object? name = freezed, + Object? referenceNumber = freezed, + Object? description = freezed, + Object? executingDepartment = freezed, + Object? address = freezed, + Object? estimateDetails = freezed, + Object? auditDetails = freezed, + }) { + return _then(_value.copyWith( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + estimateNumber: freezed == estimateNumber + ? _value.estimateNumber + : estimateNumber // ignore: cast_nullable_to_non_nullable + as String?, + revisionNumber: freezed == revisionNumber + ? _value.revisionNumber + : revisionNumber // ignore: cast_nullable_to_non_nullable + as String?, + businessService: freezed == businessService + ? _value.businessService + : businessService // ignore: cast_nullable_to_non_nullable + as String?, + oldUuid: freezed == oldUuid + ? _value.oldUuid + : oldUuid // ignore: cast_nullable_to_non_nullable + as String?, + projectId: freezed == projectId + ? _value.projectId + : projectId // ignore: cast_nullable_to_non_nullable + as String?, + versionNumber: freezed == versionNumber + ? _value.versionNumber + : versionNumber // ignore: cast_nullable_to_non_nullable + as int?, + proposalDate: freezed == proposalDate + ? _value.proposalDate + : proposalDate // ignore: cast_nullable_to_non_nullable + as int?, + status: freezed == status + ? _value.status + : status // ignore: cast_nullable_to_non_nullable + as String?, + wfStatus: freezed == wfStatus + ? _value.wfStatus + : wfStatus // ignore: cast_nullable_to_non_nullable + as String?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + referenceNumber: freezed == referenceNumber + ? _value.referenceNumber + : referenceNumber // ignore: cast_nullable_to_non_nullable + as String?, + description: freezed == description + ? _value.description + : description // ignore: cast_nullable_to_non_nullable + as String?, + executingDepartment: freezed == executingDepartment + ? _value.executingDepartment + : executingDepartment // ignore: cast_nullable_to_non_nullable + as String?, + address: freezed == address + ? _value.address + : address // ignore: cast_nullable_to_non_nullable + as EstimateAddress?, + estimateDetails: freezed == estimateDetails + ? _value.estimateDetails + : estimateDetails // ignore: cast_nullable_to_non_nullable + as List?, + auditDetails: freezed == auditDetails + ? _value.auditDetails + : auditDetails // ignore: cast_nullable_to_non_nullable + as AuditDetails?, + ) as $Val); + } + + @override + @pragma('vm:prefer-inline') + $EstimateAddressCopyWith<$Res>? get address { + if (_value.address == null) { + return null; + } + + return $EstimateAddressCopyWith<$Res>(_value.address!, (value) { + return _then(_value.copyWith(address: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $AuditDetailsCopyWith<$Res>? get auditDetails { + if (_value.auditDetails == null) { + return null; + } + + return $AuditDetailsCopyWith<$Res>(_value.auditDetails!, (value) { + return _then(_value.copyWith(auditDetails: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$_EstimateCopyWith<$Res> implements $EstimateCopyWith<$Res> { + factory _$$_EstimateCopyWith( + _$_Estimate value, $Res Function(_$_Estimate) then) = + __$$_EstimateCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'estimateNumber') String? estimateNumber, + @JsonKey(name: 'revisionNumber') String? revisionNumber, + @JsonKey(name: 'businessService') String? businessService, + @JsonKey(name: 'oldUuid') String? oldUuid, + @JsonKey(name: 'projectId') String? projectId, + @JsonKey(name: 'versionNumber') int? versionNumber, + @JsonKey(name: 'proposalDate') int? proposalDate, + @JsonKey(name: 'status') String? status, + @JsonKey(name: 'wfStatus') String? wfStatus, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'referenceNumber') String? referenceNumber, + @JsonKey(name: 'description') String? description, + @JsonKey(name: 'executingDepartment') String? executingDepartment, + @JsonKey(name: 'address') EstimateAddress? address, + @JsonKey(name: 'estimateDetails') List? estimateDetails, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails}); + + @override + $EstimateAddressCopyWith<$Res>? get address; + @override + $AuditDetailsCopyWith<$Res>? get auditDetails; +} + +/// @nodoc +class __$$_EstimateCopyWithImpl<$Res> + extends _$EstimateCopyWithImpl<$Res, _$_Estimate> + implements _$$_EstimateCopyWith<$Res> { + __$$_EstimateCopyWithImpl( + _$_Estimate _value, $Res Function(_$_Estimate) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? tenantId = freezed, + Object? estimateNumber = freezed, + Object? revisionNumber = freezed, + Object? businessService = freezed, + Object? oldUuid = freezed, + Object? projectId = freezed, + Object? versionNumber = freezed, + Object? proposalDate = freezed, + Object? status = freezed, + Object? wfStatus = freezed, + Object? name = freezed, + Object? referenceNumber = freezed, + Object? description = freezed, + Object? executingDepartment = freezed, + Object? address = freezed, + Object? estimateDetails = freezed, + Object? auditDetails = freezed, + }) { + return _then(_$_Estimate( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + estimateNumber: freezed == estimateNumber + ? _value.estimateNumber + : estimateNumber // ignore: cast_nullable_to_non_nullable + as String?, + revisionNumber: freezed == revisionNumber + ? _value.revisionNumber + : revisionNumber // ignore: cast_nullable_to_non_nullable + as String?, + businessService: freezed == businessService + ? _value.businessService + : businessService // ignore: cast_nullable_to_non_nullable + as String?, + oldUuid: freezed == oldUuid + ? _value.oldUuid + : oldUuid // ignore: cast_nullable_to_non_nullable + as String?, + projectId: freezed == projectId + ? _value.projectId + : projectId // ignore: cast_nullable_to_non_nullable + as String?, + versionNumber: freezed == versionNumber + ? _value.versionNumber + : versionNumber // ignore: cast_nullable_to_non_nullable + as int?, + proposalDate: freezed == proposalDate + ? _value.proposalDate + : proposalDate // ignore: cast_nullable_to_non_nullable + as int?, + status: freezed == status + ? _value.status + : status // ignore: cast_nullable_to_non_nullable + as String?, + wfStatus: freezed == wfStatus + ? _value.wfStatus + : wfStatus // ignore: cast_nullable_to_non_nullable + as String?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + referenceNumber: freezed == referenceNumber + ? _value.referenceNumber + : referenceNumber // ignore: cast_nullable_to_non_nullable + as String?, + description: freezed == description + ? _value.description + : description // ignore: cast_nullable_to_non_nullable + as String?, + executingDepartment: freezed == executingDepartment + ? _value.executingDepartment + : executingDepartment // ignore: cast_nullable_to_non_nullable + as String?, + address: freezed == address + ? _value.address + : address // ignore: cast_nullable_to_non_nullable + as EstimateAddress?, + estimateDetails: freezed == estimateDetails + ? _value._estimateDetails + : estimateDetails // ignore: cast_nullable_to_non_nullable + as List?, + auditDetails: freezed == auditDetails + ? _value.auditDetails + : auditDetails // ignore: cast_nullable_to_non_nullable + as AuditDetails?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_Estimate implements _Estimate { + const _$_Estimate( + {@JsonKey(name: 'id') + this.id, + @JsonKey(name: 'tenantId') + this.tenantId, + @JsonKey(name: 'estimateNumber') + this.estimateNumber, + @JsonKey(name: 'revisionNumber') + this.revisionNumber, + @JsonKey(name: 'businessService') + this.businessService, + @JsonKey(name: 'oldUuid') + this.oldUuid, + @JsonKey(name: 'projectId') + this.projectId, + @JsonKey(name: 'versionNumber') + this.versionNumber, + @JsonKey(name: 'proposalDate') + this.proposalDate, + @JsonKey(name: 'status') + this.status, + @JsonKey(name: 'wfStatus') + this.wfStatus, + @JsonKey(name: 'name') + this.name, + @JsonKey(name: 'referenceNumber') + this.referenceNumber, + @JsonKey(name: 'description') + this.description, + @JsonKey(name: 'executingDepartment') + this.executingDepartment, + @JsonKey(name: 'address') + this.address, + @JsonKey(name: 'estimateDetails') + final List? estimateDetails, + @JsonKey(name: 'auditDetails') + this.auditDetails}) + : _estimateDetails = estimateDetails; + + factory _$_Estimate.fromJson(Map json) => + _$$_EstimateFromJson(json); + + @override + @JsonKey(name: 'id') + final String? id; + @override + @JsonKey(name: 'tenantId') + final String? tenantId; + @override + @JsonKey(name: 'estimateNumber') + final String? estimateNumber; + @override + @JsonKey(name: 'revisionNumber') + final String? revisionNumber; + @override + @JsonKey(name: 'businessService') + final String? businessService; + @override + @JsonKey(name: 'oldUuid') + final String? oldUuid; + @override + @JsonKey(name: 'projectId') + final String? projectId; + @override + @JsonKey(name: 'versionNumber') + final int? versionNumber; + @override + @JsonKey(name: 'proposalDate') + final int? proposalDate; + @override + @JsonKey(name: 'status') + final String? status; + @override + @JsonKey(name: 'wfStatus') + final String? wfStatus; + @override + @JsonKey(name: 'name') + final String? name; + @override + @JsonKey(name: 'referenceNumber') + final String? referenceNumber; + @override + @JsonKey(name: 'description') + final String? description; + @override + @JsonKey(name: 'executingDepartment') + final String? executingDepartment; + @override + @JsonKey(name: 'address') + final EstimateAddress? address; + final List? _estimateDetails; + @override + @JsonKey(name: 'estimateDetails') + List? get estimateDetails { + final value = _estimateDetails; + if (value == null) return null; + if (_estimateDetails is EqualUnmodifiableListView) return _estimateDetails; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + @JsonKey(name: 'auditDetails') + final AuditDetails? auditDetails; + + @override + String toString() { + return 'Estimate(id: $id, tenantId: $tenantId, estimateNumber: $estimateNumber, revisionNumber: $revisionNumber, businessService: $businessService, oldUuid: $oldUuid, projectId: $projectId, versionNumber: $versionNumber, proposalDate: $proposalDate, status: $status, wfStatus: $wfStatus, name: $name, referenceNumber: $referenceNumber, description: $description, executingDepartment: $executingDepartment, address: $address, estimateDetails: $estimateDetails, auditDetails: $auditDetails)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Estimate && + (identical(other.id, id) || other.id == id) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.estimateNumber, estimateNumber) || + other.estimateNumber == estimateNumber) && + (identical(other.revisionNumber, revisionNumber) || + other.revisionNumber == revisionNumber) && + (identical(other.businessService, businessService) || + other.businessService == businessService) && + (identical(other.oldUuid, oldUuid) || other.oldUuid == oldUuid) && + (identical(other.projectId, projectId) || + other.projectId == projectId) && + (identical(other.versionNumber, versionNumber) || + other.versionNumber == versionNumber) && + (identical(other.proposalDate, proposalDate) || + other.proposalDate == proposalDate) && + (identical(other.status, status) || other.status == status) && + (identical(other.wfStatus, wfStatus) || + other.wfStatus == wfStatus) && + (identical(other.name, name) || other.name == name) && + (identical(other.referenceNumber, referenceNumber) || + other.referenceNumber == referenceNumber) && + (identical(other.description, description) || + other.description == description) && + (identical(other.executingDepartment, executingDepartment) || + other.executingDepartment == executingDepartment) && + (identical(other.address, address) || other.address == address) && + const DeepCollectionEquality() + .equals(other._estimateDetails, _estimateDetails) && + (identical(other.auditDetails, auditDetails) || + other.auditDetails == auditDetails)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + id, + tenantId, + estimateNumber, + revisionNumber, + businessService, + oldUuid, + projectId, + versionNumber, + proposalDate, + status, + wfStatus, + name, + referenceNumber, + description, + executingDepartment, + address, + const DeepCollectionEquality().hash(_estimateDetails), + auditDetails); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_EstimateCopyWith<_$_Estimate> get copyWith => + __$$_EstimateCopyWithImpl<_$_Estimate>(this, _$identity); + + @override + Map toJson() { + return _$$_EstimateToJson( + this, + ); + } +} + +abstract class _Estimate implements Estimate { + const factory _Estimate( + {@JsonKey(name: 'id') + final String? id, + @JsonKey(name: 'tenantId') + final String? tenantId, + @JsonKey(name: 'estimateNumber') + final String? estimateNumber, + @JsonKey(name: 'revisionNumber') + final String? revisionNumber, + @JsonKey(name: 'businessService') + final String? businessService, + @JsonKey(name: 'oldUuid') + final String? oldUuid, + @JsonKey(name: 'projectId') + final String? projectId, + @JsonKey(name: 'versionNumber') + final int? versionNumber, + @JsonKey(name: 'proposalDate') + final int? proposalDate, + @JsonKey(name: 'status') + final String? status, + @JsonKey(name: 'wfStatus') + final String? wfStatus, + @JsonKey(name: 'name') + final String? name, + @JsonKey(name: 'referenceNumber') + final String? referenceNumber, + @JsonKey(name: 'description') + final String? description, + @JsonKey(name: 'executingDepartment') + final String? executingDepartment, + @JsonKey(name: 'address') + final EstimateAddress? address, + @JsonKey(name: 'estimateDetails') + final List? estimateDetails, + @JsonKey(name: 'auditDetails') + final AuditDetails? auditDetails}) = _$_Estimate; + + factory _Estimate.fromJson(Map json) = _$_Estimate.fromJson; + + @override + @JsonKey(name: 'id') + String? get id; + @override + @JsonKey(name: 'tenantId') + String? get tenantId; + @override + @JsonKey(name: 'estimateNumber') + String? get estimateNumber; + @override + @JsonKey(name: 'revisionNumber') + String? get revisionNumber; + @override + @JsonKey(name: 'businessService') + String? get businessService; + @override + @JsonKey(name: 'oldUuid') + String? get oldUuid; + @override + @JsonKey(name: 'projectId') + String? get projectId; + @override + @JsonKey(name: 'versionNumber') + int? get versionNumber; + @override + @JsonKey(name: 'proposalDate') + int? get proposalDate; + @override + @JsonKey(name: 'status') + String? get status; + @override + @JsonKey(name: 'wfStatus') + String? get wfStatus; + @override + @JsonKey(name: 'name') + String? get name; + @override + @JsonKey(name: 'referenceNumber') + String? get referenceNumber; + @override + @JsonKey(name: 'description') + String? get description; + @override + @JsonKey(name: 'executingDepartment') + String? get executingDepartment; + @override + @JsonKey(name: 'address') + EstimateAddress? get address; + @override + @JsonKey(name: 'estimateDetails') + List? get estimateDetails; + @override + @JsonKey(name: 'auditDetails') + AuditDetails? get auditDetails; + @override + @JsonKey(ignore: true) + _$$_EstimateCopyWith<_$_Estimate> get copyWith => + throw _privateConstructorUsedError; +} + +EstimateDetail _$EstimateDetailFromJson(Map json) { + return _EstimateDetail.fromJson(json); +} + +/// @nodoc +mixin _$EstimateDetail { + @JsonKey(name: 'id') + String? get id => throw _privateConstructorUsedError; + @JsonKey(name: 'previousLineItemId') + String? get previousLineItemId => throw _privateConstructorUsedError; + @JsonKey(name: 'sorId') + String? get sorId => throw _privateConstructorUsedError; + @JsonKey(name: 'category') + String? get category => throw _privateConstructorUsedError; + @JsonKey(name: 'name') + String? get name => throw _privateConstructorUsedError; + @JsonKey(name: 'description') + String? get description => throw _privateConstructorUsedError; + @JsonKey(name: 'unitRate') + double? get unitRate => throw _privateConstructorUsedError; + @JsonKey(name: 'noOfunit') + num? get noOfunit => throw _privateConstructorUsedError; + @JsonKey(name: 'uom') + String? get uom => throw _privateConstructorUsedError; + @JsonKey(name: 'uomValue') + double? get uomValue => throw _privateConstructorUsedError; + @JsonKey(name: 'length') + num? get length => throw _privateConstructorUsedError; + @JsonKey(name: 'width') + num? get width => throw _privateConstructorUsedError; + @JsonKey(name: 'height') + num? get height => throw _privateConstructorUsedError; + @JsonKey(name: 'quantity') + num? get quantity => throw _privateConstructorUsedError; + @JsonKey(name: 'isDeduction') + bool? get isDeduction => throw _privateConstructorUsedError; + @JsonKey(name: 'isActive') + bool? get isActive => throw _privateConstructorUsedError; + @JsonKey(name: 'amountDetail') + List? get amountDetails => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $EstimateDetailCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $EstimateDetailCopyWith<$Res> { + factory $EstimateDetailCopyWith( + EstimateDetail value, $Res Function(EstimateDetail) then) = + _$EstimateDetailCopyWithImpl<$Res, EstimateDetail>; + @useResult + $Res call( + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'previousLineItemId') String? previousLineItemId, + @JsonKey(name: 'sorId') String? sorId, + @JsonKey(name: 'category') String? category, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'description') String? description, + @JsonKey(name: 'unitRate') double? unitRate, + @JsonKey(name: 'noOfunit') num? noOfunit, + @JsonKey(name: 'uom') String? uom, + @JsonKey(name: 'uomValue') double? uomValue, + @JsonKey(name: 'length') num? length, + @JsonKey(name: 'width') num? width, + @JsonKey(name: 'height') num? height, + @JsonKey(name: 'quantity') num? quantity, + @JsonKey(name: 'isDeduction') bool? isDeduction, + @JsonKey(name: 'isActive') bool? isActive, + @JsonKey(name: 'amountDetail') List? amountDetails}); +} + +/// @nodoc +class _$EstimateDetailCopyWithImpl<$Res, $Val extends EstimateDetail> + implements $EstimateDetailCopyWith<$Res> { + _$EstimateDetailCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? previousLineItemId = freezed, + Object? sorId = freezed, + Object? category = freezed, + Object? name = freezed, + Object? description = freezed, + Object? unitRate = freezed, + Object? noOfunit = freezed, + Object? uom = freezed, + Object? uomValue = freezed, + Object? length = freezed, + Object? width = freezed, + Object? height = freezed, + Object? quantity = freezed, + Object? isDeduction = freezed, + Object? isActive = freezed, + Object? amountDetails = freezed, + }) { + return _then(_value.copyWith( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + previousLineItemId: freezed == previousLineItemId + ? _value.previousLineItemId + : previousLineItemId // ignore: cast_nullable_to_non_nullable + as String?, + sorId: freezed == sorId + ? _value.sorId + : sorId // ignore: cast_nullable_to_non_nullable + as String?, + category: freezed == category + ? _value.category + : category // ignore: cast_nullable_to_non_nullable + as String?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + description: freezed == description + ? _value.description + : description // ignore: cast_nullable_to_non_nullable + as String?, + unitRate: freezed == unitRate + ? _value.unitRate + : unitRate // ignore: cast_nullable_to_non_nullable + as double?, + noOfunit: freezed == noOfunit + ? _value.noOfunit + : noOfunit // ignore: cast_nullable_to_non_nullable + as num?, + uom: freezed == uom + ? _value.uom + : uom // ignore: cast_nullable_to_non_nullable + as String?, + uomValue: freezed == uomValue + ? _value.uomValue + : uomValue // ignore: cast_nullable_to_non_nullable + as double?, + length: freezed == length + ? _value.length + : length // ignore: cast_nullable_to_non_nullable + as num?, + width: freezed == width + ? _value.width + : width // ignore: cast_nullable_to_non_nullable + as num?, + height: freezed == height + ? _value.height + : height // ignore: cast_nullable_to_non_nullable + as num?, + quantity: freezed == quantity + ? _value.quantity + : quantity // ignore: cast_nullable_to_non_nullable + as num?, + isDeduction: freezed == isDeduction + ? _value.isDeduction + : isDeduction // ignore: cast_nullable_to_non_nullable + as bool?, + isActive: freezed == isActive + ? _value.isActive + : isActive // ignore: cast_nullable_to_non_nullable + as bool?, + amountDetails: freezed == amountDetails + ? _value.amountDetails + : amountDetails // ignore: cast_nullable_to_non_nullable + as List?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_EstimateDetailCopyWith<$Res> + implements $EstimateDetailCopyWith<$Res> { + factory _$$_EstimateDetailCopyWith( + _$_EstimateDetail value, $Res Function(_$_EstimateDetail) then) = + __$$_EstimateDetailCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'previousLineItemId') String? previousLineItemId, + @JsonKey(name: 'sorId') String? sorId, + @JsonKey(name: 'category') String? category, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'description') String? description, + @JsonKey(name: 'unitRate') double? unitRate, + @JsonKey(name: 'noOfunit') num? noOfunit, + @JsonKey(name: 'uom') String? uom, + @JsonKey(name: 'uomValue') double? uomValue, + @JsonKey(name: 'length') num? length, + @JsonKey(name: 'width') num? width, + @JsonKey(name: 'height') num? height, + @JsonKey(name: 'quantity') num? quantity, + @JsonKey(name: 'isDeduction') bool? isDeduction, + @JsonKey(name: 'isActive') bool? isActive, + @JsonKey(name: 'amountDetail') List? amountDetails}); +} + +/// @nodoc +class __$$_EstimateDetailCopyWithImpl<$Res> + extends _$EstimateDetailCopyWithImpl<$Res, _$_EstimateDetail> + implements _$$_EstimateDetailCopyWith<$Res> { + __$$_EstimateDetailCopyWithImpl( + _$_EstimateDetail _value, $Res Function(_$_EstimateDetail) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? previousLineItemId = freezed, + Object? sorId = freezed, + Object? category = freezed, + Object? name = freezed, + Object? description = freezed, + Object? unitRate = freezed, + Object? noOfunit = freezed, + Object? uom = freezed, + Object? uomValue = freezed, + Object? length = freezed, + Object? width = freezed, + Object? height = freezed, + Object? quantity = freezed, + Object? isDeduction = freezed, + Object? isActive = freezed, + Object? amountDetails = freezed, + }) { + return _then(_$_EstimateDetail( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + previousLineItemId: freezed == previousLineItemId + ? _value.previousLineItemId + : previousLineItemId // ignore: cast_nullable_to_non_nullable + as String?, + sorId: freezed == sorId + ? _value.sorId + : sorId // ignore: cast_nullable_to_non_nullable + as String?, + category: freezed == category + ? _value.category + : category // ignore: cast_nullable_to_non_nullable + as String?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + description: freezed == description + ? _value.description + : description // ignore: cast_nullable_to_non_nullable + as String?, + unitRate: freezed == unitRate + ? _value.unitRate + : unitRate // ignore: cast_nullable_to_non_nullable + as double?, + noOfunit: freezed == noOfunit + ? _value.noOfunit + : noOfunit // ignore: cast_nullable_to_non_nullable + as num?, + uom: freezed == uom + ? _value.uom + : uom // ignore: cast_nullable_to_non_nullable + as String?, + uomValue: freezed == uomValue + ? _value.uomValue + : uomValue // ignore: cast_nullable_to_non_nullable + as double?, + length: freezed == length + ? _value.length + : length // ignore: cast_nullable_to_non_nullable + as num?, + width: freezed == width + ? _value.width + : width // ignore: cast_nullable_to_non_nullable + as num?, + height: freezed == height + ? _value.height + : height // ignore: cast_nullable_to_non_nullable + as num?, + quantity: freezed == quantity + ? _value.quantity + : quantity // ignore: cast_nullable_to_non_nullable + as num?, + isDeduction: freezed == isDeduction + ? _value.isDeduction + : isDeduction // ignore: cast_nullable_to_non_nullable + as bool?, + isActive: freezed == isActive + ? _value.isActive + : isActive // ignore: cast_nullable_to_non_nullable + as bool?, + amountDetails: freezed == amountDetails + ? _value._amountDetails + : amountDetails // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_EstimateDetail implements _EstimateDetail { + const _$_EstimateDetail( + {@JsonKey(name: 'id') this.id, + @JsonKey(name: 'previousLineItemId') this.previousLineItemId, + @JsonKey(name: 'sorId') this.sorId, + @JsonKey(name: 'category') this.category, + @JsonKey(name: 'name') this.name, + @JsonKey(name: 'description') this.description, + @JsonKey(name: 'unitRate') this.unitRate, + @JsonKey(name: 'noOfunit') this.noOfunit, + @JsonKey(name: 'uom') this.uom, + @JsonKey(name: 'uomValue') this.uomValue, + @JsonKey(name: 'length') this.length, + @JsonKey(name: 'width') this.width, + @JsonKey(name: 'height') this.height, + @JsonKey(name: 'quantity') this.quantity, + @JsonKey(name: 'isDeduction') this.isDeduction, + @JsonKey(name: 'isActive') this.isActive, + @JsonKey(name: 'amountDetail') final List? amountDetails}) + : _amountDetails = amountDetails; + + factory _$_EstimateDetail.fromJson(Map json) => + _$$_EstimateDetailFromJson(json); + + @override + @JsonKey(name: 'id') + final String? id; + @override + @JsonKey(name: 'previousLineItemId') + final String? previousLineItemId; + @override + @JsonKey(name: 'sorId') + final String? sorId; + @override + @JsonKey(name: 'category') + final String? category; + @override + @JsonKey(name: 'name') + final String? name; + @override + @JsonKey(name: 'description') + final String? description; + @override + @JsonKey(name: 'unitRate') + final double? unitRate; + @override + @JsonKey(name: 'noOfunit') + final num? noOfunit; + @override + @JsonKey(name: 'uom') + final String? uom; + @override + @JsonKey(name: 'uomValue') + final double? uomValue; + @override + @JsonKey(name: 'length') + final num? length; + @override + @JsonKey(name: 'width') + final num? width; + @override + @JsonKey(name: 'height') + final num? height; + @override + @JsonKey(name: 'quantity') + final num? quantity; + @override + @JsonKey(name: 'isDeduction') + final bool? isDeduction; + @override + @JsonKey(name: 'isActive') + final bool? isActive; + final List? _amountDetails; + @override + @JsonKey(name: 'amountDetail') + List? get amountDetails { + final value = _amountDetails; + if (value == null) return null; + if (_amountDetails is EqualUnmodifiableListView) return _amountDetails; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'EstimateDetail(id: $id, previousLineItemId: $previousLineItemId, sorId: $sorId, category: $category, name: $name, description: $description, unitRate: $unitRate, noOfunit: $noOfunit, uom: $uom, uomValue: $uomValue, length: $length, width: $width, height: $height, quantity: $quantity, isDeduction: $isDeduction, isActive: $isActive, amountDetails: $amountDetails)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_EstimateDetail && + (identical(other.id, id) || other.id == id) && + (identical(other.previousLineItemId, previousLineItemId) || + other.previousLineItemId == previousLineItemId) && + (identical(other.sorId, sorId) || other.sorId == sorId) && + (identical(other.category, category) || + other.category == category) && + (identical(other.name, name) || other.name == name) && + (identical(other.description, description) || + other.description == description) && + (identical(other.unitRate, unitRate) || + other.unitRate == unitRate) && + (identical(other.noOfunit, noOfunit) || + other.noOfunit == noOfunit) && + (identical(other.uom, uom) || other.uom == uom) && + (identical(other.uomValue, uomValue) || + other.uomValue == uomValue) && + (identical(other.length, length) || other.length == length) && + (identical(other.width, width) || other.width == width) && + (identical(other.height, height) || other.height == height) && + (identical(other.quantity, quantity) || + other.quantity == quantity) && + (identical(other.isDeduction, isDeduction) || + other.isDeduction == isDeduction) && + (identical(other.isActive, isActive) || + other.isActive == isActive) && + const DeepCollectionEquality() + .equals(other._amountDetails, _amountDetails)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + id, + previousLineItemId, + sorId, + category, + name, + description, + unitRate, + noOfunit, + uom, + uomValue, + length, + width, + height, + quantity, + isDeduction, + isActive, + const DeepCollectionEquality().hash(_amountDetails)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_EstimateDetailCopyWith<_$_EstimateDetail> get copyWith => + __$$_EstimateDetailCopyWithImpl<_$_EstimateDetail>(this, _$identity); + + @override + Map toJson() { + return _$$_EstimateDetailToJson( + this, + ); + } +} + +abstract class _EstimateDetail implements EstimateDetail { + const factory _EstimateDetail( + {@JsonKey(name: 'id') + final String? id, + @JsonKey(name: 'previousLineItemId') + final String? previousLineItemId, + @JsonKey(name: 'sorId') + final String? sorId, + @JsonKey(name: 'category') + final String? category, + @JsonKey(name: 'name') + final String? name, + @JsonKey(name: 'description') + final String? description, + @JsonKey(name: 'unitRate') + final double? unitRate, + @JsonKey(name: 'noOfunit') + final num? noOfunit, + @JsonKey(name: 'uom') + final String? uom, + @JsonKey(name: 'uomValue') + final double? uomValue, + @JsonKey(name: 'length') + final num? length, + @JsonKey(name: 'width') + final num? width, + @JsonKey(name: 'height') + final num? height, + @JsonKey(name: 'quantity') + final num? quantity, + @JsonKey(name: 'isDeduction') + final bool? isDeduction, + @JsonKey(name: 'isActive') + final bool? isActive, + @JsonKey(name: 'amountDetail') + final List? amountDetails}) = _$_EstimateDetail; + + factory _EstimateDetail.fromJson(Map json) = + _$_EstimateDetail.fromJson; + + @override + @JsonKey(name: 'id') + String? get id; + @override + @JsonKey(name: 'previousLineItemId') + String? get previousLineItemId; + @override + @JsonKey(name: 'sorId') + String? get sorId; + @override + @JsonKey(name: 'category') + String? get category; + @override + @JsonKey(name: 'name') + String? get name; + @override + @JsonKey(name: 'description') + String? get description; + @override + @JsonKey(name: 'unitRate') + double? get unitRate; + @override + @JsonKey(name: 'noOfunit') + num? get noOfunit; + @override + @JsonKey(name: 'uom') + String? get uom; + @override + @JsonKey(name: 'uomValue') + double? get uomValue; + @override + @JsonKey(name: 'length') + num? get length; + @override + @JsonKey(name: 'width') + num? get width; + @override + @JsonKey(name: 'height') + num? get height; + @override + @JsonKey(name: 'quantity') + num? get quantity; + @override + @JsonKey(name: 'isDeduction') + bool? get isDeduction; + @override + @JsonKey(name: 'isActive') + bool? get isActive; + @override + @JsonKey(name: 'amountDetail') + List? get amountDetails; + @override + @JsonKey(ignore: true) + _$$_EstimateDetailCopyWith<_$_EstimateDetail> get copyWith => + throw _privateConstructorUsedError; +} + +AmoutDetail _$AmoutDetailFromJson(Map json) { + return _AmoutDetail.fromJson(json); +} + +/// @nodoc +mixin _$AmoutDetail { + @JsonKey(name: 'type') + String? get type => throw _privateConstructorUsedError; + @JsonKey(name: 'amount') + double? get amount => throw _privateConstructorUsedError; + @JsonKey(name: 'id') + String? get id => throw _privateConstructorUsedError; + @JsonKey(name: 'isActive') + bool? get isActive => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $AmoutDetailCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $AmoutDetailCopyWith<$Res> { + factory $AmoutDetailCopyWith( + AmoutDetail value, $Res Function(AmoutDetail) then) = + _$AmoutDetailCopyWithImpl<$Res, AmoutDetail>; + @useResult + $Res call( + {@JsonKey(name: 'type') String? type, + @JsonKey(name: 'amount') double? amount, + @JsonKey(name: 'id') String? id, + @JsonKey(name: 'isActive') bool? isActive}); +} + +/// @nodoc +class _$AmoutDetailCopyWithImpl<$Res, $Val extends AmoutDetail> + implements $AmoutDetailCopyWith<$Res> { + _$AmoutDetailCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? type = freezed, + Object? amount = freezed, + Object? id = freezed, + Object? isActive = freezed, + }) { + return _then(_value.copyWith( + type: freezed == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String?, + amount: freezed == amount + ? _value.amount + : amount // ignore: cast_nullable_to_non_nullable + as double?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + isActive: freezed == isActive + ? _value.isActive + : isActive // ignore: cast_nullable_to_non_nullable + as bool?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_AmoutDetailCopyWith<$Res> + implements $AmoutDetailCopyWith<$Res> { + factory _$$_AmoutDetailCopyWith( + _$_AmoutDetail value, $Res Function(_$_AmoutDetail) then) = + __$$_AmoutDetailCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'type') String? type, + @JsonKey(name: 'amount') double? amount, + @JsonKey(name: 'id') String? id, + @JsonKey(name: 'isActive') bool? isActive}); +} + +/// @nodoc +class __$$_AmoutDetailCopyWithImpl<$Res> + extends _$AmoutDetailCopyWithImpl<$Res, _$_AmoutDetail> + implements _$$_AmoutDetailCopyWith<$Res> { + __$$_AmoutDetailCopyWithImpl( + _$_AmoutDetail _value, $Res Function(_$_AmoutDetail) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? type = freezed, + Object? amount = freezed, + Object? id = freezed, + Object? isActive = freezed, + }) { + return _then(_$_AmoutDetail( + type: freezed == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String?, + amount: freezed == amount + ? _value.amount + : amount // ignore: cast_nullable_to_non_nullable + as double?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + isActive: freezed == isActive + ? _value.isActive + : isActive // ignore: cast_nullable_to_non_nullable + as bool?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_AmoutDetail implements _AmoutDetail { + const _$_AmoutDetail( + {@JsonKey(name: 'type') this.type, + @JsonKey(name: 'amount') this.amount, + @JsonKey(name: 'id') this.id, + @JsonKey(name: 'isActive') this.isActive}); + + factory _$_AmoutDetail.fromJson(Map json) => + _$$_AmoutDetailFromJson(json); + + @override + @JsonKey(name: 'type') + final String? type; + @override + @JsonKey(name: 'amount') + final double? amount; + @override + @JsonKey(name: 'id') + final String? id; + @override + @JsonKey(name: 'isActive') + final bool? isActive; + + @override + String toString() { + return 'AmoutDetail(type: $type, amount: $amount, id: $id, isActive: $isActive)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_AmoutDetail && + (identical(other.type, type) || other.type == type) && + (identical(other.amount, amount) || other.amount == amount) && + (identical(other.id, id) || other.id == id) && + (identical(other.isActive, isActive) || + other.isActive == isActive)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, type, amount, id, isActive); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_AmoutDetailCopyWith<_$_AmoutDetail> get copyWith => + __$$_AmoutDetailCopyWithImpl<_$_AmoutDetail>(this, _$identity); + + @override + Map toJson() { + return _$$_AmoutDetailToJson( + this, + ); + } +} + +abstract class _AmoutDetail implements AmoutDetail { + const factory _AmoutDetail( + {@JsonKey(name: 'type') final String? type, + @JsonKey(name: 'amount') final double? amount, + @JsonKey(name: 'id') final String? id, + @JsonKey(name: 'isActive') final bool? isActive}) = _$_AmoutDetail; + + factory _AmoutDetail.fromJson(Map json) = + _$_AmoutDetail.fromJson; + + @override + @JsonKey(name: 'type') + String? get type; + @override + @JsonKey(name: 'amount') + double? get amount; + @override + @JsonKey(name: 'id') + String? get id; + @override + @JsonKey(name: 'isActive') + bool? get isActive; + @override + @JsonKey(ignore: true) + _$$_AmoutDetailCopyWith<_$_AmoutDetail> get copyWith => + throw _privateConstructorUsedError; +} + +EstimateAddress _$EstimateAddressFromJson(Map json) { + return _EstimateAddress.fromJson(json); +} + +/// @nodoc +mixin _$EstimateAddress { + @JsonKey(name: 'id') + String? get id => throw _privateConstructorUsedError; + @JsonKey(name: 'tenantId') + String? get tenantId => throw _privateConstructorUsedError; + @JsonKey(name: 'doorNo') + String? get doorNo => throw _privateConstructorUsedError; + @JsonKey(name: 'latitude') + double? get latitude => throw _privateConstructorUsedError; + @JsonKey(name: 'longitude') + double? get longitude => throw _privateConstructorUsedError; + @JsonKey(name: 'locationAccuracy') + double? get locationAccuracy => throw _privateConstructorUsedError; + @JsonKey(name: 'type') + String? get type => throw _privateConstructorUsedError; + @JsonKey(name: 'addressNumber') + String? get addressNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'addressLine1') + String? get addressLine1 => throw _privateConstructorUsedError; + @JsonKey(name: 'addressLine2') + String? get addressLine2 => throw _privateConstructorUsedError; + @JsonKey(name: 'landmark') + String? get landmark => throw _privateConstructorUsedError; + @JsonKey(name: 'city') + String? get city => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $EstimateAddressCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $EstimateAddressCopyWith<$Res> { + factory $EstimateAddressCopyWith( + EstimateAddress value, $Res Function(EstimateAddress) then) = + _$EstimateAddressCopyWithImpl<$Res, EstimateAddress>; + @useResult + $Res call( + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'doorNo') String? doorNo, + @JsonKey(name: 'latitude') double? latitude, + @JsonKey(name: 'longitude') double? longitude, + @JsonKey(name: 'locationAccuracy') double? locationAccuracy, + @JsonKey(name: 'type') String? type, + @JsonKey(name: 'addressNumber') String? addressNumber, + @JsonKey(name: 'addressLine1') String? addressLine1, + @JsonKey(name: 'addressLine2') String? addressLine2, + @JsonKey(name: 'landmark') String? landmark, + @JsonKey(name: 'city') String? city}); +} + +/// @nodoc +class _$EstimateAddressCopyWithImpl<$Res, $Val extends EstimateAddress> + implements $EstimateAddressCopyWith<$Res> { + _$EstimateAddressCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? tenantId = freezed, + Object? doorNo = freezed, + Object? latitude = freezed, + Object? longitude = freezed, + Object? locationAccuracy = freezed, + Object? type = freezed, + Object? addressNumber = freezed, + Object? addressLine1 = freezed, + Object? addressLine2 = freezed, + Object? landmark = freezed, + Object? city = freezed, + }) { + return _then(_value.copyWith( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + doorNo: freezed == doorNo + ? _value.doorNo + : doorNo // ignore: cast_nullable_to_non_nullable + as String?, + latitude: freezed == latitude + ? _value.latitude + : latitude // ignore: cast_nullable_to_non_nullable + as double?, + longitude: freezed == longitude + ? _value.longitude + : longitude // ignore: cast_nullable_to_non_nullable + as double?, + locationAccuracy: freezed == locationAccuracy + ? _value.locationAccuracy + : locationAccuracy // ignore: cast_nullable_to_non_nullable + as double?, + type: freezed == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String?, + addressNumber: freezed == addressNumber + ? _value.addressNumber + : addressNumber // ignore: cast_nullable_to_non_nullable + as String?, + addressLine1: freezed == addressLine1 + ? _value.addressLine1 + : addressLine1 // ignore: cast_nullable_to_non_nullable + as String?, + addressLine2: freezed == addressLine2 + ? _value.addressLine2 + : addressLine2 // ignore: cast_nullable_to_non_nullable + as String?, + landmark: freezed == landmark + ? _value.landmark + : landmark // ignore: cast_nullable_to_non_nullable + as String?, + city: freezed == city + ? _value.city + : city // ignore: cast_nullable_to_non_nullable + as String?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_EstimateAddressCopyWith<$Res> + implements $EstimateAddressCopyWith<$Res> { + factory _$$_EstimateAddressCopyWith( + _$_EstimateAddress value, $Res Function(_$_EstimateAddress) then) = + __$$_EstimateAddressCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'doorNo') String? doorNo, + @JsonKey(name: 'latitude') double? latitude, + @JsonKey(name: 'longitude') double? longitude, + @JsonKey(name: 'locationAccuracy') double? locationAccuracy, + @JsonKey(name: 'type') String? type, + @JsonKey(name: 'addressNumber') String? addressNumber, + @JsonKey(name: 'addressLine1') String? addressLine1, + @JsonKey(name: 'addressLine2') String? addressLine2, + @JsonKey(name: 'landmark') String? landmark, + @JsonKey(name: 'city') String? city}); +} + +/// @nodoc +class __$$_EstimateAddressCopyWithImpl<$Res> + extends _$EstimateAddressCopyWithImpl<$Res, _$_EstimateAddress> + implements _$$_EstimateAddressCopyWith<$Res> { + __$$_EstimateAddressCopyWithImpl( + _$_EstimateAddress _value, $Res Function(_$_EstimateAddress) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? tenantId = freezed, + Object? doorNo = freezed, + Object? latitude = freezed, + Object? longitude = freezed, + Object? locationAccuracy = freezed, + Object? type = freezed, + Object? addressNumber = freezed, + Object? addressLine1 = freezed, + Object? addressLine2 = freezed, + Object? landmark = freezed, + Object? city = freezed, + }) { + return _then(_$_EstimateAddress( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + doorNo: freezed == doorNo + ? _value.doorNo + : doorNo // ignore: cast_nullable_to_non_nullable + as String?, + latitude: freezed == latitude + ? _value.latitude + : latitude // ignore: cast_nullable_to_non_nullable + as double?, + longitude: freezed == longitude + ? _value.longitude + : longitude // ignore: cast_nullable_to_non_nullable + as double?, + locationAccuracy: freezed == locationAccuracy + ? _value.locationAccuracy + : locationAccuracy // ignore: cast_nullable_to_non_nullable + as double?, + type: freezed == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String?, + addressNumber: freezed == addressNumber + ? _value.addressNumber + : addressNumber // ignore: cast_nullable_to_non_nullable + as String?, + addressLine1: freezed == addressLine1 + ? _value.addressLine1 + : addressLine1 // ignore: cast_nullable_to_non_nullable + as String?, + addressLine2: freezed == addressLine2 + ? _value.addressLine2 + : addressLine2 // ignore: cast_nullable_to_non_nullable + as String?, + landmark: freezed == landmark + ? _value.landmark + : landmark // ignore: cast_nullable_to_non_nullable + as String?, + city: freezed == city + ? _value.city + : city // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_EstimateAddress implements _EstimateAddress { + const _$_EstimateAddress( + {@JsonKey(name: 'id') this.id, + @JsonKey(name: 'tenantId') this.tenantId, + @JsonKey(name: 'doorNo') this.doorNo, + @JsonKey(name: 'latitude') this.latitude, + @JsonKey(name: 'longitude') this.longitude, + @JsonKey(name: 'locationAccuracy') this.locationAccuracy, + @JsonKey(name: 'type') this.type, + @JsonKey(name: 'addressNumber') this.addressNumber, + @JsonKey(name: 'addressLine1') this.addressLine1, + @JsonKey(name: 'addressLine2') this.addressLine2, + @JsonKey(name: 'landmark') this.landmark, + @JsonKey(name: 'city') this.city}); + + factory _$_EstimateAddress.fromJson(Map json) => + _$$_EstimateAddressFromJson(json); + + @override + @JsonKey(name: 'id') + final String? id; + @override + @JsonKey(name: 'tenantId') + final String? tenantId; + @override + @JsonKey(name: 'doorNo') + final String? doorNo; + @override + @JsonKey(name: 'latitude') + final double? latitude; + @override + @JsonKey(name: 'longitude') + final double? longitude; + @override + @JsonKey(name: 'locationAccuracy') + final double? locationAccuracy; + @override + @JsonKey(name: 'type') + final String? type; + @override + @JsonKey(name: 'addressNumber') + final String? addressNumber; + @override + @JsonKey(name: 'addressLine1') + final String? addressLine1; + @override + @JsonKey(name: 'addressLine2') + final String? addressLine2; + @override + @JsonKey(name: 'landmark') + final String? landmark; + @override + @JsonKey(name: 'city') + final String? city; + + @override + String toString() { + return 'EstimateAddress(id: $id, tenantId: $tenantId, doorNo: $doorNo, latitude: $latitude, longitude: $longitude, locationAccuracy: $locationAccuracy, type: $type, addressNumber: $addressNumber, addressLine1: $addressLine1, addressLine2: $addressLine2, landmark: $landmark, city: $city)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_EstimateAddress && + (identical(other.id, id) || other.id == id) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.doorNo, doorNo) || other.doorNo == doorNo) && + (identical(other.latitude, latitude) || + other.latitude == latitude) && + (identical(other.longitude, longitude) || + other.longitude == longitude) && + (identical(other.locationAccuracy, locationAccuracy) || + other.locationAccuracy == locationAccuracy) && + (identical(other.type, type) || other.type == type) && + (identical(other.addressNumber, addressNumber) || + other.addressNumber == addressNumber) && + (identical(other.addressLine1, addressLine1) || + other.addressLine1 == addressLine1) && + (identical(other.addressLine2, addressLine2) || + other.addressLine2 == addressLine2) && + (identical(other.landmark, landmark) || + other.landmark == landmark) && + (identical(other.city, city) || other.city == city)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + id, + tenantId, + doorNo, + latitude, + longitude, + locationAccuracy, + type, + addressNumber, + addressLine1, + addressLine2, + landmark, + city); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_EstimateAddressCopyWith<_$_EstimateAddress> get copyWith => + __$$_EstimateAddressCopyWithImpl<_$_EstimateAddress>(this, _$identity); + + @override + Map toJson() { + return _$$_EstimateAddressToJson( + this, + ); + } +} + +abstract class _EstimateAddress implements EstimateAddress { + const factory _EstimateAddress( + {@JsonKey(name: 'id') final String? id, + @JsonKey(name: 'tenantId') final String? tenantId, + @JsonKey(name: 'doorNo') final String? doorNo, + @JsonKey(name: 'latitude') final double? latitude, + @JsonKey(name: 'longitude') final double? longitude, + @JsonKey(name: 'locationAccuracy') final double? locationAccuracy, + @JsonKey(name: 'type') final String? type, + @JsonKey(name: 'addressNumber') final String? addressNumber, + @JsonKey(name: 'addressLine1') final String? addressLine1, + @JsonKey(name: 'addressLine2') final String? addressLine2, + @JsonKey(name: 'landmark') final String? landmark, + @JsonKey(name: 'city') final String? city}) = _$_EstimateAddress; + + factory _EstimateAddress.fromJson(Map json) = + _$_EstimateAddress.fromJson; + + @override + @JsonKey(name: 'id') + String? get id; + @override + @JsonKey(name: 'tenantId') + String? get tenantId; + @override + @JsonKey(name: 'doorNo') + String? get doorNo; + @override + @JsonKey(name: 'latitude') + double? get latitude; + @override + @JsonKey(name: 'longitude') + double? get longitude; + @override + @JsonKey(name: 'locationAccuracy') + double? get locationAccuracy; + @override + @JsonKey(name: 'type') + String? get type; + @override + @JsonKey(name: 'addressNumber') + String? get addressNumber; + @override + @JsonKey(name: 'addressLine1') + String? get addressLine1; + @override + @JsonKey(name: 'addressLine2') + String? get addressLine2; + @override + @JsonKey(name: 'landmark') + String? get landmark; + @override + @JsonKey(name: 'city') + String? get city; + @override + @JsonKey(ignore: true) + _$$_EstimateAddressCopyWith<_$_EstimateAddress> get copyWith => + throw _privateConstructorUsedError; +} + +SorObject _$SorObjectFromJson(Map json) { + return _SorObject.fromJson(json); +} + +/// @nodoc +mixin _$SorObject { + String? get sorId => throw _privateConstructorUsedError; + String? get id => throw _privateConstructorUsedError; + List get filteredMeasurementsMeasure => + throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $SorObjectCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $SorObjectCopyWith<$Res> { + factory $SorObjectCopyWith(SorObject value, $Res Function(SorObject) then) = + _$SorObjectCopyWithImpl<$Res, SorObject>; + @useResult + $Res call( + {String? sorId, + String? id, + List filteredMeasurementsMeasure}); +} + +/// @nodoc +class _$SorObjectCopyWithImpl<$Res, $Val extends SorObject> + implements $SorObjectCopyWith<$Res> { + _$SorObjectCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? sorId = freezed, + Object? id = freezed, + Object? filteredMeasurementsMeasure = null, + }) { + return _then(_value.copyWith( + sorId: freezed == sorId + ? _value.sorId + : sorId // ignore: cast_nullable_to_non_nullable + as String?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + filteredMeasurementsMeasure: null == filteredMeasurementsMeasure + ? _value.filteredMeasurementsMeasure + : filteredMeasurementsMeasure // ignore: cast_nullable_to_non_nullable + as List, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_SorObjectCopyWith<$Res> implements $SorObjectCopyWith<$Res> { + factory _$$_SorObjectCopyWith( + _$_SorObject value, $Res Function(_$_SorObject) then) = + __$$_SorObjectCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {String? sorId, + String? id, + List filteredMeasurementsMeasure}); +} + +/// @nodoc +class __$$_SorObjectCopyWithImpl<$Res> + extends _$SorObjectCopyWithImpl<$Res, _$_SorObject> + implements _$$_SorObjectCopyWith<$Res> { + __$$_SorObjectCopyWithImpl( + _$_SorObject _value, $Res Function(_$_SorObject) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? sorId = freezed, + Object? id = freezed, + Object? filteredMeasurementsMeasure = null, + }) { + return _then(_$_SorObject( + sorId: freezed == sorId + ? _value.sorId + : sorId // ignore: cast_nullable_to_non_nullable + as String?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + filteredMeasurementsMeasure: null == filteredMeasurementsMeasure + ? _value._filteredMeasurementsMeasure + : filteredMeasurementsMeasure // ignore: cast_nullable_to_non_nullable + as List, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_SorObject implements _SorObject { + const _$_SorObject( + {this.sorId, + this.id, + final List filteredMeasurementsMeasure = + const []}) + : _filteredMeasurementsMeasure = filteredMeasurementsMeasure; + + factory _$_SorObject.fromJson(Map json) => + _$$_SorObjectFromJson(json); + + @override + final String? sorId; + @override + final String? id; + final List _filteredMeasurementsMeasure; + @override + @JsonKey() + List get filteredMeasurementsMeasure { + if (_filteredMeasurementsMeasure is EqualUnmodifiableListView) + return _filteredMeasurementsMeasure; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_filteredMeasurementsMeasure); + } + + @override + String toString() { + return 'SorObject(sorId: $sorId, id: $id, filteredMeasurementsMeasure: $filteredMeasurementsMeasure)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_SorObject && + (identical(other.sorId, sorId) || other.sorId == sorId) && + (identical(other.id, id) || other.id == id) && + const DeepCollectionEquality().equals( + other._filteredMeasurementsMeasure, + _filteredMeasurementsMeasure)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, sorId, id, + const DeepCollectionEquality().hash(_filteredMeasurementsMeasure)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_SorObjectCopyWith<_$_SorObject> get copyWith => + __$$_SorObjectCopyWithImpl<_$_SorObject>(this, _$identity); + + @override + Map toJson() { + return _$$_SorObjectToJson( + this, + ); + } +} + +abstract class _SorObject implements SorObject { + const factory _SorObject( + {final String? sorId, + final String? id, + final List + filteredMeasurementsMeasure}) = _$_SorObject; + + factory _SorObject.fromJson(Map json) = + _$_SorObject.fromJson; + + @override + String? get sorId; + @override + String? get id; + @override + List get filteredMeasurementsMeasure; + @override + @JsonKey(ignore: true) + _$$_SorObjectCopyWith<_$_SorObject> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.g.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.g.dart new file mode 100644 index 0000000000..73ba1ed497 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.g.dart @@ -0,0 +1,388 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'mb_detail_response.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +_$_MBDetailResponse _$$_MBDetailResponseFromJson(Map json) => + _$_MBDetailResponse( + contract: json['contract'] == null + ? null + : Contract.fromJson(json['contract'] as Map), + estimate: json['estimate'] == null + ? null + : Estimate.fromJson(json['estimate'] as Map), + period: json['period'] == null + ? null + : Period.fromJson(json['period'] as Map), + allMeasurements: json['allMeasurements'], + measurement: json['measurement'] == null + ? null + : Measurement.fromJson(json['measurement'] as Map), + musterRolls: json['musterRolls'], + ); + +Map _$$_MBDetailResponseToJson(_$_MBDetailResponse instance) => + { + 'contract': instance.contract, + 'estimate': instance.estimate, + 'period': instance.period, + 'allMeasurements': instance.allMeasurements, + 'measurement': instance.measurement, + 'musterRolls': instance.musterRolls, + }; + +_$_WorkFlow _$$_WorkFlowFromJson(Map json) => _$_WorkFlow( + action: json['action'] as String?, + comment: json['comment'] as String?, + assignees: (json['assignees'] as List?) + ?.map((e) => e as String) + .toList(), + documents: (json['documents'] as List?) + ?.map((e) => + WorkFlowSupportDocument.fromJson(e as Map)) + .toList(), + ); + +Map _$$_WorkFlowToJson(_$_WorkFlow instance) => + { + 'action': instance.action, + 'comment': instance.comment, + 'assignees': instance.assignees, + 'documents': instance.documents, + }; + +_$_WorkFlowSupportDocument _$$_WorkFlowSupportDocumentFromJson( + Map json) => + _$_WorkFlowSupportDocument( + documentType: json['documentType'] as String?, + documentUid: json['documentUid'] as String?, + fileName: json['fileName'] as String?, + fileStoreId: json['fileStoreId'] as String?, + tenantId: json['tenantId'] as String?, + ); + +Map _$$_WorkFlowSupportDocumentToJson( + _$_WorkFlowSupportDocument instance) => + { + 'documentType': instance.documentType, + 'documentUid': instance.documentUid, + 'fileName': instance.fileName, + 'fileStoreId': instance.fileStoreId, + 'tenantId': instance.tenantId, + }; + +_$_MusterRoll _$$_MusterRollFromJson(Map json) => + _$_MusterRoll( + id: json['id'] as String?, + tenantId: json['tenantId'] as String?, + musterRollNumber: json['musterRollNumber'], + registerId: json['registerId'] as String?, + status: json['status'] as String?, + musterRollStatus: json['musterRollStatus'] as String?, + startDate: json['startDate'] as int?, + endDate: json['endDate'] as int?, + referenceId: json['referenceId'] as String?, + serviceCode: json['serviceCode'] as String?, + auditDetails: json['auditDetails'] == null + ? null + : AuditDetails.fromJson(json['auditDetails'] as Map), + additional: json['additionalDetails'] == null + ? null + : MusterRollAdditionalDetails.fromJson( + json['additionalDetails'] as Map), + ); + +Map _$$_MusterRollToJson(_$_MusterRoll instance) => + { + 'id': instance.id, + 'tenantId': instance.tenantId, + 'musterRollNumber': instance.musterRollNumber, + 'registerId': instance.registerId, + 'status': instance.status, + 'musterRollStatus': instance.musterRollStatus, + 'startDate': instance.startDate, + 'endDate': instance.endDate, + 'referenceId': instance.referenceId, + 'serviceCode': instance.serviceCode, + 'auditDetails': instance.auditDetails, + 'additionalDetails': instance.additional, + }; + +_$_MusterRollAdditionalDetails _$$_MusterRollAdditionalDetailsFromJson( + Map json) => + _$_MusterRollAdditionalDetails( + ward: json['ward'] as String?, + orgId: json['orgId'] as String?, + amount: (json['amount'] as num?)?.toDouble(), + orgName: json['orgName'] as String?, + locality: json['locality'] as String?, + projectId: json['projectId'] as String?, + contractId: json['contractId'] as String?, + projectDesc: json['projectDesc'] as String?, + projectName: json['projectName'] as String?, + projectType: json['projectType'] as String?, + executingAuthority: json['executingAuthority'] as String?, + attendanceRegisterNo: json['attendanceRegisterNo'] as String?, + attendanceRegisterName: json['attendanceRegisterName'] as String?, + ); + +Map _$$_MusterRollAdditionalDetailsToJson( + _$_MusterRollAdditionalDetails instance) => + { + 'ward': instance.ward, + 'orgId': instance.orgId, + 'amount': instance.amount, + 'orgName': instance.orgName, + 'locality': instance.locality, + 'projectId': instance.projectId, + 'contractId': instance.contractId, + 'projectDesc': instance.projectDesc, + 'projectName': instance.projectName, + 'projectType': instance.projectType, + 'executingAuthority': instance.executingAuthority, + 'attendanceRegisterNo': instance.attendanceRegisterNo, + 'attendanceRegisterName': instance.attendanceRegisterName, + }; + +_$_Measurement _$$_MeasurementFromJson(Map json) => + _$_Measurement( + id: json['id'] as String?, + tenantId: json['tenantId'] as String?, + measurementNumber: json['measurementNumber'] as String?, + physicalRefNumber: json['physicalRefNumber'] as String?, + referenceId: json['referenceId'] as String?, + entryDate: json['entryDate'] as int?, + isActive: json['isActive'] as bool?, + wfStatus: json['wfStatus'] as String?, + workflow: json['workflow'] == null + ? null + : WorkFlow.fromJson(json['workflow'] as Map), + auditDetails: json['auditDetails'] == null + ? null + : AuditDetails.fromJson(json['auditDetails'] as Map), + additionalDetail: json['additionalDetails'] == null + ? null + : MeasurementAdditionalDetail.fromJson( + json['additionalDetails'] as Map), + measures: (json['measures'] as List?) + ?.map((e) => Measure.fromJson(e as Map)) + .toList(), + documents: (json['documents'] as List?) + ?.map((e) => WorkflowDocument.fromJson(e as Map)) + .toList(), + ); + +Map _$$_MeasurementToJson(_$_Measurement instance) => + { + 'id': instance.id, + 'tenantId': instance.tenantId, + 'measurementNumber': instance.measurementNumber, + 'physicalRefNumber': instance.physicalRefNumber, + 'referenceId': instance.referenceId, + 'entryDate': instance.entryDate, + 'isActive': instance.isActive, + 'wfStatus': instance.wfStatus, + 'workflow': instance.workflow, + 'auditDetails': instance.auditDetails, + 'additionalDetails': instance.additionalDetail, + 'measures': instance.measures, + 'documents': instance.documents, + }; + +_$_MeasurementAdditionalDetail _$$_MeasurementAdditionalDetailFromJson( + Map json) => + _$_MeasurementAdditionalDetail( + endDate: json['endDate'] as int?, + sorAmount: (json['sorAmount'] as num?)?.toDouble(), + startDate: json['startDate'] as int?, + totalAmount: (json['totalAmount'] as num?)?.toDouble(), + nonSorAmount: (json['nonSorAmount'] as num?)?.toDouble(), + musterRollNumber: json['musterRollNumber'], + ); + +Map _$$_MeasurementAdditionalDetailToJson( + _$_MeasurementAdditionalDetail instance) => + { + 'endDate': instance.endDate, + 'sorAmount': instance.sorAmount, + 'startDate': instance.startDate, + 'totalAmount': instance.totalAmount, + 'nonSorAmount': instance.nonSorAmount, + 'musterRollNumber': instance.musterRollNumber, + }; + +_$_Period _$$_PeriodFromJson(Map json) => _$_Period( + startDate: json['startDate'] as int?, + endDate: json['endDate'] as int?, + message: json['message'] as String?, + type: json['type'] as String?, + ); + +Map _$$_PeriodToJson(_$_Period instance) => { + 'startDate': instance.startDate, + 'endDate': instance.endDate, + 'message': instance.message, + 'type': instance.type, + }; + +_$_Estimate _$$_EstimateFromJson(Map json) => _$_Estimate( + id: json['id'] as String?, + tenantId: json['tenantId'] as String?, + estimateNumber: json['estimateNumber'] as String?, + revisionNumber: json['revisionNumber'] as String?, + businessService: json['businessService'] as String?, + oldUuid: json['oldUuid'] as String?, + projectId: json['projectId'] as String?, + versionNumber: json['versionNumber'] as int?, + proposalDate: json['proposalDate'] as int?, + status: json['status'] as String?, + wfStatus: json['wfStatus'] as String?, + name: json['name'] as String?, + referenceNumber: json['referenceNumber'] as String?, + description: json['description'] as String?, + executingDepartment: json['executingDepartment'] as String?, + address: json['address'] == null + ? null + : EstimateAddress.fromJson(json['address'] as Map), + estimateDetails: (json['estimateDetails'] as List?) + ?.map((e) => EstimateDetail.fromJson(e as Map)) + .toList(), + auditDetails: json['auditDetails'] == null + ? null + : AuditDetails.fromJson(json['auditDetails'] as Map), + ); + +Map _$$_EstimateToJson(_$_Estimate instance) => + { + 'id': instance.id, + 'tenantId': instance.tenantId, + 'estimateNumber': instance.estimateNumber, + 'revisionNumber': instance.revisionNumber, + 'businessService': instance.businessService, + 'oldUuid': instance.oldUuid, + 'projectId': instance.projectId, + 'versionNumber': instance.versionNumber, + 'proposalDate': instance.proposalDate, + 'status': instance.status, + 'wfStatus': instance.wfStatus, + 'name': instance.name, + 'referenceNumber': instance.referenceNumber, + 'description': instance.description, + 'executingDepartment': instance.executingDepartment, + 'address': instance.address, + 'estimateDetails': instance.estimateDetails, + 'auditDetails': instance.auditDetails, + }; + +_$_EstimateDetail _$$_EstimateDetailFromJson(Map json) => + _$_EstimateDetail( + id: json['id'] as String?, + previousLineItemId: json['previousLineItemId'] as String?, + sorId: json['sorId'] as String?, + category: json['category'] as String?, + name: json['name'] as String?, + description: json['description'] as String?, + unitRate: (json['unitRate'] as num?)?.toDouble(), + noOfunit: json['noOfunit'] as num?, + uom: json['uom'] as String?, + uomValue: (json['uomValue'] as num?)?.toDouble(), + length: json['length'] as num?, + width: json['width'] as num?, + height: json['height'] as num?, + quantity: json['quantity'] as num?, + isDeduction: json['isDeduction'] as bool?, + isActive: json['isActive'] as bool?, + amountDetails: (json['amountDetail'] as List?) + ?.map((e) => AmoutDetail.fromJson(e as Map)) + .toList(), + ); + +Map _$$_EstimateDetailToJson(_$_EstimateDetail instance) => + { + 'id': instance.id, + 'previousLineItemId': instance.previousLineItemId, + 'sorId': instance.sorId, + 'category': instance.category, + 'name': instance.name, + 'description': instance.description, + 'unitRate': instance.unitRate, + 'noOfunit': instance.noOfunit, + 'uom': instance.uom, + 'uomValue': instance.uomValue, + 'length': instance.length, + 'width': instance.width, + 'height': instance.height, + 'quantity': instance.quantity, + 'isDeduction': instance.isDeduction, + 'isActive': instance.isActive, + 'amountDetail': instance.amountDetails, + }; + +_$_AmoutDetail _$$_AmoutDetailFromJson(Map json) => + _$_AmoutDetail( + type: json['type'] as String?, + amount: (json['amount'] as num?)?.toDouble(), + id: json['id'] as String?, + isActive: json['isActive'] as bool?, + ); + +Map _$$_AmoutDetailToJson(_$_AmoutDetail instance) => + { + 'type': instance.type, + 'amount': instance.amount, + 'id': instance.id, + 'isActive': instance.isActive, + }; + +_$_EstimateAddress _$$_EstimateAddressFromJson(Map json) => + _$_EstimateAddress( + id: json['id'] as String?, + tenantId: json['tenantId'] as String?, + doorNo: json['doorNo'] as String?, + latitude: (json['latitude'] as num?)?.toDouble(), + longitude: (json['longitude'] as num?)?.toDouble(), + locationAccuracy: (json['locationAccuracy'] as num?)?.toDouble(), + type: json['type'] as String?, + addressNumber: json['addressNumber'] as String?, + addressLine1: json['addressLine1'] as String?, + addressLine2: json['addressLine2'] as String?, + landmark: json['landmark'] as String?, + city: json['city'] as String?, + ); + +Map _$$_EstimateAddressToJson(_$_EstimateAddress instance) => + { + 'id': instance.id, + 'tenantId': instance.tenantId, + 'doorNo': instance.doorNo, + 'latitude': instance.latitude, + 'longitude': instance.longitude, + 'locationAccuracy': instance.locationAccuracy, + 'type': instance.type, + 'addressNumber': instance.addressNumber, + 'addressLine1': instance.addressLine1, + 'addressLine2': instance.addressLine2, + 'landmark': instance.landmark, + 'city': instance.city, + }; + +_$_SorObject _$$_SorObjectFromJson(Map json) => _$_SorObject( + sorId: json['sorId'] as String?, + id: json['id'] as String?, + filteredMeasurementsMeasure: + (json['filteredMeasurementsMeasure'] as List?) + ?.map((e) => FilteredMeasurementsMeasure.fromJson( + e as Map)) + .toList() ?? + const [], + ); + +Map _$$_SorObjectToJson(_$_SorObject instance) => + { + 'sorId': instance.sorId, + 'id': instance.id, + 'filteredMeasurementsMeasure': instance.filteredMeasurementsMeasure, + }; diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.dart new file mode 100644 index 0000000000..6ed3de0839 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.dart @@ -0,0 +1,434 @@ +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:works_shg_app/models/employee/mb/mb_detail_response.dart'; + +part 'mb_inbox_response.freezed.dart'; +part 'mb_inbox_response.g.dart'; + +@freezed +class MBInboxResponse with _$MBInboxResponse { + const factory MBInboxResponse( + {@JsonKey(name: 'totalCount') int? totalCount, + @JsonKey(name: 'nearingSlaCount') int? nearingSlaCount, + @JsonKey(name: 'statusMap') List? statusMap, + @JsonKey(name: 'items') List? items}) = _MBInboxResponse; + + factory MBInboxResponse.fromJson( + Map json, + ) => + _$MBInboxResponseFromJson(json); +} + +@freezed +class StatusMap with _$StatusMap { + const factory StatusMap({ + @JsonKey(name: 'statusid') String? statusid, + @JsonKey(name: 'count') int? count, + @JsonKey(name: 'state') String? state, + @JsonKey(name: 'applicationstatus') String? applicationstatus, + @JsonKey(name: 'businessservice') String? businessservice, + }) = _StatusMap; + + factory StatusMap.fromJson( + Map json, + ) => + _$StatusMapFromJson(json); +} + +@freezed +class ItemData with _$ItemData { + const factory ItemData({ + @JsonKey(name: 'ProcessInstance') ProcessInstance? processInstance, + @JsonKey(name: 'businessObject') BusinessObject? businessObject, + }) = _ItemData; + + factory ItemData.fromJson( + Map json, + ) => + _$ItemDataFromJson(json); +} + +@freezed +class ProcessInstance with _$ProcessInstance { + const factory ProcessInstance( + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'businessService') String? businessService, + @JsonKey(name: 'businessId') String? businessId, + @JsonKey(name: 'action') String? action, + @JsonKey(name: 'moduleName') String? moduleName, + @JsonKey(name: 'businesssServiceSla') int? businesssServiceSla, + @JsonKey(name: 'rating') int? rating, + @JsonKey(name: 'state') State? state, + @JsonKey(name: 'assigner') Assigner? assigner, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, + @JsonKey(name: 'assignes') List? assignes}) = _ProcessInstance; + + factory ProcessInstance.fromJson( + Map json, + ) => + _$ProcessInstanceFromJson(json); +} + +@freezed +class AuditDetails with _$AuditDetails { + const factory AuditDetails( + {String? createdBy, + String? lastModifiedBy, + int? createdTime, + int? lastModifiedTime}) = _AuditDetails; + + factory AuditDetails.fromJson( + Map json, + ) => + _$AuditDetailsFromJson(json); +} + +@freezed +class State with _$State { + const factory State({ + @JsonKey(name: 'uuid') String? uuid, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'businessServiceId') String? businessServiceId, + @JsonKey(name: 'sla') int? sla, + @JsonKey(name: 'state') String? state, + @JsonKey(name: 'applicationStatus') String? applicationStatus, + @JsonKey(name: 'docUploadRequired') bool? docUploadRequired, + @JsonKey(name: 'isStartState') bool? isStartState, + @JsonKey(name: 'isTerminateState') bool? isTerminateState, + @JsonKey(name: 'isStateUpdatable') bool? isStateUpdatable, + @JsonKey(name: 'actions') List? actions, + }) = _State; + + factory State.fromJson( + Map json, + ) => + _$StateFromJson(json); +} + +@freezed +class Action with _$Action { + const factory Action({ + @JsonKey(name: 'uuid') String? uuid, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'currentState') String? currentState, + @JsonKey(name: 'action') String? action, + @JsonKey(name: 'nextState') String? nextState, + @JsonKey(name: 'active') bool? active, + @JsonKey(name: 'roles') List? roles, + }) = _Action; + + factory Action.fromJson( + Map json, + ) => + _$ActionFromJson(json); +} + +@freezed +class Assigner with _$Assigner { + const factory Assigner({ + @JsonKey(name: 'id') int? id, + @JsonKey(name: 'userName') String? userName, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'type') String? type, + @JsonKey(name: 'mobileNumber') String? mobileNumber, + @JsonKey(name: 'emailId') String? emailId, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'uuid') String? uuid, + @JsonKey(name: 'roles') List? roles, + }) = _Assigner; + + factory Assigner.fromJson( + Map json, + ) => + _$AssignerFromJson(json); +} + +@freezed +class Assigne with _$Assigne { + const factory Assigne({ + @JsonKey(name: 'id') int? id, + @JsonKey(name: 'userName') String? userName, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'type') String? type, + @JsonKey(name: 'mobileNumber') String? mobileNumber, + @JsonKey(name: 'emailId') String? emailId, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'uuid') String? uuid, + @JsonKey(name: 'roles') List? roles, + }) = _Assigne; + + factory Assigne.fromJson( + Map json, + ) => + _$AssigneFromJson(json); +} + +@freezed +class Role with _$Role { + const factory Role( + {@JsonKey(name: 'name') String? name, + @JsonKey(name: 'id') String? id, + @JsonKey(name: 'code') String? code, + @JsonKey(name: 'tenantId') String? tenantId}) = _Role; + + factory Role.fromJson( + Map json, + ) => + _$RoleFromJson(json); +} + +@freezed +class BusinessObject with _$BusinessObject { + const factory BusinessObject({ + @JsonKey(name: 'measurementNumber') String? measurementNumber, + @JsonKey(name: 'id') String? id, + @JsonKey(name: 'referenceId') String? referenceId, + @JsonKey(name: 'measures') List? measures, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, + @JsonKey(name: 'contract') Contract? contract, + @JsonKey(name: 'serviceSla') int? serviceSla, + @JsonKey(name: 'additionalDetails')MeasurementAdditionalDetail? measurementAdditionalDetail, + }) = _BusinessObject; + + factory BusinessObject.fromJson( + Map json, + ) => + _$BusinessObjectFromJson(json); +} + +@freezed +class Measure with _$Measure { + const factory Measure({ + @JsonKey(name: 'description') + String? description, + @JsonKey(name: 'comments') + String? comments, + @JsonKey(name: 'targetId') + String? targetId, + @JsonKey(name: 'breadth') + double? breadth, + @JsonKey(name: 'length') + double? length, + @JsonKey(name: 'isActive') + bool? isActive, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'numItems') + double? numItems, + @JsonKey(name: 'id') + String? id, + @JsonKey(name: 'currentValue') + double? currentValue, + @JsonKey(name: 'cumulativeValue') + double? cumulativeValue, + @JsonKey(name: 'height') + double? height, + @JsonKey(name: 'additionalDetails') + MeasureAdditionalDetails? measureAdditionalDetails, + }) = _Measure; + + factory Measure.fromJson( + Map json, + ) => + _$MeasureFromJson(json); +} + +@freezed +class MeasureAdditionalDetails with _$MeasureAdditionalDetails { + const factory MeasureAdditionalDetails({ + @JsonKey(name: 'type') String? type, + @JsonKey(name: 'mbAmount') double? mbAmount, + @JsonKey(name: "measureLineItems") List? measureLineItems, + }) = _MeasureAdditionalDetails; + + factory MeasureAdditionalDetails.fromJson( + Map json, + ) => + _$MeasureAdditionalDetailsFromJson(json); +} + +@freezed +class MeasureLineItem with _$MeasureLineItem { + const factory MeasureLineItem({ + @JsonKey(name: 'width') dynamic width, + @JsonKey(name: 'height') dynamic height, + @JsonKey(name: "length") dynamic length, + @JsonKey(name:'number') dynamic number, + @JsonKey(name: 'quantity') dynamic quantity, + @JsonKey(name:'measurelineitemNo') dynamic measurelineitemNo, + }) = _MeasureLineItem; + + factory MeasureLineItem.fromJson( + Map json, + ) => + _$MeasureLineItemFromJson(json); +} + +@freezed +class Contract with _$Contract { + const factory Contract({ + @JsonKey(name: 'contractNumber') + String? contractNumber, + @JsonKey(name: 'id') + String? id, + @JsonKey(name: 'versionNumber') + int? versionNumber, + @JsonKey(name: 'oldUuid') + String? oldUuid, + @JsonKey(name: 'businessService') + String? businessService, + @JsonKey(name: 'tenantId') + String? tenantId, + @JsonKey(name: 'wfStatus') + String? wfStatus, + @JsonKey(name: 'executingAuthority') + String? executingAuthority, + @JsonKey(name: 'contractType') + String? contractType, + @JsonKey(name: 'totalContractedAmount') + double? totalContractedAmount, + @JsonKey(name: 'securityDeposit') + double? securityDeposit, + @JsonKey(name: 'agreementDate') + int? agreementDate, + @JsonKey(name: 'issueDate') + int? issueDate, + @JsonKey(name: 'defectLiabilityPeriod') + int? defectLiabilityPeriod, + @JsonKey(name: 'orgId') + String? orgId, + @JsonKey(name: 'startDate') + int? startDate, + @JsonKey(name: 'endDate') + int? endDate, + @JsonKey(name: 'completionPeriod') + int? completionPeriod, + @JsonKey(name: 'status') + String? status, + @JsonKey(name: 'lineItems') + List? lineItems, + @JsonKey(name: 'additionalDetails') + ContractAdditionalDetails? additionalDetails, + }) = _Contract; + + factory Contract.fromJson( + Map json, + ) => + _$ContractFromJson(json); +} + +@freezed +class ContractAdditionalDetails with _$ContractAdditionalDetails { + const factory ContractAdditionalDetails( + {@JsonKey(name: 'orgName') + String? orgName, + @JsonKey(name: 'totalEstimatedAmount') + double? totalEstimatedAmount, + @JsonKey(name: 'attendanceRegisterNumber') + String? attendanceRegisterNumber, + @JsonKey(name: 'officerInChargeId') + String? officerInChargeId, + @JsonKey(name: 'cboOrgNumber') + String? cboOrgNumber, + @JsonKey(name: 'estimateNumber') + String? estimateNumber, + @JsonKey(name: 'locality') + String? locality, + @JsonKey(name: 'projectType') + String? projectType, + @JsonKey(name: 'timeExtReason') + String? timeExtReason, + @JsonKey(name: 'ward') + String? ward, + @JsonKey(name: 'officerInChargeDesgn') + String? officerInChargeDesgn, + @JsonKey(name: 'projectDesc') + String? projectDesc, + @JsonKey(name: 'projectName') + String? projectName, + @JsonKey(name: 'cboCode') + String? cboCode, + @JsonKey(name: 'projectId') + String? projectId, + @JsonKey(name: 'cboName') + String? cboName, + @JsonKey(name: 'timeExt') + dynamic timeExt, + @JsonKey(name: 'completionPeriod') + int? completionPeriod, + @JsonKey(name: 'estimateDocs') + List? estmateDocs, + @JsonKey(name: 'termsAndConditions') + List? termsAndConditions}) = + _ContractAdditionalDetails; + + factory ContractAdditionalDetails.fromJson( + Map json, + ) => + _$ContractAdditionalDetailsFromJson(json); +} + +@freezed +class EstmateDoc with _$EstmateDoc { + const factory EstmateDoc({ + @JsonKey(name: 'fileName') String? fileName, + @JsonKey(name: 'fileType') String? fileType, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'documentUid') String? documentUid, + @JsonKey(name: 'fileStoreId') String? fileStoreId, + }) = _EstmateDoc; + + factory EstmateDoc.fromJson( + Map json, + ) => + _$EstmateDocFromJson(json); +} + +@freezed +class TermsAndConditions with _$TermsAndConditions { + const factory TermsAndConditions({ + @JsonKey(name: 'description') String? description, + }) = _TermsAndConditions; + + factory TermsAndConditions.fromJson( + Map json, + ) => + _$TermsAndConditionsFromJson(json); +} + +@freezed +class LineItem with _$LineItem { + const factory LineItem( + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'estimateId') String? estimateId, + @JsonKey(name: 'estimateLineItemId') String? estimateLineItemId, + @JsonKey(name: 'contractLineItemRef') String? contractLineItemRef, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'unitRate') double? unitRate, + @JsonKey(name: 'category') String? category, + @JsonKey(name: 'noOfunit') num? noOfunit, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'status') String? status, + @JsonKey(name: 'amountBreakups') List? amountBreakups, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails}) = _LineItem; + + factory LineItem.fromJson( + Map json, + ) => + _$LineItemFromJson(json); +} + +@freezed +class AmountBreakup with _$AmountBreakup { + const factory AmountBreakup({ + @JsonKey(name: 'id') String? id, + @JsonKey(name: 'estimateAmountBreakupId') String? estimateAmountBreakupId, + @JsonKey(name: 'amount') double? amount, + @JsonKey(name: 'status') String? status, + }) = _AmountBreakup; + + factory AmountBreakup.fromJson( + Map json, + ) => + _$AmountBreakupFromJson(json); +} diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.freezed.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.freezed.dart new file mode 100644 index 0000000000..e4a25dc13d --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.freezed.dart @@ -0,0 +1,6854 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'mb_inbox_response.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +MBInboxResponse _$MBInboxResponseFromJson(Map json) { + return _MBInboxResponse.fromJson(json); +} + +/// @nodoc +mixin _$MBInboxResponse { + @JsonKey(name: 'totalCount') + int? get totalCount => throw _privateConstructorUsedError; + @JsonKey(name: 'nearingSlaCount') + int? get nearingSlaCount => throw _privateConstructorUsedError; + @JsonKey(name: 'statusMap') + List? get statusMap => throw _privateConstructorUsedError; + @JsonKey(name: 'items') + List? get items => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $MBInboxResponseCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MBInboxResponseCopyWith<$Res> { + factory $MBInboxResponseCopyWith( + MBInboxResponse value, $Res Function(MBInboxResponse) then) = + _$MBInboxResponseCopyWithImpl<$Res, MBInboxResponse>; + @useResult + $Res call( + {@JsonKey(name: 'totalCount') int? totalCount, + @JsonKey(name: 'nearingSlaCount') int? nearingSlaCount, + @JsonKey(name: 'statusMap') List? statusMap, + @JsonKey(name: 'items') List? items}); +} + +/// @nodoc +class _$MBInboxResponseCopyWithImpl<$Res, $Val extends MBInboxResponse> + implements $MBInboxResponseCopyWith<$Res> { + _$MBInboxResponseCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? totalCount = freezed, + Object? nearingSlaCount = freezed, + Object? statusMap = freezed, + Object? items = freezed, + }) { + return _then(_value.copyWith( + totalCount: freezed == totalCount + ? _value.totalCount + : totalCount // ignore: cast_nullable_to_non_nullable + as int?, + nearingSlaCount: freezed == nearingSlaCount + ? _value.nearingSlaCount + : nearingSlaCount // ignore: cast_nullable_to_non_nullable + as int?, + statusMap: freezed == statusMap + ? _value.statusMap + : statusMap // ignore: cast_nullable_to_non_nullable + as List?, + items: freezed == items + ? _value.items + : items // ignore: cast_nullable_to_non_nullable + as List?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_MBInboxResponseCopyWith<$Res> + implements $MBInboxResponseCopyWith<$Res> { + factory _$$_MBInboxResponseCopyWith( + _$_MBInboxResponse value, $Res Function(_$_MBInboxResponse) then) = + __$$_MBInboxResponseCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'totalCount') int? totalCount, + @JsonKey(name: 'nearingSlaCount') int? nearingSlaCount, + @JsonKey(name: 'statusMap') List? statusMap, + @JsonKey(name: 'items') List? items}); +} + +/// @nodoc +class __$$_MBInboxResponseCopyWithImpl<$Res> + extends _$MBInboxResponseCopyWithImpl<$Res, _$_MBInboxResponse> + implements _$$_MBInboxResponseCopyWith<$Res> { + __$$_MBInboxResponseCopyWithImpl( + _$_MBInboxResponse _value, $Res Function(_$_MBInboxResponse) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? totalCount = freezed, + Object? nearingSlaCount = freezed, + Object? statusMap = freezed, + Object? items = freezed, + }) { + return _then(_$_MBInboxResponse( + totalCount: freezed == totalCount + ? _value.totalCount + : totalCount // ignore: cast_nullable_to_non_nullable + as int?, + nearingSlaCount: freezed == nearingSlaCount + ? _value.nearingSlaCount + : nearingSlaCount // ignore: cast_nullable_to_non_nullable + as int?, + statusMap: freezed == statusMap + ? _value._statusMap + : statusMap // ignore: cast_nullable_to_non_nullable + as List?, + items: freezed == items + ? _value._items + : items // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_MBInboxResponse implements _MBInboxResponse { + const _$_MBInboxResponse( + {@JsonKey(name: 'totalCount') this.totalCount, + @JsonKey(name: 'nearingSlaCount') this.nearingSlaCount, + @JsonKey(name: 'statusMap') final List? statusMap, + @JsonKey(name: 'items') final List? items}) + : _statusMap = statusMap, + _items = items; + + factory _$_MBInboxResponse.fromJson(Map json) => + _$$_MBInboxResponseFromJson(json); + + @override + @JsonKey(name: 'totalCount') + final int? totalCount; + @override + @JsonKey(name: 'nearingSlaCount') + final int? nearingSlaCount; + final List? _statusMap; + @override + @JsonKey(name: 'statusMap') + List? get statusMap { + final value = _statusMap; + if (value == null) return null; + if (_statusMap is EqualUnmodifiableListView) return _statusMap; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + final List? _items; + @override + @JsonKey(name: 'items') + List? get items { + final value = _items; + if (value == null) return null; + if (_items is EqualUnmodifiableListView) return _items; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'MBInboxResponse(totalCount: $totalCount, nearingSlaCount: $nearingSlaCount, statusMap: $statusMap, items: $items)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_MBInboxResponse && + (identical(other.totalCount, totalCount) || + other.totalCount == totalCount) && + (identical(other.nearingSlaCount, nearingSlaCount) || + other.nearingSlaCount == nearingSlaCount) && + const DeepCollectionEquality() + .equals(other._statusMap, _statusMap) && + const DeepCollectionEquality().equals(other._items, _items)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + totalCount, + nearingSlaCount, + const DeepCollectionEquality().hash(_statusMap), + const DeepCollectionEquality().hash(_items)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_MBInboxResponseCopyWith<_$_MBInboxResponse> get copyWith => + __$$_MBInboxResponseCopyWithImpl<_$_MBInboxResponse>(this, _$identity); + + @override + Map toJson() { + return _$$_MBInboxResponseToJson( + this, + ); + } +} + +abstract class _MBInboxResponse implements MBInboxResponse { + const factory _MBInboxResponse( + {@JsonKey(name: 'totalCount') final int? totalCount, + @JsonKey(name: 'nearingSlaCount') final int? nearingSlaCount, + @JsonKey(name: 'statusMap') final List? statusMap, + @JsonKey(name: 'items') final List? items}) = + _$_MBInboxResponse; + + factory _MBInboxResponse.fromJson(Map json) = + _$_MBInboxResponse.fromJson; + + @override + @JsonKey(name: 'totalCount') + int? get totalCount; + @override + @JsonKey(name: 'nearingSlaCount') + int? get nearingSlaCount; + @override + @JsonKey(name: 'statusMap') + List? get statusMap; + @override + @JsonKey(name: 'items') + List? get items; + @override + @JsonKey(ignore: true) + _$$_MBInboxResponseCopyWith<_$_MBInboxResponse> get copyWith => + throw _privateConstructorUsedError; +} + +StatusMap _$StatusMapFromJson(Map json) { + return _StatusMap.fromJson(json); +} + +/// @nodoc +mixin _$StatusMap { + @JsonKey(name: 'statusid') + String? get statusid => throw _privateConstructorUsedError; + @JsonKey(name: 'count') + int? get count => throw _privateConstructorUsedError; + @JsonKey(name: 'state') + String? get state => throw _privateConstructorUsedError; + @JsonKey(name: 'applicationstatus') + String? get applicationstatus => throw _privateConstructorUsedError; + @JsonKey(name: 'businessservice') + String? get businessservice => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $StatusMapCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $StatusMapCopyWith<$Res> { + factory $StatusMapCopyWith(StatusMap value, $Res Function(StatusMap) then) = + _$StatusMapCopyWithImpl<$Res, StatusMap>; + @useResult + $Res call( + {@JsonKey(name: 'statusid') String? statusid, + @JsonKey(name: 'count') int? count, + @JsonKey(name: 'state') String? state, + @JsonKey(name: 'applicationstatus') String? applicationstatus, + @JsonKey(name: 'businessservice') String? businessservice}); +} + +/// @nodoc +class _$StatusMapCopyWithImpl<$Res, $Val extends StatusMap> + implements $StatusMapCopyWith<$Res> { + _$StatusMapCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? statusid = freezed, + Object? count = freezed, + Object? state = freezed, + Object? applicationstatus = freezed, + Object? businessservice = freezed, + }) { + return _then(_value.copyWith( + statusid: freezed == statusid + ? _value.statusid + : statusid // ignore: cast_nullable_to_non_nullable + as String?, + count: freezed == count + ? _value.count + : count // ignore: cast_nullable_to_non_nullable + as int?, + state: freezed == state + ? _value.state + : state // ignore: cast_nullable_to_non_nullable + as String?, + applicationstatus: freezed == applicationstatus + ? _value.applicationstatus + : applicationstatus // ignore: cast_nullable_to_non_nullable + as String?, + businessservice: freezed == businessservice + ? _value.businessservice + : businessservice // ignore: cast_nullable_to_non_nullable + as String?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_StatusMapCopyWith<$Res> implements $StatusMapCopyWith<$Res> { + factory _$$_StatusMapCopyWith( + _$_StatusMap value, $Res Function(_$_StatusMap) then) = + __$$_StatusMapCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'statusid') String? statusid, + @JsonKey(name: 'count') int? count, + @JsonKey(name: 'state') String? state, + @JsonKey(name: 'applicationstatus') String? applicationstatus, + @JsonKey(name: 'businessservice') String? businessservice}); +} + +/// @nodoc +class __$$_StatusMapCopyWithImpl<$Res> + extends _$StatusMapCopyWithImpl<$Res, _$_StatusMap> + implements _$$_StatusMapCopyWith<$Res> { + __$$_StatusMapCopyWithImpl( + _$_StatusMap _value, $Res Function(_$_StatusMap) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? statusid = freezed, + Object? count = freezed, + Object? state = freezed, + Object? applicationstatus = freezed, + Object? businessservice = freezed, + }) { + return _then(_$_StatusMap( + statusid: freezed == statusid + ? _value.statusid + : statusid // ignore: cast_nullable_to_non_nullable + as String?, + count: freezed == count + ? _value.count + : count // ignore: cast_nullable_to_non_nullable + as int?, + state: freezed == state + ? _value.state + : state // ignore: cast_nullable_to_non_nullable + as String?, + applicationstatus: freezed == applicationstatus + ? _value.applicationstatus + : applicationstatus // ignore: cast_nullable_to_non_nullable + as String?, + businessservice: freezed == businessservice + ? _value.businessservice + : businessservice // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_StatusMap implements _StatusMap { + const _$_StatusMap( + {@JsonKey(name: 'statusid') this.statusid, + @JsonKey(name: 'count') this.count, + @JsonKey(name: 'state') this.state, + @JsonKey(name: 'applicationstatus') this.applicationstatus, + @JsonKey(name: 'businessservice') this.businessservice}); + + factory _$_StatusMap.fromJson(Map json) => + _$$_StatusMapFromJson(json); + + @override + @JsonKey(name: 'statusid') + final String? statusid; + @override + @JsonKey(name: 'count') + final int? count; + @override + @JsonKey(name: 'state') + final String? state; + @override + @JsonKey(name: 'applicationstatus') + final String? applicationstatus; + @override + @JsonKey(name: 'businessservice') + final String? businessservice; + + @override + String toString() { + return 'StatusMap(statusid: $statusid, count: $count, state: $state, applicationstatus: $applicationstatus, businessservice: $businessservice)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_StatusMap && + (identical(other.statusid, statusid) || + other.statusid == statusid) && + (identical(other.count, count) || other.count == count) && + (identical(other.state, state) || other.state == state) && + (identical(other.applicationstatus, applicationstatus) || + other.applicationstatus == applicationstatus) && + (identical(other.businessservice, businessservice) || + other.businessservice == businessservice)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, statusid, count, state, applicationstatus, businessservice); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_StatusMapCopyWith<_$_StatusMap> get copyWith => + __$$_StatusMapCopyWithImpl<_$_StatusMap>(this, _$identity); + + @override + Map toJson() { + return _$$_StatusMapToJson( + this, + ); + } +} + +abstract class _StatusMap implements StatusMap { + const factory _StatusMap( + {@JsonKey(name: 'statusid') final String? statusid, + @JsonKey(name: 'count') final int? count, + @JsonKey(name: 'state') final String? state, + @JsonKey(name: 'applicationstatus') final String? applicationstatus, + @JsonKey(name: 'businessservice') final String? businessservice}) = + _$_StatusMap; + + factory _StatusMap.fromJson(Map json) = + _$_StatusMap.fromJson; + + @override + @JsonKey(name: 'statusid') + String? get statusid; + @override + @JsonKey(name: 'count') + int? get count; + @override + @JsonKey(name: 'state') + String? get state; + @override + @JsonKey(name: 'applicationstatus') + String? get applicationstatus; + @override + @JsonKey(name: 'businessservice') + String? get businessservice; + @override + @JsonKey(ignore: true) + _$$_StatusMapCopyWith<_$_StatusMap> get copyWith => + throw _privateConstructorUsedError; +} + +ItemData _$ItemDataFromJson(Map json) { + return _ItemData.fromJson(json); +} + +/// @nodoc +mixin _$ItemData { + @JsonKey(name: 'ProcessInstance') + ProcessInstance? get processInstance => throw _privateConstructorUsedError; + @JsonKey(name: 'businessObject') + BusinessObject? get businessObject => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $ItemDataCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $ItemDataCopyWith<$Res> { + factory $ItemDataCopyWith(ItemData value, $Res Function(ItemData) then) = + _$ItemDataCopyWithImpl<$Res, ItemData>; + @useResult + $Res call( + {@JsonKey(name: 'ProcessInstance') ProcessInstance? processInstance, + @JsonKey(name: 'businessObject') BusinessObject? businessObject}); + + $ProcessInstanceCopyWith<$Res>? get processInstance; + $BusinessObjectCopyWith<$Res>? get businessObject; +} + +/// @nodoc +class _$ItemDataCopyWithImpl<$Res, $Val extends ItemData> + implements $ItemDataCopyWith<$Res> { + _$ItemDataCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? processInstance = freezed, + Object? businessObject = freezed, + }) { + return _then(_value.copyWith( + processInstance: freezed == processInstance + ? _value.processInstance + : processInstance // ignore: cast_nullable_to_non_nullable + as ProcessInstance?, + businessObject: freezed == businessObject + ? _value.businessObject + : businessObject // ignore: cast_nullable_to_non_nullable + as BusinessObject?, + ) as $Val); + } + + @override + @pragma('vm:prefer-inline') + $ProcessInstanceCopyWith<$Res>? get processInstance { + if (_value.processInstance == null) { + return null; + } + + return $ProcessInstanceCopyWith<$Res>(_value.processInstance!, (value) { + return _then(_value.copyWith(processInstance: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $BusinessObjectCopyWith<$Res>? get businessObject { + if (_value.businessObject == null) { + return null; + } + + return $BusinessObjectCopyWith<$Res>(_value.businessObject!, (value) { + return _then(_value.copyWith(businessObject: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$_ItemDataCopyWith<$Res> implements $ItemDataCopyWith<$Res> { + factory _$$_ItemDataCopyWith( + _$_ItemData value, $Res Function(_$_ItemData) then) = + __$$_ItemDataCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'ProcessInstance') ProcessInstance? processInstance, + @JsonKey(name: 'businessObject') BusinessObject? businessObject}); + + @override + $ProcessInstanceCopyWith<$Res>? get processInstance; + @override + $BusinessObjectCopyWith<$Res>? get businessObject; +} + +/// @nodoc +class __$$_ItemDataCopyWithImpl<$Res> + extends _$ItemDataCopyWithImpl<$Res, _$_ItemData> + implements _$$_ItemDataCopyWith<$Res> { + __$$_ItemDataCopyWithImpl( + _$_ItemData _value, $Res Function(_$_ItemData) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? processInstance = freezed, + Object? businessObject = freezed, + }) { + return _then(_$_ItemData( + processInstance: freezed == processInstance + ? _value.processInstance + : processInstance // ignore: cast_nullable_to_non_nullable + as ProcessInstance?, + businessObject: freezed == businessObject + ? _value.businessObject + : businessObject // ignore: cast_nullable_to_non_nullable + as BusinessObject?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_ItemData implements _ItemData { + const _$_ItemData( + {@JsonKey(name: 'ProcessInstance') this.processInstance, + @JsonKey(name: 'businessObject') this.businessObject}); + + factory _$_ItemData.fromJson(Map json) => + _$$_ItemDataFromJson(json); + + @override + @JsonKey(name: 'ProcessInstance') + final ProcessInstance? processInstance; + @override + @JsonKey(name: 'businessObject') + final BusinessObject? businessObject; + + @override + String toString() { + return 'ItemData(processInstance: $processInstance, businessObject: $businessObject)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_ItemData && + (identical(other.processInstance, processInstance) || + other.processInstance == processInstance) && + (identical(other.businessObject, businessObject) || + other.businessObject == businessObject)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, processInstance, businessObject); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_ItemDataCopyWith<_$_ItemData> get copyWith => + __$$_ItemDataCopyWithImpl<_$_ItemData>(this, _$identity); + + @override + Map toJson() { + return _$$_ItemDataToJson( + this, + ); + } +} + +abstract class _ItemData implements ItemData { + const factory _ItemData( + {@JsonKey(name: 'ProcessInstance') + final ProcessInstance? processInstance, + @JsonKey(name: 'businessObject') + final BusinessObject? businessObject}) = _$_ItemData; + + factory _ItemData.fromJson(Map json) = _$_ItemData.fromJson; + + @override + @JsonKey(name: 'ProcessInstance') + ProcessInstance? get processInstance; + @override + @JsonKey(name: 'businessObject') + BusinessObject? get businessObject; + @override + @JsonKey(ignore: true) + _$$_ItemDataCopyWith<_$_ItemData> get copyWith => + throw _privateConstructorUsedError; +} + +ProcessInstance _$ProcessInstanceFromJson(Map json) { + return _ProcessInstance.fromJson(json); +} + +/// @nodoc +mixin _$ProcessInstance { + @JsonKey(name: 'id') + String? get id => throw _privateConstructorUsedError; + @JsonKey(name: 'tenantId') + String? get tenantId => throw _privateConstructorUsedError; + @JsonKey(name: 'businessService') + String? get businessService => throw _privateConstructorUsedError; + @JsonKey(name: 'businessId') + String? get businessId => throw _privateConstructorUsedError; + @JsonKey(name: 'action') + String? get action => throw _privateConstructorUsedError; + @JsonKey(name: 'moduleName') + String? get moduleName => throw _privateConstructorUsedError; + @JsonKey(name: 'businesssServiceSla') + int? get businesssServiceSla => throw _privateConstructorUsedError; + @JsonKey(name: 'rating') + int? get rating => throw _privateConstructorUsedError; + @JsonKey(name: 'state') + State? get state => throw _privateConstructorUsedError; + @JsonKey(name: 'assigner') + Assigner? get assigner => throw _privateConstructorUsedError; + @JsonKey(name: 'auditDetails') + AuditDetails? get auditDetails => throw _privateConstructorUsedError; + @JsonKey(name: 'assignes') + List? get assignes => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $ProcessInstanceCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $ProcessInstanceCopyWith<$Res> { + factory $ProcessInstanceCopyWith( + ProcessInstance value, $Res Function(ProcessInstance) then) = + _$ProcessInstanceCopyWithImpl<$Res, ProcessInstance>; + @useResult + $Res call( + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'businessService') String? businessService, + @JsonKey(name: 'businessId') String? businessId, + @JsonKey(name: 'action') String? action, + @JsonKey(name: 'moduleName') String? moduleName, + @JsonKey(name: 'businesssServiceSla') int? businesssServiceSla, + @JsonKey(name: 'rating') int? rating, + @JsonKey(name: 'state') State? state, + @JsonKey(name: 'assigner') Assigner? assigner, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, + @JsonKey(name: 'assignes') List? assignes}); + + $StateCopyWith<$Res>? get state; + $AssignerCopyWith<$Res>? get assigner; + $AuditDetailsCopyWith<$Res>? get auditDetails; +} + +/// @nodoc +class _$ProcessInstanceCopyWithImpl<$Res, $Val extends ProcessInstance> + implements $ProcessInstanceCopyWith<$Res> { + _$ProcessInstanceCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? tenantId = freezed, + Object? businessService = freezed, + Object? businessId = freezed, + Object? action = freezed, + Object? moduleName = freezed, + Object? businesssServiceSla = freezed, + Object? rating = freezed, + Object? state = freezed, + Object? assigner = freezed, + Object? auditDetails = freezed, + Object? assignes = freezed, + }) { + return _then(_value.copyWith( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + businessService: freezed == businessService + ? _value.businessService + : businessService // ignore: cast_nullable_to_non_nullable + as String?, + businessId: freezed == businessId + ? _value.businessId + : businessId // ignore: cast_nullable_to_non_nullable + as String?, + action: freezed == action + ? _value.action + : action // ignore: cast_nullable_to_non_nullable + as String?, + moduleName: freezed == moduleName + ? _value.moduleName + : moduleName // ignore: cast_nullable_to_non_nullable + as String?, + businesssServiceSla: freezed == businesssServiceSla + ? _value.businesssServiceSla + : businesssServiceSla // ignore: cast_nullable_to_non_nullable + as int?, + rating: freezed == rating + ? _value.rating + : rating // ignore: cast_nullable_to_non_nullable + as int?, + state: freezed == state + ? _value.state + : state // ignore: cast_nullable_to_non_nullable + as State?, + assigner: freezed == assigner + ? _value.assigner + : assigner // ignore: cast_nullable_to_non_nullable + as Assigner?, + auditDetails: freezed == auditDetails + ? _value.auditDetails + : auditDetails // ignore: cast_nullable_to_non_nullable + as AuditDetails?, + assignes: freezed == assignes + ? _value.assignes + : assignes // ignore: cast_nullable_to_non_nullable + as List?, + ) as $Val); + } + + @override + @pragma('vm:prefer-inline') + $StateCopyWith<$Res>? get state { + if (_value.state == null) { + return null; + } + + return $StateCopyWith<$Res>(_value.state!, (value) { + return _then(_value.copyWith(state: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $AssignerCopyWith<$Res>? get assigner { + if (_value.assigner == null) { + return null; + } + + return $AssignerCopyWith<$Res>(_value.assigner!, (value) { + return _then(_value.copyWith(assigner: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $AuditDetailsCopyWith<$Res>? get auditDetails { + if (_value.auditDetails == null) { + return null; + } + + return $AuditDetailsCopyWith<$Res>(_value.auditDetails!, (value) { + return _then(_value.copyWith(auditDetails: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$_ProcessInstanceCopyWith<$Res> + implements $ProcessInstanceCopyWith<$Res> { + factory _$$_ProcessInstanceCopyWith( + _$_ProcessInstance value, $Res Function(_$_ProcessInstance) then) = + __$$_ProcessInstanceCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'businessService') String? businessService, + @JsonKey(name: 'businessId') String? businessId, + @JsonKey(name: 'action') String? action, + @JsonKey(name: 'moduleName') String? moduleName, + @JsonKey(name: 'businesssServiceSla') int? businesssServiceSla, + @JsonKey(name: 'rating') int? rating, + @JsonKey(name: 'state') State? state, + @JsonKey(name: 'assigner') Assigner? assigner, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, + @JsonKey(name: 'assignes') List? assignes}); + + @override + $StateCopyWith<$Res>? get state; + @override + $AssignerCopyWith<$Res>? get assigner; + @override + $AuditDetailsCopyWith<$Res>? get auditDetails; +} + +/// @nodoc +class __$$_ProcessInstanceCopyWithImpl<$Res> + extends _$ProcessInstanceCopyWithImpl<$Res, _$_ProcessInstance> + implements _$$_ProcessInstanceCopyWith<$Res> { + __$$_ProcessInstanceCopyWithImpl( + _$_ProcessInstance _value, $Res Function(_$_ProcessInstance) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? tenantId = freezed, + Object? businessService = freezed, + Object? businessId = freezed, + Object? action = freezed, + Object? moduleName = freezed, + Object? businesssServiceSla = freezed, + Object? rating = freezed, + Object? state = freezed, + Object? assigner = freezed, + Object? auditDetails = freezed, + Object? assignes = freezed, + }) { + return _then(_$_ProcessInstance( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + businessService: freezed == businessService + ? _value.businessService + : businessService // ignore: cast_nullable_to_non_nullable + as String?, + businessId: freezed == businessId + ? _value.businessId + : businessId // ignore: cast_nullable_to_non_nullable + as String?, + action: freezed == action + ? _value.action + : action // ignore: cast_nullable_to_non_nullable + as String?, + moduleName: freezed == moduleName + ? _value.moduleName + : moduleName // ignore: cast_nullable_to_non_nullable + as String?, + businesssServiceSla: freezed == businesssServiceSla + ? _value.businesssServiceSla + : businesssServiceSla // ignore: cast_nullable_to_non_nullable + as int?, + rating: freezed == rating + ? _value.rating + : rating // ignore: cast_nullable_to_non_nullable + as int?, + state: freezed == state + ? _value.state + : state // ignore: cast_nullable_to_non_nullable + as State?, + assigner: freezed == assigner + ? _value.assigner + : assigner // ignore: cast_nullable_to_non_nullable + as Assigner?, + auditDetails: freezed == auditDetails + ? _value.auditDetails + : auditDetails // ignore: cast_nullable_to_non_nullable + as AuditDetails?, + assignes: freezed == assignes + ? _value._assignes + : assignes // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_ProcessInstance implements _ProcessInstance { + const _$_ProcessInstance( + {@JsonKey(name: 'id') this.id, + @JsonKey(name: 'tenantId') this.tenantId, + @JsonKey(name: 'businessService') this.businessService, + @JsonKey(name: 'businessId') this.businessId, + @JsonKey(name: 'action') this.action, + @JsonKey(name: 'moduleName') this.moduleName, + @JsonKey(name: 'businesssServiceSla') this.businesssServiceSla, + @JsonKey(name: 'rating') this.rating, + @JsonKey(name: 'state') this.state, + @JsonKey(name: 'assigner') this.assigner, + @JsonKey(name: 'auditDetails') this.auditDetails, + @JsonKey(name: 'assignes') final List? assignes}) + : _assignes = assignes; + + factory _$_ProcessInstance.fromJson(Map json) => + _$$_ProcessInstanceFromJson(json); + + @override + @JsonKey(name: 'id') + final String? id; + @override + @JsonKey(name: 'tenantId') + final String? tenantId; + @override + @JsonKey(name: 'businessService') + final String? businessService; + @override + @JsonKey(name: 'businessId') + final String? businessId; + @override + @JsonKey(name: 'action') + final String? action; + @override + @JsonKey(name: 'moduleName') + final String? moduleName; + @override + @JsonKey(name: 'businesssServiceSla') + final int? businesssServiceSla; + @override + @JsonKey(name: 'rating') + final int? rating; + @override + @JsonKey(name: 'state') + final State? state; + @override + @JsonKey(name: 'assigner') + final Assigner? assigner; + @override + @JsonKey(name: 'auditDetails') + final AuditDetails? auditDetails; + final List? _assignes; + @override + @JsonKey(name: 'assignes') + List? get assignes { + final value = _assignes; + if (value == null) return null; + if (_assignes is EqualUnmodifiableListView) return _assignes; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'ProcessInstance(id: $id, tenantId: $tenantId, businessService: $businessService, businessId: $businessId, action: $action, moduleName: $moduleName, businesssServiceSla: $businesssServiceSla, rating: $rating, state: $state, assigner: $assigner, auditDetails: $auditDetails, assignes: $assignes)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_ProcessInstance && + (identical(other.id, id) || other.id == id) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.businessService, businessService) || + other.businessService == businessService) && + (identical(other.businessId, businessId) || + other.businessId == businessId) && + (identical(other.action, action) || other.action == action) && + (identical(other.moduleName, moduleName) || + other.moduleName == moduleName) && + (identical(other.businesssServiceSla, businesssServiceSla) || + other.businesssServiceSla == businesssServiceSla) && + (identical(other.rating, rating) || other.rating == rating) && + (identical(other.state, state) || other.state == state) && + (identical(other.assigner, assigner) || + other.assigner == assigner) && + (identical(other.auditDetails, auditDetails) || + other.auditDetails == auditDetails) && + const DeepCollectionEquality().equals(other._assignes, _assignes)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + id, + tenantId, + businessService, + businessId, + action, + moduleName, + businesssServiceSla, + rating, + state, + assigner, + auditDetails, + const DeepCollectionEquality().hash(_assignes)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_ProcessInstanceCopyWith<_$_ProcessInstance> get copyWith => + __$$_ProcessInstanceCopyWithImpl<_$_ProcessInstance>(this, _$identity); + + @override + Map toJson() { + return _$$_ProcessInstanceToJson( + this, + ); + } +} + +abstract class _ProcessInstance implements ProcessInstance { + const factory _ProcessInstance( + {@JsonKey(name: 'id') final String? id, + @JsonKey(name: 'tenantId') final String? tenantId, + @JsonKey(name: 'businessService') final String? businessService, + @JsonKey(name: 'businessId') final String? businessId, + @JsonKey(name: 'action') final String? action, + @JsonKey(name: 'moduleName') final String? moduleName, + @JsonKey(name: 'businesssServiceSla') final int? businesssServiceSla, + @JsonKey(name: 'rating') final int? rating, + @JsonKey(name: 'state') final State? state, + @JsonKey(name: 'assigner') final Assigner? assigner, + @JsonKey(name: 'auditDetails') final AuditDetails? auditDetails, + @JsonKey(name: 'assignes') final List? assignes}) = + _$_ProcessInstance; + + factory _ProcessInstance.fromJson(Map json) = + _$_ProcessInstance.fromJson; + + @override + @JsonKey(name: 'id') + String? get id; + @override + @JsonKey(name: 'tenantId') + String? get tenantId; + @override + @JsonKey(name: 'businessService') + String? get businessService; + @override + @JsonKey(name: 'businessId') + String? get businessId; + @override + @JsonKey(name: 'action') + String? get action; + @override + @JsonKey(name: 'moduleName') + String? get moduleName; + @override + @JsonKey(name: 'businesssServiceSla') + int? get businesssServiceSla; + @override + @JsonKey(name: 'rating') + int? get rating; + @override + @JsonKey(name: 'state') + State? get state; + @override + @JsonKey(name: 'assigner') + Assigner? get assigner; + @override + @JsonKey(name: 'auditDetails') + AuditDetails? get auditDetails; + @override + @JsonKey(name: 'assignes') + List? get assignes; + @override + @JsonKey(ignore: true) + _$$_ProcessInstanceCopyWith<_$_ProcessInstance> get copyWith => + throw _privateConstructorUsedError; +} + +AuditDetails _$AuditDetailsFromJson(Map json) { + return _AuditDetails.fromJson(json); +} + +/// @nodoc +mixin _$AuditDetails { + String? get createdBy => throw _privateConstructorUsedError; + String? get lastModifiedBy => throw _privateConstructorUsedError; + int? get createdTime => throw _privateConstructorUsedError; + int? get lastModifiedTime => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $AuditDetailsCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $AuditDetailsCopyWith<$Res> { + factory $AuditDetailsCopyWith( + AuditDetails value, $Res Function(AuditDetails) then) = + _$AuditDetailsCopyWithImpl<$Res, AuditDetails>; + @useResult + $Res call( + {String? createdBy, + String? lastModifiedBy, + int? createdTime, + int? lastModifiedTime}); +} + +/// @nodoc +class _$AuditDetailsCopyWithImpl<$Res, $Val extends AuditDetails> + implements $AuditDetailsCopyWith<$Res> { + _$AuditDetailsCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? createdBy = freezed, + Object? lastModifiedBy = freezed, + Object? createdTime = freezed, + Object? lastModifiedTime = freezed, + }) { + return _then(_value.copyWith( + createdBy: freezed == createdBy + ? _value.createdBy + : createdBy // ignore: cast_nullable_to_non_nullable + as String?, + lastModifiedBy: freezed == lastModifiedBy + ? _value.lastModifiedBy + : lastModifiedBy // ignore: cast_nullable_to_non_nullable + as String?, + createdTime: freezed == createdTime + ? _value.createdTime + : createdTime // ignore: cast_nullable_to_non_nullable + as int?, + lastModifiedTime: freezed == lastModifiedTime + ? _value.lastModifiedTime + : lastModifiedTime // ignore: cast_nullable_to_non_nullable + as int?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_AuditDetailsCopyWith<$Res> + implements $AuditDetailsCopyWith<$Res> { + factory _$$_AuditDetailsCopyWith( + _$_AuditDetails value, $Res Function(_$_AuditDetails) then) = + __$$_AuditDetailsCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {String? createdBy, + String? lastModifiedBy, + int? createdTime, + int? lastModifiedTime}); +} + +/// @nodoc +class __$$_AuditDetailsCopyWithImpl<$Res> + extends _$AuditDetailsCopyWithImpl<$Res, _$_AuditDetails> + implements _$$_AuditDetailsCopyWith<$Res> { + __$$_AuditDetailsCopyWithImpl( + _$_AuditDetails _value, $Res Function(_$_AuditDetails) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? createdBy = freezed, + Object? lastModifiedBy = freezed, + Object? createdTime = freezed, + Object? lastModifiedTime = freezed, + }) { + return _then(_$_AuditDetails( + createdBy: freezed == createdBy + ? _value.createdBy + : createdBy // ignore: cast_nullable_to_non_nullable + as String?, + lastModifiedBy: freezed == lastModifiedBy + ? _value.lastModifiedBy + : lastModifiedBy // ignore: cast_nullable_to_non_nullable + as String?, + createdTime: freezed == createdTime + ? _value.createdTime + : createdTime // ignore: cast_nullable_to_non_nullable + as int?, + lastModifiedTime: freezed == lastModifiedTime + ? _value.lastModifiedTime + : lastModifiedTime // ignore: cast_nullable_to_non_nullable + as int?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_AuditDetails implements _AuditDetails { + const _$_AuditDetails( + {this.createdBy, + this.lastModifiedBy, + this.createdTime, + this.lastModifiedTime}); + + factory _$_AuditDetails.fromJson(Map json) => + _$$_AuditDetailsFromJson(json); + + @override + final String? createdBy; + @override + final String? lastModifiedBy; + @override + final int? createdTime; + @override + final int? lastModifiedTime; + + @override + String toString() { + return 'AuditDetails(createdBy: $createdBy, lastModifiedBy: $lastModifiedBy, createdTime: $createdTime, lastModifiedTime: $lastModifiedTime)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_AuditDetails && + (identical(other.createdBy, createdBy) || + other.createdBy == createdBy) && + (identical(other.lastModifiedBy, lastModifiedBy) || + other.lastModifiedBy == lastModifiedBy) && + (identical(other.createdTime, createdTime) || + other.createdTime == createdTime) && + (identical(other.lastModifiedTime, lastModifiedTime) || + other.lastModifiedTime == lastModifiedTime)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, createdBy, lastModifiedBy, createdTime, lastModifiedTime); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_AuditDetailsCopyWith<_$_AuditDetails> get copyWith => + __$$_AuditDetailsCopyWithImpl<_$_AuditDetails>(this, _$identity); + + @override + Map toJson() { + return _$$_AuditDetailsToJson( + this, + ); + } +} + +abstract class _AuditDetails implements AuditDetails { + const factory _AuditDetails( + {final String? createdBy, + final String? lastModifiedBy, + final int? createdTime, + final int? lastModifiedTime}) = _$_AuditDetails; + + factory _AuditDetails.fromJson(Map json) = + _$_AuditDetails.fromJson; + + @override + String? get createdBy; + @override + String? get lastModifiedBy; + @override + int? get createdTime; + @override + int? get lastModifiedTime; + @override + @JsonKey(ignore: true) + _$$_AuditDetailsCopyWith<_$_AuditDetails> get copyWith => + throw _privateConstructorUsedError; +} + +State _$StateFromJson(Map json) { + return _State.fromJson(json); +} + +/// @nodoc +mixin _$State { + @JsonKey(name: 'uuid') + String? get uuid => throw _privateConstructorUsedError; + @JsonKey(name: 'tenantId') + String? get tenantId => throw _privateConstructorUsedError; + @JsonKey(name: 'businessServiceId') + String? get businessServiceId => throw _privateConstructorUsedError; + @JsonKey(name: 'sla') + int? get sla => throw _privateConstructorUsedError; + @JsonKey(name: 'state') + String? get state => throw _privateConstructorUsedError; + @JsonKey(name: 'applicationStatus') + String? get applicationStatus => throw _privateConstructorUsedError; + @JsonKey(name: 'docUploadRequired') + bool? get docUploadRequired => throw _privateConstructorUsedError; + @JsonKey(name: 'isStartState') + bool? get isStartState => throw _privateConstructorUsedError; + @JsonKey(name: 'isTerminateState') + bool? get isTerminateState => throw _privateConstructorUsedError; + @JsonKey(name: 'isStateUpdatable') + bool? get isStateUpdatable => throw _privateConstructorUsedError; + @JsonKey(name: 'actions') + List? get actions => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $StateCopyWith get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $StateCopyWith<$Res> { + factory $StateCopyWith(State value, $Res Function(State) then) = + _$StateCopyWithImpl<$Res, State>; + @useResult + $Res call( + {@JsonKey(name: 'uuid') String? uuid, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'businessServiceId') String? businessServiceId, + @JsonKey(name: 'sla') int? sla, + @JsonKey(name: 'state') String? state, + @JsonKey(name: 'applicationStatus') String? applicationStatus, + @JsonKey(name: 'docUploadRequired') bool? docUploadRequired, + @JsonKey(name: 'isStartState') bool? isStartState, + @JsonKey(name: 'isTerminateState') bool? isTerminateState, + @JsonKey(name: 'isStateUpdatable') bool? isStateUpdatable, + @JsonKey(name: 'actions') List? actions}); +} + +/// @nodoc +class _$StateCopyWithImpl<$Res, $Val extends State> + implements $StateCopyWith<$Res> { + _$StateCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? uuid = freezed, + Object? tenantId = freezed, + Object? businessServiceId = freezed, + Object? sla = freezed, + Object? state = freezed, + Object? applicationStatus = freezed, + Object? docUploadRequired = freezed, + Object? isStartState = freezed, + Object? isTerminateState = freezed, + Object? isStateUpdatable = freezed, + Object? actions = freezed, + }) { + return _then(_value.copyWith( + uuid: freezed == uuid + ? _value.uuid + : uuid // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + businessServiceId: freezed == businessServiceId + ? _value.businessServiceId + : businessServiceId // ignore: cast_nullable_to_non_nullable + as String?, + sla: freezed == sla + ? _value.sla + : sla // ignore: cast_nullable_to_non_nullable + as int?, + state: freezed == state + ? _value.state + : state // ignore: cast_nullable_to_non_nullable + as String?, + applicationStatus: freezed == applicationStatus + ? _value.applicationStatus + : applicationStatus // ignore: cast_nullable_to_non_nullable + as String?, + docUploadRequired: freezed == docUploadRequired + ? _value.docUploadRequired + : docUploadRequired // ignore: cast_nullable_to_non_nullable + as bool?, + isStartState: freezed == isStartState + ? _value.isStartState + : isStartState // ignore: cast_nullable_to_non_nullable + as bool?, + isTerminateState: freezed == isTerminateState + ? _value.isTerminateState + : isTerminateState // ignore: cast_nullable_to_non_nullable + as bool?, + isStateUpdatable: freezed == isStateUpdatable + ? _value.isStateUpdatable + : isStateUpdatable // ignore: cast_nullable_to_non_nullable + as bool?, + actions: freezed == actions + ? _value.actions + : actions // ignore: cast_nullable_to_non_nullable + as List?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_StateCopyWith<$Res> implements $StateCopyWith<$Res> { + factory _$$_StateCopyWith(_$_State value, $Res Function(_$_State) then) = + __$$_StateCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'uuid') String? uuid, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'businessServiceId') String? businessServiceId, + @JsonKey(name: 'sla') int? sla, + @JsonKey(name: 'state') String? state, + @JsonKey(name: 'applicationStatus') String? applicationStatus, + @JsonKey(name: 'docUploadRequired') bool? docUploadRequired, + @JsonKey(name: 'isStartState') bool? isStartState, + @JsonKey(name: 'isTerminateState') bool? isTerminateState, + @JsonKey(name: 'isStateUpdatable') bool? isStateUpdatable, + @JsonKey(name: 'actions') List? actions}); +} + +/// @nodoc +class __$$_StateCopyWithImpl<$Res> extends _$StateCopyWithImpl<$Res, _$_State> + implements _$$_StateCopyWith<$Res> { + __$$_StateCopyWithImpl(_$_State _value, $Res Function(_$_State) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? uuid = freezed, + Object? tenantId = freezed, + Object? businessServiceId = freezed, + Object? sla = freezed, + Object? state = freezed, + Object? applicationStatus = freezed, + Object? docUploadRequired = freezed, + Object? isStartState = freezed, + Object? isTerminateState = freezed, + Object? isStateUpdatable = freezed, + Object? actions = freezed, + }) { + return _then(_$_State( + uuid: freezed == uuid + ? _value.uuid + : uuid // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + businessServiceId: freezed == businessServiceId + ? _value.businessServiceId + : businessServiceId // ignore: cast_nullable_to_non_nullable + as String?, + sla: freezed == sla + ? _value.sla + : sla // ignore: cast_nullable_to_non_nullable + as int?, + state: freezed == state + ? _value.state + : state // ignore: cast_nullable_to_non_nullable + as String?, + applicationStatus: freezed == applicationStatus + ? _value.applicationStatus + : applicationStatus // ignore: cast_nullable_to_non_nullable + as String?, + docUploadRequired: freezed == docUploadRequired + ? _value.docUploadRequired + : docUploadRequired // ignore: cast_nullable_to_non_nullable + as bool?, + isStartState: freezed == isStartState + ? _value.isStartState + : isStartState // ignore: cast_nullable_to_non_nullable + as bool?, + isTerminateState: freezed == isTerminateState + ? _value.isTerminateState + : isTerminateState // ignore: cast_nullable_to_non_nullable + as bool?, + isStateUpdatable: freezed == isStateUpdatable + ? _value.isStateUpdatable + : isStateUpdatable // ignore: cast_nullable_to_non_nullable + as bool?, + actions: freezed == actions + ? _value._actions + : actions // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_State implements _State { + const _$_State( + {@JsonKey(name: 'uuid') this.uuid, + @JsonKey(name: 'tenantId') this.tenantId, + @JsonKey(name: 'businessServiceId') this.businessServiceId, + @JsonKey(name: 'sla') this.sla, + @JsonKey(name: 'state') this.state, + @JsonKey(name: 'applicationStatus') this.applicationStatus, + @JsonKey(name: 'docUploadRequired') this.docUploadRequired, + @JsonKey(name: 'isStartState') this.isStartState, + @JsonKey(name: 'isTerminateState') this.isTerminateState, + @JsonKey(name: 'isStateUpdatable') this.isStateUpdatable, + @JsonKey(name: 'actions') final List? actions}) + : _actions = actions; + + factory _$_State.fromJson(Map json) => + _$$_StateFromJson(json); + + @override + @JsonKey(name: 'uuid') + final String? uuid; + @override + @JsonKey(name: 'tenantId') + final String? tenantId; + @override + @JsonKey(name: 'businessServiceId') + final String? businessServiceId; + @override + @JsonKey(name: 'sla') + final int? sla; + @override + @JsonKey(name: 'state') + final String? state; + @override + @JsonKey(name: 'applicationStatus') + final String? applicationStatus; + @override + @JsonKey(name: 'docUploadRequired') + final bool? docUploadRequired; + @override + @JsonKey(name: 'isStartState') + final bool? isStartState; + @override + @JsonKey(name: 'isTerminateState') + final bool? isTerminateState; + @override + @JsonKey(name: 'isStateUpdatable') + final bool? isStateUpdatable; + final List? _actions; + @override + @JsonKey(name: 'actions') + List? get actions { + final value = _actions; + if (value == null) return null; + if (_actions is EqualUnmodifiableListView) return _actions; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'State(uuid: $uuid, tenantId: $tenantId, businessServiceId: $businessServiceId, sla: $sla, state: $state, applicationStatus: $applicationStatus, docUploadRequired: $docUploadRequired, isStartState: $isStartState, isTerminateState: $isTerminateState, isStateUpdatable: $isStateUpdatable, actions: $actions)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_State && + (identical(other.uuid, uuid) || other.uuid == uuid) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.businessServiceId, businessServiceId) || + other.businessServiceId == businessServiceId) && + (identical(other.sla, sla) || other.sla == sla) && + (identical(other.state, state) || other.state == state) && + (identical(other.applicationStatus, applicationStatus) || + other.applicationStatus == applicationStatus) && + (identical(other.docUploadRequired, docUploadRequired) || + other.docUploadRequired == docUploadRequired) && + (identical(other.isStartState, isStartState) || + other.isStartState == isStartState) && + (identical(other.isTerminateState, isTerminateState) || + other.isTerminateState == isTerminateState) && + (identical(other.isStateUpdatable, isStateUpdatable) || + other.isStateUpdatable == isStateUpdatable) && + const DeepCollectionEquality().equals(other._actions, _actions)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + uuid, + tenantId, + businessServiceId, + sla, + state, + applicationStatus, + docUploadRequired, + isStartState, + isTerminateState, + isStateUpdatable, + const DeepCollectionEquality().hash(_actions)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_StateCopyWith<_$_State> get copyWith => + __$$_StateCopyWithImpl<_$_State>(this, _$identity); + + @override + Map toJson() { + return _$$_StateToJson( + this, + ); + } +} + +abstract class _State implements State { + const factory _State( + {@JsonKey(name: 'uuid') final String? uuid, + @JsonKey(name: 'tenantId') final String? tenantId, + @JsonKey(name: 'businessServiceId') final String? businessServiceId, + @JsonKey(name: 'sla') final int? sla, + @JsonKey(name: 'state') final String? state, + @JsonKey(name: 'applicationStatus') final String? applicationStatus, + @JsonKey(name: 'docUploadRequired') final bool? docUploadRequired, + @JsonKey(name: 'isStartState') final bool? isStartState, + @JsonKey(name: 'isTerminateState') final bool? isTerminateState, + @JsonKey(name: 'isStateUpdatable') final bool? isStateUpdatable, + @JsonKey(name: 'actions') final List? actions}) = _$_State; + + factory _State.fromJson(Map json) = _$_State.fromJson; + + @override + @JsonKey(name: 'uuid') + String? get uuid; + @override + @JsonKey(name: 'tenantId') + String? get tenantId; + @override + @JsonKey(name: 'businessServiceId') + String? get businessServiceId; + @override + @JsonKey(name: 'sla') + int? get sla; + @override + @JsonKey(name: 'state') + String? get state; + @override + @JsonKey(name: 'applicationStatus') + String? get applicationStatus; + @override + @JsonKey(name: 'docUploadRequired') + bool? get docUploadRequired; + @override + @JsonKey(name: 'isStartState') + bool? get isStartState; + @override + @JsonKey(name: 'isTerminateState') + bool? get isTerminateState; + @override + @JsonKey(name: 'isStateUpdatable') + bool? get isStateUpdatable; + @override + @JsonKey(name: 'actions') + List? get actions; + @override + @JsonKey(ignore: true) + _$$_StateCopyWith<_$_State> get copyWith => + throw _privateConstructorUsedError; +} + +Action _$ActionFromJson(Map json) { + return _Action.fromJson(json); +} + +/// @nodoc +mixin _$Action { + @JsonKey(name: 'uuid') + String? get uuid => throw _privateConstructorUsedError; + @JsonKey(name: 'tenantId') + String? get tenantId => throw _privateConstructorUsedError; + @JsonKey(name: 'currentState') + String? get currentState => throw _privateConstructorUsedError; + @JsonKey(name: 'action') + String? get action => throw _privateConstructorUsedError; + @JsonKey(name: 'nextState') + String? get nextState => throw _privateConstructorUsedError; + @JsonKey(name: 'active') + bool? get active => throw _privateConstructorUsedError; + @JsonKey(name: 'roles') + List? get roles => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $ActionCopyWith get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $ActionCopyWith<$Res> { + factory $ActionCopyWith(Action value, $Res Function(Action) then) = + _$ActionCopyWithImpl<$Res, Action>; + @useResult + $Res call( + {@JsonKey(name: 'uuid') String? uuid, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'currentState') String? currentState, + @JsonKey(name: 'action') String? action, + @JsonKey(name: 'nextState') String? nextState, + @JsonKey(name: 'active') bool? active, + @JsonKey(name: 'roles') List? roles}); +} + +/// @nodoc +class _$ActionCopyWithImpl<$Res, $Val extends Action> + implements $ActionCopyWith<$Res> { + _$ActionCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? uuid = freezed, + Object? tenantId = freezed, + Object? currentState = freezed, + Object? action = freezed, + Object? nextState = freezed, + Object? active = freezed, + Object? roles = freezed, + }) { + return _then(_value.copyWith( + uuid: freezed == uuid + ? _value.uuid + : uuid // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + currentState: freezed == currentState + ? _value.currentState + : currentState // ignore: cast_nullable_to_non_nullable + as String?, + action: freezed == action + ? _value.action + : action // ignore: cast_nullable_to_non_nullable + as String?, + nextState: freezed == nextState + ? _value.nextState + : nextState // ignore: cast_nullable_to_non_nullable + as String?, + active: freezed == active + ? _value.active + : active // ignore: cast_nullable_to_non_nullable + as bool?, + roles: freezed == roles + ? _value.roles + : roles // ignore: cast_nullable_to_non_nullable + as List?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_ActionCopyWith<$Res> implements $ActionCopyWith<$Res> { + factory _$$_ActionCopyWith(_$_Action value, $Res Function(_$_Action) then) = + __$$_ActionCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'uuid') String? uuid, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'currentState') String? currentState, + @JsonKey(name: 'action') String? action, + @JsonKey(name: 'nextState') String? nextState, + @JsonKey(name: 'active') bool? active, + @JsonKey(name: 'roles') List? roles}); +} + +/// @nodoc +class __$$_ActionCopyWithImpl<$Res> + extends _$ActionCopyWithImpl<$Res, _$_Action> + implements _$$_ActionCopyWith<$Res> { + __$$_ActionCopyWithImpl(_$_Action _value, $Res Function(_$_Action) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? uuid = freezed, + Object? tenantId = freezed, + Object? currentState = freezed, + Object? action = freezed, + Object? nextState = freezed, + Object? active = freezed, + Object? roles = freezed, + }) { + return _then(_$_Action( + uuid: freezed == uuid + ? _value.uuid + : uuid // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + currentState: freezed == currentState + ? _value.currentState + : currentState // ignore: cast_nullable_to_non_nullable + as String?, + action: freezed == action + ? _value.action + : action // ignore: cast_nullable_to_non_nullable + as String?, + nextState: freezed == nextState + ? _value.nextState + : nextState // ignore: cast_nullable_to_non_nullable + as String?, + active: freezed == active + ? _value.active + : active // ignore: cast_nullable_to_non_nullable + as bool?, + roles: freezed == roles + ? _value._roles + : roles // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_Action implements _Action { + const _$_Action( + {@JsonKey(name: 'uuid') this.uuid, + @JsonKey(name: 'tenantId') this.tenantId, + @JsonKey(name: 'currentState') this.currentState, + @JsonKey(name: 'action') this.action, + @JsonKey(name: 'nextState') this.nextState, + @JsonKey(name: 'active') this.active, + @JsonKey(name: 'roles') final List? roles}) + : _roles = roles; + + factory _$_Action.fromJson(Map json) => + _$$_ActionFromJson(json); + + @override + @JsonKey(name: 'uuid') + final String? uuid; + @override + @JsonKey(name: 'tenantId') + final String? tenantId; + @override + @JsonKey(name: 'currentState') + final String? currentState; + @override + @JsonKey(name: 'action') + final String? action; + @override + @JsonKey(name: 'nextState') + final String? nextState; + @override + @JsonKey(name: 'active') + final bool? active; + final List? _roles; + @override + @JsonKey(name: 'roles') + List? get roles { + final value = _roles; + if (value == null) return null; + if (_roles is EqualUnmodifiableListView) return _roles; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'Action(uuid: $uuid, tenantId: $tenantId, currentState: $currentState, action: $action, nextState: $nextState, active: $active, roles: $roles)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Action && + (identical(other.uuid, uuid) || other.uuid == uuid) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.currentState, currentState) || + other.currentState == currentState) && + (identical(other.action, action) || other.action == action) && + (identical(other.nextState, nextState) || + other.nextState == nextState) && + (identical(other.active, active) || other.active == active) && + const DeepCollectionEquality().equals(other._roles, _roles)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, uuid, tenantId, currentState, + action, nextState, active, const DeepCollectionEquality().hash(_roles)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_ActionCopyWith<_$_Action> get copyWith => + __$$_ActionCopyWithImpl<_$_Action>(this, _$identity); + + @override + Map toJson() { + return _$$_ActionToJson( + this, + ); + } +} + +abstract class _Action implements Action { + const factory _Action( + {@JsonKey(name: 'uuid') final String? uuid, + @JsonKey(name: 'tenantId') final String? tenantId, + @JsonKey(name: 'currentState') final String? currentState, + @JsonKey(name: 'action') final String? action, + @JsonKey(name: 'nextState') final String? nextState, + @JsonKey(name: 'active') final bool? active, + @JsonKey(name: 'roles') final List? roles}) = _$_Action; + + factory _Action.fromJson(Map json) = _$_Action.fromJson; + + @override + @JsonKey(name: 'uuid') + String? get uuid; + @override + @JsonKey(name: 'tenantId') + String? get tenantId; + @override + @JsonKey(name: 'currentState') + String? get currentState; + @override + @JsonKey(name: 'action') + String? get action; + @override + @JsonKey(name: 'nextState') + String? get nextState; + @override + @JsonKey(name: 'active') + bool? get active; + @override + @JsonKey(name: 'roles') + List? get roles; + @override + @JsonKey(ignore: true) + _$$_ActionCopyWith<_$_Action> get copyWith => + throw _privateConstructorUsedError; +} + +Assigner _$AssignerFromJson(Map json) { + return _Assigner.fromJson(json); +} + +/// @nodoc +mixin _$Assigner { + @JsonKey(name: 'id') + int? get id => throw _privateConstructorUsedError; + @JsonKey(name: 'userName') + String? get userName => throw _privateConstructorUsedError; + @JsonKey(name: 'name') + String? get name => throw _privateConstructorUsedError; + @JsonKey(name: 'type') + String? get type => throw _privateConstructorUsedError; + @JsonKey(name: 'mobileNumber') + String? get mobileNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'emailId') + String? get emailId => throw _privateConstructorUsedError; + @JsonKey(name: 'tenantId') + String? get tenantId => throw _privateConstructorUsedError; + @JsonKey(name: 'uuid') + String? get uuid => throw _privateConstructorUsedError; + @JsonKey(name: 'roles') + List? get roles => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $AssignerCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $AssignerCopyWith<$Res> { + factory $AssignerCopyWith(Assigner value, $Res Function(Assigner) then) = + _$AssignerCopyWithImpl<$Res, Assigner>; + @useResult + $Res call( + {@JsonKey(name: 'id') int? id, + @JsonKey(name: 'userName') String? userName, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'type') String? type, + @JsonKey(name: 'mobileNumber') String? mobileNumber, + @JsonKey(name: 'emailId') String? emailId, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'uuid') String? uuid, + @JsonKey(name: 'roles') List? roles}); +} + +/// @nodoc +class _$AssignerCopyWithImpl<$Res, $Val extends Assigner> + implements $AssignerCopyWith<$Res> { + _$AssignerCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? userName = freezed, + Object? name = freezed, + Object? type = freezed, + Object? mobileNumber = freezed, + Object? emailId = freezed, + Object? tenantId = freezed, + Object? uuid = freezed, + Object? roles = freezed, + }) { + return _then(_value.copyWith( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as int?, + userName: freezed == userName + ? _value.userName + : userName // ignore: cast_nullable_to_non_nullable + as String?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + type: freezed == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String?, + mobileNumber: freezed == mobileNumber + ? _value.mobileNumber + : mobileNumber // ignore: cast_nullable_to_non_nullable + as String?, + emailId: freezed == emailId + ? _value.emailId + : emailId // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + uuid: freezed == uuid + ? _value.uuid + : uuid // ignore: cast_nullable_to_non_nullable + as String?, + roles: freezed == roles + ? _value.roles + : roles // ignore: cast_nullable_to_non_nullable + as List?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_AssignerCopyWith<$Res> implements $AssignerCopyWith<$Res> { + factory _$$_AssignerCopyWith( + _$_Assigner value, $Res Function(_$_Assigner) then) = + __$$_AssignerCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'id') int? id, + @JsonKey(name: 'userName') String? userName, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'type') String? type, + @JsonKey(name: 'mobileNumber') String? mobileNumber, + @JsonKey(name: 'emailId') String? emailId, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'uuid') String? uuid, + @JsonKey(name: 'roles') List? roles}); +} + +/// @nodoc +class __$$_AssignerCopyWithImpl<$Res> + extends _$AssignerCopyWithImpl<$Res, _$_Assigner> + implements _$$_AssignerCopyWith<$Res> { + __$$_AssignerCopyWithImpl( + _$_Assigner _value, $Res Function(_$_Assigner) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? userName = freezed, + Object? name = freezed, + Object? type = freezed, + Object? mobileNumber = freezed, + Object? emailId = freezed, + Object? tenantId = freezed, + Object? uuid = freezed, + Object? roles = freezed, + }) { + return _then(_$_Assigner( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as int?, + userName: freezed == userName + ? _value.userName + : userName // ignore: cast_nullable_to_non_nullable + as String?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + type: freezed == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String?, + mobileNumber: freezed == mobileNumber + ? _value.mobileNumber + : mobileNumber // ignore: cast_nullable_to_non_nullable + as String?, + emailId: freezed == emailId + ? _value.emailId + : emailId // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + uuid: freezed == uuid + ? _value.uuid + : uuid // ignore: cast_nullable_to_non_nullable + as String?, + roles: freezed == roles + ? _value._roles + : roles // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_Assigner implements _Assigner { + const _$_Assigner( + {@JsonKey(name: 'id') this.id, + @JsonKey(name: 'userName') this.userName, + @JsonKey(name: 'name') this.name, + @JsonKey(name: 'type') this.type, + @JsonKey(name: 'mobileNumber') this.mobileNumber, + @JsonKey(name: 'emailId') this.emailId, + @JsonKey(name: 'tenantId') this.tenantId, + @JsonKey(name: 'uuid') this.uuid, + @JsonKey(name: 'roles') final List? roles}) + : _roles = roles; + + factory _$_Assigner.fromJson(Map json) => + _$$_AssignerFromJson(json); + + @override + @JsonKey(name: 'id') + final int? id; + @override + @JsonKey(name: 'userName') + final String? userName; + @override + @JsonKey(name: 'name') + final String? name; + @override + @JsonKey(name: 'type') + final String? type; + @override + @JsonKey(name: 'mobileNumber') + final String? mobileNumber; + @override + @JsonKey(name: 'emailId') + final String? emailId; + @override + @JsonKey(name: 'tenantId') + final String? tenantId; + @override + @JsonKey(name: 'uuid') + final String? uuid; + final List? _roles; + @override + @JsonKey(name: 'roles') + List? get roles { + final value = _roles; + if (value == null) return null; + if (_roles is EqualUnmodifiableListView) return _roles; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'Assigner(id: $id, userName: $userName, name: $name, type: $type, mobileNumber: $mobileNumber, emailId: $emailId, tenantId: $tenantId, uuid: $uuid, roles: $roles)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Assigner && + (identical(other.id, id) || other.id == id) && + (identical(other.userName, userName) || + other.userName == userName) && + (identical(other.name, name) || other.name == name) && + (identical(other.type, type) || other.type == type) && + (identical(other.mobileNumber, mobileNumber) || + other.mobileNumber == mobileNumber) && + (identical(other.emailId, emailId) || other.emailId == emailId) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.uuid, uuid) || other.uuid == uuid) && + const DeepCollectionEquality().equals(other._roles, _roles)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + id, + userName, + name, + type, + mobileNumber, + emailId, + tenantId, + uuid, + const DeepCollectionEquality().hash(_roles)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_AssignerCopyWith<_$_Assigner> get copyWith => + __$$_AssignerCopyWithImpl<_$_Assigner>(this, _$identity); + + @override + Map toJson() { + return _$$_AssignerToJson( + this, + ); + } +} + +abstract class _Assigner implements Assigner { + const factory _Assigner( + {@JsonKey(name: 'id') final int? id, + @JsonKey(name: 'userName') final String? userName, + @JsonKey(name: 'name') final String? name, + @JsonKey(name: 'type') final String? type, + @JsonKey(name: 'mobileNumber') final String? mobileNumber, + @JsonKey(name: 'emailId') final String? emailId, + @JsonKey(name: 'tenantId') final String? tenantId, + @JsonKey(name: 'uuid') final String? uuid, + @JsonKey(name: 'roles') final List? roles}) = _$_Assigner; + + factory _Assigner.fromJson(Map json) = _$_Assigner.fromJson; + + @override + @JsonKey(name: 'id') + int? get id; + @override + @JsonKey(name: 'userName') + String? get userName; + @override + @JsonKey(name: 'name') + String? get name; + @override + @JsonKey(name: 'type') + String? get type; + @override + @JsonKey(name: 'mobileNumber') + String? get mobileNumber; + @override + @JsonKey(name: 'emailId') + String? get emailId; + @override + @JsonKey(name: 'tenantId') + String? get tenantId; + @override + @JsonKey(name: 'uuid') + String? get uuid; + @override + @JsonKey(name: 'roles') + List? get roles; + @override + @JsonKey(ignore: true) + _$$_AssignerCopyWith<_$_Assigner> get copyWith => + throw _privateConstructorUsedError; +} + +Assigne _$AssigneFromJson(Map json) { + return _Assigne.fromJson(json); +} + +/// @nodoc +mixin _$Assigne { + @JsonKey(name: 'id') + int? get id => throw _privateConstructorUsedError; + @JsonKey(name: 'userName') + String? get userName => throw _privateConstructorUsedError; + @JsonKey(name: 'name') + String? get name => throw _privateConstructorUsedError; + @JsonKey(name: 'type') + String? get type => throw _privateConstructorUsedError; + @JsonKey(name: 'mobileNumber') + String? get mobileNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'emailId') + String? get emailId => throw _privateConstructorUsedError; + @JsonKey(name: 'tenantId') + String? get tenantId => throw _privateConstructorUsedError; + @JsonKey(name: 'uuid') + String? get uuid => throw _privateConstructorUsedError; + @JsonKey(name: 'roles') + List? get roles => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $AssigneCopyWith get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $AssigneCopyWith<$Res> { + factory $AssigneCopyWith(Assigne value, $Res Function(Assigne) then) = + _$AssigneCopyWithImpl<$Res, Assigne>; + @useResult + $Res call( + {@JsonKey(name: 'id') int? id, + @JsonKey(name: 'userName') String? userName, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'type') String? type, + @JsonKey(name: 'mobileNumber') String? mobileNumber, + @JsonKey(name: 'emailId') String? emailId, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'uuid') String? uuid, + @JsonKey(name: 'roles') List? roles}); +} + +/// @nodoc +class _$AssigneCopyWithImpl<$Res, $Val extends Assigne> + implements $AssigneCopyWith<$Res> { + _$AssigneCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? userName = freezed, + Object? name = freezed, + Object? type = freezed, + Object? mobileNumber = freezed, + Object? emailId = freezed, + Object? tenantId = freezed, + Object? uuid = freezed, + Object? roles = freezed, + }) { + return _then(_value.copyWith( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as int?, + userName: freezed == userName + ? _value.userName + : userName // ignore: cast_nullable_to_non_nullable + as String?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + type: freezed == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String?, + mobileNumber: freezed == mobileNumber + ? _value.mobileNumber + : mobileNumber // ignore: cast_nullable_to_non_nullable + as String?, + emailId: freezed == emailId + ? _value.emailId + : emailId // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + uuid: freezed == uuid + ? _value.uuid + : uuid // ignore: cast_nullable_to_non_nullable + as String?, + roles: freezed == roles + ? _value.roles + : roles // ignore: cast_nullable_to_non_nullable + as List?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_AssigneCopyWith<$Res> implements $AssigneCopyWith<$Res> { + factory _$$_AssigneCopyWith( + _$_Assigne value, $Res Function(_$_Assigne) then) = + __$$_AssigneCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'id') int? id, + @JsonKey(name: 'userName') String? userName, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'type') String? type, + @JsonKey(name: 'mobileNumber') String? mobileNumber, + @JsonKey(name: 'emailId') String? emailId, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'uuid') String? uuid, + @JsonKey(name: 'roles') List? roles}); +} + +/// @nodoc +class __$$_AssigneCopyWithImpl<$Res> + extends _$AssigneCopyWithImpl<$Res, _$_Assigne> + implements _$$_AssigneCopyWith<$Res> { + __$$_AssigneCopyWithImpl(_$_Assigne _value, $Res Function(_$_Assigne) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? userName = freezed, + Object? name = freezed, + Object? type = freezed, + Object? mobileNumber = freezed, + Object? emailId = freezed, + Object? tenantId = freezed, + Object? uuid = freezed, + Object? roles = freezed, + }) { + return _then(_$_Assigne( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as int?, + userName: freezed == userName + ? _value.userName + : userName // ignore: cast_nullable_to_non_nullable + as String?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + type: freezed == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String?, + mobileNumber: freezed == mobileNumber + ? _value.mobileNumber + : mobileNumber // ignore: cast_nullable_to_non_nullable + as String?, + emailId: freezed == emailId + ? _value.emailId + : emailId // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + uuid: freezed == uuid + ? _value.uuid + : uuid // ignore: cast_nullable_to_non_nullable + as String?, + roles: freezed == roles + ? _value._roles + : roles // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_Assigne implements _Assigne { + const _$_Assigne( + {@JsonKey(name: 'id') this.id, + @JsonKey(name: 'userName') this.userName, + @JsonKey(name: 'name') this.name, + @JsonKey(name: 'type') this.type, + @JsonKey(name: 'mobileNumber') this.mobileNumber, + @JsonKey(name: 'emailId') this.emailId, + @JsonKey(name: 'tenantId') this.tenantId, + @JsonKey(name: 'uuid') this.uuid, + @JsonKey(name: 'roles') final List? roles}) + : _roles = roles; + + factory _$_Assigne.fromJson(Map json) => + _$$_AssigneFromJson(json); + + @override + @JsonKey(name: 'id') + final int? id; + @override + @JsonKey(name: 'userName') + final String? userName; + @override + @JsonKey(name: 'name') + final String? name; + @override + @JsonKey(name: 'type') + final String? type; + @override + @JsonKey(name: 'mobileNumber') + final String? mobileNumber; + @override + @JsonKey(name: 'emailId') + final String? emailId; + @override + @JsonKey(name: 'tenantId') + final String? tenantId; + @override + @JsonKey(name: 'uuid') + final String? uuid; + final List? _roles; + @override + @JsonKey(name: 'roles') + List? get roles { + final value = _roles; + if (value == null) return null; + if (_roles is EqualUnmodifiableListView) return _roles; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'Assigne(id: $id, userName: $userName, name: $name, type: $type, mobileNumber: $mobileNumber, emailId: $emailId, tenantId: $tenantId, uuid: $uuid, roles: $roles)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Assigne && + (identical(other.id, id) || other.id == id) && + (identical(other.userName, userName) || + other.userName == userName) && + (identical(other.name, name) || other.name == name) && + (identical(other.type, type) || other.type == type) && + (identical(other.mobileNumber, mobileNumber) || + other.mobileNumber == mobileNumber) && + (identical(other.emailId, emailId) || other.emailId == emailId) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.uuid, uuid) || other.uuid == uuid) && + const DeepCollectionEquality().equals(other._roles, _roles)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + id, + userName, + name, + type, + mobileNumber, + emailId, + tenantId, + uuid, + const DeepCollectionEquality().hash(_roles)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_AssigneCopyWith<_$_Assigne> get copyWith => + __$$_AssigneCopyWithImpl<_$_Assigne>(this, _$identity); + + @override + Map toJson() { + return _$$_AssigneToJson( + this, + ); + } +} + +abstract class _Assigne implements Assigne { + const factory _Assigne( + {@JsonKey(name: 'id') final int? id, + @JsonKey(name: 'userName') final String? userName, + @JsonKey(name: 'name') final String? name, + @JsonKey(name: 'type') final String? type, + @JsonKey(name: 'mobileNumber') final String? mobileNumber, + @JsonKey(name: 'emailId') final String? emailId, + @JsonKey(name: 'tenantId') final String? tenantId, + @JsonKey(name: 'uuid') final String? uuid, + @JsonKey(name: 'roles') final List? roles}) = _$_Assigne; + + factory _Assigne.fromJson(Map json) = _$_Assigne.fromJson; + + @override + @JsonKey(name: 'id') + int? get id; + @override + @JsonKey(name: 'userName') + String? get userName; + @override + @JsonKey(name: 'name') + String? get name; + @override + @JsonKey(name: 'type') + String? get type; + @override + @JsonKey(name: 'mobileNumber') + String? get mobileNumber; + @override + @JsonKey(name: 'emailId') + String? get emailId; + @override + @JsonKey(name: 'tenantId') + String? get tenantId; + @override + @JsonKey(name: 'uuid') + String? get uuid; + @override + @JsonKey(name: 'roles') + List? get roles; + @override + @JsonKey(ignore: true) + _$$_AssigneCopyWith<_$_Assigne> get copyWith => + throw _privateConstructorUsedError; +} + +Role _$RoleFromJson(Map json) { + return _Role.fromJson(json); +} + +/// @nodoc +mixin _$Role { + @JsonKey(name: 'name') + String? get name => throw _privateConstructorUsedError; + @JsonKey(name: 'id') + String? get id => throw _privateConstructorUsedError; + @JsonKey(name: 'code') + String? get code => throw _privateConstructorUsedError; + @JsonKey(name: 'tenantId') + String? get tenantId => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $RoleCopyWith get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $RoleCopyWith<$Res> { + factory $RoleCopyWith(Role value, $Res Function(Role) then) = + _$RoleCopyWithImpl<$Res, Role>; + @useResult + $Res call( + {@JsonKey(name: 'name') String? name, + @JsonKey(name: 'id') String? id, + @JsonKey(name: 'code') String? code, + @JsonKey(name: 'tenantId') String? tenantId}); +} + +/// @nodoc +class _$RoleCopyWithImpl<$Res, $Val extends Role> + implements $RoleCopyWith<$Res> { + _$RoleCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? name = freezed, + Object? id = freezed, + Object? code = freezed, + Object? tenantId = freezed, + }) { + return _then(_value.copyWith( + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + code: freezed == code + ? _value.code + : code // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_RoleCopyWith<$Res> implements $RoleCopyWith<$Res> { + factory _$$_RoleCopyWith(_$_Role value, $Res Function(_$_Role) then) = + __$$_RoleCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'name') String? name, + @JsonKey(name: 'id') String? id, + @JsonKey(name: 'code') String? code, + @JsonKey(name: 'tenantId') String? tenantId}); +} + +/// @nodoc +class __$$_RoleCopyWithImpl<$Res> extends _$RoleCopyWithImpl<$Res, _$_Role> + implements _$$_RoleCopyWith<$Res> { + __$$_RoleCopyWithImpl(_$_Role _value, $Res Function(_$_Role) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? name = freezed, + Object? id = freezed, + Object? code = freezed, + Object? tenantId = freezed, + }) { + return _then(_$_Role( + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + code: freezed == code + ? _value.code + : code // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_Role implements _Role { + const _$_Role( + {@JsonKey(name: 'name') this.name, + @JsonKey(name: 'id') this.id, + @JsonKey(name: 'code') this.code, + @JsonKey(name: 'tenantId') this.tenantId}); + + factory _$_Role.fromJson(Map json) => _$$_RoleFromJson(json); + + @override + @JsonKey(name: 'name') + final String? name; + @override + @JsonKey(name: 'id') + final String? id; + @override + @JsonKey(name: 'code') + final String? code; + @override + @JsonKey(name: 'tenantId') + final String? tenantId; + + @override + String toString() { + return 'Role(name: $name, id: $id, code: $code, tenantId: $tenantId)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Role && + (identical(other.name, name) || other.name == name) && + (identical(other.id, id) || other.id == id) && + (identical(other.code, code) || other.code == code) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, name, id, code, tenantId); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_RoleCopyWith<_$_Role> get copyWith => + __$$_RoleCopyWithImpl<_$_Role>(this, _$identity); + + @override + Map toJson() { + return _$$_RoleToJson( + this, + ); + } +} + +abstract class _Role implements Role { + const factory _Role( + {@JsonKey(name: 'name') final String? name, + @JsonKey(name: 'id') final String? id, + @JsonKey(name: 'code') final String? code, + @JsonKey(name: 'tenantId') final String? tenantId}) = _$_Role; + + factory _Role.fromJson(Map json) = _$_Role.fromJson; + + @override + @JsonKey(name: 'name') + String? get name; + @override + @JsonKey(name: 'id') + String? get id; + @override + @JsonKey(name: 'code') + String? get code; + @override + @JsonKey(name: 'tenantId') + String? get tenantId; + @override + @JsonKey(ignore: true) + _$$_RoleCopyWith<_$_Role> get copyWith => throw _privateConstructorUsedError; +} + +BusinessObject _$BusinessObjectFromJson(Map json) { + return _BusinessObject.fromJson(json); +} + +/// @nodoc +mixin _$BusinessObject { + @JsonKey(name: 'measurementNumber') + String? get measurementNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'id') + String? get id => throw _privateConstructorUsedError; + @JsonKey(name: 'referenceId') + String? get referenceId => throw _privateConstructorUsedError; + @JsonKey(name: 'measures') + List? get measures => throw _privateConstructorUsedError; + @JsonKey(name: 'auditDetails') + AuditDetails? get auditDetails => throw _privateConstructorUsedError; + @JsonKey(name: 'contract') + Contract? get contract => throw _privateConstructorUsedError; + @JsonKey(name: 'serviceSla') + int? get serviceSla => throw _privateConstructorUsedError; + @JsonKey(name: 'additionalDetails') + MeasurementAdditionalDetail? get measurementAdditionalDetail => + throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $BusinessObjectCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $BusinessObjectCopyWith<$Res> { + factory $BusinessObjectCopyWith( + BusinessObject value, $Res Function(BusinessObject) then) = + _$BusinessObjectCopyWithImpl<$Res, BusinessObject>; + @useResult + $Res call( + {@JsonKey(name: 'measurementNumber') + String? measurementNumber, + @JsonKey(name: 'id') + String? id, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'measures') + List? measures, + @JsonKey(name: 'auditDetails') + AuditDetails? auditDetails, + @JsonKey(name: 'contract') + Contract? contract, + @JsonKey(name: 'serviceSla') + int? serviceSla, + @JsonKey(name: 'additionalDetails') + MeasurementAdditionalDetail? measurementAdditionalDetail}); + + $AuditDetailsCopyWith<$Res>? get auditDetails; + $ContractCopyWith<$Res>? get contract; + $MeasurementAdditionalDetailCopyWith<$Res>? get measurementAdditionalDetail; +} + +/// @nodoc +class _$BusinessObjectCopyWithImpl<$Res, $Val extends BusinessObject> + implements $BusinessObjectCopyWith<$Res> { + _$BusinessObjectCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? measurementNumber = freezed, + Object? id = freezed, + Object? referenceId = freezed, + Object? measures = freezed, + Object? auditDetails = freezed, + Object? contract = freezed, + Object? serviceSla = freezed, + Object? measurementAdditionalDetail = freezed, + }) { + return _then(_value.copyWith( + measurementNumber: freezed == measurementNumber + ? _value.measurementNumber + : measurementNumber // ignore: cast_nullable_to_non_nullable + as String?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + referenceId: freezed == referenceId + ? _value.referenceId + : referenceId // ignore: cast_nullable_to_non_nullable + as String?, + measures: freezed == measures + ? _value.measures + : measures // ignore: cast_nullable_to_non_nullable + as List?, + auditDetails: freezed == auditDetails + ? _value.auditDetails + : auditDetails // ignore: cast_nullable_to_non_nullable + as AuditDetails?, + contract: freezed == contract + ? _value.contract + : contract // ignore: cast_nullable_to_non_nullable + as Contract?, + serviceSla: freezed == serviceSla + ? _value.serviceSla + : serviceSla // ignore: cast_nullable_to_non_nullable + as int?, + measurementAdditionalDetail: freezed == measurementAdditionalDetail + ? _value.measurementAdditionalDetail + : measurementAdditionalDetail // ignore: cast_nullable_to_non_nullable + as MeasurementAdditionalDetail?, + ) as $Val); + } + + @override + @pragma('vm:prefer-inline') + $AuditDetailsCopyWith<$Res>? get auditDetails { + if (_value.auditDetails == null) { + return null; + } + + return $AuditDetailsCopyWith<$Res>(_value.auditDetails!, (value) { + return _then(_value.copyWith(auditDetails: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $ContractCopyWith<$Res>? get contract { + if (_value.contract == null) { + return null; + } + + return $ContractCopyWith<$Res>(_value.contract!, (value) { + return _then(_value.copyWith(contract: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $MeasurementAdditionalDetailCopyWith<$Res>? get measurementAdditionalDetail { + if (_value.measurementAdditionalDetail == null) { + return null; + } + + return $MeasurementAdditionalDetailCopyWith<$Res>( + _value.measurementAdditionalDetail!, (value) { + return _then(_value.copyWith(measurementAdditionalDetail: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$_BusinessObjectCopyWith<$Res> + implements $BusinessObjectCopyWith<$Res> { + factory _$$_BusinessObjectCopyWith( + _$_BusinessObject value, $Res Function(_$_BusinessObject) then) = + __$$_BusinessObjectCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'measurementNumber') + String? measurementNumber, + @JsonKey(name: 'id') + String? id, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'measures') + List? measures, + @JsonKey(name: 'auditDetails') + AuditDetails? auditDetails, + @JsonKey(name: 'contract') + Contract? contract, + @JsonKey(name: 'serviceSla') + int? serviceSla, + @JsonKey(name: 'additionalDetails') + MeasurementAdditionalDetail? measurementAdditionalDetail}); + + @override + $AuditDetailsCopyWith<$Res>? get auditDetails; + @override + $ContractCopyWith<$Res>? get contract; + @override + $MeasurementAdditionalDetailCopyWith<$Res>? get measurementAdditionalDetail; +} + +/// @nodoc +class __$$_BusinessObjectCopyWithImpl<$Res> + extends _$BusinessObjectCopyWithImpl<$Res, _$_BusinessObject> + implements _$$_BusinessObjectCopyWith<$Res> { + __$$_BusinessObjectCopyWithImpl( + _$_BusinessObject _value, $Res Function(_$_BusinessObject) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? measurementNumber = freezed, + Object? id = freezed, + Object? referenceId = freezed, + Object? measures = freezed, + Object? auditDetails = freezed, + Object? contract = freezed, + Object? serviceSla = freezed, + Object? measurementAdditionalDetail = freezed, + }) { + return _then(_$_BusinessObject( + measurementNumber: freezed == measurementNumber + ? _value.measurementNumber + : measurementNumber // ignore: cast_nullable_to_non_nullable + as String?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + referenceId: freezed == referenceId + ? _value.referenceId + : referenceId // ignore: cast_nullable_to_non_nullable + as String?, + measures: freezed == measures + ? _value._measures + : measures // ignore: cast_nullable_to_non_nullable + as List?, + auditDetails: freezed == auditDetails + ? _value.auditDetails + : auditDetails // ignore: cast_nullable_to_non_nullable + as AuditDetails?, + contract: freezed == contract + ? _value.contract + : contract // ignore: cast_nullable_to_non_nullable + as Contract?, + serviceSla: freezed == serviceSla + ? _value.serviceSla + : serviceSla // ignore: cast_nullable_to_non_nullable + as int?, + measurementAdditionalDetail: freezed == measurementAdditionalDetail + ? _value.measurementAdditionalDetail + : measurementAdditionalDetail // ignore: cast_nullable_to_non_nullable + as MeasurementAdditionalDetail?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_BusinessObject implements _BusinessObject { + const _$_BusinessObject( + {@JsonKey(name: 'measurementNumber') this.measurementNumber, + @JsonKey(name: 'id') this.id, + @JsonKey(name: 'referenceId') this.referenceId, + @JsonKey(name: 'measures') final List? measures, + @JsonKey(name: 'auditDetails') this.auditDetails, + @JsonKey(name: 'contract') this.contract, + @JsonKey(name: 'serviceSla') this.serviceSla, + @JsonKey(name: 'additionalDetails') this.measurementAdditionalDetail}) + : _measures = measures; + + factory _$_BusinessObject.fromJson(Map json) => + _$$_BusinessObjectFromJson(json); + + @override + @JsonKey(name: 'measurementNumber') + final String? measurementNumber; + @override + @JsonKey(name: 'id') + final String? id; + @override + @JsonKey(name: 'referenceId') + final String? referenceId; + final List? _measures; + @override + @JsonKey(name: 'measures') + List? get measures { + final value = _measures; + if (value == null) return null; + if (_measures is EqualUnmodifiableListView) return _measures; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + @JsonKey(name: 'auditDetails') + final AuditDetails? auditDetails; + @override + @JsonKey(name: 'contract') + final Contract? contract; + @override + @JsonKey(name: 'serviceSla') + final int? serviceSla; + @override + @JsonKey(name: 'additionalDetails') + final MeasurementAdditionalDetail? measurementAdditionalDetail; + + @override + String toString() { + return 'BusinessObject(measurementNumber: $measurementNumber, id: $id, referenceId: $referenceId, measures: $measures, auditDetails: $auditDetails, contract: $contract, serviceSla: $serviceSla, measurementAdditionalDetail: $measurementAdditionalDetail)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_BusinessObject && + (identical(other.measurementNumber, measurementNumber) || + other.measurementNumber == measurementNumber) && + (identical(other.id, id) || other.id == id) && + (identical(other.referenceId, referenceId) || + other.referenceId == referenceId) && + const DeepCollectionEquality().equals(other._measures, _measures) && + (identical(other.auditDetails, auditDetails) || + other.auditDetails == auditDetails) && + (identical(other.contract, contract) || + other.contract == contract) && + (identical(other.serviceSla, serviceSla) || + other.serviceSla == serviceSla) && + (identical(other.measurementAdditionalDetail, + measurementAdditionalDetail) || + other.measurementAdditionalDetail == + measurementAdditionalDetail)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + measurementNumber, + id, + referenceId, + const DeepCollectionEquality().hash(_measures), + auditDetails, + contract, + serviceSla, + measurementAdditionalDetail); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_BusinessObjectCopyWith<_$_BusinessObject> get copyWith => + __$$_BusinessObjectCopyWithImpl<_$_BusinessObject>(this, _$identity); + + @override + Map toJson() { + return _$$_BusinessObjectToJson( + this, + ); + } +} + +abstract class _BusinessObject implements BusinessObject { + const factory _BusinessObject( + {@JsonKey(name: 'measurementNumber') + final String? measurementNumber, + @JsonKey(name: 'id') + final String? id, + @JsonKey(name: 'referenceId') + final String? referenceId, + @JsonKey(name: 'measures') + final List? measures, + @JsonKey(name: 'auditDetails') + final AuditDetails? auditDetails, + @JsonKey(name: 'contract') + final Contract? contract, + @JsonKey(name: 'serviceSla') + final int? serviceSla, + @JsonKey(name: 'additionalDetails') + final MeasurementAdditionalDetail? measurementAdditionalDetail}) = + _$_BusinessObject; + + factory _BusinessObject.fromJson(Map json) = + _$_BusinessObject.fromJson; + + @override + @JsonKey(name: 'measurementNumber') + String? get measurementNumber; + @override + @JsonKey(name: 'id') + String? get id; + @override + @JsonKey(name: 'referenceId') + String? get referenceId; + @override + @JsonKey(name: 'measures') + List? get measures; + @override + @JsonKey(name: 'auditDetails') + AuditDetails? get auditDetails; + @override + @JsonKey(name: 'contract') + Contract? get contract; + @override + @JsonKey(name: 'serviceSla') + int? get serviceSla; + @override + @JsonKey(name: 'additionalDetails') + MeasurementAdditionalDetail? get measurementAdditionalDetail; + @override + @JsonKey(ignore: true) + _$$_BusinessObjectCopyWith<_$_BusinessObject> get copyWith => + throw _privateConstructorUsedError; +} + +Measure _$MeasureFromJson(Map json) { + return _Measure.fromJson(json); +} + +/// @nodoc +mixin _$Measure { + @JsonKey(name: 'description') + String? get description => throw _privateConstructorUsedError; + @JsonKey(name: 'comments') + String? get comments => throw _privateConstructorUsedError; + @JsonKey(name: 'targetId') + String? get targetId => throw _privateConstructorUsedError; + @JsonKey(name: 'breadth') + double? get breadth => throw _privateConstructorUsedError; + @JsonKey(name: 'length') + double? get length => throw _privateConstructorUsedError; + @JsonKey(name: 'isActive') + bool? get isActive => throw _privateConstructorUsedError; + @JsonKey(name: 'referenceId') + String? get referenceId => throw _privateConstructorUsedError; + @JsonKey(name: 'numItems') + double? get numItems => throw _privateConstructorUsedError; + @JsonKey(name: 'id') + String? get id => throw _privateConstructorUsedError; + @JsonKey(name: 'currentValue') + double? get currentValue => throw _privateConstructorUsedError; + @JsonKey(name: 'cumulativeValue') + double? get cumulativeValue => throw _privateConstructorUsedError; + @JsonKey(name: 'height') + double? get height => throw _privateConstructorUsedError; + @JsonKey(name: 'additionalDetails') + MeasureAdditionalDetails? get measureAdditionalDetails => + throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $MeasureCopyWith get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MeasureCopyWith<$Res> { + factory $MeasureCopyWith(Measure value, $Res Function(Measure) then) = + _$MeasureCopyWithImpl<$Res, Measure>; + @useResult + $Res call( + {@JsonKey(name: 'description') + String? description, + @JsonKey(name: 'comments') + String? comments, + @JsonKey(name: 'targetId') + String? targetId, + @JsonKey(name: 'breadth') + double? breadth, + @JsonKey(name: 'length') + double? length, + @JsonKey(name: 'isActive') + bool? isActive, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'numItems') + double? numItems, + @JsonKey(name: 'id') + String? id, + @JsonKey(name: 'currentValue') + double? currentValue, + @JsonKey(name: 'cumulativeValue') + double? cumulativeValue, + @JsonKey(name: 'height') + double? height, + @JsonKey(name: 'additionalDetails') + MeasureAdditionalDetails? measureAdditionalDetails}); + + $MeasureAdditionalDetailsCopyWith<$Res>? get measureAdditionalDetails; +} + +/// @nodoc +class _$MeasureCopyWithImpl<$Res, $Val extends Measure> + implements $MeasureCopyWith<$Res> { + _$MeasureCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? description = freezed, + Object? comments = freezed, + Object? targetId = freezed, + Object? breadth = freezed, + Object? length = freezed, + Object? isActive = freezed, + Object? referenceId = freezed, + Object? numItems = freezed, + Object? id = freezed, + Object? currentValue = freezed, + Object? cumulativeValue = freezed, + Object? height = freezed, + Object? measureAdditionalDetails = freezed, + }) { + return _then(_value.copyWith( + description: freezed == description + ? _value.description + : description // ignore: cast_nullable_to_non_nullable + as String?, + comments: freezed == comments + ? _value.comments + : comments // ignore: cast_nullable_to_non_nullable + as String?, + targetId: freezed == targetId + ? _value.targetId + : targetId // ignore: cast_nullable_to_non_nullable + as String?, + breadth: freezed == breadth + ? _value.breadth + : breadth // ignore: cast_nullable_to_non_nullable + as double?, + length: freezed == length + ? _value.length + : length // ignore: cast_nullable_to_non_nullable + as double?, + isActive: freezed == isActive + ? _value.isActive + : isActive // ignore: cast_nullable_to_non_nullable + as bool?, + referenceId: freezed == referenceId + ? _value.referenceId + : referenceId // ignore: cast_nullable_to_non_nullable + as String?, + numItems: freezed == numItems + ? _value.numItems + : numItems // ignore: cast_nullable_to_non_nullable + as double?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + currentValue: freezed == currentValue + ? _value.currentValue + : currentValue // ignore: cast_nullable_to_non_nullable + as double?, + cumulativeValue: freezed == cumulativeValue + ? _value.cumulativeValue + : cumulativeValue // ignore: cast_nullable_to_non_nullable + as double?, + height: freezed == height + ? _value.height + : height // ignore: cast_nullable_to_non_nullable + as double?, + measureAdditionalDetails: freezed == measureAdditionalDetails + ? _value.measureAdditionalDetails + : measureAdditionalDetails // ignore: cast_nullable_to_non_nullable + as MeasureAdditionalDetails?, + ) as $Val); + } + + @override + @pragma('vm:prefer-inline') + $MeasureAdditionalDetailsCopyWith<$Res>? get measureAdditionalDetails { + if (_value.measureAdditionalDetails == null) { + return null; + } + + return $MeasureAdditionalDetailsCopyWith<$Res>( + _value.measureAdditionalDetails!, (value) { + return _then(_value.copyWith(measureAdditionalDetails: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$_MeasureCopyWith<$Res> implements $MeasureCopyWith<$Res> { + factory _$$_MeasureCopyWith( + _$_Measure value, $Res Function(_$_Measure) then) = + __$$_MeasureCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'description') + String? description, + @JsonKey(name: 'comments') + String? comments, + @JsonKey(name: 'targetId') + String? targetId, + @JsonKey(name: 'breadth') + double? breadth, + @JsonKey(name: 'length') + double? length, + @JsonKey(name: 'isActive') + bool? isActive, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'numItems') + double? numItems, + @JsonKey(name: 'id') + String? id, + @JsonKey(name: 'currentValue') + double? currentValue, + @JsonKey(name: 'cumulativeValue') + double? cumulativeValue, + @JsonKey(name: 'height') + double? height, + @JsonKey(name: 'additionalDetails') + MeasureAdditionalDetails? measureAdditionalDetails}); + + @override + $MeasureAdditionalDetailsCopyWith<$Res>? get measureAdditionalDetails; +} + +/// @nodoc +class __$$_MeasureCopyWithImpl<$Res> + extends _$MeasureCopyWithImpl<$Res, _$_Measure> + implements _$$_MeasureCopyWith<$Res> { + __$$_MeasureCopyWithImpl(_$_Measure _value, $Res Function(_$_Measure) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? description = freezed, + Object? comments = freezed, + Object? targetId = freezed, + Object? breadth = freezed, + Object? length = freezed, + Object? isActive = freezed, + Object? referenceId = freezed, + Object? numItems = freezed, + Object? id = freezed, + Object? currentValue = freezed, + Object? cumulativeValue = freezed, + Object? height = freezed, + Object? measureAdditionalDetails = freezed, + }) { + return _then(_$_Measure( + description: freezed == description + ? _value.description + : description // ignore: cast_nullable_to_non_nullable + as String?, + comments: freezed == comments + ? _value.comments + : comments // ignore: cast_nullable_to_non_nullable + as String?, + targetId: freezed == targetId + ? _value.targetId + : targetId // ignore: cast_nullable_to_non_nullable + as String?, + breadth: freezed == breadth + ? _value.breadth + : breadth // ignore: cast_nullable_to_non_nullable + as double?, + length: freezed == length + ? _value.length + : length // ignore: cast_nullable_to_non_nullable + as double?, + isActive: freezed == isActive + ? _value.isActive + : isActive // ignore: cast_nullable_to_non_nullable + as bool?, + referenceId: freezed == referenceId + ? _value.referenceId + : referenceId // ignore: cast_nullable_to_non_nullable + as String?, + numItems: freezed == numItems + ? _value.numItems + : numItems // ignore: cast_nullable_to_non_nullable + as double?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + currentValue: freezed == currentValue + ? _value.currentValue + : currentValue // ignore: cast_nullable_to_non_nullable + as double?, + cumulativeValue: freezed == cumulativeValue + ? _value.cumulativeValue + : cumulativeValue // ignore: cast_nullable_to_non_nullable + as double?, + height: freezed == height + ? _value.height + : height // ignore: cast_nullable_to_non_nullable + as double?, + measureAdditionalDetails: freezed == measureAdditionalDetails + ? _value.measureAdditionalDetails + : measureAdditionalDetails // ignore: cast_nullable_to_non_nullable + as MeasureAdditionalDetails?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_Measure implements _Measure { + const _$_Measure( + {@JsonKey(name: 'description') this.description, + @JsonKey(name: 'comments') this.comments, + @JsonKey(name: 'targetId') this.targetId, + @JsonKey(name: 'breadth') this.breadth, + @JsonKey(name: 'length') this.length, + @JsonKey(name: 'isActive') this.isActive, + @JsonKey(name: 'referenceId') this.referenceId, + @JsonKey(name: 'numItems') this.numItems, + @JsonKey(name: 'id') this.id, + @JsonKey(name: 'currentValue') this.currentValue, + @JsonKey(name: 'cumulativeValue') this.cumulativeValue, + @JsonKey(name: 'height') this.height, + @JsonKey(name: 'additionalDetails') this.measureAdditionalDetails}); + + factory _$_Measure.fromJson(Map json) => + _$$_MeasureFromJson(json); + + @override + @JsonKey(name: 'description') + final String? description; + @override + @JsonKey(name: 'comments') + final String? comments; + @override + @JsonKey(name: 'targetId') + final String? targetId; + @override + @JsonKey(name: 'breadth') + final double? breadth; + @override + @JsonKey(name: 'length') + final double? length; + @override + @JsonKey(name: 'isActive') + final bool? isActive; + @override + @JsonKey(name: 'referenceId') + final String? referenceId; + @override + @JsonKey(name: 'numItems') + final double? numItems; + @override + @JsonKey(name: 'id') + final String? id; + @override + @JsonKey(name: 'currentValue') + final double? currentValue; + @override + @JsonKey(name: 'cumulativeValue') + final double? cumulativeValue; + @override + @JsonKey(name: 'height') + final double? height; + @override + @JsonKey(name: 'additionalDetails') + final MeasureAdditionalDetails? measureAdditionalDetails; + + @override + String toString() { + return 'Measure(description: $description, comments: $comments, targetId: $targetId, breadth: $breadth, length: $length, isActive: $isActive, referenceId: $referenceId, numItems: $numItems, id: $id, currentValue: $currentValue, cumulativeValue: $cumulativeValue, height: $height, measureAdditionalDetails: $measureAdditionalDetails)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Measure && + (identical(other.description, description) || + other.description == description) && + (identical(other.comments, comments) || + other.comments == comments) && + (identical(other.targetId, targetId) || + other.targetId == targetId) && + (identical(other.breadth, breadth) || other.breadth == breadth) && + (identical(other.length, length) || other.length == length) && + (identical(other.isActive, isActive) || + other.isActive == isActive) && + (identical(other.referenceId, referenceId) || + other.referenceId == referenceId) && + (identical(other.numItems, numItems) || + other.numItems == numItems) && + (identical(other.id, id) || other.id == id) && + (identical(other.currentValue, currentValue) || + other.currentValue == currentValue) && + (identical(other.cumulativeValue, cumulativeValue) || + other.cumulativeValue == cumulativeValue) && + (identical(other.height, height) || other.height == height) && + (identical( + other.measureAdditionalDetails, measureAdditionalDetails) || + other.measureAdditionalDetails == measureAdditionalDetails)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + description, + comments, + targetId, + breadth, + length, + isActive, + referenceId, + numItems, + id, + currentValue, + cumulativeValue, + height, + measureAdditionalDetails); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_MeasureCopyWith<_$_Measure> get copyWith => + __$$_MeasureCopyWithImpl<_$_Measure>(this, _$identity); + + @override + Map toJson() { + return _$$_MeasureToJson( + this, + ); + } +} + +abstract class _Measure implements Measure { + const factory _Measure( + {@JsonKey(name: 'description') + final String? description, + @JsonKey(name: 'comments') + final String? comments, + @JsonKey(name: 'targetId') + final String? targetId, + @JsonKey(name: 'breadth') + final double? breadth, + @JsonKey(name: 'length') + final double? length, + @JsonKey(name: 'isActive') + final bool? isActive, + @JsonKey(name: 'referenceId') + final String? referenceId, + @JsonKey(name: 'numItems') + final double? numItems, + @JsonKey(name: 'id') + final String? id, + @JsonKey(name: 'currentValue') + final double? currentValue, + @JsonKey(name: 'cumulativeValue') + final double? cumulativeValue, + @JsonKey(name: 'height') + final double? height, + @JsonKey(name: 'additionalDetails') + final MeasureAdditionalDetails? measureAdditionalDetails}) = + _$_Measure; + + factory _Measure.fromJson(Map json) = _$_Measure.fromJson; + + @override + @JsonKey(name: 'description') + String? get description; + @override + @JsonKey(name: 'comments') + String? get comments; + @override + @JsonKey(name: 'targetId') + String? get targetId; + @override + @JsonKey(name: 'breadth') + double? get breadth; + @override + @JsonKey(name: 'length') + double? get length; + @override + @JsonKey(name: 'isActive') + bool? get isActive; + @override + @JsonKey(name: 'referenceId') + String? get referenceId; + @override + @JsonKey(name: 'numItems') + double? get numItems; + @override + @JsonKey(name: 'id') + String? get id; + @override + @JsonKey(name: 'currentValue') + double? get currentValue; + @override + @JsonKey(name: 'cumulativeValue') + double? get cumulativeValue; + @override + @JsonKey(name: 'height') + double? get height; + @override + @JsonKey(name: 'additionalDetails') + MeasureAdditionalDetails? get measureAdditionalDetails; + @override + @JsonKey(ignore: true) + _$$_MeasureCopyWith<_$_Measure> get copyWith => + throw _privateConstructorUsedError; +} + +MeasureAdditionalDetails _$MeasureAdditionalDetailsFromJson( + Map json) { + return _MeasureAdditionalDetails.fromJson(json); +} + +/// @nodoc +mixin _$MeasureAdditionalDetails { + @JsonKey(name: 'type') + String? get type => throw _privateConstructorUsedError; + @JsonKey(name: 'mbAmount') + double? get mbAmount => throw _privateConstructorUsedError; + @JsonKey(name: "measureLineItems") + List? get measureLineItems => + throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $MeasureAdditionalDetailsCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MeasureAdditionalDetailsCopyWith<$Res> { + factory $MeasureAdditionalDetailsCopyWith(MeasureAdditionalDetails value, + $Res Function(MeasureAdditionalDetails) then) = + _$MeasureAdditionalDetailsCopyWithImpl<$Res, MeasureAdditionalDetails>; + @useResult + $Res call( + {@JsonKey(name: 'type') + String? type, + @JsonKey(name: 'mbAmount') + double? mbAmount, + @JsonKey(name: "measureLineItems") + List? measureLineItems}); +} + +/// @nodoc +class _$MeasureAdditionalDetailsCopyWithImpl<$Res, + $Val extends MeasureAdditionalDetails> + implements $MeasureAdditionalDetailsCopyWith<$Res> { + _$MeasureAdditionalDetailsCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? type = freezed, + Object? mbAmount = freezed, + Object? measureLineItems = freezed, + }) { + return _then(_value.copyWith( + type: freezed == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String?, + mbAmount: freezed == mbAmount + ? _value.mbAmount + : mbAmount // ignore: cast_nullable_to_non_nullable + as double?, + measureLineItems: freezed == measureLineItems + ? _value.measureLineItems + : measureLineItems // ignore: cast_nullable_to_non_nullable + as List?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_MeasureAdditionalDetailsCopyWith<$Res> + implements $MeasureAdditionalDetailsCopyWith<$Res> { + factory _$$_MeasureAdditionalDetailsCopyWith( + _$_MeasureAdditionalDetails value, + $Res Function(_$_MeasureAdditionalDetails) then) = + __$$_MeasureAdditionalDetailsCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'type') + String? type, + @JsonKey(name: 'mbAmount') + double? mbAmount, + @JsonKey(name: "measureLineItems") + List? measureLineItems}); +} + +/// @nodoc +class __$$_MeasureAdditionalDetailsCopyWithImpl<$Res> + extends _$MeasureAdditionalDetailsCopyWithImpl<$Res, + _$_MeasureAdditionalDetails> + implements _$$_MeasureAdditionalDetailsCopyWith<$Res> { + __$$_MeasureAdditionalDetailsCopyWithImpl(_$_MeasureAdditionalDetails _value, + $Res Function(_$_MeasureAdditionalDetails) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? type = freezed, + Object? mbAmount = freezed, + Object? measureLineItems = freezed, + }) { + return _then(_$_MeasureAdditionalDetails( + type: freezed == type + ? _value.type + : type // ignore: cast_nullable_to_non_nullable + as String?, + mbAmount: freezed == mbAmount + ? _value.mbAmount + : mbAmount // ignore: cast_nullable_to_non_nullable + as double?, + measureLineItems: freezed == measureLineItems + ? _value._measureLineItems + : measureLineItems // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_MeasureAdditionalDetails implements _MeasureAdditionalDetails { + const _$_MeasureAdditionalDetails( + {@JsonKey(name: 'type') + this.type, + @JsonKey(name: 'mbAmount') + this.mbAmount, + @JsonKey(name: "measureLineItems") + final List? measureLineItems}) + : _measureLineItems = measureLineItems; + + factory _$_MeasureAdditionalDetails.fromJson(Map json) => + _$$_MeasureAdditionalDetailsFromJson(json); + + @override + @JsonKey(name: 'type') + final String? type; + @override + @JsonKey(name: 'mbAmount') + final double? mbAmount; + final List? _measureLineItems; + @override + @JsonKey(name: "measureLineItems") + List? get measureLineItems { + final value = _measureLineItems; + if (value == null) return null; + if (_measureLineItems is EqualUnmodifiableListView) + return _measureLineItems; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'MeasureAdditionalDetails(type: $type, mbAmount: $mbAmount, measureLineItems: $measureLineItems)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_MeasureAdditionalDetails && + (identical(other.type, type) || other.type == type) && + (identical(other.mbAmount, mbAmount) || + other.mbAmount == mbAmount) && + const DeepCollectionEquality() + .equals(other._measureLineItems, _measureLineItems)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, type, mbAmount, + const DeepCollectionEquality().hash(_measureLineItems)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_MeasureAdditionalDetailsCopyWith<_$_MeasureAdditionalDetails> + get copyWith => __$$_MeasureAdditionalDetailsCopyWithImpl< + _$_MeasureAdditionalDetails>(this, _$identity); + + @override + Map toJson() { + return _$$_MeasureAdditionalDetailsToJson( + this, + ); + } +} + +abstract class _MeasureAdditionalDetails implements MeasureAdditionalDetails { + const factory _MeasureAdditionalDetails( + {@JsonKey(name: 'type') + final String? type, + @JsonKey(name: 'mbAmount') + final double? mbAmount, + @JsonKey(name: "measureLineItems") + final List? measureLineItems}) = + _$_MeasureAdditionalDetails; + + factory _MeasureAdditionalDetails.fromJson(Map json) = + _$_MeasureAdditionalDetails.fromJson; + + @override + @JsonKey(name: 'type') + String? get type; + @override + @JsonKey(name: 'mbAmount') + double? get mbAmount; + @override + @JsonKey(name: "measureLineItems") + List? get measureLineItems; + @override + @JsonKey(ignore: true) + _$$_MeasureAdditionalDetailsCopyWith<_$_MeasureAdditionalDetails> + get copyWith => throw _privateConstructorUsedError; +} + +MeasureLineItem _$MeasureLineItemFromJson(Map json) { + return _MeasureLineItem.fromJson(json); +} + +/// @nodoc +mixin _$MeasureLineItem { + @JsonKey(name: 'width') + dynamic get width => throw _privateConstructorUsedError; + @JsonKey(name: 'height') + dynamic get height => throw _privateConstructorUsedError; + @JsonKey(name: "length") + dynamic get length => throw _privateConstructorUsedError; + @JsonKey(name: 'number') + dynamic get number => throw _privateConstructorUsedError; + @JsonKey(name: 'quantity') + dynamic get quantity => throw _privateConstructorUsedError; + @JsonKey(name: 'measurelineitemNo') + dynamic get measurelineitemNo => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $MeasureLineItemCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MeasureLineItemCopyWith<$Res> { + factory $MeasureLineItemCopyWith( + MeasureLineItem value, $Res Function(MeasureLineItem) then) = + _$MeasureLineItemCopyWithImpl<$Res, MeasureLineItem>; + @useResult + $Res call( + {@JsonKey(name: 'width') dynamic width, + @JsonKey(name: 'height') dynamic height, + @JsonKey(name: "length") dynamic length, + @JsonKey(name: 'number') dynamic number, + @JsonKey(name: 'quantity') dynamic quantity, + @JsonKey(name: 'measurelineitemNo') dynamic measurelineitemNo}); +} + +/// @nodoc +class _$MeasureLineItemCopyWithImpl<$Res, $Val extends MeasureLineItem> + implements $MeasureLineItemCopyWith<$Res> { + _$MeasureLineItemCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? width = freezed, + Object? height = freezed, + Object? length = freezed, + Object? number = freezed, + Object? quantity = freezed, + Object? measurelineitemNo = freezed, + }) { + return _then(_value.copyWith( + width: freezed == width + ? _value.width + : width // ignore: cast_nullable_to_non_nullable + as dynamic, + height: freezed == height + ? _value.height + : height // ignore: cast_nullable_to_non_nullable + as dynamic, + length: freezed == length + ? _value.length + : length // ignore: cast_nullable_to_non_nullable + as dynamic, + number: freezed == number + ? _value.number + : number // ignore: cast_nullable_to_non_nullable + as dynamic, + quantity: freezed == quantity + ? _value.quantity + : quantity // ignore: cast_nullable_to_non_nullable + as dynamic, + measurelineitemNo: freezed == measurelineitemNo + ? _value.measurelineitemNo + : measurelineitemNo // ignore: cast_nullable_to_non_nullable + as dynamic, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_MeasureLineItemCopyWith<$Res> + implements $MeasureLineItemCopyWith<$Res> { + factory _$$_MeasureLineItemCopyWith( + _$_MeasureLineItem value, $Res Function(_$_MeasureLineItem) then) = + __$$_MeasureLineItemCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'width') dynamic width, + @JsonKey(name: 'height') dynamic height, + @JsonKey(name: "length") dynamic length, + @JsonKey(name: 'number') dynamic number, + @JsonKey(name: 'quantity') dynamic quantity, + @JsonKey(name: 'measurelineitemNo') dynamic measurelineitemNo}); +} + +/// @nodoc +class __$$_MeasureLineItemCopyWithImpl<$Res> + extends _$MeasureLineItemCopyWithImpl<$Res, _$_MeasureLineItem> + implements _$$_MeasureLineItemCopyWith<$Res> { + __$$_MeasureLineItemCopyWithImpl( + _$_MeasureLineItem _value, $Res Function(_$_MeasureLineItem) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? width = freezed, + Object? height = freezed, + Object? length = freezed, + Object? number = freezed, + Object? quantity = freezed, + Object? measurelineitemNo = freezed, + }) { + return _then(_$_MeasureLineItem( + width: freezed == width + ? _value.width + : width // ignore: cast_nullable_to_non_nullable + as dynamic, + height: freezed == height + ? _value.height + : height // ignore: cast_nullable_to_non_nullable + as dynamic, + length: freezed == length + ? _value.length + : length // ignore: cast_nullable_to_non_nullable + as dynamic, + number: freezed == number + ? _value.number + : number // ignore: cast_nullable_to_non_nullable + as dynamic, + quantity: freezed == quantity + ? _value.quantity + : quantity // ignore: cast_nullable_to_non_nullable + as dynamic, + measurelineitemNo: freezed == measurelineitemNo + ? _value.measurelineitemNo + : measurelineitemNo // ignore: cast_nullable_to_non_nullable + as dynamic, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_MeasureLineItem implements _MeasureLineItem { + const _$_MeasureLineItem( + {@JsonKey(name: 'width') this.width, + @JsonKey(name: 'height') this.height, + @JsonKey(name: "length") this.length, + @JsonKey(name: 'number') this.number, + @JsonKey(name: 'quantity') this.quantity, + @JsonKey(name: 'measurelineitemNo') this.measurelineitemNo}); + + factory _$_MeasureLineItem.fromJson(Map json) => + _$$_MeasureLineItemFromJson(json); + + @override + @JsonKey(name: 'width') + final dynamic width; + @override + @JsonKey(name: 'height') + final dynamic height; + @override + @JsonKey(name: "length") + final dynamic length; + @override + @JsonKey(name: 'number') + final dynamic number; + @override + @JsonKey(name: 'quantity') + final dynamic quantity; + @override + @JsonKey(name: 'measurelineitemNo') + final dynamic measurelineitemNo; + + @override + String toString() { + return 'MeasureLineItem(width: $width, height: $height, length: $length, number: $number, quantity: $quantity, measurelineitemNo: $measurelineitemNo)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_MeasureLineItem && + const DeepCollectionEquality().equals(other.width, width) && + const DeepCollectionEquality().equals(other.height, height) && + const DeepCollectionEquality().equals(other.length, length) && + const DeepCollectionEquality().equals(other.number, number) && + const DeepCollectionEquality().equals(other.quantity, quantity) && + const DeepCollectionEquality() + .equals(other.measurelineitemNo, measurelineitemNo)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + const DeepCollectionEquality().hash(width), + const DeepCollectionEquality().hash(height), + const DeepCollectionEquality().hash(length), + const DeepCollectionEquality().hash(number), + const DeepCollectionEquality().hash(quantity), + const DeepCollectionEquality().hash(measurelineitemNo)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_MeasureLineItemCopyWith<_$_MeasureLineItem> get copyWith => + __$$_MeasureLineItemCopyWithImpl<_$_MeasureLineItem>(this, _$identity); + + @override + Map toJson() { + return _$$_MeasureLineItemToJson( + this, + ); + } +} + +abstract class _MeasureLineItem implements MeasureLineItem { + const factory _MeasureLineItem( + {@JsonKey(name: 'width') + final dynamic width, + @JsonKey(name: 'height') + final dynamic height, + @JsonKey(name: "length") + final dynamic length, + @JsonKey(name: 'number') + final dynamic number, + @JsonKey(name: 'quantity') + final dynamic quantity, + @JsonKey(name: 'measurelineitemNo') + final dynamic measurelineitemNo}) = _$_MeasureLineItem; + + factory _MeasureLineItem.fromJson(Map json) = + _$_MeasureLineItem.fromJson; + + @override + @JsonKey(name: 'width') + dynamic get width; + @override + @JsonKey(name: 'height') + dynamic get height; + @override + @JsonKey(name: "length") + dynamic get length; + @override + @JsonKey(name: 'number') + dynamic get number; + @override + @JsonKey(name: 'quantity') + dynamic get quantity; + @override + @JsonKey(name: 'measurelineitemNo') + dynamic get measurelineitemNo; + @override + @JsonKey(ignore: true) + _$$_MeasureLineItemCopyWith<_$_MeasureLineItem> get copyWith => + throw _privateConstructorUsedError; +} + +Contract _$ContractFromJson(Map json) { + return _Contract.fromJson(json); +} + +/// @nodoc +mixin _$Contract { + @JsonKey(name: 'contractNumber') + String? get contractNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'id') + String? get id => throw _privateConstructorUsedError; + @JsonKey(name: 'versionNumber') + int? get versionNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'oldUuid') + String? get oldUuid => throw _privateConstructorUsedError; + @JsonKey(name: 'businessService') + String? get businessService => throw _privateConstructorUsedError; + @JsonKey(name: 'tenantId') + String? get tenantId => throw _privateConstructorUsedError; + @JsonKey(name: 'wfStatus') + String? get wfStatus => throw _privateConstructorUsedError; + @JsonKey(name: 'executingAuthority') + String? get executingAuthority => throw _privateConstructorUsedError; + @JsonKey(name: 'contractType') + String? get contractType => throw _privateConstructorUsedError; + @JsonKey(name: 'totalContractedAmount') + double? get totalContractedAmount => throw _privateConstructorUsedError; + @JsonKey(name: 'securityDeposit') + double? get securityDeposit => throw _privateConstructorUsedError; + @JsonKey(name: 'agreementDate') + int? get agreementDate => throw _privateConstructorUsedError; + @JsonKey(name: 'issueDate') + int? get issueDate => throw _privateConstructorUsedError; + @JsonKey(name: 'defectLiabilityPeriod') + int? get defectLiabilityPeriod => throw _privateConstructorUsedError; + @JsonKey(name: 'orgId') + String? get orgId => throw _privateConstructorUsedError; + @JsonKey(name: 'startDate') + int? get startDate => throw _privateConstructorUsedError; + @JsonKey(name: 'endDate') + int? get endDate => throw _privateConstructorUsedError; + @JsonKey(name: 'completionPeriod') + int? get completionPeriod => throw _privateConstructorUsedError; + @JsonKey(name: 'status') + String? get status => throw _privateConstructorUsedError; + @JsonKey(name: 'lineItems') + List? get lineItems => throw _privateConstructorUsedError; + @JsonKey(name: 'additionalDetails') + ContractAdditionalDetails? get additionalDetails => + throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $ContractCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $ContractCopyWith<$Res> { + factory $ContractCopyWith(Contract value, $Res Function(Contract) then) = + _$ContractCopyWithImpl<$Res, Contract>; + @useResult + $Res call( + {@JsonKey(name: 'contractNumber') + String? contractNumber, + @JsonKey(name: 'id') + String? id, + @JsonKey(name: 'versionNumber') + int? versionNumber, + @JsonKey(name: 'oldUuid') + String? oldUuid, + @JsonKey(name: 'businessService') + String? businessService, + @JsonKey(name: 'tenantId') + String? tenantId, + @JsonKey(name: 'wfStatus') + String? wfStatus, + @JsonKey(name: 'executingAuthority') + String? executingAuthority, + @JsonKey(name: 'contractType') + String? contractType, + @JsonKey(name: 'totalContractedAmount') + double? totalContractedAmount, + @JsonKey(name: 'securityDeposit') + double? securityDeposit, + @JsonKey(name: 'agreementDate') + int? agreementDate, + @JsonKey(name: 'issueDate') + int? issueDate, + @JsonKey(name: 'defectLiabilityPeriod') + int? defectLiabilityPeriod, + @JsonKey(name: 'orgId') + String? orgId, + @JsonKey(name: 'startDate') + int? startDate, + @JsonKey(name: 'endDate') + int? endDate, + @JsonKey(name: 'completionPeriod') + int? completionPeriod, + @JsonKey(name: 'status') + String? status, + @JsonKey(name: 'lineItems') + List? lineItems, + @JsonKey(name: 'additionalDetails') + ContractAdditionalDetails? additionalDetails}); + + $ContractAdditionalDetailsCopyWith<$Res>? get additionalDetails; +} + +/// @nodoc +class _$ContractCopyWithImpl<$Res, $Val extends Contract> + implements $ContractCopyWith<$Res> { + _$ContractCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? contractNumber = freezed, + Object? id = freezed, + Object? versionNumber = freezed, + Object? oldUuid = freezed, + Object? businessService = freezed, + Object? tenantId = freezed, + Object? wfStatus = freezed, + Object? executingAuthority = freezed, + Object? contractType = freezed, + Object? totalContractedAmount = freezed, + Object? securityDeposit = freezed, + Object? agreementDate = freezed, + Object? issueDate = freezed, + Object? defectLiabilityPeriod = freezed, + Object? orgId = freezed, + Object? startDate = freezed, + Object? endDate = freezed, + Object? completionPeriod = freezed, + Object? status = freezed, + Object? lineItems = freezed, + Object? additionalDetails = freezed, + }) { + return _then(_value.copyWith( + contractNumber: freezed == contractNumber + ? _value.contractNumber + : contractNumber // ignore: cast_nullable_to_non_nullable + as String?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + versionNumber: freezed == versionNumber + ? _value.versionNumber + : versionNumber // ignore: cast_nullable_to_non_nullable + as int?, + oldUuid: freezed == oldUuid + ? _value.oldUuid + : oldUuid // ignore: cast_nullable_to_non_nullable + as String?, + businessService: freezed == businessService + ? _value.businessService + : businessService // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + wfStatus: freezed == wfStatus + ? _value.wfStatus + : wfStatus // ignore: cast_nullable_to_non_nullable + as String?, + executingAuthority: freezed == executingAuthority + ? _value.executingAuthority + : executingAuthority // ignore: cast_nullable_to_non_nullable + as String?, + contractType: freezed == contractType + ? _value.contractType + : contractType // ignore: cast_nullable_to_non_nullable + as String?, + totalContractedAmount: freezed == totalContractedAmount + ? _value.totalContractedAmount + : totalContractedAmount // ignore: cast_nullable_to_non_nullable + as double?, + securityDeposit: freezed == securityDeposit + ? _value.securityDeposit + : securityDeposit // ignore: cast_nullable_to_non_nullable + as double?, + agreementDate: freezed == agreementDate + ? _value.agreementDate + : agreementDate // ignore: cast_nullable_to_non_nullable + as int?, + issueDate: freezed == issueDate + ? _value.issueDate + : issueDate // ignore: cast_nullable_to_non_nullable + as int?, + defectLiabilityPeriod: freezed == defectLiabilityPeriod + ? _value.defectLiabilityPeriod + : defectLiabilityPeriod // ignore: cast_nullable_to_non_nullable + as int?, + orgId: freezed == orgId + ? _value.orgId + : orgId // ignore: cast_nullable_to_non_nullable + as String?, + startDate: freezed == startDate + ? _value.startDate + : startDate // ignore: cast_nullable_to_non_nullable + as int?, + endDate: freezed == endDate + ? _value.endDate + : endDate // ignore: cast_nullable_to_non_nullable + as int?, + completionPeriod: freezed == completionPeriod + ? _value.completionPeriod + : completionPeriod // ignore: cast_nullable_to_non_nullable + as int?, + status: freezed == status + ? _value.status + : status // ignore: cast_nullable_to_non_nullable + as String?, + lineItems: freezed == lineItems + ? _value.lineItems + : lineItems // ignore: cast_nullable_to_non_nullable + as List?, + additionalDetails: freezed == additionalDetails + ? _value.additionalDetails + : additionalDetails // ignore: cast_nullable_to_non_nullable + as ContractAdditionalDetails?, + ) as $Val); + } + + @override + @pragma('vm:prefer-inline') + $ContractAdditionalDetailsCopyWith<$Res>? get additionalDetails { + if (_value.additionalDetails == null) { + return null; + } + + return $ContractAdditionalDetailsCopyWith<$Res>(_value.additionalDetails!, + (value) { + return _then(_value.copyWith(additionalDetails: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$_ContractCopyWith<$Res> implements $ContractCopyWith<$Res> { + factory _$$_ContractCopyWith( + _$_Contract value, $Res Function(_$_Contract) then) = + __$$_ContractCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'contractNumber') + String? contractNumber, + @JsonKey(name: 'id') + String? id, + @JsonKey(name: 'versionNumber') + int? versionNumber, + @JsonKey(name: 'oldUuid') + String? oldUuid, + @JsonKey(name: 'businessService') + String? businessService, + @JsonKey(name: 'tenantId') + String? tenantId, + @JsonKey(name: 'wfStatus') + String? wfStatus, + @JsonKey(name: 'executingAuthority') + String? executingAuthority, + @JsonKey(name: 'contractType') + String? contractType, + @JsonKey(name: 'totalContractedAmount') + double? totalContractedAmount, + @JsonKey(name: 'securityDeposit') + double? securityDeposit, + @JsonKey(name: 'agreementDate') + int? agreementDate, + @JsonKey(name: 'issueDate') + int? issueDate, + @JsonKey(name: 'defectLiabilityPeriod') + int? defectLiabilityPeriod, + @JsonKey(name: 'orgId') + String? orgId, + @JsonKey(name: 'startDate') + int? startDate, + @JsonKey(name: 'endDate') + int? endDate, + @JsonKey(name: 'completionPeriod') + int? completionPeriod, + @JsonKey(name: 'status') + String? status, + @JsonKey(name: 'lineItems') + List? lineItems, + @JsonKey(name: 'additionalDetails') + ContractAdditionalDetails? additionalDetails}); + + @override + $ContractAdditionalDetailsCopyWith<$Res>? get additionalDetails; +} + +/// @nodoc +class __$$_ContractCopyWithImpl<$Res> + extends _$ContractCopyWithImpl<$Res, _$_Contract> + implements _$$_ContractCopyWith<$Res> { + __$$_ContractCopyWithImpl( + _$_Contract _value, $Res Function(_$_Contract) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? contractNumber = freezed, + Object? id = freezed, + Object? versionNumber = freezed, + Object? oldUuid = freezed, + Object? businessService = freezed, + Object? tenantId = freezed, + Object? wfStatus = freezed, + Object? executingAuthority = freezed, + Object? contractType = freezed, + Object? totalContractedAmount = freezed, + Object? securityDeposit = freezed, + Object? agreementDate = freezed, + Object? issueDate = freezed, + Object? defectLiabilityPeriod = freezed, + Object? orgId = freezed, + Object? startDate = freezed, + Object? endDate = freezed, + Object? completionPeriod = freezed, + Object? status = freezed, + Object? lineItems = freezed, + Object? additionalDetails = freezed, + }) { + return _then(_$_Contract( + contractNumber: freezed == contractNumber + ? _value.contractNumber + : contractNumber // ignore: cast_nullable_to_non_nullable + as String?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + versionNumber: freezed == versionNumber + ? _value.versionNumber + : versionNumber // ignore: cast_nullable_to_non_nullable + as int?, + oldUuid: freezed == oldUuid + ? _value.oldUuid + : oldUuid // ignore: cast_nullable_to_non_nullable + as String?, + businessService: freezed == businessService + ? _value.businessService + : businessService // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + wfStatus: freezed == wfStatus + ? _value.wfStatus + : wfStatus // ignore: cast_nullable_to_non_nullable + as String?, + executingAuthority: freezed == executingAuthority + ? _value.executingAuthority + : executingAuthority // ignore: cast_nullable_to_non_nullable + as String?, + contractType: freezed == contractType + ? _value.contractType + : contractType // ignore: cast_nullable_to_non_nullable + as String?, + totalContractedAmount: freezed == totalContractedAmount + ? _value.totalContractedAmount + : totalContractedAmount // ignore: cast_nullable_to_non_nullable + as double?, + securityDeposit: freezed == securityDeposit + ? _value.securityDeposit + : securityDeposit // ignore: cast_nullable_to_non_nullable + as double?, + agreementDate: freezed == agreementDate + ? _value.agreementDate + : agreementDate // ignore: cast_nullable_to_non_nullable + as int?, + issueDate: freezed == issueDate + ? _value.issueDate + : issueDate // ignore: cast_nullable_to_non_nullable + as int?, + defectLiabilityPeriod: freezed == defectLiabilityPeriod + ? _value.defectLiabilityPeriod + : defectLiabilityPeriod // ignore: cast_nullable_to_non_nullable + as int?, + orgId: freezed == orgId + ? _value.orgId + : orgId // ignore: cast_nullable_to_non_nullable + as String?, + startDate: freezed == startDate + ? _value.startDate + : startDate // ignore: cast_nullable_to_non_nullable + as int?, + endDate: freezed == endDate + ? _value.endDate + : endDate // ignore: cast_nullable_to_non_nullable + as int?, + completionPeriod: freezed == completionPeriod + ? _value.completionPeriod + : completionPeriod // ignore: cast_nullable_to_non_nullable + as int?, + status: freezed == status + ? _value.status + : status // ignore: cast_nullable_to_non_nullable + as String?, + lineItems: freezed == lineItems + ? _value._lineItems + : lineItems // ignore: cast_nullable_to_non_nullable + as List?, + additionalDetails: freezed == additionalDetails + ? _value.additionalDetails + : additionalDetails // ignore: cast_nullable_to_non_nullable + as ContractAdditionalDetails?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_Contract implements _Contract { + const _$_Contract( + {@JsonKey(name: 'contractNumber') this.contractNumber, + @JsonKey(name: 'id') this.id, + @JsonKey(name: 'versionNumber') this.versionNumber, + @JsonKey(name: 'oldUuid') this.oldUuid, + @JsonKey(name: 'businessService') this.businessService, + @JsonKey(name: 'tenantId') this.tenantId, + @JsonKey(name: 'wfStatus') this.wfStatus, + @JsonKey(name: 'executingAuthority') this.executingAuthority, + @JsonKey(name: 'contractType') this.contractType, + @JsonKey(name: 'totalContractedAmount') this.totalContractedAmount, + @JsonKey(name: 'securityDeposit') this.securityDeposit, + @JsonKey(name: 'agreementDate') this.agreementDate, + @JsonKey(name: 'issueDate') this.issueDate, + @JsonKey(name: 'defectLiabilityPeriod') this.defectLiabilityPeriod, + @JsonKey(name: 'orgId') this.orgId, + @JsonKey(name: 'startDate') this.startDate, + @JsonKey(name: 'endDate') this.endDate, + @JsonKey(name: 'completionPeriod') this.completionPeriod, + @JsonKey(name: 'status') this.status, + @JsonKey(name: 'lineItems') final List? lineItems, + @JsonKey(name: 'additionalDetails') this.additionalDetails}) + : _lineItems = lineItems; + + factory _$_Contract.fromJson(Map json) => + _$$_ContractFromJson(json); + + @override + @JsonKey(name: 'contractNumber') + final String? contractNumber; + @override + @JsonKey(name: 'id') + final String? id; + @override + @JsonKey(name: 'versionNumber') + final int? versionNumber; + @override + @JsonKey(name: 'oldUuid') + final String? oldUuid; + @override + @JsonKey(name: 'businessService') + final String? businessService; + @override + @JsonKey(name: 'tenantId') + final String? tenantId; + @override + @JsonKey(name: 'wfStatus') + final String? wfStatus; + @override + @JsonKey(name: 'executingAuthority') + final String? executingAuthority; + @override + @JsonKey(name: 'contractType') + final String? contractType; + @override + @JsonKey(name: 'totalContractedAmount') + final double? totalContractedAmount; + @override + @JsonKey(name: 'securityDeposit') + final double? securityDeposit; + @override + @JsonKey(name: 'agreementDate') + final int? agreementDate; + @override + @JsonKey(name: 'issueDate') + final int? issueDate; + @override + @JsonKey(name: 'defectLiabilityPeriod') + final int? defectLiabilityPeriod; + @override + @JsonKey(name: 'orgId') + final String? orgId; + @override + @JsonKey(name: 'startDate') + final int? startDate; + @override + @JsonKey(name: 'endDate') + final int? endDate; + @override + @JsonKey(name: 'completionPeriod') + final int? completionPeriod; + @override + @JsonKey(name: 'status') + final String? status; + final List? _lineItems; + @override + @JsonKey(name: 'lineItems') + List? get lineItems { + final value = _lineItems; + if (value == null) return null; + if (_lineItems is EqualUnmodifiableListView) return _lineItems; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + @JsonKey(name: 'additionalDetails') + final ContractAdditionalDetails? additionalDetails; + + @override + String toString() { + return 'Contract(contractNumber: $contractNumber, id: $id, versionNumber: $versionNumber, oldUuid: $oldUuid, businessService: $businessService, tenantId: $tenantId, wfStatus: $wfStatus, executingAuthority: $executingAuthority, contractType: $contractType, totalContractedAmount: $totalContractedAmount, securityDeposit: $securityDeposit, agreementDate: $agreementDate, issueDate: $issueDate, defectLiabilityPeriod: $defectLiabilityPeriod, orgId: $orgId, startDate: $startDate, endDate: $endDate, completionPeriod: $completionPeriod, status: $status, lineItems: $lineItems, additionalDetails: $additionalDetails)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Contract && + (identical(other.contractNumber, contractNumber) || + other.contractNumber == contractNumber) && + (identical(other.id, id) || other.id == id) && + (identical(other.versionNumber, versionNumber) || + other.versionNumber == versionNumber) && + (identical(other.oldUuid, oldUuid) || other.oldUuid == oldUuid) && + (identical(other.businessService, businessService) || + other.businessService == businessService) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.wfStatus, wfStatus) || + other.wfStatus == wfStatus) && + (identical(other.executingAuthority, executingAuthority) || + other.executingAuthority == executingAuthority) && + (identical(other.contractType, contractType) || + other.contractType == contractType) && + (identical(other.totalContractedAmount, totalContractedAmount) || + other.totalContractedAmount == totalContractedAmount) && + (identical(other.securityDeposit, securityDeposit) || + other.securityDeposit == securityDeposit) && + (identical(other.agreementDate, agreementDate) || + other.agreementDate == agreementDate) && + (identical(other.issueDate, issueDate) || + other.issueDate == issueDate) && + (identical(other.defectLiabilityPeriod, defectLiabilityPeriod) || + other.defectLiabilityPeriod == defectLiabilityPeriod) && + (identical(other.orgId, orgId) || other.orgId == orgId) && + (identical(other.startDate, startDate) || + other.startDate == startDate) && + (identical(other.endDate, endDate) || other.endDate == endDate) && + (identical(other.completionPeriod, completionPeriod) || + other.completionPeriod == completionPeriod) && + (identical(other.status, status) || other.status == status) && + const DeepCollectionEquality() + .equals(other._lineItems, _lineItems) && + (identical(other.additionalDetails, additionalDetails) || + other.additionalDetails == additionalDetails)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hashAll([ + runtimeType, + contractNumber, + id, + versionNumber, + oldUuid, + businessService, + tenantId, + wfStatus, + executingAuthority, + contractType, + totalContractedAmount, + securityDeposit, + agreementDate, + issueDate, + defectLiabilityPeriod, + orgId, + startDate, + endDate, + completionPeriod, + status, + const DeepCollectionEquality().hash(_lineItems), + additionalDetails + ]); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_ContractCopyWith<_$_Contract> get copyWith => + __$$_ContractCopyWithImpl<_$_Contract>(this, _$identity); + + @override + Map toJson() { + return _$$_ContractToJson( + this, + ); + } +} + +abstract class _Contract implements Contract { + const factory _Contract( + {@JsonKey(name: 'contractNumber') + final String? contractNumber, + @JsonKey(name: 'id') + final String? id, + @JsonKey(name: 'versionNumber') + final int? versionNumber, + @JsonKey(name: 'oldUuid') + final String? oldUuid, + @JsonKey(name: 'businessService') + final String? businessService, + @JsonKey(name: 'tenantId') + final String? tenantId, + @JsonKey(name: 'wfStatus') + final String? wfStatus, + @JsonKey(name: 'executingAuthority') + final String? executingAuthority, + @JsonKey(name: 'contractType') + final String? contractType, + @JsonKey(name: 'totalContractedAmount') + final double? totalContractedAmount, + @JsonKey(name: 'securityDeposit') + final double? securityDeposit, + @JsonKey(name: 'agreementDate') + final int? agreementDate, + @JsonKey(name: 'issueDate') + final int? issueDate, + @JsonKey(name: 'defectLiabilityPeriod') + final int? defectLiabilityPeriod, + @JsonKey(name: 'orgId') + final String? orgId, + @JsonKey(name: 'startDate') + final int? startDate, + @JsonKey(name: 'endDate') + final int? endDate, + @JsonKey(name: 'completionPeriod') + final int? completionPeriod, + @JsonKey(name: 'status') + final String? status, + @JsonKey(name: 'lineItems') + final List? lineItems, + @JsonKey(name: 'additionalDetails') + final ContractAdditionalDetails? additionalDetails}) = _$_Contract; + + factory _Contract.fromJson(Map json) = _$_Contract.fromJson; + + @override + @JsonKey(name: 'contractNumber') + String? get contractNumber; + @override + @JsonKey(name: 'id') + String? get id; + @override + @JsonKey(name: 'versionNumber') + int? get versionNumber; + @override + @JsonKey(name: 'oldUuid') + String? get oldUuid; + @override + @JsonKey(name: 'businessService') + String? get businessService; + @override + @JsonKey(name: 'tenantId') + String? get tenantId; + @override + @JsonKey(name: 'wfStatus') + String? get wfStatus; + @override + @JsonKey(name: 'executingAuthority') + String? get executingAuthority; + @override + @JsonKey(name: 'contractType') + String? get contractType; + @override + @JsonKey(name: 'totalContractedAmount') + double? get totalContractedAmount; + @override + @JsonKey(name: 'securityDeposit') + double? get securityDeposit; + @override + @JsonKey(name: 'agreementDate') + int? get agreementDate; + @override + @JsonKey(name: 'issueDate') + int? get issueDate; + @override + @JsonKey(name: 'defectLiabilityPeriod') + int? get defectLiabilityPeriod; + @override + @JsonKey(name: 'orgId') + String? get orgId; + @override + @JsonKey(name: 'startDate') + int? get startDate; + @override + @JsonKey(name: 'endDate') + int? get endDate; + @override + @JsonKey(name: 'completionPeriod') + int? get completionPeriod; + @override + @JsonKey(name: 'status') + String? get status; + @override + @JsonKey(name: 'lineItems') + List? get lineItems; + @override + @JsonKey(name: 'additionalDetails') + ContractAdditionalDetails? get additionalDetails; + @override + @JsonKey(ignore: true) + _$$_ContractCopyWith<_$_Contract> get copyWith => + throw _privateConstructorUsedError; +} + +ContractAdditionalDetails _$ContractAdditionalDetailsFromJson( + Map json) { + return _ContractAdditionalDetails.fromJson(json); +} + +/// @nodoc +mixin _$ContractAdditionalDetails { + @JsonKey(name: 'orgName') + String? get orgName => throw _privateConstructorUsedError; + @JsonKey(name: 'totalEstimatedAmount') + double? get totalEstimatedAmount => throw _privateConstructorUsedError; + @JsonKey(name: 'attendanceRegisterNumber') + String? get attendanceRegisterNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'officerInChargeId') + String? get officerInChargeId => throw _privateConstructorUsedError; + @JsonKey(name: 'cboOrgNumber') + String? get cboOrgNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'estimateNumber') + String? get estimateNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'locality') + String? get locality => throw _privateConstructorUsedError; + @JsonKey(name: 'projectType') + String? get projectType => throw _privateConstructorUsedError; + @JsonKey(name: 'timeExtReason') + String? get timeExtReason => throw _privateConstructorUsedError; + @JsonKey(name: 'ward') + String? get ward => throw _privateConstructorUsedError; + @JsonKey(name: 'officerInChargeDesgn') + String? get officerInChargeDesgn => throw _privateConstructorUsedError; + @JsonKey(name: 'projectDesc') + String? get projectDesc => throw _privateConstructorUsedError; + @JsonKey(name: 'projectName') + String? get projectName => throw _privateConstructorUsedError; + @JsonKey(name: 'cboCode') + String? get cboCode => throw _privateConstructorUsedError; + @JsonKey(name: 'projectId') + String? get projectId => throw _privateConstructorUsedError; + @JsonKey(name: 'cboName') + String? get cboName => throw _privateConstructorUsedError; + @JsonKey(name: 'timeExt') + dynamic get timeExt => throw _privateConstructorUsedError; + @JsonKey(name: 'completionPeriod') + int? get completionPeriod => throw _privateConstructorUsedError; + @JsonKey(name: 'estimateDocs') + List? get estmateDocs => throw _privateConstructorUsedError; + @JsonKey(name: 'termsAndConditions') + List? get termsAndConditions => + throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $ContractAdditionalDetailsCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $ContractAdditionalDetailsCopyWith<$Res> { + factory $ContractAdditionalDetailsCopyWith(ContractAdditionalDetails value, + $Res Function(ContractAdditionalDetails) then) = + _$ContractAdditionalDetailsCopyWithImpl<$Res, ContractAdditionalDetails>; + @useResult + $Res call( + {@JsonKey(name: 'orgName') + String? orgName, + @JsonKey(name: 'totalEstimatedAmount') + double? totalEstimatedAmount, + @JsonKey(name: 'attendanceRegisterNumber') + String? attendanceRegisterNumber, + @JsonKey(name: 'officerInChargeId') + String? officerInChargeId, + @JsonKey(name: 'cboOrgNumber') + String? cboOrgNumber, + @JsonKey(name: 'estimateNumber') + String? estimateNumber, + @JsonKey(name: 'locality') + String? locality, + @JsonKey(name: 'projectType') + String? projectType, + @JsonKey(name: 'timeExtReason') + String? timeExtReason, + @JsonKey(name: 'ward') + String? ward, + @JsonKey(name: 'officerInChargeDesgn') + String? officerInChargeDesgn, + @JsonKey(name: 'projectDesc') + String? projectDesc, + @JsonKey(name: 'projectName') + String? projectName, + @JsonKey(name: 'cboCode') + String? cboCode, + @JsonKey(name: 'projectId') + String? projectId, + @JsonKey(name: 'cboName') + String? cboName, + @JsonKey(name: 'timeExt') + dynamic timeExt, + @JsonKey(name: 'completionPeriod') + int? completionPeriod, + @JsonKey(name: 'estimateDocs') + List? estmateDocs, + @JsonKey(name: 'termsAndConditions') + List? termsAndConditions}); +} + +/// @nodoc +class _$ContractAdditionalDetailsCopyWithImpl<$Res, + $Val extends ContractAdditionalDetails> + implements $ContractAdditionalDetailsCopyWith<$Res> { + _$ContractAdditionalDetailsCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? orgName = freezed, + Object? totalEstimatedAmount = freezed, + Object? attendanceRegisterNumber = freezed, + Object? officerInChargeId = freezed, + Object? cboOrgNumber = freezed, + Object? estimateNumber = freezed, + Object? locality = freezed, + Object? projectType = freezed, + Object? timeExtReason = freezed, + Object? ward = freezed, + Object? officerInChargeDesgn = freezed, + Object? projectDesc = freezed, + Object? projectName = freezed, + Object? cboCode = freezed, + Object? projectId = freezed, + Object? cboName = freezed, + Object? timeExt = freezed, + Object? completionPeriod = freezed, + Object? estmateDocs = freezed, + Object? termsAndConditions = freezed, + }) { + return _then(_value.copyWith( + orgName: freezed == orgName + ? _value.orgName + : orgName // ignore: cast_nullable_to_non_nullable + as String?, + totalEstimatedAmount: freezed == totalEstimatedAmount + ? _value.totalEstimatedAmount + : totalEstimatedAmount // ignore: cast_nullable_to_non_nullable + as double?, + attendanceRegisterNumber: freezed == attendanceRegisterNumber + ? _value.attendanceRegisterNumber + : attendanceRegisterNumber // ignore: cast_nullable_to_non_nullable + as String?, + officerInChargeId: freezed == officerInChargeId + ? _value.officerInChargeId + : officerInChargeId // ignore: cast_nullable_to_non_nullable + as String?, + cboOrgNumber: freezed == cboOrgNumber + ? _value.cboOrgNumber + : cboOrgNumber // ignore: cast_nullable_to_non_nullable + as String?, + estimateNumber: freezed == estimateNumber + ? _value.estimateNumber + : estimateNumber // ignore: cast_nullable_to_non_nullable + as String?, + locality: freezed == locality + ? _value.locality + : locality // ignore: cast_nullable_to_non_nullable + as String?, + projectType: freezed == projectType + ? _value.projectType + : projectType // ignore: cast_nullable_to_non_nullable + as String?, + timeExtReason: freezed == timeExtReason + ? _value.timeExtReason + : timeExtReason // ignore: cast_nullable_to_non_nullable + as String?, + ward: freezed == ward + ? _value.ward + : ward // ignore: cast_nullable_to_non_nullable + as String?, + officerInChargeDesgn: freezed == officerInChargeDesgn + ? _value.officerInChargeDesgn + : officerInChargeDesgn // ignore: cast_nullable_to_non_nullable + as String?, + projectDesc: freezed == projectDesc + ? _value.projectDesc + : projectDesc // ignore: cast_nullable_to_non_nullable + as String?, + projectName: freezed == projectName + ? _value.projectName + : projectName // ignore: cast_nullable_to_non_nullable + as String?, + cboCode: freezed == cboCode + ? _value.cboCode + : cboCode // ignore: cast_nullable_to_non_nullable + as String?, + projectId: freezed == projectId + ? _value.projectId + : projectId // ignore: cast_nullable_to_non_nullable + as String?, + cboName: freezed == cboName + ? _value.cboName + : cboName // ignore: cast_nullable_to_non_nullable + as String?, + timeExt: freezed == timeExt + ? _value.timeExt + : timeExt // ignore: cast_nullable_to_non_nullable + as dynamic, + completionPeriod: freezed == completionPeriod + ? _value.completionPeriod + : completionPeriod // ignore: cast_nullable_to_non_nullable + as int?, + estmateDocs: freezed == estmateDocs + ? _value.estmateDocs + : estmateDocs // ignore: cast_nullable_to_non_nullable + as List?, + termsAndConditions: freezed == termsAndConditions + ? _value.termsAndConditions + : termsAndConditions // ignore: cast_nullable_to_non_nullable + as List?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_ContractAdditionalDetailsCopyWith<$Res> + implements $ContractAdditionalDetailsCopyWith<$Res> { + factory _$$_ContractAdditionalDetailsCopyWith( + _$_ContractAdditionalDetails value, + $Res Function(_$_ContractAdditionalDetails) then) = + __$$_ContractAdditionalDetailsCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'orgName') + String? orgName, + @JsonKey(name: 'totalEstimatedAmount') + double? totalEstimatedAmount, + @JsonKey(name: 'attendanceRegisterNumber') + String? attendanceRegisterNumber, + @JsonKey(name: 'officerInChargeId') + String? officerInChargeId, + @JsonKey(name: 'cboOrgNumber') + String? cboOrgNumber, + @JsonKey(name: 'estimateNumber') + String? estimateNumber, + @JsonKey(name: 'locality') + String? locality, + @JsonKey(name: 'projectType') + String? projectType, + @JsonKey(name: 'timeExtReason') + String? timeExtReason, + @JsonKey(name: 'ward') + String? ward, + @JsonKey(name: 'officerInChargeDesgn') + String? officerInChargeDesgn, + @JsonKey(name: 'projectDesc') + String? projectDesc, + @JsonKey(name: 'projectName') + String? projectName, + @JsonKey(name: 'cboCode') + String? cboCode, + @JsonKey(name: 'projectId') + String? projectId, + @JsonKey(name: 'cboName') + String? cboName, + @JsonKey(name: 'timeExt') + dynamic timeExt, + @JsonKey(name: 'completionPeriod') + int? completionPeriod, + @JsonKey(name: 'estimateDocs') + List? estmateDocs, + @JsonKey(name: 'termsAndConditions') + List? termsAndConditions}); +} + +/// @nodoc +class __$$_ContractAdditionalDetailsCopyWithImpl<$Res> + extends _$ContractAdditionalDetailsCopyWithImpl<$Res, + _$_ContractAdditionalDetails> + implements _$$_ContractAdditionalDetailsCopyWith<$Res> { + __$$_ContractAdditionalDetailsCopyWithImpl( + _$_ContractAdditionalDetails _value, + $Res Function(_$_ContractAdditionalDetails) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? orgName = freezed, + Object? totalEstimatedAmount = freezed, + Object? attendanceRegisterNumber = freezed, + Object? officerInChargeId = freezed, + Object? cboOrgNumber = freezed, + Object? estimateNumber = freezed, + Object? locality = freezed, + Object? projectType = freezed, + Object? timeExtReason = freezed, + Object? ward = freezed, + Object? officerInChargeDesgn = freezed, + Object? projectDesc = freezed, + Object? projectName = freezed, + Object? cboCode = freezed, + Object? projectId = freezed, + Object? cboName = freezed, + Object? timeExt = freezed, + Object? completionPeriod = freezed, + Object? estmateDocs = freezed, + Object? termsAndConditions = freezed, + }) { + return _then(_$_ContractAdditionalDetails( + orgName: freezed == orgName + ? _value.orgName + : orgName // ignore: cast_nullable_to_non_nullable + as String?, + totalEstimatedAmount: freezed == totalEstimatedAmount + ? _value.totalEstimatedAmount + : totalEstimatedAmount // ignore: cast_nullable_to_non_nullable + as double?, + attendanceRegisterNumber: freezed == attendanceRegisterNumber + ? _value.attendanceRegisterNumber + : attendanceRegisterNumber // ignore: cast_nullable_to_non_nullable + as String?, + officerInChargeId: freezed == officerInChargeId + ? _value.officerInChargeId + : officerInChargeId // ignore: cast_nullable_to_non_nullable + as String?, + cboOrgNumber: freezed == cboOrgNumber + ? _value.cboOrgNumber + : cboOrgNumber // ignore: cast_nullable_to_non_nullable + as String?, + estimateNumber: freezed == estimateNumber + ? _value.estimateNumber + : estimateNumber // ignore: cast_nullable_to_non_nullable + as String?, + locality: freezed == locality + ? _value.locality + : locality // ignore: cast_nullable_to_non_nullable + as String?, + projectType: freezed == projectType + ? _value.projectType + : projectType // ignore: cast_nullable_to_non_nullable + as String?, + timeExtReason: freezed == timeExtReason + ? _value.timeExtReason + : timeExtReason // ignore: cast_nullable_to_non_nullable + as String?, + ward: freezed == ward + ? _value.ward + : ward // ignore: cast_nullable_to_non_nullable + as String?, + officerInChargeDesgn: freezed == officerInChargeDesgn + ? _value.officerInChargeDesgn + : officerInChargeDesgn // ignore: cast_nullable_to_non_nullable + as String?, + projectDesc: freezed == projectDesc + ? _value.projectDesc + : projectDesc // ignore: cast_nullable_to_non_nullable + as String?, + projectName: freezed == projectName + ? _value.projectName + : projectName // ignore: cast_nullable_to_non_nullable + as String?, + cboCode: freezed == cboCode + ? _value.cboCode + : cboCode // ignore: cast_nullable_to_non_nullable + as String?, + projectId: freezed == projectId + ? _value.projectId + : projectId // ignore: cast_nullable_to_non_nullable + as String?, + cboName: freezed == cboName + ? _value.cboName + : cboName // ignore: cast_nullable_to_non_nullable + as String?, + timeExt: freezed == timeExt + ? _value.timeExt + : timeExt // ignore: cast_nullable_to_non_nullable + as dynamic, + completionPeriod: freezed == completionPeriod + ? _value.completionPeriod + : completionPeriod // ignore: cast_nullable_to_non_nullable + as int?, + estmateDocs: freezed == estmateDocs + ? _value._estmateDocs + : estmateDocs // ignore: cast_nullable_to_non_nullable + as List?, + termsAndConditions: freezed == termsAndConditions + ? _value._termsAndConditions + : termsAndConditions // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_ContractAdditionalDetails implements _ContractAdditionalDetails { + const _$_ContractAdditionalDetails( + {@JsonKey(name: 'orgName') + this.orgName, + @JsonKey(name: 'totalEstimatedAmount') + this.totalEstimatedAmount, + @JsonKey(name: 'attendanceRegisterNumber') + this.attendanceRegisterNumber, + @JsonKey(name: 'officerInChargeId') + this.officerInChargeId, + @JsonKey(name: 'cboOrgNumber') + this.cboOrgNumber, + @JsonKey(name: 'estimateNumber') + this.estimateNumber, + @JsonKey(name: 'locality') + this.locality, + @JsonKey(name: 'projectType') + this.projectType, + @JsonKey(name: 'timeExtReason') + this.timeExtReason, + @JsonKey(name: 'ward') + this.ward, + @JsonKey(name: 'officerInChargeDesgn') + this.officerInChargeDesgn, + @JsonKey(name: 'projectDesc') + this.projectDesc, + @JsonKey(name: 'projectName') + this.projectName, + @JsonKey(name: 'cboCode') + this.cboCode, + @JsonKey(name: 'projectId') + this.projectId, + @JsonKey(name: 'cboName') + this.cboName, + @JsonKey(name: 'timeExt') + this.timeExt, + @JsonKey(name: 'completionPeriod') + this.completionPeriod, + @JsonKey(name: 'estimateDocs') + final List? estmateDocs, + @JsonKey(name: 'termsAndConditions') + final List? termsAndConditions}) + : _estmateDocs = estmateDocs, + _termsAndConditions = termsAndConditions; + + factory _$_ContractAdditionalDetails.fromJson(Map json) => + _$$_ContractAdditionalDetailsFromJson(json); + + @override + @JsonKey(name: 'orgName') + final String? orgName; + @override + @JsonKey(name: 'totalEstimatedAmount') + final double? totalEstimatedAmount; + @override + @JsonKey(name: 'attendanceRegisterNumber') + final String? attendanceRegisterNumber; + @override + @JsonKey(name: 'officerInChargeId') + final String? officerInChargeId; + @override + @JsonKey(name: 'cboOrgNumber') + final String? cboOrgNumber; + @override + @JsonKey(name: 'estimateNumber') + final String? estimateNumber; + @override + @JsonKey(name: 'locality') + final String? locality; + @override + @JsonKey(name: 'projectType') + final String? projectType; + @override + @JsonKey(name: 'timeExtReason') + final String? timeExtReason; + @override + @JsonKey(name: 'ward') + final String? ward; + @override + @JsonKey(name: 'officerInChargeDesgn') + final String? officerInChargeDesgn; + @override + @JsonKey(name: 'projectDesc') + final String? projectDesc; + @override + @JsonKey(name: 'projectName') + final String? projectName; + @override + @JsonKey(name: 'cboCode') + final String? cboCode; + @override + @JsonKey(name: 'projectId') + final String? projectId; + @override + @JsonKey(name: 'cboName') + final String? cboName; + @override + @JsonKey(name: 'timeExt') + final dynamic timeExt; + @override + @JsonKey(name: 'completionPeriod') + final int? completionPeriod; + final List? _estmateDocs; + @override + @JsonKey(name: 'estimateDocs') + List? get estmateDocs { + final value = _estmateDocs; + if (value == null) return null; + if (_estmateDocs is EqualUnmodifiableListView) return _estmateDocs; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + final List? _termsAndConditions; + @override + @JsonKey(name: 'termsAndConditions') + List? get termsAndConditions { + final value = _termsAndConditions; + if (value == null) return null; + if (_termsAndConditions is EqualUnmodifiableListView) + return _termsAndConditions; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'ContractAdditionalDetails(orgName: $orgName, totalEstimatedAmount: $totalEstimatedAmount, attendanceRegisterNumber: $attendanceRegisterNumber, officerInChargeId: $officerInChargeId, cboOrgNumber: $cboOrgNumber, estimateNumber: $estimateNumber, locality: $locality, projectType: $projectType, timeExtReason: $timeExtReason, ward: $ward, officerInChargeDesgn: $officerInChargeDesgn, projectDesc: $projectDesc, projectName: $projectName, cboCode: $cboCode, projectId: $projectId, cboName: $cboName, timeExt: $timeExt, completionPeriod: $completionPeriod, estmateDocs: $estmateDocs, termsAndConditions: $termsAndConditions)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_ContractAdditionalDetails && + (identical(other.orgName, orgName) || other.orgName == orgName) && + (identical(other.totalEstimatedAmount, totalEstimatedAmount) || + other.totalEstimatedAmount == totalEstimatedAmount) && + (identical( + other.attendanceRegisterNumber, attendanceRegisterNumber) || + other.attendanceRegisterNumber == attendanceRegisterNumber) && + (identical(other.officerInChargeId, officerInChargeId) || + other.officerInChargeId == officerInChargeId) && + (identical(other.cboOrgNumber, cboOrgNumber) || + other.cboOrgNumber == cboOrgNumber) && + (identical(other.estimateNumber, estimateNumber) || + other.estimateNumber == estimateNumber) && + (identical(other.locality, locality) || + other.locality == locality) && + (identical(other.projectType, projectType) || + other.projectType == projectType) && + (identical(other.timeExtReason, timeExtReason) || + other.timeExtReason == timeExtReason) && + (identical(other.ward, ward) || other.ward == ward) && + (identical(other.officerInChargeDesgn, officerInChargeDesgn) || + other.officerInChargeDesgn == officerInChargeDesgn) && + (identical(other.projectDesc, projectDesc) || + other.projectDesc == projectDesc) && + (identical(other.projectName, projectName) || + other.projectName == projectName) && + (identical(other.cboCode, cboCode) || other.cboCode == cboCode) && + (identical(other.projectId, projectId) || + other.projectId == projectId) && + (identical(other.cboName, cboName) || other.cboName == cboName) && + const DeepCollectionEquality().equals(other.timeExt, timeExt) && + (identical(other.completionPeriod, completionPeriod) || + other.completionPeriod == completionPeriod) && + const DeepCollectionEquality() + .equals(other._estmateDocs, _estmateDocs) && + const DeepCollectionEquality() + .equals(other._termsAndConditions, _termsAndConditions)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hashAll([ + runtimeType, + orgName, + totalEstimatedAmount, + attendanceRegisterNumber, + officerInChargeId, + cboOrgNumber, + estimateNumber, + locality, + projectType, + timeExtReason, + ward, + officerInChargeDesgn, + projectDesc, + projectName, + cboCode, + projectId, + cboName, + const DeepCollectionEquality().hash(timeExt), + completionPeriod, + const DeepCollectionEquality().hash(_estmateDocs), + const DeepCollectionEquality().hash(_termsAndConditions) + ]); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_ContractAdditionalDetailsCopyWith<_$_ContractAdditionalDetails> + get copyWith => __$$_ContractAdditionalDetailsCopyWithImpl< + _$_ContractAdditionalDetails>(this, _$identity); + + @override + Map toJson() { + return _$$_ContractAdditionalDetailsToJson( + this, + ); + } +} + +abstract class _ContractAdditionalDetails implements ContractAdditionalDetails { + const factory _ContractAdditionalDetails( + {@JsonKey(name: 'orgName') + final String? orgName, + @JsonKey(name: 'totalEstimatedAmount') + final double? totalEstimatedAmount, + @JsonKey(name: 'attendanceRegisterNumber') + final String? attendanceRegisterNumber, + @JsonKey(name: 'officerInChargeId') + final String? officerInChargeId, + @JsonKey(name: 'cboOrgNumber') + final String? cboOrgNumber, + @JsonKey(name: 'estimateNumber') + final String? estimateNumber, + @JsonKey(name: 'locality') + final String? locality, + @JsonKey(name: 'projectType') + final String? projectType, + @JsonKey(name: 'timeExtReason') + final String? timeExtReason, + @JsonKey(name: 'ward') + final String? ward, + @JsonKey(name: 'officerInChargeDesgn') + final String? officerInChargeDesgn, + @JsonKey(name: 'projectDesc') + final String? projectDesc, + @JsonKey(name: 'projectName') + final String? projectName, + @JsonKey(name: 'cboCode') + final String? cboCode, + @JsonKey(name: 'projectId') + final String? projectId, + @JsonKey(name: 'cboName') + final String? cboName, + @JsonKey(name: 'timeExt') + final dynamic timeExt, + @JsonKey(name: 'completionPeriod') + final int? completionPeriod, + @JsonKey(name: 'estimateDocs') + final List? estmateDocs, + @JsonKey(name: 'termsAndConditions') + final List? termsAndConditions}) = + _$_ContractAdditionalDetails; + + factory _ContractAdditionalDetails.fromJson(Map json) = + _$_ContractAdditionalDetails.fromJson; + + @override + @JsonKey(name: 'orgName') + String? get orgName; + @override + @JsonKey(name: 'totalEstimatedAmount') + double? get totalEstimatedAmount; + @override + @JsonKey(name: 'attendanceRegisterNumber') + String? get attendanceRegisterNumber; + @override + @JsonKey(name: 'officerInChargeId') + String? get officerInChargeId; + @override + @JsonKey(name: 'cboOrgNumber') + String? get cboOrgNumber; + @override + @JsonKey(name: 'estimateNumber') + String? get estimateNumber; + @override + @JsonKey(name: 'locality') + String? get locality; + @override + @JsonKey(name: 'projectType') + String? get projectType; + @override + @JsonKey(name: 'timeExtReason') + String? get timeExtReason; + @override + @JsonKey(name: 'ward') + String? get ward; + @override + @JsonKey(name: 'officerInChargeDesgn') + String? get officerInChargeDesgn; + @override + @JsonKey(name: 'projectDesc') + String? get projectDesc; + @override + @JsonKey(name: 'projectName') + String? get projectName; + @override + @JsonKey(name: 'cboCode') + String? get cboCode; + @override + @JsonKey(name: 'projectId') + String? get projectId; + @override + @JsonKey(name: 'cboName') + String? get cboName; + @override + @JsonKey(name: 'timeExt') + dynamic get timeExt; + @override + @JsonKey(name: 'completionPeriod') + int? get completionPeriod; + @override + @JsonKey(name: 'estimateDocs') + List? get estmateDocs; + @override + @JsonKey(name: 'termsAndConditions') + List? get termsAndConditions; + @override + @JsonKey(ignore: true) + _$$_ContractAdditionalDetailsCopyWith<_$_ContractAdditionalDetails> + get copyWith => throw _privateConstructorUsedError; +} + +EstmateDoc _$EstmateDocFromJson(Map json) { + return _EstmateDoc.fromJson(json); +} + +/// @nodoc +mixin _$EstmateDoc { + @JsonKey(name: 'fileName') + String? get fileName => throw _privateConstructorUsedError; + @JsonKey(name: 'fileType') + String? get fileType => throw _privateConstructorUsedError; + @JsonKey(name: 'tenantId') + String? get tenantId => throw _privateConstructorUsedError; + @JsonKey(name: 'documentUid') + String? get documentUid => throw _privateConstructorUsedError; + @JsonKey(name: 'fileStoreId') + String? get fileStoreId => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $EstmateDocCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $EstmateDocCopyWith<$Res> { + factory $EstmateDocCopyWith( + EstmateDoc value, $Res Function(EstmateDoc) then) = + _$EstmateDocCopyWithImpl<$Res, EstmateDoc>; + @useResult + $Res call( + {@JsonKey(name: 'fileName') String? fileName, + @JsonKey(name: 'fileType') String? fileType, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'documentUid') String? documentUid, + @JsonKey(name: 'fileStoreId') String? fileStoreId}); +} + +/// @nodoc +class _$EstmateDocCopyWithImpl<$Res, $Val extends EstmateDoc> + implements $EstmateDocCopyWith<$Res> { + _$EstmateDocCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? fileName = freezed, + Object? fileType = freezed, + Object? tenantId = freezed, + Object? documentUid = freezed, + Object? fileStoreId = freezed, + }) { + return _then(_value.copyWith( + fileName: freezed == fileName + ? _value.fileName + : fileName // ignore: cast_nullable_to_non_nullable + as String?, + fileType: freezed == fileType + ? _value.fileType + : fileType // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + documentUid: freezed == documentUid + ? _value.documentUid + : documentUid // ignore: cast_nullable_to_non_nullable + as String?, + fileStoreId: freezed == fileStoreId + ? _value.fileStoreId + : fileStoreId // ignore: cast_nullable_to_non_nullable + as String?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_EstmateDocCopyWith<$Res> + implements $EstmateDocCopyWith<$Res> { + factory _$$_EstmateDocCopyWith( + _$_EstmateDoc value, $Res Function(_$_EstmateDoc) then) = + __$$_EstmateDocCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'fileName') String? fileName, + @JsonKey(name: 'fileType') String? fileType, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'documentUid') String? documentUid, + @JsonKey(name: 'fileStoreId') String? fileStoreId}); +} + +/// @nodoc +class __$$_EstmateDocCopyWithImpl<$Res> + extends _$EstmateDocCopyWithImpl<$Res, _$_EstmateDoc> + implements _$$_EstmateDocCopyWith<$Res> { + __$$_EstmateDocCopyWithImpl( + _$_EstmateDoc _value, $Res Function(_$_EstmateDoc) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? fileName = freezed, + Object? fileType = freezed, + Object? tenantId = freezed, + Object? documentUid = freezed, + Object? fileStoreId = freezed, + }) { + return _then(_$_EstmateDoc( + fileName: freezed == fileName + ? _value.fileName + : fileName // ignore: cast_nullable_to_non_nullable + as String?, + fileType: freezed == fileType + ? _value.fileType + : fileType // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + documentUid: freezed == documentUid + ? _value.documentUid + : documentUid // ignore: cast_nullable_to_non_nullable + as String?, + fileStoreId: freezed == fileStoreId + ? _value.fileStoreId + : fileStoreId // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_EstmateDoc implements _EstmateDoc { + const _$_EstmateDoc( + {@JsonKey(name: 'fileName') this.fileName, + @JsonKey(name: 'fileType') this.fileType, + @JsonKey(name: 'tenantId') this.tenantId, + @JsonKey(name: 'documentUid') this.documentUid, + @JsonKey(name: 'fileStoreId') this.fileStoreId}); + + factory _$_EstmateDoc.fromJson(Map json) => + _$$_EstmateDocFromJson(json); + + @override + @JsonKey(name: 'fileName') + final String? fileName; + @override + @JsonKey(name: 'fileType') + final String? fileType; + @override + @JsonKey(name: 'tenantId') + final String? tenantId; + @override + @JsonKey(name: 'documentUid') + final String? documentUid; + @override + @JsonKey(name: 'fileStoreId') + final String? fileStoreId; + + @override + String toString() { + return 'EstmateDoc(fileName: $fileName, fileType: $fileType, tenantId: $tenantId, documentUid: $documentUid, fileStoreId: $fileStoreId)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_EstmateDoc && + (identical(other.fileName, fileName) || + other.fileName == fileName) && + (identical(other.fileType, fileType) || + other.fileType == fileType) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.documentUid, documentUid) || + other.documentUid == documentUid) && + (identical(other.fileStoreId, fileStoreId) || + other.fileStoreId == fileStoreId)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, fileName, fileType, tenantId, documentUid, fileStoreId); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_EstmateDocCopyWith<_$_EstmateDoc> get copyWith => + __$$_EstmateDocCopyWithImpl<_$_EstmateDoc>(this, _$identity); + + @override + Map toJson() { + return _$$_EstmateDocToJson( + this, + ); + } +} + +abstract class _EstmateDoc implements EstmateDoc { + const factory _EstmateDoc( + {@JsonKey(name: 'fileName') final String? fileName, + @JsonKey(name: 'fileType') final String? fileType, + @JsonKey(name: 'tenantId') final String? tenantId, + @JsonKey(name: 'documentUid') final String? documentUid, + @JsonKey(name: 'fileStoreId') final String? fileStoreId}) = _$_EstmateDoc; + + factory _EstmateDoc.fromJson(Map json) = + _$_EstmateDoc.fromJson; + + @override + @JsonKey(name: 'fileName') + String? get fileName; + @override + @JsonKey(name: 'fileType') + String? get fileType; + @override + @JsonKey(name: 'tenantId') + String? get tenantId; + @override + @JsonKey(name: 'documentUid') + String? get documentUid; + @override + @JsonKey(name: 'fileStoreId') + String? get fileStoreId; + @override + @JsonKey(ignore: true) + _$$_EstmateDocCopyWith<_$_EstmateDoc> get copyWith => + throw _privateConstructorUsedError; +} + +TermsAndConditions _$TermsAndConditionsFromJson(Map json) { + return _TermsAndConditions.fromJson(json); +} + +/// @nodoc +mixin _$TermsAndConditions { + @JsonKey(name: 'description') + String? get description => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $TermsAndConditionsCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $TermsAndConditionsCopyWith<$Res> { + factory $TermsAndConditionsCopyWith( + TermsAndConditions value, $Res Function(TermsAndConditions) then) = + _$TermsAndConditionsCopyWithImpl<$Res, TermsAndConditions>; + @useResult + $Res call({@JsonKey(name: 'description') String? description}); +} + +/// @nodoc +class _$TermsAndConditionsCopyWithImpl<$Res, $Val extends TermsAndConditions> + implements $TermsAndConditionsCopyWith<$Res> { + _$TermsAndConditionsCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? description = freezed, + }) { + return _then(_value.copyWith( + description: freezed == description + ? _value.description + : description // ignore: cast_nullable_to_non_nullable + as String?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_TermsAndConditionsCopyWith<$Res> + implements $TermsAndConditionsCopyWith<$Res> { + factory _$$_TermsAndConditionsCopyWith(_$_TermsAndConditions value, + $Res Function(_$_TermsAndConditions) then) = + __$$_TermsAndConditionsCopyWithImpl<$Res>; + @override + @useResult + $Res call({@JsonKey(name: 'description') String? description}); +} + +/// @nodoc +class __$$_TermsAndConditionsCopyWithImpl<$Res> + extends _$TermsAndConditionsCopyWithImpl<$Res, _$_TermsAndConditions> + implements _$$_TermsAndConditionsCopyWith<$Res> { + __$$_TermsAndConditionsCopyWithImpl( + _$_TermsAndConditions _value, $Res Function(_$_TermsAndConditions) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? description = freezed, + }) { + return _then(_$_TermsAndConditions( + description: freezed == description + ? _value.description + : description // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_TermsAndConditions implements _TermsAndConditions { + const _$_TermsAndConditions({@JsonKey(name: 'description') this.description}); + + factory _$_TermsAndConditions.fromJson(Map json) => + _$$_TermsAndConditionsFromJson(json); + + @override + @JsonKey(name: 'description') + final String? description; + + @override + String toString() { + return 'TermsAndConditions(description: $description)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_TermsAndConditions && + (identical(other.description, description) || + other.description == description)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, description); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_TermsAndConditionsCopyWith<_$_TermsAndConditions> get copyWith => + __$$_TermsAndConditionsCopyWithImpl<_$_TermsAndConditions>( + this, _$identity); + + @override + Map toJson() { + return _$$_TermsAndConditionsToJson( + this, + ); + } +} + +abstract class _TermsAndConditions implements TermsAndConditions { + const factory _TermsAndConditions( + {@JsonKey(name: 'description') final String? description}) = + _$_TermsAndConditions; + + factory _TermsAndConditions.fromJson(Map json) = + _$_TermsAndConditions.fromJson; + + @override + @JsonKey(name: 'description') + String? get description; + @override + @JsonKey(ignore: true) + _$$_TermsAndConditionsCopyWith<_$_TermsAndConditions> get copyWith => + throw _privateConstructorUsedError; +} + +LineItem _$LineItemFromJson(Map json) { + return _LineItem.fromJson(json); +} + +/// @nodoc +mixin _$LineItem { + @JsonKey(name: 'id') + String? get id => throw _privateConstructorUsedError; + @JsonKey(name: 'estimateId') + String? get estimateId => throw _privateConstructorUsedError; + @JsonKey(name: 'estimateLineItemId') + String? get estimateLineItemId => throw _privateConstructorUsedError; + @JsonKey(name: 'contractLineItemRef') + String? get contractLineItemRef => throw _privateConstructorUsedError; + @JsonKey(name: 'tenantId') + String? get tenantId => throw _privateConstructorUsedError; + @JsonKey(name: 'unitRate') + double? get unitRate => throw _privateConstructorUsedError; + @JsonKey(name: 'category') + String? get category => throw _privateConstructorUsedError; + @JsonKey(name: 'noOfunit') + num? get noOfunit => throw _privateConstructorUsedError; + @JsonKey(name: 'name') + String? get name => throw _privateConstructorUsedError; + @JsonKey(name: 'status') + String? get status => throw _privateConstructorUsedError; + @JsonKey(name: 'amountBreakups') + List? get amountBreakups => throw _privateConstructorUsedError; + @JsonKey(name: 'auditDetails') + AuditDetails? get auditDetails => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $LineItemCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $LineItemCopyWith<$Res> { + factory $LineItemCopyWith(LineItem value, $Res Function(LineItem) then) = + _$LineItemCopyWithImpl<$Res, LineItem>; + @useResult + $Res call( + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'estimateId') String? estimateId, + @JsonKey(name: 'estimateLineItemId') String? estimateLineItemId, + @JsonKey(name: 'contractLineItemRef') String? contractLineItemRef, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'unitRate') double? unitRate, + @JsonKey(name: 'category') String? category, + @JsonKey(name: 'noOfunit') num? noOfunit, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'status') String? status, + @JsonKey(name: 'amountBreakups') List? amountBreakups, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails}); + + $AuditDetailsCopyWith<$Res>? get auditDetails; +} + +/// @nodoc +class _$LineItemCopyWithImpl<$Res, $Val extends LineItem> + implements $LineItemCopyWith<$Res> { + _$LineItemCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? estimateId = freezed, + Object? estimateLineItemId = freezed, + Object? contractLineItemRef = freezed, + Object? tenantId = freezed, + Object? unitRate = freezed, + Object? category = freezed, + Object? noOfunit = freezed, + Object? name = freezed, + Object? status = freezed, + Object? amountBreakups = freezed, + Object? auditDetails = freezed, + }) { + return _then(_value.copyWith( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + estimateId: freezed == estimateId + ? _value.estimateId + : estimateId // ignore: cast_nullable_to_non_nullable + as String?, + estimateLineItemId: freezed == estimateLineItemId + ? _value.estimateLineItemId + : estimateLineItemId // ignore: cast_nullable_to_non_nullable + as String?, + contractLineItemRef: freezed == contractLineItemRef + ? _value.contractLineItemRef + : contractLineItemRef // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + unitRate: freezed == unitRate + ? _value.unitRate + : unitRate // ignore: cast_nullable_to_non_nullable + as double?, + category: freezed == category + ? _value.category + : category // ignore: cast_nullable_to_non_nullable + as String?, + noOfunit: freezed == noOfunit + ? _value.noOfunit + : noOfunit // ignore: cast_nullable_to_non_nullable + as num?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + status: freezed == status + ? _value.status + : status // ignore: cast_nullable_to_non_nullable + as String?, + amountBreakups: freezed == amountBreakups + ? _value.amountBreakups + : amountBreakups // ignore: cast_nullable_to_non_nullable + as List?, + auditDetails: freezed == auditDetails + ? _value.auditDetails + : auditDetails // ignore: cast_nullable_to_non_nullable + as AuditDetails?, + ) as $Val); + } + + @override + @pragma('vm:prefer-inline') + $AuditDetailsCopyWith<$Res>? get auditDetails { + if (_value.auditDetails == null) { + return null; + } + + return $AuditDetailsCopyWith<$Res>(_value.auditDetails!, (value) { + return _then(_value.copyWith(auditDetails: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$_LineItemCopyWith<$Res> implements $LineItemCopyWith<$Res> { + factory _$$_LineItemCopyWith( + _$_LineItem value, $Res Function(_$_LineItem) then) = + __$$_LineItemCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'estimateId') String? estimateId, + @JsonKey(name: 'estimateLineItemId') String? estimateLineItemId, + @JsonKey(name: 'contractLineItemRef') String? contractLineItemRef, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'unitRate') double? unitRate, + @JsonKey(name: 'category') String? category, + @JsonKey(name: 'noOfunit') num? noOfunit, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'status') String? status, + @JsonKey(name: 'amountBreakups') List? amountBreakups, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails}); + + @override + $AuditDetailsCopyWith<$Res>? get auditDetails; +} + +/// @nodoc +class __$$_LineItemCopyWithImpl<$Res> + extends _$LineItemCopyWithImpl<$Res, _$_LineItem> + implements _$$_LineItemCopyWith<$Res> { + __$$_LineItemCopyWithImpl( + _$_LineItem _value, $Res Function(_$_LineItem) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? estimateId = freezed, + Object? estimateLineItemId = freezed, + Object? contractLineItemRef = freezed, + Object? tenantId = freezed, + Object? unitRate = freezed, + Object? category = freezed, + Object? noOfunit = freezed, + Object? name = freezed, + Object? status = freezed, + Object? amountBreakups = freezed, + Object? auditDetails = freezed, + }) { + return _then(_$_LineItem( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + estimateId: freezed == estimateId + ? _value.estimateId + : estimateId // ignore: cast_nullable_to_non_nullable + as String?, + estimateLineItemId: freezed == estimateLineItemId + ? _value.estimateLineItemId + : estimateLineItemId // ignore: cast_nullable_to_non_nullable + as String?, + contractLineItemRef: freezed == contractLineItemRef + ? _value.contractLineItemRef + : contractLineItemRef // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + unitRate: freezed == unitRate + ? _value.unitRate + : unitRate // ignore: cast_nullable_to_non_nullable + as double?, + category: freezed == category + ? _value.category + : category // ignore: cast_nullable_to_non_nullable + as String?, + noOfunit: freezed == noOfunit + ? _value.noOfunit + : noOfunit // ignore: cast_nullable_to_non_nullable + as num?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + status: freezed == status + ? _value.status + : status // ignore: cast_nullable_to_non_nullable + as String?, + amountBreakups: freezed == amountBreakups + ? _value._amountBreakups + : amountBreakups // ignore: cast_nullable_to_non_nullable + as List?, + auditDetails: freezed == auditDetails + ? _value.auditDetails + : auditDetails // ignore: cast_nullable_to_non_nullable + as AuditDetails?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_LineItem implements _LineItem { + const _$_LineItem( + {@JsonKey(name: 'id') + this.id, + @JsonKey(name: 'estimateId') + this.estimateId, + @JsonKey(name: 'estimateLineItemId') + this.estimateLineItemId, + @JsonKey(name: 'contractLineItemRef') + this.contractLineItemRef, + @JsonKey(name: 'tenantId') + this.tenantId, + @JsonKey(name: 'unitRate') + this.unitRate, + @JsonKey(name: 'category') + this.category, + @JsonKey(name: 'noOfunit') + this.noOfunit, + @JsonKey(name: 'name') + this.name, + @JsonKey(name: 'status') + this.status, + @JsonKey(name: 'amountBreakups') + final List? amountBreakups, + @JsonKey(name: 'auditDetails') + this.auditDetails}) + : _amountBreakups = amountBreakups; + + factory _$_LineItem.fromJson(Map json) => + _$$_LineItemFromJson(json); + + @override + @JsonKey(name: 'id') + final String? id; + @override + @JsonKey(name: 'estimateId') + final String? estimateId; + @override + @JsonKey(name: 'estimateLineItemId') + final String? estimateLineItemId; + @override + @JsonKey(name: 'contractLineItemRef') + final String? contractLineItemRef; + @override + @JsonKey(name: 'tenantId') + final String? tenantId; + @override + @JsonKey(name: 'unitRate') + final double? unitRate; + @override + @JsonKey(name: 'category') + final String? category; + @override + @JsonKey(name: 'noOfunit') + final num? noOfunit; + @override + @JsonKey(name: 'name') + final String? name; + @override + @JsonKey(name: 'status') + final String? status; + final List? _amountBreakups; + @override + @JsonKey(name: 'amountBreakups') + List? get amountBreakups { + final value = _amountBreakups; + if (value == null) return null; + if (_amountBreakups is EqualUnmodifiableListView) return _amountBreakups; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + @JsonKey(name: 'auditDetails') + final AuditDetails? auditDetails; + + @override + String toString() { + return 'LineItem(id: $id, estimateId: $estimateId, estimateLineItemId: $estimateLineItemId, contractLineItemRef: $contractLineItemRef, tenantId: $tenantId, unitRate: $unitRate, category: $category, noOfunit: $noOfunit, name: $name, status: $status, amountBreakups: $amountBreakups, auditDetails: $auditDetails)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_LineItem && + (identical(other.id, id) || other.id == id) && + (identical(other.estimateId, estimateId) || + other.estimateId == estimateId) && + (identical(other.estimateLineItemId, estimateLineItemId) || + other.estimateLineItemId == estimateLineItemId) && + (identical(other.contractLineItemRef, contractLineItemRef) || + other.contractLineItemRef == contractLineItemRef) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.unitRate, unitRate) || + other.unitRate == unitRate) && + (identical(other.category, category) || + other.category == category) && + (identical(other.noOfunit, noOfunit) || + other.noOfunit == noOfunit) && + (identical(other.name, name) || other.name == name) && + (identical(other.status, status) || other.status == status) && + const DeepCollectionEquality() + .equals(other._amountBreakups, _amountBreakups) && + (identical(other.auditDetails, auditDetails) || + other.auditDetails == auditDetails)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + id, + estimateId, + estimateLineItemId, + contractLineItemRef, + tenantId, + unitRate, + category, + noOfunit, + name, + status, + const DeepCollectionEquality().hash(_amountBreakups), + auditDetails); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_LineItemCopyWith<_$_LineItem> get copyWith => + __$$_LineItemCopyWithImpl<_$_LineItem>(this, _$identity); + + @override + Map toJson() { + return _$$_LineItemToJson( + this, + ); + } +} + +abstract class _LineItem implements LineItem { + const factory _LineItem( + {@JsonKey(name: 'id') + final String? id, + @JsonKey(name: 'estimateId') + final String? estimateId, + @JsonKey(name: 'estimateLineItemId') + final String? estimateLineItemId, + @JsonKey(name: 'contractLineItemRef') + final String? contractLineItemRef, + @JsonKey(name: 'tenantId') + final String? tenantId, + @JsonKey(name: 'unitRate') + final double? unitRate, + @JsonKey(name: 'category') + final String? category, + @JsonKey(name: 'noOfunit') + final num? noOfunit, + @JsonKey(name: 'name') + final String? name, + @JsonKey(name: 'status') + final String? status, + @JsonKey(name: 'amountBreakups') + final List? amountBreakups, + @JsonKey(name: 'auditDetails') + final AuditDetails? auditDetails}) = _$_LineItem; + + factory _LineItem.fromJson(Map json) = _$_LineItem.fromJson; + + @override + @JsonKey(name: 'id') + String? get id; + @override + @JsonKey(name: 'estimateId') + String? get estimateId; + @override + @JsonKey(name: 'estimateLineItemId') + String? get estimateLineItemId; + @override + @JsonKey(name: 'contractLineItemRef') + String? get contractLineItemRef; + @override + @JsonKey(name: 'tenantId') + String? get tenantId; + @override + @JsonKey(name: 'unitRate') + double? get unitRate; + @override + @JsonKey(name: 'category') + String? get category; + @override + @JsonKey(name: 'noOfunit') + num? get noOfunit; + @override + @JsonKey(name: 'name') + String? get name; + @override + @JsonKey(name: 'status') + String? get status; + @override + @JsonKey(name: 'amountBreakups') + List? get amountBreakups; + @override + @JsonKey(name: 'auditDetails') + AuditDetails? get auditDetails; + @override + @JsonKey(ignore: true) + _$$_LineItemCopyWith<_$_LineItem> get copyWith => + throw _privateConstructorUsedError; +} + +AmountBreakup _$AmountBreakupFromJson(Map json) { + return _AmountBreakup.fromJson(json); +} + +/// @nodoc +mixin _$AmountBreakup { + @JsonKey(name: 'id') + String? get id => throw _privateConstructorUsedError; + @JsonKey(name: 'estimateAmountBreakupId') + String? get estimateAmountBreakupId => throw _privateConstructorUsedError; + @JsonKey(name: 'amount') + double? get amount => throw _privateConstructorUsedError; + @JsonKey(name: 'status') + String? get status => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $AmountBreakupCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $AmountBreakupCopyWith<$Res> { + factory $AmountBreakupCopyWith( + AmountBreakup value, $Res Function(AmountBreakup) then) = + _$AmountBreakupCopyWithImpl<$Res, AmountBreakup>; + @useResult + $Res call( + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'estimateAmountBreakupId') String? estimateAmountBreakupId, + @JsonKey(name: 'amount') double? amount, + @JsonKey(name: 'status') String? status}); +} + +/// @nodoc +class _$AmountBreakupCopyWithImpl<$Res, $Val extends AmountBreakup> + implements $AmountBreakupCopyWith<$Res> { + _$AmountBreakupCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? estimateAmountBreakupId = freezed, + Object? amount = freezed, + Object? status = freezed, + }) { + return _then(_value.copyWith( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + estimateAmountBreakupId: freezed == estimateAmountBreakupId + ? _value.estimateAmountBreakupId + : estimateAmountBreakupId // ignore: cast_nullable_to_non_nullable + as String?, + amount: freezed == amount + ? _value.amount + : amount // ignore: cast_nullable_to_non_nullable + as double?, + status: freezed == status + ? _value.status + : status // ignore: cast_nullable_to_non_nullable + as String?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_AmountBreakupCopyWith<$Res> + implements $AmountBreakupCopyWith<$Res> { + factory _$$_AmountBreakupCopyWith( + _$_AmountBreakup value, $Res Function(_$_AmountBreakup) then) = + __$$_AmountBreakupCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'estimateAmountBreakupId') String? estimateAmountBreakupId, + @JsonKey(name: 'amount') double? amount, + @JsonKey(name: 'status') String? status}); +} + +/// @nodoc +class __$$_AmountBreakupCopyWithImpl<$Res> + extends _$AmountBreakupCopyWithImpl<$Res, _$_AmountBreakup> + implements _$$_AmountBreakupCopyWith<$Res> { + __$$_AmountBreakupCopyWithImpl( + _$_AmountBreakup _value, $Res Function(_$_AmountBreakup) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? estimateAmountBreakupId = freezed, + Object? amount = freezed, + Object? status = freezed, + }) { + return _then(_$_AmountBreakup( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, + estimateAmountBreakupId: freezed == estimateAmountBreakupId + ? _value.estimateAmountBreakupId + : estimateAmountBreakupId // ignore: cast_nullable_to_non_nullable + as String?, + amount: freezed == amount + ? _value.amount + : amount // ignore: cast_nullable_to_non_nullable + as double?, + status: freezed == status + ? _value.status + : status // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_AmountBreakup implements _AmountBreakup { + const _$_AmountBreakup( + {@JsonKey(name: 'id') this.id, + @JsonKey(name: 'estimateAmountBreakupId') this.estimateAmountBreakupId, + @JsonKey(name: 'amount') this.amount, + @JsonKey(name: 'status') this.status}); + + factory _$_AmountBreakup.fromJson(Map json) => + _$$_AmountBreakupFromJson(json); + + @override + @JsonKey(name: 'id') + final String? id; + @override + @JsonKey(name: 'estimateAmountBreakupId') + final String? estimateAmountBreakupId; + @override + @JsonKey(name: 'amount') + final double? amount; + @override + @JsonKey(name: 'status') + final String? status; + + @override + String toString() { + return 'AmountBreakup(id: $id, estimateAmountBreakupId: $estimateAmountBreakupId, amount: $amount, status: $status)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_AmountBreakup && + (identical(other.id, id) || other.id == id) && + (identical( + other.estimateAmountBreakupId, estimateAmountBreakupId) || + other.estimateAmountBreakupId == estimateAmountBreakupId) && + (identical(other.amount, amount) || other.amount == amount) && + (identical(other.status, status) || other.status == status)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => + Object.hash(runtimeType, id, estimateAmountBreakupId, amount, status); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_AmountBreakupCopyWith<_$_AmountBreakup> get copyWith => + __$$_AmountBreakupCopyWithImpl<_$_AmountBreakup>(this, _$identity); + + @override + Map toJson() { + return _$$_AmountBreakupToJson( + this, + ); + } +} + +abstract class _AmountBreakup implements AmountBreakup { + const factory _AmountBreakup( + {@JsonKey(name: 'id') + final String? id, + @JsonKey(name: 'estimateAmountBreakupId') + final String? estimateAmountBreakupId, + @JsonKey(name: 'amount') + final double? amount, + @JsonKey(name: 'status') + final String? status}) = _$_AmountBreakup; + + factory _AmountBreakup.fromJson(Map json) = + _$_AmountBreakup.fromJson; + + @override + @JsonKey(name: 'id') + String? get id; + @override + @JsonKey(name: 'estimateAmountBreakupId') + String? get estimateAmountBreakupId; + @override + @JsonKey(name: 'amount') + double? get amount; + @override + @JsonKey(name: 'status') + String? get status; + @override + @JsonKey(ignore: true) + _$$_AmountBreakupCopyWith<_$_AmountBreakup> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.g.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.g.dart new file mode 100644 index 0000000000..c12a31d4e4 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.g.dart @@ -0,0 +1,533 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'mb_inbox_response.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +_$_MBInboxResponse _$$_MBInboxResponseFromJson(Map json) => + _$_MBInboxResponse( + totalCount: json['totalCount'] as int?, + nearingSlaCount: json['nearingSlaCount'] as int?, + statusMap: (json['statusMap'] as List?) + ?.map((e) => StatusMap.fromJson(e as Map)) + .toList(), + items: (json['items'] as List?) + ?.map((e) => ItemData.fromJson(e as Map)) + .toList(), + ); + +Map _$$_MBInboxResponseToJson(_$_MBInboxResponse instance) => + { + 'totalCount': instance.totalCount, + 'nearingSlaCount': instance.nearingSlaCount, + 'statusMap': instance.statusMap, + 'items': instance.items, + }; + +_$_StatusMap _$$_StatusMapFromJson(Map json) => _$_StatusMap( + statusid: json['statusid'] as String?, + count: json['count'] as int?, + state: json['state'] as String?, + applicationstatus: json['applicationstatus'] as String?, + businessservice: json['businessservice'] as String?, + ); + +Map _$$_StatusMapToJson(_$_StatusMap instance) => + { + 'statusid': instance.statusid, + 'count': instance.count, + 'state': instance.state, + 'applicationstatus': instance.applicationstatus, + 'businessservice': instance.businessservice, + }; + +_$_ItemData _$$_ItemDataFromJson(Map json) => _$_ItemData( + processInstance: json['ProcessInstance'] == null + ? null + : ProcessInstance.fromJson( + json['ProcessInstance'] as Map), + businessObject: json['businessObject'] == null + ? null + : BusinessObject.fromJson( + json['businessObject'] as Map), + ); + +Map _$$_ItemDataToJson(_$_ItemData instance) => + { + 'ProcessInstance': instance.processInstance, + 'businessObject': instance.businessObject, + }; + +_$_ProcessInstance _$$_ProcessInstanceFromJson(Map json) => + _$_ProcessInstance( + id: json['id'] as String?, + tenantId: json['tenantId'] as String?, + businessService: json['businessService'] as String?, + businessId: json['businessId'] as String?, + action: json['action'] as String?, + moduleName: json['moduleName'] as String?, + businesssServiceSla: json['businesssServiceSla'] as int?, + rating: json['rating'] as int?, + state: json['state'] == null + ? null + : State.fromJson(json['state'] as Map), + assigner: json['assigner'] == null + ? null + : Assigner.fromJson(json['assigner'] as Map), + auditDetails: json['auditDetails'] == null + ? null + : AuditDetails.fromJson(json['auditDetails'] as Map), + assignes: (json['assignes'] as List?) + ?.map((e) => Assigne.fromJson(e as Map)) + .toList(), + ); + +Map _$$_ProcessInstanceToJson(_$_ProcessInstance instance) => + { + 'id': instance.id, + 'tenantId': instance.tenantId, + 'businessService': instance.businessService, + 'businessId': instance.businessId, + 'action': instance.action, + 'moduleName': instance.moduleName, + 'businesssServiceSla': instance.businesssServiceSla, + 'rating': instance.rating, + 'state': instance.state, + 'assigner': instance.assigner, + 'auditDetails': instance.auditDetails, + 'assignes': instance.assignes, + }; + +_$_AuditDetails _$$_AuditDetailsFromJson(Map json) => + _$_AuditDetails( + createdBy: json['createdBy'] as String?, + lastModifiedBy: json['lastModifiedBy'] as String?, + createdTime: json['createdTime'] as int?, + lastModifiedTime: json['lastModifiedTime'] as int?, + ); + +Map _$$_AuditDetailsToJson(_$_AuditDetails instance) => + { + 'createdBy': instance.createdBy, + 'lastModifiedBy': instance.lastModifiedBy, + 'createdTime': instance.createdTime, + 'lastModifiedTime': instance.lastModifiedTime, + }; + +_$_State _$$_StateFromJson(Map json) => _$_State( + uuid: json['uuid'] as String?, + tenantId: json['tenantId'] as String?, + businessServiceId: json['businessServiceId'] as String?, + sla: json['sla'] as int?, + state: json['state'] as String?, + applicationStatus: json['applicationStatus'] as String?, + docUploadRequired: json['docUploadRequired'] as bool?, + isStartState: json['isStartState'] as bool?, + isTerminateState: json['isTerminateState'] as bool?, + isStateUpdatable: json['isStateUpdatable'] as bool?, + actions: (json['actions'] as List?) + ?.map((e) => Action.fromJson(e as Map)) + .toList(), + ); + +Map _$$_StateToJson(_$_State instance) => { + 'uuid': instance.uuid, + 'tenantId': instance.tenantId, + 'businessServiceId': instance.businessServiceId, + 'sla': instance.sla, + 'state': instance.state, + 'applicationStatus': instance.applicationStatus, + 'docUploadRequired': instance.docUploadRequired, + 'isStartState': instance.isStartState, + 'isTerminateState': instance.isTerminateState, + 'isStateUpdatable': instance.isStateUpdatable, + 'actions': instance.actions, + }; + +_$_Action _$$_ActionFromJson(Map json) => _$_Action( + uuid: json['uuid'] as String?, + tenantId: json['tenantId'] as String?, + currentState: json['currentState'] as String?, + action: json['action'] as String?, + nextState: json['nextState'] as String?, + active: json['active'] as bool?, + roles: + (json['roles'] as List?)?.map((e) => e as String).toList(), + ); + +Map _$$_ActionToJson(_$_Action instance) => { + 'uuid': instance.uuid, + 'tenantId': instance.tenantId, + 'currentState': instance.currentState, + 'action': instance.action, + 'nextState': instance.nextState, + 'active': instance.active, + 'roles': instance.roles, + }; + +_$_Assigner _$$_AssignerFromJson(Map json) => _$_Assigner( + id: json['id'] as int?, + userName: json['userName'] as String?, + name: json['name'] as String?, + type: json['type'] as String?, + mobileNumber: json['mobileNumber'] as String?, + emailId: json['emailId'] as String?, + tenantId: json['tenantId'] as String?, + uuid: json['uuid'] as String?, + roles: (json['roles'] as List?) + ?.map((e) => Role.fromJson(e as Map)) + .toList(), + ); + +Map _$$_AssignerToJson(_$_Assigner instance) => + { + 'id': instance.id, + 'userName': instance.userName, + 'name': instance.name, + 'type': instance.type, + 'mobileNumber': instance.mobileNumber, + 'emailId': instance.emailId, + 'tenantId': instance.tenantId, + 'uuid': instance.uuid, + 'roles': instance.roles, + }; + +_$_Assigne _$$_AssigneFromJson(Map json) => _$_Assigne( + id: json['id'] as int?, + userName: json['userName'] as String?, + name: json['name'] as String?, + type: json['type'] as String?, + mobileNumber: json['mobileNumber'] as String?, + emailId: json['emailId'] as String?, + tenantId: json['tenantId'] as String?, + uuid: json['uuid'] as String?, + roles: (json['roles'] as List?) + ?.map((e) => Role.fromJson(e as Map)) + .toList(), + ); + +Map _$$_AssigneToJson(_$_Assigne instance) => + { + 'id': instance.id, + 'userName': instance.userName, + 'name': instance.name, + 'type': instance.type, + 'mobileNumber': instance.mobileNumber, + 'emailId': instance.emailId, + 'tenantId': instance.tenantId, + 'uuid': instance.uuid, + 'roles': instance.roles, + }; + +_$_Role _$$_RoleFromJson(Map json) => _$_Role( + name: json['name'] as String?, + id: json['id'] as String?, + code: json['code'] as String?, + tenantId: json['tenantId'] as String?, + ); + +Map _$$_RoleToJson(_$_Role instance) => { + 'name': instance.name, + 'id': instance.id, + 'code': instance.code, + 'tenantId': instance.tenantId, + }; + +_$_BusinessObject _$$_BusinessObjectFromJson(Map json) => + _$_BusinessObject( + measurementNumber: json['measurementNumber'] as String?, + id: json['id'] as String?, + referenceId: json['referenceId'] as String?, + measures: (json['measures'] as List?) + ?.map((e) => Measure.fromJson(e as Map)) + .toList(), + auditDetails: json['auditDetails'] == null + ? null + : AuditDetails.fromJson(json['auditDetails'] as Map), + contract: json['contract'] == null + ? null + : Contract.fromJson(json['contract'] as Map), + serviceSla: json['serviceSla'] as int?, + measurementAdditionalDetail: json['additionalDetails'] == null + ? null + : MeasurementAdditionalDetail.fromJson( + json['additionalDetails'] as Map), + ); + +Map _$$_BusinessObjectToJson(_$_BusinessObject instance) => + { + 'measurementNumber': instance.measurementNumber, + 'id': instance.id, + 'referenceId': instance.referenceId, + 'measures': instance.measures, + 'auditDetails': instance.auditDetails, + 'contract': instance.contract, + 'serviceSla': instance.serviceSla, + 'additionalDetails': instance.measurementAdditionalDetail, + }; + +_$_Measure _$$_MeasureFromJson(Map json) => _$_Measure( + description: json['description'] as String?, + comments: json['comments'] as String?, + targetId: json['targetId'] as String?, + breadth: (json['breadth'] as num?)?.toDouble(), + length: (json['length'] as num?)?.toDouble(), + isActive: json['isActive'] as bool?, + referenceId: json['referenceId'] as String?, + numItems: (json['numItems'] as num?)?.toDouble(), + id: json['id'] as String?, + currentValue: (json['currentValue'] as num?)?.toDouble(), + cumulativeValue: (json['cumulativeValue'] as num?)?.toDouble(), + height: (json['height'] as num?)?.toDouble(), + measureAdditionalDetails: json['additionalDetails'] == null + ? null + : MeasureAdditionalDetails.fromJson( + json['additionalDetails'] as Map), + ); + +Map _$$_MeasureToJson(_$_Measure instance) => + { + 'description': instance.description, + 'comments': instance.comments, + 'targetId': instance.targetId, + 'breadth': instance.breadth, + 'length': instance.length, + 'isActive': instance.isActive, + 'referenceId': instance.referenceId, + 'numItems': instance.numItems, + 'id': instance.id, + 'currentValue': instance.currentValue, + 'cumulativeValue': instance.cumulativeValue, + 'height': instance.height, + 'additionalDetails': instance.measureAdditionalDetails, + }; + +_$_MeasureAdditionalDetails _$$_MeasureAdditionalDetailsFromJson( + Map json) => + _$_MeasureAdditionalDetails( + type: json['type'] as String?, + mbAmount: (json['mbAmount'] as num?)?.toDouble(), + measureLineItems: (json['measureLineItems'] as List?) + ?.map((e) => MeasureLineItem.fromJson(e as Map)) + .toList(), + ); + +Map _$$_MeasureAdditionalDetailsToJson( + _$_MeasureAdditionalDetails instance) => + { + 'type': instance.type, + 'mbAmount': instance.mbAmount, + 'measureLineItems': instance.measureLineItems, + }; + +_$_MeasureLineItem _$$_MeasureLineItemFromJson(Map json) => + _$_MeasureLineItem( + width: json['width'], + height: json['height'], + length: json['length'], + number: json['number'], + quantity: json['quantity'], + measurelineitemNo: json['measurelineitemNo'], + ); + +Map _$$_MeasureLineItemToJson(_$_MeasureLineItem instance) => + { + 'width': instance.width, + 'height': instance.height, + 'length': instance.length, + 'number': instance.number, + 'quantity': instance.quantity, + 'measurelineitemNo': instance.measurelineitemNo, + }; + +_$_Contract _$$_ContractFromJson(Map json) => _$_Contract( + contractNumber: json['contractNumber'] as String?, + id: json['id'] as String?, + versionNumber: json['versionNumber'] as int?, + oldUuid: json['oldUuid'] as String?, + businessService: json['businessService'] as String?, + tenantId: json['tenantId'] as String?, + wfStatus: json['wfStatus'] as String?, + executingAuthority: json['executingAuthority'] as String?, + contractType: json['contractType'] as String?, + totalContractedAmount: + (json['totalContractedAmount'] as num?)?.toDouble(), + securityDeposit: (json['securityDeposit'] as num?)?.toDouble(), + agreementDate: json['agreementDate'] as int?, + issueDate: json['issueDate'] as int?, + defectLiabilityPeriod: json['defectLiabilityPeriod'] as int?, + orgId: json['orgId'] as String?, + startDate: json['startDate'] as int?, + endDate: json['endDate'] as int?, + completionPeriod: json['completionPeriod'] as int?, + status: json['status'] as String?, + lineItems: (json['lineItems'] as List?) + ?.map((e) => LineItem.fromJson(e as Map)) + .toList(), + additionalDetails: json['additionalDetails'] == null + ? null + : ContractAdditionalDetails.fromJson( + json['additionalDetails'] as Map), + ); + +Map _$$_ContractToJson(_$_Contract instance) => + { + 'contractNumber': instance.contractNumber, + 'id': instance.id, + 'versionNumber': instance.versionNumber, + 'oldUuid': instance.oldUuid, + 'businessService': instance.businessService, + 'tenantId': instance.tenantId, + 'wfStatus': instance.wfStatus, + 'executingAuthority': instance.executingAuthority, + 'contractType': instance.contractType, + 'totalContractedAmount': instance.totalContractedAmount, + 'securityDeposit': instance.securityDeposit, + 'agreementDate': instance.agreementDate, + 'issueDate': instance.issueDate, + 'defectLiabilityPeriod': instance.defectLiabilityPeriod, + 'orgId': instance.orgId, + 'startDate': instance.startDate, + 'endDate': instance.endDate, + 'completionPeriod': instance.completionPeriod, + 'status': instance.status, + 'lineItems': instance.lineItems, + 'additionalDetails': instance.additionalDetails, + }; + +_$_ContractAdditionalDetails _$$_ContractAdditionalDetailsFromJson( + Map json) => + _$_ContractAdditionalDetails( + orgName: json['orgName'] as String?, + totalEstimatedAmount: (json['totalEstimatedAmount'] as num?)?.toDouble(), + attendanceRegisterNumber: json['attendanceRegisterNumber'] as String?, + officerInChargeId: json['officerInChargeId'] as String?, + cboOrgNumber: json['cboOrgNumber'] as String?, + estimateNumber: json['estimateNumber'] as String?, + locality: json['locality'] as String?, + projectType: json['projectType'] as String?, + timeExtReason: json['timeExtReason'] as String?, + ward: json['ward'] as String?, + officerInChargeDesgn: json['officerInChargeDesgn'] as String?, + projectDesc: json['projectDesc'] as String?, + projectName: json['projectName'] as String?, + cboCode: json['cboCode'] as String?, + projectId: json['projectId'] as String?, + cboName: json['cboName'] as String?, + timeExt: json['timeExt'], + completionPeriod: json['completionPeriod'] as int?, + estmateDocs: (json['estimateDocs'] as List?) + ?.map((e) => EstmateDoc.fromJson(e as Map)) + .toList(), + termsAndConditions: (json['termsAndConditions'] as List?) + ?.map((e) => TermsAndConditions.fromJson(e as Map)) + .toList(), + ); + +Map _$$_ContractAdditionalDetailsToJson( + _$_ContractAdditionalDetails instance) => + { + 'orgName': instance.orgName, + 'totalEstimatedAmount': instance.totalEstimatedAmount, + 'attendanceRegisterNumber': instance.attendanceRegisterNumber, + 'officerInChargeId': instance.officerInChargeId, + 'cboOrgNumber': instance.cboOrgNumber, + 'estimateNumber': instance.estimateNumber, + 'locality': instance.locality, + 'projectType': instance.projectType, + 'timeExtReason': instance.timeExtReason, + 'ward': instance.ward, + 'officerInChargeDesgn': instance.officerInChargeDesgn, + 'projectDesc': instance.projectDesc, + 'projectName': instance.projectName, + 'cboCode': instance.cboCode, + 'projectId': instance.projectId, + 'cboName': instance.cboName, + 'timeExt': instance.timeExt, + 'completionPeriod': instance.completionPeriod, + 'estimateDocs': instance.estmateDocs, + 'termsAndConditions': instance.termsAndConditions, + }; + +_$_EstmateDoc _$$_EstmateDocFromJson(Map json) => + _$_EstmateDoc( + fileName: json['fileName'] as String?, + fileType: json['fileType'] as String?, + tenantId: json['tenantId'] as String?, + documentUid: json['documentUid'] as String?, + fileStoreId: json['fileStoreId'] as String?, + ); + +Map _$$_EstmateDocToJson(_$_EstmateDoc instance) => + { + 'fileName': instance.fileName, + 'fileType': instance.fileType, + 'tenantId': instance.tenantId, + 'documentUid': instance.documentUid, + 'fileStoreId': instance.fileStoreId, + }; + +_$_TermsAndConditions _$$_TermsAndConditionsFromJson( + Map json) => + _$_TermsAndConditions( + description: json['description'] as String?, + ); + +Map _$$_TermsAndConditionsToJson( + _$_TermsAndConditions instance) => + { + 'description': instance.description, + }; + +_$_LineItem _$$_LineItemFromJson(Map json) => _$_LineItem( + id: json['id'] as String?, + estimateId: json['estimateId'] as String?, + estimateLineItemId: json['estimateLineItemId'] as String?, + contractLineItemRef: json['contractLineItemRef'] as String?, + tenantId: json['tenantId'] as String?, + unitRate: (json['unitRate'] as num?)?.toDouble(), + category: json['category'] as String?, + noOfunit: json['noOfunit'] as num?, + name: json['name'] as String?, + status: json['status'] as String?, + amountBreakups: (json['amountBreakups'] as List?) + ?.map((e) => AmountBreakup.fromJson(e as Map)) + .toList(), + auditDetails: json['auditDetails'] == null + ? null + : AuditDetails.fromJson(json['auditDetails'] as Map), + ); + +Map _$$_LineItemToJson(_$_LineItem instance) => + { + 'id': instance.id, + 'estimateId': instance.estimateId, + 'estimateLineItemId': instance.estimateLineItemId, + 'contractLineItemRef': instance.contractLineItemRef, + 'tenantId': instance.tenantId, + 'unitRate': instance.unitRate, + 'category': instance.category, + 'noOfunit': instance.noOfunit, + 'name': instance.name, + 'status': instance.status, + 'amountBreakups': instance.amountBreakups, + 'auditDetails': instance.auditDetails, + }; + +_$_AmountBreakup _$$_AmountBreakupFromJson(Map json) => + _$_AmountBreakup( + id: json['id'] as String?, + estimateAmountBreakupId: json['estimateAmountBreakupId'] as String?, + amount: (json['amount'] as num?)?.toDouble(), + status: json['status'] as String?, + ); + +Map _$$_AmountBreakupToJson(_$_AmountBreakup instance) => + { + 'id': instance.id, + 'estimateAmountBreakupId': instance.estimateAmountBreakupId, + 'amount': instance.amount, + 'status': instance.status, + }; diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.dart new file mode 100644 index 0000000000..b04cf1f349 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.dart @@ -0,0 +1,61 @@ +import 'package:freezed_annotation/freezed_annotation.dart'; + +part 'mb_project_type.freezed.dart'; +part 'mb_project_type.g.dart'; + +@freezed +class MBProjectType with _$MBProjectType { + const factory MBProjectType({ + @JsonKey(name: 'MdmsRes') MdmsRes? mdmsRes, + }) = _MBProjectType; + + factory MBProjectType.fromJson( + Map json, + ) => + _$MBProjectTypeFromJson(json); +} + +@freezed +class MdmsRes with _$MdmsRes { + const factory MdmsRes({ + @JsonKey(name: 'works') MBWorks? mbWorks, + }) = _MdmsRes; + + factory MdmsRes.fromJson( + Map json, + ) => + _$MdmsResFromJson(json); +} + + + +@freezed +class MBWorks with _$MBWorks { + const factory MBWorks({ + @JsonKey(name: 'ProjectType') List? projectType, + }) = _MBWorks; + + factory MBWorks.fromJson( + Map json, + ) => + _$MBWorksFromJson(json); +} + + + + +@freezed +class ProjectType with _$ProjectType { + const factory ProjectType({ + @JsonKey(name: 'id') int? id, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'code') String? code, + @JsonKey(name: 'active') bool? active, + + }) = _ProjectType; + + factory ProjectType.fromJson( + Map json, + ) => + _$ProjectTypeFromJson(json); +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.freezed.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.freezed.dart new file mode 100644 index 0000000000..2192eca71c --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.freezed.dart @@ -0,0 +1,683 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'mb_project_type.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +MBProjectType _$MBProjectTypeFromJson(Map json) { + return _MBProjectType.fromJson(json); +} + +/// @nodoc +mixin _$MBProjectType { + @JsonKey(name: 'MdmsRes') + MdmsRes? get mdmsRes => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $MBProjectTypeCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MBProjectTypeCopyWith<$Res> { + factory $MBProjectTypeCopyWith( + MBProjectType value, $Res Function(MBProjectType) then) = + _$MBProjectTypeCopyWithImpl<$Res, MBProjectType>; + @useResult + $Res call({@JsonKey(name: 'MdmsRes') MdmsRes? mdmsRes}); + + $MdmsResCopyWith<$Res>? get mdmsRes; +} + +/// @nodoc +class _$MBProjectTypeCopyWithImpl<$Res, $Val extends MBProjectType> + implements $MBProjectTypeCopyWith<$Res> { + _$MBProjectTypeCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? mdmsRes = freezed, + }) { + return _then(_value.copyWith( + mdmsRes: freezed == mdmsRes + ? _value.mdmsRes + : mdmsRes // ignore: cast_nullable_to_non_nullable + as MdmsRes?, + ) as $Val); + } + + @override + @pragma('vm:prefer-inline') + $MdmsResCopyWith<$Res>? get mdmsRes { + if (_value.mdmsRes == null) { + return null; + } + + return $MdmsResCopyWith<$Res>(_value.mdmsRes!, (value) { + return _then(_value.copyWith(mdmsRes: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$_MBProjectTypeCopyWith<$Res> + implements $MBProjectTypeCopyWith<$Res> { + factory _$$_MBProjectTypeCopyWith( + _$_MBProjectType value, $Res Function(_$_MBProjectType) then) = + __$$_MBProjectTypeCopyWithImpl<$Res>; + @override + @useResult + $Res call({@JsonKey(name: 'MdmsRes') MdmsRes? mdmsRes}); + + @override + $MdmsResCopyWith<$Res>? get mdmsRes; +} + +/// @nodoc +class __$$_MBProjectTypeCopyWithImpl<$Res> + extends _$MBProjectTypeCopyWithImpl<$Res, _$_MBProjectType> + implements _$$_MBProjectTypeCopyWith<$Res> { + __$$_MBProjectTypeCopyWithImpl( + _$_MBProjectType _value, $Res Function(_$_MBProjectType) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? mdmsRes = freezed, + }) { + return _then(_$_MBProjectType( + mdmsRes: freezed == mdmsRes + ? _value.mdmsRes + : mdmsRes // ignore: cast_nullable_to_non_nullable + as MdmsRes?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_MBProjectType implements _MBProjectType { + const _$_MBProjectType({@JsonKey(name: 'MdmsRes') this.mdmsRes}); + + factory _$_MBProjectType.fromJson(Map json) => + _$$_MBProjectTypeFromJson(json); + + @override + @JsonKey(name: 'MdmsRes') + final MdmsRes? mdmsRes; + + @override + String toString() { + return 'MBProjectType(mdmsRes: $mdmsRes)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_MBProjectType && + (identical(other.mdmsRes, mdmsRes) || other.mdmsRes == mdmsRes)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, mdmsRes); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_MBProjectTypeCopyWith<_$_MBProjectType> get copyWith => + __$$_MBProjectTypeCopyWithImpl<_$_MBProjectType>(this, _$identity); + + @override + Map toJson() { + return _$$_MBProjectTypeToJson( + this, + ); + } +} + +abstract class _MBProjectType implements MBProjectType { + const factory _MBProjectType( + {@JsonKey(name: 'MdmsRes') final MdmsRes? mdmsRes}) = _$_MBProjectType; + + factory _MBProjectType.fromJson(Map json) = + _$_MBProjectType.fromJson; + + @override + @JsonKey(name: 'MdmsRes') + MdmsRes? get mdmsRes; + @override + @JsonKey(ignore: true) + _$$_MBProjectTypeCopyWith<_$_MBProjectType> get copyWith => + throw _privateConstructorUsedError; +} + +MdmsRes _$MdmsResFromJson(Map json) { + return _MdmsRes.fromJson(json); +} + +/// @nodoc +mixin _$MdmsRes { + @JsonKey(name: 'works') + MBWorks? get mbWorks => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $MdmsResCopyWith get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MdmsResCopyWith<$Res> { + factory $MdmsResCopyWith(MdmsRes value, $Res Function(MdmsRes) then) = + _$MdmsResCopyWithImpl<$Res, MdmsRes>; + @useResult + $Res call({@JsonKey(name: 'works') MBWorks? mbWorks}); + + $MBWorksCopyWith<$Res>? get mbWorks; +} + +/// @nodoc +class _$MdmsResCopyWithImpl<$Res, $Val extends MdmsRes> + implements $MdmsResCopyWith<$Res> { + _$MdmsResCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? mbWorks = freezed, + }) { + return _then(_value.copyWith( + mbWorks: freezed == mbWorks + ? _value.mbWorks + : mbWorks // ignore: cast_nullable_to_non_nullable + as MBWorks?, + ) as $Val); + } + + @override + @pragma('vm:prefer-inline') + $MBWorksCopyWith<$Res>? get mbWorks { + if (_value.mbWorks == null) { + return null; + } + + return $MBWorksCopyWith<$Res>(_value.mbWorks!, (value) { + return _then(_value.copyWith(mbWorks: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$_MdmsResCopyWith<$Res> implements $MdmsResCopyWith<$Res> { + factory _$$_MdmsResCopyWith( + _$_MdmsRes value, $Res Function(_$_MdmsRes) then) = + __$$_MdmsResCopyWithImpl<$Res>; + @override + @useResult + $Res call({@JsonKey(name: 'works') MBWorks? mbWorks}); + + @override + $MBWorksCopyWith<$Res>? get mbWorks; +} + +/// @nodoc +class __$$_MdmsResCopyWithImpl<$Res> + extends _$MdmsResCopyWithImpl<$Res, _$_MdmsRes> + implements _$$_MdmsResCopyWith<$Res> { + __$$_MdmsResCopyWithImpl(_$_MdmsRes _value, $Res Function(_$_MdmsRes) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? mbWorks = freezed, + }) { + return _then(_$_MdmsRes( + mbWorks: freezed == mbWorks + ? _value.mbWorks + : mbWorks // ignore: cast_nullable_to_non_nullable + as MBWorks?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_MdmsRes implements _MdmsRes { + const _$_MdmsRes({@JsonKey(name: 'works') this.mbWorks}); + + factory _$_MdmsRes.fromJson(Map json) => + _$$_MdmsResFromJson(json); + + @override + @JsonKey(name: 'works') + final MBWorks? mbWorks; + + @override + String toString() { + return 'MdmsRes(mbWorks: $mbWorks)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_MdmsRes && + (identical(other.mbWorks, mbWorks) || other.mbWorks == mbWorks)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, mbWorks); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_MdmsResCopyWith<_$_MdmsRes> get copyWith => + __$$_MdmsResCopyWithImpl<_$_MdmsRes>(this, _$identity); + + @override + Map toJson() { + return _$$_MdmsResToJson( + this, + ); + } +} + +abstract class _MdmsRes implements MdmsRes { + const factory _MdmsRes({@JsonKey(name: 'works') final MBWorks? mbWorks}) = + _$_MdmsRes; + + factory _MdmsRes.fromJson(Map json) = _$_MdmsRes.fromJson; + + @override + @JsonKey(name: 'works') + MBWorks? get mbWorks; + @override + @JsonKey(ignore: true) + _$$_MdmsResCopyWith<_$_MdmsRes> get copyWith => + throw _privateConstructorUsedError; +} + +MBWorks _$MBWorksFromJson(Map json) { + return _MBWorks.fromJson(json); +} + +/// @nodoc +mixin _$MBWorks { + @JsonKey(name: 'ProjectType') + List? get projectType => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $MBWorksCopyWith get copyWith => throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $MBWorksCopyWith<$Res> { + factory $MBWorksCopyWith(MBWorks value, $Res Function(MBWorks) then) = + _$MBWorksCopyWithImpl<$Res, MBWorks>; + @useResult + $Res call({@JsonKey(name: 'ProjectType') List? projectType}); +} + +/// @nodoc +class _$MBWorksCopyWithImpl<$Res, $Val extends MBWorks> + implements $MBWorksCopyWith<$Res> { + _$MBWorksCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? projectType = freezed, + }) { + return _then(_value.copyWith( + projectType: freezed == projectType + ? _value.projectType + : projectType // ignore: cast_nullable_to_non_nullable + as List?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_MBWorksCopyWith<$Res> implements $MBWorksCopyWith<$Res> { + factory _$$_MBWorksCopyWith( + _$_MBWorks value, $Res Function(_$_MBWorks) then) = + __$$_MBWorksCopyWithImpl<$Res>; + @override + @useResult + $Res call({@JsonKey(name: 'ProjectType') List? projectType}); +} + +/// @nodoc +class __$$_MBWorksCopyWithImpl<$Res> + extends _$MBWorksCopyWithImpl<$Res, _$_MBWorks> + implements _$$_MBWorksCopyWith<$Res> { + __$$_MBWorksCopyWithImpl(_$_MBWorks _value, $Res Function(_$_MBWorks) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? projectType = freezed, + }) { + return _then(_$_MBWorks( + projectType: freezed == projectType + ? _value._projectType + : projectType // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_MBWorks implements _MBWorks { + const _$_MBWorks( + {@JsonKey(name: 'ProjectType') final List? projectType}) + : _projectType = projectType; + + factory _$_MBWorks.fromJson(Map json) => + _$$_MBWorksFromJson(json); + + final List? _projectType; + @override + @JsonKey(name: 'ProjectType') + List? get projectType { + final value = _projectType; + if (value == null) return null; + if (_projectType is EqualUnmodifiableListView) return _projectType; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'MBWorks(projectType: $projectType)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_MBWorks && + const DeepCollectionEquality() + .equals(other._projectType, _projectType)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, const DeepCollectionEquality().hash(_projectType)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_MBWorksCopyWith<_$_MBWorks> get copyWith => + __$$_MBWorksCopyWithImpl<_$_MBWorks>(this, _$identity); + + @override + Map toJson() { + return _$$_MBWorksToJson( + this, + ); + } +} + +abstract class _MBWorks implements MBWorks { + const factory _MBWorks( + {@JsonKey(name: 'ProjectType') + final List? projectType}) = _$_MBWorks; + + factory _MBWorks.fromJson(Map json) = _$_MBWorks.fromJson; + + @override + @JsonKey(name: 'ProjectType') + List? get projectType; + @override + @JsonKey(ignore: true) + _$$_MBWorksCopyWith<_$_MBWorks> get copyWith => + throw _privateConstructorUsedError; +} + +ProjectType _$ProjectTypeFromJson(Map json) { + return _ProjectType.fromJson(json); +} + +/// @nodoc +mixin _$ProjectType { + @JsonKey(name: 'id') + int? get id => throw _privateConstructorUsedError; + @JsonKey(name: 'name') + String? get name => throw _privateConstructorUsedError; + @JsonKey(name: 'code') + String? get code => throw _privateConstructorUsedError; + @JsonKey(name: 'active') + bool? get active => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $ProjectTypeCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $ProjectTypeCopyWith<$Res> { + factory $ProjectTypeCopyWith( + ProjectType value, $Res Function(ProjectType) then) = + _$ProjectTypeCopyWithImpl<$Res, ProjectType>; + @useResult + $Res call( + {@JsonKey(name: 'id') int? id, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'code') String? code, + @JsonKey(name: 'active') bool? active}); +} + +/// @nodoc +class _$ProjectTypeCopyWithImpl<$Res, $Val extends ProjectType> + implements $ProjectTypeCopyWith<$Res> { + _$ProjectTypeCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? name = freezed, + Object? code = freezed, + Object? active = freezed, + }) { + return _then(_value.copyWith( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as int?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + code: freezed == code + ? _value.code + : code // ignore: cast_nullable_to_non_nullable + as String?, + active: freezed == active + ? _value.active + : active // ignore: cast_nullable_to_non_nullable + as bool?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_ProjectTypeCopyWith<$Res> + implements $ProjectTypeCopyWith<$Res> { + factory _$$_ProjectTypeCopyWith( + _$_ProjectType value, $Res Function(_$_ProjectType) then) = + __$$_ProjectTypeCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'id') int? id, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'code') String? code, + @JsonKey(name: 'active') bool? active}); +} + +/// @nodoc +class __$$_ProjectTypeCopyWithImpl<$Res> + extends _$ProjectTypeCopyWithImpl<$Res, _$_ProjectType> + implements _$$_ProjectTypeCopyWith<$Res> { + __$$_ProjectTypeCopyWithImpl( + _$_ProjectType _value, $Res Function(_$_ProjectType) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? name = freezed, + Object? code = freezed, + Object? active = freezed, + }) { + return _then(_$_ProjectType( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as int?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + code: freezed == code + ? _value.code + : code // ignore: cast_nullable_to_non_nullable + as String?, + active: freezed == active + ? _value.active + : active // ignore: cast_nullable_to_non_nullable + as bool?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_ProjectType implements _ProjectType { + const _$_ProjectType( + {@JsonKey(name: 'id') this.id, + @JsonKey(name: 'name') this.name, + @JsonKey(name: 'code') this.code, + @JsonKey(name: 'active') this.active}); + + factory _$_ProjectType.fromJson(Map json) => + _$$_ProjectTypeFromJson(json); + + @override + @JsonKey(name: 'id') + final int? id; + @override + @JsonKey(name: 'name') + final String? name; + @override + @JsonKey(name: 'code') + final String? code; + @override + @JsonKey(name: 'active') + final bool? active; + + @override + String toString() { + return 'ProjectType(id: $id, name: $name, code: $code, active: $active)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_ProjectType && + (identical(other.id, id) || other.id == id) && + (identical(other.name, name) || other.name == name) && + (identical(other.code, code) || other.code == code) && + (identical(other.active, active) || other.active == active)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, id, name, code, active); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_ProjectTypeCopyWith<_$_ProjectType> get copyWith => + __$$_ProjectTypeCopyWithImpl<_$_ProjectType>(this, _$identity); + + @override + Map toJson() { + return _$$_ProjectTypeToJson( + this, + ); + } +} + +abstract class _ProjectType implements ProjectType { + const factory _ProjectType( + {@JsonKey(name: 'id') final int? id, + @JsonKey(name: 'name') final String? name, + @JsonKey(name: 'code') final String? code, + @JsonKey(name: 'active') final bool? active}) = _$_ProjectType; + + factory _ProjectType.fromJson(Map json) = + _$_ProjectType.fromJson; + + @override + @JsonKey(name: 'id') + int? get id; + @override + @JsonKey(name: 'name') + String? get name; + @override + @JsonKey(name: 'code') + String? get code; + @override + @JsonKey(name: 'active') + bool? get active; + @override + @JsonKey(ignore: true) + _$$_ProjectTypeCopyWith<_$_ProjectType> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.g.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.g.dart new file mode 100644 index 0000000000..f6684a5bc8 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.g.dart @@ -0,0 +1,57 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'mb_project_type.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +_$_MBProjectType _$$_MBProjectTypeFromJson(Map json) => + _$_MBProjectType( + mdmsRes: json['MdmsRes'] == null + ? null + : MdmsRes.fromJson(json['MdmsRes'] as Map), + ); + +Map _$$_MBProjectTypeToJson(_$_MBProjectType instance) => + { + 'MdmsRes': instance.mdmsRes, + }; + +_$_MdmsRes _$$_MdmsResFromJson(Map json) => _$_MdmsRes( + mbWorks: json['works'] == null + ? null + : MBWorks.fromJson(json['works'] as Map), + ); + +Map _$$_MdmsResToJson(_$_MdmsRes instance) => + { + 'works': instance.mbWorks, + }; + +_$_MBWorks _$$_MBWorksFromJson(Map json) => _$_MBWorks( + projectType: (json['ProjectType'] as List?) + ?.map((e) => ProjectType.fromJson(e as Map)) + .toList(), + ); + +Map _$$_MBWorksToJson(_$_MBWorks instance) => + { + 'ProjectType': instance.projectType, + }; + +_$_ProjectType _$$_ProjectTypeFromJson(Map json) => + _$_ProjectType( + id: json['id'] as int?, + name: json['name'] as String?, + code: json['code'] as String?, + active: json['active'] as bool?, + ); + +Map _$$_ProjectTypeToJson(_$_ProjectType instance) => + { + 'id': instance.id, + 'name': instance.name, + 'code': instance.code, + 'active': instance.active, + }; diff --git a/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.dart b/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.dart new file mode 100644 index 0000000000..281458b1db --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.dart @@ -0,0 +1,51 @@ +//filtered_Measures + +import 'package:freezed_annotation/freezed_annotation.dart'; + +part 'role_based_hrms.freezed.dart'; +part 'role_based_hrms.g.dart'; + +@freezed +class HRMSResponse with _$HRMSResponse { + const factory HRMSResponse({ + @JsonKey(name: 'Employees') List? employees, + }) = _HRMSResponse; + + factory HRMSResponse.fromJson( + Map json, + ) => + _$HRMSResponseFromJson(json); +} + +@freezed +class HRMSEmployee with _$HRMSEmployee { + const factory HRMSEmployee({ + @JsonKey(name: 'id') int? id, + @JsonKey(name: 'uuid') String? uuid, + @JsonKey(name: 'code') String? code, + @JsonKey(name: 'isActive') bool? isActive, + @JsonKey(name: 'dateOfAppointment') int? dateOfAppointment, + @JsonKey(name: 'employeeType') String? employeeType, + @JsonKey(name: 'user')EmployeeUser? employeeUser, + }) = _HRMSEmployee; + + factory HRMSEmployee.fromJson( + Map json, + ) => + _$HRMSEmployeeFromJson(json); +} + +@freezed +class EmployeeUser with _$EmployeeUser { + const factory EmployeeUser({ + @JsonKey(name: 'correspondenceAddress') String? correspondenceAddress, + @JsonKey(name: 'mobileNumber') String? mobileNumber, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'userName') String? userName, + }) = _EmployeeUser; + + factory EmployeeUser.fromJson( + Map json, + ) => + _$EmployeeUserFromJson(json); +} diff --git a/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.freezed.dart b/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.freezed.dart new file mode 100644 index 0000000000..9f6d172b47 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.freezed.dart @@ -0,0 +1,691 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'role_based_hrms.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +HRMSResponse _$HRMSResponseFromJson(Map json) { + return _HRMSResponse.fromJson(json); +} + +/// @nodoc +mixin _$HRMSResponse { + @JsonKey(name: 'Employees') + List? get employees => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $HRMSResponseCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $HRMSResponseCopyWith<$Res> { + factory $HRMSResponseCopyWith( + HRMSResponse value, $Res Function(HRMSResponse) then) = + _$HRMSResponseCopyWithImpl<$Res, HRMSResponse>; + @useResult + $Res call({@JsonKey(name: 'Employees') List? employees}); +} + +/// @nodoc +class _$HRMSResponseCopyWithImpl<$Res, $Val extends HRMSResponse> + implements $HRMSResponseCopyWith<$Res> { + _$HRMSResponseCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? employees = freezed, + }) { + return _then(_value.copyWith( + employees: freezed == employees + ? _value.employees + : employees // ignore: cast_nullable_to_non_nullable + as List?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_HRMSResponseCopyWith<$Res> + implements $HRMSResponseCopyWith<$Res> { + factory _$$_HRMSResponseCopyWith( + _$_HRMSResponse value, $Res Function(_$_HRMSResponse) then) = + __$$_HRMSResponseCopyWithImpl<$Res>; + @override + @useResult + $Res call({@JsonKey(name: 'Employees') List? employees}); +} + +/// @nodoc +class __$$_HRMSResponseCopyWithImpl<$Res> + extends _$HRMSResponseCopyWithImpl<$Res, _$_HRMSResponse> + implements _$$_HRMSResponseCopyWith<$Res> { + __$$_HRMSResponseCopyWithImpl( + _$_HRMSResponse _value, $Res Function(_$_HRMSResponse) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? employees = freezed, + }) { + return _then(_$_HRMSResponse( + employees: freezed == employees + ? _value._employees + : employees // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_HRMSResponse implements _HRMSResponse { + const _$_HRMSResponse( + {@JsonKey(name: 'Employees') final List? employees}) + : _employees = employees; + + factory _$_HRMSResponse.fromJson(Map json) => + _$$_HRMSResponseFromJson(json); + + final List? _employees; + @override + @JsonKey(name: 'Employees') + List? get employees { + final value = _employees; + if (value == null) return null; + if (_employees is EqualUnmodifiableListView) return _employees; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'HRMSResponse(employees: $employees)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_HRMSResponse && + const DeepCollectionEquality() + .equals(other._employees, _employees)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => + Object.hash(runtimeType, const DeepCollectionEquality().hash(_employees)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_HRMSResponseCopyWith<_$_HRMSResponse> get copyWith => + __$$_HRMSResponseCopyWithImpl<_$_HRMSResponse>(this, _$identity); + + @override + Map toJson() { + return _$$_HRMSResponseToJson( + this, + ); + } +} + +abstract class _HRMSResponse implements HRMSResponse { + const factory _HRMSResponse( + {@JsonKey(name: 'Employees') final List? employees}) = + _$_HRMSResponse; + + factory _HRMSResponse.fromJson(Map json) = + _$_HRMSResponse.fromJson; + + @override + @JsonKey(name: 'Employees') + List? get employees; + @override + @JsonKey(ignore: true) + _$$_HRMSResponseCopyWith<_$_HRMSResponse> get copyWith => + throw _privateConstructorUsedError; +} + +HRMSEmployee _$HRMSEmployeeFromJson(Map json) { + return _HRMSEmployee.fromJson(json); +} + +/// @nodoc +mixin _$HRMSEmployee { + @JsonKey(name: 'id') + int? get id => throw _privateConstructorUsedError; + @JsonKey(name: 'uuid') + String? get uuid => throw _privateConstructorUsedError; + @JsonKey(name: 'code') + String? get code => throw _privateConstructorUsedError; + @JsonKey(name: 'isActive') + bool? get isActive => throw _privateConstructorUsedError; + @JsonKey(name: 'dateOfAppointment') + int? get dateOfAppointment => throw _privateConstructorUsedError; + @JsonKey(name: 'employeeType') + String? get employeeType => throw _privateConstructorUsedError; + @JsonKey(name: 'user') + EmployeeUser? get employeeUser => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $HRMSEmployeeCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $HRMSEmployeeCopyWith<$Res> { + factory $HRMSEmployeeCopyWith( + HRMSEmployee value, $Res Function(HRMSEmployee) then) = + _$HRMSEmployeeCopyWithImpl<$Res, HRMSEmployee>; + @useResult + $Res call( + {@JsonKey(name: 'id') int? id, + @JsonKey(name: 'uuid') String? uuid, + @JsonKey(name: 'code') String? code, + @JsonKey(name: 'isActive') bool? isActive, + @JsonKey(name: 'dateOfAppointment') int? dateOfAppointment, + @JsonKey(name: 'employeeType') String? employeeType, + @JsonKey(name: 'user') EmployeeUser? employeeUser}); + + $EmployeeUserCopyWith<$Res>? get employeeUser; +} + +/// @nodoc +class _$HRMSEmployeeCopyWithImpl<$Res, $Val extends HRMSEmployee> + implements $HRMSEmployeeCopyWith<$Res> { + _$HRMSEmployeeCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? uuid = freezed, + Object? code = freezed, + Object? isActive = freezed, + Object? dateOfAppointment = freezed, + Object? employeeType = freezed, + Object? employeeUser = freezed, + }) { + return _then(_value.copyWith( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as int?, + uuid: freezed == uuid + ? _value.uuid + : uuid // ignore: cast_nullable_to_non_nullable + as String?, + code: freezed == code + ? _value.code + : code // ignore: cast_nullable_to_non_nullable + as String?, + isActive: freezed == isActive + ? _value.isActive + : isActive // ignore: cast_nullable_to_non_nullable + as bool?, + dateOfAppointment: freezed == dateOfAppointment + ? _value.dateOfAppointment + : dateOfAppointment // ignore: cast_nullable_to_non_nullable + as int?, + employeeType: freezed == employeeType + ? _value.employeeType + : employeeType // ignore: cast_nullable_to_non_nullable + as String?, + employeeUser: freezed == employeeUser + ? _value.employeeUser + : employeeUser // ignore: cast_nullable_to_non_nullable + as EmployeeUser?, + ) as $Val); + } + + @override + @pragma('vm:prefer-inline') + $EmployeeUserCopyWith<$Res>? get employeeUser { + if (_value.employeeUser == null) { + return null; + } + + return $EmployeeUserCopyWith<$Res>(_value.employeeUser!, (value) { + return _then(_value.copyWith(employeeUser: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$_HRMSEmployeeCopyWith<$Res> + implements $HRMSEmployeeCopyWith<$Res> { + factory _$$_HRMSEmployeeCopyWith( + _$_HRMSEmployee value, $Res Function(_$_HRMSEmployee) then) = + __$$_HRMSEmployeeCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'id') int? id, + @JsonKey(name: 'uuid') String? uuid, + @JsonKey(name: 'code') String? code, + @JsonKey(name: 'isActive') bool? isActive, + @JsonKey(name: 'dateOfAppointment') int? dateOfAppointment, + @JsonKey(name: 'employeeType') String? employeeType, + @JsonKey(name: 'user') EmployeeUser? employeeUser}); + + @override + $EmployeeUserCopyWith<$Res>? get employeeUser; +} + +/// @nodoc +class __$$_HRMSEmployeeCopyWithImpl<$Res> + extends _$HRMSEmployeeCopyWithImpl<$Res, _$_HRMSEmployee> + implements _$$_HRMSEmployeeCopyWith<$Res> { + __$$_HRMSEmployeeCopyWithImpl( + _$_HRMSEmployee _value, $Res Function(_$_HRMSEmployee) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? id = freezed, + Object? uuid = freezed, + Object? code = freezed, + Object? isActive = freezed, + Object? dateOfAppointment = freezed, + Object? employeeType = freezed, + Object? employeeUser = freezed, + }) { + return _then(_$_HRMSEmployee( + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as int?, + uuid: freezed == uuid + ? _value.uuid + : uuid // ignore: cast_nullable_to_non_nullable + as String?, + code: freezed == code + ? _value.code + : code // ignore: cast_nullable_to_non_nullable + as String?, + isActive: freezed == isActive + ? _value.isActive + : isActive // ignore: cast_nullable_to_non_nullable + as bool?, + dateOfAppointment: freezed == dateOfAppointment + ? _value.dateOfAppointment + : dateOfAppointment // ignore: cast_nullable_to_non_nullable + as int?, + employeeType: freezed == employeeType + ? _value.employeeType + : employeeType // ignore: cast_nullable_to_non_nullable + as String?, + employeeUser: freezed == employeeUser + ? _value.employeeUser + : employeeUser // ignore: cast_nullable_to_non_nullable + as EmployeeUser?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_HRMSEmployee implements _HRMSEmployee { + const _$_HRMSEmployee( + {@JsonKey(name: 'id') this.id, + @JsonKey(name: 'uuid') this.uuid, + @JsonKey(name: 'code') this.code, + @JsonKey(name: 'isActive') this.isActive, + @JsonKey(name: 'dateOfAppointment') this.dateOfAppointment, + @JsonKey(name: 'employeeType') this.employeeType, + @JsonKey(name: 'user') this.employeeUser}); + + factory _$_HRMSEmployee.fromJson(Map json) => + _$$_HRMSEmployeeFromJson(json); + + @override + @JsonKey(name: 'id') + final int? id; + @override + @JsonKey(name: 'uuid') + final String? uuid; + @override + @JsonKey(name: 'code') + final String? code; + @override + @JsonKey(name: 'isActive') + final bool? isActive; + @override + @JsonKey(name: 'dateOfAppointment') + final int? dateOfAppointment; + @override + @JsonKey(name: 'employeeType') + final String? employeeType; + @override + @JsonKey(name: 'user') + final EmployeeUser? employeeUser; + + @override + String toString() { + return 'HRMSEmployee(id: $id, uuid: $uuid, code: $code, isActive: $isActive, dateOfAppointment: $dateOfAppointment, employeeType: $employeeType, employeeUser: $employeeUser)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_HRMSEmployee && + (identical(other.id, id) || other.id == id) && + (identical(other.uuid, uuid) || other.uuid == uuid) && + (identical(other.code, code) || other.code == code) && + (identical(other.isActive, isActive) || + other.isActive == isActive) && + (identical(other.dateOfAppointment, dateOfAppointment) || + other.dateOfAppointment == dateOfAppointment) && + (identical(other.employeeType, employeeType) || + other.employeeType == employeeType) && + (identical(other.employeeUser, employeeUser) || + other.employeeUser == employeeUser)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, id, uuid, code, isActive, + dateOfAppointment, employeeType, employeeUser); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_HRMSEmployeeCopyWith<_$_HRMSEmployee> get copyWith => + __$$_HRMSEmployeeCopyWithImpl<_$_HRMSEmployee>(this, _$identity); + + @override + Map toJson() { + return _$$_HRMSEmployeeToJson( + this, + ); + } +} + +abstract class _HRMSEmployee implements HRMSEmployee { + const factory _HRMSEmployee( + {@JsonKey(name: 'id') final int? id, + @JsonKey(name: 'uuid') final String? uuid, + @JsonKey(name: 'code') final String? code, + @JsonKey(name: 'isActive') final bool? isActive, + @JsonKey(name: 'dateOfAppointment') final int? dateOfAppointment, + @JsonKey(name: 'employeeType') final String? employeeType, + @JsonKey(name: 'user') final EmployeeUser? employeeUser}) = + _$_HRMSEmployee; + + factory _HRMSEmployee.fromJson(Map json) = + _$_HRMSEmployee.fromJson; + + @override + @JsonKey(name: 'id') + int? get id; + @override + @JsonKey(name: 'uuid') + String? get uuid; + @override + @JsonKey(name: 'code') + String? get code; + @override + @JsonKey(name: 'isActive') + bool? get isActive; + @override + @JsonKey(name: 'dateOfAppointment') + int? get dateOfAppointment; + @override + @JsonKey(name: 'employeeType') + String? get employeeType; + @override + @JsonKey(name: 'user') + EmployeeUser? get employeeUser; + @override + @JsonKey(ignore: true) + _$$_HRMSEmployeeCopyWith<_$_HRMSEmployee> get copyWith => + throw _privateConstructorUsedError; +} + +EmployeeUser _$EmployeeUserFromJson(Map json) { + return _EmployeeUser.fromJson(json); +} + +/// @nodoc +mixin _$EmployeeUser { + @JsonKey(name: 'correspondenceAddress') + String? get correspondenceAddress => throw _privateConstructorUsedError; + @JsonKey(name: 'mobileNumber') + String? get mobileNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'name') + String? get name => throw _privateConstructorUsedError; + @JsonKey(name: 'userName') + String? get userName => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $EmployeeUserCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $EmployeeUserCopyWith<$Res> { + factory $EmployeeUserCopyWith( + EmployeeUser value, $Res Function(EmployeeUser) then) = + _$EmployeeUserCopyWithImpl<$Res, EmployeeUser>; + @useResult + $Res call( + {@JsonKey(name: 'correspondenceAddress') String? correspondenceAddress, + @JsonKey(name: 'mobileNumber') String? mobileNumber, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'userName') String? userName}); +} + +/// @nodoc +class _$EmployeeUserCopyWithImpl<$Res, $Val extends EmployeeUser> + implements $EmployeeUserCopyWith<$Res> { + _$EmployeeUserCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? correspondenceAddress = freezed, + Object? mobileNumber = freezed, + Object? name = freezed, + Object? userName = freezed, + }) { + return _then(_value.copyWith( + correspondenceAddress: freezed == correspondenceAddress + ? _value.correspondenceAddress + : correspondenceAddress // ignore: cast_nullable_to_non_nullable + as String?, + mobileNumber: freezed == mobileNumber + ? _value.mobileNumber + : mobileNumber // ignore: cast_nullable_to_non_nullable + as String?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + userName: freezed == userName + ? _value.userName + : userName // ignore: cast_nullable_to_non_nullable + as String?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_EmployeeUserCopyWith<$Res> + implements $EmployeeUserCopyWith<$Res> { + factory _$$_EmployeeUserCopyWith( + _$_EmployeeUser value, $Res Function(_$_EmployeeUser) then) = + __$$_EmployeeUserCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'correspondenceAddress') String? correspondenceAddress, + @JsonKey(name: 'mobileNumber') String? mobileNumber, + @JsonKey(name: 'name') String? name, + @JsonKey(name: 'userName') String? userName}); +} + +/// @nodoc +class __$$_EmployeeUserCopyWithImpl<$Res> + extends _$EmployeeUserCopyWithImpl<$Res, _$_EmployeeUser> + implements _$$_EmployeeUserCopyWith<$Res> { + __$$_EmployeeUserCopyWithImpl( + _$_EmployeeUser _value, $Res Function(_$_EmployeeUser) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? correspondenceAddress = freezed, + Object? mobileNumber = freezed, + Object? name = freezed, + Object? userName = freezed, + }) { + return _then(_$_EmployeeUser( + correspondenceAddress: freezed == correspondenceAddress + ? _value.correspondenceAddress + : correspondenceAddress // ignore: cast_nullable_to_non_nullable + as String?, + mobileNumber: freezed == mobileNumber + ? _value.mobileNumber + : mobileNumber // ignore: cast_nullable_to_non_nullable + as String?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + userName: freezed == userName + ? _value.userName + : userName // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_EmployeeUser implements _EmployeeUser { + const _$_EmployeeUser( + {@JsonKey(name: 'correspondenceAddress') this.correspondenceAddress, + @JsonKey(name: 'mobileNumber') this.mobileNumber, + @JsonKey(name: 'name') this.name, + @JsonKey(name: 'userName') this.userName}); + + factory _$_EmployeeUser.fromJson(Map json) => + _$$_EmployeeUserFromJson(json); + + @override + @JsonKey(name: 'correspondenceAddress') + final String? correspondenceAddress; + @override + @JsonKey(name: 'mobileNumber') + final String? mobileNumber; + @override + @JsonKey(name: 'name') + final String? name; + @override + @JsonKey(name: 'userName') + final String? userName; + + @override + String toString() { + return 'EmployeeUser(correspondenceAddress: $correspondenceAddress, mobileNumber: $mobileNumber, name: $name, userName: $userName)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_EmployeeUser && + (identical(other.correspondenceAddress, correspondenceAddress) || + other.correspondenceAddress == correspondenceAddress) && + (identical(other.mobileNumber, mobileNumber) || + other.mobileNumber == mobileNumber) && + (identical(other.name, name) || other.name == name) && + (identical(other.userName, userName) || + other.userName == userName)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, correspondenceAddress, mobileNumber, name, userName); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_EmployeeUserCopyWith<_$_EmployeeUser> get copyWith => + __$$_EmployeeUserCopyWithImpl<_$_EmployeeUser>(this, _$identity); + + @override + Map toJson() { + return _$$_EmployeeUserToJson( + this, + ); + } +} + +abstract class _EmployeeUser implements EmployeeUser { + const factory _EmployeeUser( + {@JsonKey(name: 'correspondenceAddress') + final String? correspondenceAddress, + @JsonKey(name: 'mobileNumber') + final String? mobileNumber, + @JsonKey(name: 'name') + final String? name, + @JsonKey(name: 'userName') + final String? userName}) = _$_EmployeeUser; + + factory _EmployeeUser.fromJson(Map json) = + _$_EmployeeUser.fromJson; + + @override + @JsonKey(name: 'correspondenceAddress') + String? get correspondenceAddress; + @override + @JsonKey(name: 'mobileNumber') + String? get mobileNumber; + @override + @JsonKey(name: 'name') + String? get name; + @override + @JsonKey(name: 'userName') + String? get userName; + @override + @JsonKey(ignore: true) + _$$_EmployeeUserCopyWith<_$_EmployeeUser> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.g.dart b/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.g.dart new file mode 100644 index 0000000000..7de57a1b75 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.g.dart @@ -0,0 +1,59 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'role_based_hrms.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +_$_HRMSResponse _$$_HRMSResponseFromJson(Map json) => + _$_HRMSResponse( + employees: (json['Employees'] as List?) + ?.map((e) => HRMSEmployee.fromJson(e as Map)) + .toList(), + ); + +Map _$$_HRMSResponseToJson(_$_HRMSResponse instance) => + { + 'Employees': instance.employees, + }; + +_$_HRMSEmployee _$$_HRMSEmployeeFromJson(Map json) => + _$_HRMSEmployee( + id: json['id'] as int?, + uuid: json['uuid'] as String?, + code: json['code'] as String?, + isActive: json['isActive'] as bool?, + dateOfAppointment: json['dateOfAppointment'] as int?, + employeeType: json['employeeType'] as String?, + employeeUser: json['user'] == null + ? null + : EmployeeUser.fromJson(json['user'] as Map), + ); + +Map _$$_HRMSEmployeeToJson(_$_HRMSEmployee instance) => + { + 'id': instance.id, + 'uuid': instance.uuid, + 'code': instance.code, + 'isActive': instance.isActive, + 'dateOfAppointment': instance.dateOfAppointment, + 'employeeType': instance.employeeType, + 'user': instance.employeeUser, + }; + +_$_EmployeeUser _$$_EmployeeUserFromJson(Map json) => + _$_EmployeeUser( + correspondenceAddress: json['correspondenceAddress'] as String?, + mobileNumber: json['mobileNumber'] as String?, + name: json['name'] as String?, + userName: json['userName'] as String?, + ); + +Map _$$_EmployeeUserToJson(_$_EmployeeUser instance) => + { + 'correspondenceAddress': instance.correspondenceAddress, + 'mobileNumber': instance.mobileNumber, + 'name': instance.name, + 'userName': instance.userName, + }; diff --git a/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.dart b/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.dart new file mode 100644 index 0000000000..1c72bc0974 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.dart @@ -0,0 +1,67 @@ +import 'package:freezed_annotation/freezed_annotation.dart'; + +import '../mb/mb_inbox_response.dart'; + +part 'wo_inbox_response.freezed.dart'; +part 'wo_inbox_response.g.dart'; + +@freezed +class WOInboxResponse with _$WOInboxResponse { + const factory WOInboxResponse( + {@JsonKey(name: 'totalCount') int? totalCount, + @JsonKey(name: 'nearingSlaCount') int? nearingSlaCount, + @JsonKey(name: 'statusMap') List? statusMap, + @JsonKey(name: 'items') List? items}) = _WOInboxResponse; + + factory WOInboxResponse.fromJson( + Map json, + ) => + _$WOInboxResponseFromJson(json); +} + +@freezed +class WOItemData with _$WOItemData { + const factory WOItemData({ + @JsonKey(name: 'ProcessInstance') ProcessInstance? processInstance, + @JsonKey(name: 'businessObject') WOBusinessObject? woBusinessObject, + }) = _WOItemData; + + factory WOItemData.fromJson( + Map json, + ) => + _$WOItemDataFromJson(json); +} + +@freezed +class WOBusinessObject with _$WOBusinessObject { + const factory WOBusinessObject({ + @JsonKey(name: 'totalContractedAmount') double? totalContractedAmount, + @JsonKey(name: 'businessService') String? businessService, + @JsonKey(name: 'contractNumber') String? contractNumber, + @JsonKey(name: 'serviceSla') int? serviceSla, + @JsonKey(name: 'additionalDetails') WOAdditionalDetails? woAdditionalDetails, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, + }) = _WOBusinessObject; + + factory WOBusinessObject.fromJson( + Map json, + ) => + _$WOBusinessObjectFromJson(json); +} + + + +@freezed +class WOAdditionalDetails with _$WOAdditionalDetails { + const factory WOAdditionalDetails({ + @JsonKey(name: 'orgName') String? orgName, + @JsonKey(name: 'projectId') String? projectId, + @JsonKey(name: 'projectName') String? projectName, + + }) = _WOAdditionalDetails; + + factory WOAdditionalDetails.fromJson( + Map json, + ) => + _$WOAdditionalDetailsFromJson(json); +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.freezed.dart b/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.freezed.dart new file mode 100644 index 0000000000..2002f5c2e0 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.freezed.dart @@ -0,0 +1,972 @@ +// coverage:ignore-file +// GENERATED CODE - DO NOT MODIFY BY HAND +// ignore_for_file: type=lint +// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark + +part of 'wo_inbox_response.dart'; + +// ************************************************************************** +// FreezedGenerator +// ************************************************************************** + +T _$identity(T value) => value; + +final _privateConstructorUsedError = UnsupportedError( + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + +WOInboxResponse _$WOInboxResponseFromJson(Map json) { + return _WOInboxResponse.fromJson(json); +} + +/// @nodoc +mixin _$WOInboxResponse { + @JsonKey(name: 'totalCount') + int? get totalCount => throw _privateConstructorUsedError; + @JsonKey(name: 'nearingSlaCount') + int? get nearingSlaCount => throw _privateConstructorUsedError; + @JsonKey(name: 'statusMap') + List? get statusMap => throw _privateConstructorUsedError; + @JsonKey(name: 'items') + List? get items => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $WOInboxResponseCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $WOInboxResponseCopyWith<$Res> { + factory $WOInboxResponseCopyWith( + WOInboxResponse value, $Res Function(WOInboxResponse) then) = + _$WOInboxResponseCopyWithImpl<$Res, WOInboxResponse>; + @useResult + $Res call( + {@JsonKey(name: 'totalCount') int? totalCount, + @JsonKey(name: 'nearingSlaCount') int? nearingSlaCount, + @JsonKey(name: 'statusMap') List? statusMap, + @JsonKey(name: 'items') List? items}); +} + +/// @nodoc +class _$WOInboxResponseCopyWithImpl<$Res, $Val extends WOInboxResponse> + implements $WOInboxResponseCopyWith<$Res> { + _$WOInboxResponseCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? totalCount = freezed, + Object? nearingSlaCount = freezed, + Object? statusMap = freezed, + Object? items = freezed, + }) { + return _then(_value.copyWith( + totalCount: freezed == totalCount + ? _value.totalCount + : totalCount // ignore: cast_nullable_to_non_nullable + as int?, + nearingSlaCount: freezed == nearingSlaCount + ? _value.nearingSlaCount + : nearingSlaCount // ignore: cast_nullable_to_non_nullable + as int?, + statusMap: freezed == statusMap + ? _value.statusMap + : statusMap // ignore: cast_nullable_to_non_nullable + as List?, + items: freezed == items + ? _value.items + : items // ignore: cast_nullable_to_non_nullable + as List?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_WOInboxResponseCopyWith<$Res> + implements $WOInboxResponseCopyWith<$Res> { + factory _$$_WOInboxResponseCopyWith( + _$_WOInboxResponse value, $Res Function(_$_WOInboxResponse) then) = + __$$_WOInboxResponseCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'totalCount') int? totalCount, + @JsonKey(name: 'nearingSlaCount') int? nearingSlaCount, + @JsonKey(name: 'statusMap') List? statusMap, + @JsonKey(name: 'items') List? items}); +} + +/// @nodoc +class __$$_WOInboxResponseCopyWithImpl<$Res> + extends _$WOInboxResponseCopyWithImpl<$Res, _$_WOInboxResponse> + implements _$$_WOInboxResponseCopyWith<$Res> { + __$$_WOInboxResponseCopyWithImpl( + _$_WOInboxResponse _value, $Res Function(_$_WOInboxResponse) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? totalCount = freezed, + Object? nearingSlaCount = freezed, + Object? statusMap = freezed, + Object? items = freezed, + }) { + return _then(_$_WOInboxResponse( + totalCount: freezed == totalCount + ? _value.totalCount + : totalCount // ignore: cast_nullable_to_non_nullable + as int?, + nearingSlaCount: freezed == nearingSlaCount + ? _value.nearingSlaCount + : nearingSlaCount // ignore: cast_nullable_to_non_nullable + as int?, + statusMap: freezed == statusMap + ? _value._statusMap + : statusMap // ignore: cast_nullable_to_non_nullable + as List?, + items: freezed == items + ? _value._items + : items // ignore: cast_nullable_to_non_nullable + as List?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_WOInboxResponse implements _WOInboxResponse { + const _$_WOInboxResponse( + {@JsonKey(name: 'totalCount') this.totalCount, + @JsonKey(name: 'nearingSlaCount') this.nearingSlaCount, + @JsonKey(name: 'statusMap') final List? statusMap, + @JsonKey(name: 'items') final List? items}) + : _statusMap = statusMap, + _items = items; + + factory _$_WOInboxResponse.fromJson(Map json) => + _$$_WOInboxResponseFromJson(json); + + @override + @JsonKey(name: 'totalCount') + final int? totalCount; + @override + @JsonKey(name: 'nearingSlaCount') + final int? nearingSlaCount; + final List? _statusMap; + @override + @JsonKey(name: 'statusMap') + List? get statusMap { + final value = _statusMap; + if (value == null) return null; + if (_statusMap is EqualUnmodifiableListView) return _statusMap; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + final List? _items; + @override + @JsonKey(name: 'items') + List? get items { + final value = _items; + if (value == null) return null; + if (_items is EqualUnmodifiableListView) return _items; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + + @override + String toString() { + return 'WOInboxResponse(totalCount: $totalCount, nearingSlaCount: $nearingSlaCount, statusMap: $statusMap, items: $items)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_WOInboxResponse && + (identical(other.totalCount, totalCount) || + other.totalCount == totalCount) && + (identical(other.nearingSlaCount, nearingSlaCount) || + other.nearingSlaCount == nearingSlaCount) && + const DeepCollectionEquality() + .equals(other._statusMap, _statusMap) && + const DeepCollectionEquality().equals(other._items, _items)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + totalCount, + nearingSlaCount, + const DeepCollectionEquality().hash(_statusMap), + const DeepCollectionEquality().hash(_items)); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_WOInboxResponseCopyWith<_$_WOInboxResponse> get copyWith => + __$$_WOInboxResponseCopyWithImpl<_$_WOInboxResponse>(this, _$identity); + + @override + Map toJson() { + return _$$_WOInboxResponseToJson( + this, + ); + } +} + +abstract class _WOInboxResponse implements WOInboxResponse { + const factory _WOInboxResponse( + {@JsonKey(name: 'totalCount') final int? totalCount, + @JsonKey(name: 'nearingSlaCount') final int? nearingSlaCount, + @JsonKey(name: 'statusMap') final List? statusMap, + @JsonKey(name: 'items') final List? items}) = + _$_WOInboxResponse; + + factory _WOInboxResponse.fromJson(Map json) = + _$_WOInboxResponse.fromJson; + + @override + @JsonKey(name: 'totalCount') + int? get totalCount; + @override + @JsonKey(name: 'nearingSlaCount') + int? get nearingSlaCount; + @override + @JsonKey(name: 'statusMap') + List? get statusMap; + @override + @JsonKey(name: 'items') + List? get items; + @override + @JsonKey(ignore: true) + _$$_WOInboxResponseCopyWith<_$_WOInboxResponse> get copyWith => + throw _privateConstructorUsedError; +} + +WOItemData _$WOItemDataFromJson(Map json) { + return _WOItemData.fromJson(json); +} + +/// @nodoc +mixin _$WOItemData { + @JsonKey(name: 'ProcessInstance') + ProcessInstance? get processInstance => throw _privateConstructorUsedError; + @JsonKey(name: 'businessObject') + WOBusinessObject? get woBusinessObject => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $WOItemDataCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $WOItemDataCopyWith<$Res> { + factory $WOItemDataCopyWith( + WOItemData value, $Res Function(WOItemData) then) = + _$WOItemDataCopyWithImpl<$Res, WOItemData>; + @useResult + $Res call( + {@JsonKey(name: 'ProcessInstance') ProcessInstance? processInstance, + @JsonKey(name: 'businessObject') WOBusinessObject? woBusinessObject}); + + $ProcessInstanceCopyWith<$Res>? get processInstance; + $WOBusinessObjectCopyWith<$Res>? get woBusinessObject; +} + +/// @nodoc +class _$WOItemDataCopyWithImpl<$Res, $Val extends WOItemData> + implements $WOItemDataCopyWith<$Res> { + _$WOItemDataCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? processInstance = freezed, + Object? woBusinessObject = freezed, + }) { + return _then(_value.copyWith( + processInstance: freezed == processInstance + ? _value.processInstance + : processInstance // ignore: cast_nullable_to_non_nullable + as ProcessInstance?, + woBusinessObject: freezed == woBusinessObject + ? _value.woBusinessObject + : woBusinessObject // ignore: cast_nullable_to_non_nullable + as WOBusinessObject?, + ) as $Val); + } + + @override + @pragma('vm:prefer-inline') + $ProcessInstanceCopyWith<$Res>? get processInstance { + if (_value.processInstance == null) { + return null; + } + + return $ProcessInstanceCopyWith<$Res>(_value.processInstance!, (value) { + return _then(_value.copyWith(processInstance: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $WOBusinessObjectCopyWith<$Res>? get woBusinessObject { + if (_value.woBusinessObject == null) { + return null; + } + + return $WOBusinessObjectCopyWith<$Res>(_value.woBusinessObject!, (value) { + return _then(_value.copyWith(woBusinessObject: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$_WOItemDataCopyWith<$Res> + implements $WOItemDataCopyWith<$Res> { + factory _$$_WOItemDataCopyWith( + _$_WOItemData value, $Res Function(_$_WOItemData) then) = + __$$_WOItemDataCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'ProcessInstance') ProcessInstance? processInstance, + @JsonKey(name: 'businessObject') WOBusinessObject? woBusinessObject}); + + @override + $ProcessInstanceCopyWith<$Res>? get processInstance; + @override + $WOBusinessObjectCopyWith<$Res>? get woBusinessObject; +} + +/// @nodoc +class __$$_WOItemDataCopyWithImpl<$Res> + extends _$WOItemDataCopyWithImpl<$Res, _$_WOItemData> + implements _$$_WOItemDataCopyWith<$Res> { + __$$_WOItemDataCopyWithImpl( + _$_WOItemData _value, $Res Function(_$_WOItemData) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? processInstance = freezed, + Object? woBusinessObject = freezed, + }) { + return _then(_$_WOItemData( + processInstance: freezed == processInstance + ? _value.processInstance + : processInstance // ignore: cast_nullable_to_non_nullable + as ProcessInstance?, + woBusinessObject: freezed == woBusinessObject + ? _value.woBusinessObject + : woBusinessObject // ignore: cast_nullable_to_non_nullable + as WOBusinessObject?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_WOItemData implements _WOItemData { + const _$_WOItemData( + {@JsonKey(name: 'ProcessInstance') this.processInstance, + @JsonKey(name: 'businessObject') this.woBusinessObject}); + + factory _$_WOItemData.fromJson(Map json) => + _$$_WOItemDataFromJson(json); + + @override + @JsonKey(name: 'ProcessInstance') + final ProcessInstance? processInstance; + @override + @JsonKey(name: 'businessObject') + final WOBusinessObject? woBusinessObject; + + @override + String toString() { + return 'WOItemData(processInstance: $processInstance, woBusinessObject: $woBusinessObject)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_WOItemData && + (identical(other.processInstance, processInstance) || + other.processInstance == processInstance) && + (identical(other.woBusinessObject, woBusinessObject) || + other.woBusinessObject == woBusinessObject)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => + Object.hash(runtimeType, processInstance, woBusinessObject); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_WOItemDataCopyWith<_$_WOItemData> get copyWith => + __$$_WOItemDataCopyWithImpl<_$_WOItemData>(this, _$identity); + + @override + Map toJson() { + return _$$_WOItemDataToJson( + this, + ); + } +} + +abstract class _WOItemData implements WOItemData { + const factory _WOItemData( + {@JsonKey(name: 'ProcessInstance') + final ProcessInstance? processInstance, + @JsonKey(name: 'businessObject') + final WOBusinessObject? woBusinessObject}) = _$_WOItemData; + + factory _WOItemData.fromJson(Map json) = + _$_WOItemData.fromJson; + + @override + @JsonKey(name: 'ProcessInstance') + ProcessInstance? get processInstance; + @override + @JsonKey(name: 'businessObject') + WOBusinessObject? get woBusinessObject; + @override + @JsonKey(ignore: true) + _$$_WOItemDataCopyWith<_$_WOItemData> get copyWith => + throw _privateConstructorUsedError; +} + +WOBusinessObject _$WOBusinessObjectFromJson(Map json) { + return _WOBusinessObject.fromJson(json); +} + +/// @nodoc +mixin _$WOBusinessObject { + @JsonKey(name: 'totalContractedAmount') + double? get totalContractedAmount => throw _privateConstructorUsedError; + @JsonKey(name: 'businessService') + String? get businessService => throw _privateConstructorUsedError; + @JsonKey(name: 'contractNumber') + String? get contractNumber => throw _privateConstructorUsedError; + @JsonKey(name: 'serviceSla') + int? get serviceSla => throw _privateConstructorUsedError; + @JsonKey(name: 'additionalDetails') + WOAdditionalDetails? get woAdditionalDetails => + throw _privateConstructorUsedError; + @JsonKey(name: 'auditDetails') + AuditDetails? get auditDetails => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $WOBusinessObjectCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $WOBusinessObjectCopyWith<$Res> { + factory $WOBusinessObjectCopyWith( + WOBusinessObject value, $Res Function(WOBusinessObject) then) = + _$WOBusinessObjectCopyWithImpl<$Res, WOBusinessObject>; + @useResult + $Res call( + {@JsonKey(name: 'totalContractedAmount') + double? totalContractedAmount, + @JsonKey(name: 'businessService') + String? businessService, + @JsonKey(name: 'contractNumber') + String? contractNumber, + @JsonKey(name: 'serviceSla') + int? serviceSla, + @JsonKey(name: 'additionalDetails') + WOAdditionalDetails? woAdditionalDetails, + @JsonKey(name: 'auditDetails') + AuditDetails? auditDetails}); + + $WOAdditionalDetailsCopyWith<$Res>? get woAdditionalDetails; + $AuditDetailsCopyWith<$Res>? get auditDetails; +} + +/// @nodoc +class _$WOBusinessObjectCopyWithImpl<$Res, $Val extends WOBusinessObject> + implements $WOBusinessObjectCopyWith<$Res> { + _$WOBusinessObjectCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? totalContractedAmount = freezed, + Object? businessService = freezed, + Object? contractNumber = freezed, + Object? serviceSla = freezed, + Object? woAdditionalDetails = freezed, + Object? auditDetails = freezed, + }) { + return _then(_value.copyWith( + totalContractedAmount: freezed == totalContractedAmount + ? _value.totalContractedAmount + : totalContractedAmount // ignore: cast_nullable_to_non_nullable + as double?, + businessService: freezed == businessService + ? _value.businessService + : businessService // ignore: cast_nullable_to_non_nullable + as String?, + contractNumber: freezed == contractNumber + ? _value.contractNumber + : contractNumber // ignore: cast_nullable_to_non_nullable + as String?, + serviceSla: freezed == serviceSla + ? _value.serviceSla + : serviceSla // ignore: cast_nullable_to_non_nullable + as int?, + woAdditionalDetails: freezed == woAdditionalDetails + ? _value.woAdditionalDetails + : woAdditionalDetails // ignore: cast_nullable_to_non_nullable + as WOAdditionalDetails?, + auditDetails: freezed == auditDetails + ? _value.auditDetails + : auditDetails // ignore: cast_nullable_to_non_nullable + as AuditDetails?, + ) as $Val); + } + + @override + @pragma('vm:prefer-inline') + $WOAdditionalDetailsCopyWith<$Res>? get woAdditionalDetails { + if (_value.woAdditionalDetails == null) { + return null; + } + + return $WOAdditionalDetailsCopyWith<$Res>(_value.woAdditionalDetails!, + (value) { + return _then(_value.copyWith(woAdditionalDetails: value) as $Val); + }); + } + + @override + @pragma('vm:prefer-inline') + $AuditDetailsCopyWith<$Res>? get auditDetails { + if (_value.auditDetails == null) { + return null; + } + + return $AuditDetailsCopyWith<$Res>(_value.auditDetails!, (value) { + return _then(_value.copyWith(auditDetails: value) as $Val); + }); + } +} + +/// @nodoc +abstract class _$$_WOBusinessObjectCopyWith<$Res> + implements $WOBusinessObjectCopyWith<$Res> { + factory _$$_WOBusinessObjectCopyWith( + _$_WOBusinessObject value, $Res Function(_$_WOBusinessObject) then) = + __$$_WOBusinessObjectCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'totalContractedAmount') + double? totalContractedAmount, + @JsonKey(name: 'businessService') + String? businessService, + @JsonKey(name: 'contractNumber') + String? contractNumber, + @JsonKey(name: 'serviceSla') + int? serviceSla, + @JsonKey(name: 'additionalDetails') + WOAdditionalDetails? woAdditionalDetails, + @JsonKey(name: 'auditDetails') + AuditDetails? auditDetails}); + + @override + $WOAdditionalDetailsCopyWith<$Res>? get woAdditionalDetails; + @override + $AuditDetailsCopyWith<$Res>? get auditDetails; +} + +/// @nodoc +class __$$_WOBusinessObjectCopyWithImpl<$Res> + extends _$WOBusinessObjectCopyWithImpl<$Res, _$_WOBusinessObject> + implements _$$_WOBusinessObjectCopyWith<$Res> { + __$$_WOBusinessObjectCopyWithImpl( + _$_WOBusinessObject _value, $Res Function(_$_WOBusinessObject) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? totalContractedAmount = freezed, + Object? businessService = freezed, + Object? contractNumber = freezed, + Object? serviceSla = freezed, + Object? woAdditionalDetails = freezed, + Object? auditDetails = freezed, + }) { + return _then(_$_WOBusinessObject( + totalContractedAmount: freezed == totalContractedAmount + ? _value.totalContractedAmount + : totalContractedAmount // ignore: cast_nullable_to_non_nullable + as double?, + businessService: freezed == businessService + ? _value.businessService + : businessService // ignore: cast_nullable_to_non_nullable + as String?, + contractNumber: freezed == contractNumber + ? _value.contractNumber + : contractNumber // ignore: cast_nullable_to_non_nullable + as String?, + serviceSla: freezed == serviceSla + ? _value.serviceSla + : serviceSla // ignore: cast_nullable_to_non_nullable + as int?, + woAdditionalDetails: freezed == woAdditionalDetails + ? _value.woAdditionalDetails + : woAdditionalDetails // ignore: cast_nullable_to_non_nullable + as WOAdditionalDetails?, + auditDetails: freezed == auditDetails + ? _value.auditDetails + : auditDetails // ignore: cast_nullable_to_non_nullable + as AuditDetails?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_WOBusinessObject implements _WOBusinessObject { + const _$_WOBusinessObject( + {@JsonKey(name: 'totalContractedAmount') this.totalContractedAmount, + @JsonKey(name: 'businessService') this.businessService, + @JsonKey(name: 'contractNumber') this.contractNumber, + @JsonKey(name: 'serviceSla') this.serviceSla, + @JsonKey(name: 'additionalDetails') this.woAdditionalDetails, + @JsonKey(name: 'auditDetails') this.auditDetails}); + + factory _$_WOBusinessObject.fromJson(Map json) => + _$$_WOBusinessObjectFromJson(json); + + @override + @JsonKey(name: 'totalContractedAmount') + final double? totalContractedAmount; + @override + @JsonKey(name: 'businessService') + final String? businessService; + @override + @JsonKey(name: 'contractNumber') + final String? contractNumber; + @override + @JsonKey(name: 'serviceSla') + final int? serviceSla; + @override + @JsonKey(name: 'additionalDetails') + final WOAdditionalDetails? woAdditionalDetails; + @override + @JsonKey(name: 'auditDetails') + final AuditDetails? auditDetails; + + @override + String toString() { + return 'WOBusinessObject(totalContractedAmount: $totalContractedAmount, businessService: $businessService, contractNumber: $contractNumber, serviceSla: $serviceSla, woAdditionalDetails: $woAdditionalDetails, auditDetails: $auditDetails)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_WOBusinessObject && + (identical(other.totalContractedAmount, totalContractedAmount) || + other.totalContractedAmount == totalContractedAmount) && + (identical(other.businessService, businessService) || + other.businessService == businessService) && + (identical(other.contractNumber, contractNumber) || + other.contractNumber == contractNumber) && + (identical(other.serviceSla, serviceSla) || + other.serviceSla == serviceSla) && + (identical(other.woAdditionalDetails, woAdditionalDetails) || + other.woAdditionalDetails == woAdditionalDetails) && + (identical(other.auditDetails, auditDetails) || + other.auditDetails == auditDetails)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, + totalContractedAmount, + businessService, + contractNumber, + serviceSla, + woAdditionalDetails, + auditDetails); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_WOBusinessObjectCopyWith<_$_WOBusinessObject> get copyWith => + __$$_WOBusinessObjectCopyWithImpl<_$_WOBusinessObject>(this, _$identity); + + @override + Map toJson() { + return _$$_WOBusinessObjectToJson( + this, + ); + } +} + +abstract class _WOBusinessObject implements WOBusinessObject { + const factory _WOBusinessObject( + {@JsonKey(name: 'totalContractedAmount') + final double? totalContractedAmount, + @JsonKey(name: 'businessService') + final String? businessService, + @JsonKey(name: 'contractNumber') + final String? contractNumber, + @JsonKey(name: 'serviceSla') + final int? serviceSla, + @JsonKey(name: 'additionalDetails') + final WOAdditionalDetails? woAdditionalDetails, + @JsonKey(name: 'auditDetails') + final AuditDetails? auditDetails}) = _$_WOBusinessObject; + + factory _WOBusinessObject.fromJson(Map json) = + _$_WOBusinessObject.fromJson; + + @override + @JsonKey(name: 'totalContractedAmount') + double? get totalContractedAmount; + @override + @JsonKey(name: 'businessService') + String? get businessService; + @override + @JsonKey(name: 'contractNumber') + String? get contractNumber; + @override + @JsonKey(name: 'serviceSla') + int? get serviceSla; + @override + @JsonKey(name: 'additionalDetails') + WOAdditionalDetails? get woAdditionalDetails; + @override + @JsonKey(name: 'auditDetails') + AuditDetails? get auditDetails; + @override + @JsonKey(ignore: true) + _$$_WOBusinessObjectCopyWith<_$_WOBusinessObject> get copyWith => + throw _privateConstructorUsedError; +} + +WOAdditionalDetails _$WOAdditionalDetailsFromJson(Map json) { + return _WOAdditionalDetails.fromJson(json); +} + +/// @nodoc +mixin _$WOAdditionalDetails { + @JsonKey(name: 'orgName') + String? get orgName => throw _privateConstructorUsedError; + @JsonKey(name: 'projectId') + String? get projectId => throw _privateConstructorUsedError; + @JsonKey(name: 'projectName') + String? get projectName => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $WOAdditionalDetailsCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $WOAdditionalDetailsCopyWith<$Res> { + factory $WOAdditionalDetailsCopyWith( + WOAdditionalDetails value, $Res Function(WOAdditionalDetails) then) = + _$WOAdditionalDetailsCopyWithImpl<$Res, WOAdditionalDetails>; + @useResult + $Res call( + {@JsonKey(name: 'orgName') String? orgName, + @JsonKey(name: 'projectId') String? projectId, + @JsonKey(name: 'projectName') String? projectName}); +} + +/// @nodoc +class _$WOAdditionalDetailsCopyWithImpl<$Res, $Val extends WOAdditionalDetails> + implements $WOAdditionalDetailsCopyWith<$Res> { + _$WOAdditionalDetailsCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? orgName = freezed, + Object? projectId = freezed, + Object? projectName = freezed, + }) { + return _then(_value.copyWith( + orgName: freezed == orgName + ? _value.orgName + : orgName // ignore: cast_nullable_to_non_nullable + as String?, + projectId: freezed == projectId + ? _value.projectId + : projectId // ignore: cast_nullable_to_non_nullable + as String?, + projectName: freezed == projectName + ? _value.projectName + : projectName // ignore: cast_nullable_to_non_nullable + as String?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_WOAdditionalDetailsCopyWith<$Res> + implements $WOAdditionalDetailsCopyWith<$Res> { + factory _$$_WOAdditionalDetailsCopyWith(_$_WOAdditionalDetails value, + $Res Function(_$_WOAdditionalDetails) then) = + __$$_WOAdditionalDetailsCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {@JsonKey(name: 'orgName') String? orgName, + @JsonKey(name: 'projectId') String? projectId, + @JsonKey(name: 'projectName') String? projectName}); +} + +/// @nodoc +class __$$_WOAdditionalDetailsCopyWithImpl<$Res> + extends _$WOAdditionalDetailsCopyWithImpl<$Res, _$_WOAdditionalDetails> + implements _$$_WOAdditionalDetailsCopyWith<$Res> { + __$$_WOAdditionalDetailsCopyWithImpl(_$_WOAdditionalDetails _value, + $Res Function(_$_WOAdditionalDetails) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? orgName = freezed, + Object? projectId = freezed, + Object? projectName = freezed, + }) { + return _then(_$_WOAdditionalDetails( + orgName: freezed == orgName + ? _value.orgName + : orgName // ignore: cast_nullable_to_non_nullable + as String?, + projectId: freezed == projectId + ? _value.projectId + : projectId // ignore: cast_nullable_to_non_nullable + as String?, + projectName: freezed == projectName + ? _value.projectName + : projectName // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_WOAdditionalDetails implements _WOAdditionalDetails { + const _$_WOAdditionalDetails( + {@JsonKey(name: 'orgName') this.orgName, + @JsonKey(name: 'projectId') this.projectId, + @JsonKey(name: 'projectName') this.projectName}); + + factory _$_WOAdditionalDetails.fromJson(Map json) => + _$$_WOAdditionalDetailsFromJson(json); + + @override + @JsonKey(name: 'orgName') + final String? orgName; + @override + @JsonKey(name: 'projectId') + final String? projectId; + @override + @JsonKey(name: 'projectName') + final String? projectName; + + @override + String toString() { + return 'WOAdditionalDetails(orgName: $orgName, projectId: $projectId, projectName: $projectName)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_WOAdditionalDetails && + (identical(other.orgName, orgName) || other.orgName == orgName) && + (identical(other.projectId, projectId) || + other.projectId == projectId) && + (identical(other.projectName, projectName) || + other.projectName == projectName)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, orgName, projectId, projectName); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_WOAdditionalDetailsCopyWith<_$_WOAdditionalDetails> get copyWith => + __$$_WOAdditionalDetailsCopyWithImpl<_$_WOAdditionalDetails>( + this, _$identity); + + @override + Map toJson() { + return _$$_WOAdditionalDetailsToJson( + this, + ); + } +} + +abstract class _WOAdditionalDetails implements WOAdditionalDetails { + const factory _WOAdditionalDetails( + {@JsonKey(name: 'orgName') final String? orgName, + @JsonKey(name: 'projectId') final String? projectId, + @JsonKey(name: 'projectName') final String? projectName}) = + _$_WOAdditionalDetails; + + factory _WOAdditionalDetails.fromJson(Map json) = + _$_WOAdditionalDetails.fromJson; + + @override + @JsonKey(name: 'orgName') + String? get orgName; + @override + @JsonKey(name: 'projectId') + String? get projectId; + @override + @JsonKey(name: 'projectName') + String? get projectName; + @override + @JsonKey(ignore: true) + _$$_WOAdditionalDetailsCopyWith<_$_WOAdditionalDetails> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.g.dart b/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.g.dart new file mode 100644 index 0000000000..614dfdc307 --- /dev/null +++ b/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.g.dart @@ -0,0 +1,87 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'wo_inbox_response.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +_$_WOInboxResponse _$$_WOInboxResponseFromJson(Map json) => + _$_WOInboxResponse( + totalCount: json['totalCount'] as int?, + nearingSlaCount: json['nearingSlaCount'] as int?, + statusMap: (json['statusMap'] as List?) + ?.map((e) => StatusMap.fromJson(e as Map)) + .toList(), + items: (json['items'] as List?) + ?.map((e) => WOItemData.fromJson(e as Map)) + .toList(), + ); + +Map _$$_WOInboxResponseToJson(_$_WOInboxResponse instance) => + { + 'totalCount': instance.totalCount, + 'nearingSlaCount': instance.nearingSlaCount, + 'statusMap': instance.statusMap, + 'items': instance.items, + }; + +_$_WOItemData _$$_WOItemDataFromJson(Map json) => + _$_WOItemData( + processInstance: json['ProcessInstance'] == null + ? null + : ProcessInstance.fromJson( + json['ProcessInstance'] as Map), + woBusinessObject: json['businessObject'] == null + ? null + : WOBusinessObject.fromJson( + json['businessObject'] as Map), + ); + +Map _$$_WOItemDataToJson(_$_WOItemData instance) => + { + 'ProcessInstance': instance.processInstance, + 'businessObject': instance.woBusinessObject, + }; + +_$_WOBusinessObject _$$_WOBusinessObjectFromJson(Map json) => + _$_WOBusinessObject( + totalContractedAmount: + (json['totalContractedAmount'] as num?)?.toDouble(), + businessService: json['businessService'] as String?, + contractNumber: json['contractNumber'] as String?, + serviceSla: json['serviceSla'] as int?, + woAdditionalDetails: json['additionalDetails'] == null + ? null + : WOAdditionalDetails.fromJson( + json['additionalDetails'] as Map), + auditDetails: json['auditDetails'] == null + ? null + : AuditDetails.fromJson(json['auditDetails'] as Map), + ); + +Map _$$_WOBusinessObjectToJson(_$_WOBusinessObject instance) => + { + 'totalContractedAmount': instance.totalContractedAmount, + 'businessService': instance.businessService, + 'contractNumber': instance.contractNumber, + 'serviceSla': instance.serviceSla, + 'additionalDetails': instance.woAdditionalDetails, + 'auditDetails': instance.auditDetails, + }; + +_$_WOAdditionalDetails _$$_WOAdditionalDetailsFromJson( + Map json) => + _$_WOAdditionalDetails( + orgName: json['orgName'] as String?, + projectId: json['projectId'] as String?, + projectName: json['projectName'] as String?, + ); + +Map _$$_WOAdditionalDetailsToJson( + _$_WOAdditionalDetails instance) => + { + 'orgName': instance.orgName, + 'projectId': instance.projectId, + 'projectName': instance.projectName, + }; diff --git a/frontend/works_shg_app/lib/models/exception/custom_msg_exception.dart b/frontend/works_shg_app/lib/models/exception/custom_msg_exception.dart new file mode 100644 index 0000000000..f6c09ef29d --- /dev/null +++ b/frontend/works_shg_app/lib/models/exception/custom_msg_exception.dart @@ -0,0 +1,9 @@ + +// Define your custom exception class +class CustomException implements Exception { + final String message; + CustomException(this.message); + + @override + String toString() => message; // Override toString to return the message directly +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.dart b/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.dart index 408d8e230b..95f8f73472 100644 --- a/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.dart +++ b/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.dart @@ -76,6 +76,7 @@ class WageSeekerCommonMDMS with _$WageSeekerCommonMDMS { @JsonKey(name: 'WageSeekerSkills') List? wageSeekerSkills, @JsonKey(name: 'Relationship') List? relationship, @JsonKey(name: 'SocialCategory') List? socialCategory, + @JsonKey(name: 'DocumentType') List? documentType, }) = _WageSeekerCommonMDMS; factory WageSeekerCommonMDMS.fromJson( @@ -130,3 +131,16 @@ class BankAccType with _$BankAccType { factory BankAccType.fromJson(Map json) => _$BankAccTypeFromJson(json); } + + +@freezed +class DocumentType with _$DocumentType { + const factory DocumentType({ + required String name, + required String code, + required bool active, + }) = _DocumentType; + + factory DocumentType.fromJson(Map json) => + _$DocumentTypeFromJson(json); +} diff --git a/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.freezed.dart b/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.freezed.dart index 1ebe84e7e2..7d8ff7bc90 100644 --- a/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.freezed.dart +++ b/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.freezed.dart @@ -947,6 +947,8 @@ mixin _$WageSeekerCommonMDMS { @JsonKey(name: 'SocialCategory') List? get socialCategory => throw _privateConstructorUsedError; + @JsonKey(name: 'DocumentType') + List? get documentType => throw _privateConstructorUsedError; Map toJson() => throw _privateConstructorUsedError; @JsonKey(ignore: true) @@ -968,7 +970,9 @@ abstract class $WageSeekerCommonMDMSCopyWith<$Res> { @JsonKey(name: 'Relationship') List? relationship, @JsonKey(name: 'SocialCategory') - List? socialCategory}); + List? socialCategory, + @JsonKey(name: 'DocumentType') + List? documentType}); } /// @nodoc @@ -989,6 +993,7 @@ class _$WageSeekerCommonMDMSCopyWithImpl<$Res, Object? wageSeekerSkills = freezed, Object? relationship = freezed, Object? socialCategory = freezed, + Object? documentType = freezed, }) { return _then(_value.copyWith( genderType: freezed == genderType @@ -1007,6 +1012,10 @@ class _$WageSeekerCommonMDMSCopyWithImpl<$Res, ? _value.socialCategory : socialCategory // ignore: cast_nullable_to_non_nullable as List?, + documentType: freezed == documentType + ? _value.documentType + : documentType // ignore: cast_nullable_to_non_nullable + as List?, ) as $Val); } } @@ -1027,7 +1036,9 @@ abstract class _$$_WageSeekerCommonMDMSCopyWith<$Res> @JsonKey(name: 'Relationship') List? relationship, @JsonKey(name: 'SocialCategory') - List? socialCategory}); + List? socialCategory, + @JsonKey(name: 'DocumentType') + List? documentType}); } /// @nodoc @@ -1045,6 +1056,7 @@ class __$$_WageSeekerCommonMDMSCopyWithImpl<$Res> Object? wageSeekerSkills = freezed, Object? relationship = freezed, Object? socialCategory = freezed, + Object? documentType = freezed, }) { return _then(_$_WageSeekerCommonMDMS( genderType: freezed == genderType @@ -1063,6 +1075,10 @@ class __$$_WageSeekerCommonMDMSCopyWithImpl<$Res> ? _value._socialCategory : socialCategory // ignore: cast_nullable_to_non_nullable as List?, + documentType: freezed == documentType + ? _value._documentType + : documentType // ignore: cast_nullable_to_non_nullable + as List?, )); } } @@ -1078,11 +1094,14 @@ class _$_WageSeekerCommonMDMS implements _WageSeekerCommonMDMS { @JsonKey(name: 'Relationship') final List? relationship, @JsonKey(name: 'SocialCategory') - final List? socialCategory}) + final List? socialCategory, + @JsonKey(name: 'DocumentType') + final List? documentType}) : _genderType = genderType, _wageSeekerSkills = wageSeekerSkills, _relationship = relationship, - _socialCategory = socialCategory; + _socialCategory = socialCategory, + _documentType = documentType; factory _$_WageSeekerCommonMDMS.fromJson(Map json) => _$$_WageSeekerCommonMDMSFromJson(json); @@ -1132,9 +1151,20 @@ class _$_WageSeekerCommonMDMS implements _WageSeekerCommonMDMS { return EqualUnmodifiableListView(value); } + final List? _documentType; + @override + @JsonKey(name: 'DocumentType') + List? get documentType { + final value = _documentType; + if (value == null) return null; + if (_documentType is EqualUnmodifiableListView) return _documentType; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } + @override String toString() { - return 'WageSeekerCommonMDMS(genderType: $genderType, wageSeekerSkills: $wageSeekerSkills, relationship: $relationship, socialCategory: $socialCategory)'; + return 'WageSeekerCommonMDMS(genderType: $genderType, wageSeekerSkills: $wageSeekerSkills, relationship: $relationship, socialCategory: $socialCategory, documentType: $documentType)'; } @override @@ -1149,7 +1179,9 @@ class _$_WageSeekerCommonMDMS implements _WageSeekerCommonMDMS { const DeepCollectionEquality() .equals(other._relationship, _relationship) && const DeepCollectionEquality() - .equals(other._socialCategory, _socialCategory)); + .equals(other._socialCategory, _socialCategory) && + const DeepCollectionEquality() + .equals(other._documentType, _documentType)); } @JsonKey(ignore: true) @@ -1159,7 +1191,8 @@ class _$_WageSeekerCommonMDMS implements _WageSeekerCommonMDMS { const DeepCollectionEquality().hash(_genderType), const DeepCollectionEquality().hash(_wageSeekerSkills), const DeepCollectionEquality().hash(_relationship), - const DeepCollectionEquality().hash(_socialCategory)); + const DeepCollectionEquality().hash(_socialCategory), + const DeepCollectionEquality().hash(_documentType)); @JsonKey(ignore: true) @override @@ -1178,15 +1211,16 @@ class _$_WageSeekerCommonMDMS implements _WageSeekerCommonMDMS { abstract class _WageSeekerCommonMDMS implements WageSeekerCommonMDMS { const factory _WageSeekerCommonMDMS( - {@JsonKey(name: 'GenderType') - final List? genderType, - @JsonKey(name: 'WageSeekerSkills') - final List? wageSeekerSkills, - @JsonKey(name: 'Relationship') - final List? relationship, - @JsonKey(name: 'SocialCategory') - final List? socialCategory}) = - _$_WageSeekerCommonMDMS; + {@JsonKey(name: 'GenderType') + final List? genderType, + @JsonKey(name: 'WageSeekerSkills') + final List? wageSeekerSkills, + @JsonKey(name: 'Relationship') + final List? relationship, + @JsonKey(name: 'SocialCategory') + final List? socialCategory, + @JsonKey(name: 'DocumentType') + final List? documentType}) = _$_WageSeekerCommonMDMS; factory _WageSeekerCommonMDMS.fromJson(Map json) = _$_WageSeekerCommonMDMS.fromJson; @@ -1204,6 +1238,9 @@ abstract class _WageSeekerCommonMDMS implements WageSeekerCommonMDMS { @JsonKey(name: 'SocialCategory') List? get socialCategory; @override + @JsonKey(name: 'DocumentType') + List? get documentType; + @override @JsonKey(ignore: true) _$$_WageSeekerCommonMDMSCopyWith<_$_WageSeekerCommonMDMS> get copyWith => throw _privateConstructorUsedError; @@ -1877,3 +1914,175 @@ abstract class _BankAccType implements BankAccType { _$$_BankAccTypeCopyWith<_$_BankAccType> get copyWith => throw _privateConstructorUsedError; } + +DocumentType _$DocumentTypeFromJson(Map json) { + return _DocumentType.fromJson(json); +} + +/// @nodoc +mixin _$DocumentType { + String get name => throw _privateConstructorUsedError; + String get code => throw _privateConstructorUsedError; + bool get active => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $DocumentTypeCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $DocumentTypeCopyWith<$Res> { + factory $DocumentTypeCopyWith( + DocumentType value, $Res Function(DocumentType) then) = + _$DocumentTypeCopyWithImpl<$Res, DocumentType>; + @useResult + $Res call({String name, String code, bool active}); +} + +/// @nodoc +class _$DocumentTypeCopyWithImpl<$Res, $Val extends DocumentType> + implements $DocumentTypeCopyWith<$Res> { + _$DocumentTypeCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? name = null, + Object? code = null, + Object? active = null, + }) { + return _then(_value.copyWith( + name: null == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String, + code: null == code + ? _value.code + : code // ignore: cast_nullable_to_non_nullable + as String, + active: null == active + ? _value.active + : active // ignore: cast_nullable_to_non_nullable + as bool, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_DocumentTypeCopyWith<$Res> + implements $DocumentTypeCopyWith<$Res> { + factory _$$_DocumentTypeCopyWith( + _$_DocumentType value, $Res Function(_$_DocumentType) then) = + __$$_DocumentTypeCopyWithImpl<$Res>; + @override + @useResult + $Res call({String name, String code, bool active}); +} + +/// @nodoc +class __$$_DocumentTypeCopyWithImpl<$Res> + extends _$DocumentTypeCopyWithImpl<$Res, _$_DocumentType> + implements _$$_DocumentTypeCopyWith<$Res> { + __$$_DocumentTypeCopyWithImpl( + _$_DocumentType _value, $Res Function(_$_DocumentType) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? name = null, + Object? code = null, + Object? active = null, + }) { + return _then(_$_DocumentType( + name: null == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String, + code: null == code + ? _value.code + : code // ignore: cast_nullable_to_non_nullable + as String, + active: null == active + ? _value.active + : active // ignore: cast_nullable_to_non_nullable + as bool, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_DocumentType implements _DocumentType { + const _$_DocumentType( + {required this.name, required this.code, required this.active}); + + factory _$_DocumentType.fromJson(Map json) => + _$$_DocumentTypeFromJson(json); + + @override + final String name; + @override + final String code; + @override + final bool active; + + @override + String toString() { + return 'DocumentType(name: $name, code: $code, active: $active)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_DocumentType && + (identical(other.name, name) || other.name == name) && + (identical(other.code, code) || other.code == code) && + (identical(other.active, active) || other.active == active)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, name, code, active); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_DocumentTypeCopyWith<_$_DocumentType> get copyWith => + __$$_DocumentTypeCopyWithImpl<_$_DocumentType>(this, _$identity); + + @override + Map toJson() { + return _$$_DocumentTypeToJson( + this, + ); + } +} + +abstract class _DocumentType implements DocumentType { + const factory _DocumentType( + {required final String name, + required final String code, + required final bool active}) = _$_DocumentType; + + factory _DocumentType.fromJson(Map json) = + _$_DocumentType.fromJson; + + @override + String get name; + @override + String get code; + @override + bool get active; + @override + @JsonKey(ignore: true) + _$$_DocumentTypeCopyWith<_$_DocumentType> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.g.dart b/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.g.dart index ef58f709b2..648a74930c 100644 --- a/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.g.dart +++ b/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.g.dart @@ -98,6 +98,9 @@ _$_WageSeekerCommonMDMS _$$_WageSeekerCommonMDMSFromJson( socialCategory: (json['SocialCategory'] as List?) ?.map((e) => SocialCategory.fromJson(e as Map)) .toList(), + documentType: (json['DocumentType'] as List?) + ?.map((e) => DocumentType.fromJson(e as Map)) + .toList(), ); Map _$$_WageSeekerCommonMDMSToJson( @@ -107,6 +110,7 @@ Map _$$_WageSeekerCommonMDMSToJson( 'WageSeekerSkills': instance.wageSeekerSkills, 'Relationship': instance.relationship, 'SocialCategory': instance.socialCategory, + 'DocumentType': instance.documentType, }; _$_GenderType _$$_GenderTypeFromJson(Map json) => @@ -162,3 +166,17 @@ Map _$$_BankAccTypeToJson(_$_BankAccType instance) => 'code': instance.code, 'active': instance.active, }; + +_$_DocumentType _$$_DocumentTypeFromJson(Map json) => + _$_DocumentType( + name: json['name'] as String, + code: json['code'] as String, + active: json['active'] as bool, + ); + +Map _$$_DocumentTypeToJson(_$_DocumentType instance) => + { + 'name': instance.name, + 'code': instance.code, + 'active': instance.active, + }; diff --git a/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.dart b/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.dart index 8bc34102a2..d8068832cd 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.dart @@ -25,6 +25,7 @@ class ProcessInstances with _$ProcessInstances { String? businessId, String? action, AuditDetails? auditDetails, + Assigner? assigner, List? assignes, List? documents, String? comment, @@ -42,6 +43,11 @@ class ProcessInstances with _$ProcessInstances { class NextActions with _$NextActions { const factory NextActions({ String? action, + String? uuid, + String? currentState, + String? nextState, + String? tenantId, + List? roles, }) = _NextActions; factory NextActions.fromJson( @@ -58,6 +64,11 @@ class WorkflowDocument with _$WorkflowDocument { String? fileStoreId, String? id, String? tenantId, + String? fileStore, + bool? isActive, + int? indexing, + @JsonKey(name: 'additionalDetails') + DocumentAdditionalDetails? documentAdditionalDetails, }) = _WorkflowDocument; factory WorkflowDocument.fromJson( @@ -66,6 +77,20 @@ class WorkflowDocument with _$WorkflowDocument { _$WorkflowDocumentFromJson(json); } +@freezed +class DocumentAdditionalDetails with _$DocumentAdditionalDetails { + const factory DocumentAdditionalDetails({ + String? fileName, + String? fileType, + String? tenantId, + }) = _DocumentAdditionalDetails; + + factory DocumentAdditionalDetails.fromJson( + Map json, + ) => + _$DocumentAdditionalDetailsFromJson(json); +} + @freezed class Assignees with _$Assignees { const factory Assignees({ @@ -112,3 +137,23 @@ class WorkflowActions with _$WorkflowActions { ) => _$WorkflowActionsFromJson(json); } + + + +@freezed +class Assigner with _$Assigner { + const factory Assigner({ + String? emailId, + int? id, + String? mobileNumber, + String? name, + String? tenantId, + String? uuid, + String? userName, + }) = _Assigner; + + factory Assigner.fromJson( + Map json, + ) => + _$AssignerFromJson(json); +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.freezed.dart b/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.freezed.dart index e0ab18a64d..1d96cefc72 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.freezed.dart @@ -187,6 +187,7 @@ mixin _$ProcessInstances { String? get businessId => throw _privateConstructorUsedError; String? get action => throw _privateConstructorUsedError; AuditDetails? get auditDetails => throw _privateConstructorUsedError; + Assigner? get assigner => throw _privateConstructorUsedError; List? get assignes => throw _privateConstructorUsedError; List? get documents => throw _privateConstructorUsedError; String? get comment => throw _privateConstructorUsedError; @@ -213,6 +214,7 @@ abstract class $ProcessInstancesCopyWith<$Res> { String? businessId, String? action, AuditDetails? auditDetails, + Assigner? assigner, List? assignes, List? documents, String? comment, @@ -220,6 +222,7 @@ abstract class $ProcessInstancesCopyWith<$Res> { @JsonKey(name: 'state') WorkflowState? workflowState}); $AuditDetailsCopyWith<$Res>? get auditDetails; + $AssignerCopyWith<$Res>? get assigner; $WorkflowStateCopyWith<$Res>? get workflowState; } @@ -242,6 +245,7 @@ class _$ProcessInstancesCopyWithImpl<$Res, $Val extends ProcessInstances> Object? businessId = freezed, Object? action = freezed, Object? auditDetails = freezed, + Object? assigner = freezed, Object? assignes = freezed, Object? documents = freezed, Object? comment = freezed, @@ -273,6 +277,10 @@ class _$ProcessInstancesCopyWithImpl<$Res, $Val extends ProcessInstances> ? _value.auditDetails : auditDetails // ignore: cast_nullable_to_non_nullable as AuditDetails?, + assigner: freezed == assigner + ? _value.assigner + : assigner // ignore: cast_nullable_to_non_nullable + as Assigner?, assignes: freezed == assignes ? _value.assignes : assignes // ignore: cast_nullable_to_non_nullable @@ -308,6 +316,18 @@ class _$ProcessInstancesCopyWithImpl<$Res, $Val extends ProcessInstances> }); } + @override + @pragma('vm:prefer-inline') + $AssignerCopyWith<$Res>? get assigner { + if (_value.assigner == null) { + return null; + } + + return $AssignerCopyWith<$Res>(_value.assigner!, (value) { + return _then(_value.copyWith(assigner: value) as $Val); + }); + } + @override @pragma('vm:prefer-inline') $WorkflowStateCopyWith<$Res>? get workflowState { @@ -336,6 +356,7 @@ abstract class _$$_ProcessInstancesCopyWith<$Res> String? businessId, String? action, AuditDetails? auditDetails, + Assigner? assigner, List? assignes, List? documents, String? comment, @@ -345,6 +366,8 @@ abstract class _$$_ProcessInstancesCopyWith<$Res> @override $AuditDetailsCopyWith<$Res>? get auditDetails; @override + $AssignerCopyWith<$Res>? get assigner; + @override $WorkflowStateCopyWith<$Res>? get workflowState; } @@ -365,6 +388,7 @@ class __$$_ProcessInstancesCopyWithImpl<$Res> Object? businessId = freezed, Object? action = freezed, Object? auditDetails = freezed, + Object? assigner = freezed, Object? assignes = freezed, Object? documents = freezed, Object? comment = freezed, @@ -396,6 +420,10 @@ class __$$_ProcessInstancesCopyWithImpl<$Res> ? _value.auditDetails : auditDetails // ignore: cast_nullable_to_non_nullable as AuditDetails?, + assigner: freezed == assigner + ? _value.assigner + : assigner // ignore: cast_nullable_to_non_nullable + as Assigner?, assignes: freezed == assignes ? _value._assignes : assignes // ignore: cast_nullable_to_non_nullable @@ -430,6 +458,7 @@ class _$_ProcessInstances implements _ProcessInstances { this.businessId, this.action, this.auditDetails, + this.assigner, final List? assignes, final List? documents, this.comment, @@ -454,6 +483,8 @@ class _$_ProcessInstances implements _ProcessInstances { final String? action; @override final AuditDetails? auditDetails; + @override + final Assigner? assigner; final List? _assignes; @override List? get assignes { @@ -492,7 +523,7 @@ class _$_ProcessInstances implements _ProcessInstances { @override String toString() { - return 'ProcessInstances(tenantId: $tenantId, businessService: $businessService, id: $id, businessId: $businessId, action: $action, auditDetails: $auditDetails, assignes: $assignes, documents: $documents, comment: $comment, nextActions: $nextActions, workflowState: $workflowState)'; + return 'ProcessInstances(tenantId: $tenantId, businessService: $businessService, id: $id, businessId: $businessId, action: $action, auditDetails: $auditDetails, assigner: $assigner, assignes: $assignes, documents: $documents, comment: $comment, nextActions: $nextActions, workflowState: $workflowState)'; } @override @@ -510,6 +541,8 @@ class _$_ProcessInstances implements _ProcessInstances { (identical(other.action, action) || other.action == action) && (identical(other.auditDetails, auditDetails) || other.auditDetails == auditDetails) && + (identical(other.assigner, assigner) || + other.assigner == assigner) && const DeepCollectionEquality().equals(other._assignes, _assignes) && const DeepCollectionEquality() .equals(other._documents, _documents) && @@ -530,6 +563,7 @@ class _$_ProcessInstances implements _ProcessInstances { businessId, action, auditDetails, + assigner, const DeepCollectionEquality().hash(_assignes), const DeepCollectionEquality().hash(_documents), comment, @@ -558,6 +592,7 @@ abstract class _ProcessInstances implements ProcessInstances { final String? businessId, final String? action, final AuditDetails? auditDetails, + final Assigner? assigner, final List? assignes, final List? documents, final String? comment, @@ -581,6 +616,8 @@ abstract class _ProcessInstances implements ProcessInstances { @override AuditDetails? get auditDetails; @override + Assigner? get assigner; + @override List? get assignes; @override List? get documents; @@ -604,6 +641,11 @@ NextActions _$NextActionsFromJson(Map json) { /// @nodoc mixin _$NextActions { String? get action => throw _privateConstructorUsedError; + String? get uuid => throw _privateConstructorUsedError; + String? get currentState => throw _privateConstructorUsedError; + String? get nextState => throw _privateConstructorUsedError; + String? get tenantId => throw _privateConstructorUsedError; + List? get roles => throw _privateConstructorUsedError; Map toJson() => throw _privateConstructorUsedError; @JsonKey(ignore: true) @@ -617,7 +659,13 @@ abstract class $NextActionsCopyWith<$Res> { NextActions value, $Res Function(NextActions) then) = _$NextActionsCopyWithImpl<$Res, NextActions>; @useResult - $Res call({String? action}); + $Res call( + {String? action, + String? uuid, + String? currentState, + String? nextState, + String? tenantId, + List? roles}); } /// @nodoc @@ -634,12 +682,37 @@ class _$NextActionsCopyWithImpl<$Res, $Val extends NextActions> @override $Res call({ Object? action = freezed, + Object? uuid = freezed, + Object? currentState = freezed, + Object? nextState = freezed, + Object? tenantId = freezed, + Object? roles = freezed, }) { return _then(_value.copyWith( action: freezed == action ? _value.action : action // ignore: cast_nullable_to_non_nullable as String?, + uuid: freezed == uuid + ? _value.uuid + : uuid // ignore: cast_nullable_to_non_nullable + as String?, + currentState: freezed == currentState + ? _value.currentState + : currentState // ignore: cast_nullable_to_non_nullable + as String?, + nextState: freezed == nextState + ? _value.nextState + : nextState // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + roles: freezed == roles + ? _value.roles + : roles // ignore: cast_nullable_to_non_nullable + as List?, ) as $Val); } } @@ -652,7 +725,13 @@ abstract class _$$_NextActionsCopyWith<$Res> __$$_NextActionsCopyWithImpl<$Res>; @override @useResult - $Res call({String? action}); + $Res call( + {String? action, + String? uuid, + String? currentState, + String? nextState, + String? tenantId, + List? roles}); } /// @nodoc @@ -667,12 +746,37 @@ class __$$_NextActionsCopyWithImpl<$Res> @override $Res call({ Object? action = freezed, + Object? uuid = freezed, + Object? currentState = freezed, + Object? nextState = freezed, + Object? tenantId = freezed, + Object? roles = freezed, }) { return _then(_$_NextActions( action: freezed == action ? _value.action : action // ignore: cast_nullable_to_non_nullable as String?, + uuid: freezed == uuid + ? _value.uuid + : uuid // ignore: cast_nullable_to_non_nullable + as String?, + currentState: freezed == currentState + ? _value.currentState + : currentState // ignore: cast_nullable_to_non_nullable + as String?, + nextState: freezed == nextState + ? _value.nextState + : nextState // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + roles: freezed == roles + ? _value._roles + : roles // ignore: cast_nullable_to_non_nullable + as List?, )); } } @@ -680,17 +784,41 @@ class __$$_NextActionsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() class _$_NextActions implements _NextActions { - const _$_NextActions({this.action}); + const _$_NextActions( + {this.action, + this.uuid, + this.currentState, + this.nextState, + this.tenantId, + final List? roles}) + : _roles = roles; factory _$_NextActions.fromJson(Map json) => _$$_NextActionsFromJson(json); @override final String? action; + @override + final String? uuid; + @override + final String? currentState; + @override + final String? nextState; + @override + final String? tenantId; + final List? _roles; + @override + List? get roles { + final value = _roles; + if (value == null) return null; + if (_roles is EqualUnmodifiableListView) return _roles; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(value); + } @override String toString() { - return 'NextActions(action: $action)'; + return 'NextActions(action: $action, uuid: $uuid, currentState: $currentState, nextState: $nextState, tenantId: $tenantId, roles: $roles)'; } @override @@ -698,12 +826,21 @@ class _$_NextActions implements _NextActions { return identical(this, other) || (other.runtimeType == runtimeType && other is _$_NextActions && - (identical(other.action, action) || other.action == action)); + (identical(other.action, action) || other.action == action) && + (identical(other.uuid, uuid) || other.uuid == uuid) && + (identical(other.currentState, currentState) || + other.currentState == currentState) && + (identical(other.nextState, nextState) || + other.nextState == nextState) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + const DeepCollectionEquality().equals(other._roles, _roles)); } @JsonKey(ignore: true) @override - int get hashCode => Object.hash(runtimeType, action); + int get hashCode => Object.hash(runtimeType, action, uuid, currentState, + nextState, tenantId, const DeepCollectionEquality().hash(_roles)); @JsonKey(ignore: true) @override @@ -720,7 +857,13 @@ class _$_NextActions implements _NextActions { } abstract class _NextActions implements NextActions { - const factory _NextActions({final String? action}) = _$_NextActions; + const factory _NextActions( + {final String? action, + final String? uuid, + final String? currentState, + final String? nextState, + final String? tenantId, + final List? roles}) = _$_NextActions; factory _NextActions.fromJson(Map json) = _$_NextActions.fromJson; @@ -728,6 +871,16 @@ abstract class _NextActions implements NextActions { @override String? get action; @override + String? get uuid; + @override + String? get currentState; + @override + String? get nextState; + @override + String? get tenantId; + @override + List? get roles; + @override @JsonKey(ignore: true) _$$_NextActionsCopyWith<_$_NextActions> get copyWith => throw _privateConstructorUsedError; @@ -744,6 +897,12 @@ mixin _$WorkflowDocument { String? get fileStoreId => throw _privateConstructorUsedError; String? get id => throw _privateConstructorUsedError; String? get tenantId => throw _privateConstructorUsedError; + String? get fileStore => throw _privateConstructorUsedError; + bool? get isActive => throw _privateConstructorUsedError; + int? get indexing => throw _privateConstructorUsedError; + @JsonKey(name: 'additionalDetails') + DocumentAdditionalDetails? get documentAdditionalDetails => + throw _privateConstructorUsedError; Map toJson() => throw _privateConstructorUsedError; @JsonKey(ignore: true) @@ -762,7 +921,14 @@ abstract class $WorkflowDocumentCopyWith<$Res> { String? documentUid, String? fileStoreId, String? id, - String? tenantId}); + String? tenantId, + String? fileStore, + bool? isActive, + int? indexing, + @JsonKey(name: 'additionalDetails') + DocumentAdditionalDetails? documentAdditionalDetails}); + + $DocumentAdditionalDetailsCopyWith<$Res>? get documentAdditionalDetails; } /// @nodoc @@ -783,6 +949,10 @@ class _$WorkflowDocumentCopyWithImpl<$Res, $Val extends WorkflowDocument> Object? fileStoreId = freezed, Object? id = freezed, Object? tenantId = freezed, + Object? fileStore = freezed, + Object? isActive = freezed, + Object? indexing = freezed, + Object? documentAdditionalDetails = freezed, }) { return _then(_value.copyWith( documentType: freezed == documentType @@ -805,8 +975,37 @@ class _$WorkflowDocumentCopyWithImpl<$Res, $Val extends WorkflowDocument> ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable as String?, + fileStore: freezed == fileStore + ? _value.fileStore + : fileStore // ignore: cast_nullable_to_non_nullable + as String?, + isActive: freezed == isActive + ? _value.isActive + : isActive // ignore: cast_nullable_to_non_nullable + as bool?, + indexing: freezed == indexing + ? _value.indexing + : indexing // ignore: cast_nullable_to_non_nullable + as int?, + documentAdditionalDetails: freezed == documentAdditionalDetails + ? _value.documentAdditionalDetails + : documentAdditionalDetails // ignore: cast_nullable_to_non_nullable + as DocumentAdditionalDetails?, ) as $Val); } + + @override + @pragma('vm:prefer-inline') + $DocumentAdditionalDetailsCopyWith<$Res>? get documentAdditionalDetails { + if (_value.documentAdditionalDetails == null) { + return null; + } + + return $DocumentAdditionalDetailsCopyWith<$Res>( + _value.documentAdditionalDetails!, (value) { + return _then(_value.copyWith(documentAdditionalDetails: value) as $Val); + }); + } } /// @nodoc @@ -822,7 +1021,15 @@ abstract class _$$_WorkflowDocumentCopyWith<$Res> String? documentUid, String? fileStoreId, String? id, - String? tenantId}); + String? tenantId, + String? fileStore, + bool? isActive, + int? indexing, + @JsonKey(name: 'additionalDetails') + DocumentAdditionalDetails? documentAdditionalDetails}); + + @override + $DocumentAdditionalDetailsCopyWith<$Res>? get documentAdditionalDetails; } /// @nodoc @@ -841,6 +1048,10 @@ class __$$_WorkflowDocumentCopyWithImpl<$Res> Object? fileStoreId = freezed, Object? id = freezed, Object? tenantId = freezed, + Object? fileStore = freezed, + Object? isActive = freezed, + Object? indexing = freezed, + Object? documentAdditionalDetails = freezed, }) { return _then(_$_WorkflowDocument( documentType: freezed == documentType @@ -863,6 +1074,22 @@ class __$$_WorkflowDocumentCopyWithImpl<$Res> ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable as String?, + fileStore: freezed == fileStore + ? _value.fileStore + : fileStore // ignore: cast_nullable_to_non_nullable + as String?, + isActive: freezed == isActive + ? _value.isActive + : isActive // ignore: cast_nullable_to_non_nullable + as bool?, + indexing: freezed == indexing + ? _value.indexing + : indexing // ignore: cast_nullable_to_non_nullable + as int?, + documentAdditionalDetails: freezed == documentAdditionalDetails + ? _value.documentAdditionalDetails + : documentAdditionalDetails // ignore: cast_nullable_to_non_nullable + as DocumentAdditionalDetails?, )); } } @@ -875,7 +1102,11 @@ class _$_WorkflowDocument implements _WorkflowDocument { this.documentUid, this.fileStoreId, this.id, - this.tenantId}); + this.tenantId, + this.fileStore, + this.isActive, + this.indexing, + @JsonKey(name: 'additionalDetails') this.documentAdditionalDetails}); factory _$_WorkflowDocument.fromJson(Map json) => _$$_WorkflowDocumentFromJson(json); @@ -890,10 +1121,19 @@ class _$_WorkflowDocument implements _WorkflowDocument { final String? id; @override final String? tenantId; + @override + final String? fileStore; + @override + final bool? isActive; + @override + final int? indexing; + @override + @JsonKey(name: 'additionalDetails') + final DocumentAdditionalDetails? documentAdditionalDetails; @override String toString() { - return 'WorkflowDocument(documentType: $documentType, documentUid: $documentUid, fileStoreId: $fileStoreId, id: $id, tenantId: $tenantId)'; + return 'WorkflowDocument(documentType: $documentType, documentUid: $documentUid, fileStoreId: $fileStoreId, id: $id, tenantId: $tenantId, fileStore: $fileStore, isActive: $isActive, indexing: $indexing, documentAdditionalDetails: $documentAdditionalDetails)'; } @override @@ -909,13 +1149,31 @@ class _$_WorkflowDocument implements _WorkflowDocument { other.fileStoreId == fileStoreId) && (identical(other.id, id) || other.id == id) && (identical(other.tenantId, tenantId) || - other.tenantId == tenantId)); + other.tenantId == tenantId) && + (identical(other.fileStore, fileStore) || + other.fileStore == fileStore) && + (identical(other.isActive, isActive) || + other.isActive == isActive) && + (identical(other.indexing, indexing) || + other.indexing == indexing) && + (identical(other.documentAdditionalDetails, + documentAdditionalDetails) || + other.documentAdditionalDetails == documentAdditionalDetails)); } @JsonKey(ignore: true) @override int get hashCode => Object.hash( - runtimeType, documentType, documentUid, fileStoreId, id, tenantId); + runtimeType, + documentType, + documentUid, + fileStoreId, + id, + tenantId, + fileStore, + isActive, + indexing, + documentAdditionalDetails); @JsonKey(ignore: true) @override @@ -933,11 +1191,17 @@ class _$_WorkflowDocument implements _WorkflowDocument { abstract class _WorkflowDocument implements WorkflowDocument { const factory _WorkflowDocument( - {final String? documentType, - final String? documentUid, - final String? fileStoreId, - final String? id, - final String? tenantId}) = _$_WorkflowDocument; + {final String? documentType, + final String? documentUid, + final String? fileStoreId, + final String? id, + final String? tenantId, + final String? fileStore, + final bool? isActive, + final int? indexing, + @JsonKey(name: 'additionalDetails') + final DocumentAdditionalDetails? documentAdditionalDetails}) = + _$_WorkflowDocument; factory _WorkflowDocument.fromJson(Map json) = _$_WorkflowDocument.fromJson; @@ -953,11 +1217,201 @@ abstract class _WorkflowDocument implements WorkflowDocument { @override String? get tenantId; @override + String? get fileStore; + @override + bool? get isActive; + @override + int? get indexing; + @override + @JsonKey(name: 'additionalDetails') + DocumentAdditionalDetails? get documentAdditionalDetails; + @override @JsonKey(ignore: true) _$$_WorkflowDocumentCopyWith<_$_WorkflowDocument> get copyWith => throw _privateConstructorUsedError; } +DocumentAdditionalDetails _$DocumentAdditionalDetailsFromJson( + Map json) { + return _DocumentAdditionalDetails.fromJson(json); +} + +/// @nodoc +mixin _$DocumentAdditionalDetails { + String? get fileName => throw _privateConstructorUsedError; + String? get fileType => throw _privateConstructorUsedError; + String? get tenantId => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $DocumentAdditionalDetailsCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $DocumentAdditionalDetailsCopyWith<$Res> { + factory $DocumentAdditionalDetailsCopyWith(DocumentAdditionalDetails value, + $Res Function(DocumentAdditionalDetails) then) = + _$DocumentAdditionalDetailsCopyWithImpl<$Res, DocumentAdditionalDetails>; + @useResult + $Res call({String? fileName, String? fileType, String? tenantId}); +} + +/// @nodoc +class _$DocumentAdditionalDetailsCopyWithImpl<$Res, + $Val extends DocumentAdditionalDetails> + implements $DocumentAdditionalDetailsCopyWith<$Res> { + _$DocumentAdditionalDetailsCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? fileName = freezed, + Object? fileType = freezed, + Object? tenantId = freezed, + }) { + return _then(_value.copyWith( + fileName: freezed == fileName + ? _value.fileName + : fileName // ignore: cast_nullable_to_non_nullable + as String?, + fileType: freezed == fileType + ? _value.fileType + : fileType // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_DocumentAdditionalDetailsCopyWith<$Res> + implements $DocumentAdditionalDetailsCopyWith<$Res> { + factory _$$_DocumentAdditionalDetailsCopyWith( + _$_DocumentAdditionalDetails value, + $Res Function(_$_DocumentAdditionalDetails) then) = + __$$_DocumentAdditionalDetailsCopyWithImpl<$Res>; + @override + @useResult + $Res call({String? fileName, String? fileType, String? tenantId}); +} + +/// @nodoc +class __$$_DocumentAdditionalDetailsCopyWithImpl<$Res> + extends _$DocumentAdditionalDetailsCopyWithImpl<$Res, + _$_DocumentAdditionalDetails> + implements _$$_DocumentAdditionalDetailsCopyWith<$Res> { + __$$_DocumentAdditionalDetailsCopyWithImpl( + _$_DocumentAdditionalDetails _value, + $Res Function(_$_DocumentAdditionalDetails) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? fileName = freezed, + Object? fileType = freezed, + Object? tenantId = freezed, + }) { + return _then(_$_DocumentAdditionalDetails( + fileName: freezed == fileName + ? _value.fileName + : fileName // ignore: cast_nullable_to_non_nullable + as String?, + fileType: freezed == fileType + ? _value.fileType + : fileType // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_DocumentAdditionalDetails implements _DocumentAdditionalDetails { + const _$_DocumentAdditionalDetails( + {this.fileName, this.fileType, this.tenantId}); + + factory _$_DocumentAdditionalDetails.fromJson(Map json) => + _$$_DocumentAdditionalDetailsFromJson(json); + + @override + final String? fileName; + @override + final String? fileType; + @override + final String? tenantId; + + @override + String toString() { + return 'DocumentAdditionalDetails(fileName: $fileName, fileType: $fileType, tenantId: $tenantId)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_DocumentAdditionalDetails && + (identical(other.fileName, fileName) || + other.fileName == fileName) && + (identical(other.fileType, fileType) || + other.fileType == fileType) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash(runtimeType, fileName, fileType, tenantId); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_DocumentAdditionalDetailsCopyWith<_$_DocumentAdditionalDetails> + get copyWith => __$$_DocumentAdditionalDetailsCopyWithImpl< + _$_DocumentAdditionalDetails>(this, _$identity); + + @override + Map toJson() { + return _$$_DocumentAdditionalDetailsToJson( + this, + ); + } +} + +abstract class _DocumentAdditionalDetails implements DocumentAdditionalDetails { + const factory _DocumentAdditionalDetails( + {final String? fileName, + final String? fileType, + final String? tenantId}) = _$_DocumentAdditionalDetails; + + factory _DocumentAdditionalDetails.fromJson(Map json) = + _$_DocumentAdditionalDetails.fromJson; + + @override + String? get fileName; + @override + String? get fileType; + @override + String? get tenantId; + @override + @JsonKey(ignore: true) + _$$_DocumentAdditionalDetailsCopyWith<_$_DocumentAdditionalDetails> + get copyWith => throw _privateConstructorUsedError; +} + Assignees _$AssigneesFromJson(Map json) { return _Assignees.fromJson(json); } @@ -1668,3 +2122,264 @@ abstract class _WorkflowActions implements WorkflowActions { _$$_WorkflowActionsCopyWith<_$_WorkflowActions> get copyWith => throw _privateConstructorUsedError; } + +Assigner _$AssignerFromJson(Map json) { + return _Assigner.fromJson(json); +} + +/// @nodoc +mixin _$Assigner { + String? get emailId => throw _privateConstructorUsedError; + int? get id => throw _privateConstructorUsedError; + String? get mobileNumber => throw _privateConstructorUsedError; + String? get name => throw _privateConstructorUsedError; + String? get tenantId => throw _privateConstructorUsedError; + String? get uuid => throw _privateConstructorUsedError; + String? get userName => throw _privateConstructorUsedError; + + Map toJson() => throw _privateConstructorUsedError; + @JsonKey(ignore: true) + $AssignerCopyWith get copyWith => + throw _privateConstructorUsedError; +} + +/// @nodoc +abstract class $AssignerCopyWith<$Res> { + factory $AssignerCopyWith(Assigner value, $Res Function(Assigner) then) = + _$AssignerCopyWithImpl<$Res, Assigner>; + @useResult + $Res call( + {String? emailId, + int? id, + String? mobileNumber, + String? name, + String? tenantId, + String? uuid, + String? userName}); +} + +/// @nodoc +class _$AssignerCopyWithImpl<$Res, $Val extends Assigner> + implements $AssignerCopyWith<$Res> { + _$AssignerCopyWithImpl(this._value, this._then); + + // ignore: unused_field + final $Val _value; + // ignore: unused_field + final $Res Function($Val) _then; + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? emailId = freezed, + Object? id = freezed, + Object? mobileNumber = freezed, + Object? name = freezed, + Object? tenantId = freezed, + Object? uuid = freezed, + Object? userName = freezed, + }) { + return _then(_value.copyWith( + emailId: freezed == emailId + ? _value.emailId + : emailId // ignore: cast_nullable_to_non_nullable + as String?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as int?, + mobileNumber: freezed == mobileNumber + ? _value.mobileNumber + : mobileNumber // ignore: cast_nullable_to_non_nullable + as String?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + uuid: freezed == uuid + ? _value.uuid + : uuid // ignore: cast_nullable_to_non_nullable + as String?, + userName: freezed == userName + ? _value.userName + : userName // ignore: cast_nullable_to_non_nullable + as String?, + ) as $Val); + } +} + +/// @nodoc +abstract class _$$_AssignerCopyWith<$Res> implements $AssignerCopyWith<$Res> { + factory _$$_AssignerCopyWith( + _$_Assigner value, $Res Function(_$_Assigner) then) = + __$$_AssignerCopyWithImpl<$Res>; + @override + @useResult + $Res call( + {String? emailId, + int? id, + String? mobileNumber, + String? name, + String? tenantId, + String? uuid, + String? userName}); +} + +/// @nodoc +class __$$_AssignerCopyWithImpl<$Res> + extends _$AssignerCopyWithImpl<$Res, _$_Assigner> + implements _$$_AssignerCopyWith<$Res> { + __$$_AssignerCopyWithImpl( + _$_Assigner _value, $Res Function(_$_Assigner) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? emailId = freezed, + Object? id = freezed, + Object? mobileNumber = freezed, + Object? name = freezed, + Object? tenantId = freezed, + Object? uuid = freezed, + Object? userName = freezed, + }) { + return _then(_$_Assigner( + emailId: freezed == emailId + ? _value.emailId + : emailId // ignore: cast_nullable_to_non_nullable + as String?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as int?, + mobileNumber: freezed == mobileNumber + ? _value.mobileNumber + : mobileNumber // ignore: cast_nullable_to_non_nullable + as String?, + name: freezed == name + ? _value.name + : name // ignore: cast_nullable_to_non_nullable + as String?, + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + uuid: freezed == uuid + ? _value.uuid + : uuid // ignore: cast_nullable_to_non_nullable + as String?, + userName: freezed == userName + ? _value.userName + : userName // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc +@JsonSerializable() +class _$_Assigner implements _Assigner { + const _$_Assigner( + {this.emailId, + this.id, + this.mobileNumber, + this.name, + this.tenantId, + this.uuid, + this.userName}); + + factory _$_Assigner.fromJson(Map json) => + _$$_AssignerFromJson(json); + + @override + final String? emailId; + @override + final int? id; + @override + final String? mobileNumber; + @override + final String? name; + @override + final String? tenantId; + @override + final String? uuid; + @override + final String? userName; + + @override + String toString() { + return 'Assigner(emailId: $emailId, id: $id, mobileNumber: $mobileNumber, name: $name, tenantId: $tenantId, uuid: $uuid, userName: $userName)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$_Assigner && + (identical(other.emailId, emailId) || other.emailId == emailId) && + (identical(other.id, id) || other.id == id) && + (identical(other.mobileNumber, mobileNumber) || + other.mobileNumber == mobileNumber) && + (identical(other.name, name) || other.name == name) && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.uuid, uuid) || other.uuid == uuid) && + (identical(other.userName, userName) || + other.userName == userName)); + } + + @JsonKey(ignore: true) + @override + int get hashCode => Object.hash( + runtimeType, emailId, id, mobileNumber, name, tenantId, uuid, userName); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$_AssignerCopyWith<_$_Assigner> get copyWith => + __$$_AssignerCopyWithImpl<_$_Assigner>(this, _$identity); + + @override + Map toJson() { + return _$$_AssignerToJson( + this, + ); + } +} + +abstract class _Assigner implements Assigner { + const factory _Assigner( + {final String? emailId, + final int? id, + final String? mobileNumber, + final String? name, + final String? tenantId, + final String? uuid, + final String? userName}) = _$_Assigner; + + factory _Assigner.fromJson(Map json) = _$_Assigner.fromJson; + + @override + String? get emailId; + @override + int? get id; + @override + String? get mobileNumber; + @override + String? get name; + @override + String? get tenantId; + @override + String? get uuid; + @override + String? get userName; + @override + @JsonKey(ignore: true) + _$$_AssignerCopyWith<_$_Assigner> get copyWith => + throw _privateConstructorUsedError; +} diff --git a/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.g.dart b/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.g.dart index 46e436b903..6649cea3c8 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.g.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.g.dart @@ -30,6 +30,9 @@ _$_ProcessInstances _$$_ProcessInstancesFromJson(Map json) => auditDetails: json['auditDetails'] == null ? null : AuditDetails.fromJson(json['auditDetails'] as Map), + assigner: json['assigner'] == null + ? null + : Assigner.fromJson(json['assigner'] as Map), assignes: (json['assignes'] as List?) ?.map((e) => Assignees.fromJson(e as Map)) .toList(), @@ -53,6 +56,7 @@ Map _$$_ProcessInstancesToJson(_$_ProcessInstances instance) => 'businessId': instance.businessId, 'action': instance.action, 'auditDetails': instance.auditDetails, + 'assigner': instance.assigner, 'assignes': instance.assignes, 'documents': instance.documents, 'comment': instance.comment, @@ -63,11 +67,22 @@ Map _$$_ProcessInstancesToJson(_$_ProcessInstances instance) => _$_NextActions _$$_NextActionsFromJson(Map json) => _$_NextActions( action: json['action'] as String?, + uuid: json['uuid'] as String?, + currentState: json['currentState'] as String?, + nextState: json['nextState'] as String?, + tenantId: json['tenantId'] as String?, + roles: + (json['roles'] as List?)?.map((e) => e as String).toList(), ); Map _$$_NextActionsToJson(_$_NextActions instance) => { 'action': instance.action, + 'uuid': instance.uuid, + 'currentState': instance.currentState, + 'nextState': instance.nextState, + 'tenantId': instance.tenantId, + 'roles': instance.roles, }; _$_WorkflowDocument _$$_WorkflowDocumentFromJson(Map json) => @@ -77,6 +92,13 @@ _$_WorkflowDocument _$$_WorkflowDocumentFromJson(Map json) => fileStoreId: json['fileStoreId'] as String?, id: json['id'] as String?, tenantId: json['tenantId'] as String?, + fileStore: json['fileStore'] as String?, + isActive: json['isActive'] as bool?, + indexing: json['indexing'] as int?, + documentAdditionalDetails: json['additionalDetails'] == null + ? null + : DocumentAdditionalDetails.fromJson( + json['additionalDetails'] as Map), ); Map _$$_WorkflowDocumentToJson(_$_WorkflowDocument instance) => @@ -86,6 +108,26 @@ Map _$$_WorkflowDocumentToJson(_$_WorkflowDocument instance) => 'fileStoreId': instance.fileStoreId, 'id': instance.id, 'tenantId': instance.tenantId, + 'fileStore': instance.fileStore, + 'isActive': instance.isActive, + 'indexing': instance.indexing, + 'additionalDetails': instance.documentAdditionalDetails, + }; + +_$_DocumentAdditionalDetails _$$_DocumentAdditionalDetailsFromJson( + Map json) => + _$_DocumentAdditionalDetails( + fileName: json['fileName'] as String?, + fileType: json['fileType'] as String?, + tenantId: json['tenantId'] as String?, + ); + +Map _$$_DocumentAdditionalDetailsToJson( + _$_DocumentAdditionalDetails instance) => + { + 'fileName': instance.fileName, + 'fileType': instance.fileType, + 'tenantId': instance.tenantId, }; _$_Assignees _$$_AssigneesFromJson(Map json) => _$_Assignees( @@ -145,3 +187,24 @@ Map _$$_WorkflowActionsToJson(_$_WorkflowActions instance) => { 'roles': instance.roles, }; + +_$_Assigner _$$_AssignerFromJson(Map json) => _$_Assigner( + emailId: json['emailId'] as String?, + id: json['id'] as int?, + mobileNumber: json['mobileNumber'] as String?, + name: json['name'] as String?, + tenantId: json['tenantId'] as String?, + uuid: json['uuid'] as String?, + userName: json['userName'] as String?, + ); + +Map _$$_AssignerToJson(_$_Assigner instance) => + { + 'emailId': instance.emailId, + 'id': instance.id, + 'mobileNumber': instance.mobileNumber, + 'name': instance.name, + 'tenantId': instance.tenantId, + 'uuid': instance.uuid, + 'userName': instance.userName, + }; diff --git a/frontend/works_shg_app/lib/models/skills/skills.dart b/frontend/works_shg_app/lib/models/skills/skills.dart index d0d82e78e4..a171fe3555 100644 --- a/frontend/works_shg_app/lib/models/skills/skills.dart +++ b/frontend/works_shg_app/lib/models/skills/skills.dart @@ -6,7 +6,7 @@ part 'skills.g.dart'; @freezed class SkillsList with _$SkillsList { const factory SkillsList({ - @JsonKey(name: 'WageSeekerSkills') List? wageSeekerSkills, + @JsonKey(name: 'SOR') List? wageSeekerSkills, }) = _SkillsList; factory SkillsList.fromJson( @@ -17,12 +17,14 @@ class SkillsList with _$SkillsList { @freezed class WageSeekerSkills with _$WageSeekerSkills { - const factory WageSeekerSkills({ - required String code, + const factory WageSeekerSkills( + String? code, int? amount, - required bool active, - }) = _WageSeekerSkills; + bool? active, + String? description, + String? id, + ) = _WageSeekerSkills; factory WageSeekerSkills.fromJson(Map json) => _$WageSeekerSkillsFromJson(json); -} +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/models/skills/skills.freezed.dart b/frontend/works_shg_app/lib/models/skills/skills.freezed.dart index 476b7ebd0e..9257538503 100644 --- a/frontend/works_shg_app/lib/models/skills/skills.freezed.dart +++ b/frontend/works_shg_app/lib/models/skills/skills.freezed.dart @@ -20,7 +20,7 @@ SkillsList _$SkillsListFromJson(Map json) { /// @nodoc mixin _$SkillsList { - @JsonKey(name: 'WageSeekerSkills') + @JsonKey(name: 'SOR') List? get wageSeekerSkills => throw _privateConstructorUsedError; @@ -36,9 +36,7 @@ abstract class $SkillsListCopyWith<$Res> { SkillsList value, $Res Function(SkillsList) then) = _$SkillsListCopyWithImpl<$Res, SkillsList>; @useResult - $Res call( - {@JsonKey(name: 'WageSeekerSkills') - List? wageSeekerSkills}); + $Res call({@JsonKey(name: 'SOR') List? wageSeekerSkills}); } /// @nodoc @@ -73,9 +71,7 @@ abstract class _$$_SkillsListCopyWith<$Res> __$$_SkillsListCopyWithImpl<$Res>; @override @useResult - $Res call( - {@JsonKey(name: 'WageSeekerSkills') - List? wageSeekerSkills}); + $Res call({@JsonKey(name: 'SOR') List? wageSeekerSkills}); } /// @nodoc @@ -104,8 +100,7 @@ class __$$_SkillsListCopyWithImpl<$Res> @JsonSerializable() class _$_SkillsList implements _SkillsList { const _$_SkillsList( - {@JsonKey(name: 'WageSeekerSkills') - final List? wageSeekerSkills}) + {@JsonKey(name: 'SOR') final List? wageSeekerSkills}) : _wageSeekerSkills = wageSeekerSkills; factory _$_SkillsList.fromJson(Map json) => @@ -113,7 +108,7 @@ class _$_SkillsList implements _SkillsList { final List? _wageSeekerSkills; @override - @JsonKey(name: 'WageSeekerSkills') + @JsonKey(name: 'SOR') List? get wageSeekerSkills { final value = _wageSeekerSkills; if (value == null) return null; @@ -158,14 +153,14 @@ class _$_SkillsList implements _SkillsList { abstract class _SkillsList implements SkillsList { const factory _SkillsList( - {@JsonKey(name: 'WageSeekerSkills') + {@JsonKey(name: 'SOR') final List? wageSeekerSkills}) = _$_SkillsList; factory _SkillsList.fromJson(Map json) = _$_SkillsList.fromJson; @override - @JsonKey(name: 'WageSeekerSkills') + @JsonKey(name: 'SOR') List? get wageSeekerSkills; @override @JsonKey(ignore: true) @@ -179,9 +174,11 @@ WageSeekerSkills _$WageSeekerSkillsFromJson(Map json) { /// @nodoc mixin _$WageSeekerSkills { - String get code => throw _privateConstructorUsedError; + String? get code => throw _privateConstructorUsedError; int? get amount => throw _privateConstructorUsedError; - bool get active => throw _privateConstructorUsedError; + bool? get active => throw _privateConstructorUsedError; + String? get description => throw _privateConstructorUsedError; + String? get id => throw _privateConstructorUsedError; Map toJson() => throw _privateConstructorUsedError; @JsonKey(ignore: true) @@ -195,7 +192,12 @@ abstract class $WageSeekerSkillsCopyWith<$Res> { WageSeekerSkills value, $Res Function(WageSeekerSkills) then) = _$WageSeekerSkillsCopyWithImpl<$Res, WageSeekerSkills>; @useResult - $Res call({String code, int? amount, bool active}); + $Res call( + {String? code, + int? amount, + bool? active, + String? description, + String? id}); } /// @nodoc @@ -211,23 +213,33 @@ class _$WageSeekerSkillsCopyWithImpl<$Res, $Val extends WageSeekerSkills> @pragma('vm:prefer-inline') @override $Res call({ - Object? code = null, + Object? code = freezed, Object? amount = freezed, - Object? active = null, + Object? active = freezed, + Object? description = freezed, + Object? id = freezed, }) { return _then(_value.copyWith( - code: null == code + code: freezed == code ? _value.code : code // ignore: cast_nullable_to_non_nullable - as String, + as String?, amount: freezed == amount ? _value.amount : amount // ignore: cast_nullable_to_non_nullable as int?, - active: null == active + active: freezed == active ? _value.active : active // ignore: cast_nullable_to_non_nullable - as bool, + as bool?, + description: freezed == description + ? _value.description + : description // ignore: cast_nullable_to_non_nullable + as String?, + id: freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, ) as $Val); } } @@ -240,7 +252,12 @@ abstract class _$$_WageSeekerSkillsCopyWith<$Res> __$$_WageSeekerSkillsCopyWithImpl<$Res>; @override @useResult - $Res call({String code, int? amount, bool active}); + $Res call( + {String? code, + int? amount, + bool? active, + String? description, + String? id}); } /// @nodoc @@ -254,23 +271,33 @@ class __$$_WageSeekerSkillsCopyWithImpl<$Res> @pragma('vm:prefer-inline') @override $Res call({ - Object? code = null, + Object? code = freezed, Object? amount = freezed, - Object? active = null, + Object? active = freezed, + Object? description = freezed, + Object? id = freezed, }) { return _then(_$_WageSeekerSkills( - code: null == code + freezed == code ? _value.code : code // ignore: cast_nullable_to_non_nullable - as String, - amount: freezed == amount + as String?, + freezed == amount ? _value.amount : amount // ignore: cast_nullable_to_non_nullable as int?, - active: null == active + freezed == active ? _value.active : active // ignore: cast_nullable_to_non_nullable - as bool, + as bool?, + freezed == description + ? _value.description + : description // ignore: cast_nullable_to_non_nullable + as String?, + freezed == id + ? _value.id + : id // ignore: cast_nullable_to_non_nullable + as String?, )); } } @@ -279,21 +306,25 @@ class __$$_WageSeekerSkillsCopyWithImpl<$Res> @JsonSerializable() class _$_WageSeekerSkills implements _WageSeekerSkills { const _$_WageSeekerSkills( - {required this.code, this.amount, required this.active}); + this.code, this.amount, this.active, this.description, this.id); factory _$_WageSeekerSkills.fromJson(Map json) => _$$_WageSeekerSkillsFromJson(json); @override - final String code; + final String? code; @override final int? amount; @override - final bool active; + final bool? active; + @override + final String? description; + @override + final String? id; @override String toString() { - return 'WageSeekerSkills(code: $code, amount: $amount, active: $active)'; + return 'WageSeekerSkills(code: $code, amount: $amount, active: $active, description: $description, id: $id)'; } @override @@ -303,12 +334,16 @@ class _$_WageSeekerSkills implements _WageSeekerSkills { other is _$_WageSeekerSkills && (identical(other.code, code) || other.code == code) && (identical(other.amount, amount) || other.amount == amount) && - (identical(other.active, active) || other.active == active)); + (identical(other.active, active) || other.active == active) && + (identical(other.description, description) || + other.description == description) && + (identical(other.id, id) || other.id == id)); } @JsonKey(ignore: true) @override - int get hashCode => Object.hash(runtimeType, code, amount, active); + int get hashCode => + Object.hash(runtimeType, code, amount, active, description, id); @JsonKey(ignore: true) @override @@ -326,19 +361,25 @@ class _$_WageSeekerSkills implements _WageSeekerSkills { abstract class _WageSeekerSkills implements WageSeekerSkills { const factory _WageSeekerSkills( - {required final String code, + final String? code, final int? amount, - required final bool active}) = _$_WageSeekerSkills; + final bool? active, + final String? description, + final String? id) = _$_WageSeekerSkills; factory _WageSeekerSkills.fromJson(Map json) = _$_WageSeekerSkills.fromJson; @override - String get code; + String? get code; @override int? get amount; @override - bool get active; + bool? get active; + @override + String? get description; + @override + String? get id; @override @JsonKey(ignore: true) _$$_WageSeekerSkillsCopyWith<_$_WageSeekerSkills> get copyWith => diff --git a/frontend/works_shg_app/lib/models/skills/skills.g.dart b/frontend/works_shg_app/lib/models/skills/skills.g.dart index 9c662b4ebd..de23248b61 100644 --- a/frontend/works_shg_app/lib/models/skills/skills.g.dart +++ b/frontend/works_shg_app/lib/models/skills/skills.g.dart @@ -8,21 +8,23 @@ part of 'skills.dart'; _$_SkillsList _$$_SkillsListFromJson(Map json) => _$_SkillsList( - wageSeekerSkills: (json['WageSeekerSkills'] as List?) + wageSeekerSkills: (json['SOR'] as List?) ?.map((e) => WageSeekerSkills.fromJson(e as Map)) .toList(), ); Map _$$_SkillsListToJson(_$_SkillsList instance) => { - 'WageSeekerSkills': instance.wageSeekerSkills, + 'SOR': instance.wageSeekerSkills, }; _$_WageSeekerSkills _$$_WageSeekerSkillsFromJson(Map json) => _$_WageSeekerSkills( - code: json['code'] as String, - amount: json['amount'] as int?, - active: json['active'] as bool, + json['code'] as String?, + json['amount'] as int?, + json['active'] as bool?, + json['description'] as String?, + json['id'] as String?, ); Map _$$_WageSeekerSkillsToJson(_$_WageSeekerSkills instance) => @@ -30,4 +32,6 @@ Map _$$_WageSeekerSkillsToJson(_$_WageSeekerSkills instance) => 'code': instance.code, 'amount': instance.amount, 'active': instance.active, + 'description': instance.description, + 'id': instance.id, }; diff --git a/frontend/works_shg_app/lib/models/wage_seeker/individual_details_model.dart b/frontend/works_shg_app/lib/models/wage_seeker/individual_details_model.dart index f58bad3c4e..c7dd51770d 100644 --- a/frontend/works_shg_app/lib/models/wage_seeker/individual_details_model.dart +++ b/frontend/works_shg_app/lib/models/wage_seeker/individual_details_model.dart @@ -2,6 +2,7 @@ import 'dart:io'; import 'dart:typed_data'; import 'package:dart_mappable/dart_mappable.dart'; +import 'package:works_shg_app/models/adharModel/adhar_response.dart'; part 'individual_details_model.mapper.dart'; @@ -18,17 +19,27 @@ class IndividualDetails with IndividualDetailsMappable { final File? imageFile; final Uint8List? bytes; final String? photo; + final String? documentType; - IndividualDetails( - {this.aadhaarNo, - this.name, - this.fatherName, - this.relationship, - this.dateOfBirth, - this.gender, - this.socialCategory, - this.mobileNumber, - this.imageFile, - this.bytes, - this.photo}); + final bool? adharVerified; + final int? timeStamp; + final AdharCardResponse? adharCardResponse; + + IndividualDetails({ + this.aadhaarNo, + this.name, + this.fatherName, + this.relationship, + this.dateOfBirth, + this.gender, + this.socialCategory, + this.mobileNumber, + this.imageFile, + this.bytes, + this.photo, + this.adharVerified, + this.documentType, + this.timeStamp, + this.adharCardResponse + }); } diff --git a/frontend/works_shg_app/lib/models/wage_seeker/individual_details_model.mapper.dart b/frontend/works_shg_app/lib/models/wage_seeker/individual_details_model.mapper.dart index d8e7d44acd..dcf375bfa8 100644 --- a/frontend/works_shg_app/lib/models/wage_seeker/individual_details_model.mapper.dart +++ b/frontend/works_shg_app/lib/models/wage_seeker/individual_details_model.mapper.dart @@ -41,7 +41,11 @@ class IndividualDetailsMapperElement mobileNumber: container.$getOpt(map, 'mobileNumber'), imageFile: container.$getOpt(map, 'imageFile'), bytes: container.$getOpt(map, 'bytes'), - photo: container.$getOpt(map, 'photo')); + photo: container.$getOpt(map, 'photo'), + adharVerified: container.$getOpt(map, 'adharVerified'), + documentType: container.$getOpt(map, 'documentType'), + timeStamp: container.$getOpt(map, 'timeStamp'), + adharCardResponse: container.$getOpt(map, 'adharCardResponse')); @override Function get encoder => encode; @@ -57,12 +61,17 @@ class IndividualDetailsMapperElement 'mobileNumber': container.$enc(i.mobileNumber, 'mobileNumber'), 'imageFile': container.$enc(i.imageFile, 'imageFile'), 'bytes': container.$enc(i.bytes, 'bytes'), - 'photo': container.$enc(i.photo, 'photo') + 'photo': container.$enc(i.photo, 'photo'), + 'adharVerified': container.$enc(i.adharVerified, 'adharVerified'), + 'documentType': container.$enc(i.documentType, 'documentType'), + 'timeStamp': container.$enc(i.timeStamp, 'timeStamp'), + 'adharCardResponse': + container.$enc(i.adharCardResponse, 'adharCardResponse') }; @override String stringify(IndividualDetails self) => - 'IndividualDetails(aadhaarNo: ${container.asString(self.aadhaarNo)}, name: ${container.asString(self.name)}, fatherName: ${container.asString(self.fatherName)}, relationship: ${container.asString(self.relationship)}, dateOfBirth: ${container.asString(self.dateOfBirth)}, gender: ${container.asString(self.gender)}, socialCategory: ${container.asString(self.socialCategory)}, mobileNumber: ${container.asString(self.mobileNumber)}, imageFile: ${container.asString(self.imageFile)}, bytes: ${container.asString(self.bytes)}, photo: ${container.asString(self.photo)})'; + 'IndividualDetails(aadhaarNo: ${container.asString(self.aadhaarNo)}, name: ${container.asString(self.name)}, fatherName: ${container.asString(self.fatherName)}, relationship: ${container.asString(self.relationship)}, dateOfBirth: ${container.asString(self.dateOfBirth)}, gender: ${container.asString(self.gender)}, socialCategory: ${container.asString(self.socialCategory)}, mobileNumber: ${container.asString(self.mobileNumber)}, imageFile: ${container.asString(self.imageFile)}, bytes: ${container.asString(self.bytes)}, photo: ${container.asString(self.photo)}, documentType: ${container.asString(self.documentType)}, adharVerified: ${container.asString(self.adharVerified)}, timeStamp: ${container.asString(self.timeStamp)}, adharCardResponse: ${container.asString(self.adharCardResponse)})'; @override int hash(IndividualDetails self) => container.hash(self.aadhaarNo) ^ @@ -75,7 +84,11 @@ class IndividualDetailsMapperElement container.hash(self.mobileNumber) ^ container.hash(self.imageFile) ^ container.hash(self.bytes) ^ - container.hash(self.photo); + container.hash(self.photo) ^ + container.hash(self.documentType) ^ + container.hash(self.adharVerified) ^ + container.hash(self.timeStamp) ^ + container.hash(self.adharCardResponse); @override bool equals(IndividualDetails self, IndividualDetails other) => container.isEqual(self.aadhaarNo, other.aadhaarNo) && @@ -88,7 +101,11 @@ class IndividualDetailsMapperElement container.isEqual(self.mobileNumber, other.mobileNumber) && container.isEqual(self.imageFile, other.imageFile) && container.isEqual(self.bytes, other.bytes) && - container.isEqual(self.photo, other.photo); + container.isEqual(self.photo, other.photo) && + container.isEqual(self.documentType, other.documentType) && + container.isEqual(self.adharVerified, other.adharVerified) && + container.isEqual(self.timeStamp, other.timeStamp) && + container.isEqual(self.adharCardResponse, other.adharCardResponse); } mixin IndividualDetailsMappable { @@ -136,7 +153,11 @@ abstract class IndividualDetailsCopyWith<$R, $In extends IndividualDetails, String? mobileNumber, File? imageFile, Uint8List? bytes, - String? photo}); + String? photo, + bool? adharVerified, + String? documentType, + int? timeStamp, + AdharCardResponse? adharCardResponse}); } class _IndividualDetailsCopyWithImpl<$R, $Out extends IndividualDetails> @@ -161,7 +182,11 @@ class _IndividualDetailsCopyWithImpl<$R, $Out extends IndividualDetails> Object? mobileNumber = $none, Object? imageFile = $none, Object? bytes = $none, - Object? photo = $none}) => + Object? photo = $none, + Object? adharVerified = $none, + Object? documentType = $none, + Object? timeStamp = $none, + Object? adharCardResponse = $none}) => $then(IndividualDetails( aadhaarNo: or(aadhaarNo, $value.aadhaarNo), name: or(name, $value.name), @@ -173,5 +198,9 @@ class _IndividualDetailsCopyWithImpl<$R, $Out extends IndividualDetails> mobileNumber: or(mobileNumber, $value.mobileNumber), imageFile: or(imageFile, $value.imageFile), bytes: or(bytes, $value.bytes), - photo: or(photo, $value.photo))); + photo: or(photo, $value.photo), + adharVerified: or(adharVerified, $value.adharVerified), + documentType: or(documentType, $value.documentType), + timeStamp: or(timeStamp, $value.timeStamp), + adharCardResponse: or(adharCardResponse, $value.adharCardResponse))); } diff --git a/frontend/works_shg_app/lib/pages/attendance_register_table.dart b/frontend/works_shg_app/lib/pages/attendance_register_table.dart index 6df442a2e7..f3990730d0 100644 --- a/frontend/works_shg_app/lib/pages/attendance_register_table.dart +++ b/frontend/works_shg_app/lib/pages/attendance_register_table.dart @@ -409,7 +409,7 @@ class _AttendanceRegisterTablePage extends State { "skill": AppLocalizations.of( context) .translate( - 'COMMON_MASTERS_SKILLS_${e.businessObject?.skills!.first.level?.toUpperCase()}.${e.businessObject?.skills!.first.type?.toUpperCase()}'), + 'COMMON_MASTERS_SKILLS_${e.businessObject?.skills!.first.level?.toUpperCase()}'), "individualId": e.businessObject?.id, "uuid": e.businessObject?.id, diff --git a/frontend/works_shg_app/lib/pages/authenticated.dart b/frontend/works_shg_app/lib/pages/authenticated.dart index dae544ad3b..150bb4d24d 100644 --- a/frontend/works_shg_app/lib/pages/authenticated.dart +++ b/frontend/works_shg_app/lib/pages/authenticated.dart @@ -1,6 +1,7 @@ import 'package:auto_route/auto_route.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/blocs/organisation/org_search_bloc.dart'; import 'package:works_shg_app/utils/global_variables.dart'; @@ -39,7 +40,9 @@ class _AuthenticatedPageWrapper extends State { context .read() .add(LocalizationEvent.onSpecificLoadLocalization( - module: 'rainmaker-attendencemgmt', + module: GlobalVariables.roleType==RoleType.employee? + 'rainmaker-contracts,rainmaker-attendencemgmt,rainmaker-measurement,rainmaker-workflow' + :'rainmaker-contracts,rainmaker-attendencemgmt,rainmaker-workflow', tenantId: GlobalVariables .globalConfigObject!.globalConfigs!.stateTenantId .toString(), @@ -49,11 +52,13 @@ class _AuthenticatedPageWrapper extends State { // ignore: use_build_context_synchronously context .read() - .add(SearchORGEvent(GlobalVariables.userRequestModel!['mobileNumber'])); + .add( + SearchORGEvent(GlobalVariables.userRequestModel!['mobileNumber']) + ); } @override Widget build(BuildContext context) { return const AutoRouter(); } -} +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart new file mode 100644 index 0000000000..2bd7e923f0 --- /dev/null +++ b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart @@ -0,0 +1,663 @@ +import 'dart:convert'; + +import 'package:digit_components/digit_components.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:reactive_forms/reactive_forms.dart'; +import 'package:works_shg_app/blocs/employee/emp_hrms/emp_hrms.dart'; +import 'package:works_shg_app/blocs/employee/mb/mb_crud.dart'; +import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/models/employee/mb/mb_detail_response.dart'; +import 'package:works_shg_app/models/muster_rolls/business_service_workflow.dart'; +import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; +import 'package:works_shg_app/utils/models/file_picker_data.dart'; +import 'package:works_shg_app/utils/notifiers.dart'; +import 'package:works_shg_app/widgets/mb/multi_image.dart'; +import 'package:works_shg_app/widgets/molecules/file_picker.dart'; + +import '../../blocs/employee/mb/mb_detail_view.dart'; +import '../../blocs/muster_rolls/get_muster_workflow.dart'; +import '../../models/employee/mb/role_based_hrms.dart'; +import '../../models/file_store/file_store_model.dart'; +import '../../models/muster_rolls/muster_workflow_model.dart'; +import '../../utils/common_methods.dart'; +import '../../utils/employee/mb/mb_logic.dart'; +import '../../widgets/SideBar.dart'; +import '../../widgets/atoms/app_bar_logo.dart'; +import '../../widgets/drawer_wrapper.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +class MBTypeConfirmationPage extends StatefulWidget { + final NextActions? nextActions; + final String? contractNumber; + final String? mbNumber; + final MBScreen type; + final StateActions? stateActions; + const MBTypeConfirmationPage({ + super.key, + required this.nextActions, + this.contractNumber, + this.mbNumber, + required this.type, + this.stateActions, + }); + + @override + State createState() => _MBTypeConfirmationPageState(); +} + +class _MBTypeConfirmationPageState extends State { + List? photo; + List supportDocument = []; + HRMSEmployee? selectedAssignee; + var comment = TextEditingController(); + + @override + void initState() { + FilePickerData.imageFile = null; + FilePickerData.bytes = null; + + super.initState(); + } + + @override + void dispose() { + comment.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + var t = AppLocalizations.of(context); + return BlocListener( + listener: (context, state) { + state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) { + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route is! PopupRoute, + ); + // Navigator.of(context).popUntil((route) => route is HomeRoute); + context.read().add( + //hard coded + FetchMBWorkFlowEvent( + tenantId: GlobalVariables.tenantId!, + mbNumber: widget.mbNumber!), + ); + if (widget.type == MBScreen.update) { + context.read().add( + MeasurementDetailBookBlocEvent( + contractNumber: widget.contractNumber!, + measurementNumber: widget.mbNumber!, + tenantId: '', + screenType: widget.type, + ), + ); + Navigator.of(context).pop(); + } else { + context.read().add( + MeasurementDetailBookBlocEvent( + contractNumber: widget.contractNumber!, + measurementNumber: + value.measurement?.measurementNumber ?? '', + tenantId: '', + screenType: MBScreen.update, + ), + ); + if (value.measurement!.wfStatus == "SUBMITTED") { + context.router.popUntilRouteWithPath('home'); + } else { + Navigator.of(context).pop(); + Navigator.of(context).pop(); + + context.router.push(MBDetailRoute( + contractNumber: widget.contractNumber!, + mbNumber: value.measurement?.measurementNumber ?? '', + tenantId: GlobalVariables.tenantId, + type: MBScreen.update, + )); + } + } + }, + loading: (value) { + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route is! PopupRoute, + ); + Loaders.showLoadingDialog(context); + }, + error: (value) { + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route is! PopupRoute, + ); + Notifiers.getToastMessage( + context, + // AppLocalizations.of(context) + // .translate(i18.login.invalidOTP), + + value.error.toString(), + 'ERROR', + ); + }, + ); + }, + child: Scaffold( + backgroundColor: const DigitColors().white, + appBar: AppBar( + titleSpacing: 0, + title: const AppBarLogo(), + ), + drawer: DrawerWrapper( + Drawer( + child: SideBar( + module: CommonMethods.getLocaleModules(), + ), + ), + ), + body: BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) { + if (widget.type == MBScreen.update) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: ScrollableContent( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + footer: Padding( + padding: const EdgeInsets.symmetric(horizontal: 8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + flex: 2, + child: DigitOutLineButton( + label: + t.translate(i18.measurementBook.mbCancel), + onPressed: () { + context.router.pop(); + }, + ), + ), + Expanded( + flex: 2, + child: DigitElevatedButton( + child: Text( + widget.nextActions!.action == "EDIT/RE-SUBMIT" + ? "Forward" + : t.translate( + "WF_MODAL_SUBMIT_MB_${widget.nextActions!.action!}"), + ), + onPressed: () { + if (widget.nextActions!.action == "REJECT" && + comment.text == "") { + Notifiers.getToastMessage( + context, + // AppLocalizations.of(context) + // .translate(i18.login.invalidOTP), + + t.translate( + i18.common.allFieldsMandatory), + 'ERROR', + ); + } else { + List> sorList = [ + value.sor!, + value.nonSor! + ]; + MBDetailResponse kkk = + MBLogic.getMbPayloadUpdate( + data: value.data, + sorList: sorList, + workFlow: WorkFlow( + action: widget.nextActions!.action, + comment: comment.text, + assignees:selectedAssignee!=null? selectedAssignee?.uuid!=null? [ + selectedAssignee!.uuid! + ]:null:null, + documents: supportDocument, + ), + type: widget.type, + ); + + context.read().add( + MeasurementUpdateBlocEvent( + measurement: kkk.measurement!, + tenantId: '', + workFlow: WorkFlow( + action: + widget.nextActions!.action, + comment: comment.text, + assignees: selectedAssignee!=null? selectedAssignee?.uuid!=null? [ + selectedAssignee!.uuid! + ]:null:null, + documents: supportDocument, + ), + type: widget.type, + ), + ); + // Navigator.of(context) + // .popUntil((route) => route is HomeRoute); + // context.router.push(const HomeRoute()); + } + }, + ), + ) + ], + ), + ), + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + IconButton( + onPressed: () { + context.router.pop(); + }, + icon: const Icon(Icons.close)), + ], + ), + Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(left: 0.0), + child: Text( + widget.nextActions!.action == "EDIT/RE-SUBMIT" + ? t.translate("WORKS_UPDATE_AND_FORWARD") + : t.translate( + "WF_MB_ACTION_${widget.nextActions!.action}"), + style: DigitTheme.instance.mobileTheme.textTheme + .headlineLarge, + ), + ), + ], + ), + (widget.nextActions!.action == "EDIT/RE-SUBMIT" || + widget.nextActions!.action == + "VERIFY_AND_FORWARD" || + widget.nextActions!.action == "SUBMIT" || + widget.nextActions!.action == + "SEND_BACK_TO_ORIGINATOR") + ? BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) { + // HRMSEmployee selectedAssignee = HRMSEmployee( + // id: value.hrmsEmployee!.first.id, + // uuid: value.hrmsEmployee!.first.uuid, + // code: value.hrmsEmployee!.first.code, + // isActive: value.hrmsEmployee!.first.isActive, + // dateOfAppointment: + // value.hrmsEmployee!.first.dateOfAppointment, + // employeeType: + // value.hrmsEmployee!.first.employeeType, + // ); + + // selectedAssignee=selectedAssignee; + if (value.hrmsEmployee != null && + value.hrmsEmployee!.isNotEmpty) { + return DigitDropdown( + onChanged: (value) { + setState(() { + selectedAssignee = value!; + }); + }, + value: selectedAssignee, + label: + t.translate("WF_MODAL_APPROVER"), + menuItems: value.hrmsEmployee! + .map((e) => e) + .toList(), + valueMapper: (value) { + if (value + .employeeUser!=null) { + return t.translate(value + .employeeUser!.name + .toString()); + } else { + return t.translate( + value.code.toString()); + } + + + }, + ); + } else { + return const SizedBox.shrink(); + } + }, + error: (value) { + return const SizedBox.shrink(); + }, + ); + }, + ) + : const SizedBox.shrink(), + DigitTextField( + label: + "${t.translate("WF_MODAL_COMMENTS")}${widget.nextActions!.action == "REJECT" ? "*" : ""}", + maxLines: 6, + controller: comment, + isRequired: widget.nextActions!.action == "REJECT" + ? true + : false, + ), + // SizedBox( + // height: 300, + // child: SHGFilePicker( + // callBack: (List? fileStore) { + // if (fileStore != null && fileStore.isNotEmpty) { + // // setState(() { + // photo = fileStore! + // .map((e) => e.fileStoreId!) + // .toList(); + // // }); + // } else { + // setState(() { + // photo = []; + // }); + // } + // }, + // extensions: const ['jpg', 'png', 'jpeg'], + // moduleName: 'works', + // label: t.translate("CLICK_TO_ADD_PHOTO"), + // ), + // ), + widget.nextActions!.action != "EDIT/RE-SUBMIT" && + widget.nextActions!.action != "SUBMIT" + ? SizedBox( + width: MediaQuery.sizeOf(context).width, + height: 300, + child: Column( + children: [ + FilePickerDemo( + callBack: (List? g, + List? l) { + final supportDocumentData = l! + .where((element) => + element.isActive == true) + .toList() + .map( + (e) { + return WorkFlowSupportDocument( + documentType: e.documentType, + documentUid: e.fileStore, + fileName: e + .documentAdditionalDetails + ?.fileName, + fileStoreId: e.fileStore, + tenantId: e.tenantId, + ); + }, + ).toList(); + supportDocument.clear(); + supportDocument + .addAll(supportDocumentData); + setState(() {}); + print(supportDocument); + }, + extensions: const [ + 'jpg', + 'png', + 'jpeg', + 'pdf', + 'xls', + 'doc' + ], + moduleName: 'works', + headerType: MediaType.mbConfim, + ), + Container( + padding: const EdgeInsets.all(4), + // color: DigitColors().curiousBlue, + child: Text( + t.translate(i18.common.photoInfo)), + ), + ], + ), + ) + : const SizedBox.shrink(), + ], + ), + ); + } else { + return Padding( + padding: const EdgeInsets.all(8.0), + child: ScrollableContent( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + footer: Padding( + padding: const EdgeInsets.symmetric(horizontal: 8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + flex: 2, + child: DigitOutLineButton( + label: + t.translate(i18.measurementBook.mbCancel), + onPressed: () { + context.router.pop(); + }, + ), + ), + Expanded( + flex: 2, + child: DigitElevatedButton( + child: Text( + widget.stateActions!.action == "SUBMIT" + ? t.translate( + i18.measurementBook.mbSubmitLabel) + : t.translate( + "WF_MODAL_SUBMIT_MB_${widget.stateActions!.action}"), + ), + onPressed: () { + List> sorList = [ + value.sor!, + value.nonSor! + ]; + MBDetailResponse kkk = + MBLogic.getMbPayloadUpdate( + data: value.data, + sorList: sorList, + workFlow: WorkFlow( + action: widget.stateActions!.action == + "CREATE" + ? "SUBMIT" + : widget.stateActions!.action, + comment: comment.text, + assignees:selectedAssignee!=null? selectedAssignee?.uuid!=null? [ + selectedAssignee!.uuid! + ]:null:null, + documents: supportDocument, + ), + type: widget.type, + ); + + context.read().add( + MeasurementUpdateBlocEvent( + measurement: kkk.measurement!, + tenantId: '', + workFlow: WorkFlow( + action: widget + .stateActions!.action == + "CREATE" + ? "SUBMIT" + : widget.stateActions!.action, + comment: comment.text, + assignees: selectedAssignee!=null? selectedAssignee?.uuid!=null? [ + selectedAssignee!.uuid! + ]:null:null, + documents: supportDocument, + ), + type: widget.type, + ), + ); + // Navigator.of(context) + // .popUntil((route) => route is HomeRoute); + // context.router.push(const HomeRoute()); + }, + ), + ) + ], + ), + ), + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + IconButton( + onPressed: () { + context.router.pop(); + }, + icon: const Icon(Icons.close)), + ], + ), + Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(left: 0.0), + child: Text( + widget.stateActions!.action == "SUBMIT" + ? t.translate( + i18.measurementBook.mbcreateLabel) + : t.translate( + "WF_MB_ACTION_${widget.stateActions!.action}"), + style: DigitTheme.instance.mobileTheme.textTheme + .headlineLarge, + ), + ), + ], + ), + (widget.stateActions!.action == "SUBMIT") + ? BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) { + if (value.hrmsEmployee != null && + value.hrmsEmployee!.isNotEmpty) { + return DigitDropdown( + onChanged: (value) { + setState(() { + selectedAssignee = value!; + }); + }, + value: selectedAssignee, + label: + t.translate("WF_MODAL_APPROVER"), + menuItems: value.hrmsEmployee! + .map((e) => e) + .toList(), + valueMapper: (value) { + if (value.employeeUser != null) { + return t.translate(value + .employeeUser!.name + .toString()); + } else { + return t.translate( + value.code.toString()); + } + + // return value.toString(); + }, + ); + } else { + return const SizedBox.shrink(); + } + }, + error: (value) { + return const SizedBox.shrink(); + }, + ); + }, + ) + : const SizedBox.shrink(), + DigitTextField( + label: t.translate("WF_MODAL_COMMENTS"), + maxLines: 6, + controller: comment, + ), + widget.stateActions!.action != null + ? SizedBox( + width: MediaQuery.sizeOf(context).width, + height: 300, + child: Column( + children: [ + FilePickerDemo( + callBack: (List? g, + List? l) { + final supportDocumentData = l! + .where((element) => + element.isActive == true) + .toList() + .map( + (e) { + return WorkFlowSupportDocument( + documentType: e.documentType, + documentUid: e.fileStore, + fileName: e + .documentAdditionalDetails + ?.fileName, + fileStoreId: e.fileStore, + tenantId: e.tenantId, + ); + }, + ).toList(); + supportDocument.clear(); + supportDocument + .addAll(supportDocumentData); + setState(() {}); + }, + extensions: const [ + 'jpg', + 'png', + 'jpeg', + 'pdf', + 'xls', + 'doc' + ], + moduleName: 'works', + headerType: MediaType.mbConfim, + ), + Container( + padding: const EdgeInsets.all(4), + // color: DigitColors().curiousBlue, + child: Text( + t.translate(i18.common.photoInfo)), + ), + ], + ), + ) + : const SizedBox.shrink(), + ], + ), + ); + } + }, + error: (value) { + return const SizedBox.shrink(); + }, + ); + }, + ), + ), + ); + } +} diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart new file mode 100644 index 0000000000..b9d8232f8a --- /dev/null +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -0,0 +1,1853 @@ +import 'package:collection/collection.dart'; +import 'package:digit_components/digit_components.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:intl/intl.dart'; +import 'package:works_shg_app/blocs/auth/auth.dart'; +import 'package:works_shg_app/blocs/employee/estimate/estimate.dart'; +import 'package:works_shg_app/blocs/employee/mb/mb_crud.dart'; +import 'package:works_shg_app/blocs/employee/mb/project_type.dart'; +import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/blocs/localization/localization.dart'; +import 'package:works_shg_app/models/muster_rolls/muster_workflow_model.dart'; +import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/utils/constants.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; +import 'package:works_shg_app/utils/notifiers.dart'; +import 'package:works_shg_app/widgets/atoms/empty_image.dart'; +import 'package:works_shg_app/widgets/mb/mb_detail_card.dart'; + +import '../../blocs/employee/emp_hrms/emp_hrms.dart'; +import '../../blocs/employee/mb/mb_detail_view.dart'; +import '../../blocs/muster_rolls/get_business_workflow.dart'; +import '../../blocs/muster_rolls/get_muster_workflow.dart'; +import '../../blocs/work_orders/search_individual_work.dart'; +import '../../models/employee/mb/filtered_Measures.dart'; +import '../../models/file_store/file_store_model.dart'; +import '../../models/muster_rolls/business_service_workflow.dart'; +import '../../utils/common_methods.dart'; +import '../../utils/date_formats.dart'; +import '../../utils/employee/mb/mb_logic.dart'; +import '../../widgets/Back.dart'; +import '../../widgets/SideBar.dart'; +import '../../widgets/atoms/app_bar_logo.dart'; +import '../../widgets/atoms/digit_timeline.dart'; +import '../../widgets/drawer_wrapper.dart'; +import '../../widgets/mb/float_action_card.dart'; +import '../../widgets/mb/multi_image.dart'; +import '../../widgets/mb/workFlowButtonList.dart'; +import '../../widgets/mb/sor_item_add_mb.dart'; +import '../../widgets/mb/text_button_underline.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +class MBDetailPage extends StatefulWidget { + final String contractNumber; + final String mbNumber; + final String? tenantId; + final MBScreen type; + const MBDetailPage( + {super.key, + required this.contractNumber, + required this.mbNumber, + this.tenantId, + required this.type}); + + @override + State createState() => _MBDetailPageState(); +} + +class _MBDetailPageState extends State + with SingleTickerProviderStateMixin { + late TabController _tabController; + int _selectedIndex = 0; + + int phots = 0; + List timeLineAttributes = []; + + // check points for creating new MB +// ACTIVE + String workorderStatus = ""; + // INWORKFLOW + String estimateStatus = ""; + @override + void initState() { + if (widget.type == MBScreen.create) { + context.read().add( + //hard coded + GetBusinessWorkflowEvent( + tenantId: widget.tenantId!, + // businessService: 'CONTRACT', + businessService: 'MB', + ), + ); + // SearchIndividualWorkBloc + context.read().add( + IndividualWorkSearchEvent( + contractNumber: widget.contractNumber, body: null), + ); + } else { + context.read().add( + FetchMBWorkFlowEvent( + tenantId: widget.tenantId!, mbNumber: widget.mbNumber), + ); + } + context.read().add( + MeasurementDetailBookBlocEvent( + tenantId: widget.tenantId!, + contractNumber: widget.contractNumber, + measurementNumber: widget.mbNumber, + screenType: widget.type, + ), + ); + + super.initState(); + _tabController = TabController(length: 3, vsync: this); + _tabController.addListener(_handleTabSelection); + } + + void _handleTabSelection() { + setState(() { + _selectedIndex = _tabController.index; + }); + } + + @override + void dispose() { + _tabController.dispose(); + _tabController.removeListener(_handleTabSelection); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + var t = AppLocalizations.of(context); + + return MultiBlocListener( + listeners: [ + BlocListener( + listener: (context, state) { + state.maybeMap( + orElse: () => {}, + loaded: (value) { + //TODO:[text change] + // String msg = + // "WF_MB_ACTION_${value.measurement?.workflow?.action}"; + + if (widget.type == MBScreen.update) { + context.read().add( + //hard coded + FetchMBWorkFlowEvent( + tenantId: GlobalVariables.tenantId!, + mbNumber: widget.mbNumber!), + ); + + context.read().add( + MeasurementDetailBookBlocEvent( + tenantId: widget.tenantId!, + contractNumber: widget.contractNumber, + measurementNumber: widget.mbNumber, + screenType: widget.type, + ), + ); + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route is! PopupRoute, + ); + } else if ((value.measurement!.wfStatus == "SUBMITTED") && + widget.type == MBScreen.create) { + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route is! PopupRoute, + ); + context.router.popUntilRouteWithPath('home'); + } else if ((value.measurement!.wfStatus == "DRAFTED") && + widget.type == MBScreen.create) { + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route is! PopupRoute, + ); + } + + Notifiers.getToastMessage( + context, + t.translate( + "WF_UPDATE_SUCCESS_MB_${value.measurement?.workflow?.action}"), + 'SUCCESS'); + }, + error: (value) { + Notifiers.getToastMessage( + context, value.error.toString(), 'ERROR'); + }, + ); + }, + ), + BlocListener( + listener: (context, state) { + state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (mbWorkFlow) { + final g = mbWorkFlow.musterWorkFlowModel?.processInstances; + if (g != null && + g.first.nextActions != null && + g.first.nextActions!.isNotEmpty) { + final data = g.first.nextActions!.first.roles?.join(','); + + context.read().add( + EmpHRMSLoadBlocEvent( + isActive: true, + roles: data ?? "", + tenantId: widget.tenantId!, + ), + ); + } + }, + ); + }, + ), + // BlocListener( + // listener: (context, state) { + // state.maybeMap( + // orElse: () => null, + // loaded: (value) { + // print( + // "individualWork${value.contractsModel!.contracts!.first.status!}"); + // setState(() { + // workorderStatus = + // value.contractsModel!.contracts!.first.status!; + // }); + + // context.read().add(EstimateLoadBlocEvent( + // isActive: true, + // roles: value.contractsModel!.contracts!.first + // .additionalDetails!.estimateNumber!, + // tenantId: widget.tenantId!, + // )); + // }, + // ); + // }, + // ), + // BlocListener( + // listener: (context, estimateState) { + // estimateState.maybeMap( + // orElse: () => null, + // loaded: (value) { + // print(value.estimateDetailResponse?.estimates!.first.status!); + // setState(() { + // estimateStatus = + // value.estimateDetailResponse!.estimates!.first.status!; + // }); + // context.read().add( + // EmpHRMSLoadBlocEvent( + // isActive: true, + // roles: "MB_VERIFIER", + // tenantId: widget.tenantId!, + // ), + // ); + // }, + // error: (value) { + // print(value.toString()); + // }, + // ); + // }, + // ), + ], + child: DefaultTabController( + length: 3, + child: BlocBuilder( + builder: (context, state) { + return Scaffold( + bottomNavigationBar: + BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () { + return const SizedBox.shrink(); + }, + loaded: (value) { + double sorprice = 0.00; + + for (int i = 0; i < value.sor!.length; i++) { + final key = value.sor![i]; + List line = + value.sor![i].filteredMeasurementsMeasure.map( + (e) { + return e.contracts!.first.estimates!.first; + }, + ).toList(); + int consumed = value.sor![i].filteredMeasurementsMeasure + .fold(0, (sum, obj) { + double m = obj!.currentValue!; + return sum + m.toInt(); + }); + sorprice += (line.first.unitRate! * consumed); + } + if (widget.type == MBScreen.update) { + return BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (mbWorkFlow) { + final g = mbWorkFlow + .musterWorkFlowModel?.processInstances; + + return FloatActionCard( + actions: () { + DigitActionDialog.show( + context, + widget: CommonButtonCard( + g: g, + contractNumber: widget.contractNumber, + mbNumber: widget.mbNumber, + type: widget.type, + ), + ); + }, + // amount: sorprice.toString(), + amount: value.data.first.totalAmount != null + ? value.data.first.totalAmount! + .roundToDouble() + .toStringAsFixed(2) + : "0.00", + openButtonSheet: () { + _openBottomSheet( + t, + context, + value.data.first.totalSorAmount!, + value.data.first.totalNorSorAmount!, + value.data.first.totalAmount!, + g, + widget.contractNumber, + widget.mbNumber, + widget.type, + null, + (g != null && + (g.first.nextActions != null && + g.first.nextActions! + .isEmpty)) + ? false + : true, + workorderStatus, + estimateStatus, + (value.data.length >= 2 + ? (value.data[1].wfStatus == + "APPROVED" || + value.data[1].wfStatus == + "REJECTED") + : false)); + }, + totalAmountText: t.translate( + i18.measurementBook.totalMbAmount), + subtext: t.translate( + i18.measurementBook.forCurrentEntry), + showAction: (g != null && + (g.first.nextActions != null && + g.first.nextActions!.isEmpty)) + ? false + : true, + ); + }, + ); + }, + ); + } else { + return BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (business) { + const g = null; + final bk = business.businessWorkFlowModel! + .businessServices ?? + []; + + return FloatActionCard( + actions: () { + // if ((estimateStatus != "INWORKFLOW") && + // (value.data.length >= 2 + // ? (value.data[1].wfStatus == + // "APPROVED" || + // value.data[1].wfStatus == + // "REJECTED") + // : true)) { + DigitActionDialog.show( + context, + widget: CommonButtonCard( + g: g, + contractNumber: widget.contractNumber, + mbNumber: widget.mbNumber, + type: widget.type, + bs: bk, + ), + ); + // } else { + // if (estimateStatus == "INWORKFLOW") { + // Notifiers.getToastMessage( + // context, + // t.translate(i18.workOrder + // .estimateRevisionError), + // 'ERROR'); + // } else { + // Notifiers.getToastMessage( + // context, + // t.translate(i18.workOrder + // .existingMBCreateError), + // 'ERROR'); + // } + + //} + }, + // amount: sorprice.toString(), + amount: value.data.first.totalAmount != null + ? value.data.first.totalAmount! + .roundToDouble() + .toStringAsFixed(2) + : "0.00", + openButtonSheet: () { + _openBottomSheet( + t, + context, + value.data.first.totalSorAmount!, + value.data.first.totalNorSorAmount!, + value.data.first.totalAmount!, + g, + widget.contractNumber, + widget.mbNumber, + widget.type, + bk, + (bk != null && + (bk != null && bk.isEmpty)) + ? false + : true, + workorderStatus, + estimateStatus, + (value.data.length >= 2 + ? (value.data[1].wfStatus == + "APPROVED" || + value.data[1].wfStatus == + "REJECTED") + : true)); + }, + totalAmountText: t.translate( + i18.measurementBook.totalMbAmount), + subtext: t.translate( + i18.measurementBook.forCurrentEntry), + showAction: + (bk != null && (bk != null && bk.isEmpty)) + ? false + : true, + ); + }, + ); + }, + ); + } + }, + loading: (value) { + return const SizedBox.shrink(); + }, + ); + }, + ), + backgroundColor: const DigitColors().seaShellGray, + appBar: AppBar( + titleSpacing: 0, + title: const AppBarLogo(), + ), + drawer: DrawerWrapper( + Drawer( + child: SideBar( + module: CommonMethods.getLocaleModules(), + ), + ), + ), + body: BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () { + return const SizedBox.shrink(); + }, + loaded: (value) { + final dynamic mm; + if (widget.type == MBScreen.create) { + mm = null; + } else { + mm = value.data.first.documents + ?.map((d) => FileStoreModel( + name: d.documentAdditionalDetails?.fileName, + fileStoreId: d.fileStore, + id: d.id, + tenantId: + d.documentAdditionalDetails?.tenantId, + )) + .toList(); + } + return SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Back( + callback: () { + context.router.popUntilRouteWithPath( + widget.type == MBScreen.update + ? 'measurement-inbox' + : 'workOrder-inbox'); + }, + ), + Padding( + padding: const EdgeInsets.only(left: 20.0), + child: Text( + t.translate( + i18.measurementBook.measurementBookTitle), + style: DigitTheme.instance.mobileTheme.textTheme + .headlineLarge, + ), + ), + DigitCard( + // margin: EdgeInsets.zero, + padding: EdgeInsets.zero, + child: ExpansionTile( + expandedCrossAxisAlignment: + CrossAxisAlignment.start, + expandedAlignment: Alignment.topLeft, + title: Text( + t.translate( + i18.measurementBook.primaryDetails), + style: DigitTheme.instance.mobileTheme + .textTheme.headlineMedium, + ), + children: [ + CommonMBCard( + items: primaryItems( + t, value.data, widget.type), + widget: value.data.length > 1 + ? CommonTextButtonUnderline( + label: t.translate(i18 + .measurementBook.mbShowHistory), + onPressed: () { + context.router.push( + MBHistoryBookRoute( + contractNumber: + widget.contractNumber, + mbNumber: widget.mbNumber, + tenantId: widget.tenantId, + type: widget.type, + ), + ); + }, + ) + : const SizedBox.shrink(), + show: false, + sla: 1, + ), + ], + ), + ), + + // tab + + Padding( + padding: const EdgeInsets.only( + top: 8.0, left: 8.0, right: 8.0, bottom: 0.0), + child: Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + // padding: EdgeInsets.zero, + // controller: _tabController, + children: [ + Expanded( + child: CustomTab( + text: t + .translate(i18.measurementBook.mbSor), + isSelected: _selectedIndex == 0, + onTap: () { + _tabController.animateTo(0); + }, + ), + ), + Expanded( + child: CustomTab( + text: t.translate( + i18.measurementBook.mbNonSor), + isSelected: _selectedIndex == 1, + onTap: () { + _tabController.animateTo(1); + }, + ), + ), + Expanded( + child: CustomTab( + text: t.translate( + i18.measurementBook.mbWorksitePhotos), + isSelected: _selectedIndex == 2, + onTap: () { + _tabController.animateTo(2); + }, + ), + ), + ], + ), + ), + SizedBox( + height: tabViewHeight( + value.sor!.length, + value.nonSor!.length, + widget.type == MBScreen.create || + value.data.first.wfStatus == "DRAFTED" + ? 0 + : value.data.first.documents != null && + value.data.first.documents!.isEmpty + ? 0 + : !value.viewStatus + ? 0 + : value + .data.first.documents!.length, + ), + child: TabBarView( + controller: _tabController, + children: [ + value.sor!.isEmpty + ? Card( + child: Center( + child: EmptyImage( + align: Alignment.center, + label: t + .translate(i18.common.notFound), + )), + ) + : ListView.builder( + physics: + const NeverScrollableScrollPhysics(), + itemBuilder: (BuildContext context, + int index) { + return sorCard( + t, + context, + index, + magic: value.sor![index] + .filteredMeasurementsMeasure, + // preSor_NonSor: value.preSor![index] + // .filteredMeasurementsMeasure, + + preSorNonSor: value.preSor == null + ? null + : value.preSor!.firstWhereOrNull( + (element) => + element + .sorId == + value + .sor![ + index] + .sorId) == + null + ? null + : value.preSor! + .firstWhereOrNull( + (element) => + element + .sorId == + value + .sor![ + index] + .sorId)! + .filteredMeasurementsMeasure, + // value.preSor![index] + // .filteredMeasurementsMeasure, + type: "sor", + sorNonSorId: + value.sor![index].sorId!, + cardLevel: t.translate( + i18.measurementBook.mbSor), + ); + }, + itemCount: value.sor!.length, + ), + value.nonSor!.isEmpty + ? Card( + child: Center( + child: EmptyImage( + align: Alignment.center, + label: t.translate( + i18.common.notFound), + ), + ), + ) + : ListView.builder( + physics: + const NeverScrollableScrollPhysics(), + itemBuilder: (BuildContext context, + int index) { + return sorCard( + t, + context, index, + magic: value.nonSor![index] + .filteredMeasurementsMeasure, + + // preSor_NonSor: value.preNonSor![index] + // .filteredMeasurementsMeasure, + + preSorNonSor: value.preNonSor == + null + ? null + : value.preNonSor!.firstWhereOrNull( + (element) => + element + .sorId == + value + .nonSor![ + index] + .sorId) != + null + ? value.preNonSor! + .firstWhereOrNull( + (element) => + element + .sorId == + value + .nonSor![ + index] + .sorId)! + .filteredMeasurementsMeasure + : null, + // : value.preNonSor![index] + // .filteredMeasurementsMeasure, + type: "NonSor", + sorNonSorId: + value.nonSor![index].sorId!, + cardLevel: t.translate( + i18.measurementBook.mbNonSor), + ); + }, + itemCount: value.nonSor!.length, + ), + widget.type == MBScreen.create + ? Card( + child: Center( + child: Column( + children: [ + Padding( + padding: const EdgeInsets + .symmetric( + horizontal: 8.0), + child: FilePickerDemo( + fromServerFile: value + .data.first.documents, + callBack: (List< + FileStoreModel>? + g, + List? + l) { + context + .read< + MeasurementDetailBloc>() + .add( + MeasurementUploadDocumentBlocEvent( + tenantId: '', + workflowDocument: + l!, + ), + ); + }, + extensions: const [ + 'jpg', + 'png', + 'jpeg', + ], + moduleName: + 'img_measurement_book', + headerType: + MediaType.mbDetail, + ), + ), + Container( + padding: + const EdgeInsets.all(4), + // color: DigitColors().curiousBlue, + child: Text(t.translate(i18 + .measurementBook + .mbPhotoInfo)), + ), + ], + ), + ), + ) + : value.data.first.documents != null && + value + .data.first.documents!.isEmpty + ? !value.viewStatus + ? Card( + child: Center( + child: Column( + crossAxisAlignment: + CrossAxisAlignment + .start, + mainAxisAlignment: + MainAxisAlignment + .center, + children: [ + Padding( + padding: + const EdgeInsets + .symmetric( + horizontal: + 8.0), + child: FilePickerDemo( + fromServerFile: + value.data.first + .documents, + callBack: (List< + FileStoreModel>? + g, + List? + l) { + context + .read< + MeasurementDetailBloc>() + .add( + MeasurementUploadDocumentBlocEvent( + tenantId: + '', + workflowDocument: + l!, + ), + ); + }, + extensions: const [ + 'jpg', + 'png', + 'jpeg', + ], + moduleName: + 'img_measurement_book', + headerType: + MediaType + .mbDetail, + ), + ), + // TODO:[text change] + Container( + padding: + const EdgeInsets + .all(4), + // color: DigitColors().pacificBlue, + child: Text( + t.translate(i18 + .measurementBook + .mbPhotoInfo)), + ), + ], + ), + ), + ) + : Card( + child: Center( + child: EmptyImage( + align: Alignment.center, + label: t.translate(i18 + .measurementBook + .noDocumentFound), + ), + )) + : !value.viewStatus + ? Card( + child: Center( + child: Column( + crossAxisAlignment: + CrossAxisAlignment + .start, + mainAxisAlignment: + MainAxisAlignment + .center, + children: [ + Padding( + padding: + const EdgeInsets + .symmetric( + horizontal: + 8.0), + child: FilePickerDemo( + fromServerFile: + value.data.first + .documents, + callBack: (List< + FileStoreModel>? + g, + List? + l) { + context + .read< + MeasurementDetailBloc>() + .add( + MeasurementUploadDocumentBlocEvent( + tenantId: + '', + workflowDocument: + l!, + ), + ); + }, + extensions: const [ + 'jpg', + 'png', + 'jpeg', + ], + moduleName: + 'img_measurement_book', + headerType: + MediaType + .mbDetail, + ), + ), + // TODO:[text change] + Container( + padding: + const EdgeInsets + .all(4), + // color: DigitColors().curiousBlue, + child: Text( + t.translate(i18 + .measurementBook + .mbPhotoInfo)), + ), + ], + ), + ), + ) + : DigitCard( + + child: ListView.builder( + physics: + const NeverScrollableScrollPhysics(), + itemBuilder: + (BuildContext context, + int index) { + if (index == 0) { + return Padding( + padding: + const EdgeInsets + .only( + bottom: + 8.0), + child: Column( + children: [ + DigitInfoCard( + title: t.translate( + i18.common + .info), + description: t + .translate(i18 + .measurementBook + .infoImageTip), + ), + InkWell( + onTap: () => + CommonMethods() + .onTapOfAttachment( + mm![index], + mm![index] + .tenantId!, + context, + roleType: + RoleType + .employee, + ), + child: Chip( + labelPadding: + const EdgeInsets.all( + 10), + // padding: const EdgeInsets.symmetric(horizontal: 12.0, vertical: 8.0), + label: + SizedBox( + width: MediaQuery.sizeOf( + context) + .width, + child: + Text( + AppLocalizations.of(context) + .translate( + mm![index] + .name + .toString(), + ), + maxLines: + 3, + overflow: + TextOverflow.ellipsis, + ), + ), + ), + ), + ], + ), + ); + } else { + return Padding( + padding: + const EdgeInsets + .only( + bottom: + 8.0), + child: InkWell( + onTap: () => + CommonMethods() + .onTapOfAttachment( + mm![index], + mm![index] + .tenantId!, + context, + roleType: RoleType + .employee, + ), + child: Chip( + labelPadding: + const EdgeInsets + .all(10), + // padding: const EdgeInsets.symmetric(horizontal: 12.0, vertical: 8.0), + label: SizedBox( + width: MediaQuery + .sizeOf( + context) + .width, + child: Text( + AppLocalizations.of( + context) + .translate( + mm![index] + .name + .toString(), + ), + maxLines: 3, + overflow: + TextOverflow + .ellipsis, + ), + ), + ), + ), + ); + } + }, + itemCount: value + .data + .first + .documents! + .length), + ), + ], + ), + ), + widget.type == MBScreen.update + ? + //workflow + BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: SizedBox.shrink, + loaded: (value) { + List modifiedData = + value.musterWorkFlowModel! + .processInstances! + .where((element) => + element.action != + Constants.saveAsDraft) + .toList(); + // ..insert(0, value + // .musterWorkFlowModel! + // .processInstances!.first); + if (modifiedData.isNotEmpty && + (modifiedData.first.nextActions != + null && + modifiedData + .first + .nextActions! + .isNotEmpty)) { + modifiedData = [ + ...[modifiedData.first], + ...modifiedData + ]; + } else if (modifiedData.isNotEmpty) { + modifiedData = [ + ...[modifiedData.first], + ...modifiedData + ]; + } + timeLineAttributes.clear(); + + timeLineAttributes = modifiedData + .mapIndexed((i, e) => + DigitTimelineOptions( + title: t.translate((i == + 0 && + e.action == + "APPROVE") + ? e.workflowState + ?.state == + "EDIT_RE_SUBMIT" + ? 'WF_MB_STATUS_${e.workflowState?.state}' + : 'WF_MB_STATUS_${e.workflowState?.state}' + : i == 0 + ? e.workflowState + ?.state == + "EDIT_RE_SUBMIT" + ? 'WF_MB_STATUS_${e.workflowState?.state}' + : 'WF_MB_STATUS_${e.workflowState?.state}' + : 'WF_MB_STATUS_${e.action}'), + subTitle: (i == 0 && + e.action == + "APPROVE") + ? DateFormats + .getTimeLineDate(e + .auditDetails + ?.lastModifiedTime ?? + 0) + : i != 0 + ? DateFormats + .getTimeLineDate(e + .auditDetails + ?.lastModifiedTime ?? + 0) + : null, + isCurrentState: i == 0, + comments: (i == 0 && + e.action == + "APPROVE") + ? e.comment + : i != 0 + ? e.comment + : null, + documents: (i == 0 && + e.action == + "APPROVE") + ? e.documents != null + ? e.documents + ?.map((d) => + FileStoreModel( + name: + '', + fileStoreId: d + .documentUid)) + .toList() + : null + : i != 0 + ? e.documents != + null + ? e + .documents + ?.map((d) => FileStoreModel( + name: + '', + fileStoreId: + d.documentUid)) + .toList() + : null + : null, + assignee: (i == 0 && + e.action == + "APPROVE") + ? e.assigner?.name + : i != 0 + ? e.assigner?.name + : null, + mobileNumber: (i == 0 && + e.action == + "APPROVE") + ? e.assigner != null + ? '+91-${e.assigner?.mobileNumber}' + : null + : i != 0 + ? e.assigner != null + ? '+91-${e.assigner?.mobileNumber}' + : null + : null, + )) + .toList(); + + return timeLineAttributes.isNotEmpty + ? DigitCard( + child: ExpansionTile( + title: Padding( + padding: + const EdgeInsets.only( + bottom: 8.0), + child: Text( + t.translate(i18.common + .workflowTimeline), + style: DigitTheme + .instance + .mobileTheme + .textTheme + .headlineMedium, + ), + ), + children: [ + DigitTimeline( + timelineOptions: + timeLineAttributes, + ), + ], + ), + ) + : const SizedBox.shrink(); + // + }, + ); + }, + ) + : const SizedBox.shrink(), + ], + ), + ); + }, + loading: (value) { + return const Center( + child: CircularProgressIndicator.adaptive(), + ); + }, + ); + }, + ), + ); + }, + ), + ), + ); + } + + Map primaryItems( + AppLocalizations t, List s, MBScreen mbScreen) { + if (mbScreen == MBScreen.create) { + return { + t.translate(i18.common.musterRollId): s.first.musterRollNumber ?? "NA", + + t.translate(i18.measurementBook.measurementPeriod): + "${s.first.startDate != null ? DateFormat('dd/MM/yyyy').format(DateTime.fromMillisecondsSinceEpoch(s.first.startDate!)) : "NA"} - ${s.first.endDate != null ? DateFormat('dd/MM/yyyy').format(DateTime.fromMillisecondsSinceEpoch(s.first.endDate!)) : "NA"}", + t.translate(i18.attendanceMgmt.projectDesc): s.first.measures!.first + .contracts!.first.contractAdditionalDetails?.projectDesc ?? + "NA", + + // "SLA Days remaining": 2, + }; + } else { + return { + t.translate(i18.measurementBook.mbNumber): s.first.mbNumber ?? "NA", + t.translate(i18.common.musterRollId): s.first.musterRollNumber ?? "NA", + + t.translate(i18.measurementBook.measurementPeriod): + "${s.first.startDate != null ? DateFormat('dd/MM/yyyy').format(DateTime.fromMillisecondsSinceEpoch(s.first.startDate!)) : "NA"} - ${s.first.endDate != null ? DateFormat('dd/MM/yyyy').format(DateTime.fromMillisecondsSinceEpoch(s.first.endDate!)) : "NA"}", + t.translate(i18.attendanceMgmt.projectDesc): s.first.measures!.first + .contracts!.first.contractAdditionalDetails?.projectDesc ?? + "NA", + + // "SLA Days remaining": 2, + }; + } + } + + double tabViewHeight(int sork, int nonSork, int photo) { + switch (_tabController.index) { + case 0: + return sork == 0 ? 300 : sork * 500; + case 1: + return nonSork == 0 ? 300 : nonSork * 500; + case 2: + return photoSize(photo); + default: + return 350.0; + } + } + + double photoSize(int photok){ + +switch (photok) { + case 1: + return (photok * 115) + 112; + case 2: + return (photok * 100) + 88; + case 3: + return (photok * 100) + 80; + case 4: + return (photok * 90) + 80; + case 5: + return (photok * 80) + 80; + + + default: + return 350; +} + + } + + Card sorCard( + AppLocalizations t, + BuildContext ctx, + int index, { + List? magic, + List? preSorNonSor, + required String type, + required String sorNonSorId, + required String cardLevel, + }) { + List line = magic!.map( + (e) { + return e.contracts!.first.estimates!.first; + }, + ).toList(); + String noOfQty = line.fold("0.0000", (sum, obj) { + double m = double.parse(obj.noOfunit!.toString()).toDouble(); + return double.parse((double.parse(sum) + m.toDouble()).toString()) + .toStringAsFixed(4); + }); + + final String preConumed = preSorNonSor == null + ? "0.0000" + : preSorNonSor!.fold("0.0000", (sum, obj) { + double m = obj.contracts!.first.estimates!.first.isDeduction == true + ? -(obj.cumulativeValue!) + : (obj.cumulativeValue!); + return double.parse((double.parse(sum) + m.toDouble()).toString()) + .toStringAsFixed(4); + }); + + final doubtamout = (magic.fold(0.0, (sum, obj) { + double m = 0.00; + if (obj.contracts?.first.estimates?.first.isDeduction == true) { + m = -(obj.mbAmount ?? 0.00); // Negate the amount for deductions + } else { + m = (obj.mbAmount ?? 0.00); + } + return sum + m; + })).toStringAsFixed(2); + + print(doubtamout); + + return Card( + child: SizedBox( + height: 480, + child: Padding( + padding: const EdgeInsets.only(left: 8.0, bottom: 8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Text( + "$cardLevel ${index + 1}", + style: + DigitTheme.instance.mobileTheme.textTheme.headlineLarge, + ), + ), + SORTableCard( + element: { + t.translate(i18.measurementBook.description): + magic.first.contracts!.first.estimates!.first.name, + t.translate(i18.measurementBook.unit): line[0].uom, + t.translate(i18.measurementBook.rate): + line[0].unitRate == null + ? 0.00 + : double.parse(line[0].unitRate!.toString()) + .toStringAsFixed(2), + t.translate(i18.measurementBook.approvedQty): noOfQty, + + //TODO:[localization] + "${t.translate(i18.measurementBook.preConsumedKey)}\n${t.translate(i18.measurementBook.preConsumedPre)}": + // t.translate(i18.measurementBook.consumedQty): + preSorNonSor == null ? "0.0000" : preConumed + }, + ), + + Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: Text(t.translate(i18.measurementBook.currentMBEntry), + style: Theme.of(context).textTheme.labelSmall), + ), + Container( + padding: const EdgeInsets.all(5.0), + decoration: BoxDecoration( + border: Border.all( + color: const DigitColors().cloudGray, + width: 2.0, + ), + borderRadius: BorderRadius.circular(1), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Padding( + padding: const EdgeInsets.only(left: 4.0), + child: Text( + (magic.fold(0.0, (sum, obj) { + double m; + if (obj.contracts?.first.estimates?.first + .isDeduction == + false) { + m = obj.measureLineItems!.fold(0.0, + (subSum, ob) { + double mk = + double.parse(ob.quantity!.toString()); + return subSum + mk; + }); + } else { + m = obj.measureLineItems!.fold(0.0, + (subSum, ob) { + double mr = + double.parse(ob.quantity!.toString()); + return subSum + mr; + }); + m = -m; + } + return sum + m; + })).toStringAsFixed(4), + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w400, + ), + maxLines: 3, + ), + ), + GestureDetector( + onTap: () { + showDialog( + context: ctx, + builder: (_) { + return HorizontalCardListDialog( + lineItems: magic, + index: index, + type: type, + // noOfUnit: line[0].noOfunit, + noOfUnit: noOfQty, + cummulativePrevQty: preSorNonSor == null + ? 0.0000 + // : preSorNonSor!.first.cumulativeValue, + : preSorNonSor!.fold(0.0000, (sum, obj) { + double m = obj + .contracts! + .first + .estimates! + .first + .isDeduction == + true + ? -(obj.cumulativeValue!) + : (obj.cumulativeValue!); + return sum + m.toDouble(); + }), + sorId: sorNonSorId, + ); + }, + ); + }, + child: Padding( + padding: const EdgeInsets.only(right: 0.0), + child: Icon( + Icons.add_circle, + size: 30, + color: const DigitColors().burningOrange, + ), + ), + ), + ], + ), + ), + ], + ), + + // end + + DigitTextField( + controller: TextEditingController() + ..value + ..text = (magic.fold(0.0, (sum, obj) { + double m = obj.mbAmount != null + ? (obj.mbAmount != null && obj.mbAmount! < 0) + ? (obj.mbAmount! * (-1)) + : obj.mbAmount! + : 0.00; + if (obj.contracts?.first.estimates?.first.isDeduction == + true) { + m = -(m); // Negate the amount for deductions + } else { + m = (m); + } + return sum + m; + })).toStringAsFixed(2), + label: t.translate(i18.measurementBook.mbAmtCurrentEntry), + isDisabled: true, + ), + ], + ), + ), + ), + ); + } + + void _openBottomSheet( + AppLocalizations t, + BuildContext context, + double totalSorAmount, + double totalNonSorAmount, + double mbAmount, + List? processInstances, + String contractNumber, + String mbNumber, + MBScreen type, + List? bs, + bool showBtn, + String workorderStatus, + String estimateStatus, + bool previousMBStatus, + ) { + showModalBottomSheet( + isScrollControlled: true, + isDismissible: true, + enableDrag: true, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(20))), + context: context, + builder: (BuildContext context) { + return Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + mainAxisSize: MainAxisSize.min, + children: [ + Container( + decoration: const BoxDecoration( + border: Border( + bottom: BorderSide(), + ), + ), + child: Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: ListTile( + title: Text( + // "Total SOR Amount", + t.translate(i18.measurementBook.totalSorAmount), + style: DigitTheme + .instance.mobileTheme.textTheme.headlineMedium, + ), + subtitle: Text( + // "(for current entry)", + t.translate(i18.measurementBook.forCurrentEntry), + style: + DigitTheme.instance.mobileTheme.textTheme.bodySmall, + ), + trailing: Text( + totalSorAmount!.toDouble().toStringAsFixed(2), + style: DigitTheme + .instance.mobileTheme.textTheme.headlineMedium, + ), + ), + ), + ), + const SizedBox( + height: 20, + ), + Container( + decoration: const BoxDecoration( + border: Border( + bottom: BorderSide(), + ), + ), + child: Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: ListTile( + title: Text( + // "Total Non SOR Amount", + t.translate(i18.measurementBook.totalNonSorAmount), + style: DigitTheme + .instance.mobileTheme.textTheme.headlineMedium, + ), + subtitle: Text( + // "(for current entry)", + t.translate(i18.measurementBook.forCurrentEntry), + style: + DigitTheme.instance.mobileTheme.textTheme.bodySmall, + ), + trailing: Text( + totalNonSorAmount!.toDouble().toStringAsFixed(2), + style: DigitTheme + .instance.mobileTheme.textTheme.headlineMedium, + ), + ), + ), + ), + const SizedBox( + height: 15, + ), + Container( + height: 80, + width: MediaQuery.sizeOf(context).width, + decoration: BoxDecoration( + //color: Colors.red, + borderRadius: const BorderRadius.all( + Radius.circular(10), + ), + border: Border.all( + color: Colors.grey, + width: 2, + ), + ), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + flex: 4, + child: ListTile( + title: Text( + // "Total MB Amount", + t.translate(i18.measurementBook.totalMbAmount), + style: DigitTheme + .instance.mobileTheme.textTheme.headlineMedium, + ), + subtitle: Text( + // "(for current entry)", + t.translate(i18.measurementBook.forCurrentEntry), + style: DigitTheme + .instance.mobileTheme.textTheme.bodySmall, + ), + ), + ), + Expanded( + flex: 4, + child: Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Text( + mbAmount!.roundToDouble().toStringAsFixed(2), + style: DigitTheme.instance.mobileTheme.textTheme + .headlineMedium, + ), + ], + )), + ], + ), + ), + ), + const SizedBox( + height: 15, + ), + showBtn + ? DigitElevatedButton( + child: Text(t.translate(i18.measurementBook.mbAction)), + onPressed: () { + Navigator.of(context).pop(); + if (widget.type == MBScreen.update) { + DigitActionDialog.show( + context, + widget: CommonButtonCard( + g: processInstances, + contractNumber: contractNumber, + mbNumber: mbNumber, + type: widget.type, + bs: bs, + ), + ); + } else { + // if ((estimateStatus != "INWORKFLOW") && + // previousMBStatus) { + // DigitActionDialog.show( + // context, + // widget: CommonButtonCard( + // g: processInstances, + // contractNumber: contractNumber, + // mbNumber: mbNumber, + // type: widget.type, + // bs: bs, + // ), + // ); + // } + // else { + // // if (workorderStatus != "ACTIVE") { + // // Notifiers.getToastMessage( + // // context, + // // t.translate(i18.workOrder.timeExtensionError), + // // 'ERROR'); + // // } else + // if (estimateStatus == "INWORKFLOW") { + // Notifiers.getToastMessage( + // context, + // t.translate( + // i18.workOrder.estimateRevisionError), + // 'ERROR'); + // } else { + // Notifiers.getToastMessage( + // context, + // t.translate( + // i18.workOrder.existingMBCreateError), + // 'ERROR'); + // } + // } + + DigitActionDialog.show( + context, + widget: CommonButtonCard( + g: processInstances, + contractNumber: contractNumber, + mbNumber: mbNumber, + type: widget.type, + bs: bs, + ), + ); + } + +// before + }) + : const SizedBox.shrink(), + ], + ), + ); + }, + ); + } +} + +class CustomTab extends StatelessWidget { + final String text; + final bool isSelected; + final Function onTap; + + const CustomTab( + {super.key, + required this.text, + required this.isSelected, + required this.onTap}); + + @override + Widget build(BuildContext context) { + return GestureDetector( + onTap: () => onTap(), + child: Container( + height: 50, + width: MediaQuery.sizeOf(context).width / 3, + decoration: BoxDecoration( + border: Border( + top: BorderSide( + color: isSelected + ? const DigitColors().burningOrange + : const DigitColors().cloudGray, + width: 1.0, + ), + left: BorderSide( + color: isSelected + ? const DigitColors().burningOrange + : const DigitColors().cloudGray, + width: 1.0, + ), + right: BorderSide( + color: isSelected + ? const DigitColors().burningOrange + : const DigitColors().cloudGray, + width: 1.0, + ), + bottom: BorderSide( + color: isSelected + ? const DigitColors().burningOrange + : const DigitColors().cloudGray, + width: isSelected ? 3.0 : 1.0, + ), + ), + borderRadius: BorderRadius.circular(2), + color: isSelected + ? const DigitColors().white.withOpacity(0.2) + : Colors.transparent, + ), + child: Center( + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16), + child: Text( + text, + style: TextStyle( + color: isSelected + ? const DigitColors().black + : const DigitColors().cloudGray, + fontWeight: isSelected ? FontWeight.bold : FontWeight.normal, + ), + ), + ), + ), + ), + ); + } +} + +class SORTableCard extends StatelessWidget { + final Map element; + final Border? border; + final Color? color; + final EdgeInsetsGeometry? padding; + final double gap; + final num fraction; + + const SORTableCard({ + super.key, + required this.element, + this.border, + this.color, + this.padding, + this.gap = 0, + this.fraction = 2, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + return Padding( + padding: const EdgeInsets.only(top: 16), + child: Container( + decoration: BoxDecoration( + color: color, + borderRadius: BorderRadius.circular(4), + border: border), + child: Padding( + padding: padding ?? const EdgeInsets.only(right: 8, bottom: 16), + child: Column( + children: element.keys + .map((e) => Container( + margin: DigitTheme.instance.verticalMargin, + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + width: MediaQuery.of(context).size.width / fraction, + child: Text( + e, + style: theme.textTheme.headline5, + textAlign: TextAlign.start, + ), + ), + SizedBox(width: gap), + Flexible( + child: Padding( + padding: const EdgeInsets.only(top: 1.4), + child: Text( + element[e].toString(), + maxLines: 3, + overflow: TextOverflow.ellipsis, + ), + )), + ], + ), + )) + .toList(), + ), + ), + ), + ); + } +} diff --git a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart new file mode 100644 index 0000000000..07bdca5a53 --- /dev/null +++ b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart @@ -0,0 +1,730 @@ +import 'package:digit_components/digit_components.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:reactive_forms/reactive_forms.dart'; +import 'package:works_shg_app/blocs/employee/mb/measurement_book.dart'; +import 'package:works_shg_app/blocs/employee/mb/project_type.dart'; +import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/blocs/localization/localization.dart'; +import 'package:works_shg_app/models/employee/mb/mb_inbox_response.dart' + as statusMap; +import 'package:works_shg_app/models/employee/mb/mb_project_type.dart'; +import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/utils/Toast/toaster.dart'; +import 'package:works_shg_app/utils/employee/support_services.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; +import 'package:works_shg_app/widgets/atoms/radio_button_list.dart'; + +import '../../blocs/wage_seeker_registration/wage_seeker_location_bloc.dart'; +import '../../services/local_storage.dart'; +import '../../utils/common_methods.dart'; +import '../../widgets/SideBar.dart'; +import '../../widgets/atoms/app_bar_logo.dart'; +import '../../widgets/drawer_wrapper.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +class MBFilterPage extends StatefulWidget { + const MBFilterPage({super.key}); + + @override + State createState() => _MBFilterPageState(); +} + +class _MBFilterPageState extends State { + List ward = []; // Initialize ward list + List workflow = []; // Initialize workflow list + + TextEditingController mbNumber = TextEditingController(); + TextEditingController projectId = TextEditingController(); + String projectName = ""; + ProjectType? selectedType; + bool workShow = true; + bool project = true; + + String genderKey = 'assign'; + String genderController = ''; + @override + void initState() { + super.initState(); + + mbNumber.addListener(mbNumberUpload); + projectId.addListener(projectIdUpload); + // projectName.addListener(projectNameUpload); + } + + void mbNumberUpload() { + if (mbNumber.text != "" || projectId.text != "" || projectName != "") { + setState(() { + workShow = false; + }); + } else { + setState(() { + workShow = true; + }); + } + } + + void projectIdUpload() { + if (mbNumber.text != "" || projectId.text != "" || projectName != "") { + setState(() { + workShow = false; + }); + } else { + setState(() { + workShow = true; + }); + } + } + + void projectNameUpload() { + if (mbNumber.text != "" || projectId.text != "" || projectName != "") { + setState(() { + workShow = false; + }); + } else { + setState(() { + workShow = true; + }); + } + } + + @override + void dispose() { + // TODO: implement dispose + mbNumber.removeListener(mbNumberUpload); + projectId.removeListener(projectIdUpload); + //projectName.removeListener(projectNameUpload); + + mbNumber.dispose(); + projectId.dispose(); + //projectName.dispose(); + + super.dispose(); + } + + @override + Widget build(BuildContext context) { + var t = AppLocalizations.of(context); + return BlocBuilder( + builder: (context, localizationState) { + return BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) { + return BlocBuilder( + builder: (context, state) { + return state.maybeWhen( + orElse: () { + return const SizedBox.shrink(); + }, + loaded: (location) { + return Scaffold( + appBar: AppBar( + titleSpacing: 0, + title: const AppBarLogo(), + ), + drawer: DrawerWrapper( + Drawer( + child: SideBar( + module: CommonMethods.getLocaleModules(), + ), + ), + ), + body: ReactiveFormBuilder( + form: detailBuildForm, + builder: (BuildContext context, + FormGroup formGroup, Widget? child) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: ScrollableContent( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: + CrossAxisAlignment.center, + footer: Padding( + padding: const EdgeInsets.symmetric( + horizontal: 8.0), + child: Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Expanded( + flex: 2, + child: DigitOutLineButton( + label: t.translate( + i18.measurementBook.clear), + onPressed: () { + context + .read< + MeasurementInboxBloc>() + .add( + MeasurementBookInboxBlocEvent( + businessService: "MB", + limit: 10, + moduleName: + 'measurement-module', + offset: 0, + tenantId: + GlobalVariables + .tenantId!, + ), + ); + context.router.pop(); + }, + ), + ), + Expanded( + flex: 2, + child: DigitElevatedButton( + child: Text(t.translate( + i18.measurementBook.filter)), + onPressed: () async { + Map> s; + + if (workShow && project) { + s = { + "inbox": { + "tenantId": + GlobalVariables + .tenantId, + "moduleSearchCriteria": { + "tenantId": + GlobalVariables + .tenantId, + }, + "processSearchCriteria": { + "businessService": [ + "MB" + ], + "moduleName": + "measurement-service" + }, + "limit": 10, + "offset": 0 + } + }; + + if (formGroup.value[ + genderKey] == + "MB_ASSIGNED_TO_ME" || + genderKey == + "MB_ASSIGNED_TO_ME") { + s['inbox']!['moduleSearchCriteria']![ + 'assignee'] = + GlobalVariables.uuid; + context + .read< + MeasurementInboxBloc>() + .add( + MeasurementBookInboxSearchBlocEvent( + limit: 10, + offset: 0, + data: s, + ), + ); + context.router.pop(); + } else { + ToastUtils.showCustomToast( + context, + t.translate(i18.common + .searchCriteria), + "INFO"); + } + } else { + if (workShow && !project) { + if (workflow.isEmpty && + ward.isNotEmpty) { + s = { + "inbox": { + "tenantId": + GlobalVariables + .tenantId, + "moduleSearchCriteria": + { + "tenantId": + GlobalVariables + .tenantId, + // "status": workflow + // .map((e) => e.statusid!) + // .toList(), + "ward": ward, + }, + "processSearchCriteria": + { + "businessService": [ + "MB" + ], + "moduleName": + "measurement-service" + }, + "limit": 10, + "offset": 0 + } + }; + } else if (workflow + .isNotEmpty && + ward.isEmpty) { + s = { + "inbox": { + "tenantId": + GlobalVariables + .tenantId, + "moduleSearchCriteria": + { + "tenantId": + GlobalVariables + .tenantId, + "status": workflow + .map((e) => + e.statusid!) + .toList(), + // "ward": ward, + }, + "processSearchCriteria": + { + "businessService": [ + "MB" + ], + "moduleName": + "measurement-service" + }, + "limit": 10, + "offset": 0 + } + }; + } else { + s = { + "inbox": { + "tenantId": + GlobalVariables + .tenantId, + "moduleSearchCriteria": + { + "tenantId": + GlobalVariables + .tenantId, + "status": workflow + .map((e) => + e.statusid!) + .toList(), + "ward": ward, + }, + "processSearchCriteria": + { + "businessService": [ + "MB" + ], + "moduleName": + "measurement-service" + }, + "limit": 10, + "offset": 0 + } + }; + } + + if (formGroup.value[ + genderKey] == + "MB_ASSIGNED_TO_ME" || + genderKey == + "MB_ASSIGNED_TO_ME") { + s['inbox']!['moduleSearchCriteria']![ + 'assignee'] = + GlobalVariables.uuid; + } + context + .read< + MeasurementInboxBloc>() + .add( + MeasurementBookInboxSearchBlocEvent( + limit: 10, + offset: 0, + data: + s, // ward: ward, + // status: workflow + // .map((e) => e.statusid!) + // .toList(), + // projectId: null, + // mbNumber: null, + // projectName: null, + ), + ); + } else { + if (mbNumber.text != "" && + projectId.text == "" && + projectName == "") { + s = { + "inbox": { + "tenantId": + GlobalVariables + .tenantId, + "moduleSearchCriteria": + { + "tenantId": + GlobalVariables + .tenantId, + // "status": workflow + // .map((e) => e.statusid!) + // .toList(), + "measurementNumber": + mbNumber.text, + }, + "processSearchCriteria": + { + "businessService": [ + "MB" + ], + "moduleName": + "measurement-service" + }, + "limit": 10, + "offset": 0 + } + }; + } else if (mbNumber.text == + "" && + projectId.text != "" && + projectName == "") { + s = { + "inbox": { + "tenantId": + GlobalVariables + .tenantId, + "moduleSearchCriteria": + { + "tenantId": + GlobalVariables + .tenantId, + "projectId": + projectId.text, + }, + "processSearchCriteria": + { + "businessService": [ + "MB" + ], + "moduleName": + "measurement-service" + }, + "limit": 10, + "offset": 0 + } + }; + } else if (mbNumber.text == + "" && + projectId.text == "" && + projectName != "") { + s = { + "inbox": { + "tenantId": + GlobalVariables + .tenantId, + "moduleSearchCriteria": + { + "tenantId": + GlobalVariables + .tenantId, + "projectType": + projectName, + }, + "processSearchCriteria": + { + "businessService": [ + "MB" + ], + "moduleName": + "measurement-service" + }, + "limit": 10, + "offset": 0 + } + }; + } else { + s = { + "inbox": { + "tenantId": + GlobalVariables + .tenantId, + "moduleSearchCriteria": + { + "tenantId": + GlobalVariables + .tenantId, + "measurementNumber": + mbNumber.text, + "projectId": + projectId.text, + "projectType": + projectName, + }, + "processSearchCriteria": + { + "businessService": [ + "MB" + ], + "moduleName": + "measurement-service" + }, + "limit": 10, + "offset": 0 + } + }; + } + + if (formGroup.value[ + genderKey] == + "MB_ASSIGNED_TO_ME" || + genderKey == + "MB_ASSIGNED_TO_ME") { + s['inbox']!['moduleSearchCriteria']![ + 'assignee'] = + GlobalVariables.uuid; + } + + context + .read< + MeasurementInboxBloc>() + .add( + MeasurementBookInboxSearchBlocEvent( + limit: 10, + offset: 0, + data: + s, // ward: ward, + // status: workflow + // .map((e) => e.statusid!) + // .toList(), + // projectId: null, + // mbNumber: null, + // projectName: null, + ), + ); + } + + context.router.pop(); + } + }, + ), + ) + ], + ), + ), + children: [ + Row( + mainAxisAlignment: + MainAxisAlignment.end, + children: [ + IconButton( + onPressed: () { + context + .read< + MeasurementInboxBloc>() + .add( + MeasurementBookInboxBlocEvent( + businessService: "MB", + limit: 10, + moduleName: + 'measurement-module', + offset: 0, + tenantId: + GlobalVariables + .tenantId!, + ), + ); + context.router.pop(); + }, + icon: const Icon(Icons.close)), + ], + ), + Row( + crossAxisAlignment: + CrossAxisAlignment.center, + mainAxisAlignment: + MainAxisAlignment.start, + children: [ + const Icon(Icons.filter_alt), + Padding( + padding: const EdgeInsets.only( + left: 8.0), + child: Text( + t.translate( + i18.measurementBook.filter), + style: DigitTheme + .instance + .mobileTheme + .textTheme + .headlineLarge, + ), + ), + ], + ), + workShow + ? DigitRadioButtonList( + isEnabled: true, + labelText: t.translate( + i18.common.assignee), + formControlName: genderKey, + options: const [ + 'MB_ASSIGNED_TO_ME', + 'MB_ASSIGNED_TO_ALL' + ], + isRequired: false, + valueMapper: (value) => + t.translate(value), + onValueChange: (value) { + setState(() { + genderKey = value; + }); + }, + ) + : const SizedBox.shrink(), + project + ? DigitTextField( + label: t.translate( + i18.measurementBook.mbNumber), + controller: mbNumber, + ) + : const SizedBox.shrink(), + project + ? DigitTextField( + label: t.translate(i18 + .measurementBook.projectId), + controller: projectId, + ) + : const SizedBox.shrink(), +// TODO:[change project name to projectType dropdown] + + // project + // ? DigitTextField( + // label: t.translate(i18 + // .measurementBook.projectName), + // controller: projectName, + // ) + // : const SizedBox.shrink(), + project + ? BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => + const SizedBox.shrink(), + loaded: (value) { + return DigitDropdown< + ProjectType>( + onChanged: (value) { + setState(() { + projectName = + value!.code!; + selectedType = value; + workShow = false; + }); + }, + value: selectedType, + label: t.translate(i18 + .measurementBook + .projectType), + menuItems: value + .mbProjectType! + .mdmsRes! + .mbWorks! + .projectType!, + valueMapper: (value) { + return value.name! + .trim(); + }, + ); + }, + error: (value) { + return const SizedBox + .shrink(); + }, + loading: (value) { + return const SizedBox + .shrink(); + }, + ); + }, + ) + : const SizedBox.shrink(), + + // end of this + workShow + ? DigitDropdown( + onChanged: (value) { + setState(() { + ward.add(value!); + project = false; + }); + }, + value: ward.isNotEmpty + ? ward.first + : null, + label: + t.translate(i18.common.ward), + menuItems: location! + .tenantBoundaryList! + .first + .boundaryList! + .map((e) => e.code.toString()) + .toList(), + valueMapper: (value) { + return t.translate( + convertToWard( + value.toString())); + // return value.toString(); + }, + ) + : const SizedBox.shrink(), + workShow + ? DigitDropdown( + onChanged: (value) { + setState(() { + workflow.add(value!); + project = false; + }); + }, + value: workflow.isNotEmpty + ? workflow.first + : null, + label: t.translate(i18 + .measurementBook + .workflowState), + menuItems: value + .mbInboxResponse.statusMap! + .map((e) => e) + .toList(), + valueMapper: (value) { + return t.translate( + "MB_WFMB_STATE_${value.state.toString()}"); + }, + ) + : const SizedBox.shrink(), + ], + ), + ); + }), + ); + }, + ); + }, + ); + }, + ); + }, + ); + }, + ); + } + + FormGroup detailBuildForm() => fb.group({ + genderKey: FormControl(value: "MB_ASSIGNED_TO_ALL"), + }); + + String convertToWard(String input) { + String tenant = Conversion.splitTenant(GlobalVariables.tenantId!); + String result = "${tenant}_ADMIN_${input.toUpperCase()}"; + return result; + } +} diff --git a/frontend/works_shg_app/lib/pages/employee/mb_history.dart b/frontend/works_shg_app/lib/pages/employee/mb_history.dart new file mode 100644 index 0000000000..afe52e311d --- /dev/null +++ b/frontend/works_shg_app/lib/pages/employee/mb_history.dart @@ -0,0 +1,400 @@ +import 'package:digit_components/theme/colors.dart'; +import 'package:digit_components/theme/digit_theme.dart'; +import 'package:digit_components/widgets/atoms/digit_action_dialog.dart'; +import 'package:digit_components/widgets/digit_elevated_button.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:intl/intl.dart'; +import 'package:works_shg_app/blocs/muster_rolls/get_muster_workflow.dart'; +import 'package:works_shg_app/models/muster_rolls/muster_workflow_model.dart'; +import 'package:works_shg_app/router/app_router.dart'; + +import '../../blocs/employee/mb/mb_detail_view.dart'; +import '../../blocs/localization/app_localization.dart'; +import '../../blocs/localization/localization.dart'; +import '../../utils/common_methods.dart'; +import '../../utils/employee/mb/mb_logic.dart'; +import '../../widgets/Back.dart'; +import '../../widgets/SideBar.dart'; +import '../../widgets/atoms/app_bar_logo.dart'; +import '../../widgets/drawer_wrapper.dart'; +import '../../widgets/mb/float_action_card.dart'; +import '../../widgets/mb/mb_detail_card.dart'; +import '../../widgets/mb/text_button_underline.dart'; +import '../../widgets/mb/workFlowButtonList.dart'; +import 'mb_inbox.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +class MBHistoryBookPage extends StatefulWidget { + final String contractNumber; + final String mbNumber; + final String? tenantId; + final MBScreen type; + const MBHistoryBookPage( + {super.key, + required this.contractNumber, + required this.mbNumber, + this.tenantId, + required this.type}); + + @override + State createState() => _MBHistoryBookPageState(); +} + +class _MBHistoryBookPageState extends State { + final ScrollController _scrollController = ScrollController(); + @override + void dispose() { + _scrollController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + var t = AppLocalizations.of(context); + return BlocBuilder( + builder: (context, state) { + return BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () { + return const SizedBox.shrink(); + }, + loaded: (value) { + final k = value.data + .where((element) => element.wfStatus == "APPROVED") + .toList(); + return Scaffold( + bottomNavigationBar: widget.type == MBScreen.create + ? const SizedBox.shrink() + : BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (mbWorkFlow) { + final g = mbWorkFlow + .musterWorkFlowModel?.processInstances; + return FloatActionCard( + actions: () { + DigitActionDialog.show( + context, + widget: CommonButtonCard( + g: g, + contractNumber: widget.contractNumber, + mbNumber: widget.mbNumber, + type: widget.type, + ), + ); + }, + amount: value.data.first.totalAmount != null + ? value.data.first.totalAmount!.roundToDouble() + .toStringAsFixed(2) + : "0.00", + openButtonSheet: () { + _openBottomSheet( + t, + context, + value.data.first.totalSorAmount!, + value.data.first.totalNorSorAmount!, + value.data.first.totalAmount!, + g, + widget.contractNumber, + widget.mbNumber, + (g != null && + (g.first.nextActions != null && + g.first.nextActions! + .isEmpty)) + ? false + : true); + }, + totalAmountText: t.translate( + i18.measurementBook.totalMbAmount), + showAction: (g != null && + (g.first.nextActions != null && + g.first.nextActions!.isEmpty)) + ? false + : true, + ); + }, + ); + }, + ), + backgroundColor: const DigitColors().seaShellGray, + appBar: AppBar( + titleSpacing: 0, + title: const AppBarLogo(), + ), + drawer: DrawerWrapper( + Drawer( + child: SideBar( + module: CommonMethods.getLocaleModules(), + ), + ), + ), + body: CustomScrollView( + controller: _scrollController, + slivers: [ + SliverPersistentHeader( + pinned: true, + delegate: MyHeaderDelegate( + child: Container( + color: const DigitColors().seaShellGray, + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Back( + widget: null, + callback: () { + context.router.pop(); + + //Navigator.of(context).pop(); + }, + ), + Padding( + padding: const EdgeInsets.only(left: 8.0), + child: Text( + t.translate(i18.measurementBook.mbHistory), + style: DigitTheme.instance.mobileTheme + .textTheme.headlineLarge, + ), + ), + ], + ), + ), + height: 100, + ), + ), + SliverList( + delegate: SliverChildBuilderDelegate( + (BuildContext context, int index) { + final adjustedIndex = + widget.type == MBScreen.update ? index : index; + if (adjustedIndex <= k.length) { + return CommonMBCard( + padding: const EdgeInsets.only(left:8.0,top: 8.0,right: 8.0,bottom: 0), + headLabel: + "${DateFormat('dd/MM/yyyy').format(DateTime.fromMillisecondsSinceEpoch(k[adjustedIndex].startDate!))} - ${DateFormat('dd/MM/yyyy').format(DateTime.fromMillisecondsSinceEpoch(k[adjustedIndex].endDate!))}", + items: { + t.translate(i18.measurementBook.mbNumber): + k[adjustedIndex].mbNumber, + t.translate(i18.common.date): + DateFormat('dd/MM/yyyy').format( + DateTime.fromMillisecondsSinceEpoch( + k[adjustedIndex].entryDate!)), + t.translate(i18.measurementBook.mbAmount): + k[adjustedIndex].totalAmount != null + ? double.parse((k[adjustedIndex] + .totalAmount!) + .toString()) + .toStringAsFixed(2) + : '0.00', + t.translate(i18.measurementBook.mbStatus): + k[adjustedIndex].wfStatus, + }, + widget: (k[adjustedIndex].musterRollNumber == + null || + k[adjustedIndex] + .musterRollNumber + .toString() == + "") + ? const SizedBox.shrink() + : CommonTextButtonUnderline( + label: t.translate(i18.home.musterRoll), + onPressed: () { + context.router + .push(MBMusterScreenRoute( + musterRollNumber: k[adjustedIndex] + .musterRollNumber + .toString(), + tenantId: widget.tenantId!, + )); + }, + ), + show: false, + ); + } else { + return null; // Return null for the skipped item + } + }, + childCount: widget.type == MBScreen.update + ? k.length + : k.length, + ), + ), + ], + ), + ); + }, + ); + }, + ); + }, + ); + } + + void _openBottomSheet( + AppLocalizations t, + BuildContext context, + double totalSorAmount, + double totalNonSorAmount, + double mbAmount, + List? processInstances, + String contractNumber, + String mbNumber, + bool showBtn, + ) { + showModalBottomSheet( + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(20))), + context: context, + builder: (BuildContext context) { + return Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + mainAxisSize: MainAxisSize.min, + children: [ + Container( + decoration: const BoxDecoration( + border: Border( + bottom: BorderSide(), + ), + ), + child: Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: ListTile( + title: Text( + // "Total SOR Amount", + t.translate(i18.measurementBook.totalSorAmount), + style: DigitTheme + .instance.mobileTheme.textTheme.headlineMedium, + ), + subtitle: Text( + t.translate(i18.measurementBook.forCurrentEntry), + style: + DigitTheme.instance.mobileTheme.textTheme.bodySmall, + ), + trailing: Text( + totalSorAmount!.toDouble().toStringAsFixed(2).toString(), + style: DigitTheme + .instance.mobileTheme.textTheme.headlineMedium, + ), + ), + ), + ), + const SizedBox( + height: 20, + ), + Container( + decoration: const BoxDecoration( + border: Border( + bottom: BorderSide(), + ), + ), + child: Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: ListTile( + title: Text( + // "Total Non SOR Amount", + t.translate(i18.measurementBook.totalNonSorAmount), + style: DigitTheme + .instance.mobileTheme.textTheme.headlineMedium, + ), + subtitle: Text( + t.translate(i18.measurementBook.forCurrentEntry), + style: + DigitTheme.instance.mobileTheme.textTheme.bodySmall, + ), + trailing: Text( + totalNonSorAmount! + .toDouble() + .toStringAsFixed(2) + .toString(), + style: DigitTheme + .instance.mobileTheme.textTheme.headlineMedium, + ), + ), + ), + ), + const SizedBox( + height: 15, + ), + Container( + height: 80, + width: MediaQuery.sizeOf(context).width, + decoration: BoxDecoration( + //color: Colors.red, + borderRadius: const BorderRadius.all( + Radius.circular(10), + ), + border: Border.all( + color: Colors.grey, + width: 2, + ), + ), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + flex: 4, + child: ListTile( + title: Text( + // "Total MB Amount", + t.translate(i18.measurementBook.totalMbAmount), + style: DigitTheme + .instance.mobileTheme.textTheme.headlineMedium, + ), + subtitle: Text( + t.translate(i18.measurementBook.forCurrentEntry), + style: DigitTheme + .instance.mobileTheme.textTheme.bodySmall, + ), + ), + ), + Expanded( + flex: 4, + child: Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Text( + mbAmount!.roundToDouble().toStringAsFixed(2), + style: DigitTheme.instance.mobileTheme.textTheme + .headlineMedium, + ), + ], + )), + ], + ), + ), + ), + const SizedBox( + height: 15, + ), + showBtn + ? DigitElevatedButton( + child: Text(t.translate(i18.measurementBook.mbAction)), + onPressed: () { + Navigator.of(context).pop(); + DigitActionDialog.show( + context, + widget: CommonButtonCard( + g: processInstances, + contractNumber: contractNumber, + mbNumber: mbNumber, + type: widget.type, + ), + ); + }) + : const SizedBox.shrink(), + ], + ), + ); + }, + ); + } +} diff --git a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart new file mode 100644 index 0000000000..296b6ab4bd --- /dev/null +++ b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart @@ -0,0 +1,545 @@ +import 'package:digit_components/digit_components.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:works_shg_app/blocs/employee/mb/project_type.dart'; +import 'package:works_shg_app/blocs/localization/localization.dart'; +import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/utils/constants.dart'; +import 'package:works_shg_app/utils/employee/mb/mb_logic.dart'; +import 'package:works_shg_app/utils/employee/support_services.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; +import 'package:works_shg_app/widgets/atoms/app_bar_logo.dart'; +import 'package:works_shg_app/widgets/atoms/empty_image.dart'; +import 'package:works_shg_app/widgets/drawer_wrapper.dart'; + +import '../../blocs/employee/mb/measurement_book.dart'; +import '../../blocs/localization/app_localization.dart'; +import '../../blocs/wage_seeker_registration/wage_seeker_location_bloc.dart'; +import '../../utils/common_methods.dart'; +import '../../widgets/Back.dart'; +import '../../widgets/SideBar.dart'; +import '../../widgets/mb/mb_detail_card.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +class MeasurementBookInboxPage extends StatefulWidget { + const MeasurementBookInboxPage({super.key}); + + @override + State createState() => + _MeasurementBookInboxPageState(); +} + +class _MeasurementBookInboxPageState extends State { + final ScrollController _scrollController = ScrollController(); + List items = []; // List to hold items + int pageCount = 0; // Initial page count + bool isLoading = false; // Loading indicator + + @override + void initState() { + context + .read() + .add(ProjectTypeEvent(tenantId: GlobalVariables.tenantId!)); + + context.read().add( + MeasurementBookInboxBlocEvent( + businessService: "MB", + limit: 10, + moduleName: 'measurement-module', + offset: pageCount, + tenantId: GlobalVariables.tenantId!, + ), + ); + + + + context.read().add( + LocationEventWageSeeker(tenantId: GlobalVariables.tenantId!), + ); + _scrollController.addListener(_scrollListener); + + super.initState(); + } + + @override + void dispose() { + _scrollController.removeListener(_scrollListener); + _scrollController.dispose(); + super.dispose(); + } + + void _scrollListener() { + if (_scrollController.position.pixels == + _scrollController.position.maxScrollExtent) { + _addRandomData(); + } + } + + void _addRandomData() { + int s = pageCount + 10; + final state = context.read().state; + state.maybeMap( + orElse: () => {}, + loaded: (value) { + if (value.search && value.data.length==1) { + context.read().add( + MeasurementBookInboxSearchRepeatBlocEvent( + businessService: "MB", + limit: 10, + moduleName: 'measurement-module', + offset: value.data['inbox']!['offset']+10, + tenantId: GlobalVariables.tenantId!, + ), + ); + } else { + context.read().add( + MeasurementBookInboxBlocEvent( + businessService: "MB", + limit: 10, + moduleName: 'measurement-module', + offset: s, + tenantId: GlobalVariables.tenantId!, + ), + ); + } + }, + ); + + setState(() { + pageCount = s; + }); + } + + @override + Widget build(BuildContext context) { + var t = AppLocalizations.of(context); + return BlocBuilder( + builder: (context, localizationState) { + return Scaffold( + floatingActionButtonLocation: + FloatingActionButtonLocation.centerDocked, + backgroundColor: const DigitColors().seaShellGray, + floatingActionButton: + BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () { + return const SizedBox.shrink(); + }, + loaded: (value) { + if (value.mbInboxResponse.items!.length > 19) { + return TextButton.icon( + style: TextButton.styleFrom( + backgroundColor: const DigitColors().white, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(20), + side: BorderSide( + color: const DigitColors().burningOrange), + ), + ), + label: Text(t.translate(i18.measurementBook.backToTop)), + onPressed: () { + _scrollController.animateTo( + 0.0, + duration: const Duration(milliseconds: 800), + curve: Curves.easeInOut, + ); + }, + icon: SvgPicture.asset(Constants.doubleArrow), + ); + } else { + return const SizedBox.shrink(); + } + }, + ); + }, + ), + appBar: AppBar( + titleSpacing: 0, + title: const AppBarLogo(), + ), + drawer: DrawerWrapper( + Drawer( + child: SideBar( + module: CommonMethods.getLocaleModules(), + ), + ), + ), + body: BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () { + return const SizedBox.shrink(); + }, + loaded: (mbInboxResponse) { + return CustomScrollView( + controller: _scrollController, + slivers: [ + SliverPersistentHeader( + floating: true, + pinned: true, + delegate: MyHeaderDelegate( + child: Container( + color: const DigitColors().seaShellGray, + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Back( + // widget: null, + callback: () { + context.router.pop(); + // Navigator.of(context).pop(); + //context.router.push(const HomeRoute()); + }, + ), + Padding( + padding: const EdgeInsets.only(left: 17.0), + child: Text( + "${t.translate(i18.measurementBook.mbInbox)} (${mbInboxResponse.mbInboxResponse.totalCount ?? 0})", + style: DigitTheme.instance.mobileTheme + .textTheme.headlineLarge, + ), + ), + Padding( + padding: const EdgeInsets.only( + left: 0.0, right: 8.0, top: 10.0), + child: Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + GestureDetector( + onTap: () { + setState(() { + pageCount = 0; + }); + context.router + .push(const MBFilterRoute()); + }, + child: Row( + mainAxisAlignment: + MainAxisAlignment.start, + crossAxisAlignment: + CrossAxisAlignment.center, + children: [ + TextButton.icon( + label: Text( + t.translate( + i18.common.filter), + style: DigitTheme + .instance + .mobileTheme + .textTheme + .labelLarge! + .copyWith( + color: const DigitColors() + .burningOrange, + ), + textDirection: + TextDirection.ltr, + ), + onPressed: () { + context.router.push( + const MBFilterRoute()); + }, + icon: const Icon( + Icons.filter_alt, + textDirection: + TextDirection.ltr, + )), + mbInboxResponse.search + ? IconButton( + onPressed: () { + pageCount = 0; + context + .read< + MeasurementInboxBloc>() + .add( + MeasurementBookInboxBlocEvent( + businessService: + "MB", + limit: 10, + moduleName: + 'measurement-module', + offset: pageCount, + tenantId: + GlobalVariables + .tenantId!, + ), + ); + }, + icon: Icon( + Icons.restore_outlined, + color: const DigitColors() + .burningOrange, + ), + ) + : const SizedBox.shrink(), + ], + ), + ), + TextButton.icon( + label: Text( + t.translate( + i18.measurementBook.sort), + style: DigitTheme + .instance + .mobileTheme + .textTheme + .labelLarge! + .copyWith( + color: const DigitColors() + .burningOrange, + ), + ), + + // color: const DigitColors() + // .burningOrange, + onPressed: () { + Conversion.openSortingModal(context, + listData: Conversion.sortMB, + sortType: SortType.mbSort); + }, + icon: + SvgPicture.asset(Constants.sort)), + + // Row( + // children: [ + // IconButton( + // color: const DigitColors() + // .burningOrange, + // onPressed: () { + // _openSortingModal(); + // }, + // icon: SvgPicture.asset(Constants.sort)), + // Text( + // "Sort", + // style: DigitTheme + // .instance + // .mobileTheme + // .textTheme + // .labelLarge! + // .copyWith( + // color: const DigitColors() + // .burningOrange, + // ), + // ), + // ], + // ), + ], + ), + ), + ], + ), + ), + height: 150, + ), + ), + mbInboxResponse!.mbInboxResponse.items!.isEmpty + ? SliverList( + delegate: SliverChildBuilderDelegate( + (BuildContext context, int index) { + // Display items + + return Center( + child: EmptyImage( + align: Alignment.center, + label: t.translate(i18.measurementBook.mbNotFound), + ), + ); + }, + childCount: 1, + ), + ) + : SliverList( + delegate: SliverChildBuilderDelegate( + (BuildContext context, int index) { + // Display items + if (index == + (mbInboxResponse.isLoading + ? mbInboxResponse.mbInboxResponse! + .items!.length + : mbInboxResponse.mbInboxResponse! + .items!.length - + 1) && + mbInboxResponse.isLoading) { + // Display loading indicator + return Container( + padding: const EdgeInsets.all(16.0), + alignment: Alignment.center, + child: const CircularProgressIndicator(), + ); + } + + return CommonMBCard( + widget: Center( + child: SizedBox( + width: MediaQuery.sizeOf(context).width, + child: OutlinedButton( + style: OutlinedButton.styleFrom( + side: BorderSide( + width: 1.0, + color: const DigitColors() + .burningOrange, + style: BorderStyle.solid, + ), + ), + child: Text(t.translate( + i18.measurementBook.openMbBook)), + onPressed: () { + final contract = mbInboxResponse + .mbInboxResponse + .items?[index] + .businessObject + ?.contract + ?.contractNumber ?? + ""; + final mbNumber = mbInboxResponse + .mbInboxResponse + .items?[index] + .businessObject + ?.measurementNumber ?? + ""; + context.router.push(MBDetailRoute( + contractNumber: contract, + mbNumber: mbNumber, + tenantId: + GlobalVariables.tenantId, + type: MBScreen.update, + )); + }, + ), + ), + ), + items: { + t.translate(i18.measurementBook.mbNumber): + mbInboxResponse + .mbInboxResponse + .items?[index] + .businessObject + ?.measurementNumber ?? + "", + t.translate(i18.measurementBook + .projectDescription): mbInboxResponse + .mbInboxResponse + .items?[index] + .businessObject + ?.contract + ?.additionalDetails + ?.projectDesc ?? + "", + t.translate(i18.common.assignee): + mbInboxResponse + .mbInboxResponse + .items?[index] + .processInstance + ?.assignes + ?.first + .name ?? + "NA", + t.translate(i18.measurementBook + .workflowState): mbInboxResponse + .mbInboxResponse + .items?[index] + .processInstance + ?.state + ?.state != + null + ? t.translate( + "MB_WFMB_STATE_${mbInboxResponse.mbInboxResponse.items![index].processInstance!.state!.state!}") + : "", + t.translate(i18.measurementBook.mbAmount): + mbInboxResponse + .mbInboxResponse + .items?[index] + .businessObject + ?.measurementAdditionalDetail + ?.totalAmount + ?.roundToDouble() + .toStringAsFixed(2) ?? + "0.00" + }, + show: true, + sla: mbInboxResponse + .mbInboxResponse + .items?[index] + .businessObject + ?.serviceSla ?? + 0, + ); + }, + childCount: mbInboxResponse.isLoading + ? mbInboxResponse! + .mbInboxResponse.items!.length + + 1 + : mbInboxResponse! + .mbInboxResponse.items!.length, + ), + ), + ], + ); + }, + loading: (value) { + return const Center( + child: CircularProgressIndicator.adaptive(), + ); + }, + ); + }, + ), + ); + }, + ); + } + + // TODO:[unused code] + + // Future filterDialog(BuildContext context) { + // return showDialog( + // context: context, + // builder: (context) { + // return AlertDialog( + // titlePadding: EdgeInsets.zero, + // insetPadding: EdgeInsets.only(top: AppBar().preferredSize.height), + // title: const Text("sd"), + // contentPadding: EdgeInsets.zero, + // content: Card( + // child: SizedBox( + // height: double.maxFinite, + // width: MediaQuery.of(context).size.width, + // child: const Center( + // child: Text("Loading"), + // ), + // ), + // ), + // ); + // }, + // ); + // } +} + +class MyHeaderDelegate extends SliverPersistentHeaderDelegate { + final double height; + final Widget child; + + MyHeaderDelegate({required this.child, required this.height}); + + @override + Widget build( + BuildContext context, double shrinkOffset, bool overlapsContent) { + return child; + } + + @override + double get maxExtent => height; + + @override + double get minExtent => height; + + @override + bool shouldRebuild(SliverPersistentHeaderDelegate oldDelegate) { + return true; + } +} diff --git a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart new file mode 100644 index 0000000000..24ee0e216b --- /dev/null +++ b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart @@ -0,0 +1,652 @@ +import 'package:collection/collection.dart'; +import 'package:digit_components/theme/digit_theme.dart'; +import 'package:digit_components/widgets/widgets.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/blocs/localization/localization.dart'; +import 'package:works_shg_app/blocs/muster_rolls/get_muster_workflow.dart'; +import 'package:works_shg_app/blocs/muster_rolls/muster_roll_pdf.dart'; +import 'package:works_shg_app/blocs/muster_rolls/search_muster_roll.dart'; +import 'package:works_shg_app/models/muster_rolls/muster_workflow_model.dart'; +import 'package:works_shg_app/utils/common_methods.dart'; +import 'package:works_shg_app/utils/date_formats.dart'; +import 'package:works_shg_app/utils/models/track_attendance_payload.dart'; +import 'package:works_shg_app/widgets/CircularButton.dart'; +import 'package:works_shg_app/widgets/SideBar.dart'; +import 'package:works_shg_app/widgets/WorkDetailsCard.dart'; +import 'package:works_shg_app/widgets/atoms/app_bar_logo.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; +import 'package:works_shg_app/widgets/atoms/digit_timeline.dart'; +import 'package:works_shg_app/widgets/molecules/digit_table.dart' as shg_app; +import '../../models/attendance/attendee_model.dart'; +import '../../models/file_store/file_store_model.dart'; +import '../../utils/common_widgets.dart'; +import '../../utils/constants.dart'; +import '../../utils/models.dart'; +import '../../widgets/Back.dart'; +import '../../widgets/atoms/table_dropdown.dart'; +import '../../widgets/drawer_wrapper.dart'; + +class MBMusterScreenPage extends StatefulWidget { + final String tenantId; + final String musterRollNumber; + const MBMusterScreenPage( + {super.key, required this.tenantId, required this.musterRollNumber}); + + @override + State createState() => _MBMusterScreenPageState(); +} + +class _MBMusterScreenPageState extends State { + List> projectDetails = []; + List newList = []; + List tableData = []; + List dates = []; + List timeLineAttributes = []; + + @override + void initState() { + + context.read().add(MbSearchMusterRollEvent( + musterRollNumner: widget.musterRollNumber, tenantId: widget.tenantId)); + context.read().add( + FetchMBWorkFlowEvent( + tenantId: widget.tenantId, + mbNumber: widget.musterRollNumber), + ); + + //TODO:[if bug comes then we will uncomment this ] + // context.read().add(MbSearchMusterRollEvent( + // musterRollNumner: widget.musterRollNumber, tenantId: widget.tenantId)); + // context.read().add( + // GetMusterWorkflowEvent( + // tenantId: widget.tenantId, + // musterRollNumber: widget.musterRollNumber, + // musterSentBackCode: "PENDINGFORVERIFICATION"), + // ); + + + //end + + super.initState(); + } + + @override + void dispose() { + // TODO: implement dispose + newList.clear(); + tableData.clear(); + timeLineAttributes.clear(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + var width = MediaQuery.of(context).size.width < 760 + ? 150.0 + : (MediaQuery.of(context).size.width / 7.5); + var t = AppLocalizations.of(context); + + return BlocBuilder( + builder: (context, localState) { + return Scaffold( + appBar: AppBar( + titleSpacing: 0, + title: const AppBarLogo(), + ), + drawer: DrawerWrapper(Drawer( + child: SideBar( + module: CommonMethods.getLocaleModules(), + ))), + body: BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) { + projectDetails = value.musterRollsModel!.musterRoll! + .map((e) => { + i18.attendanceMgmt.musterRollId: e.musterRollNumber, + i18.workOrder.workOrderNo: + e.musterAdditionalDetails?.contractId ?? + i18.common.noValue, + i18.attendanceMgmt.projectId: + e.musterAdditionalDetails?.projectId ?? + i18.common.noValue, + i18.attendanceMgmt.projectName: + e.musterAdditionalDetails?.projectName ?? + i18.common.noValue, + i18.attendanceMgmt.projectDesc: + e.musterAdditionalDetails?.projectDesc ?? 'NA', + i18.attendanceMgmt.musterRollPeriod: + '${DateFormats.timeStampToDate(e.startDate, format: "dd/MM/yyyy")} - ${DateFormats.timeStampToDate(e.endDate, format: "dd/MM/yyyy")}', + i18.common.status: + 'CBO_MUSTER_${e.musterRollStatus}', + }) + .toList(); + // table + + List attendeeList = []; + + if (value.musterRollsModel!.musterRoll!.first + .individualEntries!.isNotEmpty) { + attendeeList = value.musterRollsModel!.musterRoll!.first.individualEntries! + .where((est) => est.attendanceEntries != null) + .map((e) => AttendeesTrackList( + name: e.musterIndividualAdditionalDetails?.userName ?? + '', + aadhaar: e.musterIndividualAdditionalDetails?.aadharNumber ?? + '', + gender: e.musterIndividualAdditionalDetails?.gender ?? + '', + individualId: e.individualId, + skillCodeList: [e.musterIndividualAdditionalDetails?.skillCode ?? ''] ?? + [], + individualGaurdianName: + e.musterIndividualAdditionalDetails?.fatherName ?? + e.musterIndividualAdditionalDetails + ?.fatherName ?? + '', + id: e.id ?? + (value.musterRollsModel!.musterRoll!.first.individualEntries!.any((i) => i.individualId == e.individualId) + ? value.musterRollsModel!?.musterRoll!.first.individualEntries?.firstWhere((s) => s.individualId == e.individualId).id ?? '' + : ''), + skill: value.musterRollsModel!.musterRoll!.first.individualEntries!.any((i) => i.individualId == e.individualId) ? value.musterRollsModel!?.musterRoll!.first.individualEntries?.firstWhere((s) => s.individualId == e.individualId).musterIndividualAdditionalDetails?.skillCode ?? '' : '', + monEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Mon').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + monExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Mon').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + monIndex: e.attendanceEntries != null ? e.attendanceEntries!.lastWhere((att) => DateFormats.getDay(att.time!) == 'Mon').attendance ?? -1 : -1, + tueEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Tue').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + tueExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Tue').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + tueIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Tue').attendance ?? -1 : -1, + wedEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Wed').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + wedExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Wed').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + wedIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Wed').attendance ?? -1 : -1, + thuEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Thu').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + thuExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Thu').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + thursIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Thu').attendance ?? -1 : -1, + friEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Fri').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + friExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Fri').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + friIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Fri').attendance ?? -1 : -1, + satEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sat').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + satExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sat').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + satIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sat').attendance ?? -1 : -1, + sunEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sun').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + sunExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sun').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + sunIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sun').attendance ?? -1 : -1, + auditDetails: e.attendanceEntries != null ? e.attendanceEntries?.first.auditDetails : null)) + .toList(); + } + + newList.clear(); + for (var i = 0; i < attendeeList.length; i++) { + var item1 = attendeeList[i]; + TrackAttendanceTableData data = TrackAttendanceTableData(); + data.name = item1.name; + data.individualGaurdianName = + item1.individualGaurdianName ?? ''; + data.aadhaar = item1.aadhaar; + data.gender = item1.gender; + data.individualId = item1.individualId ?? ''; + data.id = item1.id ?? ''; + data.skill = item1.skill; + data.skillCodeList = item1.skillCodeList ?? []; + data.monIndex = item1.monIndex; + data.monEntryId = item1.monEntryId; + data.monExitId = item1.monExitId; + data.tueIndex = item1.tueIndex; + data.tueEntryId = item1.tueEntryId; + data.tueExitId = item1.tueExitId; + data.wedIndex = item1.wedIndex; + data.wedEntryId = item1.wedEntryId; + data.wedExitId = item1.wedExitId; + data.thuIndex = item1.thursIndex; + data.thuEntryId = item1.thuEntryId; + data.thuExitId = item1.thuExitId; + data.friIndex = item1.friIndex; + data.friEntryId = item1.friEntryId; + data.friExitId = item1.friExitId; + data.satIndex = item1.satIndex; + data.satEntryId = item1.satEntryId; + data.satExitId = item1.satExitId; + data.sunIndex = item1.sunIndex; + data.sunEntryId = item1.sunEntryId; + data.sunExitId = item1.sunExitId; + data.auditDetails = item1.auditDetails; + newList.add(data); + } + dates = DateFormats.getFormattedDatesOfAWeek( + value.musterRollsModel!.musterRoll!.first.startDate!, + value.musterRollsModel!.musterRoll!.first.endDate!); + + tableData = getAttendanceData(newList); + // + return CustomScrollView( + slivers: [ + SliverList( + delegate: SliverChildListDelegate( + [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Back( + backLabel: AppLocalizations.of(context) + .translate(i18.common.back), + callback: () { + Navigator.of(context).pop(); + }, + ), + CommonWidgets.downloadButton( + AppLocalizations.of(context) + .translate(i18.common.download), () { + context.read().add( + PDFEventMusterRoll( + musterRollNumber: + widget.musterRollNumber, + tenantId: widget.tenantId)); + }) + ], + ), + WorkDetailsCard( + projectDetails, + showButtonLink: true, + musterBackToCBOCode: "PENDINGFORVERIFICATION", + linkLabel: "", + onLinkPressed: () {}, + ), + ], + ), + ), +//TODO: next phase + + SliverToBoxAdapter( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + //workflow + BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: SizedBox.shrink, + loaded: (value) { + // final modifiedData = value + // .musterWorkFlowModel!.processInstances! + // .where((element) => + // element.action != + // Constants.saveAsDraft) + // .toList(); + // if (modifiedData + // .first + // .nextActions != + // null || + // modifiedData + // .first + // .nextActions != + // [] || + // modifiedData + // .first + // .nextActions! + // .isNotEmpty) { + // modifiedData.insert( + // 0, + // value.musterWorkFlowModel! + // .processInstances!.first); + // } + + // final timeLineAttributes = modifiedData + // .mapIndexed((i, e) => + // DigitTimelineOptions( + // title: t.translate(i == 0 + // ? e.workflowState?.state == + // "EDIT_RE_SUBMIT" + // ? 'WF_MB_STATUS_${e.workflowState?.state}' + // : 'WF_MB_STATUS_${e.workflowState?.state}' + // : 'WF_MB_STATUS_${e.action}'), + // subTitle: + // DateFormats.getTimeLineDate(e + // .auditDetails + // ?.lastModifiedTime ?? + // 0), + // isCurrentState: i == 0, + // comments: e.comment, + // documents: e.documents != null + // ? e.documents + // ?.map((d) => + // FileStoreModel( + // name: '', + // fileStoreId: d + // .documentUid)) + // .toList() + // : null, + // assignee: e.assigner?.name, + // mobileNumber: e.assigner != null + // ? '+91-${e.assigner?.mobileNumber}' + // : null, + // )) + // .toList(); + List modifiedData = value + .musterWorkFlowModel!.processInstances! + .where((element) => + element.action != + Constants.saveAsDraft) + .toList(); + // ..insert(0, value + // .musterWorkFlowModel! + // .processInstances!.first); + if (modifiedData.isNotEmpty && + (modifiedData.first.nextActions != + null && + modifiedData.first.nextActions! + .isNotEmpty)) { + modifiedData = [ + ...[modifiedData.first], + ...modifiedData + ]; + } + timeLineAttributes.clear(); + timeLineAttributes = modifiedData + .mapIndexed((i, e) => + DigitTimelineOptions( + title: t.translate((i == 0 && + e.action == "APPROVE") + ? e.workflowState?.state == + "EDIT_RE_SUBMIT" + ? 'WF_MB_STATUS_${e.workflowState?.state}' + : 'WF_MB_STATUS_${e.workflowState?.state}' + : i == 0 + ? e.workflowState + ?.state == + "EDIT_RE_SUBMIT" + ? 'WF_MB_STATUS_${e.workflowState?.state}' + : 'WF_MB_STATUS_${e.workflowState?.state}' + : 'WF_MB_STATUS_${e.action}'), + subTitle: (i == 0 && + e.action == "APPROVE") + ? DateFormats.getTimeLineDate(e + .auditDetails + ?.lastModifiedTime ?? + 0) + : i != 0 + ? DateFormats + .getTimeLineDate(e + .auditDetails + ?.lastModifiedTime ?? + 0) + : null, + isCurrentState: i == 0, + comments: (i == 0 && + e.action == "APPROVE") + ? e.comment + : i != 0 + ? e.comment + : null, + documents: (i == 0 && + e.action == "APPROVE") + ? e.documents != null + ? e.documents + ?.map((d) => + FileStoreModel( + name: '', + fileStoreId: d + .documentUid)) + .toList() + : null + : i != 0 + ? e.documents != null + ? e.documents + ?.map((d) => + FileStoreModel( + name: '', + fileStoreId: + d.documentUid)) + .toList() + : null + : null, + assignee: (i == 0 && + e.action == "APPROVE") + ? e.assigner?.name + : i != 0 + ? e.assigner?.name + : null, + mobileNumber: (i == 0 && + e.action == "APPROVE") + ? e.assigner != null + ? '+91-${e.assigner?.mobileNumber}' + : null + : i != 0 + ? e.assigner != null + ? '+91-${e.assigner?.mobileNumber}' + : null + : null, + )) + .toList(); + return timeLineAttributes.isNotEmpty + ? DigitCard( + child: ExpansionTile( + title: Padding( + padding: const EdgeInsets.only( + bottom: 8.0), + child: Text( + t.translate(i18 + .common.workflowTimeline), + style: DigitTheme + .instance + .mobileTheme + .textTheme + .headlineMedium, + ), + ), + children: [ + DigitTimeline( + timelineOptions: + timeLineAttributes, + ), + ], + ), + ) + : const SizedBox.shrink(); + // + }, + ); + }, + ), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.all(8.0), + child: shg_app.DigitTable( + headerList: headerList, + tableData: tableData, + leftColumnWidth: width, + rightColumnWidth: width * 10, + height: 58 + + (52.0 * (tableData.length + 0.2)), + scrollPhysics: + const NeverScrollableScrollPhysics(), + ), + ), + ]), + const Align( + alignment: Alignment.bottomCenter, + child: PoweredByDigit(), + ) + ])) + +// end + ], + ); + }, + loading: (value) { + //TODO + + return const Center( + child: CircularProgressIndicator.adaptive(), + ); + }, + error: (value) { + return const SizedBox.shrink(); + }, + ); + }, + ), + ); + }, + ); + } + + List get headerList => [ + TableHeader( + AppLocalizations.of(scaffoldMessengerKey.currentContext!) + .translate(i18.common.nameLabel), + apiKey: 'name', + ), + TableHeader( + AppLocalizations.of(scaffoldMessengerKey.currentContext!) + .translate(i18.common.fatherName), + apiKey: 'individualGaurdianName', + ), + TableHeader( + '${AppLocalizations.of(scaffoldMessengerKey.currentContext!).translate(i18.attendanceMgmt.skill)}*', + hide: false), + TableHeader( + AppLocalizations.of(scaffoldMessengerKey.currentContext!) + .translate(i18.common.mon), + subLabel: dates.isNotEmpty ? dates[0] : ''), + TableHeader( + AppLocalizations.of(scaffoldMessengerKey.currentContext!) + .translate(i18.common.tue), + subLabel: dates.isNotEmpty ? dates[1] : ''), + TableHeader( + AppLocalizations.of(scaffoldMessengerKey.currentContext!) + .translate(i18.common.wed), + subLabel: dates.isNotEmpty ? dates[2] : ''), + TableHeader( + AppLocalizations.of(scaffoldMessengerKey.currentContext!) + .translate(i18.common.thu), + subLabel: dates.isNotEmpty ? dates[3] : ''), + TableHeader( + AppLocalizations.of(scaffoldMessengerKey.currentContext!) + .translate(i18.common.fri), + subLabel: dates.isNotEmpty ? dates[4] : ''), + TableHeader( + AppLocalizations.of(scaffoldMessengerKey.currentContext!) + .translate(i18.common.sat), + subLabel: dates.isNotEmpty ? dates[5] : ''), + TableHeader( + AppLocalizations.of(scaffoldMessengerKey.currentContext!) + .translate(i18.common.sun), + subLabel: dates.isNotEmpty ? dates[6] : ''), + TableHeader( + AppLocalizations.of(scaffoldMessengerKey.currentContext!) + .translate(i18.common.total), + ) + ]; + + TableDataRow getAttendanceRow(TrackAttendanceTableData tableDataModel) { + return TableDataRow([ + TableData(label: tableDataModel.name, apiKey: tableDataModel.name), + TableData( + label: tableDataModel.individualGaurdianName, + apiKey: tableDataModel.individualGaurdianName), + TableData( + apiKey: tableDataModel.skill, + hide: false, + widget: DropDownDialog( + isDisabled: true || (tableDataModel.skillCodeList ?? []).isEmpty, + options: tableDataModel.skillCodeList ?? [], + label: i18.common.selectSkill, + selectedOption: tableDataModel.skill.toString(), + onChanged: (val) {}, + )), + TableData( + apiKey: tableDataModel.monIndex.toString(), + widget: CircularButton( + icon: Icons.circle_rounded, + size: 15, + viewOnly: true, + color: const Color.fromRGBO(0, 100, 0, 1), + index: tableDataModel.monIndex ?? 0.0, + isNotGreyed: false, + onTap: () {}), + ), + TableData( + widget: CircularButton( + icon: Icons.circle_rounded, + size: 15, + viewOnly: true, + color: const Color.fromRGBO(0, 100, 0, 1), + index: tableDataModel.tueIndex ?? 0, + isNotGreyed: false, + onTap: () {})), + TableData( + widget: CircularButton( + icon: Icons.circle_rounded, + viewOnly: true, + size: 15, + color: const Color.fromRGBO(0, 100, 0, 1), + index: tableDataModel.wedIndex ?? 0, + isNotGreyed: false, + onTap: () {})), + TableData( + widget: CircularButton( + icon: Icons.circle_rounded, + size: 15, + viewOnly: true, + color: const Color.fromRGBO(0, 100, 0, 1), + index: tableDataModel.thuIndex ?? 0, + isNotGreyed: false, + onTap: () {})), + TableData( + widget: CircularButton( + icon: Icons.circle_rounded, + size: 15, + viewOnly: true, + color: const Color.fromRGBO(0, 100, 0, 1), + index: tableDataModel.friIndex ?? 0, + isNotGreyed: false, + onTap: () {})), + TableData( + widget: CircularButton( + icon: Icons.circle_rounded, + size: 15, + viewOnly: true, + color: const Color.fromRGBO(0, 100, 0, 1), + index: tableDataModel.satIndex ?? 0, + isNotGreyed: false, + onTap: () {})), + TableData( + widget: CircularButton( + icon: Icons.circle_rounded, + size: 15, + viewOnly: true, + color: const Color.fromRGBO(0, 100, 0, 1), + index: tableDataModel.sunIndex ?? 0, + isNotGreyed: false, + onTap: () {})), + TableData( + label: (convertedValue(tableDataModel.monIndex!.toDouble()) + + convertedValue(tableDataModel.tueIndex!.toDouble()) + + convertedValue(tableDataModel.wedIndex!.toDouble()) + + convertedValue(tableDataModel.thuIndex!.toDouble()) + + convertedValue(tableDataModel.friIndex!.toDouble()) + + convertedValue(tableDataModel.satIndex!.toDouble()) + + convertedValue(tableDataModel.sunIndex!.toDouble())) + .toString(), + ) + ]); + } + + List getAttendanceData(List list) { + return list.map((e) => getAttendanceRow(e)).toList(); + } + + double convertedValue(double tableVal) { + if (tableVal < 0) { + return 0; + } else { + return tableVal; + } + } +} diff --git a/frontend/works_shg_app/lib/pages/employee/mb_wrapper.dart b/frontend/works_shg_app/lib/pages/employee/mb_wrapper.dart new file mode 100644 index 0000000000..a9edcbb0cb --- /dev/null +++ b/frontend/works_shg_app/lib/pages/employee/mb_wrapper.dart @@ -0,0 +1,29 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; + +import '../../blocs/employee/mb/measurement_book.dart'; +import '../../router/app_router.dart'; + +class MeasurementBookWrapperPage extends StatefulWidget with AutoRouteWrapper { + const MeasurementBookWrapperPage({super.key}); + + @override + State createState() => + _MeasurementBookWrapperPageState(); + + @override + Widget wrappedRoute(BuildContext context) { + return this; + } +} + +class _MeasurementBookWrapperPageState + extends State { + @override + Widget build(BuildContext context) { + return BlocProvider( + create: (context) => MeasurementInboxBloc(), + child: const AutoRouter(), + ); + } +} diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart new file mode 100644 index 0000000000..6772c0203f --- /dev/null +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart @@ -0,0 +1,334 @@ +import 'package:digit_components/digit_components.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:reactive_forms/reactive_forms.dart'; +import 'package:works_shg_app/blocs/employee/mb/measurement_book.dart'; +import 'package:works_shg_app/blocs/employee/work_order/workorder_book.dart'; +import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/blocs/organisation/org_search_bloc.dart'; +import 'package:works_shg_app/blocs/wage_seeker_registration/wage_seeker_location_bloc.dart'; +import 'package:works_shg_app/models/organisation/organisation_model.dart'; + +import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/utils/common_methods.dart'; +import 'package:works_shg_app/utils/employee/support_services.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; +import 'package:works_shg_app/widgets/SideBar.dart'; +import 'package:works_shg_app/widgets/atoms/app_bar_logo.dart'; +import 'package:works_shg_app/widgets/atoms/radio_button_list.dart'; + +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +import '../../../widgets/drawer_wrapper.dart'; + +class WOFilterPage extends StatefulWidget { + const WOFilterPage({super.key}); + + @override + State createState() => _WOFilterPageState(); +} + +class _WOFilterPageState extends State { + List? orgId; // Initialize ward list + // List workflow = []; // Initialize workflow list + List ward = []; + TextEditingController woNumber = TextEditingController(); + TextEditingController projectId = TextEditingController(); + TextEditingController projectName = TextEditingController(); + bool workShow = true; + bool project = true; + + String orgNumberKey = 'gender'; + String genderController = ''; + @override + void initState() { + super.initState(); + + woNumber.addListener(mbNumberUpload); + projectId.addListener(projectIdUpload); + projectName.addListener(projectNameUpload); + } + + void mbNumberUpload() { + if (woNumber.text != "" || projectId.text != "" || projectName.text != "") { + setState(() { + workShow = false; + }); + } else { + setState(() { + workShow = true; + }); + } + } + + void projectIdUpload() { + if (woNumber.text != "" || projectId.text != "" || projectName.text != "") { + setState(() { + workShow = false; + }); + } else { + setState(() { + workShow = true; + }); + } + } + + void projectNameUpload() { + if (woNumber.text != "" || projectId.text != "" || projectName.text != "") { + setState(() { + workShow = false; + }); + } else { + setState(() { + workShow = true; + }); + } + } + + @override + void dispose() { + // TODO: implement dispose + woNumber.removeListener(mbNumberUpload); + projectId.removeListener(projectIdUpload); + projectName.removeListener(projectNameUpload); + + woNumber.dispose(); + projectId.dispose(); + projectName.dispose(); + + super.dispose(); + } + + @override + Widget build(BuildContext context) { + var t = AppLocalizations.of(context); + + return BlocBuilder( + builder: (context, state) { + return state.maybeWhen( + orElse: () { + return const SizedBox.shrink(); + }, + loaded: (organization) { + return Scaffold( + appBar: AppBar( + titleSpacing: 0, + title: const AppBarLogo(), + ), + drawer: DrawerWrapper( + Drawer( + child: SideBar( + module: CommonMethods.getLocaleModules(), + ), + ), + ), + body: ReactiveFormBuilder( + form: detailBuildForm, + builder: (BuildContext context, FormGroup formGroup, + Widget? child) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: ScrollableContent( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + footer: Padding( + padding: const EdgeInsets.symmetric(horizontal: 8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + flex: 2, + child: DigitOutLineButton( + label: t.translate(i18.measurementBook.clear), + onPressed: () { + context.read().add( + WorkOrderInboxBlocCreateEvent( + businessService: "MB", + limit: 10, + moduleName: 'contract-service', + offset: 0, + tenantId: GlobalVariables.tenantId!, + ), + ); + context.router.pop(); + }, + ), + ), + Expanded( + flex: 2, + child: DigitElevatedButton( + child: Text( + t.translate(i18.measurementBook.filter)), + onPressed: () async { + Map payload; + String? selectedOrgId; + if (formGroup.value[orgNumberKey] != null) { + OrganisationModel data = + formGroup.value[orgNumberKey]! + as OrganisationModel; + selectedOrgId = data.id; + } + + payload = { + "tenantId": GlobalVariables.tenantId ?? + GlobalVariables.organisationListModel! + .organisations!.first.tenantId, + "contractNumber": woNumber.text, + // "orgIds": orgId != null + // ? orgId! + // .map((e) => e.orgNumber) + // .toList() + // : [], + "ward": ward, + "orgIds": selectedOrgId != null + ? [selectedOrgId] + : [], + "wfStatus": ["ACCEPTED","APPROVED"], + "pagination": { + "limit": "10", + "offSet": 0, + "sortBy": "lastModifiedTime", + "order": "desc" + } + }; + + context.read().add( + WorkOrderInboxSearchBlocEvent( + data: payload, + limit: 10, + offset: 0)); + context.router.pop(); + }, + ), + ) + ], + ), + ), + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + IconButton( + onPressed: () { + context.read().add( + WorkOrderInboxBlocCreateEvent( + businessService: "MB", + limit: 10, + moduleName: 'contract-service', + offset: 0, + tenantId: GlobalVariables.tenantId!, + ), + ); + context.router.pop(); + }, + icon: const Icon(Icons.close)), + ], + ), + Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + const Icon(Icons.filter_alt), + Padding( + padding: const EdgeInsets.only(left: 8.0), + child: Text( + t.translate(i18.measurementBook.filter), + style: DigitTheme.instance.mobileTheme + .textTheme.headlineLarge, + ), + ), + ], + ), + DigitTextField( + label: t + .translate(i18.measurementBook.workOrderNumber), + controller: woNumber, + ), + DigitSearchDropdown( + suggestionsCallback: (items, pattern) { + return items + .where((obj) => obj.name! + .toLowerCase() + .contains(pattern.toLowerCase())) + .toList(); + }, + label: t.translate(i18.measurementBook.cboName), + menuItems: organization!.organisations! + .map((e) => e) + .toList(), + formControlName: orgNumberKey, + valueMapper: (value) { + return value.name!; + }, + ), + BlocBuilder( + builder: (context, value) { + return value.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (location) { + return DigitDropdown( + onChanged: (value) { + setState(() { + ward.add(value!); + }); + }, + value: ward.isNotEmpty ? ward.first : null, + label: t.translate(i18.common.ward), + menuItems: location.location! + .tenantBoundaryList!.first.boundaryList! + .map((e) => e.code.toString()) + .toList(), + valueMapper: (value) { + return t.translate( + convertToWard(value.toString())); + // return value.toString(); + }, + ); + }, + loading: (value) { + return const SizedBox.shrink(); + }, + ); + }, + ) + ], + ), + ); + }), + ); + }, + loading: () { + return Scaffold( + appBar: AppBar( + titleSpacing: 0, + title: const AppBarLogo(), + ), + drawer: DrawerWrapper( + Drawer( + child: SideBar( + module: CommonMethods.getLocaleModules(), + ), + ), + ), + body: const Center( + child: CircularProgressIndicator.adaptive(), + ), + ); + }, + ); + }, + ); + } + + FormGroup detailBuildForm() => fb.group({ + orgNumberKey: FormControl(value: null), + }); + + String convertToWard(String input) { + String tenant = Conversion.splitTenant(GlobalVariables.tenantId!); + String result = "${tenant}_ADMIN_${input.toUpperCase()}"; + return result; + } +} diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart new file mode 100644 index 0000000000..4c5a70be9c --- /dev/null +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart @@ -0,0 +1,136 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:digit_components/digit_components.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/utils/employee/mb/mb_logic.dart'; +import 'package:works_shg_app/widgets/Back.dart'; + +import '../../../blocs/localization/app_localization.dart'; +import '../../../blocs/localization/localization.dart'; +import '../../../utils/common_methods.dart'; +import '../../../utils/common_widgets.dart'; +import '../../../widgets/SideBar.dart'; +import '../../../widgets/atoms/app_bar_logo.dart'; +import '../../../widgets/drawer_wrapper.dart'; +import '../../../widgets/work_order/work_order_card.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +class WorkOrderDetailPage extends StatefulWidget { + const WorkOrderDetailPage({super.key}); + + @override + State createState() => _WorkOrderDetailPageState(); +} + +class _WorkOrderDetailPageState extends State { + @override + Widget build(BuildContext context) { + var t = AppLocalizations.of(context); + return Scaffold( + bottomNavigationBar: Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Container( + height: 60, + decoration: BoxDecoration(color: const DigitColors().white), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: DigitElevatedButton( + child: Text(t.translate(i18.measurementBook.createMb)), + onPressed: () { + context.router.push(MBDetailRoute( + contractNumber: '', + mbNumber: '', + type: MBScreen.create, + )); + }, + ), + ), + ), + ), + appBar: AppBar( + titleSpacing: 0, + title: const AppBarLogo(), + ), + drawer: DrawerWrapper( + Drawer(child: SideBar(module: CommonMethods.getLocaleModules()))), + body: BlocBuilder( + builder: (context, state) { + return ScrollableContent( + header: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Back( + backLabel: + AppLocalizations.of(context).translate(i18.common.back), + callback: () { + // context.router.popUntilRouteWithPath('home') ; + // context.router.push(const WorkOrderRoute()); + context.router.pop(); + }, + ), + CommonWidgets.downloadButton( + AppLocalizations.of(context).translate(i18.common.download), + () { + // context.read().add( + // PDFEventWorkOrder( + // contractId: widget.contractNumber, + // tenantId: contracts.first.tenantId)); + }) + ], + ), + children: [ + Padding( + padding: const EdgeInsets.all(8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + "Work Order Details", + style: DigitTheme + .instance.mobileTheme.textTheme.headlineLarge, + ), + ], + ), + ), + const WorkOrderCard( + items: { + "Work Order Number": "we#12", + "Project Name": "sa", + "ProjectID": "123@#", + "Location": "MG Road", + "Project Type": "Wall Paintng", + "Project Description": "Wall Painting in Ward 1" + }, + ), + const WorkOrderCard( + headLabel: "Contact Details", + items: { + "Name of CBO": "we#12", + "Role of CBO": "sa", + "Name of officer in-charge": "123@#", + "Desgination of officer in-charge": "MG Road", + "Completion Period": "Wall Paintng", + "Work Value": "Wall Painting in Ward 1" + }, + ), + const WorkOrderCard( + headLabel: "Work Timelines", + items: { + "Name of CBO": "we#12", + "Role of CBO": "sa", + "Name of officer in-charge": "123@#", + "Desgination of officer in-charge": "MG Road", + "Completion Period": "Wall Paintng", + "Work Value": "Wall Painting in Ward 1" + }, + ) + ], + ); + }, + ), + ); + } +} diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart new file mode 100644 index 0000000000..cbc4458022 --- /dev/null +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart @@ -0,0 +1,592 @@ +import 'package:digit_components/digit_components.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:intl/intl.dart'; +import 'package:works_shg_app/blocs/employee/mb/mb_check.dart'; +import 'package:works_shg_app/blocs/employee/mb/mb_detail_view.dart'; +import 'package:works_shg_app/blocs/localization/localization.dart'; +import 'package:works_shg_app/blocs/organisation/org_search_bloc.dart'; +import 'package:works_shg_app/blocs/wage_seeker_registration/wage_seeker_location_bloc.dart'; +import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/utils/employee/mb/mb_logic.dart'; +import 'package:works_shg_app/utils/employee/support_services.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; +import 'package:works_shg_app/utils/notifiers.dart'; +import 'package:works_shg_app/widgets/atoms/app_bar_logo.dart'; +import 'package:works_shg_app/widgets/atoms/empty_image.dart'; +import 'package:works_shg_app/widgets/drawer_wrapper.dart'; + +import '../../../blocs/employee/work_order/workorder_book.dart'; +import '../../../blocs/localization/app_localization.dart'; +import '../../../utils/common_methods.dart'; +import '../../../utils/constants.dart'; +import '../../../widgets/Back.dart'; +import '../../../widgets/SideBar.dart'; +import '../../../widgets/mb/text_button_underline.dart'; +import '../../../widgets/work_order/work_order_card.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +class WorkOderInboxPage extends StatefulWidget { + const WorkOderInboxPage({super.key}); + + @override + State createState() => _WorkOderInboxPageState(); +} + +class _WorkOderInboxPageState extends State { + final ScrollController _scrollController = ScrollController(); + List items = []; // List to hold items + int pageCount = 0; // Initial page count + bool isLoading = false; // Loading indicator + + @override + void initState() { + context.read().add( + WorkOrderInboxBlocCreateEvent( + businessService: "MB", + limit: 10, + moduleName: 'contract-service', + offset: pageCount, + tenantId: GlobalVariables.tenantId!, + ), + ); + context.read().add( + LocationEventWageSeeker(tenantId: GlobalVariables.tenantId!), + ); + context.read().add( + SearchMbORGEvent(tenantId: GlobalVariables.tenantId!), + ); + + super.initState(); + _scrollController.addListener(_scrollListener); + } + + @override + void dispose() { + _scrollController.removeListener(_scrollListener); + _scrollController.dispose(); + super.dispose(); + } + + void _scrollListener() { + if (_scrollController.position.pixels == + _scrollController.position.maxScrollExtent) { + _addRandomData(); + } + } + + void _addRandomData() { + int s = pageCount + 10; + + final state = context.read().state; + + state.maybeMap( + orElse: () => {}, + loaded: (value) { + if (value.search && value.searchData['contractNumber'] == "") { + // context.read().add( + // WorkOrderInboxSearchRepeatBlocEvent( + // businessService: "Contract", + // limit: 10, + // moduleName: 'contract-module', + // offset: s, + // tenantId: GlobalVariables.tenantId!, + // ), + // ); + return; + } else if(value.search && value.searchData['contractNumber'] != ""){ + context.read().add( + WorkOrderInboxSearchRepeatBlocEvent( + businessService: "Contract", + limit: 10, + moduleName: 'contract-module', + offset: s, + tenantId: GlobalVariables.tenantId!, + ), + ); + } + else { + context.read().add( + WorkOrderInboxBlocCreateEvent( + businessService: "MB", + limit: 10, + moduleName: 'contract-service', + offset: s, + tenantId: GlobalVariables.tenantId!, + ), + ); + } + }, + ); + + // context.read().add( + // WorkOrderInboxBlocCreateEvent( + // businessService: "MB", + // limit: 10, + // moduleName: 'measurement-module', + // offset: s, + // tenantId: GlobalVariables.tenantId!, + // ), + // ); + + setState(() { + pageCount = s; + }); + } + + @override + Widget build(BuildContext context) { + var t = AppLocalizations.of(context); + return BlocBuilder( + builder: (context, state) { + return Scaffold( + floatingActionButton: + BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () { + return const SizedBox.shrink(); + }, + loaded: (value) { + if (value.contracts!.length > 19) { + return TextButton.icon( + style: TextButton.styleFrom( + backgroundColor: const DigitColors().white, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(20), + side: BorderSide( + color: const DigitColors().burningOrange), + ), + ), + label: Text(t.translate(i18.measurementBook.backToTop)), + onPressed: () { + _scrollController.animateTo( + 0.0, + duration: const Duration(milliseconds: 800), + curve: Curves.easeInOut, + ); + }, + icon: SvgPicture.asset(Constants.doubleArrow), + ); + } else { + return const SizedBox.shrink(); + } + }, + ); + }, + ), + floatingActionButtonLocation: + FloatingActionButtonLocation.centerDocked, + backgroundColor: const DigitColors().seaShellGray, + appBar: AppBar( + titleSpacing: 0, + title: const AppBarLogo(), + ), + drawer: DrawerWrapper( + Drawer( + child: SideBar( + module: CommonMethods.getLocaleModules(), + ), + ), + ), + body: BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) { + return CustomScrollView( + controller: _scrollController, + slivers: [ + SliverPersistentHeader( + pinned: true, + floating: true, + delegate: MyHeaderDelegate( + child: Container( + color: const DigitColors().seaShellGray, + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Back( + callback: () { + context.router.pop(); + }, + ), + Padding( + padding: const EdgeInsets.only(left: 20.0), + child: Text( + "${t.translate(i18.measurementBook.workOrderInbox)} (${value.contracts?.length ?? 0})", + style: DigitTheme.instance.mobileTheme + .textTheme.headlineLarge, + ), + ), + Padding( + padding: const EdgeInsets.only( + left: 20.0, top: 5.0), + child: Text( + t.translate(i18.measurementBook.searchHint), + style: DigitTheme.instance.mobileTheme + .textTheme.bodyLarge, + ), + ), + Padding( + padding: const EdgeInsets.only( + left: 4.0, right: 8.0, top: 2.0), + child: Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + TextButton.icon( + label: Text( + t.translate(i18.common.filter), + style: DigitTheme + .instance + .mobileTheme + .textTheme + .labelLarge! + .copyWith( + color: const DigitColors() + .burningOrange, + ), + ), + onPressed: () { + context.router + .push(const WOFilterRoute()); + }, + icon: const Icon( + Icons.filter_alt, + )), + // reset + value.search + ? IconButton( + onPressed: () { + pageCount = 0; + context + .read() + .add( + WorkOrderInboxBlocCreateEvent( + businessService: "MB", + limit: 10, + moduleName: + 'contract-service', + offset: pageCount, + tenantId: + GlobalVariables + .tenantId!, + ), + ); + }, + icon: Icon( + Icons.restore_outlined, + color: const DigitColors() + .burningOrange, + ), + ) + : const SizedBox.shrink(), + // + TextButton.icon( + label: Text( + t.translate( + i18.measurementBook.sort), + style: DigitTheme + .instance + .mobileTheme + .textTheme + .labelLarge! + .copyWith( + color: const DigitColors() + .burningOrange, + ), + ), + + // color: const DigitColors() + // .burningOrange, + onPressed: () { + Conversion.openSortingModal( + context, + listData: + Conversion.sortWorkOrder, + sortType: SortType.woSort, + ); + }, + icon: + SvgPicture.asset(Constants.sort)), + ], + ), + ), + ], + ), + ), + height: 200, + ), + ), + value.contracts!.isEmpty + ? SliverList( + delegate: SliverChildBuilderDelegate( + (BuildContext context, int index) { + return Center( + child: EmptyImage( + align: Alignment.center, + label: t.translate( + i18.common.workOrderNotFound), + ), + ); + }, + childCount: 1, + ), + ) + : SliverList( + delegate: SliverChildBuilderDelegate( + (BuildContext context, int index) { + if (index == + (value.isLoading + ? value.contracts!.length + : value.contracts!.length - 1) && + value.isLoading) { + return Container( + padding: const EdgeInsets.all(16.0), + alignment: Alignment.center, + child: const CircularProgressIndicator(), + ); + } + + return WorkOrderCard( + widget1: CommonTextButtonUnderline( + label: t.translate(i18.common.viewDetails), + onPressed: () { + // context + // .read() + // .add( + // MeasurementDetailBookBlocEvent( + // tenantId: value + // .contracts![index] + // .tenantId!, + // contractNumber: value + // .contracts![index] + // .contractNumber!, + // measurementNumber: "", + // screenType: MBScreen.create, + // ), + // ); + + // TODO:[previous code] + context.router + .push(ViewWorkDetailsRoute( + contractNumber: value + .contracts![index] + ?.contractNumber ?? + "", + wfStatus: "ACCEPTED", + )); + }, + ), + widget2: Padding( + padding: const EdgeInsets.only(top: 8.0), + child: BlocListener( + listener: (context, measureMentState) { + measureMentState.maybeMap( + orElse: () => + const SizedBox.shrink(), + loaded: (value) { + if (value.estimateStatus == + true && + // TODO:[currently removed the workorder status] + // value.workOrderStatus == + // true && + // + value.existingMB == true) { + context.router + .push(MBDetailRoute( + contractNumber: + value.workOrderNumber! + , + mbNumber: "", + tenantId: + GlobalVariables.tenantId, + type: MBScreen.create, + )); + } else { + // TODO:[currently removed the workorder status] + // if (value.workOrderStatus == + // false) { + // Notifiers.getToastMessage( + // context, + // t.translate(i18.workOrder + // .timeExtensionError), + // 'ERROR'); + // } else + + // end of it + if (value.estimateStatus == + false) { + Notifiers.getToastMessage( + context, + t.translate(i18.workOrder + .estimateRevisionError), + 'ERROR'); + } else { + Notifiers.getToastMessage( + context, + t.translate(i18.workOrder + .existingMBCreateError), + 'ERROR'); + } + } + }, + error: (value) { + Notifiers.getToastMessage(context, + value.error!, 'ERROR'); + }, + ); + }, + child: DigitElevatedButton( + child: Text(t.translate( + i18.measurementBook.createMb)), + onPressed: () { + final contract = value + .contracts?[index] + .contractNumber ?? + ""; + //TODO:[previous ] + // context.router.push(MBDetailRoute( + // contractNumber: contract, + // mbNumber: "", + // tenantId: + // GlobalVariables.tenantId, + // type: MBScreen.create, + // )); + // TODO:[working] + // context + // .read() + // .add( + // MeasurementDetailBookBlocEvent( + // tenantId: value + // .contracts![index] + // .tenantId!, + // contractNumber: contract, + // measurementNumber: "", + // screenType: MBScreen.create, + // ), + // ); + + context + .read() + .add(MeasurementCheckEvent( + tenantId: value + .contracts![index] + .tenantId!, + contractNumber: contract, + measurementNumber: "", + screenType: MBScreen.create, + )); + }, + ), + ), + ), + items: { + t.translate(i18.measurementBook + .workOrderNumberInbox): value + .contracts?[index] + .contractNumber ?? + "", + t.translate(i18.measurementBook + .projectDescription): value + .contracts?[index] + .additionalDetails + ?.projectDesc ?? + "", + t.translate(i18.measurementBook.cboName): + value + .contracts?[index] + ?.additionalDetails + ?.cboName ?? + "", + t.translate(i18.measurementBook.cboRole): + value + .contracts?[index] + ?.additionalDetails + ?.cboOrgNumber ?? + "", + t.translate(i18.measurementBook + .officerInChargeName): value + .contracts?[index] + .additionalDetails + ?.officerInChargeName + ?.name ?? + "NA", + t.translate(i18.common.startDate): value + .contracts?[index] + .startDate != + null + ? DateFormat('dd/MM/yyyy').format( + DateTime + .fromMillisecondsSinceEpoch( + value.contracts?[index] + .startDate! ?? + 0)) + : "NA", + t.translate(i18.common.endDate): value + .contracts?[index].endDate != + null + ? DateFormat('dd/MM/yyyy').format( + DateTime + .fromMillisecondsSinceEpoch( + value.contracts?[index] + .endDate! ?? + 0)) + : "NA", + t.translate( + i18.measurementBook.workValue): + "${NumberFormat('##,##,##,##,###').format(value.contracts?[index]!.additionalDetails!.totalEstimatedAmount!.roundToDouble() ?? 0.00)}.00", + t + .translate( + i18.common.status): t.translate( + "WF_WORK_ORDER_STATE_${value.contracts?[index].wfStatus}") + }, + ); + }, + childCount: value.isLoading + ? value!.contracts!.length + 1 + : value!.contracts!.length, + ), + ), + ], + ); + }, + loading: (value) => + const Center(child: CircularProgressIndicator.adaptive()), + ); + }, + ), + ); + }, + ); + } +} + +class MyHeaderDelegate extends SliverPersistentHeaderDelegate { + final double height; + final Widget child; + + MyHeaderDelegate({required this.child, required this.height}); + + @override + Widget build( + BuildContext context, double shrinkOffset, bool overlapsContent) { + return child; + } + + @override + double get maxExtent => height; + + @override + double get minExtent => height; + + @override + bool shouldRebuild(SliverPersistentHeaderDelegate oldDelegate) { + return true; + } +} diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_wrapper.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_wrapper.dart new file mode 100644 index 0000000000..562395baa7 --- /dev/null +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_wrapper.dart @@ -0,0 +1,22 @@ +import 'package:flutter/material.dart'; + +import '../../../router/app_router.dart'; + +class WorkOrderWrapperPage extends StatefulWidget with AutoRouteWrapper { + const WorkOrderWrapperPage({super.key}); + + @override + State createState() => _WorkOrderWrapperPageState(); + + @override + Widget wrappedRoute(BuildContext context) { + return this; + } +} + +class _WorkOrderWrapperPageState extends State { + @override + Widget build(BuildContext context) { + return const AutoRouter(); + } +} diff --git a/frontend/works_shg_app/lib/pages/home.dart b/frontend/works_shg_app/lib/pages/home.dart index 9ddde108d1..da3d87274f 100644 --- a/frontend/works_shg_app/lib/pages/home.dart +++ b/frontend/works_shg_app/lib/pages/home.dart @@ -3,6 +3,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:works_shg_app/blocs/auth/auth.dart'; +import 'package:works_shg_app/models/app_config/app_config_model.dart'; +import 'package:works_shg_app/models/employee/homeconfig/homeConfigModel.dart'; import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/common_methods.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' @@ -10,6 +12,7 @@ import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dar import 'package:works_shg_app/utils/notifiers.dart'; import 'package:works_shg_app/widgets/ButtonLink.dart'; import 'package:works_shg_app/widgets/atoms/app_bar_logo.dart'; +import 'package:works_shg_app/widgets/atoms/empty_image.dart'; import '../blocs/app_initilization/home_screen_bloc.dart'; import '../blocs/localization/app_localization.dart'; @@ -41,164 +44,284 @@ class _HomePage extends State { } afterViewBuild() async { - context.read().add( - SearchORGEvent(GlobalVariables.userRequestModel!['mobileNumber']), - ); - context.read().add( - const GetHomeScreenConfigEvent(), - ); + if (GlobalVariables.roleType == RoleType.cbo) { + context.read().add( + SearchORGEvent(GlobalVariables.userRequestModel!['mobileNumber']), + ); + context.read().add( + const GetHomeScreenConfigEvent(), + ); + } else { + context.read().add( + const GetEmpHomeScreenConfigEvent(), + ); + } } @override Widget build(BuildContext context) { var t = AppLocalizations.of(context); return Scaffold( - appBar: AppBar( - titleSpacing: 0, - title: BlocBuilder( - builder: (context, state) { - return state.maybeWhen( - orElse: () => Container(), - loaded: (OrganisationListModel? organisationListModel) { - return const AppBarLogo(); - }); - }, + appBar: AppBar( + titleSpacing: 0, + title: BlocBuilder( + builder: (context, state) { + return state.maybeWhen( + orElse: () => Container(), + loaded: (OrganisationListModel? organisationListModel) { + return const AppBarLogo(); + }); + }, + ), ), - ), - drawer: const DrawerWrapper(Drawer(child: SideBar())), - body: BlocBuilder( - builder: (context, localState) { + drawer: const DrawerWrapper(Drawer(child: SideBar())), + body: BlocBuilder( + builder: (context, localState) { return localState.maybeMap( orElse: () => const SizedBox.shrink(), loaded: (value) { - Languages selectedLan= value.languages!.firstWhere((element) => element.isSelected); - return BlocListener( - listener: (context, orgState) { - orgState.maybeWhen( - orElse: () => false, - error: (String? error) { - Notifiers.getToastMessage( - context, - t.translate(i18.common.noOrgLinkedWithMob), - 'ERROR'); - context.read().add(const AuthLogoutEvent()); - }, - loaded: - (OrganisationListModel? organisationListModel) async { - if ((organisationListModel?.organisations ?? []) - .isEmpty) { - Notifiers.getToastMessage( - context, - t.translate(i18.common.noOrgLinkedWithMob), - 'ERROR'); - context.read().add(const AuthLogoutEvent()); - } else { - - } - }); - }, - child: BlocBuilder( - builder: (context, state) { - return state.maybeWhen( - orElse: () => Container(), - loading: () => shg_loader.Loaders.circularLoader(context), - loaded: (OrganisationListModel? organisationListModel) { - return ScrollableContent( - footer: const Padding( - padding: EdgeInsets.all(16.0), - child: PoweredByDigit(), - ), - children: [ - DigitCard( - onPressed: null, - padding: - const EdgeInsets.fromLTRB(16, 16, 16, 16), - child: Align( - alignment: Alignment.topCenter, - child: BlocBuilder element.isSelected); + return BlocBuilder( + builder: (context, state) { + return state.maybeMap( + loaded: (value) { + if (value.roleType == RoleType.cbo) { + return BlocListener( + listener: (context, orgState) { + orgState.maybeWhen( + orElse: () => false, + error: (String? error) { + Notifiers.getToastMessage( + context, + t.translate(i18.common.noOrgLinkedWithMob), + 'ERROR'); + context + .read() + .add(const AuthLogoutEvent()); + }, + loaded: (OrganisationListModel? + organisationListModel) async { + if ((organisationListModel?.organisations ?? []) + .isEmpty) { + Notifiers.getToastMessage( + context, + t.translate( + i18.common.noOrgLinkedWithMob), + 'ERROR'); + context + .read() + .add(const AuthLogoutEvent()); + } else {} + }); + }, child: BlocBuilder( + builder: (context, state) { + return state.maybeWhen( + orElse: () => Container(), + loading: () => + shg_loader.Loaders.circularLoader(context), + loaded: (OrganisationListModel? + organisationListModel) { + return BlocBuilder( builder: (context, config) { return config.maybeWhen( - orElse: () => Container(), - loading: () => - shg_loader.Loaders.circularLoader( - context), - loaded: (List? - cboHomeScreenConfig) { - return Column( - mainAxisAlignment: - MainAxisAlignment.start, - crossAxisAlignment: - CrossAxisAlignment.center, - mainAxisSize: MainAxisSize.min, - children: cboHomeScreenConfig?.map( - (e) { - if (e.order == 1) { - return Column( - children: [ - Row( - mainAxisAlignment: - MainAxisAlignment - .spaceBetween, - children: [ - Text( - t.translate(i18 - .home - .mukta), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineLarge, - ), - SvgPicture.asset( - Constants - .muktaIcon) - ], - ), - ButtonLink( - t.translate( - e.label ?? ''), - getRoute( - e.key.toString(), - context, - selectedLan, - ), - ), - ], - ); - } else { - return ButtonLink( - t.translate( - e.label ?? ''), - getRoute( - e.key.toString(), - context, - selectedLan, - ), - ); - } - }, - ).toList() ?? - []); - }, - ); + orElse: () => Container(), + loading: () => + shg_loader.Loaders.circularLoader( + context), + loaded: (List? + cboHomeScreenConfig, + HomeConfigModel? homeConfigModel) { + // role based config + // if (value.roleType == RoleType.cbo) { + return cboBasedLayout( + cboHomeScreenConfig, + t, + context, + selectedLan, + ); + // } else { + // return empBasedLayout( + // context, homeConfigModel!,t); + // } + }); }, - ), - ), - ) - ], + ); + }); + })); + } else { + return BlocBuilder( + builder: (context, config) { + return config.maybeWhen( + orElse: () => Container(), + loading: () => + shg_loader.Loaders.circularLoader(context), + loaded: (List? + cboHomeScreenConfig, + HomeConfigModel? homeConfigModel) { + // role based config + if (value.roleType == RoleType.cbo) { + return cboBasedLayout( + cboHomeScreenConfig, + t, + context, + selectedLan, + ); + } else { + return empBasedLayout( + context, homeConfigModel!,t); + } + }); + }, ); - }, - ); - }, - ), + } + }, + orElse: () { + return const SizedBox.shrink(); + }, + ); + }, ); }, ); + })); + } + + Widget empBasedLayout(BuildContext context, HomeConfigModel homeConfigModel,AppLocalizations t) { + final List cards = _getItems(context, homeConfigModel); + if (cards.isNotEmpty) { + return ScrollableContent( + slivers: [ + SliverGrid( + delegate: SliverChildBuilderDelegate((context, index) { + // return _getItems(context, homeConfigModel).elementAt(index); + return cards.elementAt(index); + }, childCount: cards.length + // childCount: _getItems(context, homeConfigModel).length, + ), + gridDelegate: const SliverGridDelegateWithMaxCrossAxisExtent( + maxCrossAxisExtent: 170, + childAspectRatio: 105 / 129, + ), + ), + ], + ); + } else { + return Center( + child: Card( + child: Center( + child: EmptyImage( + align: Alignment.center, + label: t.translate(i18.measurementBook.noService), + ), + ), + )); + } + } + + List _getItems( + BuildContext context, HomeConfigModel homeConfigModel) { + /// TODO:[ref from health] + + final Map homeItemsMap = { + i18.measurementBook.mbMeasurementNumber: HomeItemCard( + icon: SvgPicture.asset(Constants.mbIcon), + label: i18.measurementBook.mbMeasurementNumber, + onPressed: () { + context.router.push( + const MeasurementBookInboxRoute(), + ); + // ScaffoldMessenger.of(context).showSnackBar(const SnackBar(content: Text("Employee"))); }, ), - ); + i18.measurementBook.mbWorkOrderLabel: HomeItemCard( + icon: SvgPicture.asset(Constants.workOrderIcon), + label: i18.measurementBook.mbWorkOrderLabel, + onPressed: () { + context.router.push( + const WorkOderInboxRoute(), + ); + }, + ) + }; + + // mukta + final homeItemsLabel = [ + i18.measurementBook.mbMeasurementNumber, + i18.measurementBook.mbWorkOrderLabel, + ]; + + final List filteredLabels = homeItemsLabel + .where((element) => homeConfigModel.homeActions + .map((e) { + if (e.parentModule == "cards") { + return e.displayName; + } + }) + .toList() + .contains(element)) + .toList(); + + final List widgetList = + filteredLabels.map((label) => homeItemsMap[label]!).toList(); + + return widgetList; + } + +// + ScrollableContent cboBasedLayout( + List? cboHomeScreenConfig, + AppLocalizations t, + BuildContext context, + Languages selectedLan, + ) { + return ScrollableContent( + footer: const Padding( + padding: EdgeInsets.all(16.0), + child: PoweredByDigit(), + ), + children: [ + DigitCard( + onPressed: null, + padding: const EdgeInsets.fromLTRB(16, 16, 16, 16), + child: Align( + alignment: Alignment.topCenter, + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: cboHomeScreenConfig?.map((e) { + if (e.order == 1) { + return Column( + children: [ + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Text( + t.translate(i18.home.mukta), + style: DigitTheme.instance.mobileTheme + .textTheme.headlineLarge, + ), + SvgPicture.asset(Constants.muktaIcon) + ], + ), + ButtonLink( + t.translate(e.label ?? ''), + getRoute( + e.key.toString(), context, selectedLan)) + ], + ); + } else { + return ButtonLink(t.translate(e.label ?? ''), + getRoute(e.key.toString(), context, selectedLan)); + } + }).toList() ?? + []), + ), + ), + ]); } Future localeLoad(Languages data) async { @@ -211,10 +334,9 @@ class _HomePage extends State { .toString(), locale: data.value.toString()), ); - } + } - void Function()? getRoute( - String key, BuildContext context, Languages data) { + void Function()? getRoute(String key, BuildContext context, Languages data) { switch (key) { case Constants.homeMyWorks: return () { @@ -251,3 +373,54 @@ class _HomePage extends State { } } } + +class HomeItemCard extends StatelessWidget { + final Widget icon; + final String label; + final VoidCallback? onPressed; + + const HomeItemCard({ + required this.icon, + required this.label, + this.onPressed, + super.key, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + + return DigitCard( + + onPressed: onPressed, + padding: const EdgeInsets.all(kPadding).copyWith(top: kPadding * 2), + child: Align( + + alignment: Alignment.topCenter, + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisSize: MainAxisSize.min, + children: [ + icon, + // Icon( + // icon, + // color: onPressed == null + // ? theme.disabledColor + // : theme.colorScheme.secondary, + // size: 30, + // ), + const SizedBox(height: 20), + Text( + AppLocalizations.of(context).translate( + label, + ), + style: theme.textTheme.bodyMedium, + textAlign: TextAlign.center, + ), + ], + ), + ), + ); + } +} diff --git a/frontend/works_shg_app/lib/pages/login.dart b/frontend/works_shg_app/lib/pages/login.dart index 0075a6d59c..b5ee246d8d 100644 --- a/frontend/works_shg_app/lib/pages/login.dart +++ b/frontend/works_shg_app/lib/pages/login.dart @@ -1,15 +1,441 @@ + + +// latest code with eye icon + +/// working latest code + +// ignore_for_file: public_member_api_docs, sort_constructors_first +// import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; +// import 'package:dropdown_search/dropdown_search.dart'; +// import 'package:flutter/material.dart'; +// import 'package:flutter/services.dart'; +// import 'package:flutter_bloc/flutter_bloc.dart'; + +// import 'package:works_shg_app/blocs/auth/auth.dart'; +// import 'package:works_shg_app/blocs/auth/otp_bloc.dart'; +// import 'package:works_shg_app/models/init_mdms/init_mdms_model.dart'; +// import 'package:works_shg_app/router/app_router.dart'; +// import 'package:works_shg_app/utils/global_variables.dart'; +// import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' +// as i18; +// import 'package:works_shg_app/widgets/atoms/app_logo.dart'; + +// import '../blocs/app_initilization/app_initilization.dart'; +// import '../blocs/localization/app_localization.dart'; +// import '../utils/employee/support_services.dart'; +// import '../utils/notifiers.dart'; +// import '../widgets/molecules/desktop_view.dart'; +// import '../widgets/molecules/mobile_view.dart'; + +// class LoginPage extends StatefulWidget { +// const LoginPage({Key? key}) : super(key: key); + +// @override +// State createState() { +// return _LoginPage(); +// } +// } + +// class _LoginPage extends State with SingleTickerProviderStateMixin { +// late TabController _tabController; +// var userIdController = TextEditingController(); + +// var userNameController = TextEditingController(); +// var userPasswordController = TextEditingController(); +// bool canContinue = false; +// final formKey = GlobalKey(); +// bool autoValidation = false; +// bool phoneNumberAutoValidation = false; +// final FocusNode _numberFocus = FocusNode(); +// String selectTenantId = ""; + +// bool iconVisibility = true; +// List btns = [ +// const DigitRowCardModel(label: "CBO", value: "", isSelected: true), +// const DigitRowCardModel(label: "Employee", value: "", isSelected: false) +// ]; + +// @override +// void initState() { +// _tabController = TabController(length: 2, vsync: this); +// _tabController.addListener(_handleTabSelection); +// _numberFocus.addListener(_onFocusChange); +// super.initState(); +// } + +// void _handleTabSelection() { +// userIdController.clear(); +// userNameController.clear(); +// userPasswordController.clear(); +// setState(() {}); +// } + +// @override +// dispose() { +// _tabController.dispose(); +// _tabController.removeListener(_handleTabSelection); +// _numberFocus.removeListener(_onFocusChange); +// super.dispose(); +// } + +// @override +// void deactivate() { +// context.read().add( +// const DisposeOTPEvent(), +// ); +// super.deactivate(); +// } + +// void _onFocusChange() { +// if (!_numberFocus.hasFocus) { +// setState(() { +// phoneNumberAutoValidation = true; +// }); +// } +// } + +// Widget getLoginCard(AppLocalizations t, BuildContext loginContext, +// AppInitializationState data) { +// return Center( +// child: Form( +// key: formKey, +// autovalidateMode: autoValidation +// ? AutovalidateMode.always +// : AutovalidateMode.disabled, +// child: DigitCard( +// child: Column( +// mainAxisSize: MainAxisSize.min, +// children: [ +// const AppLogo(), +// Padding( +// padding: const EdgeInsets.all(8.0), +// child: Text( +// AppLocalizations.of(loginContext) +// .translate(i18.login.loginLabel), +// style: const TextStyle( +// fontSize: 18, fontWeight: FontWeight.w700)), +// ), +// TabBar( +// controller: _tabController, +// labelColor: const DigitColors().burningOrange, +// unselectedLabelColor: Colors.black, +// tabs: [ +// Tab( +// child: Text( +// AppLocalizations.of(loginContext).translate(i18.measurementBook.mbCbo), +// ), +// ), +// Tab( +// child: Text( +// AppLocalizations.of(loginContext).translate(i18.measurementBook.mbEmployee), +// ), +// ), +// ]), +// AnimatedContainer( +// height: _tabController.index == 0 ? 120 : 325, +// duration: Duration( +// milliseconds: _tabController.index == 0 ? 100 : 100), +// child: TabBarView( +// physics: const NeverScrollableScrollPhysics(), +// controller: _tabController, +// children: [ +// cboLogin(loginContext), +// employeeLogin(t, loginContext, data, +// userName: userNameController, +// userpassword: userPasswordController) +// ]), +// ), +// _tabController.index == 0 +// ? BlocListener( +// listener: (context, state) { +// state.maybeWhen( +// orElse: () => Container(), +// loaded: () { +// context.router.push(OTPVerificationRoute( +// mobileNumber: userIdController.text)); +// }, +// error: () => Notifiers.getToastMessage( +// context, +// AppLocalizations.of(context).translate( +// i18.login.enteredMobileNotRegistered), +// 'ERROR')); +// }, +// child: DigitElevatedButton( +// onPressed: canContinue +// ? () { +// if (formKey.currentState!.validate()) { +// loginContext.read().add( +// OTPSendEvent( +// mobileNumber: userIdController.text, +// ), +// ); +// } else { +// setState(() { +// autoValidation = true; +// }); +// } +// } +// : null, +// child: Center( +// child: Text(AppLocalizations.of(loginContext) +// .translate(i18.common.continueLabel)), +// ), +// ), +// ) +// : BlocListener( +// listener: (context, state) { +// state.maybeWhen( +// error: () { +// Notifiers.getToastMessage( +// context, +// AppLocalizations.of(context).translate( +// _tabController.index == 0 +// ? i18.login.invalidOTP +// : i18.common.empLoginError), +// 'ERROR'); +// }, +// orElse: () => Container()); +// }, +// child: DigitElevatedButton( +// onPressed: () { +// if (userNameController.text != "" && +// userPasswordController.text != "" && +// selectTenantId != "") { +// context.read().add( +// AuthLoginEvent( +// userId: userNameController.text, +// password: userPasswordController.text, +// roleType: RoleType.employee, +// tenantId: selectTenantId.toString(), +// ), +// ); +// } else { +// Notifiers.getToastMessage( +// context, +// AppLocalizations.of(context) +// .translate(i18.common.allFieldsMandatory), +// 'ERROR'); +// } +// }, +// child: Center( +// child: Text(AppLocalizations.of(loginContext) +// .translate(i18.common.continueLabel)), +// ), +// ), +// ), +// ], +// ), +// ), +// ), +// ); +// } + +// Future forgotPassword(AppLocalizations t) { +// return showDialog( +// barrierDismissible: false, +// context: context, +// builder: (context) { +// return AlertDialog( +// contentPadding: const EdgeInsets.symmetric(horizontal: 4.0), +// titlePadding: +// const EdgeInsets.only(top: 16.0, left: 5.0, bottom: 2.0), +// title: Text(t.translate(i18.login.forgotPassword)), +// content: SizedBox( +// width: MediaQuery.sizeOf(context).width, +// height: 120, +// child: Column( +// mainAxisAlignment: MainAxisAlignment.center, +// crossAxisAlignment: CrossAxisAlignment.start, +// children: [ +// Padding( +// padding: const EdgeInsets.only(bottom: 12.0, top: 0.0), +// child: Text( +// t.translate(i18.login.forgotPasswordMsg), +// style: DigitTheme.instance.mobileTheme.textTheme.titleSmall, +// ), +// ), +// DigitElevatedButton( +// child: Text(t.translate(i18.common.oK)), +// onPressed: () { +// Navigator.of(context).pop(); +// }, +// ) +// ], +// ), +// ), +// ); +// }, +// ); +// } + +// SizedBox cboLogin(BuildContext loginContext) { +// return SizedBox( +// height: (MediaQuery.sizeOf(loginContext).height) * 0.7, +// child: SingleChildScrollView( +// child: DigitTextField( +// label: +// '${AppLocalizations.of(loginContext).translate(i18.common.mobileNumber)}*', +// controller: userIdController, +// isRequired: true, +// prefixText: '+91 - ', +// focusNode: _numberFocus, +// autoValidation: phoneNumberAutoValidation +// ? AutovalidateMode.always +// : AutovalidateMode.disabled, +// textInputType: TextInputType.number, +// inputFormatter: [FilteringTextInputFormatter.allow(RegExp("[0-9]"))], +// validator: (val) { +// if (val!.trim().isEmpty || val!.trim().length != 10) { +// return '${AppLocalizations.of(context).translate(i18.login.pleaseEnterMobile)}'; +// } +// return null; +// }, +// onChange: (value) { +// setState(() { +// canContinue = value.length == 10; +// }); +// if (value.length == 10) { +// _numberFocus.unfocus(); +// } +// }, +// maxLength: 10, +// ), +// ), +// ); +// } + +// @override +// Widget build(BuildContext context) { +// var t = AppLocalizations.of(context); +// return DefaultTabController( +// length: 2, +// child: Scaffold( +// appBar: AppBar( +// automaticallyImplyLeading: true, +// ), +// body: BlocBuilder( +// builder: (context, state) { +// return LayoutBuilder(builder: (context, constraints) { +// if (constraints.maxWidth < 720) { +// return Center( +// child: MobileView( +// getLoginCard(t, context, state), +// GlobalVariables.stateInfoListModel!.bannerUrl.toString(), +// logoBottomPosition: (constraints.maxHeight / 8) + 50, +// cardBottomPosition: (constraints.maxHeight / 3), +// ), +// ); +// } else { +// return DesktopView(getLoginCard(t, context, state), +// GlobalVariables.stateInfoListModel!.bannerUrl.toString()); +// } +// }); +// }, +// )), +// ); +// } + +// SizedBox employeeLogin( +// AppLocalizations t, BuildContext context, AppInitializationState data, +// {required TextEditingController userName, +// required TextEditingController userpassword}) { +// return SizedBox( +// height: (MediaQuery.sizeOf(context).height) * 0.7, +// child: Column( +// children: [ +// DigitTextField( +// label: +// '${AppLocalizations.of(context).translate(i18.login.loginUserName)}*', +// controller: userName, +// isRequired: true, +// validator: (val) { +// if (val!.trim().isEmpty || val!.trim().length != 10) { +// return '${AppLocalizations.of(context).translate(i18.login.pleaseEnterMobile)}'; +// } +// return null; +// }, +// onChange: (value) {}, +// ), +// DigitTextField( +// maxLines: 1, +// label: +// '${AppLocalizations.of(context).translate(i18.login.loginPassword)}*', +// controller: userpassword, +// isRequired: true, +// obscureText: iconVisibility, +// suffixIcon: Padding( +// padding: const EdgeInsets.all(0.0), +// child: IconButton( +// onPressed: () { +// setState(() { +// iconVisibility = !iconVisibility; +// }); +// }, +// icon: Icon( +// iconVisibility +// ? Icons.visibility_rounded +// : Icons.visibility_off_rounded, +// size: 30, +// )), +// ), +// // focusNode: _numberFocus, +// validator: (val) { +// if (val!.trim().isEmpty || val!.trim() == "") { +// return '${AppLocalizations.of(context).translate(i18.login.pleaseEnterMobile)}'; +// } +// return null; +// }, +// onChange: (value) {}, +// ), +// DigitDropdown( +// onChanged: (value) { +// setState(() { +// selectTenantId = value?.code ?? ""; +// }); +// }, +// value: null, +// label: "${t.translate(i18.common.city)} *", +// menuItems: data!.initMdmsModel!.tenant!.tenantListModel!, +// valueMapper: (value) { +// return t.translate(Conversion.convertToTenant(value!.code!)); +// }), + + +// DigitIconButton( +// iconText: t.translate(i18.login.forgotPassword), +// onPressed: () { +// forgotPassword(t); +// }, +// ), +// ], +// ), +// ); +// } +// } + +/// end +/// + +/// second import 'package:digit_components/digit_components.dart'; +import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; +import 'package:dropdown_search/dropdown_search.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; + +import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/blocs/auth/otp_bloc.dart'; +import 'package:works_shg_app/models/init_mdms/init_mdms_model.dart'; import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/global_variables.dart'; -import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' - as i18; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; import 'package:works_shg_app/widgets/atoms/app_logo.dart'; +import '../blocs/app_initilization/app_initilization.dart'; import '../blocs/localization/app_localization.dart'; +import '../utils/employee/support_services.dart'; import '../utils/notifiers.dart'; import '../widgets/molecules/desktop_view.dart'; import '../widgets/molecules/mobile_view.dart'; @@ -18,37 +444,52 @@ class LoginPage extends StatefulWidget { const LoginPage({Key? key}) : super(key: key); @override - State createState() { - return _LoginPage(); - } + State createState() => _LoginPageState(); } -class _LoginPage extends State { - var userIdController = TextEditingController(); +class _LoginPageState extends State with SingleTickerProviderStateMixin { + late TabController _tabController; + final userIdController = TextEditingController(); + final userNameController = TextEditingController(); + final userPasswordController = TextEditingController(); bool canContinue = false; final formKey = GlobalKey(); bool autoValidation = false; bool phoneNumberAutoValidation = false; final FocusNode _numberFocus = FocusNode(); + String selectTenantId = ""; + + bool iconVisibility = true; + List btns = [ + const DigitRowCardModel(label: "CBO", value: "", isSelected: true), + const DigitRowCardModel(label: "Employee", value: "", isSelected: false) + ]; @override void initState() { - _numberFocus.addListener(_onFocusChange); super.initState(); + _tabController = TabController(length: 2, vsync: this); + _tabController.addListener(_handleTabSelection); + _numberFocus.addListener(_onFocusChange); } @override - dispose() { + void dispose() { + _tabController.removeListener(_handleTabSelection); + _tabController.dispose(); _numberFocus.removeListener(_onFocusChange); + userIdController.dispose(); + userNameController.dispose(); + userPasswordController.dispose(); + _numberFocus.dispose(); super.dispose(); } - @override - void deactivate() { - context.read().add( - const DisposeOTPEvent(), - ); - super.deactivate(); + void _handleTabSelection() { + userIdController.clear(); + userNameController.clear(); + userPasswordController.clear(); + setState(() {}); } void _onFocusChange() { @@ -59,92 +500,199 @@ class _LoginPage extends State { } } - Widget getLoginCard(BuildContext loginContext) { - return Form( - key: formKey, - autovalidateMode: - autoValidation ? AutovalidateMode.always : AutovalidateMode.disabled, - child: DigitCard( - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - const AppLogo(), - Padding( - padding: const EdgeInsets.all(8.0), - child: Text( - AppLocalizations.of(loginContext) - .translate(i18.login.loginLabel), - style: const TextStyle( - fontSize: 18, fontWeight: FontWeight.w700)), - ), - DigitTextField( - label: - '${AppLocalizations.of(loginContext).translate(i18.common.mobileNumber)}*', - controller: userIdController, - isRequired: true, - prefixText: '+91 - ', - focusNode: _numberFocus, - autoValidation: phoneNumberAutoValidation - ? AutovalidateMode.always - : AutovalidateMode.disabled, - textInputType: TextInputType.number, - inputFormatter: [ - FilteringTextInputFormatter.allow(RegExp("[0-9]")) - ], - validator: (val) { - if (val!.trim().isEmpty || val!.trim().length != 10) { - return '${AppLocalizations.of(context).translate(i18.login.pleaseEnterMobile)}'; - } - return null; - }, - onChange: (value) { - setState(() { - canContinue = value.length == 10; - }); - if (value.length == 10) { - _numberFocus.unfocus(); - } - }, - maxLength: 10, - ), - const SizedBox(height: 16), - BlocListener( - listener: (context, state) { - state.maybeWhen( - orElse: () => Container(), - loaded: () { - context.router.push(OTPVerificationRoute( - mobileNumber: userIdController.text)); - }, - error: () => Notifiers.getToastMessage( - context, - AppLocalizations.of(context) - .translate(i18.login.enteredMobileNotRegistered), - 'ERROR')); - }, - child: DigitElevatedButton( - onPressed: canContinue - ? () { - if (formKey.currentState!.validate()) { - loginContext.read().add( - OTPSendEvent( - mobileNumber: userIdController.text, - ), - ); - } else { - setState(() { - autoValidation = true; - }); - } - } - : null, - child: Center( - child: Text(AppLocalizations.of(loginContext) - .translate(i18.common.continueLabel)), + Widget getLoginCard(AppLocalizations t, BuildContext loginContext, AppInitializationState data) { + return Center( + child: Form( + key: formKey, + autovalidateMode: autoValidation ? AutovalidateMode.always : AutovalidateMode.disabled, + child: DigitCard( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + const AppLogo(), + Padding( + padding: const EdgeInsets.all(8.0), + child: Text( + t.translate(i18.login.loginLabel), + style: const TextStyle(fontSize: 18, fontWeight: FontWeight.w700), + ), + ), + TabBar( + controller: _tabController, + labelColor: const DigitColors().burningOrange, + unselectedLabelColor: Colors.black, + tabs: [ + Tab( + child: Text(t.translate(i18.measurementBook.mbCbo)), + ), + Tab( + child: Text(t.translate(i18.measurementBook.mbEmployee)), + ), + ], + ), + AnimatedContainer( + height: _tabController.index == 0 ? 120 : 325, + duration: const Duration(milliseconds: 100), + child: TabBarView( + physics: const NeverScrollableScrollPhysics(), + controller: _tabController, + children: [ + cboLogin(loginContext), + employeeLogin(t, loginContext, data,), + ], ), ), + _buildLoginButton(t, loginContext), + ], + ), + ), + ), + ); + } + + Widget _buildLoginButton(AppLocalizations t, BuildContext loginContext) { + if (_tabController.index == 0) { + return BlocListener( + listener: (context, state) { + state.maybeWhen( + orElse: () {}, + loaded: () { + context.router.push(OTPVerificationRoute(mobileNumber: userIdController.text)); + }, + error: () { + Notifiers.getToastMessage( + context, + t.translate(i18.login.enteredMobileNotRegistered), + 'ERROR', + ); + }, + ); + }, + child: DigitElevatedButton( + onPressed: canContinue + ? () { + if (formKey.currentState!.validate()) { + loginContext.read().add(OTPSendEvent(mobileNumber: userIdController.text)); + } else { + setState(() { + autoValidation = true; + }); + } + } + : null, + child: Center( + child: Text(t.translate(i18.common.continueLabel)), + ), + ), + ); + } else { + return BlocListener( + listener: (context, state) { + state.maybeWhen( + error: () { + Notifiers.getToastMessage( + context, + t.translate(i18.common.empLoginError), + 'ERROR', + ); + }, + orElse: () {}, + ); + }, + child: DigitElevatedButton( + onPressed: () { + if (userNameController.text.isNotEmpty && + userPasswordController.text.isNotEmpty && + selectTenantId.isNotEmpty) { + context.read().add( + AuthLoginEvent( + userId: userNameController.text, + password: userPasswordController.text, + roleType: RoleType.employee, + tenantId: selectTenantId, + ), + ); + } else { + Notifiers.getToastMessage( + context, + t.translate(i18.common.allFieldsMandatory), + 'ERROR', + ); + } + }, + child: Center( + child: Text(t.translate(i18.common.continueLabel)), + ), + ), + ); + } + } + + Future forgotPassword(AppLocalizations t) { + return showDialog( + barrierDismissible: false, + context: context, + builder: (context) { + return AlertDialog( + contentPadding: const EdgeInsets.symmetric(horizontal: 4.0), + titlePadding: const EdgeInsets.only(top: 16.0, left: 5.0, bottom: 2.0), + title: Text(t.translate(i18.login.forgotPassword)), + content: SizedBox( + width: MediaQuery.of(context).size.width, + height: 120, + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(bottom: 12.0), + child: Text( + t.translate(i18.login.forgotPasswordMsg), + style: DigitTheme.instance.mobileTheme.textTheme.titleSmall, + ), + ), + DigitElevatedButton( + child: Text(t.translate(i18.common.oK)), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ], ), - ], + ), + ); + }, + ); + } + + SizedBox cboLogin(BuildContext loginContext) { + return SizedBox( + height: MediaQuery.of(loginContext).size.height * 0.7, + child: SingleChildScrollView( + child: DigitTextField( + label: '${AppLocalizations.of(loginContext).translate(i18.common.mobileNumber)}*', + controller: userIdController, + isRequired: true, + prefixText: '+91 - ', + focusNode: _numberFocus, + autoValidation: phoneNumberAutoValidation ? AutovalidateMode.always : AutovalidateMode.disabled, + textInputType: TextInputType.number, + inputFormatter: [FilteringTextInputFormatter.allow(RegExp("[0-9]"))], + validator: (val) { + if (val!.trim().isEmpty || val.trim().length != 10) { + return '${AppLocalizations.of(context).translate(i18.login.pleaseEnterMobile)}'; + } + return null; + }, + onChange: (value) { + setState(() { + canContinue = value.length == 10; + }); + if (value.length == 10) { + _numberFocus.unfocus(); + } + }, + maxLength: 10, ), ), ); @@ -152,22 +700,105 @@ class _LoginPage extends State { @override Widget build(BuildContext context) { - return Scaffold( + var t = AppLocalizations.of(context); + return DefaultTabController( + length: 2, + child: Scaffold( appBar: AppBar( automaticallyImplyLeading: true, ), - body: LayoutBuilder(builder: (context, constraints) { - if (constraints.maxWidth < 720) { - return MobileView( - getLoginCard(context), - GlobalVariables.stateInfoListModel!.bannerUrl.toString(), - logoBottomPosition: constraints.maxHeight / 8, - cardBottomPosition: constraints.maxHeight / 3, - ); - } else { - return DesktopView(getLoginCard(context), - GlobalVariables.stateInfoListModel!.bannerUrl.toString()); - } - })); + body: BlocBuilder( + builder: (context, state) { + return LayoutBuilder(builder: (context, constraints) { + if (constraints.maxWidth < 720) { + return Center( + child: MobileView( + getLoginCard(t, context, state), + GlobalVariables.stateInfoListModel!.bannerUrl.toString(), + logoBottomPosition: (constraints.maxHeight / 8) + 50, + cardBottomPosition: (constraints.maxHeight / 4.5), + ), + ); + } else { + return DesktopView( + getLoginCard(t, context, state), + GlobalVariables.stateInfoListModel!.bannerUrl.toString(), + ); + } + }); + }, + ), + ), + ); + } + + SizedBox employeeLogin(AppLocalizations t, BuildContext context, AppInitializationState data, + ) { + return SizedBox( + height: MediaQuery.of(context).size.height * 0.7, + child: Column( + children: [ + DigitTextField( + label: '${t.translate(i18.login.loginUserName)}*', + controller: userNameController, + isRequired: true, + validator: (val) { + if (val!.trim().isEmpty) { + return '${t.translate(i18.login.pleaseEnterMobile)}'; + } + return null; + }, + onChange: (value) {}, + ), + DigitTextField( + maxLines: 1, + label: '${t.translate(i18.login.loginPassword)}*', + controller: userPasswordController, + isRequired: true, + obscureText: iconVisibility, + suffixIcon: IconButton( + onPressed: () { + setState(() { + iconVisibility = !iconVisibility; + }); + }, + icon: Icon( + iconVisibility ? Icons.visibility_rounded : Icons.visibility_off_rounded, + size: 30, + ), + ), + validator: (val) { + if (val!.trim().isEmpty) { + return '${t.translate(i18.login.pleaseEnterMobile)}'; + } + return null; + }, + onChange: (value) {}, + ), + DigitDropdown( + onChanged: (value) { + setState(() { + selectTenantId = value?.code ?? ""; + }); + }, + value: null, + label: "${t.translate(i18.common.city)} *", + menuItems: data.initMdmsModel!.tenant!.tenantListModel!, + valueMapper: (value) => t.translate(Conversion.convertToTenant(value!.code!)), + ), + DigitIconButton( + iconText: t.translate(i18.login.forgotPassword), + onPressed: () { + forgotPassword(t); + }, + ), + ], + ), + ); } } +/// end +/// + + + diff --git a/frontend/works_shg_app/lib/pages/otp_verification.dart b/frontend/works_shg_app/lib/pages/otp_verification.dart index e991931f71..66bd7791f0 100644 --- a/frontend/works_shg_app/lib/pages/otp_verification.dart +++ b/frontend/works_shg_app/lib/pages/otp_verification.dart @@ -152,7 +152,7 @@ class _OTPVerificationPage extends State { context.read().add( AuthLoginEvent( userId: widget.mobileNumber, - password: otpController.text, + password: otpController.text, roleType: RoleType.cbo, ), ); } diff --git a/frontend/works_shg_app/lib/pages/shg_inbox.dart b/frontend/works_shg_app/lib/pages/shg_inbox.dart index 150e7e6fb0..1869c9eab3 100644 --- a/frontend/works_shg_app/lib/pages/shg_inbox.dart +++ b/frontend/works_shg_app/lib/pages/shg_inbox.dart @@ -6,7 +6,8 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:syncfusion_flutter_datepicker/datepicker.dart'; import 'package:works_shg_app/blocs/muster_rolls/create_muster.dart'; import 'package:works_shg_app/utils/common_widgets.dart'; -import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; import 'package:works_shg_app/widgets/Back.dart'; import 'package:works_shg_app/widgets/WorkDetailsCard.dart'; import 'package:works_shg_app/widgets/atoms/custom_info_card.dart'; @@ -53,7 +54,8 @@ class SHGInboxPage extends StatefulWidget { final String musterRollNo; final String sentBackCode; - const SHGInboxPage(@PathParam('tenantId') this.tenantId, + const SHGInboxPage( + @PathParam('tenantId') this.tenantId, @PathParam('musterRollNo') this.musterRollNo, @PathParam('sentBackCode') this.sentBackCode, {Key? key}) @@ -100,38 +102,40 @@ class _SHGInboxPage extends State { super.initState(); } - afterViewBuild() { + afterViewBuild() { context.read().add( - SearchIndividualMusterRollEvent( - musterRollNumber: widget.musterRollNo, - tenantId: widget.tenantId.toString()), - ); + SearchIndividualMusterRollEvent( + musterRollNumber: widget.musterRollNo, + tenantId: widget.tenantId.toString()), + ); context.read().add( GetMusterWorkflowEvent( - tenantId: widget.tenantId, musterRollNumber: widget.musterRollNo, musterSentBackCode: widget.sentBackCode), + tenantId: widget.tenantId, + musterRollNumber: widget.musterRollNo, + musterSentBackCode: widget.sentBackCode), ); context.read().add( const AttendanceHoursEvent(), ); context.read().add( - const MusterInboxStatusEvent(), - ); + const MusterInboxStatusEvent(), + ); context.read().add( const SkillsEvent(), ); } - @override void deactivate() { context.read().add( - const DisposeEstimateMusterRollEvent(), - ); + const DisposeEstimateMusterRollEvent(), + ); context.read().add( - const DisposeMusterRollWorkflowEvent(), - ); // Change the state of the widget when it is no longer visible + const DisposeMusterRollWorkflowEvent(), + ); // Change the state of the widget when it is no longer visible super.deactivate(); } + @override void dispose() { // Clear the data when the widget is disposed @@ -148,828 +152,913 @@ class _SHGInboxPage extends State { var t = AppLocalizations.of(context); return WillPopScope( onWillPop: () async { - context.router.popUntilRouteWithPath('home') ; + context.router.popUntilRouteWithPath('home'); context.router.push(const ViewMusterRollsRoute()); return false; }, child: BlocBuilder( builder: (context, localState) { - return Scaffold( - appBar: AppBar( - titleSpacing: 0, - title: const AppBarLogo(), - ), - drawer: DrawerWrapper(Drawer( - child: SideBar( - module: CommonMethods.getLocaleModules(), - ))), - body: BlocBuilder( - builder: (context, skillsState) { - return skillsState.maybeWhen( - orElse: () => Container(), - loading: () => shg_loader.Loaders.circularLoader(context), - error: (String? error) => Notifiers.getToastMessage( - context, - AppLocalizations.of(context).translate(error.toString()), - 'ERROR'), - loaded: (SkillsList? skillsList) { - skillList = skillsList!.wageSeekerSkills - ?.where((obj) => obj.active == true) - .map((e) => Skill( - code: e.code, - )) - .toList() ?? - []; - for (Skill skill in skillList) { - skillDropDown.add(skill.code); - } - return BlocBuilder( - builder: (context, mdmsState) { - return mdmsState.maybeWhen( - orElse: () => Container(), - loading: () => shg_loader.Loaders.circularLoader(context), - loaded: (AttendanceHoursList? attendanceHoursList) { - entryExitList = attendanceHoursList!.attendanceHours - ?.where((obj) => obj.active == true) - .map((e) => EntryExitModel( - hours: int.parse(e.value), code: e.code)) - .toList(); - return BlocBuilder( - builder: (context, searchState) { - return searchState.maybeWhen(orElse: () => Container(), - loading: () => shg_loader.Loaders.circularLoader(context), - loaded: (String? sentBackToCBOCode) => BlocListener( - listener: (context, state) { - state.maybeWhen(orElse: () => false, - loading: () => shg_loader.Loaders.circularLoader(context), - error : (String? error) => Notifiers.getToastMessage(context, t.translate(error.toString()), 'ERROR'), - loaded: (MusterRollsModel? individualMusterRollModel) { - context.read().add( - ViewEstimateMusterRollEvent( - tenantId: widget.tenantId, - registerId: individualMusterRollModel!.musterRoll!.first.registerId.toString(), - startDate: individualMusterRollModel.musterRoll!.first.startDate ?? 0, - endDate: individualMusterRollModel.musterRoll!.first.endDate ?? 0, - ), - ); - if(individualMusterRollModel.musterRoll != null && individualMusterRollModel.musterRoll!.isNotEmpty){ - context.read().add( - SearchIndividualAttendanceRegisterEvent( - registerNumber: individualMusterRollModel.musterRoll?.first.musterAdditionalDetails?.attendanceRegisterNo?? '', - tenantId: widget.tenantId.toString()), - ); - projectDetails = individualMusterRollModel.musterRoll - !.map((e) => { - i18.attendanceMgmt.musterRollId: - e.musterRollNumber, - i18.workOrder.workOrderNo: - e.musterAdditionalDetails?.contractId ?? i18.common.noValue, - i18.attendanceMgmt.projectId: - e.musterAdditionalDetails?.projectId ?? i18.common.noValue, - i18.attendanceMgmt.projectName: - e.musterAdditionalDetails?.projectName ?? i18.common.noValue, - i18.attendanceMgmt.projectDesc: - e.musterAdditionalDetails?.projectDesc ?? - 'NA', - i18.attendanceMgmt.musterRollPeriod: - '${DateFormats.timeStampToDate(e.startDate, format: "dd/MM/yyyy")} - ${DateFormats.timeStampToDate(e.endDate, format: "dd/MM/yyyy")}', - i18.common.status: 'CBO_MUSTER_${e.musterRollStatus}', - Constants.activeInboxStatus : e.musterRollStatus == sentBackToCBOCode - ? 'false' - : 'true' - }).toList(); - musterId = individualMusterRollModel - .musterRoll!.first.id; - registerId = individualMusterRollModel - .musterRoll!.first.registerId; - selectedDateRange = DateRange( - '', - individualMusterRollModel - .musterRoll!.first.startDate ?? - 0, - individualMusterRollModel - .musterRoll!.first.endDate ?? - 0); - } - }); - }, + return Scaffold( + appBar: AppBar( + titleSpacing: 0, + title: const AppBarLogo(), + ), + drawer: DrawerWrapper(Drawer( + child: SideBar( + module: CommonMethods.getLocaleModules(), + ))), + body: BlocBuilder( + builder: (context, skillsState) { + return skillsState.maybeWhen( + orElse: () => Container(), + loading: () => shg_loader.Loaders.circularLoader(context), + error: (String? error) => Notifiers.getToastMessage( + context, + AppLocalizations.of(context).translate(error.toString()), + 'ERROR'), + loaded: (SkillsList? skillsList) { + skillList = skillsList!.wageSeekerSkills + ?.where((obj) => obj.active == true) + .map((e) => Skill( + code: e.code!, + )) + .toList() ?? + []; + for (Skill skill in skillList) { + skillDropDown.add(skill.code); + } + return BlocBuilder(builder: (context, mdmsState) { + return mdmsState.maybeWhen( + orElse: () => Container(), + loading: () => + shg_loader.Loaders.circularLoader(context), + loaded: (AttendanceHoursList? attendanceHoursList) { + entryExitList = attendanceHoursList!.attendanceHours + ?.where((obj) => obj.active == true) + .map((e) => EntryExitModel( + hours: int.parse(e.value), code: e.code)) + .toList(); + return BlocBuilder( + builder: (context, searchState) { + return searchState.maybeWhen( + orElse: () => Container(), + loading: () => + shg_loader.Loaders.circularLoader( + context), + loaded: (String? sentBackToCBOCode) => BlocListener< + IndividualMusterRollSearchBloc, + IndividualMusterRollSearchState>( + listener: (context, state) { + state.maybeWhen( + orElse: () => false, + loading: () => shg_loader.Loaders + .circularLoader(context), + error: (String? error) => + Notifiers.getToastMessage( + context, + t.translate( + error.toString()), + 'ERROR'), + loaded: (MusterRollsModel? + individualMusterRollModel) { + context + .read< + MusterRollEstimateBloc>() + .add( + ViewEstimateMusterRollEvent( + tenantId: widget.tenantId, + registerId: + individualMusterRollModel! + .musterRoll! + .first + .registerId + .toString(), + startDate: + individualMusterRollModel + .musterRoll! + .first + .startDate ?? + 0, + endDate: + individualMusterRollModel + .musterRoll! + .first + .endDate ?? + 0, + ), + ); + if (individualMusterRollModel + .musterRoll != + null && + individualMusterRollModel + .musterRoll!.isNotEmpty) { + context + .read< + AttendanceIndividualProjectSearchBloc>() + .add( + SearchIndividualAttendanceRegisterEvent( + registerNumber: + individualMusterRollModel + .musterRoll + ?.first + .musterAdditionalDetails + ?.attendanceRegisterNo ?? + '', + tenantId: widget + .tenantId + .toString()), + ); + //TODO: + projectDetails = + individualMusterRollModel + .musterRoll! + .map((e) => { + i18.attendanceMgmt + .musterRollId: + e.musterRollNumber, + i18.workOrder + .workOrderNo: e + .musterAdditionalDetails + ?.contractId ?? + i18.common + .noValue, + i18.attendanceMgmt + .projectId: e + .musterAdditionalDetails + ?.projectId ?? + i18.common + .noValue, + i18.attendanceMgmt + .projectName: e + .musterAdditionalDetails + ?.projectName ?? + i18.common + .noValue, + i18.attendanceMgmt + .projectDesc: e + .musterAdditionalDetails + ?.projectDesc ?? + 'NA', + i18.attendanceMgmt + .musterRollPeriod: + '${DateFormats.timeStampToDate(e.startDate, format: "dd/MM/yyyy")} - ${DateFormats.timeStampToDate(e.endDate, format: "dd/MM/yyyy")}', + i18.common.status: + 'CBO_MUSTER_${e.musterRollStatus}', + Constants + .activeInboxStatus: + e.musterRollStatus == + sentBackToCBOCode + ? 'false' + : 'true' + }) + .toList(); + musterId = + individualMusterRollModel + .musterRoll!.first.id; + registerId = + individualMusterRollModel + .musterRoll! + .first + .registerId; + selectedDateRange = DateRange( + '', + individualMusterRollModel + .musterRoll! + .first + .startDate ?? + 0, + individualMusterRollModel + .musterRoll! + .first + .endDate ?? + 0); + } + }); + }, child: BlocListener< AttendanceIndividualProjectSearchBloc, AttendanceIndividualProjectSearchState>( - listener: (context, registerState) { - registerState.maybeWhen(orElse: () => false, - loading: () => - shg_loader.Loaders.circularLoader(context), - error: (String? error) => - Notifiers.getToastMessage( - context, error.toString(), 'ERROR'), - loaded: (AttendanceRegistersModel? - individualAttendanceRegisterModel) { - daysInRange = DateFormats.checkDaysInRange( - DateFormats.dateToTimeStamp(DateFormats.getDateFromTimestamp(selectedDateRange!.startDate)), - DateFormats.dateToTimeStamp(DateFormats.getDateFromTimestamp(selectedDateRange!.endDate)), - individualAttendanceRegisterModel!.attendanceRegister!.first.startDate!, - individualAttendanceRegisterModel - .attendanceRegister!.first.endDate!); - dates = DateFormats.getFormattedDatesOfAWeek(selectedDateRange!.startDate, selectedDateRange!.endDate); - }); - }, - child: BlocBuilder( - builder: (context, state) { - return state.maybeWhen( - orElse: () => Container(), - loading: () => shg_loader.Loaders.circularLoader(context), - loaded: (MusterRollsModel? individualMusterRollModel) { - return Stack(children: [ - Container( - color: - const Color.fromRGBO(238, 238, 238, 1), - padding: const EdgeInsets.only( - left: 8, right: 8, bottom: 16), - height: inWorkFlow - ? MediaQuery.of(context).size.height - : MediaQuery.of(context).size.height - 180, - child: CustomScrollView(slivers: [ - SliverList( - delegate: SliverChildListDelegate([ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Back( - backLabel: - AppLocalizations.of(context).translate(i18.common.back), - callback: () { - context.router.popUntilRouteWithPath('home') ; - context.router.push(const ViewMusterRollsRoute()); - }, - ), - CommonWidgets.downloadButton(AppLocalizations.of(context) - .translate(i18.common.download), () { - context.read().add(PDFEventMusterRoll( - musterRollNumber: widget.musterRollNo, - tenantId: widget.tenantId)); }) - ], - ), - WorkDetailsCard( - projectDetails, - showButtonLink: true, - musterBackToCBOCode: sentBackToCBOCode, - linkLabel: showTimeLine ? t.translate(i18.common.hideWorkflowTimeline) : t.translate(i18.common.showWorkflowTimeline), - onLinkPressed: () { - setState(() { - showTimeLine = !showTimeLine; - }); - }, + listener: (context, registerState) { + registerState.maybeWhen( + orElse: () => false, + loading: () => shg_loader.Loaders + .circularLoader(context), + error: (String? error) => + Notifiers.getToastMessage( + context, + error.toString(), + 'ERROR'), + loaded: (AttendanceRegistersModel? + individualAttendanceRegisterModel) { + daysInRange = DateFormats.checkDaysInRange( + DateFormats.dateToTimeStamp( + DateFormats + .getDateFromTimestamp( + selectedDateRange! + .startDate)), + DateFormats.dateToTimeStamp( + DateFormats + .getDateFromTimestamp( + selectedDateRange! + .endDate)), + individualAttendanceRegisterModel! + .attendanceRegister! + .first + .startDate!, + individualAttendanceRegisterModel + .attendanceRegister! + .first + .endDate!); + dates = DateFormats + .getFormattedDatesOfAWeek( + selectedDateRange! + .startDate, + selectedDateRange! + .endDate); + }); + }, + child: BlocBuilder< + IndividualMusterRollSearchBloc, + IndividualMusterRollSearchState>( + builder: (context, state) { + return state.maybeWhen( + orElse: () => Container(), + loading: () => shg_loader.Loaders + .circularLoader(context), + loaded: (MusterRollsModel? + individualMusterRollModel) { + return Stack(children: [ + Container( + color: const Color.fromRGBO( + 238, 238, 238, 1), + padding: + const EdgeInsets.only( + left: 8, + right: 8, + bottom: 16), + height: inWorkFlow + ? MediaQuery.of(context) + .size + .height + : MediaQuery.of(context) + .size + .height - + 180, + child: CustomScrollView( + slivers: [ + SliverList( + delegate: + SliverChildListDelegate( + [ + Row( + mainAxisAlignment: + MainAxisAlignment + .spaceBetween, + children: [ + Back( + backLabel: AppLocalizations.of(context).translate(i18 + .common + .back), + callback: + () { + context + .router + .popUntilRouteWithPath('home'); + context + .router + .push(const ViewMusterRollsRoute()); + }, + ), + CommonWidgets.downloadButton( + AppLocalizations.of(context).translate(i18 + .common + .download), + () { + context.read().add(PDFEventMusterRoll( + musterRollNumber: widget + .musterRollNo, + tenantId: + widget.tenantId)); + }) + ], + ), + WorkDetailsCard( + projectDetails, + showButtonLink: + true, + musterBackToCBOCode: + sentBackToCBOCode, + linkLabel: showTimeLine + ? t.translate(i18 + .common + .hideWorkflowTimeline) + : t.translate(i18 + .common + .showWorkflowTimeline), + onLinkPressed: + () { + setState( + () { + showTimeLine = + !showTimeLine; + }); + }, + ), + BlocListener< + MusterGetWorkflowBloc, + MusterGetWorkflowState>( + listener: + (context, + workflowState) { + workflowState.maybeWhen( + orElse: () => false, + loading: () => shg_loader.Loaders.circularLoader(context), + loaded: (MusterWorkFlowModel? musterWorkFlowModel, bool isInWorkFlow) { + if (musterWorkFlowModel?.processInstances != null && + musterWorkFlowModel!.processInstances!.isNotEmpty) { + timeLineAttributes = musterWorkFlowModel.processInstances! + .mapIndexed((i, e) => DigitTimelineOptions( + title: t.translate('CBO_MUSTER_${e.workflowState?.state}'), + subTitle: DateFormats.getTimeLineDate(e.auditDetails?.lastModifiedTime ?? 0), + isCurrentState: i == 0, + comments: e.comment, + documents: e.documents != null ? e.documents?.map((d) => FileStoreModel(name: '', fileStoreId: d.documentUid)).toList() : null, + assignee: e.assignes?.first.name, + mobileNumber: e.assignes != null ? '+91-${e.assignes?.first.mobileNumber}' : null, + )) + .toList(); + } + }); + }, + child: + Visibility( + visible: + showTimeLine, + child: BlocBuilder< + MusterGetWorkflowBloc, + MusterGetWorkflowState>( + builder: + (context, + workflowState) { + return workflowState + .maybeWhen( + orElse: () => + Container(), + loading: () => + shg_loader.Loaders.circularLoader(context), + loaded: + (MusterWorkFlowModel? musterWorkFlowModel, bool isInWorkFlow) { + return DigitCard( + padding: const EdgeInsets.all(8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(left: 4.0, bottom: 16.0, top: 8.0), + child: Text( + t.translate(i18.common.workflowTimeline) ?? '', + style: DigitTheme.instance.mobileTheme.textTheme.headlineLarge?.apply(color: const DigitColors().black), + textAlign: TextAlign.left, + ), + ), + DigitTimeline( + timelineOptions: timeLineAttributes, + ), + ], + ), + ); + }, + ); + }, + ), + ), + ), + ], + ), ), - BlocListener( - listener: (context, workflowState) { - workflowState.maybeWhen(orElse: () => false, - loading: () => shg_loader.Loaders.circularLoader(context), - loaded: (MusterWorkFlowModel? musterWorkFlowModel, bool isInWorkFlow) { - if(musterWorkFlowModel?.processInstances != null && musterWorkFlowModel!.processInstances!.isNotEmpty){ - timeLineAttributes = musterWorkFlowModel.processInstances!.mapIndexed((i, e) => - DigitTimelineOptions( - title: t.translate('CBO_MUSTER_${e.workflowState?.state}'), - subTitle: DateFormats.getTimeLineDate(e.auditDetails?.lastModifiedTime ?? 0), - isCurrentState: i == 0, - comments: e.comment, - documents: e.documents != null ? e.documents?.map((d) => FileStoreModel( - name: '' , fileStoreId: d.documentUid)).toList() : null, - assignee: e.assignes?.first.name , - mobileNumber: e.assignes != null ? '+91-${e.assignes?.first.mobileNumber}' : null, - - )).toList(); - } - }); - }, child: Visibility( - visible: showTimeLine, - child: BlocBuilder(builder: (context, workflowState) { - return workflowState.maybeWhen(orElse: () => Container(), - loading: () => shg_loader.Loaders.circularLoader(context), - loaded: (MusterWorkFlowModel? musterWorkFlowModel, bool isInWorkFlow) { - return DigitCard(padding: const EdgeInsets.all(8.0),child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(left: 4.0, bottom: 16.0, top: 8.0), - child: Text( - t.translate(i18.common.workflowTimeline) ?? '', - style: DigitTheme.instance.mobileTheme.textTheme.headlineLarge - ?.apply(color: const DigitColors().black), - textAlign: TextAlign.left, - ), - ), - DigitTimeline(timelineOptions: timeLineAttributes,), - ], - )); - }); - },), - ) - ) - ])), - SliverToBoxAdapter( - child: Column( - crossAxisAlignment: - CrossAxisAlignment.center, - children: [ - const SizedBox( - height: 20, - ), - BlocBuilder(builder: (context, workflowState) { - return workflowState.maybeWhen( + SliverToBoxAdapter( + child: Column( + crossAxisAlignment: + CrossAxisAlignment + .center, + children: [ + const SizedBox( + height: 20, + ), + BlocBuilder< + MusterGetWorkflowBloc, + MusterGetWorkflowState>( + builder: + (context, + workflowState) { + return workflowState.maybeWhen( orElse: () => Container(), loading: () => shg_loader.Loaders.circularLoader(context), - loaded: (MusterWorkFlowModel? musterWorkFlowModel, bool isInWorkFlow) => musterWorkFlowModel?.processInstances?.first.workflowState?.state == widget.sentBackCode ? CustomInfoCard(title: AppLocalizations.of(context) - .translate(i18.common.info), description: AppLocalizations.of(context) - .translate(i18.attendanceMgmt.toMarkAttendance), - child: Column( - children: entryExitList!.length > 2 ? [ - Row(children: [ - CircularButton(icon: Icons.circle_rounded, - size: 15, - color: const Color.fromRGBO(0, 100, 0, 1), - index: 1, - isNotGreyed: false, - onTap: () {},), - Padding( - padding: const EdgeInsets.only(left: 4.0), - child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.singleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.fullDay)}'), - ) - ],), - const SizedBox(height: 4,), - Row(children: [ - CircularButton(icon: Icons.circle_rounded, - size: 15, - color: const Color.fromRGBO(0, 100, 0, 1), - index: 0.5, - isNotGreyed: false, - onTap: () {},), - Padding( - padding: const EdgeInsets.only(left: 4.0), - child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.doubleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.halfDay)}'), - ) - ],), - const SizedBox(height: 4,), - Row(children: [ - CircularButton(icon: Icons.circle_rounded, - size: 15, - color: const Color.fromRGBO(0, 100, 0, 1), - index: 0, - isNotGreyed: false, - onTap: () {},), - Padding( - padding: const EdgeInsets.only(left: 4.0), - child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.tripleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.absent)}'), - ) - ],) - ] : [ - Row( - children: [ - CircularButton(icon: Icons.circle_rounded, - size: 15, - color: const Color.fromRGBO(0, 100, 0, 1), - index: 1, - isNotGreyed: false, - onTap: () {},), - Padding( - padding: const EdgeInsets.only(left: 4.0), - child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.singleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.fullDay)}'), - ) - ],), - const SizedBox(height: 4,), - Row(children: [ - CircularButton(icon: Icons.circle_rounded, - size: 15, - color: const Color.fromRGBO(0, 100, 0, 1), - index: 0, - isNotGreyed: false, - onTap: () {},), - Padding( - padding: const EdgeInsets.only(left: 4.0), - child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.doubleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.absent)}'), - ) - ],) - ], - ),) : const SizedBox.shrink()); - } - ), - Container( - margin: - const EdgeInsets.all(8.0), - child: TextFormField( - controller: searchController, - autofocus: false, - decoration: InputDecoration( - hintText: AppLocalizations - .of(context) - .translate(i18.common - .searchByName), - border: - const OutlineInputBorder( - borderRadius: - BorderRadius.zero, + loaded: (MusterWorkFlowModel? musterWorkFlowModel, bool isInWorkFlow) => musterWorkFlowModel?.processInstances?.first.workflowState?.state == widget.sentBackCode + ? CustomInfoCard( + title: AppLocalizations.of(context).translate(i18.common.info), + description: AppLocalizations.of(context).translate(i18.attendanceMgmt.toMarkAttendance), + child: Column( + children: entryExitList!.length > 2 + ? [ + Row( + children: [ + CircularButton( + icon: Icons.circle_rounded, + size: 15, + color: const Color.fromRGBO(0, 100, 0, 1), + index: 1, + isNotGreyed: false, + onTap: () {}, + ), + Padding( + padding: const EdgeInsets.only(left: 4.0), + child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.singleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.fullDay)}'), + ) + ], + ), + const SizedBox( + height: 4, + ), + Row( + children: [ + CircularButton( + icon: Icons.circle_rounded, + size: 15, + color: const Color.fromRGBO(0, 100, 0, 1), + index: 0.5, + isNotGreyed: false, + onTap: () {}, + ), + Padding( + padding: const EdgeInsets.only(left: 4.0), + child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.doubleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.halfDay)}'), + ) + ], + ), + const SizedBox( + height: 4, + ), + Row( + children: [ + CircularButton( + icon: Icons.circle_rounded, + size: 15, + color: const Color.fromRGBO(0, 100, 0, 1), + index: 0, + isNotGreyed: false, + onTap: () {}, + ), + Padding( + padding: const EdgeInsets.only(left: 4.0), + child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.tripleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.absent)}'), + ) + ], + ) + ] + : [ + Row( + children: [ + CircularButton( + icon: Icons.circle_rounded, + size: 15, + color: const Color.fromRGBO(0, 100, 0, 1), + index: 1, + isNotGreyed: false, + onTap: () {}, + ), + Padding( + padding: const EdgeInsets.only(left: 4.0), + child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.singleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.fullDay)}'), + ) + ], + ), + const SizedBox( + height: 4, + ), + Row( + children: [ + CircularButton( + icon: Icons.circle_rounded, + size: 15, + color: const Color.fromRGBO(0, 100, 0, 1), + index: 0, + isNotGreyed: false, + onTap: () {}, + ), + Padding( + padding: const EdgeInsets.only(left: 4.0), + child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.doubleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.absent)}'), + ) + ], + ) + ], + ), + ) + : const SizedBox.shrink()); + }), + Container( + margin: const EdgeInsets + .all( + 8.0), + child: + TextFormField( + controller: + searchController, + autofocus: + false, + decoration: + InputDecoration( + hintText: AppLocalizations.of(context).translate(i18 + .common + .searchByName), + border: + const OutlineInputBorder( + borderRadius: + BorderRadius.zero, + ), + filled: + true, + fillColor: + Colors.white, + prefixIconConstraints: const BoxConstraints( + minWidth: + 0, + minHeight: + 0), + prefixStyle: TextStyle( + fontSize: + 16, + fontWeight: + FontWeight.w400, + color: Theme.of(context).primaryColorDark), + prefixIcon: const Padding( + padding: + EdgeInsets.all(8.0), + child: Icon(Icons.search_sharp)), ), - filled: true, - fillColor: Colors.white, - prefixIconConstraints: - const BoxConstraints( - minWidth: 0, - minHeight: 0), - prefixStyle: TextStyle( - fontSize: 16, - fontWeight: - FontWeight.w400, - color: Theme.of(context) - .primaryColorDark), - prefixIcon: const Padding( - padding: - EdgeInsets.all(8.0), - child: Icon(Icons - .search_sharp)), - ), - onChanged: (val) => - onTextSearch(), - )), - const SizedBox( - height: 20, - ), - individualMusterRollModel - ?.musterRoll! - .first - .individualEntries != - null - ? BlocBuilder< - MusterRollEstimateBloc, - MusterRollEstimateState>( - builder: - (context, musterState) { - return musterState - .maybeWhen( - orElse: () => - Container(), - loading: () => shg_loader.Loaders - .circularLoader( - context), - error : (String? error) => Notifiers.getToastMessage(context, t.translate(error.toString()), 'ERROR'), - loaded: (EstimateMusterRollsModel? - viewMusterRollsModel) { - List - attendeeList = - []; + onChanged: + (val) => + onTextSearch(), + )), + const SizedBox( + height: 20, + ), + individualMusterRollModel + ?.musterRoll! + .first + .individualEntries != + null + ? BlocBuilder< + MusterRollEstimateBloc, + MusterRollEstimateState>( + builder: + (context, + musterState) { + return musterState.maybeWhen( + orElse: () => Container(), + loading: () => shg_loader.Loaders.circularLoader(context), + error: (String? error) => Notifiers.getToastMessage(context, t.translate(error.toString()), 'ERROR'), + loaded: (EstimateMusterRollsModel? viewMusterRollsModel) { + List attendeeList = []; - if (viewMusterRollsModel! - .musterRoll! - .first - .individualEntries! - .isNotEmpty) { - attendeeList = viewMusterRollsModel - .musterRoll! - .first - .individualEntries!.where((est) => est.attendanceEntries != null) - .map((e) => AttendeesTrackList( - name: e.musterIndividualAdditionalDetails?.userName ?? - '', - aadhaar: e.musterIndividualAdditionalDetails?.aadharNumber ?? - '', - gender: e.musterIndividualAdditionalDetails?.gender ?? '', - individualId: e - .individualId, - skillCodeList: e.musterIndividualAdditionalDetails?.skillCode ?? [], - individualGaurdianName: e.musterIndividualAdditionalDetails?.fatherName ?? - e.musterIndividualAdditionalDetails?.fatherName ?? '', - id: e.id != null ? e.id : individualMusterRollModel!.musterRoll!.first.individualEntries!.any((i) => i.individualId == e.individualId) ? individualMusterRollModel?.musterRoll!.first.individualEntries?.firstWhere((s) => s.individualId == e.individualId).id ?? '' : '', - skill: individualMusterRollModel!.musterRoll!.first.individualEntries!.any((i) => i.individualId == e.individualId) ? individualMusterRollModel?.musterRoll!.first.individualEntries?.firstWhere((s) => s.individualId == e.individualId).musterIndividualAdditionalDetails?.skillCode ?? - '' : '', - monEntryId: e.attendanceEntries != null ? e - .attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Mon') - .attendanceEntriesAdditionalDetails - ?.entryAttendanceLogId : null, - monExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Mon').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, - monIndex: e.attendanceEntries != null ? e.attendanceEntries!.lastWhere((att) => DateFormats.getDay(att.time!) == 'Mon').attendance ?? -1 : -1, - tueEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Tue').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, - tueExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Tue').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, - tueIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Tue').attendance ?? -1 : -1, - wedEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Wed').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, - wedExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Wed').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, - wedIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Wed').attendance ?? -1 : -1, - thuEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Thu').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, - thuExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Thu').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, - thursIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Thu').attendance ?? -1 : -1, - friEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Fri').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, - friExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Fri').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, - friIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Fri').attendance ?? -1 : -1, - satEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sat').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, - satExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sat').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, - satIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sat').attendance ?? -1 : -1, - sunEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sun').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, - sunExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sun').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, - sunIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sun').attendance ?? -1 : -1, - auditDetails: e.attendanceEntries != null ? e.attendanceEntries?.first.auditDetails : null)) - .toList(); + if (viewMusterRollsModel!.musterRoll!.first.individualEntries!.isNotEmpty) { + attendeeList = viewMusterRollsModel.musterRoll!.first.individualEntries! + .where((est) => est.attendanceEntries != null) + .map((e) => AttendeesTrackList( + name: e.musterIndividualAdditionalDetails?.userName ?? '', + aadhaar: e.musterIndividualAdditionalDetails?.aadharNumber ?? '', + gender: e.musterIndividualAdditionalDetails?.gender ?? '', + individualId: e.individualId, + skillCodeList: e.musterIndividualAdditionalDetails?.skillCode ?? [], + individualGaurdianName: e.musterIndividualAdditionalDetails?.fatherName ?? e.musterIndividualAdditionalDetails?.fatherName ?? '', + id: e.id != null + ? e.id + : individualMusterRollModel!.musterRoll!.first.individualEntries!.any((i) => i.individualId == e.individualId) + ? individualMusterRollModel?.musterRoll!.first.individualEntries?.firstWhere((s) => s.individualId == e.individualId).id ?? '' + : '', + skill: individualMusterRollModel!.musterRoll!.first.individualEntries!.any((i) => i.individualId == e.individualId) ? individualMusterRollModel?.musterRoll!.first.individualEntries?.firstWhere((s) => s.individualId == e.individualId).musterIndividualAdditionalDetails?.skillCode ?? '' : '', + monEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Mon').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + monExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Mon').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + monIndex: e.attendanceEntries != null ? e.attendanceEntries!.lastWhere((att) => DateFormats.getDay(att.time!) == 'Mon').attendance ?? -1 : -1, + tueEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Tue').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + tueExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Tue').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + tueIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Tue').attendance ?? -1 : -1, + wedEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Wed').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + wedExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Wed').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + wedIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Wed').attendance ?? -1 : -1, + thuEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Thu').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + thuExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Thu').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + thursIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Thu').attendance ?? -1 : -1, + friEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Fri').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + friExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Fri').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + friIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Fri').attendance ?? -1 : -1, + satEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sat').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + satExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sat').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + satIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sat').attendance ?? -1 : -1, + sunEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sun').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + sunExitId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sun').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + sunIndex: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sun').attendance ?? -1 : -1, + auditDetails: e.attendanceEntries != null ? e.attendanceEntries?.first.auditDetails : null)) + .toList(); - if (newList.isEmpty) { - for (var i = 0; i < attendeeList.length; i++) { - var item1 = attendeeList[i]; - TrackAttendanceTableData data = TrackAttendanceTableData(); - data.name = item1.name; - data.individualGaurdianName = item1.individualGaurdianName ?? ''; - data.aadhaar = item1.aadhaar; - data.gender = item1.gender; - data.individualId = item1.individualId ?? ''; - data.id = item1.id ?? ''; - data.skill = item1.skill; - data.skillCodeList = item1.skillCodeList ?? []; - data.monIndex = item1.monIndex; - data.monEntryId = item1.monEntryId; - data.monExitId = item1.monExitId; - data.tueIndex = item1.tueIndex; - data.tueEntryId = item1.tueEntryId; - data.tueExitId = item1.tueExitId; - data.wedIndex = item1.wedIndex; - data.wedEntryId = item1.wedEntryId; - data.wedExitId = item1.wedExitId; - data.thuIndex = item1.thursIndex; - data.thuEntryId = item1.thuEntryId; - data.thuExitId = item1.thuExitId; - data.friIndex = item1.friIndex; - data.friEntryId = item1.friEntryId; - data.friExitId = item1.friExitId; - data.satIndex = item1.satIndex; - data.satEntryId = item1.satEntryId; - data.satExitId = item1.satExitId; - data.sunIndex = item1.sunIndex; - data.sunEntryId = item1.sunEntryId; - data.sunExitId = item1.sunExitId; - data.auditDetails = item1.auditDetails; - newList.add(data); - } + if (newList.isEmpty) { + for (var i = 0; i < attendeeList.length; i++) { + var item1 = attendeeList[i]; + TrackAttendanceTableData data = TrackAttendanceTableData(); + data.name = item1.name; + data.individualGaurdianName = item1.individualGaurdianName ?? ''; + data.aadhaar = item1.aadhaar; + data.gender = item1.gender; + data.individualId = item1.individualId ?? ''; + data.id = item1.id ?? ''; + data.skill = item1.skill; + data.skillCodeList = item1.skillCodeList ?? []; + data.monIndex = item1.monIndex; + data.monEntryId = item1.monEntryId; + data.monExitId = item1.monExitId; + data.tueIndex = item1.tueIndex; + data.tueEntryId = item1.tueEntryId; + data.tueExitId = item1.tueExitId; + data.wedIndex = item1.wedIndex; + data.wedEntryId = item1.wedEntryId; + data.wedExitId = item1.wedExitId; + data.thuIndex = item1.thursIndex; + data.thuEntryId = item1.thuEntryId; + data.thuExitId = item1.thuExitId; + data.friIndex = item1.friIndex; + data.friEntryId = item1.friEntryId; + data.friExitId = item1.friExitId; + data.satIndex = item1.satIndex; + data.satEntryId = item1.satEntryId; + data.satExitId = item1.satExitId; + data.sunIndex = item1.sunIndex; + data.sunEntryId = item1.sunEntryId; + data.sunExitId = item1.sunExitId; + data.auditDetails = item1.auditDetails; + newList.add(data); } - } else { - if (newList.isEmpty) { - for (var i = 0; i < attendeeList.length; i++) { - var item1 = attendeeList[i]; - TrackAttendanceTableData data = TrackAttendanceTableData(); - data.name = item1.name; - data.aadhaar = item1.aadhaar; - data.gender = item1.gender; - data.individualId = item1.individualId ?? ''; - data.individualGaurdianName = item1.individualGaurdianName ?? ''; - data.id = item1.id ?? ''; - data.skill = item1.skill; - data.skillCodeList = item1.skillCodeList; - data.monIndex = item1.monIndex; - data.tueIndex = item1.tueIndex; - data.wedIndex = item1.wedIndex; - data.thuIndex = item1.thursIndex; - data.friIndex = item1.friIndex; - data.satIndex = item1.satIndex; - data.sunIndex = item1.sunIndex; - data.auditDetails = item1.auditDetails; - newList.add(data); - } + } + } else { + if (newList.isEmpty) { + for (var i = 0; i < attendeeList.length; i++) { + var item1 = attendeeList[i]; + TrackAttendanceTableData data = TrackAttendanceTableData(); + data.name = item1.name; + data.aadhaar = item1.aadhaar; + data.gender = item1.gender; + data.individualId = item1.individualId ?? ''; + data.individualGaurdianName = item1.individualGaurdianName ?? ''; + data.id = item1.id ?? ''; + data.skill = item1.skill; + data.skillCodeList = item1.skillCodeList; + data.monIndex = item1.monIndex; + data.tueIndex = item1.tueIndex; + data.wedIndex = item1.wedIndex; + data.thuIndex = item1.thursIndex; + data.friIndex = item1.friIndex; + data.satIndex = item1.satIndex; + data.sunIndex = item1.sunIndex; + data.auditDetails = item1.auditDetails; + newList.add(data); } } - tableData = - getAttendanceData( - newList); + } + tableData = getAttendanceData(newList); - return Column( - crossAxisAlignment: - CrossAxisAlignment - .start, - children: [ - Padding( - padding: - const EdgeInsets.all( - 8.0), - child: shg_app - .DigitTable( - headerList: - headerList, - tableData: - tableData, - leftColumnWidth: - width, - rightColumnWidth: - width * - 10, - height: 58 + - (52.0 * - (tableData.length + 0.2)), - scrollPhysics: - const NeverScrollableScrollPhysics(), - ), - ), - ]); - }); - }) - : Column( - children: [ - const EmptyImage( - align: Alignment.center, - ), - ButtonLink( - AppLocalizations.of( - context) - .translate(i18 - .attendanceMgmt - .addNewWageSeeker), - () {}, - align: Alignment.center, - ), - ], - ), - const Align( - alignment: Alignment.bottomCenter, - child: PoweredByDigit(), - ) - ])) - ]), - ), - individualMusterRollModel?.musterRoll?.first - .individualEntries != - null && - individualMusterRollModel - !.musterRoll! - .first - .individualEntries! - .isNotEmpty - ? Align( - alignment: Alignment.bottomCenter, - child: Padding( - padding: const EdgeInsets.only( - left: 8.0, - right: 8.0, - ), - child: BlocListener( - listener: (context, workflowState) { - workflowState.maybeWhen( - loading: () => shg_loader.Loaders.circularLoader(context), - error: () { - Notifiers.getToastMessage( - context, - AppLocalizations.of( - context) - .translate(i18 - .attendanceMgmt - .unableToCheckWorkflowStatus), - 'ERROR'); - }, - loaded: (MusterWorkFlowModel? musterWorkFlowModel, bool isInWorkFlow) { - if (!isInWorkFlow) { - if(inWorkFlow != false){ - setState(() { - inWorkFlow = false; + return Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ + Padding( + padding: const EdgeInsets.all(8.0), + child: shg_app.DigitTable( + headerList: headerList, + tableData: tableData, + leftColumnWidth: width, + rightColumnWidth: width * 10, + height: 58 + (52.0 * (tableData.length + 0.2)), + scrollPhysics: const NeverScrollableScrollPhysics(), + ), + ), + ]); }); - } - } else { - if (individualMusterRollModel - .musterRoll! - .isNotEmpty) { - if(inWorkFlow != true) { + }) + : Column( + children: [ + const EmptyImage( + align: + Alignment.center, + ), + ButtonLink( + AppLocalizations.of(context).translate(i18.attendanceMgmt.addNewWageSeeker), + () {}, + align: + Alignment.center, + ), + ], + ), + const Align( + alignment: + Alignment + .bottomCenter, + child: + PoweredByDigit(), + ) + ])) + ]), + ), + individualMusterRollModel + ?.musterRoll + ?.first + .individualEntries != + null && + individualMusterRollModel! + .musterRoll! + .first + .individualEntries! + .isNotEmpty + ? Align( + alignment: Alignment + .bottomCenter, + child: Padding( + padding: + const EdgeInsets + .only( + left: 8.0, + right: 8.0, + ), + child: BlocListener< + MusterGetWorkflowBloc, + MusterGetWorkflowState>( + listener: (context, + workflowState) { + workflowState + .maybeWhen( + loading: () => + shg_loader.Loaders.circularLoader( + context), + error: + () { + Notifiers.getToastMessage( + context, + AppLocalizations.of(context).translate(i18.attendanceMgmt.unableToCheckWorkflowStatus), + 'ERROR'); + }, + loaded: (MusterWorkFlowModel? + musterWorkFlowModel, + bool + isInWorkFlow) { + if (!isInWorkFlow) { + if (inWorkFlow != + false) { setState(() { - inWorkFlow = true; + inWorkFlow = false; }); } + } else { + if (individualMusterRollModel.musterRoll!.isNotEmpty) { + if (inWorkFlow != true) { + setState(() { + inWorkFlow = true; + }); + } + } } - } - }, - orElse: () => - Container()); - }, - child: BlocBuilder< - MusterGetWorkflowBloc, - MusterGetWorkflowState>( - builder: (context, - workFlowState) { - return workFlowState.maybeWhen(orElse: () => Container(), - error: () => Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.unableToCheckWorkflowStatus), 'ERROR'), - loading: () => shg_loader.Loaders.circularLoader(context), - loaded: (MusterWorkFlowModel? musterWorkFlowModel, bool inWorkFlow) => inWorkFlow ? Container() : SizedBox( - height: 100, - child: Column( - children: [ - BlocListener< - AttendanceLogCreateBloc, - AttendanceLogCreateState>( - listener: (context, - logState) { - SchedulerBinding - .instance - .addPostFrameCallback( - (_) { - logState.maybeWhen( - error: (String? error) { - if (!hasLoaded) { - Notifiers.getToastMessage( - context, - AppLocalizations.of(context).translate(error.toString()), - 'ERROR'); - onSubmit( - registerId - .toString()); - hasLoaded = - true; - } - }, - loaded: () { - if (!hasLoaded) { - Notifiers.getToastMessage( - context, - AppLocalizations.of(context).translate(i18 - .attendanceMgmt - .attendanceLoggedSuccess), - 'SUCCESS'); - onSubmit( - registerId - .toString()); - hasLoaded = - true; - } - }, - orElse: () => - Container()); - }); }, - child: OutlinedButton( - style: OutlinedButton.styleFrom( - backgroundColor: - Colors - .white, - side: BorderSide( - width: 2, - color:(createAttendeePayload.isEmpty && updateAttendeePayload.isEmpty) ? const Color.fromRGBO(149, 148, 148, 1) : DigitTheme - .instance - .colorScheme - .secondary)), - onPressed: inWorkFlow || (updateAttendeePayload.isEmpty && createAttendeePayload.isEmpty) ? null : () { - if (selectedDateRange == - null) { - Notifiers.getToastMessage( - context, - AppLocalizations.of( - context) - .translate(i18 - .attendanceMgmt - .selectDateRangeFirst), - 'ERROR'); - } else { - hasLoaded = - false; - if (updateAttendeePayload - .isNotEmpty && - createAttendeePayload - .isNotEmpty) { - context - .read< - AttendanceLogCreateBloc>() - .add(UpdateAttendanceLogEvent( - attendanceList: - updateAttendeePayload)); - context - .read< - AttendanceLogCreateBloc>() - .add(CreateAttendanceLogEvent( - attendanceList: - createAttendeePayload)); - } else if (updateAttendeePayload - .isNotEmpty) { - context - .read< - AttendanceLogCreateBloc>() - .add(UpdateAttendanceLogEvent( - attendanceList: - updateAttendeePayload)); - } else if (createAttendeePayload - .isNotEmpty) { - context - .read< - AttendanceLogCreateBloc>() - .add(CreateAttendanceLogEvent( - attendanceList: - createAttendeePayload)); - } - } - }, - child: Center( - child: Text( - AppLocalizations.of( - context) - .translate(i18 - .common - .saveAsDraft), - style: (createAttendeePayload.isEmpty && updateAttendeePayload.isEmpty) - ? DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: const Color.fromRGBO(149, 148, 148, 1)) - : DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: const DigitColors().burningOrange), - ))), - ), - const SizedBox( - height: 10, - ), - BlocListener< - MusterCreateBloc, - MusterCreateState>( - listener: (context, - musterUpdateState) { - musterUpdateState - .maybeWhen( - error: - () { - Notifiers.getToastMessage( - context, - AppLocalizations.of(context).translate(i18.attendanceMgmt.musterUpdateFailed), - 'ERROR'); - context.router.popAndPush(SHGInboxRoute(tenantId: widget.tenantId, musterRollNo: widget.musterRollNo, sentBackCode: widget.sentBackCode)); - }, - loaded: (MusterRollsModel? - createdMuster) { - Notifiers.getToastMessage( - context, - '${createdMuster?.musterRoll?.first.musterRollNumber} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.musterSentForApproval)}', - 'SUCCESS'); - updateLoaded = - true; - context.router.popAndPush(SHGInboxRoute(tenantId: widget.tenantId, musterRollNo: widget.musterRollNo, sentBackCode: widget.sentBackCode)); - + orElse: () => + Container()); + }, + child: BlocBuilder< + MusterGetWorkflowBloc, + MusterGetWorkflowState>( + builder: (context, + workFlowState) { + return workFlowState + .maybeWhen( + orElse: () => + Container(), + error: () => Notifiers.getToastMessage( + context, + AppLocalizations.of(context).translate(i18 + .attendanceMgmt.unableToCheckWorkflowStatus), + 'ERROR'), + loading: + () => + shg_loader.Loaders.circularLoader(context), + loaded: (MusterWorkFlowModel? musterWorkFlowModel, bool inWorkFlow) => inWorkFlow + ? Container() + : SizedBox( + height: 100, + child: Column( + children: [ + BlocListener( + listener: (context, logState) { + SchedulerBinding.instance.addPostFrameCallback((_) { + logState.maybeWhen( + error: (String? error) { + if (!hasLoaded) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(error.toString()), 'ERROR'); + onSubmit(registerId.toString()); + hasLoaded = true; + } + }, + loaded: () { + if (!hasLoaded) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceLoggedSuccess), 'SUCCESS'); + onSubmit(registerId.toString()); + hasLoaded = true; + } + }, + orElse: () => Container()); + }); + }, + child: OutlinedButton( + style: OutlinedButton.styleFrom(backgroundColor: Colors.white, side: BorderSide(width: 2, color: (createAttendeePayload.isEmpty && updateAttendeePayload.isEmpty) ? const Color.fromRGBO(149, 148, 148, 1) : DigitTheme.instance.colorScheme.secondary)), + onPressed: inWorkFlow || (updateAttendeePayload.isEmpty && createAttendeePayload.isEmpty) + ? null + : () { + if (selectedDateRange == null) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), 'ERROR'); + } else { + hasLoaded = false; + if (updateAttendeePayload.isNotEmpty && createAttendeePayload.isNotEmpty) { + context.read().add(UpdateAttendanceLogEvent(attendanceList: updateAttendeePayload)); + context.read().add(CreateAttendanceLogEvent(attendanceList: createAttendeePayload)); + } else if (updateAttendeePayload.isNotEmpty) { + context.read().add(UpdateAttendanceLogEvent(attendanceList: updateAttendeePayload)); + } else if (createAttendeePayload.isNotEmpty) { + context.read().add(CreateAttendanceLogEvent(attendanceList: createAttendeePayload)); + } + } + }, + child: Center( + child: Text( + AppLocalizations.of(context).translate(i18.common.saveAsDraft), + style: (createAttendeePayload.isEmpty && updateAttendeePayload.isEmpty) ? DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: const Color.fromRGBO(149, 148, 148, 1)) : DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: const DigitColors().burningOrange), + ))), + ), + const SizedBox( + height: 10, + ), + BlocListener( + listener: (context, musterUpdateState) { + musterUpdateState.maybeWhen( + error: () { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.musterUpdateFailed), 'ERROR'); + context.router.popAndPush(SHGInboxRoute(tenantId: widget.tenantId, musterRollNo: widget.musterRollNo, sentBackCode: widget.sentBackCode)); + }, + loaded: (MusterRollsModel? createdMuster) { + Notifiers.getToastMessage(context, '${createdMuster?.musterRoll?.first.musterRollNumber} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.musterSentForApproval)}', 'SUCCESS'); + updateLoaded = true; + context.router.popAndPush(SHGInboxRoute(tenantId: widget.tenantId, musterRollNo: widget.musterRollNo, sentBackCode: widget.sentBackCode)); + }, + orElse: () => false); }, - orElse: () => - false); - }, - child: - DigitElevatedButton( - onPressed:!inWorkFlow - ? () { - if (selectedDateRange == - null) { - Notifiers.getToastMessage( - context, - AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), - 'ERROR'); - } - else if (updateAttendeePayload.isNotEmpty || createAttendeePayload.isNotEmpty) { - Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceChangedValidation), 'INFO'); - } - else if (newList.any((e) => - e.skill == null || - e.skill.toString().isEmpty)) { - Notifiers.getToastMessage( - context, - AppLocalizations.of(context).translate(i18.attendanceMgmt.reviewSkills), - 'INFO'); - } else { - updateLoaded = - false; - context.read().add(UpdateMusterEvent( - tenantId: widget.tenantId, - id: musterId.toString(), - reSubmitAction: musterWorkFlowModel?.processInstances?.first.nextActions?.first.action, - contractId: individualMusterRollModel.musterRoll!.first.musterAdditionalDetails!.contractId ?? 'NA', - registerNo: individualMusterRollModel.musterRoll!.first.musterAdditionalDetails!.attendanceRegisterNo ?? 'NA', - registerName: individualMusterRollModel.musterRoll!.first.musterAdditionalDetails!.attendanceRegisterName ?? 'NA', - orgName: individualMusterRollModel.musterRoll!.first.musterAdditionalDetails!.contractId ?? 'NA', - skillsList: skillsPayLoad)); - } - } - : null, - child: Text( - AppLocalizations.of( - context) - .translate(i18 - .attendanceMgmt - .resubmitMusterRoll), - style: DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: Colors.white)), - )), - ], - ), - )); - }), - ), + child: DigitElevatedButton( + onPressed: !inWorkFlow + ? () { + if (selectedDateRange == null) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), 'ERROR'); + } else if (updateAttendeePayload.isNotEmpty || createAttendeePayload.isNotEmpty) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceChangedValidation), 'INFO'); + } else if (newList.any((e) => e.skill == null || e.skill.toString().isEmpty)) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.reviewSkills), 'INFO'); + } else { + updateLoaded = false; + context.read().add(UpdateMusterEvent(tenantId: widget.tenantId, id: musterId.toString(), reSubmitAction: musterWorkFlowModel?.processInstances?.first.nextActions?.first.action, contractId: individualMusterRollModel.musterRoll!.first.musterAdditionalDetails!.contractId ?? 'NA', registerNo: individualMusterRollModel.musterRoll!.first.musterAdditionalDetails!.attendanceRegisterNo ?? 'NA', registerName: individualMusterRollModel.musterRoll!.first.musterAdditionalDetails!.attendanceRegisterName ?? 'NA', orgName: individualMusterRollModel.musterRoll!.first.musterAdditionalDetails!.contractId ?? 'NA', skillsList: skillsPayLoad)); + } + } + : null, + child: Text(AppLocalizations.of(context).translate(i18.attendanceMgmt.resubmitMusterRoll), style: DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: Colors.white)), + )), + ], + ), + )); + }), ), - ) - : Container() - ]); - }); - }), - ) - )); - } - ); + ), + ) + : Container() + ]); + }); + }), + ))); }); - }); + }); }); - })); - } - ), + }); + })); + }), ); } void onTextSearch() { if (searchController.text.isNotEmpty) { setState(() { - newList.retainWhere((e) => - e.name!.toLowerCase().contains(searchController.text.toLowerCase())); + newList.retainWhere((e) => e.name! + .toLowerCase() + .contains(searchController.text.toLowerCase())); }); } else { onSubmit(registerId.toString()); @@ -993,7 +1082,7 @@ class _SHGInboxPage extends State { GetMusterWorkflowEvent( tenantId: widget.tenantId, musterRollNumber: widget.musterRollNo, - musterSentBackCode: widget.sentBackCode), + musterSentBackCode: widget.sentBackCode), ); } else { Notifiers.getToastMessage( @@ -1010,51 +1099,42 @@ class _SHGInboxPage extends State { .translate(i18.common.nameLabel), apiKey: 'name', ), - TableHeader( - AppLocalizations.of(scaffoldMessengerKey.currentContext!) - .translate(i18.common.fatherName), - apiKey: 'individualGaurdianName', - ), - TableHeader( - '${AppLocalizations.of(scaffoldMessengerKey.currentContext!) - .translate(i18.attendanceMgmt.skill)}*', - hide: false - ), TableHeader( AppLocalizations.of(scaffoldMessengerKey.currentContext!) - .translate(i18.common.mon), - subLabel: dates.isNotEmpty ? dates[0] : '' + .translate(i18.common.fatherName), + apiKey: 'individualGaurdianName', ), TableHeader( - AppLocalizations.of(scaffoldMessengerKey.currentContext!) - .translate(i18.common.tue), - subLabel: dates.isNotEmpty ? dates[1] : '' - ), + '${AppLocalizations.of(scaffoldMessengerKey.currentContext!).translate(i18.attendanceMgmt.skill)}*', + hide: false), TableHeader( - AppLocalizations.of(scaffoldMessengerKey.currentContext!) - .translate(i18.common.wed), - subLabel: dates.isNotEmpty ? dates[2] : '' - ), + AppLocalizations.of(scaffoldMessengerKey.currentContext!) + .translate(i18.common.mon), + subLabel: dates.isNotEmpty ? dates[0] : ''), TableHeader( - AppLocalizations.of(scaffoldMessengerKey.currentContext!) - .translate(i18.common.thu), - subLabel: dates.isNotEmpty ? dates[3] : '' - ), + AppLocalizations.of(scaffoldMessengerKey.currentContext!) + .translate(i18.common.tue), + subLabel: dates.isNotEmpty ? dates[1] : ''), TableHeader( - AppLocalizations.of(scaffoldMessengerKey.currentContext!) - .translate(i18.common.fri), - subLabel: dates.isNotEmpty ? dates[4] : '' - ), + AppLocalizations.of(scaffoldMessengerKey.currentContext!) + .translate(i18.common.wed), + subLabel: dates.isNotEmpty ? dates[2] : ''), TableHeader( - AppLocalizations.of(scaffoldMessengerKey.currentContext!) - .translate(i18.common.sat), - subLabel: dates.isNotEmpty ? dates[5] : '' - ), + AppLocalizations.of(scaffoldMessengerKey.currentContext!) + .translate(i18.common.thu), + subLabel: dates.isNotEmpty ? dates[3] : ''), TableHeader( - AppLocalizations.of(scaffoldMessengerKey.currentContext!) - .translate(i18.common.sun), - subLabel: dates.isNotEmpty ? dates[6] : '' - ), + AppLocalizations.of(scaffoldMessengerKey.currentContext!) + .translate(i18.common.fri), + subLabel: dates.isNotEmpty ? dates[4] : ''), + TableHeader( + AppLocalizations.of(scaffoldMessengerKey.currentContext!) + .translate(i18.common.sat), + subLabel: dates.isNotEmpty ? dates[5] : ''), + TableHeader( + AppLocalizations.of(scaffoldMessengerKey.currentContext!) + .translate(i18.common.sun), + subLabel: dates.isNotEmpty ? dates[6] : ''), TableHeader( AppLocalizations.of(scaffoldMessengerKey.currentContext!) .translate(i18.common.total), @@ -1064,12 +1144,15 @@ class _SHGInboxPage extends State { TableDataRow getAttendanceRow(TrackAttendanceTableData tableDataModel) { return TableDataRow([ TableData(label: tableDataModel.name, apiKey: tableDataModel.name), - TableData(label: tableDataModel.individualGaurdianName, apiKey: tableDataModel.individualGaurdianName), + TableData( + label: tableDataModel.individualGaurdianName, + apiKey: tableDataModel.individualGaurdianName), TableData( apiKey: tableDataModel.skill, hide: false, widget: DropDownDialog( - isDisabled: inWorkFlow || (tableDataModel.skillCodeList ?? []).isEmpty, + isDisabled: + inWorkFlow || (tableDataModel.skillCodeList ?? []).isEmpty, options: tableDataModel.skillCodeList ?? [], label: i18.common.selectSkill, selectedOption: tableDataModel.skill.toString(), @@ -1081,39 +1164,31 @@ class _SHGInboxPage extends State { .isNotEmpty) { skillsPayLoad.removeWhere((elem) => elem["individualId"] == tableDataModel.individualId); - if(tableDataModel.id != null && tableDataModel.id!.trim().isNotEmpty) { + if (tableDataModel.id != null && + tableDataModel.id!.trim().isNotEmpty) { skillsPayLoad.add({ "id": tableDataModel.id, "individualId": tableDataModel.individualId, - "additionalDetails": { - "code": val - } + "additionalDetails": {"code": val} }); - } - else { + } else { skillsPayLoad.add({ "individualId": tableDataModel.individualId, - "additionalDetails": { - "code": val - } + "additionalDetails": {"code": val} }); } } else { - if(tableDataModel.id != null && tableDataModel.id!.trim().isNotEmpty) { + if (tableDataModel.id != null && + tableDataModel.id!.trim().isNotEmpty) { skillsPayLoad.add({ "id": tableDataModel.id, "individualId": tableDataModel.individualId, - "additionalDetails": { - "code": val - } + "additionalDetails": {"code": val} }); - } - else { + } else { skillsPayLoad.add({ "individualId": tableDataModel.individualId, - "additionalDetails": { - "code": val - } + "additionalDetails": {"code": val} }); } } @@ -1124,7 +1199,7 @@ class _SHGInboxPage extends State { widget: CircularButton( icon: Icons.circle_rounded, size: 15, - viewOnly: inWorkFlow || (daysInRange == null || !daysInRange!.monday) , + viewOnly: inWorkFlow || (daysInRange == null || !daysInRange!.monday), color: const Color.fromRGBO(0, 100, 0, 1), index: tableDataModel.monIndex ?? 0.0, isNotGreyed: false, @@ -1149,11 +1224,11 @@ class _SHGInboxPage extends State { widget: CircularButton( icon: Icons.circle_rounded, size: 15, - viewOnly: inWorkFlow || (daysInRange == null || !daysInRange!.tuesday), + viewOnly: inWorkFlow || (daysInRange == null || !daysInRange!.tuesday), color: const Color.fromRGBO(0, 100, 0, 1), index: tableDataModel.tueIndex ?? 0, isNotGreyed: false, - onTap:( daysInRange == null || !daysInRange!.tuesday) + onTap: (daysInRange == null || !daysInRange!.tuesday) ? null : entryExitList!.length > 2 ? () => onTapButton( @@ -1172,7 +1247,8 @@ class _SHGInboxPage extends State { TableData( widget: CircularButton( icon: Icons.circle_rounded, - viewOnly: inWorkFlow || (daysInRange == null || !daysInRange!.wednesday), + viewOnly: + inWorkFlow || (daysInRange == null || !daysInRange!.wednesday), size: 15, color: const Color.fromRGBO(0, 100, 0, 1), index: tableDataModel.wedIndex ?? 0, @@ -1197,7 +1273,7 @@ class _SHGInboxPage extends State { widget: CircularButton( icon: Icons.circle_rounded, size: 15, - viewOnly: inWorkFlow || (daysInRange == null || !daysInRange!.thursday), + viewOnly: inWorkFlow || (daysInRange == null || !daysInRange!.thursday), color: const Color.fromRGBO(0, 100, 0, 1), index: tableDataModel.thuIndex ?? 0, isNotGreyed: false, @@ -1221,7 +1297,7 @@ class _SHGInboxPage extends State { widget: CircularButton( icon: Icons.circle_rounded, size: 15, - viewOnly: inWorkFlow || (daysInRange == null || !daysInRange!.friday), + viewOnly: inWorkFlow || (daysInRange == null || !daysInRange!.friday), color: const Color.fromRGBO(0, 100, 0, 1), index: tableDataModel.friIndex ?? 0, isNotGreyed: false, @@ -1245,7 +1321,7 @@ class _SHGInboxPage extends State { widget: CircularButton( icon: Icons.circle_rounded, size: 15, - viewOnly: inWorkFlow || (daysInRange == null || !daysInRange!.saturday), + viewOnly: inWorkFlow || (daysInRange == null || !daysInRange!.saturday), color: const Color.fromRGBO(0, 100, 0, 1), index: tableDataModel.satIndex ?? 0, isNotGreyed: false, @@ -1269,7 +1345,7 @@ class _SHGInboxPage extends State { widget: CircularButton( icon: Icons.circle_rounded, size: 15, - viewOnly: inWorkFlow, + viewOnly: inWorkFlow, color: const Color.fromRGBO(0, 100, 0, 1), index: tableDataModel.sunIndex ?? 0, isNotGreyed: false, @@ -1289,21 +1365,27 @@ class _SHGInboxPage extends State { tableDataModel.sunExitId, tableDataModel.auditDetails), )), - TableData(label: (convertedValue(tableDataModel.monIndex!.toDouble()) + convertedValue(tableDataModel.tueIndex!.toDouble()) - + convertedValue(tableDataModel.wedIndex!.toDouble()) + convertedValue(tableDataModel.thuIndex!.toDouble()) - + convertedValue(tableDataModel.friIndex!.toDouble()) + convertedValue(tableDataModel.satIndex!.toDouble()) - + convertedValue(tableDataModel.sunIndex!.toDouble())).toString(),) + TableData( + label: (convertedValue(tableDataModel.monIndex!.toDouble()) + + convertedValue(tableDataModel.tueIndex!.toDouble()) + + convertedValue(tableDataModel.wedIndex!.toDouble()) + + convertedValue(tableDataModel.thuIndex!.toDouble()) + + convertedValue(tableDataModel.friIndex!.toDouble()) + + convertedValue(tableDataModel.satIndex!.toDouble()) + + convertedValue(tableDataModel.sunIndex!.toDouble())) + .toString(), + ) ]); } List getAttendanceData(List list) { return list.map((e) => getAttendanceRow(e)).toList(); } - double convertedValue(double tableVal){ - if(tableVal < 0){ + + double convertedValue(double tableVal) { + if (tableVal < 0) { return 0; - } - else{ + } else { return tableVal; } } @@ -1324,7 +1406,7 @@ class _SHGInboxPage extends State { newList[index].setProperty(day, 1.0); if (entryID != null && exitId != null) { updateAttendeePayload.removeWhere((e) => - e['individualId'] == individualId && + e['individualId'] == individualId && DateFormats.getDay(e['time']).toLowerCase() == day); updateAttendeePayload.addAll(updateAttendanceLogPayload( newList[index], @@ -1347,7 +1429,7 @@ class _SHGInboxPage extends State { true)); } else { createAttendeePayload.removeWhere((e) => - e['individualId'] == individualId && + e['individualId'] == individualId && DateFormats.getDay(e['time']).toLowerCase() == day); createAttendeePayload.addAll(createAttendanceLogPayload( newList[index], @@ -1368,7 +1450,7 @@ class _SHGInboxPage extends State { newList[index].setProperty(day, 0.0); if (entryID != null && exitId != null) { updateAttendeePayload.removeWhere((e) => - e['individualId'] == individualId && + e['individualId'] == individualId && DateFormats.getDay(e['time']).toLowerCase() == day); updateAttendeePayload.addAll(updateAttendanceLogPayload( newList[index], @@ -1391,14 +1473,14 @@ class _SHGInboxPage extends State { false)); } else { createAttendeePayload.removeWhere((e) => - e['individualId'] == individualId && + e['individualId'] == individualId && DateFormats.getDay(e['time']).toLowerCase() == day); } } else { newList[index].setProperty(day, 0.5); if (entryID != null && exitId != null) { updateAttendeePayload.removeWhere((e) => - e['individualId'] == individualId && + e['individualId'] == individualId && DateFormats.getDay(e['time']).toLowerCase() == day); updateAttendeePayload.addAll(updateAttendanceLogPayload( newList[index], @@ -1421,7 +1503,7 @@ class _SHGInboxPage extends State { true)); } else { createAttendeePayload.removeWhere((e) => - e['individualId'] == individualId && + e['individualId'] == individualId && DateFormats.getDay(e['time']).toLowerCase() == day); createAttendeePayload.addAll(createAttendanceLogPayload( newList[index], @@ -1440,15 +1522,26 @@ class _SHGInboxPage extends State { } } }); - } - else{} - if(newList.any((e) => e.monIndex == -1 && e.tueIndex == -1 && e.wedIndex == -1 && e.thuIndex == -1 && e.friIndex == -1 && e.satIndex == -1 && e.sunIndex == -1)) { + } else {} + if (newList.any((e) => + e.monIndex == -1 && + e.tueIndex == -1 && + e.wedIndex == -1 && + e.thuIndex == -1 && + e.friIndex == -1 && + e.satIndex == -1 && + e.sunIndex == -1)) { setState(() { for (var n in newList) { - if (n.monIndex == -1 && n.tueIndex == -1 && n.wedIndex == -1 && - n.thuIndex == -1 && n.friIndex == -1 && n.satIndex == -1 && + if (n.monIndex == -1 && + n.tueIndex == -1 && + n.wedIndex == -1 && + n.thuIndex == -1 && + n.friIndex == -1 && + n.satIndex == -1 && n.sunIndex == -1) { - createAttendeePayload.addAll(createAttendanceLogPayload(n, + createAttendeePayload.addAll(createAttendanceLogPayload( + n, registerId ?? '', DateFormats.getTimestampFromWeekDay( DateFormats.getDateFromTimestamp( @@ -1462,7 +1555,8 @@ class _SHGInboxPage extends State { morning), widget.tenantId)); } - }; + } + ; }); } } @@ -1482,7 +1576,7 @@ class _SHGInboxPage extends State { newList[index].setProperty(day, 0.0); if (entryID != null && exitId != null) { updateAttendeePayload.removeWhere((e) => - e['individualId'] == individualId && + e['individualId'] == individualId && DateFormats.getDay(e['time']).toLowerCase() == day); updateAttendeePayload.addAll(updateAttendanceLogPayload( newList[index], @@ -1505,14 +1599,14 @@ class _SHGInboxPage extends State { false)); } else { createAttendeePayload.removeWhere((e) => - e['individualId'] == individualId && + e['individualId'] == individualId && DateFormats.getDay(e['time']).toLowerCase() == day); } } else { newList[index].setProperty(day, 1.0); if (entryID != null && exitId != null) { updateAttendeePayload.removeWhere((e) => - e['individualId'] == individualId && + e['individualId'] == individualId && DateFormats.getDay(e['time']).toLowerCase() == day); updateAttendeePayload.addAll(updateAttendanceLogPayload( newList[index], @@ -1535,7 +1629,7 @@ class _SHGInboxPage extends State { true)); } else { createAttendeePayload.removeWhere((e) => - e['individualId'] == individualId && + e['individualId'] == individualId && DateFormats.getDay(e['time']).toLowerCase() == day); createAttendeePayload.addAll(createAttendanceLogPayload( newList[index], @@ -1554,15 +1648,26 @@ class _SHGInboxPage extends State { } } }); - } - else{} - if(newList.any((e) => e.monIndex == -1 && e.tueIndex == -1 && e.wedIndex == -1 && e.thuIndex == -1 && e.friIndex == -1 && e.satIndex == -1 && e.sunIndex == -1)) { + } else {} + if (newList.any((e) => + e.monIndex == -1 && + e.tueIndex == -1 && + e.wedIndex == -1 && + e.thuIndex == -1 && + e.friIndex == -1 && + e.satIndex == -1 && + e.sunIndex == -1)) { setState(() { for (var n in newList) { - if (n.monIndex == -1 && n.tueIndex == -1 && n.wedIndex == -1 && - n.thuIndex == -1 && n.friIndex == -1 && n.satIndex == -1 && + if (n.monIndex == -1 && + n.tueIndex == -1 && + n.wedIndex == -1 && + n.thuIndex == -1 && + n.friIndex == -1 && + n.satIndex == -1 && n.sunIndex == -1) { - createAttendeePayload.addAll(createAttendanceLogPayload(n, + createAttendeePayload.addAll(createAttendanceLogPayload( + n, registerId ?? '', DateFormats.getTimestampFromWeekDay( DateFormats.getDateFromTimestamp( @@ -1576,7 +1681,8 @@ class _SHGInboxPage extends State { morning), widget.tenantId)); } - }; + } + ; }); } } diff --git a/frontend/works_shg_app/lib/pages/track_attendance.dart b/frontend/works_shg_app/lib/pages/track_attendance.dart index 976d041f49..952a17dad0 100644 --- a/frontend/works_shg_app/lib/pages/track_attendance.dart +++ b/frontend/works_shg_app/lib/pages/track_attendance.dart @@ -109,11 +109,11 @@ class _TrackAttendancePage extends State { const AttendanceHoursEvent(), ); context.read().add( - const MusterInboxStatusEvent(), - ); + const MusterInboxStatusEvent(), + ); context.read().add( - const MusterSubmissionEvent(), - ); + const MusterSubmissionEvent(), + ); context.read().add( const SkillsEvent(), ); @@ -147,1203 +147,1123 @@ class _TrackAttendancePage extends State { : (MediaQuery.of(context).size.width / 7.5); return BlocBuilder( builder: (context, localState) { - return Scaffold( - appBar: AppBar( - titleSpacing: 0, - title: const AppBarLogo(), - ), - drawer: DrawerWrapper(Drawer( - child: SideBar( - module: CommonMethods.getLocaleModules(), - ))), - body: BlocBuilder( - builder: (context, skillsState) { - return skillsState.maybeWhen( - orElse: () => Container(), - loading: () => shg_loader.Loaders.circularLoader(context), - error: (String? error) => Notifiers.getToastMessage( - context, - AppLocalizations.of(context).translate(error.toString()), - 'ERROR'), - loaded: (SkillsList? skillsList) { - skillList = skillsList!.wageSeekerSkills - ?.where((obj) => obj.active == true) - .map((e) => Skill(code: e.code)) - .toList() ?? - []; - for (Skill skill in skillList) { - skillDropDown.add(skill.code); - } - return BlocBuilder( - builder: (context, mdmsState) { - return mdmsState.maybeWhen( - orElse: () => Container(), - loaded: (AttendanceHoursList? attendanceHoursList) { - entryExitList = attendanceHoursList!.attendanceHours - ?.where((obj) => obj.active == true) - .map((e) => EntryExitModel( - hours: int.parse(e.value), code: e.code)) - .toList(); - return BlocBuilder( - builder: (context, musterStatusState) { - return musterStatusState.maybeWhen(orElse: () => Container(), - loading: () => - shg_loader.Loaders.circularLoader(context), - loaded: (String? sentBackToCBOCode) => BlocBuilder< - AttendanceIndividualProjectSearchBloc, - AttendanceIndividualProjectSearchState>( - builder: (context, state) { - return state.maybeWhen( - loading: () => - shg_loader.Loaders.circularLoader(context), - error: (String? error) => - Notifiers.getToastMessage( - context, error.toString(), 'ERROR'), - loaded: (AttendanceRegistersModel? - individualAttendanceRegisterModel) { - registerId = individualAttendanceRegisterModel! - .attendanceRegister!.first.id; - registerStartDate = - individualAttendanceRegisterModel - .attendanceRegister!.first.startDate; - registerEndDate = - individualAttendanceRegisterModel - .attendanceRegister!.first.endDate; - cardDetails = individualAttendanceRegisterModel - .attendanceRegister! - .map((e) => { - i18.workOrder.workOrderNo: - e.attendanceRegisterAdditionalDetails - ?.contractId ?? - t.translate(i18.common.noValue), - i18.attendanceMgmt.registerId: - e.registerNumber, - i18.attendanceMgmt.projectId: - e.attendanceRegisterAdditionalDetails - ?.projectId ?? - i18.common.noValue, - i18.attendanceMgmt.projectName: e - .attendanceRegisterAdditionalDetails - ?.projectName ?? i18.common.noValue, - i18.attendanceMgmt.projectDesc: - e.attendanceRegisterAdditionalDetails - ?.projectDesc ?? - i18.common.noValue, - i18.attendanceMgmt.individualsCount: e - .attendeesEntries != - null - ? e.attendeesEntries - ?.where((att) => - att.denrollmentDate == - null || - !(att.denrollmentDate! <= - DateTime.now().millisecondsSinceEpoch)) - .toList() - .length - : 0, - i18.common.startDate: - DateFormats.timeStampToDate( - e.startDate, - format: "dd/MM/yyyy"), - i18.common.endDate: - DateFormats.timeStampToDate( - e.endDate, - format: "dd/MM/yyyy"), - }) - .toList(); - return Stack(children: [ - Container( - color: - const Color.fromRGBO(238, 238, 238, 1), - padding: const EdgeInsets.only( - left: 8, right: 8, bottom: 16), - height: MediaQuery.of(context).size.height, - child: CustomScrollView(slivers: [ - SliverList( - delegate: SliverChildListDelegate([ - Back( - backLabel: - AppLocalizations.of(context) - .translate(i18.common.back), - ), - WorkDetailsCard(cardDetails), - ])), - SliverToBoxAdapter( - child: Column( - crossAxisAlignment: - CrossAxisAlignment.center, - children: [ - const SizedBox( - height: 20, - ), - // DigitSearchBar(borderRadious: 0,), - // DateRangePicker(label: 'Mark attendance for the week'), - DateRangePicker( - label: AppLocalizations.of( - context) - .translate(i18.attendanceMgmt - .markAttendanceForTheWeek), - controller: dateController, - onChangeOfDate: _onDateChange, - rangePickerController: - rangePickerController, - onViewChange: _onViewChangedDate, - selectionMode: - DateRangePickerSelectionMode - .range, - onSubmit: () => onSubmit( - individualAttendanceRegisterModel - .attendanceRegister! - .first - .id - .toString()), - onCancel: () { - dateController.text = ''; - selectedDateRange = null; - }, - applyLabel: AppLocalizations.of( - context) - .translate(i18.common.apply), - cancelLabel: AppLocalizations.of( - context) - .translate(i18.common.cancel), - ), - CustomInfoCard(title: AppLocalizations.of(context) - .translate(i18.common.info), description: AppLocalizations.of(context) - .translate(i18.attendanceMgmt.toMarkAttendance), - child: Column( - children: entryExitList!.length > 2 ? [ - Row(children: [ - CircularButton(icon: Icons.circle_rounded, - size: 15, - color: const Color.fromRGBO(0, 100, 0, 1), - index: 1, - isNotGreyed: false, - onTap: () {},), - Padding( - padding: const EdgeInsets.only(left: 4.0), - child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.singleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.fullDay)}'), - ) - ],), - const SizedBox(height: 4,), - Row(children: [ - CircularButton(icon: Icons.circle_rounded, - size: 15, - color: const Color.fromRGBO(0, 100, 0, 1), - index: 0.5, - isNotGreyed: false, - onTap: () {},), - Padding( - padding: const EdgeInsets.only(left: 4.0), - child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.doubleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.halfDay)}'), - ) - ],), - const SizedBox(height: 4,), - Row(children: [ - CircularButton(icon: Icons.circle_rounded, - size: 15, - color: const Color.fromRGBO(0, 100, 0, 1), - index: 0, - isNotGreyed: false, - onTap: () {},), - Padding( - padding: const EdgeInsets.only(left: 4.0), - child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.tripleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.absent)}'), - ) - ],) - ] : [ - Row( - children: [ - CircularButton(icon: Icons.circle_rounded, - size: 15, - color: const Color.fromRGBO(0, 100, 0, 1), - index: 1, - isNotGreyed: false, - onTap: () {},), - Padding( - padding: const EdgeInsets.only(left: 4.0), - child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.singleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.fullDay)}'), - ) - ],), - const SizedBox(height: 4,), - Row(children: [ - CircularButton(icon: Icons.circle_rounded, - size: 15, - color: const Color.fromRGBO(0, 100, 0, 1), - index: 0, - isNotGreyed: false, - onTap: () {},), - Padding( - padding: const EdgeInsets.only(left: 4.0), - child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.doubleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.absent)}'), - ) - ],) - ], - ),), - Container( - margin: - const EdgeInsets.all(8.0), - child: TextFormField( - controller: searchController, - autofocus: false, - decoration: InputDecoration( - hintText: - AppLocalizations.of( - context) - .translate(i18 - .common - .searchByName), - border: - const OutlineInputBorder( - borderRadius: - BorderRadius.zero, + return Scaffold( + appBar: AppBar( + titleSpacing: 0, + title: const AppBarLogo(), + ), + drawer: DrawerWrapper(Drawer( + child: SideBar( + module: CommonMethods.getLocaleModules(), + ))), + body: BlocBuilder( + builder: (context, skillsState) { + return skillsState.maybeWhen( + orElse: () => Container(), + loading: () => shg_loader.Loaders.circularLoader(context), + error: (String? error) => Notifiers.getToastMessage( + context, + AppLocalizations.of(context).translate(error.toString()), + 'ERROR'), + loaded: (SkillsList? skillsList) { + skillList = skillsList!.wageSeekerSkills + ?.where((obj) => obj.active == true) + .map((e) => Skill(code: e.code!)) + .toList() ?? + []; + for (Skill skill in skillList) { + skillDropDown.add(skill.code); + } + return BlocBuilder( + builder: (context, mdmsState) { + return mdmsState.maybeWhen( + orElse: () => Container(), + loaded: (AttendanceHoursList? attendanceHoursList) { + entryExitList = attendanceHoursList!.attendanceHours + ?.where((obj) => obj.active == true) + .map((e) => EntryExitModel( + hours: int.parse(e.value), code: e.code)) + .toList(); + return BlocBuilder( + builder: (context, musterStatusState) { + return musterStatusState.maybeWhen( + orElse: () => Container(), + loading: () => + shg_loader.Loaders.circularLoader(context), + loaded: (String? sentBackToCBOCode) => + BlocBuilder< + AttendanceIndividualProjectSearchBloc, + AttendanceIndividualProjectSearchState>( + builder: (context, state) { + return state.maybeWhen( + loading: () => + shg_loader.Loaders.circularLoader( + context), + error: (String? error) => + Notifiers.getToastMessage(context, + error.toString(), 'ERROR'), + loaded: (AttendanceRegistersModel? + individualAttendanceRegisterModel) { + registerId = + individualAttendanceRegisterModel! + .attendanceRegister! + .first + .id; + registerStartDate = + individualAttendanceRegisterModel + .attendanceRegister! + .first + .startDate; + registerEndDate = + individualAttendanceRegisterModel + .attendanceRegister! + .first + .endDate; + cardDetails = + individualAttendanceRegisterModel + .attendanceRegister! + .map((e) => { + i18.workOrder + .workOrderNo: e + .attendanceRegisterAdditionalDetails + ?.contractId ?? + t.translate(i18 + .common + .noValue), + i18.attendanceMgmt + .registerId: + e.registerNumber, + i18.attendanceMgmt + .projectId: e + .attendanceRegisterAdditionalDetails + ?.projectId ?? + i18.common + .noValue, + i18.attendanceMgmt + .projectName: e + .attendanceRegisterAdditionalDetails + ?.projectName ?? + i18.common + .noValue, + i18.attendanceMgmt + .projectDesc: e + .attendanceRegisterAdditionalDetails + ?.projectDesc ?? + i18.common + .noValue, + i18.attendanceMgmt + .individualsCount: e + .attendeesEntries != + null + ? e.attendeesEntries + ?.where((att) => + att.denrollmentDate == + null || + !(att.denrollmentDate! <= + DateTime.now() + .millisecondsSinceEpoch)) + .toList() + .length + : 0, + i18.common.startDate: + DateFormats.timeStampToDate( + e.startDate, + format: + "dd/MM/yyyy"), + i18.common.endDate: + DateFormats + .timeStampToDate( + e.endDate, + format: + "dd/MM/yyyy"), + }) + .toList(); + return Stack(children: [ + Container( + color: const Color.fromRGBO( + 238, 238, 238, 1), + padding: const EdgeInsets.only( + left: 8, + right: 8, + bottom: 16), + height: MediaQuery.of(context) + .size + .height, + child: CustomScrollView( + slivers: [ + SliverList( + delegate: + SliverChildListDelegate([ + Back( + backLabel: + AppLocalizations.of( + context) + .translate(i18 + .common + .back), + ), + WorkDetailsCard( + cardDetails), + ])), + SliverToBoxAdapter( + child: Column( + crossAxisAlignment: + CrossAxisAlignment + .center, + children: [ + const SizedBox( + height: 20, ), - filled: true, - fillColor: Colors.white, - prefixIconConstraints: - const BoxConstraints( - minWidth: 0, - minHeight: 0), - prefixStyle: TextStyle( - fontSize: 16, - fontWeight: - FontWeight.w400, - color: Theme.of(context) - .primaryColorDark), - prefixIcon: const Padding( - padding: - EdgeInsets.all(8.0), - child: Icon(Icons - .search_sharp)), - ), - onChanged: (val) => - onTextSearch(), - )), - const SizedBox( - height: 20, - ), - individualAttendanceRegisterModel - .attendanceRegister! - .first - .attendeesEntries != - null && individualAttendanceRegisterModel - .attendanceRegister! - .first - .attendeesEntries!.where((e) => e.denrollmentDate == null || !(e.denrollmentDate! <= DateTime.now().millisecondsSinceEpoch)).toList().isNotEmpty - ? BlocListener< - MusterRollFromToDateSearchBloc, - MusterRollFromToDateSearchState>( - listener: (context, - musterSearch) { - musterSearch.maybeWhen( - orElse: () => - Container(), - loading: () => - shg_loader.Loaders - .circularLoader( - context), - loaded: (MusterRollsModel? - musterRollsSearch) { - if (musterRollsSearch! - .musterRoll != - null && - musterRollsSearch - .musterRoll! - .isNotEmpty) { - existingSkills = - musterRollsSearch - .musterRoll! - .first - .individualEntries! - .map((e) => - IndividualSkills( - individualId: - e.individualId, - skillCode: - e.musterIndividualAdditionalDetails?.skillCode ?? '', - name: e.musterIndividualAdditionalDetails?.userName ?? - '', - gender: e.musterIndividualAdditionalDetails?.gender, - aadhaar: e.musterIndividualAdditionalDetails?.aadharNumber ?? - '', - individualGaurdianName: - e.musterIndividualAdditionalDetails?.fatherName ?? '', - id: e - .id, - )) - .toList(); - context - .read< - MusterGetWorkflowBloc>() - .add( - GetMusterWorkflowEvent( - tenantId: - widget - .tenantId, - musterRollNumber: musterRollsSearch - .musterRoll! - .first - .musterRollNumber - .toString(), - musterSentBackCode: sentBackToCBOCode ?? Constants.sentBack), - ); - } else { - existingSkills - .clear(); - } - }); - }, child: BlocBuilder< - MusterRollEstimateBloc, - MusterRollEstimateState>( - builder: - (context, musterState) { - return musterState - .maybeWhen( - orElse: () => Container(), - loading: () => - shg_loader.Loaders - .circularLoader( - context), - error : (String? error) => Notifiers.getToastMessage(context, t.translate(error.toString()), 'ERROR'), - loaded: - (EstimateMusterRollsModel? - musterRollsModel) { - List attendeeList = individualAttendanceRegisterModel + // DigitSearchBar(borderRadious: 0,), + // DateRangePicker(label: 'Mark attendance for the week'), + DateRangePicker( + label: AppLocalizations + .of( + context) + .translate(i18 + .attendanceMgmt + .markAttendanceForTheWeek), + controller: + dateController, + onChangeOfDate: + _onDateChange, + rangePickerController: + rangePickerController, + onViewChange: + _onViewChangedDate, + selectionMode: + DateRangePickerSelectionMode + .range, + onSubmit: () => onSubmit( + individualAttendanceRegisterModel .attendanceRegister! .first - .attendeesEntries! - .where((e) => - (e.denrollmentDate == null || - !(e.denrollmentDate! <= - DateTime.now() - .millisecondsSinceEpoch))) - .toList() - .map((e) => AttendeesTrackList( - name: e.additionalDetails?.individualName ?? - '', - aadhaar: - e.additionalDetails?.identifierId ?? - '', - gender: e.additionalDetails?.gender, - individualId: - e.individualId, - individualGaurdianName: e.additionalDetails?.individualGaurdianName ?? '')) - .toList(); - if (attendeeList != - null && - attendeeList - .isNotEmpty) { - if (musterRollsModel - ?.musterRoll != - null && - musterRollsModel! - .musterRoll! - .isNotEmpty && - musterRollsModel - .musterRoll! + .id + .toString()), + onCancel: () { + dateController + .text = ''; + selectedDateRange = + null; + }, + applyLabel: AppLocalizations + .of( + context) + .translate(i18 + .common + .apply), + cancelLabel: AppLocalizations + .of( + context) + .translate(i18 + .common + .cancel), + ), + CustomInfoCard( + title: AppLocalizations + .of( + context) + .translate(i18 + .common + .info), + description: AppLocalizations + .of( + context) + .translate(i18 + .attendanceMgmt + .toMarkAttendance), + child: Column( + children: + entryExitList!.length > + 2 + ? [ + Row( + children: [ + CircularButton( + icon: Icons.circle_rounded, + size: 15, + color: const Color.fromRGBO(0, 100, 0, 1), + index: 1, + isNotGreyed: false, + onTap: () {}, + ), + Padding( + padding: const EdgeInsets.only(left: 4.0), + child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.singleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.fullDay)}'), + ) + ], + ), + const SizedBox( + height: 4, + ), + Row( + children: [ + CircularButton( + icon: Icons.circle_rounded, + size: 15, + color: const Color.fromRGBO(0, 100, 0, 1), + index: 0.5, + isNotGreyed: false, + onTap: () {}, + ), + Padding( + padding: const EdgeInsets.only(left: 4.0), + child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.doubleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.halfDay)}'), + ) + ], + ), + const SizedBox( + height: 4, + ), + Row( + children: [ + CircularButton( + icon: Icons.circle_rounded, + size: 15, + color: const Color.fromRGBO(0, 100, 0, 1), + index: 0, + isNotGreyed: false, + onTap: () {}, + ), + Padding( + padding: const EdgeInsets.only(left: 4.0), + child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.tripleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.absent)}'), + ) + ], + ) + ] + : [ + Row( + children: [ + CircularButton( + icon: Icons.circle_rounded, + size: 15, + color: const Color.fromRGBO(0, 100, 0, 1), + index: 1, + isNotGreyed: false, + onTap: () {}, + ), + Padding( + padding: const EdgeInsets.only(left: 4.0), + child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.singleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.fullDay)}'), + ) + ], + ), + const SizedBox( + height: 4, + ), + Row( + children: [ + CircularButton( + icon: Icons.circle_rounded, + size: 15, + color: const Color.fromRGBO(0, 100, 0, 1), + index: 0, + isNotGreyed: false, + onTap: () {}, + ), + Padding( + padding: const EdgeInsets.only(left: 4.0), + child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.doubleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.absent)}'), + ) + ], + ) + ], + ), + ), + Container( + margin: + const EdgeInsets + .all( + 8.0), + child: + TextFormField( + controller: + searchController, + autofocus: + false, + decoration: + InputDecoration( + hintText: AppLocalizations.of( + context) + .translate(i18 + .common + .searchByName), + border: + const OutlineInputBorder( + borderRadius: + BorderRadius + .zero, + ), + filled: + true, + fillColor: + Colors + .white, + prefixIconConstraints: const BoxConstraints( + minWidth: + 0, + minHeight: + 0), + prefixStyle: TextStyle( + fontSize: + 16, + fontWeight: + FontWeight + .w400, + color: Theme.of(context) + .primaryColorDark), + prefixIcon: const Padding( + padding: + EdgeInsets.all( + 8.0), + child: Icon( + Icons.search_sharp)), + ), + onChanged: + (val) => + onTextSearch(), + )), + const SizedBox( + height: 20, + ), + individualAttendanceRegisterModel + .attendanceRegister! .first - .individualEntries! - .isNotEmpty) { - List? - estimateMusterRoll = - musterRollsModel - .musterRoll! - .first - .individualEntries; - attendeeList = individualAttendanceRegisterModel - .attendanceRegister! - .first - .attendeesEntries!.where((e) => - (e.denrollmentDate == null || - !(e.denrollmentDate! <= - DateTime.now() - .millisecondsSinceEpoch))) - .map((e) => AttendeesTrackList( - name: existingSkills.where((s) => s.individualId == e.individualId).toList().isNotEmpty && existingSkills.where((s) => s.individualId == e.individualId).first.name!.isNotEmpty - ? existingSkills.firstWhere((s) => s.individualId == e.individualId, orElse: () => IndividualSkills()).name - : estimateMusterRoll!.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty - ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.musterIndividualAdditionalDetails?.userName ?? e.additionalDetails?.individualName - : e.additionalDetails?.individualName ?? '', - gender: existingSkills.where((s) => s.individualId == e.individualId).toList().isNotEmpty && existingSkills.where((s) => s.individualId == e.individualId).first.gender != null - ? existingSkills.firstWhere((s) => s.individualId == e.individualId, orElse: () => IndividualSkills()).gender - : estimateMusterRoll!.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty - ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.musterIndividualAdditionalDetails?.gender ?? e.additionalDetails?.gender - : e.additionalDetails?.gender ?? '', - aadhaar: existingSkills.where((s) => s.individualId == e.individualId).toList().isNotEmpty - ? existingSkills.firstWhere((s) => s.individualId == e.individualId, orElse: () => IndividualSkills()).aadhaar - : estimateMusterRoll!.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty - ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.musterIndividualAdditionalDetails?.aadharNumber - : e.additionalDetails?.identifierId ?? '', - individualGaurdianName: existingSkills.where((s) => s.individualId == e.individualId).toList().isNotEmpty && existingSkills.where((s) => s.individualId == e.individualId).first.individualGaurdianName!.isNotEmpty - ? existingSkills.firstWhere((s) => s.individualId == e.individualId, orElse: () => IndividualSkills()).individualGaurdianName - : estimateMusterRoll!.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty - ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.musterIndividualAdditionalDetails?.fatherName ?? e.additionalDetails?.individualGaurdianName - : e.additionalDetails?.individualGaurdianName ?? '', - individualId: e.individualId, - skillCodeList: estimateMusterRoll!.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.musterIndividualAdditionalDetails?.skillCode ?? [] : [], - id: existingSkills.where((s) => s.individualId == e.individualId).toList().isNotEmpty - ? existingSkills.firstWhere((s) => s.individualId == e.individualId, orElse: () => IndividualSkills()).id - : estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty - ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.id - : '', - skill: existingSkills.where((s) => s.individualId == e.individualId).toList().isNotEmpty ? existingSkills.firstWhere((s) => s.individualId == e.individualId, orElse: () => IndividualSkills()).skillCode : '', - monEntryId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Mon').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, - monExitId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Mon').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, - monIndex: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries != null ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Mon').attendance ?? -1 : -1 : -1, - tueEntryId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Tue').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, - tueExitId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Tue').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, - tueIndex: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries != null ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Tue').attendance ?? -1 : -1 : -1, - wedEntryId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Wed').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, - wedExitId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Wed').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, - wedIndex: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries != null ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Wed').attendance ?? -1 : -1 : -1, - thuEntryId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Thu').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, - thuExitId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Thu').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, - thursIndex: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries != null ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Thu').attendance ?? -1 : -1 : -1, - friEntryId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Fri').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, - friExitId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Fri').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, - friIndex: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries != null ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Fri').attendance ?? -1 : -1 : -1, - satEntryId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sat').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, - satExitId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sat').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, - satIndex: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries != null ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sat').attendance ?? -1 : -1 : -1, - sunEntryId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sun').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, - sunExitId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sun').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, - sunIndex: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries != null ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sun').attendance ?? -1 : -1 : -1, - auditDetails: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.first.auditDetails : null)) - .toList(); - if (newList - .isEmpty) { - for (var i = 0; - i < - attendeeList - .length; - i++) { - var item1 = - attendeeList[ - i]; - TrackAttendanceTableData - data = - TrackAttendanceTableData(); - data.name = - item1.name ?? - ''; - data.aadhaar = - item1.aadhaar ?? - ''; - data.gender = item1.gender ?? ''; - data.individualGaurdianName = - item1.individualGaurdianName ?? - ''; - data.individualId = - item1.individualId ?? - ''; - data.id = - item1.id ?? - ''; - data.skill = - item1.skill ?? - ''; - data.skillCodeList = - item1.skillCodeList ?? - []; - data.monIndex = - item1 - .monIndex; - data.monEntryId = - item1 - .monEntryId; - data.monExitId = - item1 - .monExitId; - data.tueIndex = - item1 - .tueIndex; - data.tueEntryId = - item1 - .tueEntryId; - data.tueExitId = - item1 - .tueExitId; - data.wedIndex = - item1 - .wedIndex; - data.wedEntryId = - item1 - .wedEntryId; - data.wedExitId = - item1 - .wedExitId; - data.thuIndex = - item1 - .thursIndex; - data.thuEntryId = - item1 - .thuEntryId; - data.thuExitId = - item1 - .thuExitId; - data.friIndex = - item1 - .friIndex; - data.friEntryId = - item1 - .friEntryId; - data.friExitId = - item1 - .friExitId; - data.satIndex = - item1 - .satIndex; - data.satEntryId = - item1 - .satEntryId; - data.satExitId = - item1 - .satExitId; - data.sunIndex = - item1 - .sunIndex; - data.sunEntryId = - item1 - .sunEntryId; - data.sunExitId = - item1 - .sunExitId; - data.auditDetails = - item1 - .auditDetails; - if(existingSkills.isNotEmpty){ - if(existingSkills.any((e) => e.individualId == data.individualId)){ - newList.add(data); - } + .attendeesEntries != + null && + individualAttendanceRegisterModel + .attendanceRegister! + .first + .attendeesEntries! + .where((e) => + e.denrollmentDate == null || + !(e.denrollmentDate! <= + DateTime.now() + .millisecondsSinceEpoch)) + .toList() + .isNotEmpty + ? BlocListener(listener: + (context, + musterSearch) { + musterSearch.maybeWhen( + orElse: () => Container(), + loading: () => shg_loader.Loaders.circularLoader(context), + loaded: (MusterRollsModel? musterRollsSearch) { + if (musterRollsSearch!.musterRoll != null && + musterRollsSearch.musterRoll!.isNotEmpty) { + existingSkills = musterRollsSearch.musterRoll!.first.individualEntries! + .map((e) => IndividualSkills( + individualId: e.individualId, + skillCode: e.musterIndividualAdditionalDetails?.skillCode ?? '', + name: e.musterIndividualAdditionalDetails?.userName ?? '', + gender: e.musterIndividualAdditionalDetails?.gender, + aadhaar: e.musterIndividualAdditionalDetails?.aadharNumber ?? '', + individualGaurdianName: e.musterIndividualAdditionalDetails?.fatherName ?? '', + id: e.id, + )) + .toList(); + context.read().add( + GetMusterWorkflowEvent(tenantId: widget.tenantId, musterRollNumber: musterRollsSearch.musterRoll!.first.musterRollNumber.toString(), musterSentBackCode: sentBackToCBOCode ?? Constants.sentBack), + ); + } else { + existingSkills.clear(); } - else { - newList.add( - data); - } - } - } - } else { - if (newList - .isEmpty) { - for (var i = 0; - i < - attendeeList - .length; - i++) { - var item1 = - attendeeList[ - i]; - TrackAttendanceTableData - data = - TrackAttendanceTableData(); - data.name = - item1.name ?? - ''; - data.aadhaar = - item1.aadhaar ?? - ''; - data.gender = item1.gender ?? ''; - data.individualGaurdianName = - item1.individualGaurdianName ?? - ''; - data.individualId = - item1.individualId ?? - ''; - data.id = - item1.id; - data.skill = - item1.skill ?? - ''; - data.skillCodeList = - item1.skillCodeList ?? - []; - data.monIndex = - item1 - .monIndex; - data.tueIndex = - item1 - .tueIndex; - data.wedIndex = - item1 - .wedIndex; - data.thuIndex = - item1 - .thursIndex; - data.friIndex = - item1 - .friIndex; - data.satIndex = - item1 - .satIndex; - data.sunIndex = - item1 - .sunIndex; - data.auditDetails = - item1 - .auditDetails; - if(existingSkills.isNotEmpty){ - if(existingSkills.any((e) => e.individualId == data.individualId)){ - newList.add(data); + }); + }, child: BlocBuilder< + MusterRollEstimateBloc, + MusterRollEstimateState>( + builder: + (context, + musterState) { + return musterState + .maybeWhen( + orElse: () => + Container(), + loading: + () => + shg_loader.Loaders.circularLoader(context), + error: (String? error) => Notifiers.getToastMessage( + context, + t.translate(error.toString()), + 'ERROR'), + loaded: (EstimateMusterRollsModel? + musterRollsModel) { + List attendeeList = individualAttendanceRegisterModel + .attendanceRegister! + .first + .attendeesEntries! + .where((e) => (e.denrollmentDate == null || !(e.denrollmentDate! <= DateTime.now().millisecondsSinceEpoch))) + .toList() + .map((e) => AttendeesTrackList(name: e.additionalDetails?.individualName ?? '', aadhaar: e.additionalDetails?.identifierId ?? '', gender: e.additionalDetails?.gender, individualId: e.individualId, individualGaurdianName: e.additionalDetails?.individualGaurdianName ?? '')) + .toList(); + if (attendeeList != null && + attendeeList.isNotEmpty) { + if (musterRollsModel?.musterRoll != null && + musterRollsModel!.musterRoll!.isNotEmpty && + musterRollsModel.musterRoll!.first.individualEntries!.isNotEmpty) { + List? estimateMusterRoll = musterRollsModel.musterRoll!.first.individualEntries; + attendeeList = individualAttendanceRegisterModel.attendanceRegister!.first.attendeesEntries! + .where((e) => (e.denrollmentDate == null || !(e.denrollmentDate! <= DateTime.now().millisecondsSinceEpoch))) + .map((e) => AttendeesTrackList( + name: existingSkills.where((s) => s.individualId == e.individualId).toList().isNotEmpty && existingSkills.where((s) => s.individualId == e.individualId).first.name!.isNotEmpty + ? existingSkills.firstWhere((s) => s.individualId == e.individualId, orElse: () => IndividualSkills()).name + : estimateMusterRoll!.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.musterIndividualAdditionalDetails?.userName ?? e.additionalDetails?.individualName + : e.additionalDetails?.individualName ?? '', + gender: existingSkills.where((s) => s.individualId == e.individualId).toList().isNotEmpty && existingSkills.where((s) => s.individualId == e.individualId).first.gender != null + ? existingSkills.firstWhere((s) => s.individualId == e.individualId, orElse: () => IndividualSkills()).gender + : estimateMusterRoll!.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.musterIndividualAdditionalDetails?.gender ?? e.additionalDetails?.gender + : e.additionalDetails?.gender ?? '', + aadhaar: existingSkills.where((s) => s.individualId == e.individualId).toList().isNotEmpty + ? existingSkills.firstWhere((s) => s.individualId == e.individualId, orElse: () => IndividualSkills()).aadhaar + : estimateMusterRoll!.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.musterIndividualAdditionalDetails?.aadharNumber + : e.additionalDetails?.identifierId ?? '', + individualGaurdianName: existingSkills.where((s) => s.individualId == e.individualId).toList().isNotEmpty && existingSkills.where((s) => s.individualId == e.individualId).first.individualGaurdianName!.isNotEmpty + ? existingSkills.firstWhere((s) => s.individualId == e.individualId, orElse: () => IndividualSkills()).individualGaurdianName + : estimateMusterRoll!.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.musterIndividualAdditionalDetails?.fatherName ?? e.additionalDetails?.individualGaurdianName + : e.additionalDetails?.individualGaurdianName ?? '', + individualId: e.individualId, + skillCodeList: estimateMusterRoll!.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.musterIndividualAdditionalDetails?.skillCode ?? [] : [], + id: existingSkills.where((s) => s.individualId == e.individualId).toList().isNotEmpty + ? existingSkills.firstWhere((s) => s.individualId == e.individualId, orElse: () => IndividualSkills()).id + : estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.id + : '', + skill: existingSkills.where((s) => s.individualId == e.individualId).toList().isNotEmpty ? existingSkills.firstWhere((s) => s.individualId == e.individualId, orElse: () => IndividualSkills()).skillCode : '', + monEntryId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Mon').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + monExitId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Mon').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + monIndex: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries != null + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Mon').attendance ?? -1 + : -1 + : -1, + tueEntryId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Tue').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + tueExitId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Tue').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + tueIndex: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries != null + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Tue').attendance ?? -1 + : -1 + : -1, + wedEntryId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Wed').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + wedExitId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Wed').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + wedIndex: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries != null + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Wed').attendance ?? -1 + : -1 + : -1, + thuEntryId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Thu').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + thuExitId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Thu').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + thursIndex: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries != null + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Thu').attendance ?? -1 + : -1 + : -1, + friEntryId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Fri').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + friExitId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Fri').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + friIndex: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries != null + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Fri').attendance ?? -1 + : -1 + : -1, + satEntryId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sat').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + satExitId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sat').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + satIndex: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries != null + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sat').attendance ?? -1 + : -1 + : -1, + sunEntryId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sun').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, + sunExitId: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sun').attendanceEntriesAdditionalDetails?.exitAttendanceLogId : null, + sunIndex: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries != null + ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Sun').attendance ?? -1 + : -1 + : -1, + auditDetails: estimateMusterRoll.where((mu) => mu.individualId == e.individualId).toList().isNotEmpty ? estimateMusterRoll.where((m) => m.individualId == e.individualId).first.attendanceEntries?.first.auditDetails : null)) + .toList(); + if (newList.isEmpty) { + for (var i = 0; i < attendeeList.length; i++) { + var item1 = attendeeList[i]; + TrackAttendanceTableData data = TrackAttendanceTableData(); + data.name = item1.name ?? ''; + data.aadhaar = item1.aadhaar ?? ''; + data.gender = item1.gender ?? ''; + data.individualGaurdianName = item1.individualGaurdianName ?? ''; + data.individualId = item1.individualId ?? ''; + data.id = item1.id ?? ''; + data.skill = item1.skill ?? ''; + data.skillCodeList = item1.skillCodeList ?? []; + data.monIndex = item1.monIndex; + data.monEntryId = item1.monEntryId; + data.monExitId = item1.monExitId; + data.tueIndex = item1.tueIndex; + data.tueEntryId = item1.tueEntryId; + data.tueExitId = item1.tueExitId; + data.wedIndex = item1.wedIndex; + data.wedEntryId = item1.wedEntryId; + data.wedExitId = item1.wedExitId; + data.thuIndex = item1.thursIndex; + data.thuEntryId = item1.thuEntryId; + data.thuExitId = item1.thuExitId; + data.friIndex = item1.friIndex; + data.friEntryId = item1.friEntryId; + data.friExitId = item1.friExitId; + data.satIndex = item1.satIndex; + data.satEntryId = item1.satEntryId; + data.satExitId = item1.satExitId; + data.sunIndex = item1.sunIndex; + data.sunEntryId = item1.sunEntryId; + data.sunExitId = item1.sunExitId; + data.auditDetails = item1.auditDetails; + if (existingSkills.isNotEmpty) { + if (existingSkills.any((e) => e.individualId == data.individualId)) { + newList.add(data); + } + } else { + newList.add(data); + } + } + } + } else { + if (newList.isEmpty) { + for (var i = 0; i < attendeeList.length; i++) { + var item1 = attendeeList[i]; + TrackAttendanceTableData data = TrackAttendanceTableData(); + data.name = item1.name ?? ''; + data.aadhaar = item1.aadhaar ?? ''; + data.gender = item1.gender ?? ''; + data.individualGaurdianName = item1.individualGaurdianName ?? ''; + data.individualId = item1.individualId ?? ''; + data.id = item1.id; + data.skill = item1.skill ?? ''; + data.skillCodeList = item1.skillCodeList ?? []; + data.monIndex = item1.monIndex; + data.tueIndex = item1.tueIndex; + data.wedIndex = item1.wedIndex; + data.thuIndex = item1.thursIndex; + data.friIndex = item1.friIndex; + data.satIndex = item1.satIndex; + data.sunIndex = item1.sunIndex; + data.auditDetails = item1.auditDetails; + if (existingSkills.isNotEmpty) { + if (existingSkills.any((e) => e.individualId == data.individualId)) { + newList.add(data); + } + } else { + newList.add(data); + } + } + } } - } - else { - newList.add( - data); - } - } - } - } - tableData = - getAttendanceData( - newList); - return Column( - crossAxisAlignment: - CrossAxisAlignment - .start, - children: [ - Padding( - padding: - const EdgeInsets.all( - 8.0), - child: shg_app - .DigitTable( - headerList: - headerList, - tableData: - tableData, - leftColumnWidth: - width, - rightColumnWidth: skillsDisable - ? width * - 9 - : width * - 10, - height: 58 + - (52.0 * - (tableData.length + 0.2)), - scrollPhysics: - const NeverScrollableScrollPhysics(), - ), - ), - Align( - alignment: - Alignment - .bottomCenter, - child: - Padding( - padding: - const EdgeInsets - .only( - left: - 8.0, - right: - 8.0, + tableData = + getAttendanceData(newList); + return Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ + Padding( + padding: const EdgeInsets.all(8.0), + child: shg_app.DigitTable( + headerList: headerList, + tableData: tableData, + leftColumnWidth: width, + rightColumnWidth: skillsDisable ? width * 9 : width * 10, + height: 58 + (52.0 * (tableData.length + 0.2)), + scrollPhysics: const NeverScrollableScrollPhysics(), + ), ), - child: SizedBox( - height: isInWorkFlow ? 0 : 100, - child: BlocBuilder(builder: (context, musterSearchState) { - return musterSearchState.maybeWhen( - orElse: () => Container(), - loading: () => shg_loader.Loaders.circularLoader(context), - loaded: (MusterRollsModel? musterRollsSearch) { - return BlocListener( - listener: (context, workflowState) { - workflowState.maybeWhen( - error: () { - Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.unableToCheckWorkflowStatus), 'ERROR'); - }, - loading: () => shg_loader.Loaders.circularLoader(context), - loaded: (MusterWorkFlowModel? musterWorkFlowModel, bool inWorkFlow) { - if (!inWorkFlow) { - if (isInWorkFlow != false) { - setState(() { - isInWorkFlow = false; - }); - } - } else { - if (musterRollsSearch!.musterRoll!.isNotEmpty && selectedDateRange != null) { - if (skillsDisable != false) { - setState(() { - skillsDisable = false; - }); - } - if (isInWorkFlow != true) { - setState(() { - isInWorkFlow = true; - }); + Align( + alignment: Alignment.bottomCenter, + child: Padding( + padding: const EdgeInsets.only( + left: 8.0, + right: 8.0, + ), + child: SizedBox( + height: isInWorkFlow ? 0 : 100, + child: BlocBuilder(builder: (context, musterSearchState) { + return musterSearchState.maybeWhen( + orElse: () => Container(), + loading: () => shg_loader.Loaders.circularLoader(context), + loaded: (MusterRollsModel? musterRollsSearch) { + return BlocListener( + listener: (context, workflowState) { + workflowState.maybeWhen( + error: () { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.unableToCheckWorkflowStatus), 'ERROR'); + }, + loading: () => shg_loader.Loaders.circularLoader(context), + loaded: (MusterWorkFlowModel? musterWorkFlowModel, bool inWorkFlow) { + if (!inWorkFlow) { + if (isInWorkFlow != false) { + setState(() { + isInWorkFlow = false; + }); + } + } else { + if (musterRollsSearch!.musterRoll!.isNotEmpty && selectedDateRange != null) { + if (skillsDisable != false) { + setState(() { + skillsDisable = false; + }); + } + if (isInWorkFlow != true) { + setState(() { + isInWorkFlow = true; + }); + } + } } - } - } - return Container(); - }, - orElse: () { - return Container(); - }); - }, - child: BlocBuilder(builder: (context, workflowState) { - return workflowState.maybeWhen(orElse: () => Container(), - error: () => Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.unableToCheckWorkflowStatus), 'ERROR'), - loading: () => shg_loader.Loaders.circularLoader(context), - initial: () => isInWorkFlow - ? Container() - : BlocBuilder( - builder: (context, submissionState) { - return submissionState.maybeWhen(orElse: () => Container(), - loading: () => shg_loader.Loaders.circularLoader(context), - loaded : (bool isEndOfWeek) { - return Column( - children: [ - BlocListener( - listener: (context, logState) { - SchedulerBinding.instance.addPostFrameCallback((_) { - logState.maybeWhen( - error: (String? error) { - if (!hasLoaded && selectedDateRange != null) { - Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(error.toString()), 'ERROR'); - onSubmit(widget.id); - hasLoaded = true; - } - }, - loading: () => shg_loader.Loaders.circularLoader(context), - loaded: () { - if (!hasLoaded && selectedDateRange != null) { - Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceLoggedSuccess), 'SUCCESS'); - onSubmit(widget.id); - hasLoaded = true; - } - }, - orElse: () => Container()); - }); - }, - child: OutlinedButton( - style: OutlinedButton.styleFrom(backgroundColor: Colors.white, side: BorderSide(width: 2, color: createAttendeePayload.isEmpty && updateAttendeePayload.isEmpty ? const Color.fromRGBO(149, 148, 148, 1) : DigitTheme.instance.colorScheme.secondary)), - onPressed: musterRollsSearch != null && musterRollsSearch.musterRoll!.isNotEmpty && isInWorkFlow - ? null - : () { - if (debouncer != null && debouncer!.isActive) { - debouncer!.cancel(); // Cancel the previous timer if it's active. - } - debouncer = Timer(Duration(milliseconds: 1000), () { - if (selectedDateRange == null) { - Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), 'ERROR'); - } else { - hasLoaded = false; - if (updateAttendeePayload.isNotEmpty && createAttendeePayload.isNotEmpty) { - context.read().add(UpdateAttendanceLogEvent(attendanceList: updateAttendeePayload)); - context.read().add(CreateAttendanceLogEvent(attendanceList: createAttendeePayload)); - } else if (updateAttendeePayload.isNotEmpty) { - context.read().add(UpdateAttendanceLogEvent(attendanceList: updateAttendeePayload)); - } else if (createAttendeePayload.isNotEmpty) { - context.read().add(CreateAttendanceLogEvent(attendanceList: createAttendeePayload)); - } - } - }); - }, - child: Center( - child: Text( - AppLocalizations.of(context).translate(i18.common.saveAsDraft), - style: createAttendeePayload.isEmpty && updateAttendeePayload.isEmpty ? DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: const Color.fromRGBO(149, 148, 148, 1)) : DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: const DigitColors().burningOrange), - ))), - ), - const SizedBox( - height: 10, - ), - BlocListener( - listener: (context, musterCreateState) { - musterCreateState.maybeWhen( - error: () { - if (!createMusterLoaded && selectedDateRange != null) { - Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.musterCreateFailed), 'ERROR'); - // onSubmit(registerId.toString()); - createMusterLoaded = true; - context.router.popAndPush(TrackAttendanceRoute( - tenantId: widget.tenantId.toString(), - id: widget.id.toString(), - )); - } - }, - loaded: (MusterRollsModel? createdMuster) { - if (!createMusterLoaded && selectedDateRange != null) { - Notifiers.getToastMessage(context, ' ${createdMuster?.musterRoll?.first.musterRollNumber} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.musterSentForApproval)}', 'SUCCESS'); - createMusterLoaded = true; - // onSubmit(registerId.toString()); - context.router.popAndPush(TrackAttendanceRoute( - tenantId: widget.tenantId.toString(), - id: widget.id.toString(), - )); - } - }, - orElse: () => Container()); - }, - child: DigitElevatedButton( - onPressed: isEndOfWeek && - selectedDateRange!.endDate > DateTime.now().millisecondsSinceEpoch - ? null - : newList.any((n) => - n.monIndex == -1 && - n.tueIndex == -1 && - n.wedIndex == -1 && - n.thuIndex == -1 && - n.friIndex == -1 && - n.satIndex == -1 && - n.sunIndex == -1) - ? null - : musterRollsModel?.musterRoll != null && - musterRollsModel!.musterRoll!.first.individualEntries != null && - musterRollsModel.musterRoll!.first.individualEntries!.isNotEmpty - ? musterRollsSearch?.musterRoll != null && - musterRollsSearch!.musterRoll!.isNotEmpty - ? isInWorkFlow == false - ? () { - if (debouncer != null && debouncer!.isActive) { - debouncer!.cancel(); // Cancel the previous timer if it's active. - } - debouncer = Timer(Duration(milliseconds: 1000), () { - if (selectedDateRange == null) { - Notifiers.getToastMessage( - context, - AppLocalizations.of(context) - .translate(i18.attendanceMgmt.selectDateRangeFirst), - 'ERROR'); - } else if (newList.any((item) => (item.skillCodeList?.isNotEmpty ?? false) == false)) { - setState(() { - skillsDisable = false; - }); - Notifiers.getToastMessage( - context, - AppLocalizations.of(context) - .translate(i18.attendanceMgmt.noSkillPresent), - 'INFO'); - } - else if (updateAttendeePayload.isNotEmpty) { - Notifiers.getToastMessage( - context, - AppLocalizations.of(context) - .translate(i18.attendanceMgmt.attendanceChangedValidation), - 'INFO'); - } else if (skillsDisable || - newList.where((n) => n.skillCodeList?.isNotEmpty ?? false).any( - (e) => e.skill == null && e.skill.toString().isEmpty)) { - setState(() { - skillsDisable = false; - }); - Notifiers.getToastMessage( - context, - AppLocalizations.of(context).translate(i18.attendanceMgmt.reviewSkills), - 'INFO'); - } - }); - } - : null + return Container(); + }, + orElse: () { + return Container(); + }); + }, + child: BlocBuilder(builder: (context, workflowState) { + return workflowState.maybeWhen( + orElse: () => Container(), + error: () => Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.unableToCheckWorkflowStatus), 'ERROR'), + loading: () => shg_loader.Loaders.circularLoader(context), + initial: () => isInWorkFlow + ? Container() + : BlocBuilder(builder: (context, submissionState) { + return submissionState.maybeWhen( + orElse: () => Container(), + loading: () => shg_loader.Loaders.circularLoader(context), + loaded: (bool isEndOfWeek) { + return Column( + children: [ + BlocListener( + listener: (context, logState) { + SchedulerBinding.instance.addPostFrameCallback((_) { + logState.maybeWhen( + error: (String? error) { + if (!hasLoaded && selectedDateRange != null) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(error.toString()), 'ERROR'); + onSubmit(widget.id); + hasLoaded = true; + } + }, + loading: () => shg_loader.Loaders.circularLoader(context), + loaded: () { + if (!hasLoaded && selectedDateRange != null) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceLoggedSuccess), 'SUCCESS'); + onSubmit(widget.id); + hasLoaded = true; + } + }, + orElse: () => Container()); + }); + }, + child: OutlinedButton( + style: OutlinedButton.styleFrom(backgroundColor: Colors.white, side: BorderSide(width: 2, color: createAttendeePayload.isEmpty && updateAttendeePayload.isEmpty ? const Color.fromRGBO(149, 148, 148, 1) : DigitTheme.instance.colorScheme.secondary)), + onPressed: musterRollsSearch != null && musterRollsSearch.musterRoll!.isNotEmpty && isInWorkFlow + ? null : () { if (debouncer != null && debouncer!.isActive) { debouncer!.cancel(); // Cancel the previous timer if it's active. } debouncer = Timer(Duration(milliseconds: 1000), () { if (selectedDateRange == null) { - Notifiers.getToastMessage( - context, - AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), - 'ERROR'); - } else if (createAttendeePayload.isNotEmpty) { - Notifiers.getToastMessage( - context, - AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceChangedValidation), - 'INFO'); - } else if (newList.any((item) => (item.skillCodeList?.isNotEmpty ?? false) == false)) { - setState(() { - skillsDisable = false; - }); - Notifiers.getToastMessage( - context, - AppLocalizations.of(context) - .translate(i18.attendanceMgmt.noSkillPresent), - 'INFO'); - } - else if (skillsDisable || - newList.where((n) => n.skillCodeList?.isNotEmpty ?? false).any( - (e) => e.skill == null || e.skill.toString().isEmpty)) { - setState(() { - skillsDisable = false; - }); - Notifiers.getToastMessage(context, - AppLocalizations.of(context).translate(i18.attendanceMgmt.reviewSkills), - 'INFO'); + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), 'ERROR'); } else { - createMusterLoaded = false; - context.read().add(CreateMusterEvent( - tenantId: widget.tenantId, - registerId: widget.id, - startDate: selectedDateRange!.startDate, - serviceCode: individualAttendanceRegisterModel.attendanceRegister?.first.serviceCode, - referenceId: individualAttendanceRegisterModel.attendanceRegister?.first.referenceId, - orgName: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.orgName ?? 'NA', - contractId: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.contractId ?? 'NA', - executingAuthority: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.executingAuthority, - registerNo: individualAttendanceRegisterModel.attendanceRegister?.first.registerNumber ?? 'NA', - registerName: individualAttendanceRegisterModel.attendanceRegister?.first.name ?? 'NA', - projectName: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.projectName ?? '', - projectType: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.projectType ?? '', - projectDesc: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.projectDesc ?? '', - projectId: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.projectId ?? '', - locality: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.locality ?? '', - ward: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.ward ?? '', - amount: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.amount ?? 14500, - skillsList: skillsPayLoad, - )); + hasLoaded = false; + if (updateAttendeePayload.isNotEmpty && createAttendeePayload.isNotEmpty) { + context.read().add(UpdateAttendanceLogEvent(attendanceList: updateAttendeePayload)); + context.read().add(CreateAttendanceLogEvent(attendanceList: createAttendeePayload)); + } else if (updateAttendeePayload.isNotEmpty) { + context.read().add(UpdateAttendanceLogEvent(attendanceList: updateAttendeePayload)); + } else if (createAttendeePayload.isNotEmpty) { + context.read().add(CreateAttendanceLogEvent(attendanceList: createAttendeePayload)); + } } }); + }, + child: Center( + child: Text( + AppLocalizations.of(context).translate(i18.common.saveAsDraft), + style: createAttendeePayload.isEmpty && updateAttendeePayload.isEmpty ? DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: const Color.fromRGBO(149, 148, 148, 1)) : DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: const DigitColors().burningOrange), + ))), + ), + const SizedBox( + height: 10, + ), + BlocListener( + listener: (context, musterCreateState) { + musterCreateState.maybeWhen( + loading: () { + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route is! PopupRoute, + ); + Loaders.showLoadingDialog(context); + }, + error: () { + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route is! PopupRoute, + ); + + if (!createMusterLoaded && selectedDateRange != null) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.musterCreateFailed), 'ERROR'); + // onSubmit(registerId.toString()); + createMusterLoaded = true; + context.router.popAndPush(TrackAttendanceRoute( + tenantId: widget.tenantId.toString(), + id: widget.id.toString(), + )); + } + }, + loaded: (MusterRollsModel? createdMuster) { + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route is! PopupRoute, + ); + + if (!createMusterLoaded && selectedDateRange != null) { + Notifiers.getToastMessage(context, ' ${createdMuster?.musterRoll?.first.musterRollNumber} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.musterSentForApproval)}', 'SUCCESS'); + createMusterLoaded = true; + // onSubmit(registerId.toString()); + context.router.popAndPush(TrackAttendanceRoute( + tenantId: widget.tenantId.toString(), + id: widget.id.toString(), + )); + } + }, + orElse: () => Container()); + }, + child: DigitElevatedButton( + onPressed: isEndOfWeek && selectedDateRange!.endDate > DateTime.now().millisecondsSinceEpoch + ? null + : newList.any((n) => n.monIndex == -1 && n.tueIndex == -1 && n.wedIndex == -1 && n.thuIndex == -1 && n.friIndex == -1 && n.satIndex == -1 && n.sunIndex == -1) + ? null + : musterRollsModel?.musterRoll != null && musterRollsModel!.musterRoll!.first.individualEntries != null && musterRollsModel.musterRoll!.first.individualEntries!.isNotEmpty + ? musterRollsSearch?.musterRoll != null && musterRollsSearch!.musterRoll!.isNotEmpty + ? isInWorkFlow == false + ? () { + if (debouncer != null && debouncer!.isActive) { + debouncer!.cancel(); // Cancel the previous timer if it's active. + } + debouncer = Timer(const Duration(milliseconds: 1000), () { + if (selectedDateRange == null) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), 'ERROR'); + } else if (newList.any((item) => (item.skillCodeList?.isNotEmpty ?? false) == false)) { + setState(() { + skillsDisable = false; + }); + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.noSkillPresent), 'INFO'); + } else if (updateAttendeePayload.isNotEmpty) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceChangedValidation), 'INFO'); + } else if (skillsDisable || newList.where((n) => n.skillCodeList?.isNotEmpty ?? false).any((e) => e.skill == null && e.skill.toString().isEmpty)) { + setState(() { + skillsDisable = false; + }); + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.reviewSkills), 'INFO'); + } + }); + } + : null + : () { + if (debouncer != null && debouncer!.isActive) { + debouncer!.cancel(); // Cancel the previous timer if it's active. + } + debouncer = Timer(const Duration(milliseconds: 1000), () { + if (selectedDateRange == null) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), 'ERROR'); + } else if (createAttendeePayload.isNotEmpty) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceChangedValidation), 'INFO'); + } else if (newList.any((item) => (item.skillCodeList?.isNotEmpty ?? false) == false)) { + setState(() { + skillsDisable = false; + }); + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.noSkillPresent), 'INFO'); + } else if (skillsDisable || newList.where((n) => n.skillCodeList?.isNotEmpty ?? false).any((e) => e.skill == null || e.skill.toString().isEmpty)) { + setState(() { + skillsDisable = false; + }); + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.reviewSkills), 'INFO'); + } else { + createMusterLoaded = false; + context.read().add(CreateMusterEvent( + tenantId: widget.tenantId, + registerId: widget.id, + startDate: selectedDateRange!.startDate, + serviceCode: individualAttendanceRegisterModel.attendanceRegister?.first.serviceCode, + referenceId: individualAttendanceRegisterModel.attendanceRegister?.first.referenceId, + orgName: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.orgName ?? 'NA', + contractId: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.contractId ?? 'NA', + executingAuthority: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.executingAuthority, + registerNo: individualAttendanceRegisterModel.attendanceRegister?.first.registerNumber ?? 'NA', + registerName: individualAttendanceRegisterModel.attendanceRegister?.first.name ?? 'NA', + projectName: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.projectName ?? '', + projectType: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.projectType ?? '', + projectDesc: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.projectDesc ?? '', + projectId: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.projectId ?? '', + locality: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.locality ?? '', + ward: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.ward ?? '', + amount: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.amount ?? 14500, + skillsList: skillsPayLoad, + )); + } + }); + } + : null, + child: Center( + child: Text(AppLocalizations.of(context).translate(i18.common.sendForApproval), style: DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: Colors.white)), + ), + ), + ), + ], + ); + }); + }), + loaded: (MusterWorkFlowModel? musterWorkFlowModel, bool inWorkFlow) => isInWorkFlow + ? Container() + : BlocBuilder(builder: (context, submissionState) { + return submissionState.maybeWhen( + orElse: () => Container(), + loading: () => shg_loader.Loaders.circularLoader(context), + loaded: (bool isEndOfWeek) { + return Column( + children: [ + BlocListener( + listener: (context, logState) { + SchedulerBinding.instance.addPostFrameCallback((_) { + logState.maybeWhen( + error: (String? error) { + if (!hasLoaded && selectedDateRange != null) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(error.toString()), 'ERROR'); + onSubmit(widget.id); + hasLoaded = true; } - : null, - child: Center( - child: Text(AppLocalizations.of(context).translate(i18.common.sendForApproval), - style: DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: Colors.white)), - ), - ), - ), - ], - ); - }); - } - ), - loaded: (MusterWorkFlowModel? musterWorkFlowModel, bool inWorkFlow) => isInWorkFlow - ? Container() - : BlocBuilder( - builder: (context, submissionState) { - return submissionState.maybeWhen(orElse: () => Container(), - loading: () => shg_loader.Loaders.circularLoader(context), - loaded : (bool isEndOfWeek) { - return Column( - children: [ - BlocListener( - listener: (context, logState) { - SchedulerBinding.instance.addPostFrameCallback((_) { - logState.maybeWhen( - error: (String? error) { - if (!hasLoaded && selectedDateRange != null) { - Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(error.toString()), 'ERROR'); - onSubmit(widget.id); - hasLoaded = true; - } - }, - loading: () => shg_loader.Loaders.circularLoader(context), - loaded: () { - if (!hasLoaded && selectedDateRange != null) { - Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceLoggedSuccess), 'SUCCESS'); - onSubmit(widget.id); - hasLoaded = true; - } - }, - orElse: () => Container()); - }); - }, - child: OutlinedButton( - style: OutlinedButton.styleFrom(backgroundColor: Colors.white, side: BorderSide(width: 2, color: createAttendeePayload.isEmpty && updateAttendeePayload.isEmpty ? const Color.fromRGBO(149, 148, 148, 1) : DigitTheme.instance.colorScheme.secondary)), - onPressed: musterRollsSearch != null && musterRollsSearch.musterRoll!.isNotEmpty && isInWorkFlow - ? null - : updateAttendeePayload.isEmpty && createAttendeePayload.isEmpty ? null :() { - if (selectedDateRange == null) { - Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), 'ERROR'); - } else { - hasLoaded = false; - if (updateAttendeePayload.isNotEmpty && createAttendeePayload.isNotEmpty) { - context.read().add(UpdateAttendanceLogEvent(attendanceList: updateAttendeePayload)); - context.read().add(CreateAttendanceLogEvent(attendanceList: createAttendeePayload)); - } else if (updateAttendeePayload.isNotEmpty) { - context.read().add(UpdateAttendanceLogEvent(attendanceList: updateAttendeePayload)); - } else if (createAttendeePayload.isNotEmpty) { - context.read().add(CreateAttendanceLogEvent(attendanceList: createAttendeePayload)); - } - } - }, - child: Center( - child: Text( - AppLocalizations.of(context).translate(i18.common.saveAsDraft), - style: createAttendeePayload.isEmpty && updateAttendeePayload.isEmpty ? DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: const Color.fromRGBO(149, 148, 148, 1)) : DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: const DigitColors().burningOrange), - ))), - ), - const SizedBox( - height: 10, - ), - BlocListener( - listener: (context, musterCreateState) { - musterCreateState.maybeWhen( - error: () { - if (!createMusterLoaded && selectedDateRange != null) { - Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.musterCreateFailed), 'ERROR'); - // onSubmit(registerId.toString()); - createMusterLoaded = true; - context.router.popAndPush(TrackAttendanceRoute( - tenantId: widget.tenantId.toString(), - id: widget.id.toString(), - )); - } - }, - loaded: (MusterRollsModel? createdMuster) { - if (!createMusterLoaded && selectedDateRange != null) { - Notifiers.getToastMessage(context, ' ${createdMuster?.musterRoll?.first.musterRollNumber} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.musterSentForApproval)}', 'SUCCESS'); - createMusterLoaded = true; - // onSubmit(registerId.toString()); - context.router.popAndPush(TrackAttendanceRoute( - tenantId: widget.tenantId.toString(), - id: widget.id.toString(), - )); - } - }, - orElse: () => Container()); - }, - child: DigitElevatedButton( - onPressed: isEndOfWeek && selectedDateRange!.endDate > DateTime.now().millisecondsSinceEpoch - ? null - : musterRollsModel?.musterRoll != null && musterRollsModel!.musterRoll!.first.individualEntries != null && musterRollsModel.musterRoll!.first.individualEntries!.isNotEmpty - ? musterRollsSearch?.musterRoll != null && musterRollsSearch!.musterRoll!.isNotEmpty - ? isInWorkFlow == false - ? () { - if (debouncer != null && debouncer!.isActive) { - debouncer!.cancel(); // Cancel the previous timer if it's active. + }, + loading: () => shg_loader.Loaders.circularLoader(context), + loaded: () { + if (!hasLoaded && selectedDateRange != null) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceLoggedSuccess), 'SUCCESS'); + onSubmit(widget.id); + hasLoaded = true; + } + }, + orElse: () => Container()); + }); + }, + child: OutlinedButton( + style: OutlinedButton.styleFrom(backgroundColor: Colors.white, side: BorderSide(width: 2, color: createAttendeePayload.isEmpty && updateAttendeePayload.isEmpty ? const Color.fromRGBO(149, 148, 148, 1) : DigitTheme.instance.colorScheme.secondary)), + onPressed: musterRollsSearch != null && musterRollsSearch.musterRoll!.isNotEmpty && isInWorkFlow + ? null + : updateAttendeePayload.isEmpty && createAttendeePayload.isEmpty + ? null + : () { + if (selectedDateRange == null) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), 'ERROR'); + } else { + hasLoaded = false; + if (updateAttendeePayload.isNotEmpty && createAttendeePayload.isNotEmpty) { + context.read().add(UpdateAttendanceLogEvent(attendanceList: updateAttendeePayload)); + context.read().add(CreateAttendanceLogEvent(attendanceList: createAttendeePayload)); + } else if (updateAttendeePayload.isNotEmpty) { + context.read().add(UpdateAttendanceLogEvent(attendanceList: updateAttendeePayload)); + } else if (createAttendeePayload.isNotEmpty) { + context.read().add(CreateAttendanceLogEvent(attendanceList: createAttendeePayload)); + } } - debouncer = Timer(Duration(milliseconds: 1000), () { - if (selectedDateRange == null) { - Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), 'ERROR'); - } else if (updateAttendeePayload.isNotEmpty) { - Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceChangedValidation), 'INFO'); - } else if (newList.any((item) => (item.skillCodeList?.isNotEmpty ?? false) == false)) { - setState(() { - skillsDisable = false; - }); - Notifiers.getToastMessage( - context, - AppLocalizations.of(context) - .translate(i18.attendanceMgmt.noSkillPresent), - 'INFO'); - } - else if (skillsDisable || newList.where((n) => n.skillCodeList?.isNotEmpty ?? false).any((e) => e.skill == null && e.skill.toString().isEmpty)) { - setState(() { - skillsDisable = false; - }); - Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.reviewSkills), 'INFO'); - } else { - createMusterLoaded = false; - context.read().add(UpdateMusterEvent(tenantId: widget.tenantId, id: musterRollsSearch.musterRoll!.first.id.toString(), orgName: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.orgName ?? 'NA', reSubmitAction: musterWorkFlowModel?.processInstances?.first.nextActions?.first.action, contractId: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.contractId ?? 'NA', registerNo: individualAttendanceRegisterModel.attendanceRegister?.first.registerNumber ?? 'NA', registerName: individualAttendanceRegisterModel.attendanceRegister?.first.name ?? 'NA', skillsList: skillsPayLoad)); - } - }); - } - : null - : () { - if (debouncer != null && debouncer!.isActive) { - debouncer!.cancel(); // Cancel the previous timer if it's active. + }, + child: Center( + child: Text( + AppLocalizations.of(context).translate(i18.common.saveAsDraft), + style: createAttendeePayload.isEmpty && updateAttendeePayload.isEmpty ? DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: const Color.fromRGBO(149, 148, 148, 1)) : DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: const DigitColors().burningOrange), + ))), + ), + const SizedBox( + height: 10, + ), + BlocListener( + listener: (context, musterCreateState) { + musterCreateState.maybeWhen( + loading: () { + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route is! PopupRoute, + ); + Loaders.showLoadingDialog(context); + }, + error: () { + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route is! PopupRoute, + ); + if (!createMusterLoaded && selectedDateRange != null) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.musterCreateFailed), 'ERROR'); + // onSubmit(registerId.toString()); + createMusterLoaded = true; + context.router.popAndPush(TrackAttendanceRoute( + tenantId: widget.tenantId.toString(), + id: widget.id.toString(), + )); + } + }, + loaded: (MusterRollsModel? createdMuster) { + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route is! PopupRoute, + ); + if (!createMusterLoaded && selectedDateRange != null) { + Notifiers.getToastMessage(context, ' ${createdMuster?.musterRoll?.first.musterRollNumber} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.musterSentForApproval)}', 'SUCCESS'); + createMusterLoaded = true; + // onSubmit(registerId.toString()); + context.router.popAndPush(TrackAttendanceRoute( + tenantId: widget.tenantId.toString(), + id: widget.id.toString(), + )); + } + }, + orElse: () => Container()); + }, + child: DigitElevatedButton( + onPressed: isEndOfWeek && selectedDateRange!.endDate > DateTime.now().millisecondsSinceEpoch + ? null + : musterRollsModel?.musterRoll != null && musterRollsModel!.musterRoll!.first.individualEntries != null && musterRollsModel.musterRoll!.first.individualEntries!.isNotEmpty + ? musterRollsSearch?.musterRoll != null && musterRollsSearch!.musterRoll!.isNotEmpty + ? isInWorkFlow == false + ? () { + if (debouncer != null && debouncer!.isActive) { + debouncer!.cancel(); // Cancel the previous timer if it's active. + } + debouncer = Timer(const Duration(milliseconds: 1000), () { + if (selectedDateRange == null) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), 'ERROR'); + } else if (updateAttendeePayload.isNotEmpty) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceChangedValidation), 'INFO'); + } else if (newList.any((item) => (item.skillCodeList?.isNotEmpty ?? false) == false)) { + setState(() { + skillsDisable = false; + }); + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.noSkillPresent), 'INFO'); + } else if (skillsDisable || newList.where((n) => n.skillCodeList?.isNotEmpty ?? false).any((e) => e.skill == null && e.skill.toString().isEmpty)) { + setState(() { + skillsDisable = false; + }); + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.reviewSkills), 'INFO'); + } else { + createMusterLoaded = false; + context.read().add(UpdateMusterEvent(tenantId: widget.tenantId, id: musterRollsSearch.musterRoll!.first.id.toString(), orgName: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.orgName ?? 'NA', reSubmitAction: musterWorkFlowModel?.processInstances?.first.nextActions?.first.action, contractId: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.contractId ?? 'NA', registerNo: individualAttendanceRegisterModel.attendanceRegister?.first.registerNumber ?? 'NA', registerName: individualAttendanceRegisterModel.attendanceRegister?.first.name ?? 'NA', skillsList: skillsPayLoad)); + } + }); + } + : null + : () { + if (debouncer != null && debouncer!.isActive) { + debouncer!.cancel(); // Cancel the previous timer if it's active. + } + debouncer = Timer(Duration(milliseconds: 1000), () { + if (selectedDateRange == null) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), 'ERROR'); + } else if (createAttendeePayload.isNotEmpty) { + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceChangedValidation), 'INFO'); + } else if (newList.any((item) => (item.skillCodeList?.isNotEmpty ?? false) == false)) { + setState(() { + skillsDisable = false; + }); + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.noSkillPresent), 'INFO'); + } else if (skillsDisable || newList.where((n) => n.skillCodeList?.isNotEmpty ?? false).any((e) => e.skill == null || e.skill.toString().isEmpty)) { + setState(() { + skillsDisable = false; + }); + Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.reviewSkills), 'INFO'); + } else { + createMusterLoaded = false; + context.read().add(CreateMusterEvent(tenantId: widget.tenantId, registerId: widget.id, startDate: selectedDateRange!.startDate, serviceCode: individualAttendanceRegisterModel.attendanceRegister?.first.serviceCode, referenceId: individualAttendanceRegisterModel.attendanceRegister?.first.referenceId, orgName: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.orgName ?? 'NA', contractId: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.contractId ?? 'NA', executingAuthority: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.executingAuthority, registerNo: individualAttendanceRegisterModel.attendanceRegister?.first.registerNumber ?? 'NA', registerName: individualAttendanceRegisterModel.attendanceRegister?.first.name ?? 'NA', projectName: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.projectName ?? '', projectType: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.projectType ?? '', projectDesc: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.projectDesc ?? '', projectId: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.projectId ?? '', locality: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.locality ?? '', ward: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.ward ?? '', amount: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.amount ?? 14500, skillsList: skillsPayLoad)); + } + }); } - debouncer = Timer(Duration(milliseconds: 1000), () { - if (selectedDateRange == null) { - Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), 'ERROR'); - } else if (createAttendeePayload.isNotEmpty) { - Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceChangedValidation), 'INFO'); - } else if (newList.any((item) => (item.skillCodeList?.isNotEmpty ?? false) == false)) { - setState(() { - skillsDisable = false; - }); - Notifiers.getToastMessage( - context, - AppLocalizations.of(context) - .translate(i18.attendanceMgmt.noSkillPresent), - 'INFO'); - } - else if (skillsDisable || newList.where((n) => n.skillCodeList?.isNotEmpty ?? false).any((e) => e.skill == null || e.skill.toString().isEmpty)) { - setState(() { - skillsDisable = false; - }); - Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.reviewSkills), 'INFO'); - } else { - createMusterLoaded = false; - context.read().add(CreateMusterEvent(tenantId: widget.tenantId, registerId: widget.id, startDate: selectedDateRange!.startDate, serviceCode: individualAttendanceRegisterModel.attendanceRegister?.first.serviceCode, referenceId: individualAttendanceRegisterModel.attendanceRegister?.first.referenceId, orgName: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.orgName ?? 'NA', contractId: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.contractId ?? 'NA', executingAuthority: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.executingAuthority, registerNo: individualAttendanceRegisterModel.attendanceRegister?.first.registerNumber ?? 'NA', registerName: individualAttendanceRegisterModel.attendanceRegister?.first.name ?? 'NA', projectName: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.projectName ?? '', projectType: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.projectType ?? '', projectDesc: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.projectDesc ?? '', projectId: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.projectId ?? '', locality: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.locality ?? '', ward: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.ward ?? '', amount: individualAttendanceRegisterModel.attendanceRegister?.first.attendanceRegisterAdditionalDetails?.amount ?? 14500, skillsList: skillsPayLoad)); - } - }); - } - : null, - child: Center( - child: Text(AppLocalizations.of(context).translate(i18.common.sendForApproval), style: DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: Colors.white)), - ), - ), - ), - ], - ); - }); - } - )); - }), - ); - }); - })), - ), - ) - ]); - } else { - return Column( - children: [ - const EmptyImage( - align: Alignment - .center, - ), - ButtonLink( - AppLocalizations.of( - context) - .translate(i18.home - .manageWageSeekers), - () { - context.router.push(AttendanceRegisterTableRoute( - registerId: individualAttendanceRegisterModel.attendanceRegister!.first.registerNumber - .toString(), - tenantId: individualAttendanceRegisterModel.attendanceRegister!.first.tenantId - .toString())); - }, - align: Alignment - .center, - ), - ], - ); - } - }, - ); - }, - )) - : Column( - children: [ - const EmptyImage( - align: Alignment.center, - ), - ButtonLink( - AppLocalizations.of( - context) - .translate(i18 - .home.manageWageSeekers), - () { - context.router.push(AttendanceRegisterTableRoute( - registerId: individualAttendanceRegisterModel.attendanceRegister!.first.registerNumber - .toString(), - tenantId: individualAttendanceRegisterModel.attendanceRegister!.first.tenantId - .toString())); - }, - align: Alignment.center, - ), - ], - ), - ])) - ]), - ), - ]); - }, - orElse: () => Container()); - })); - } - ); - }, - loading: () => - shg_loader.Loaders.circularLoader(context)); - }); + : null, + child: Center( + child: Text(AppLocalizations.of(context).translate(i18.common.sendForApproval), style: DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: Colors.white)), + ), + ), + ), + ], + ); + }); + })); + }), + ); + }); + })), + ), + ) + ]); + } else { + return Column( + children: [ + const EmptyImage( + align: Alignment.center, + ), + ButtonLink( + AppLocalizations.of(context).translate(i18.home.manageWageSeekers), + () { + context.router.push(AttendanceRegisterTableRoute(registerId: individualAttendanceRegisterModel.attendanceRegister!.first.registerNumber.toString(), tenantId: individualAttendanceRegisterModel.attendanceRegister!.first.tenantId.toString())); + }, + align: Alignment.center, + ), + ], + ); + } + }, + ); + }, + )) + : Column( + children: [ + const EmptyImage( + align: Alignment + .center, + ), + ButtonLink( + AppLocalizations.of(context).translate(i18 + .home + .manageWageSeekers), + () { + context.router.push(AttendanceRegisterTableRoute( + registerId: individualAttendanceRegisterModel.attendanceRegister!.first.registerNumber.toString(), + tenantId: individualAttendanceRegisterModel.attendanceRegister!.first.tenantId.toString())); + }, + align: Alignment + .center, + ), + ], + ), + ])) + ]), + ), + ]); + }, + orElse: () => Container()); + })); + }); + }, + loading: () => + shg_loader.Loaders.circularLoader(context)); }); - })); - } - ); + }); + })); + }); } void _onDateChange(DateRangePickerSelectionChangedArgs args) { @@ -1362,8 +1282,10 @@ class _TrackAttendancePage extends State { date2 = date; } - DateTime weekStart = date1.subtract(Duration(days: (date1.weekday - firstDayOfWeek + 7) % 7)); - DateTime weekEnd = date2.add(Duration(days: (endDayOfWeek - date2.weekday + 7) % 7)); + DateTime weekStart = date1 + .subtract(Duration(days: (date1.weekday - firstDayOfWeek + 7) % 7)); + DateTime weekEnd = + date2.add(Duration(days: (endDayOfWeek - date2.weekday + 7) % 7)); if (weekStart.isAfter(date1)) { weekStart = date1; @@ -1374,7 +1296,8 @@ class _TrackAttendancePage extends State { } rangePickerController.selectedRange = PickerDateRange(weekStart, weekEnd); - dateController.text = '${DateFormat('dd/MM/yyyy').format(weekStart)} - ${DateFormat('dd/MM/yyyy').format(weekEnd)}'; + dateController.text = + '${DateFormat('dd/MM/yyyy').format(weekStart)} - ${DateFormat('dd/MM/yyyy').format(weekEnd)}'; selectedDateRange = DateRange( dateController.text, @@ -1493,7 +1416,8 @@ class _TrackAttendancePage extends State { hide: skillsDisable && !isInWorkFlow, apiKey: tableDataModel.skill, widget: DropDownDialog( - isDisabled: isInWorkFlow || (tableDataModel.skillCodeList ?? []).isEmpty, + isDisabled: + isInWorkFlow || (tableDataModel.skillCodeList ?? []).isEmpty, options: tableDataModel.skillCodeList ?? [], label: i18.common.selectSkill, selectedOption: tableDataModel.skill.toString(), @@ -1566,7 +1490,7 @@ class _TrackAttendancePage extends State { widget: CircularButton( icon: Icons.circle_rounded, size: 15, - viewOnly: isInWorkFlow, + viewOnly: isInWorkFlow, color: const Color.fromRGBO(0, 100, 0, 1), index: tableDataModel.tueIndex ?? -1, isNotGreyed: false, @@ -1590,7 +1514,7 @@ class _TrackAttendancePage extends State { widget: CircularButton( icon: Icons.circle_rounded, size: 15, - viewOnly: isInWorkFlow, + viewOnly: isInWorkFlow, color: const Color.fromRGBO(0, 100, 0, 1), index: tableDataModel.wedIndex ?? -1, isNotGreyed: false, @@ -1614,7 +1538,7 @@ class _TrackAttendancePage extends State { widget: CircularButton( icon: Icons.circle_rounded, size: 15, - viewOnly: isInWorkFlow, + viewOnly: isInWorkFlow, color: const Color.fromRGBO(0, 100, 0, 1), index: tableDataModel.thuIndex ?? -1, isNotGreyed: false, @@ -1638,7 +1562,7 @@ class _TrackAttendancePage extends State { widget: CircularButton( icon: Icons.circle_rounded, size: 15, - viewOnly: isInWorkFlow, + viewOnly: isInWorkFlow, color: const Color.fromRGBO(0, 100, 0, 1), index: tableDataModel.friIndex ?? -1, isNotGreyed: false, @@ -1662,7 +1586,7 @@ class _TrackAttendancePage extends State { widget: CircularButton( icon: Icons.circle_rounded, size: 15, - viewOnly: isInWorkFlow, + viewOnly: isInWorkFlow, color: const Color.fromRGBO(0, 100, 0, 1), index: tableDataModel.satIndex ?? -1, isNotGreyed: false, @@ -1686,7 +1610,7 @@ class _TrackAttendancePage extends State { widget: CircularButton( icon: Icons.circle_rounded, size: 15, - viewOnly: isInWorkFlow, + viewOnly: isInWorkFlow, color: const Color.fromRGBO(0, 100, 0, 1), index: tableDataModel.sunIndex ?? -1, isNotGreyed: false, @@ -1877,15 +1801,26 @@ class _TrackAttendancePage extends State { } } }); - } - else{} - if(newList.any((e) => e.monIndex == -1 && e.tueIndex == -1 && e.wedIndex == -1 && e.thuIndex == -1 && e.friIndex == -1 && e.satIndex == -1 && e.sunIndex == -1)) { + } else {} + if (newList.any((e) => + e.monIndex == -1 && + e.tueIndex == -1 && + e.wedIndex == -1 && + e.thuIndex == -1 && + e.friIndex == -1 && + e.satIndex == -1 && + e.sunIndex == -1)) { setState(() { for (var n in newList) { - if (n.monIndex == -1 && n.tueIndex == -1 && n.wedIndex == -1 && - n.thuIndex == -1 && n.friIndex == -1 && n.satIndex == -1 && + if (n.monIndex == -1 && + n.tueIndex == -1 && + n.wedIndex == -1 && + n.thuIndex == -1 && + n.friIndex == -1 && + n.satIndex == -1 && n.sunIndex == -1) { - createAttendeePayload.addAll(createAttendanceLogPayload(n, + createAttendeePayload.addAll(createAttendanceLogPayload( + n, registerId ?? '', DateFormats.getTimestampFromWeekDay( DateFormats.getDateFromTimestamp( @@ -1899,7 +1834,8 @@ class _TrackAttendancePage extends State { morning), widget.tenantId)); } - }; + } + ; }); } } @@ -2005,15 +1941,26 @@ class _TrackAttendancePage extends State { } } }); - } - else{} - if(newList.any((e) => e.monIndex == -1 && e.tueIndex == -1 && e.wedIndex == -1 && e.thuIndex == -1 && e.friIndex == -1 && e.satIndex == -1 && e.sunIndex == -1)) { + } else {} + if (newList.any((e) => + e.monIndex == -1 && + e.tueIndex == -1 && + e.wedIndex == -1 && + e.thuIndex == -1 && + e.friIndex == -1 && + e.satIndex == -1 && + e.sunIndex == -1)) { setState(() { for (var n in newList) { - if (n.monIndex == -1 && n.tueIndex == -1 && n.wedIndex == -1 && - n.thuIndex == -1 && n.friIndex == -1 && n.satIndex == -1 && + if (n.monIndex == -1 && + n.tueIndex == -1 && + n.wedIndex == -1 && + n.thuIndex == -1 && + n.friIndex == -1 && + n.satIndex == -1 && n.sunIndex == -1) { - createAttendeePayload.addAll(createAttendanceLogPayload(n, + createAttendeePayload.addAll(createAttendanceLogPayload( + n, registerId ?? '', DateFormats.getTimestampFromWeekDay( DateFormats.getDateFromTimestamp( @@ -2027,7 +1974,7 @@ class _TrackAttendancePage extends State { morning), widget.tenantId)); } - }; + } }); } } diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_detail_sub.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_detail_sub.dart new file mode 100644 index 0000000000..5b510a4033 --- /dev/null +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_detail_sub.dart @@ -0,0 +1,282 @@ +import 'package:digit_components/theme/colors.dart'; +import 'package:digit_components/theme/digit_theme.dart'; +import 'package:digit_components/widgets/atoms/digit_date_form_picker.dart'; +import 'package:digit_components/widgets/atoms/digit_reactive_dropdown.dart'; +import 'package:digit_components/widgets/atoms/digit_text_form_field.dart'; +import 'package:digit_components/widgets/digit_card.dart'; +import 'package:digit_components/widgets/digit_elevated_button.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:reactive_forms/reactive_forms.dart'; + +import '../../blocs/localization/app_localization.dart'; +import '../../blocs/wage_seeker_registration/wage_seeker_registration_bloc.dart'; +import '../../models/wage_seeker/individual_details_model.dart'; +import '../../utils/notifiers.dart'; +import '../../widgets/atoms/radio_button_list.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +class IndividualSubDetailPage extends StatefulWidget { + final List relationship; + final List gender; + final List socialCategory; + final List skills; + final String? photo; + final IndividualDetails? individualDetails; + final Function(int page) onPageChanged; + const IndividualSubDetailPage({ + super.key, + required this.relationship, + required this.gender, + required this.photo, + required this.skills, + required this.socialCategory, + required this.onPageChanged, + required this.individualDetails, + }); + + @override + State createState() => + _IndividualSubDetailPageState(); +} + +class _IndividualSubDetailPageState extends State { + String genderController = ''; + String fatherNameKey = 'fatherName'; + String aadhaarNoKey = 'aadhaarNo'; + String relationshipKey = 'relationship'; + String dobKey = 'dob'; + String genderKey = 'gender'; + String socialCategoryKey = 'socialCategory'; + String mobileKey = 'mobileNo'; + + @override + void initState() { + super.initState(); + } + + @override + Widget build(BuildContext context) { + final t = AppLocalizations.of(context); + + return ReactiveFormBuilder( + form: detailBuildForm, + builder: (contextt, form1, child) { + return GestureDetector( + onTap: () { + if (FocusScope.of(context).hasFocus) { + FocusScope.of(context).unfocus(); + } + }, + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + DigitCard( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + + t.translate(i18.wageSeeker.personalDetailHeader), + style: DigitTheme + .instance.mobileTheme.textTheme.displayMedium + ?.apply(color: const DigitColors().black), + ), + Column(children: [ + DigitDateFormPicker( + label: t.translate(i18.common.dateOfBirth), + isRequired: true, + cancelText: t.translate(i18.common.cancel), + fieldHintText: 'dd/mm/yyyy', + confirmText: t.translate(i18.common.oK), + icon: Icons.info_outline_rounded, + toolTipMsg: t.translate(i18.wageSeeker.ageValidation), + formControlName: dobKey, + autoValidation: AutovalidateMode.always, + requiredMessage: + t.translate(i18.wageSeeker.dobRequired), + validationMessages: { + 'required': (_) => t.translate( + i18.wageSeeker.dobRequired, + ), + 'max': (_) => + t.translate(i18.wageSeeker.ageValidation) + }, + ), + StatefulBuilder(builder: + (BuildContext context, StateSetter setState) { + return DigitRadioButtonList( + labelText: t.translate(i18.common.gender), + formControlName: genderKey, + options: + widget.gender.map((e) => e.toString()).toList(), + isRequired: true, + valueMapper: (value) => t.translate(value), + onValueChange: (value) { + genderController = value; + }, + ); + }), + DigitTextFormField( + padding: EdgeInsets.zero, + formControlName: fatherNameKey, + isRequired: true, + label: t.translate(i18.common.guardianName), + inputFormatter: [ + FilteringTextInputFormatter.allow(RegExp("[A-Za-z ]")) + ], + validationMessages: { + 'required': (_) => t.translate( + i18.wageSeeker.fatherNameRequired, + ), + 'minLength': (_) => t.translate( + i18.wageSeeker.minFatherNameCharacters, + ), + 'maxLength': (_) => t.translate( + i18.wageSeeker.maxFatherNameCharacters, + ), + }, + ), + DigitReactiveDropdown( + padding: EdgeInsets.zero, + label: t.translate(i18.common.relationship), + menuItems: widget.relationship + .map((e) => e.toString()) + .toList(), + isRequired: true, + formControlName: relationshipKey, + valueMapper: (value) => + t.translate('CORE_COMMON_$value'), + onChanged: (value) {}, + validationMessages: { + 'required': (_) => t.translate( + i18.wageSeeker.relationshipRequired, + ), + }, + ), + DigitTextFormField( + padding: const EdgeInsets.only(top:10), + label: t.translate(i18.common.mobileNumber), + formControlName: mobileKey, + isRequired: true, + minLength: 10, + maxLength: 10, + keyboardType: TextInputType.phone, + inputFormatter: [ + FilteringTextInputFormatter.allow(RegExp("[0-9]")) + ], + validationMessages: { + 'required': (_) => t.translate( + i18.wageSeeker.mobileRequired, + ), + 'minLength': (_) => t.translate( + i18.wageSeeker.minMobileCharacters, + ), + 'maxLength': (_) => t.translate( + i18.wageSeeker.maxMobileCharacters, + ), + 'min': (_) => t.translate( + i18.wageSeeker.validMobileCharacters, + ), + 'max': (_) => t.translate( + i18.wageSeeker.validMobileCharacters, + ), + }, + ), + DigitReactiveDropdown( + padding: EdgeInsets.zero, + label: t.translate(i18.common.socialCategory), + menuItems: widget.socialCategory + .map((e) => e.toString()) + .toList(), + formControlName: socialCategoryKey, + valueMapper: (value) => + t.translate('COMMON_MASTERS_SOCIAL_$value'), + onChanged: (value) {}, + ), + const SizedBox( + height: 12, + ), + ]), + Center( + child: DigitElevatedButton( + onPressed: () { + form1.markAllAsTouched(updateParent: false); + if (!form1.valid) return; + if (form1.value[genderKey] == null || + form1.value[genderKey].toString().isEmpty) { + Notifiers.getToastMessage( + context, + t.translate(i18.wageSeeker.genderRequired), + 'ERROR'); + } else { + context.read().add( + WageSeekerDetailsCreateEvent( + dob: form1.value[dobKey] as DateTime, + fatherName: + form1.value[fatherNameKey].toString(), + gender: form1.value[genderKey].toString(), + mobileNumber: + form1.value[mobileKey].toString(), + relationShip: form1.value[relationshipKey] + .toString(), + socialCategory: form1 + .value[socialCategoryKey] + .toString(), + ), + ); + + widget.onPageChanged(2); + } + }, + child: Center( + child: Text(t.translate(i18.common.next)), + )), + ) + ], + ), + ), + ], + ), + ); + }, + ); + } + + FormGroup detailBuildForm() => fb.group({ + genderKey: FormControl( + value: widget.individualDetails?.gender), + fatherNameKey: FormControl( + value: widget.individualDetails?.fatherName ?? '', + validators: [ + Validators.required, + Validators.minLength(2), + Validators.maxLength(128) + ]), + relationshipKey: FormControl( + value: widget.individualDetails?.relationship, + validators: [Validators.required]), + dobKey: FormControl( + value: widget.individualDetails?.dateOfBirth, + validators: [ + Validators.required, + Validators.max(DateTime(DateTime.now().year - 18, + DateTime.now().month, DateTime.now().day)) + ], + ), + socialCategoryKey: FormControl( + value: widget.individualDetails?.socialCategory), + mobileKey: FormControl( + value: widget.individualDetails?.mobileNumber, + validators: [ + Validators.required, + Validators.minLength(10), + Validators.min('5999999999'), + Validators.max('9999999999'), + Validators.maxLength(10) + ]), + }); +} diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_photo_sub.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_photo_sub.dart new file mode 100644 index 0000000000..c5ce497e5c --- /dev/null +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_photo_sub.dart @@ -0,0 +1,112 @@ +import 'package:digit_components/theme/colors.dart'; +import 'package:digit_components/theme/digit_theme.dart'; +import 'package:digit_components/widgets/digit_card.dart'; +import 'package:digit_components/widgets/digit_elevated_button.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +import '../../blocs/localization/app_localization.dart'; +import '../../blocs/wage_seeker_registration/wage_seeker_registration_bloc.dart'; +import '../../models/file_store/file_store_model.dart'; +import '../../utils/models/file_picker_data.dart'; +import '../../widgets/molecules/file_picker.dart'; + +class IndividualPhotoSubPage extends StatefulWidget { + final String? photo; + final Function(int page) onPageChanged; + const IndividualPhotoSubPage({ + super.key, + required this.onPageChanged, + required this.photo, + }); + + @override + State createState() => _IndividualPhotoSubPageState(); +} + +class _IndividualPhotoSubPageState extends State { + String? photo; + + @override + void initState() { + FilePickerData.imageFile = null; + FilePickerData.bytes = null; + photo = widget.photo; + super.initState(); + } + + @override + Widget build(BuildContext context) { + final t = AppLocalizations.of(context); + + return GestureDetector( + onTap: () { + if (FocusScope.of(context).hasFocus) { + FocusScope.of(context).unfocus(); + } + }, + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + DigitCard( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + + t.translate(i18.wageSeeker.individualPhotoHeader), + style: DigitTheme.instance.mobileTheme.textTheme.displayMedium + ?.apply(color: const DigitColors().black), + ), + const SizedBox( + height: 10, + ), + Column(children: [ + SHGFilePicker( + callBack: (List? fileStore) { + if (fileStore != null && fileStore.isNotEmpty) { + // setState(() { + photo = fileStore.first.fileStoreId; + // }); + } else { + // setState(() { + photo = ''; + // }); + } + }, + extensions: const ['jpg', 'png', 'jpeg'], + moduleName: 'works', + label: t.translate(i18.common.photoGraph), + ), + const SizedBox( + height: 12, + ), + ]), + Center( + child: DigitElevatedButton( + onPressed: () { + context.read().add( + WageSeekerPhotoCreateEvent( + imageFile: FilePickerData.imageFile, + bytes: FilePickerData.bytes, + photo: photo, + ), + ); + + widget.onPageChanged(4); + }, + child: Center( + child: Text(t.translate(i18.common.next)), + )), + ) + ], + ), + ), + ], + ), + ); + } +} diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_skill_sub.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_skill_sub.dart new file mode 100644 index 0000000000..2f6aa263e8 --- /dev/null +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_skill_sub.dart @@ -0,0 +1,155 @@ +import 'package:digit_components/digit_components.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; + +import '../../blocs/localization/app_localization.dart'; +import '../../blocs/wage_seeker_registration/wage_seeker_registration_bloc.dart'; +import '../../models/wage_seeker/skill_details_model.dart'; +import '../../utils/notifiers.dart'; +import '../../widgets/atoms/multiselect_checkbox.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +class IndividualSkillSubPage extends StatefulWidget { + final List relationship; + final List gender; + final List socialCategory; + final List skills; + final String? photo; + final Function(int page) onPageChanged; + final SkillDetails? skillDetails; + const IndividualSkillSubPage({ + super.key, + required this.relationship, + required this.gender, + required this.photo, + required this.skills, + required this.socialCategory, + required this.onPageChanged, + required this.skillDetails, + }); + + @override + State createState() => _IndividualSkillSubPageState(); +} + +class _IndividualSkillSubPageState extends State { + List selectedOptions = []; + + @override + void initState() { + if (widget.skillDetails != null && + widget.skillDetails?.individualSkills != null) { + selectedOptions = + widget.skillDetails!.individualSkills!.any((a) => a.type == null) + ? [] + : widget.skillDetails!.individualSkills! + .where((e) => e.type != null) + .map((e) => '${e.level}_${e.type}') + .toList(); + } + + super.initState(); + } + + void _onSelectedOptionsChanged(List options) { + setState(() { + selectedOptions = options; + }); + } + + @override + Widget build(BuildContext context) { + final t = AppLocalizations.of(context); + + return GestureDetector( + onTap: () { + if (FocusScope.of(context).hasFocus) { + FocusScope.of(context).unfocus(); + } + }, + child: SingleChildScrollView( + child: DigitCard( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + // "Individual's Skill Details", + t.translate(i18.wageSeeker.individualSkillHeader), + style: DigitTheme.instance.mobileTheme.textTheme.displayMedium + ?.apply(color: const DigitColors().black), + ), + const SizedBox( + height: 10, + ), + Column(children: [ + MultiSelectSearchCheckBox( + label: t.translate(i18.attendanceMgmt.skill) + ' *', + onChange: _onSelectedOptionsChanged, + options: widget.skills, + hintText: t.translate(i18.attendanceMgmt.skill), + selectedOptions: selectedOptions, + ), + const SizedBox( + height: 12, + ), + ]), + Center( + child: DigitElevatedButton( + onPressed: () { + if (!getSkillsValid()) { + Notifiers.getToastMessage(context, + i18.wageSeeker.selectSkillValidation, 'ERROR'); + } else if (selectedOptions.isEmpty) { + Notifiers.getToastMessage( + context, i18.wageSeeker.skillsRequired, 'ERROR'); + } else { + final skillList = SkillDetails( + individualSkills: selectedOptions + .map((e) => IndividualSkill( + type: e.toString().split('.').last, + level: e.toString().split('.').first)) + .toList()); + + context.read().add( + WageSeekerSkillCreateEvent( + skillDetails: skillList), + ); + + widget.onPageChanged(3); + } + }, + child: Center( + child: Text(t.translate(i18.common.next)), + )), + ) + ], + ), + ), + ), + ); + } + + bool getSkillsValid() { + Map beforeDotCount = {}; + Map afterDotCount = {}; + + for (String skill in selectedOptions) { + List skillParts = skill.split("_"); + String beforeDot = skillParts[0]; + String afterDot = skillParts[1]; + + beforeDotCount[beforeDot] = (beforeDotCount[beforeDot] ?? 0) + 1; + afterDotCount[afterDot] = (afterDotCount[afterDot] ?? 0) + 1; + } + + + int countAfterDot = afterDotCount.values.where((count) => count > 1).length; + + if (countAfterDot > 0) { + return false; + } + return true; + } +} diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart index 0873c8db9f..ecac2c1cf8 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart @@ -4,21 +4,22 @@ import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:reactive_forms/reactive_forms.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/models/adharModel/adhar_response.dart'; import 'package:works_shg_app/models/wage_seeker/financial_details_model.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; -import 'package:works_shg_app/utils/models/file_picker_data.dart'; -import 'package:works_shg_app/widgets/atoms/radio_button_list.dart'; +import '../../blocs/wage_seeker_registration/wage_seeker_create_bloc.dart'; import '../../blocs/wage_seeker_registration/wage_seeker_registration_bloc.dart'; -import '../../models/file_store/file_store_model.dart'; import '../../models/mdms/wage_seeker_mdms.dart'; import '../../models/wage_seeker/individual_details_model.dart'; import '../../models/wage_seeker/location_details_model.dart'; import '../../models/wage_seeker/skill_details_model.dart'; -import '../../utils/notifiers.dart'; -import '../../widgets/atoms/multiselect_checkbox.dart'; -import '../../widgets/molecules/file_picker.dart'; +import '../../utils/constants.dart'; +import '../../widgets/common_info_card.dart'; +import 'indi_detail_sub.dart'; +import 'indi_photo_sub.dart'; +import 'indi_skill_sub.dart'; class IndividualDetailsPage extends StatefulWidget { final void Function() onPressed; @@ -39,14 +40,11 @@ class IndividualDetailsPageState extends State { SkillDetails? skillDetails = SkillDetails(); FinancialDetails? financialDetails = FinancialDetails(); String nameKey = 'name'; - String fatherNameKey = 'fatherName'; String aadhaarNoKey = 'aadhaarNo'; - String relationshipKey = 'relationship'; - String dobKey = 'dob'; - String genderKey = 'gender'; - String socialCategoryKey = 'socialCategory'; - String mobileKey = 'mobileNo'; - List selectedOptions = []; + String identityDocument = "identityDocument"; + int switchPage = 0; + bool adhar = false; + bool isVerified = false; @override void initState() { @@ -56,27 +54,42 @@ class IndividualDetailsPageState extends State { skillDetails = registrationState.skillDetails; locationDetails = registrationState.locationDetails; financialDetails = registrationState.financialDetails; + } + + void _onPageChange(int count) { + if (count == 4) { + widget.onPressed(); + } else { + setState(() { + switchPage = count; + }); + } + } - if (registrationState.skillDetails != null && - registrationState.skillDetails?.individualSkills != null) { - selectedOptions = registrationState.skillDetails!.individualSkills! - .any((a) => a.type == null) - ? [] - : registrationState.skillDetails!.individualSkills! - .where((e) => e.type != null) - .map((e) => '${e.level}.${e.type}') - .toList(); + void updateAdhar(String adharName) { + context + .read() + .add(const CreateWageSeekerDisposeEvent()); + if (adharName == "AADHAAR") { + setState(() { + adhar = true; + }); + } else { + setState(() { + adhar = false; + }); } } - void _onSelectedOptionsChanged(List options) { + void isVerifyDone(bool value) { setState(() { - selectedOptions = options; + isVerified = value; }); } @override Widget build(BuildContext context) { + // Localization object final t = AppLocalizations.of(context); String? photo; List relationship = widget.wageSeekerMDMS!.commonMDMS!.relationship! @@ -92,357 +105,489 @@ class IndividualDetailsPageState extends State { List skills = widget.wageSeekerMDMS!.commonMDMS!.wageSeekerSkills != null ? widget.wageSeekerMDMS!.commonMDMS!.wageSeekerSkills! - .map((e) => e.code) + .map((e) => e.id!) .toList() : []; +// Returning appropriate subpage based on the switchPage variable + switch (switchPage) { + case 0: + return identificationMethod( + context, + t, + relationship, + gender, + socialCategory, + skills, + photo, + individualDetails, + adhar, + (adhar) { + updateAdhar(adhar); + }, + isVerified, + (value) { + isVerifyDone(value); + }); + case 1: + return IndividualSubDetailPage( + gender: gender, + photo: photo, + relationship: relationship, + skills: skills, + socialCategory: socialCategory, + onPageChanged: (int page) { + _onPageChange(page); + }, + individualDetails: individualDetails, + ); + case 2: + return IndividualSkillSubPage( + gender: gender, + photo: photo, + relationship: relationship, + skills: skills, + socialCategory: socialCategory, + onPageChanged: (int page) { + _onPageChange(page); + }, + skillDetails: skillDetails, + ); + case 3: + return IndividualPhotoSubPage( + onPageChanged: (int page) { + _onPageChange(page); + }, + photo: individualDetails?.photo ?? '', + ); + default: + return identificationMethod( + context, + t, + relationship, + gender, + socialCategory, + skills, + photo, + individualDetails, + adhar, + (adhar) { + updateAdhar(adhar); + }, + isVerified, + (value) { + isVerifyDone(value); + }); + } + } - return ReactiveFormBuilder( - form: buildForm, - builder: (context, form, child) { - if (individualDetails != null) { - form.control(nameKey).value = - individualDetails?.name ?? form.control(nameKey).value; - form.control(fatherNameKey).value = individualDetails?.fatherName ?? - form.control(fatherNameKey).value; - form.control(aadhaarNoKey).value = - individualDetails?.aadhaarNo ?? form.control(aadhaarNoKey).value; - form.control(relationshipKey).value = - individualDetails?.relationship ?? - form.control(relationshipKey).value; - form.control(socialCategoryKey).value = - individualDetails?.socialCategory ?? - form.control(socialCategoryKey).value; - form.control(genderKey).value = - individualDetails?.gender ?? form.control(genderKey).value; - form.control(dobKey).value = - individualDetails?.dateOfBirth ?? form.control(dobKey).value; - form.control(mobileKey).value = - individualDetails?.mobileNumber ?? form.control(mobileKey).value; - } - return GestureDetector( - onTap: () { - if (FocusScope.of(context).hasFocus) { - FocusScope.of(context).unfocus(); - } +// Widget for displaying identification method form + BlocListener identificationMethod( + BuildContext context, + AppLocalizations t, + List relationship, + List gender, + List socialCategory, + List skills, + String? photo, + IndividualDetails? individualDetails, + bool adhar, + final Function(String adhar) adharSelect, + bool isVerified, + final Function(bool value) isVerifyFunction, + ) { + return BlocListener( + listener: (context, state) { + // Listen to state changes in WageSeekerCreateBloc + state.maybeMap( + orElse: () => {const SizedBox.shrink()}, + verified: (adharCardResponse) { + // Update Aadhaar verification status + isVerified = adharCardResponse!.adharCardResponse!.status == + Constants.verifyAdhar + ? true + : false; + + isVerifyDone(isVerified); + }, + error: (error) { + isVerified = false; + isVerifyDone(isVerified); }, - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - DigitCard( - margin: const EdgeInsets.all(16.0), - child: Column( + ); + }, + child: ReactiveFormBuilder( + form: () => + identificationBuildForm(individualDetails ?? IndividualDetails()), + builder: (context, form, child) { + return GestureDetector( + onTap: () { + if (FocusScope.of(context).hasFocus) { + FocusScope.of(context).unfocus(); + } + }, + child: DigitCard( + child: Column( crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, children: [ Text( - t.translate(i18.attendanceMgmt.individualDetails), + t.translate( + i18.wageSeeker.identificationHeader, + ), style: DigitTheme .instance.mobileTheme.textTheme.displayMedium ?.apply(color: const DigitColors().black), ), - Column(children: [ - DigitTextFormField( - formControlName: aadhaarNoKey, - label: t.translate(i18.common.aadhaarNumber), - isRequired: true, - minLength: 12, - maxLength: 12, - keyboardType: TextInputType.number, - inputFormatter: [ - FilteringTextInputFormatter.allow(RegExp("[0-9]")) - ], - validationMessages: { - 'required': (_) => t.translate( - i18.wageSeeker.aadhaarRequired, - ), - 'minLength': (_) => t.translate( - i18.wageSeeker.minAadhaarCharacters, - ), - 'maxLength': (_) => t.translate( - i18.wageSeeker.maxAadhaarCharacters, - ), - }, - ), - DigitTextFormField( - padding: const EdgeInsets.only(top: 0), - formControlName: nameKey, - isRequired: true, - label: t.translate(i18.common.nameLabel), - inputFormatter: [ - FilteringTextInputFormatter.allow(RegExp("[A-Za-z ]")) - ], - validationMessages: { - 'required': (_) => t.translate( - i18.wageSeeker.nameRequired, - ), - 'minLength': (_) => t.translate( - i18.wageSeeker.minNameCharacters, - ), - 'maxLength': (_) => t.translate( - i18.wageSeeker.maxNameCharacters, - ), - }, - ), - DigitTextFormField( - formControlName: fatherNameKey, - isRequired: true, - label: t.translate(i18.common.guardianName), - inputFormatter: [ - FilteringTextInputFormatter.allow(RegExp("[A-Za-z ]")) - ], - validationMessages: { - 'required': (_) => t.translate( - i18.wageSeeker.fatherNameRequired, - ), - 'minLength': (_) => t.translate( - i18.wageSeeker.minFatherNameCharacters, - ), - 'maxLength': (_) => t.translate( - i18.wageSeeker.maxFatherNameCharacters, - ), - }, - ), - DigitReactiveDropdown( - label: t.translate(i18.common.relationship), - menuItems: - relationship.map((e) => e.toString()).toList(), - isRequired: true, - formControlName: relationshipKey, - valueMapper: (value) => - t.translate('CORE_COMMON_$value'), - onChanged: (value) {}, - validationMessages: { - 'required': (_) => t.translate( - i18.wageSeeker.relationshipRequired, - ), - }, - ), - DigitDateFormPicker( - label: t.translate(i18.common.dateOfBirth), - padding: const EdgeInsets.only(top: 32.0), - isRequired: true, - cancelText: t.translate(i18.common.cancel), - fieldHintText: 'dd/mm/yyyy', - confirmText: t.translate(i18.common.oK), - icon: Icons.info_outline_rounded, - toolTipMsg: t.translate(i18.wageSeeker.ageValidation), - formControlName: dobKey, - autoValidation: AutovalidateMode.always, - requiredMessage: - t.translate(i18.wageSeeker.dobRequired), - validationMessages: { - 'required': (_) => t.translate( - i18.wageSeeker.dobRequired, - ), - 'max': (_) => - t.translate(i18.wageSeeker.ageValidation) - }, - ), - StatefulBuilder(builder: - (BuildContext context, StateSetter setState) { - return DigitRadioButtonList( - labelText: t.translate(i18.common.gender), - formControlName: genderKey, - options: gender.map((e) => e.toString()).toList(), - isRequired: true, - valueMapper: (value) => t.translate(value), - onValueChange: (value) { - genderController = value; - }, - ); - }), - DigitReactiveDropdown( - label: t.translate(i18.common.socialCategory), - menuItems: - socialCategory.map((e) => e.toString()).toList(), - formControlName: socialCategoryKey, - valueMapper: (value) => - t.translate('COMMON_MASTERS_SOCIAL_$value'), - onChanged: (value) {}, - ), - DigitTextFormField( - label: t.translate(i18.common.mobileNumber), - padding: const EdgeInsets.only(top: 32), - formControlName: mobileKey, - prefixText: '+91 - ', - isRequired: true, - minLength: 10, - maxLength: 10, - keyboardType: TextInputType.phone, - inputFormatter: [ - FilteringTextInputFormatter.allow(RegExp("[0-9]")) - ], - validationMessages: { - 'required': (_) => t.translate( - i18.wageSeeker.mobileRequired, - ), - 'minLength': (_) => t.translate( - i18.wageSeeker.minMobileCharacters, - ), - 'maxLength': (_) => t.translate( - i18.wageSeeker.maxMobileCharacters, - ), - 'min': (_) => t.translate( - i18.wageSeeker.validMobileCharacters, - ), - 'max': (_) => t.translate( - i18.wageSeeker.validMobileCharacters, - ), - }, - ), - // StatefulBuilder( - // builder: (BuildContext context, StateSetter setState) { - MultiSelectSearchCheckBox( - label: t.translate(i18.attendanceMgmt.skill) + ' *', - onChange: _onSelectedOptionsChanged, - options: skills, - hintText: t.translate(i18.attendanceMgmt.skill), - selectedOptions: selectedOptions, + DigitReactiveDropdown( + label: t.translate(i18.wageSeeker.identityDocumentLabel), + //TODO:[temp commented for adhar release ] + // menuItems: [ + // "AADHAAR", + // "Election Photo Identity Card(EPIC)", + // "Driving License", + // "Ration Card under TPDS" + // ].map((e) => e.toString()).toList(), + menuItems: [ + "AADHAAR", + ].map((e) => e.toString()).toList(), + isRequired: true, + formControlName: identityDocument, + valueMapper: (value) => t.translate('CORE_COMMON_$value'), + onChanged: (value) { + //TODO:[temp comment for release] + // adharSelect(value); + }, + ), + DigitTextFormField( + padding: const EdgeInsets.only( + top: 10, + bottom: 0, ), - // }), - SHGFilePicker( - callBack: (List? fileStore) { - if (fileStore != null && fileStore.isNotEmpty) { - // setState(() { - photo = fileStore.first.fileStoreId; - // }); - } else { - // setState(() { - photo = ''; - // }); - } - }, - extensions: const ['jpg', 'png', 'jpeg'], - moduleName: 'works', - label: t.translate(i18.common.photoGraph), - ) - ]), - const SizedBox(height: 16), + onChanged: (p0) { + //TODO:[aadhar temporarily commented for release] + // if (adhar) { + // adharSelect("AADHAAR"); + // } + // isVerifyDone(false); + // context + // .read() + // .add(const CreateWageSeekerDisposeEvent()); + }, + formControlName: aadhaarNoKey, + label: t.translate(i18.wageSeeker.identityNumberLabel), + isRequired: true, + //TODO:[temp commented for release] + // minLength: adhar ? 12 : null, + // maxLength: adhar ? 12 : null, + minLength: adhar ? 12 : 12, + maxLength: adhar ? 12 : 12, + keyboardType: TextInputType.number, + inputFormatter: [ + FilteringTextInputFormatter.allow(RegExp("[0-9]")) + ], + validationMessages: adhar + ? { + 'required': (_) => t.translate( + i18.wageSeeker.aadhaarRequired, + ), + 'minLength': (_) => t.translate( + i18.wageSeeker.minAadhaarCharacters, + ), + 'maxLength': (_) => t.translate( + i18.wageSeeker.maxAadhaarCharacters, + ), + } + : { + 'required': (_) => t.translate( + i18.wageSeeker.aadhaarRequired, + ), + }, + ), + DigitTextFormField( + padding: EdgeInsets.zero, + onChanged: (p0) { + //TODO:[temp commented for release] + // if (adhar) { + // adharSelect("AADHAAR"); + // } + // isVerifyDone(false); + // context + // .read() + // .add(const CreateWageSeekerDisposeEvent()); + }, + formControlName: nameKey, + isRequired: true, + label: t.translate(i18.wageSeeker.identityNameLabel), + inputFormatter: [ + FilteringTextInputFormatter.allow(RegExp("[A-Za-z ]")) + ], + validationMessages: { + 'required': (_) => t.translate( + i18.wageSeeker.nameRequired, + ), + 'minLength': (_) => t.translate( + i18.wageSeeker.minNameCharacters, + ), + 'maxLength': (_) => t.translate( + i18.wageSeeker.maxNameCharacters, + ), + }, + ), + adhar + ? BlocBuilder( + builder: (context, state) { + return state.maybeWhen( + orElse: () => const Offstage(), + loaded: (value) { + return const SizedBox.shrink(); + }, + loading: () { + return const Center( + child: CircularProgressIndicator.adaptive(), + ); + }, + initial: () { + return Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: SizedBox( + width: MediaQuery.of(context).size.width, + child: TextButton( + style: OutlinedButton.styleFrom( + side: BorderSide( + width: 1.0, + color: DigitTheme + .instance.colorScheme.primary, + ), + ), + onPressed: () { + form.markAllAsTouched( + updateParent: false); + if (!form.valid) return; + if (FocusScope.of(context).hasFocus) { + FocusScope.of(context).unfocus(); + } + context + .read() + .add( + VerifyAdharEvent( + name: form.value[nameKey] + .toString(), + uid: form + .value[aadhaarNoKey] + .toString()), + ); + }, + child: Text( + t.translate( + i18.wageSeeker.adharValidate), + ), + ), + ), + ); + }, + verified: (value) { + return Center( + child: Padding( + padding: + const EdgeInsets.only(bottom: 8.0), + child: CommonInfoCard( + color: value!.status == + Constants.verifyAdhar + ? DigitTheme + .instance.colors.paleLeafGreen + : DigitTheme + .instance.colors.paleRose, + widget: Padding( + padding: const EdgeInsets.all(8.0), + child: Row( + children: [ + Flexible( + flex: 0, + child: value!.status == + Constants.verifyAdhar + ? CircleAvatar( + radius: 18, + backgroundColor: + DigitTheme + .instance + .colors + .darkSpringGreen, + child: Icon( + Icons.done, + color: DigitTheme + .instance + .colors + .white, + size: 30, + ), + ) + : Icon( + Icons.error_outline, + color: DigitTheme + .instance + .colors + .lavaRed, + size: 28, + ), + ), + Flexible( + flex: 3, + child: Padding( + padding: + const EdgeInsets.only( + left: 8.0), + child: Text( + value!.status == + Constants + .verifyAdhar + ? t.translate(i18 + .wageSeeker + .adharVerifySuccess) + : t.translate(i18 + .wageSeeker + .adharVerifyError), + style: TextStyle( + fontSize: 15, + color: value!.status == + Constants + .verifyAdhar + ? DigitTheme + .instance + .colors + .darkSpringGreen + : DigitTheme.instance + .colors.lavaRed, + ), + ), + ), + ), + ], + ), + ), + ), + ), + ); + }, + error: (error) { + return Center( + child: SizedBox( + height: 50, + child: Text( + t.translate( + i18.wageSeeker.adharVerifyFailed), + style: const TextStyle( + fontSize: 15, + color: Colors.red, + ), + ), + ), + ); + }, + ); + }, + ) + : const SizedBox.shrink(), Center( child: DigitElevatedButton( - onPressed: () { - form.markAllAsTouched(updateParent: false); - if (!form.valid) return; - if (form.value[genderKey] == null || - form.value[genderKey].toString().isEmpty) { - Notifiers.getToastMessage( - context, - t.translate(i18.wageSeeker.genderRequired), - 'ERROR'); - } else if (!getSkillsValid()) { - Notifiers.getToastMessage( - context, - i18.wageSeeker.selectSkillValidation, - 'ERROR'); - } else if (selectedOptions.isEmpty) { - Notifiers.getToastMessage(context, - i18.wageSeeker.skillsRequired, 'ERROR'); - } else { - final individualDetails = IndividualDetails( - name: form.value[nameKey].toString(), - fatherName: - form.value[fatherNameKey].toString(), - aadhaarNo: - form.value[aadhaarNoKey].toString(), - relationship: - form.value[relationshipKey].toString(), - socialCategory: - form.value[socialCategoryKey].toString(), - dateOfBirth: form.value[dobKey] as DateTime, - mobileNumber: - form.value[mobileKey].toString(), - gender: form.value[genderKey].toString(), - imageFile: FilePickerData.imageFile, - bytes: FilePickerData.bytes, - photo: photo); - final skillList = SkillDetails( - individualSkills: selectedOptions - .map((e) => IndividualSkill( - type: e.toString().split('.').last, - level: e.toString().split('.').first)) - .toList()); + onPressed: (adhar) + ? isVerified + ? () { + form.markAllAsTouched( + updateParent: false); + if (!form.valid) return; + final adharState = context + .read() + .state; - BlocProvider.of(context).add( - WageSeekerCreateEvent( - individualDetails: individualDetails, - skillDetails: skillList, - locationDetails: locationDetails, - financialDetails: financialDetails), - ); - widget.onPressed(); - } - }, + AdharCardResponse? s = + adharState.maybeMap( + orElse: () => const AdharCardResponse(), + verified: (value) { + return value.adharCardResponse; + }, + ); + context.read().add( + WageSeekerIdentificationCreateEvent( + adharVerified: true, + documentType: form + .value[identityDocument] + .toString(), + name: form.value[nameKey] + .toString(), + number: form.value[aadhaarNoKey] + .toString(), + timeStamp: DateTime.now() + .millisecondsSinceEpoch, + adharCardResponse: s), + ); + setState(() { + switchPage = 1; + }); + } + : null + : () { + form.markAllAsTouched(updateParent: false); + if (!form.valid) return; + + context.read().add( + WageSeekerIdentificationCreateEvent( + adharVerified: false, + documentType: form + .value[identityDocument] + .toString(), + name: + form.value[nameKey].toString(), + number: form.value[aadhaarNoKey] + .toString(), + timeStamp: DateTime.now() + .millisecondsSinceEpoch, + adharCardResponse: + const AdharCardResponse()), + ); + setState(() { + switchPage = 1; + }); + }, child: Center( child: Text(t.translate(i18.common.next)), )), ) - ], - ), - ), - ], - ), - ); - }, + ]), + ), + ); + }, + ), ); } - bool getSkillsValid() { - Map beforeDotCount = {}; - Map afterDotCount = {}; - - for (String skill in selectedOptions) { - List skillParts = skill.split("."); - String beforeDot = skillParts[0]; - String afterDot = skillParts[1]; - - beforeDotCount[beforeDot] = (beforeDotCount[beforeDot] ?? 0) + 1; - afterDotCount[afterDot] = (afterDotCount[afterDot] ?? 0) + 1; - } - - // int countBeforeDot = - // beforeDotCount.values.where((count) => count > 1).length; - int countAfterDot = afterDotCount.values.where((count) => count > 1).length; - - if (countAfterDot > 0) { - return false; - } - return true; - } - - FormGroup buildForm() => fb.group({ - aadhaarNoKey: FormControl(value: '', validators: [ - Validators.required, - Validators.minLength(12), - Validators.maxLength(12) - ]), - nameKey: FormControl(value: '', validators: [ - Validators.required, - Validators.minLength(2), - Validators.maxLength(128) - ]), - genderKey: FormControl(value: null), - fatherNameKey: FormControl(value: '', validators: [ - Validators.required, - Validators.minLength(2), - Validators.maxLength(128) - ]), - relationshipKey: - FormControl(value: null, validators: [Validators.required]), - dobKey: FormControl( - value: null, - validators: [ - Validators.required, - Validators.max(DateTime(DateTime.now().year - 18, - DateTime.now().month, DateTime.now().day)) - ], - ), - socialCategoryKey: FormControl(value: null), - mobileKey: FormControl(value: '', validators: [ - Validators.required, - Validators.minLength(10), - Validators.min('5999999999'), - Validators.max('9999999999'), - Validators.maxLength(10) - ]) + // Build Reactive Forms FormGroup for identification details + FormGroup identificationBuildForm( + IndividualDetails individualDetails, + ) => + fb.group({ + aadhaarNoKey: FormControl( + value: individualDetails.aadhaarNo ?? '', + validators: adhar + ? [ + Validators.required, + Validators.minLength(12), + Validators.maxLength(12) + ] + : [ + Validators.required, + ]), + nameKey: FormControl( + value: individualDetails.name ?? '', + validators: [ + Validators.required, + Validators.minLength(2), + Validators.maxLength(128) + ]), + identityDocument: FormControl( + value: individualDetails.documentType ?? "AADHAAR", + validators: [ + Validators.required, + ]), }); } diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart index 3a2f802831..77cd6ab7b2 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart @@ -98,6 +98,7 @@ class LocationDetailsState extends State { ), Column(children: [ DigitTextFormField( + padding: const EdgeInsets.only(top:10), formControlName: pinCodeKey, label: t.translate(i18.common.pinCode), keyboardType: TextInputType.number, @@ -107,6 +108,7 @@ class LocationDetailsState extends State { ], ), DigitReactiveDropdown( + label: t.translate(i18.common.city), padding: const EdgeInsets.only(top: 0), menuItems: city.map((e) => e.toString()).toList(), @@ -124,7 +126,7 @@ class LocationDetailsState extends State { DigitReactiveDropdown( label: t.translate(i18.common.ward), menuMaxHeight: 300, - padding: const EdgeInsets.only(top: 32), + padding: const EdgeInsets.only(top: 12), menuItems: ward.map((e) => e.toString()).toList(), isRequired: true, formControlName: wardKey, @@ -140,7 +142,7 @@ class LocationDetailsState extends State { ), DigitReactiveDropdown( label: t.translate(i18.common.locality), - padding: const EdgeInsets.only(top: 32), + padding: const EdgeInsets.only(top: 12), menuMaxHeight: 300, menuItems: locality.map((e) => e.toString()).toList(), formControlName: localityKey, @@ -155,7 +157,7 @@ class LocationDetailsState extends State { }), DigitTextFormField( formControlName: streetNameKey, - padding: const EdgeInsets.only(top: 32), + padding: const EdgeInsets.only(top: 12), label: t.translate(i18.common.streetName), validationMessages: { 'maxLength': (_) => t.translate( diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart index 3df202c831..277bb71537 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart @@ -16,6 +16,7 @@ import 'package:works_shg_app/widgets/molecules/digit_stepper.dart'; import '../../blocs/app_initilization/app_initilization.dart'; import '../../blocs/localization/app_localization.dart'; import '../../blocs/localization/localization.dart'; +import '../../blocs/wage_seeker_registration/wage_seeker_create_bloc.dart'; import '../../blocs/wage_seeker_registration/wage_seeker_location_bloc.dart'; import '../../blocs/wage_seeker_registration/wage_seeker_mdms_bloc.dart'; import '../../blocs/wage_seeker_registration/wage_seeker_registration_bloc.dart'; @@ -50,6 +51,7 @@ class RegisterIndividualPageState extends State { context.read().add( const WageSeekerClearEvent(), ); + context.read().add(const CreateWageSeekerDisposeEvent()); FilePickerData.imageFile = null; FilePickerData.bytes = null; context.read().add( diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart index e204e3c491..d573dec2fb 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart @@ -503,4 +503,4 @@ class SummaryDetailsPageState extends State { ], ))); } -} +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart index 311f269ab5..7b017b7e78 100644 --- a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart +++ b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart @@ -2,7 +2,12 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:intl/intl.dart'; +import 'package:works_shg_app/blocs/auth/auth.dart'; +import 'package:works_shg_app/blocs/employee/mb/mb_check.dart'; +import 'package:works_shg_app/blocs/employee/mb/mb_detail_view.dart'; import 'package:works_shg_app/blocs/work_orders/work_order_pdf.dart'; +import 'package:works_shg_app/utils/employee/mb/mb_logic.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; import 'package:works_shg_app/widgets/ButtonLink.dart'; @@ -35,7 +40,9 @@ class ViewWorkDetailsPage extends StatefulWidget { final String? contractNumber; final String? wfStatus; const ViewWorkDetailsPage( - {super.key, @queryParam this.contractNumber = 'contractNumber', @queryParam this.wfStatus = 'wfStatus'}); + {super.key, + @queryParam this.contractNumber = 'contractNumber', + @queryParam this.wfStatus = 'wfStatus'}); @override State createState() { return _ViewWorkDetailsPage(); @@ -65,9 +72,11 @@ class _ViewWorkDetailsPage extends State { fileStoreList; attachedFiles = []; context.read().add( - IndividualWorkSearchEvent(contractNumber: widget.contractNumber, body:{ - "wfStatus": [widget.wfStatus] - }), + IndividualWorkSearchEvent( + contractNumber: widget.contractNumber, + body: { + "wfStatus": [widget.wfStatus] + }), ); context.read().add( const WorkOrderDisposeEvent(), @@ -97,9 +106,15 @@ class _ViewWorkDetailsPage extends State { var t = AppLocalizations.of(context); return WillPopScope( onWillPop: () async { - context.router.popUntilRouteWithPath('home') ; - context.router.push(const WorkOrderRoute()); - return false; + if (GlobalVariables.roleType == RoleType.cbo) { + context.router.popUntilRouteWithPath('home'); + context.router.push(const WorkOrderRoute()); + return false; + } else { + Navigator.of(context).pop(); + // context.router.pop(); + return false; + } }, child: Scaffold( appBar: AppBar( @@ -109,23 +124,882 @@ class _ViewWorkDetailsPage extends State { drawer: DrawerWrapper( Drawer(child: SideBar(module: CommonMethods.getLocaleModules()))), bottomNavigationBar: + BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) => GlobalVariables.roleType == RoleType.employee + ? BlocListener( + listener: (context, measureMentState) { + measureMentState.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) { + if (value.estimateStatus == true && + // TODO:[currently removed the workorder status] + // value.workOrderStatus == true && + // end + + value.existingMB == true) { + context.router.push(MBDetailRoute( + contractNumber: value.workOrderNumber ?? "", + mbNumber: "", + tenantId: GlobalVariables.tenantId, + type: MBScreen.create, + )); + } else { + // TODO:[currently removed the workorder status] + // if (value.workOrderStatus == false) { + // Notifiers.getToastMessage( + // context, + // t.translate( + // i18.workOrder.timeExtensionError), + // 'ERROR'); + // } else + // end + if (value.estimateStatus == false) { + Notifiers.getToastMessage( + context, + t.translate( + i18.workOrder.estimateRevisionError), + 'ERROR'); + } else { + Notifiers.getToastMessage( + context, + t.translate( + i18.workOrder.existingMBCreateError), + 'ERROR'); + } + // Notifiers.getToastMessage( + // context, + // "MB can not be created as the $show in progress", + // 'ERROR'); + } + }, + ); + + // TODO: implement listener + }, + child: SizedBox( + height: 60, + child: DigitCard( + padding: const EdgeInsets.all(8.0), + margin: const EdgeInsets.all(0), + child: DigitElevatedButton( + onPressed: () { + + context + .read() + .add(MeasurementCheckEvent( + tenantId: GlobalVariables.tenantId!, + contractNumber: widget.contractNumber!, + measurementNumber: "", + screenType: MBScreen.create, + )); + }, + child: Center( + child: Padding( + padding: const EdgeInsets.symmetric( + vertical: 4.0, horizontal: 4.0), + child: Text( + t.translate( + i18.measurementBook.createMb), + textAlign: TextAlign.center, + style: TextStyle( + fontWeight: FontWeight.w400, + fontSize: 16, + color: DigitTheme + .instance.colorScheme.onPrimary, + ))), + ), + ), + ), + ), + ) + : cboBottomNavigationBar(t)); + }, + ), + body: GlobalVariables.roleType == RoleType.employee + ? empScrollableContent(t) + : cboScrollableContent(t), + ), + ); + } + +// Content EMP + ScrollableContent empScrollableContent(AppLocalizations t) { + return ScrollableContent( + children: [ BlocBuilder( builder: (context, localState) { - return BlocBuilder( - builder: (context, searchState) { - return searchState.maybeWhen(orElse: () => Container(), - loading: () => shg_loader.Loaders.circularLoader(context), + return BlocConsumer( + listener: (context, state) { + state.maybeWhen( + orElse: () => false, + initial: () => false, + loading: () => shg_loader.Loaders.circularLoader(context), + error: (String? error) => Notifiers.getToastMessage( + context, error.toString(), 'ERROR'), + loaded: (ContractsModel? contracts) { + if (contracts?.contracts != null) { + termsNCond = contracts!.contracts!.first + .additionalDetails!.termsAndConditions != + null + ? contracts.contracts!.first.additionalDetails! + .termsAndConditions! + .where((w) => w != null && w.description != "") + .map((e) => e!.description.toString()) + .toList() + : []; + workOrderList = contracts.contracts! + .map((e) => { + 'cardDetails': { + i18.workOrder.workOrderNo: + e.contractNumber ?? 'NA', + i18.attendanceMgmt.projectId: + e.additionalDetails?.projectId ?? 'NA', + i18.common.location: + '${t.translate('${CommonMethods.getConvertedLocalizedCode('locality', subString: e.additionalDetails?.locality ?? 'NA')}')}, ${t.translate(CommonMethods.getConvertedLocalizedCode('ward', subString: e.additionalDetails?.ward ?? 'NA'))}', + i18.attendanceMgmt.projectType: + 'ES_COMMON_${e.additionalDetails?.projectType ?? 'NA'}', + i18.attendanceMgmt.projectName: + e.additionalDetails?.projectName ?? 'NA', + i18.attendanceMgmt.projectDesc: + e.additionalDetails?.projectDesc ?? 'NA', + }, + 'payload': e.toMap() + }) + .toList(); + contractDetails = contracts.contracts! + .map((e) => { + 'cardDetails': { + i18.workOrder.nameOfCBO: + e.additionalDetails?.cboName ?? 'NA', + i18.workOrder.roleOfCBO: + e.executingAuthority ?? 'NA', + i18.attendanceMgmt.engineerInCharge: e + .additionalDetails + ?.officerInChargeName + ?.name ?? + 'NA', + i18.attendanceMgmt.officeInCharge: e + .additionalDetails + ?.officerInChargeDesgn ?? + 'NA', + i18.workOrder.completionPeriod: + '${e.completionPeriod} ${t.translate(i18.common.days)}', + i18.workOrder.workOrderAmount: + '₹ ${NumberFormat('##,##,##,##,###').format(e.totalContractedAmount ?? 0)}', + i18.common.status: + 'WF_WORK_ORDER_STATE_${e.wfStatus.toString()}', + Constants.activeInboxStatus: + e.wfStatus == "ACCEPTED" + ? 'true' + : 'false' + }, + 'payload': e.toMap() + }) + .toList(); + workFlowDetails = contracts.contracts! + .map((e) => { + 'cardDetails': { + i18.workOrder.contractIssueDate: + e.issueDate != null + ? DateFormats.timeStampToDate( + e.issueDate, + format: "dd/MM/yyyy") + : 'NA', + i18.workOrder.dueDate: e.issueDate != null + ? DateFormats.getFilteredDate( + DateTime.fromMillisecondsSinceEpoch( + e.issueDate ?? 0) + .add(const Duration(days: 7)) + .toLocal() + .toString()) + : 'NA', + i18.workOrder.workStartDate: e.startDate != + null && + e.startDate != 0 + ? DateFormats.getFilteredDate( + DateTime.fromMillisecondsSinceEpoch( + e.startDate ?? 0) + .toString()) + : 'NA', + i18.workOrder.workEndDate: e.endDate != + null && + e.endDate != 0 + ? DateFormats.getFilteredDate( + DateTime.fromMillisecondsSinceEpoch( + e.endDate ?? 0) + .toString()) + : 'NA', + }, + 'payload': e.toMap() + }) + .toList(); + // fileStoreList = ; + attachedFiles = contracts.contracts!.first.documents != + null && + contracts.contracts!.first.additionalDetails + ?.estimateDocs != + null + ? [ + ...contracts.contracts!.first.documents! + .where( + (d) => + d.fileStore != null && + d.status != 'INACTIVE') + .map((e) => + FileStoreModel( + name: e.documentType != 'OTHERS' + ? e.documentType ?? '' + : e.additionalDetails + ?.otherCategoryName ?? + '', + fileStoreId: e.fileStore)), + ...contracts.contracts!.first.additionalDetails! + .estimateDocs! + .where((m) => m.fileStoreId != null) + .map((e) => FileStoreModel( + name: e.fileType != 'Others' + ? e.fileType ?? '' + : e.fileName ?? '', + fileStoreId: e.fileStoreId)) + ] + : contracts.contracts!.first.documents != null && + contracts.contracts!.first.additionalDetails + ?.estimateDocs == + null + ? [ + ...contracts.contracts!.first.documents! + .where((d) => + d.fileStore != null && + d.status != 'INACTIVE') + .map((e) => + FileStoreModel( + name: e.documentType != 'OTHERS' + ? e.documentType ?? '' + : e.additionalDetails + ?.otherCategoryName ?? + '', + fileStoreId: e.fileStore)) + ] + : contracts.contracts!.first.documents == null && + contracts + .contracts! + .first + .additionalDetails + ?.estimateDocs != + null + ? [ + ...contracts.contracts!.first + .additionalDetails!.estimateDocs! + .where((m) => m.fileStoreId != null) + .map((e) => FileStoreModel( + name: e.fileType != 'Others' + ? e.fileType ?? '' + : e.fileName ?? '', + fileStoreId: e.fileStoreId)) + ] + : []; + } + }); + }, + builder: (context, searchState) { + return searchState.maybeWhen( + orElse: () => Container(), + loading: () => shg_loader.Loaders.circularLoader(context), + initial: () => Container(), + loaded: (ContractsModel? contractsModel) { + final contracts = contractsModel?.contracts; + if (contracts != null) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Back( + backLabel: AppLocalizations.of(context) + .translate(i18.common.back), + callback: () { + // context.router.popUntilRouteWithPath('home') ; + // context.router.push(const WorkOrderRoute()); - loaded: (List? searchCriteria, String? acceptCode) => BlocBuilder( - builder: (context, workState) { - return workState.maybeWhen( + if (GlobalVariables.roleType == + RoleType.cbo) { + context.router + .popUntilRouteWithPath('home'); + context.router + .push(const WorkOrderRoute()); + } else { + Navigator.of(context).pop(); + // context.router.pop(); + } + }, + ), + CommonWidgets.downloadButton( + AppLocalizations.of(context) + .translate(i18.common.download), () { + context.read().add( + PDFEventWorkOrder( + contractId: widget.contractNumber, + tenantId: contracts.first.tenantId)); + }) + ], + ), + Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only( + left: 8.0, + right: 16.0, + top: 16.0, + bottom: 16.0), + child: Text( + '${AppLocalizations.of(context).translate(i18.workOrder.workOrderDetails)}', + style: DigitTheme.instance.mobileTheme + .textTheme.displayMedium, + textAlign: TextAlign.left, + ), + ), + DigitInfoCard( + title: AppLocalizations.of(context) + .translate(i18.common.info), + titleStyle: DigitTheme.instance + .mobileTheme.textTheme.headlineMedium + ?.apply( + color: const DigitColors().black), + description: AppLocalizations.of(context) + .translate(i18.common.workOrderInfo), + descStyle: DigitTheme.instance.mobileTheme + .textTheme.bodyLarge + ?.apply( + color: const Color.fromRGBO( + 80, 90, 95, 1)), + icon: Icons.info, + iconColor: + const Color.fromRGBO(52, 152, 219, 1), + backgroundColor: + DigitTheme.instance.colorScheme.tertiaryContainer), + workOrderList.isNotEmpty + ? Column( + children: [ + WorkDetailsCard( + workOrderList, + viewWorkOrder: true, + elevatedButtonLabel: + AppLocalizations.of(context) + .translate( + i18.common.accept), + outlinedButtonLabel: + AppLocalizations.of(context) + .translate( + i18.common.decline), + ), + WorkDetailsCard( + contractDetails, + viewWorkOrder: true, + cardTitle: + AppLocalizations.of(context) + .translate(i18.workOrder + .contractDetails), + ), + WorkDetailsCard( + workFlowDetails, + viewWorkOrder: true, + cardTitle: + AppLocalizations.of(context) + .translate(i18.workOrder + .timeLineDetails), + ), + DigitCard( + child: Attachments( + t.translate(i18 + .workOrder.relevantDocuments), + attachedFiles, + )), + Padding( + padding: + const EdgeInsets.all(8.0), + child: ButtonLink( + t.translate(i18.common + .viewTermsAndConditions), + () => DigitDialog.show(context, + options: DigitDialogOptions( + title: Text(t.translate(i18.common.termsAndConditions), + style: const TextStyle( + fontWeight: + FontWeight + .w700, + fontSize: 24, + fontFamily: + 'Roboto Condensed', + fontStyle: + FontStyle + .normal, + color: Color.fromRGBO( + 11, 12, 12, 1))), + content: + termsNCond + .isNotEmpty + ? Column( + mainAxisAlignment: + MainAxisAlignment + .start, + children: [ + for (var i = + 0; + i < termsNCond.length; + i++) + Align( + alignment: + Alignment.centerLeft, + child: + Text( + '${i + 1}. ${termsNCond[i]}', + style: + const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w700, + ), + textAlign: + TextAlign.start, + ), + ) + ], + ) + : EmptyImage( + align: Alignment + .center, + label: t.translate(i18 + .common + .noTermsNConditions), + ), + titlePadding: + const EdgeInsets.all( + 8.0), + contentPadding: + const EdgeInsets.all( + 8.0), + barrierDismissible: + true, + primaryAction: DigitDialogActions( + label: t.translate( + i18.common.close), + action: (context) => Navigator.of(context, rootNavigator: true).pop()), + isScrollable: true)), + align: Alignment.centerLeft, + ), + ), + BlocListener< + ValidTimeExtCreationsSearchBloc, + ValidTimeExtCreationsSearchState>( + listener: (context, + validContractState) { + validContractState.maybeWhen( + orElse: () => false, + loaded: (Contracts? + contracts) => + context.router.push( + CreateTimeExtensionRequestRoute( + contractNumber: contracts + ?.contractNumber, + )), + error: (String? error) => + Notifiers + .getToastMessage( + context, + error ?? 'ERR!', + 'ERROR')); + }, + child: const SizedBox.shrink(), + ), + ], + ) + : EmptyImage( + label: t.translate(i18 + .workOrder.noWorkOrderAssigned), + align: Alignment.center, + ), + const SizedBox( + height: 16.0, + ), + const Align( + alignment: Alignment.bottomCenter, + child: PoweredByDigit(), + ) + ]), + ]); + } else { + return Container(); + } + }); + }, + ); + }), + BlocListener( + listener: (context, state) { + state.maybeWhen( + initial: () => Container(), + loading: () => hasLoaded = false, + error: (String? error) { + Notifiers.getToastMessage(context, error.toString(), 'ERROR'); + }, + loaded: (ContractsModel? contractsModel) { + Notifiers.getToastMessage( + context, + '${contractsModel?.contracts?.first.contractNumber} ${AppLocalizations.of(context).translate(i18.workOrder.workOrderDeclineSuccess)}', + 'SUCCESS'); + Future.delayed(const Duration(seconds: 1)); + context.router.popAndPush(const WorkOrderRoute()); + }, + orElse: () => false); + }, + child: Container(), + ), + BlocListener( + listener: (context, state) { + state.maybeWhen( + initial: () => Container(), + loading: () => shg_loader.Loaders.circularLoader(context), + error: (String? error) { + Notifiers.getToastMessage(context, error.toString(), 'ERROR'); + }, + loaded: (ContractsModel? contractsModel) { + Notifiers.getToastMessage( + context, + '${AppLocalizations.of(context).translate(i18.workOrder.workOrderAcceptSuccess)}. ${contractsModel?.contracts?.first.additionalDetails?.attendanceRegisterNumber} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceCreateSuccess)}', + 'SUCCESS'); + Future.delayed(const Duration(seconds: 1)); + context.router.popAndPush(ViewWorkDetailsRoute( + contractNumber: workOrderList.first['payload'] + ['contractNumber'], + wfStatus: contractsModel?.contracts?.first.wfStatus)); + }, + orElse: () => false); + }, + child: Container(), + ), + ], + ); + } + + BlocBuilder empBottomNavigationBar( + AppLocalizations t) { + return BlocBuilder( + builder: (context, localState) { + return localState.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) => + BlocBuilder( + builder: (context, workState) { + return workState.maybeWhen( + orElse: () => Container(), + loading: () => shg_loader.Loaders.circularLoader(context), + error: (String? error) => Notifiers.getToastMessage( + context, t.translate(error.toString()), 'ERROR'), + loaded: (ContractsModel? contracts) { + return workOrderList.isNotEmpty && + workOrderList.first['payload']['wfStatus'] == + "ACCEPTED" + // || workOrderList.first['payload'] + // ['wfStatus'] == + // "ACCEPTED" + ? SizedBox( + height: 100, + child: DigitCard( + padding: const EdgeInsets.all(8.0), + margin: const EdgeInsets.all(0), + child: Column( + children: [ + DigitElevatedButton( + onPressed: () { + context + .read() + .add( + WorkOrderAcceptEvent( + contractsModel: + workOrderList + .first['payload'], + action: 'ACCEPT', + comments: + 'Work Order has been accepted by CBO'), + ); + }, + child: Center( + child: Padding( + padding: + const EdgeInsets.symmetric( + vertical: 4.0, + horizontal: 4.0), + child: Text( + t.translate( + i18.common.accept), + textAlign: TextAlign.center, + style: TextStyle( + fontWeight: FontWeight.w400, + fontSize: 16, + color: DigitTheme.instance + .colorScheme.onPrimary, + ))), + ), + ), + Center( + child: Padding( + padding: const EdgeInsets.all(4.0), + child: ButtonLink( + t.translate(i18.common.decline), + () => DigitDialog.show(context, + options: DigitDialogOptions( + titleText: AppLocalizations + .of(context) + .translate( + i18.common.warning), + contentText: + AppLocalizations.of( + context) + .translate(i18 + .workOrder + .warningMsg), + primaryAction: + DigitDialogActions( + label: + AppLocalizations.of( + context) + .translate(i18 + .common + .confirm), + action: (BuildContext + context) { + context + .read< + DeclineWorkOrderBloc>() + .add( + WorkOrderDeclineEvent( + contractsModel: + workOrderList + .first[ + 'payload'], + action: + 'DECLINE', + comments: + 'Work Order has been declined by CBO'), + ); + Navigator.of(context, + rootNavigator: + true) + .pop(); + }, + ), + secondaryAction: + DigitDialogActions( + label: AppLocalizations + .of(context) + .translate( + i18.common.back), + action: (BuildContext + context) => + Navigator.of(context, + rootNavigator: + true) + .pop(), + ))), + align: Alignment.center, + textAlign: TextAlign.center, + ), + ), + ) + ], + )), + ) + : workOrderList.isNotEmpty && + workOrderList.first['payload']['wfStatus'] != + "ACCEPTED" + ? SizedBox( + height: 60, + child: DigitCard( + padding: const EdgeInsets.all(8.0), + margin: const EdgeInsets.all(0), + child: DigitElevatedButton( + onPressed: () => DigitActionDialog.show( + context, + widget: Center( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Padding( + padding: + const EdgeInsets.only( + bottom: 8.0), + child: DigitOutlineIconButton( + buttonStyle: OutlinedButton.styleFrom( + minimumSize: Size( + MediaQuery.of( + context) + .size + .width / + 2.8, + 50), + shape: + const RoundedRectangleBorder(), + side: BorderSide( + color: const DigitColors() + .burningOrange, + width: 1)), + onPressed: () { + context.router.push(AttendanceRegisterTableRoute( + registerId: (contracts + ?.contracts ?? + []) + .first + .additionalDetails + ?.attendanceRegisterNumber + .toString() ?? + ''.toString(), + tenantId: (contracts + ?.contracts ?? + []) + .first + .tenantId + .toString())); + Navigator.of(context, + rootNavigator: + true) + .pop(); + }, + label: AppLocalizations.of( + context) + .translate(i18.home + .manageWageSeekers), + icon: Icons.fingerprint, + textStyle: const TextStyle( + fontWeight: + FontWeight.w700, + fontSize: 18), + ), + ), + /*Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: DigitOutlineIconButton( + label: AppLocalizations.of(context) + .translate(i18.workOrder.projectClosure), + icon: Icons.cancel_outlined, + buttonStyle: OutlinedButton.styleFrom( + minimumSize: Size( + MediaQuery.of(context).size.width / 2.8, + 50), + shape: const RoundedRectangleBorder(), + side: BorderSide( + color: const DigitColors().burningOrange, + width: 1)), + onPressed: () => + Navigator.of(context, rootNavigator: true) + .pop(), + textStyle: const TextStyle( + fontWeight: FontWeight.w700, fontSize: 18), + ), + )*/ + DigitOutlineIconButton( + label: AppLocalizations.of( + context) + .translate(i18.workOrder + .requestTimeExtension), + icon: Icons + .calendar_today_rounded, + buttonStyle: OutlinedButton.styleFrom( + minimumSize: Size( + MediaQuery.of(context) + .size + .width / + 2.8, + 50), + shape: + const RoundedRectangleBorder(), + side: BorderSide( + color: + const DigitColors() + .burningOrange, + width: 1)), + onPressed: () { + Navigator.of(context, + rootNavigator: true) + .pop(); + context + .read< + ValidTimeExtCreationsSearchBloc>() + .add(SearchValidTimeExtCreationsEvent( + contract: contracts + ?.contracts + ?.first, + contractNo: (contracts + ?.contracts ?? + []) + .first + .contractNumber + .toString(), + tenantId: (contracts + ?.contracts ?? + []) + .first + .tenantId + .toString(), + status: + 'APPROVED')); + }, + textStyle: const TextStyle( + fontWeight: + FontWeight.w700, + fontSize: 18), + ) + ], + ), + )), + child: Center( + child: Text( + AppLocalizations.of(context) + .translate( + i18.common.takeAction), + style: Theme.of(context) + .textTheme + .titleMedium! + .apply(color: Colors.white)), + ), + ), + ), + ) + : Container(); + }); + })); + }); + } + + BlocBuilder cboBottomNavigationBar( + AppLocalizations t) { + return BlocBuilder( + builder: (context, localState) { + return BlocBuilder(builder: (context, searchState) { + return searchState.maybeWhen( + orElse: () => Container(), + loading: () => shg_loader.Loaders.circularLoader(context), + loaded: (List? searchCriteria, String? acceptCode) => + BlocBuilder(builder: (context, workState) { + return workState.maybeWhen( orElse: () => Container(), loading: () => shg_loader.Loaders.circularLoader(context), - error: (String? error) => Notifiers.getToastMessage(context, t.translate(error.toString()), 'ERROR'), + error: (String? error) => Notifiers.getToastMessage( + context, t.translate(error.toString()), 'ERROR'), loaded: (ContractsModel? contracts) { return workOrderList.isNotEmpty && - workOrderList.first['payload']['wfStatus'] == acceptCode + workOrderList.first['payload']['wfStatus'] == + acceptCode + // || workOrderList.first['payload'] + // ['wfStatus'] == + // "ACCEPTED" ? SizedBox( height: 100, child: DigitCard( @@ -135,27 +1009,37 @@ class _ViewWorkDetailsPage extends State { children: [ DigitElevatedButton( onPressed: () { - context.read().add( + context + .read() + .add( WorkOrderAcceptEvent( contractsModel: - workOrderList.first['payload'], + workOrderList + .first['payload'], action: 'ACCEPT', - comments: 'Work Order has been accepted by CBO'), + comments: + 'Work Order has been accepted by CBO'), ); }, child: Center( child: Padding( - padding: const EdgeInsets.symmetric( - vertical: 4.0, horizontal: 4.0), - child: - Text(t.translate(i18.common.accept), - textAlign: TextAlign.center, - style: TextStyle( - fontWeight: FontWeight.w400, - fontSize: 16, - color: DigitTheme.instance - .colorScheme.onPrimary, - ))), + padding: + const EdgeInsets.symmetric( + vertical: 4.0, + horizontal: 4.0), + child: Text( + t.translate( + i18.common.accept), + textAlign: TextAlign.center, + style: TextStyle( + fontWeight: + FontWeight.w400, + fontSize: 16, + color: DigitTheme + .instance + .colorScheme + .onPrimary, + ))), ), ), Center( @@ -165,44 +1049,61 @@ class _ViewWorkDetailsPage extends State { t.translate(i18.common.decline), () => DigitDialog.show(context, options: DigitDialogOptions( - titleText: AppLocalizations.of( - context) - .translate(i18.common.warning), - contentText: AppLocalizations.of( - context) - .translate( - i18.workOrder.warningMsg), - primaryAction: DigitDialogActions( + titleText: + AppLocalizations.of( + context) + .translate(i18 + .common + .warning), + contentText: + AppLocalizations.of( + context) + .translate(i18 + .workOrder + .warningMsg), + primaryAction: + DigitDialogActions( label: - AppLocalizations.of(context) - .translate( - i18.common.confirm), - action: (BuildContext context) { + AppLocalizations.of( + context) + .translate(i18 + .common + .confirm), + action: (BuildContext + context) { context .read< DeclineWorkOrderBloc>() .add( WorkOrderDeclineEvent( contractsModel: - workOrderList - .first[ + workOrderList.first[ 'payload'], - action: 'DECLINE', + action: + 'DECLINE', comments: 'Work Order has been declined by CBO'), ); Navigator.of(context, - rootNavigator: true) + rootNavigator: + true) .pop(); }, ), - secondaryAction: DigitDialogActions( - label: AppLocalizations.of( - context) - .translate(i18.common.back), - action: (BuildContext context) => - Navigator.of(context, - rootNavigator: true) + secondaryAction: + DigitDialogActions( + label: + AppLocalizations.of( + context) + .translate(i18 + .common + .back), + action: (BuildContext + context) => + Navigator.of( + context, + rootNavigator: + true) .pop(), ))), align: Alignment.center, @@ -214,134 +1115,207 @@ class _ViewWorkDetailsPage extends State { )), ) : workOrderList.isNotEmpty && - workOrderList.first['payload']['wfStatus'] != acceptCode + workOrderList.first['payload'] + ['wfStatus'] != + acceptCode ? SizedBox( - height: 60, - child: DigitCard( - padding: const EdgeInsets.all(8.0), - margin: const EdgeInsets.all(0), - child: DigitElevatedButton( - onPressed: () => DigitActionDialog.show(context, + height: 60, + child: DigitCard( + padding: const EdgeInsets.all(8.0), + margin: const EdgeInsets.all(0), + child: DigitElevatedButton( + onPressed: () => DigitActionDialog.show( + context, widget: Center( child: Column( mainAxisSize: MainAxisSize.min, children: [ Padding( - padding: const EdgeInsets.only(bottom: 8.0), - child: DigitOutlineIconButton( + padding: + const EdgeInsets.only( + bottom: 8.0), + child: + DigitOutlineIconButton( buttonStyle: OutlinedButton.styleFrom( minimumSize: Size( - MediaQuery.of(context).size.width / 2.8, + MediaQuery.of( + context) + .size + .width / + 2.8, 50), - shape: const RoundedRectangleBorder(), + shape: + const RoundedRectangleBorder(), side: BorderSide( - color: const DigitColors().burningOrange, + color: const DigitColors() + .burningOrange, width: 1)), onPressed: () { context.router.push(AttendanceRegisterTableRoute( - registerId: (contracts?.contracts ?? []).first.additionalDetails?.attendanceRegisterNumber.toString() ?? '' - .toString(), - tenantId: (contracts?.contracts ?? []).first.tenantId.toString())); - Navigator.of(context, rootNavigator: true).pop(); + registerId: (contracts + ?.contracts ?? + []) + .first + .additionalDetails + ?.attendanceRegisterNumber + .toString() ?? + ''.toString(), + tenantId: (contracts + ?.contracts ?? + []) + .first + .tenantId + .toString())); + Navigator.of(context, + rootNavigator: + true) + .pop(); }, - label: AppLocalizations.of(context) - .translate(i18.home.manageWageSeekers), + label: AppLocalizations + .of(context) + .translate(i18.home + .manageWageSeekers), icon: Icons.fingerprint, - textStyle: const TextStyle( - fontWeight: FontWeight.w700, fontSize: 18), + textStyle: + const TextStyle( + fontWeight: + FontWeight + .w700, + fontSize: 18), ), ), /*Padding( - padding: const EdgeInsets.only(bottom: 8.0), - child: DigitOutlineIconButton( - label: AppLocalizations.of(context) - .translate(i18.workOrder.projectClosure), - icon: Icons.cancel_outlined, - buttonStyle: OutlinedButton.styleFrom( - minimumSize: Size( - MediaQuery.of(context).size.width / 2.8, - 50), - shape: const RoundedRectangleBorder(), - side: BorderSide( - color: const DigitColors().burningOrange, - width: 1)), - onPressed: () => - Navigator.of(context, rootNavigator: true) - .pop(), - textStyle: const TextStyle( - fontWeight: FontWeight.w700, fontSize: 18), - ), - )*/ - DigitOutlineIconButton( + padding: const EdgeInsets.only(bottom: 8.0), + child: DigitOutlineIconButton( label: AppLocalizations.of(context) - .translate(i18.workOrder.requestTimeExtension), - icon: Icons.calendar_today_rounded, + .translate(i18.workOrder.projectClosure), + icon: Icons.cancel_outlined, buttonStyle: OutlinedButton.styleFrom( minimumSize: Size( - MediaQuery.of(context).size.width / 2.8, 50), + MediaQuery.of(context).size.width / 2.8, + 50), shape: const RoundedRectangleBorder(), side: BorderSide( color: const DigitColors().burningOrange, width: 1)), + onPressed: () => + Navigator.of(context, rootNavigator: true) + .pop(), + textStyle: const TextStyle( + fontWeight: FontWeight.w700, fontSize: 18), + ), + )*/ + DigitOutlineIconButton( + label: AppLocalizations.of( + context) + .translate(i18.workOrder + .requestTimeExtension), + icon: Icons + .calendar_today_rounded, + buttonStyle: OutlinedButton.styleFrom( + minimumSize: Size( + MediaQuery.of( + context) + .size + .width / + 2.8, + 50), + shape: + const RoundedRectangleBorder(), + side: BorderSide( + color: const DigitColors() + .burningOrange, + width: 1)), onPressed: () { - Navigator.of(context, rootNavigator: true).pop(); - context.read().add( - SearchValidTimeExtCreationsEvent( - contract: contracts?.contracts?.first, - contractNo: (contracts?.contracts ?? []).first.contractNumber.toString(), - tenantId: (contracts?.contracts ?? []).first.tenantId.toString(), - status: 'APPROVED')); + Navigator.of(context, + rootNavigator: + true) + .pop(); + context + .read< + ValidTimeExtCreationsSearchBloc>() + .add(SearchValidTimeExtCreationsEvent( + contract: contracts + ?.contracts + ?.first, + contractNo: (contracts + ?.contracts ?? + []) + .first + .contractNumber + .toString(), + tenantId: (contracts + ?.contracts ?? + []) + .first + .tenantId + .toString(), + status: + 'APPROVED')); }, textStyle: const TextStyle( - fontWeight: FontWeight.w700, fontSize: 18), + fontWeight: + FontWeight.w700, + fontSize: 18), ) ], ), )), - child: Center( - child: Text( + child: Center( + child: Text( AppLocalizations.of(context) - .translate(i18.common.takeAction), + .translate( + i18.common.takeAction), style: Theme.of(context) .textTheme .titleMedium! .apply(color: Colors.white)), + ), ), ), - ), - ) + ) : Container(); }); - })); - } - ); - } - ), - body: ScrollableContent( - children: [ - BlocBuilder( - builder: (context, localState) { - return BlocBuilder( - builder: (context, searchState) { - return searchState.maybeWhen(orElse: () => Container(), - loading: () => shg_loader.Loaders.circularLoader(context), - loaded: (List? searchCriteria, String? acceptCode) => BlocConsumer( + })); + }); + }); + } + +// content CBO + + ScrollableContent cboScrollableContent(AppLocalizations t) { + return ScrollableContent( + children: [ + BlocBuilder( + builder: (context, localState) { + return BlocBuilder(builder: (context, searchState) { + return searchState.maybeWhen( + orElse: () => Container(), + loading: () => shg_loader.Loaders.circularLoader(context), + loaded: (List? searchCriteria, String? acceptCode) => + BlocConsumer( listener: (context, state) { state.maybeWhen( orElse: () => false, initial: () => false, - loading: () => shg_loader.Loaders.circularLoader(context), + loading: () => + shg_loader.Loaders.circularLoader(context), error: (String? error) => Notifiers.getToastMessage( context, error.toString(), 'ERROR'), loaded: (ContractsModel? contracts) { if (contracts?.contracts != null) { - termsNCond = contracts!.contracts!.first - .additionalDetails!.termsAndConditions != + termsNCond = contracts! + .contracts! + .first + .additionalDetails! + .termsAndConditions != null - ? contracts.contracts!.first.additionalDetails! - .termsAndConditions! - .where((w) => w != null && w.description != "") + ? contracts.contracts!.first + .additionalDetails!.termsAndConditions! + .where((w) => + w != null && w.description != "") .map((e) => e!.description.toString()) .toList() : []; @@ -350,16 +1324,22 @@ class _ViewWorkDetailsPage extends State { 'cardDetails': { i18.workOrder.workOrderNo: e.contractNumber ?? 'NA', - i18.attendanceMgmt.projectId: - e.additionalDetails?.projectId ?? 'NA', + i18.attendanceMgmt.projectId: e + .additionalDetails + ?.projectId ?? + 'NA', i18.common.location: '${t.translate('${CommonMethods.getConvertedLocalizedCode('locality', subString: e.additionalDetails?.locality ?? 'NA')}')}, ${t.translate(CommonMethods.getConvertedLocalizedCode('ward', subString: e.additionalDetails?.ward ?? 'NA'))}', i18.attendanceMgmt.projectType: 'ES_COMMON_${e.additionalDetails?.projectType ?? 'NA'}', - i18.attendanceMgmt.projectName: - e.additionalDetails?.projectName ?? 'NA', - i18.attendanceMgmt.projectDesc: - e.additionalDetails?.projectDesc ?? 'NA', + i18.attendanceMgmt.projectName: e + .additionalDetails + ?.projectName ?? + 'NA', + i18.attendanceMgmt.projectDesc: e + .additionalDetails + ?.projectDesc ?? + 'NA', }, 'payload': e.toMap() }) @@ -368,25 +1348,30 @@ class _ViewWorkDetailsPage extends State { .map((e) => { 'cardDetails': { i18.workOrder.nameOfCBO: - e.additionalDetails?.cboName ?? 'NA', + e.additionalDetails?.cboName ?? + 'NA', i18.workOrder.roleOfCBO: - e.executingAuthority ?? 'NA', - i18.attendanceMgmt.engineerInCharge: e + e.executingAuthority ?? 'NA', + i18.attendanceMgmt.engineerInCharge: + e + .additionalDetails + ?.officerInChargeName + ?.name ?? + 'NA', + i18.attendanceMgmt.officeInCharge: e .additionalDetails - ?.officerInChargeName - ?.name ?? + ?.officerInChargeDesgn ?? 'NA', - i18.attendanceMgmt.officeInCharge: - e.additionalDetails - ?.officerInChargeDesgn ?? - 'NA', i18.workOrder.completionPeriod: '${e.completionPeriod} ${t.translate(i18.common.days)}', i18.workOrder.workOrderAmount: '₹ ${NumberFormat('##,##,##,##,###').format(e.totalContractedAmount ?? 0)}', i18.common.status: 'WF_WORK_ORDER_STATE_${e.wfStatus.toString()}', - Constants.activeInboxStatus: e.wfStatus == acceptCode ? 'true' : 'false' + Constants.activeInboxStatus: + e.wfStatus == acceptCode + ? 'true' + : 'false' }, 'payload': e.toMap() }) @@ -394,21 +1379,26 @@ class _ViewWorkDetailsPage extends State { workFlowDetails = contracts.contracts! .map((e) => { 'cardDetails': { - i18.workOrder.contractIssueDate: - e.issueDate != null - ? DateFormats.timeStampToDate( - e.issueDate, - format: "dd/MM/yyyy") - : 'NA', - i18.workOrder.dueDate: e.issueDate != null + i18.workOrder.contractIssueDate: e + .issueDate != + null + ? DateFormats.timeStampToDate( + e.issueDate, + format: "dd/MM/yyyy") + : 'NA', + i18.workOrder.dueDate: e + .issueDate != + null ? DateFormats.getFilteredDate( DateTime.fromMillisecondsSinceEpoch( e.issueDate ?? 0) - .add(const Duration(days: 7)) + .add(const Duration( + days: 7)) .toLocal() .toString()) : 'NA', - i18.workOrder.workStartDate: e.startDate != + i18.workOrder.workStartDate: e + .startDate != null && e.startDate != 0 ? DateFormats.getFilteredDate( @@ -416,7 +1406,8 @@ class _ViewWorkDetailsPage extends State { e.startDate ?? 0) .toString()) : 'NA', - i18.workOrder.workEndDate: e.endDate != + i18.workOrder.workEndDate: e + .endDate != null && e.endDate != 0 ? DateFormats.getFilteredDate( @@ -429,54 +1420,147 @@ class _ViewWorkDetailsPage extends State { }) .toList(); // fileStoreList = ; - attachedFiles = contracts.contracts!.first.documents != null && contracts.contracts!.first.additionalDetails?.estimateDocs != null ? [...contracts.contracts!.first.documents!.where((d) => d.fileStore != null && d.status != 'INACTIVE') - .map((e) => FileStoreModel( - name: e.documentType != 'OTHERS' ? e.documentType ?? '' : e.additionalDetails?.otherCategoryName ?? '', fileStoreId: e.fileStore)), - ...contracts.contracts!.first.additionalDetails!.estimateDocs!.where((m) => m.fileStoreId != null) - .map((e) => FileStoreModel( - name: e.fileType != 'Others' ? e.fileType ?? '' : e.fileName ?? '', fileStoreId: e.fileStoreId))] : contracts.contracts!.first.documents != null && contracts.contracts!.first.additionalDetails?.estimateDocs == null ? [...contracts.contracts!.first.documents!.where((d) => d.fileStore != null && d.status != 'INACTIVE') - .map((e) => FileStoreModel( - name: e.documentType != 'OTHERS' ? e.documentType ?? '' : e.additionalDetails?.otherCategoryName ?? '', fileStoreId: e.fileStore))] : contracts.contracts!.first.documents == null && contracts.contracts!.first.additionalDetails?.estimateDocs != null ? [...contracts.contracts!.first.additionalDetails!.estimateDocs!.where((m) => m.fileStoreId != null) - .map((e) => FileStoreModel( - name: e.fileType != 'Others' ? e.fileType ?? '' : e.fileName ?? '', fileStoreId: e.fileStoreId))] : []; + attachedFiles = contracts + .contracts!.first.documents != + null && + contracts + .contracts! + .first + .additionalDetails + ?.estimateDocs != + null + ? [ + ...contracts.contracts!.first.documents! + .where( + (d) => + d.fileStore != null && + d.status != 'INACTIVE') + .map((e) => FileStoreModel( + name: e.documentType != 'OTHERS' + ? e.documentType ?? '' + : e.additionalDetails + ?.otherCategoryName ?? + '', + fileStoreId: e.fileStore)), + ...contracts.contracts!.first + .additionalDetails!.estimateDocs! + .where((m) => m.fileStoreId != null) + .map((e) => FileStoreModel( + name: e.fileType != 'Others' + ? e.fileType ?? '' + : e.fileName ?? '', + fileStoreId: e.fileStoreId)) + ] + : contracts.contracts!.first.documents != + null && + contracts + .contracts! + .first + .additionalDetails + ?.estimateDocs == + null + ? [ + ...contracts + .contracts!.first.documents! + .where( + (d) => + d.fileStore != null && + d.status != 'INACTIVE') + .map((e) => FileStoreModel( + name: e.documentType != + 'OTHERS' + ? e.documentType ?? '' + : e.additionalDetails + ?.otherCategoryName ?? + '', + fileStoreId: e.fileStore)) + ] + : contracts.contracts!.first + .documents == + null && + contracts + .contracts! + .first + .additionalDetails + ?.estimateDocs != + null + ? [ + ...contracts + .contracts! + .first + .additionalDetails! + .estimateDocs! + .where((m) => + m.fileStoreId != null) + .map((e) => FileStoreModel( + name: e.fileType != + 'Others' + ? e.fileType ?? '' + : e.fileName ?? '', + fileStoreId: + e.fileStoreId)) + ] + : []; } }); }, builder: (context, searchState) { return searchState.maybeWhen( orElse: () => Container(), - loading: () => shg_loader.Loaders.circularLoader(context), + loading: () => + shg_loader.Loaders.circularLoader(context), initial: () => Container(), loaded: (ContractsModel? contractsModel) { final contracts = contractsModel?.contracts; if (contracts != null) { return Column( - crossAxisAlignment: CrossAxisAlignment.start, + crossAxisAlignment: + CrossAxisAlignment.start, children: [ Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, + mainAxisAlignment: + MainAxisAlignment.spaceBetween, children: [ Back( - backLabel: AppLocalizations.of(context) - .translate(i18.common.back), + backLabel: + AppLocalizations.of(context) + .translate(i18.common.back), callback: () { - context.router.popUntilRouteWithPath('home') ; - context.router.push(const WorkOrderRoute()); + // context.router.popUntilRouteWithPath('home') ; + // context.router.push(const WorkOrderRoute()); + + if (GlobalVariables.roleType == + RoleType.cbo) { + context.router + .popUntilRouteWithPath( + 'home'); + context.router.push( + const WorkOrderRoute()); + } else { + Navigator.of(context).pop(); + // context.router.pop(); + } }, ), CommonWidgets.downloadButton( AppLocalizations.of(context) - .translate(i18.common.download), () { - context.read().add( - PDFEventWorkOrder( - contractId: widget.contractNumber, - tenantId: contracts.first.tenantId)); + .translate( + i18.common.download), () { + context + .read() + .add(PDFEventWorkOrder( + contractId: + widget.contractNumber, + tenantId: contracts + .first.tenantId)); }) ], ), Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: + MainAxisAlignment.start, + crossAxisAlignment: + CrossAxisAlignment.start, children: [ Padding( padding: const EdgeInsets.only( @@ -486,30 +1570,39 @@ class _ViewWorkDetailsPage extends State { bottom: 16.0), child: Text( '${AppLocalizations.of(context).translate(i18.workOrder.workOrderDetails)}', - style: DigitTheme.instance.mobileTheme - .textTheme.displayMedium, + style: DigitTheme + .instance + .mobileTheme + .textTheme + .displayMedium, textAlign: TextAlign.left, ), ), DigitInfoCard( title: AppLocalizations.of(context) .translate(i18.common.info), - titleStyle: DigitTheme.instance - .mobileTheme.textTheme.headlineMedium + titleStyle: DigitTheme + .instance + .mobileTheme + .textTheme + .headlineMedium ?.apply( - color: const DigitColors().black), - description: AppLocalizations.of(context) - .translate(i18.common.workOrderInfo), - descStyle: DigitTheme.instance.mobileTheme - .textTheme.bodyLarge + color: const DigitColors() + .black), + description: + AppLocalizations.of(context) + .translate(i18.common + .workOrderInfo), + descStyle: DigitTheme + .instance + .mobileTheme + .textTheme + .bodyLarge ?.apply( - color: const Color.fromRGBO( - 80, 90, 95, 1)), + color: const Color.fromRGBO(80, 90, 95, 1)), icon: Icons.info, - iconColor: - const Color.fromRGBO(52, 152, 219, 1), - backgroundColor: - DigitTheme.instance.colorScheme.tertiaryContainer), + iconColor: const Color.fromRGBO(52, 152, 219, 1), + backgroundColor: DigitTheme.instance.colorScheme.tertiaryContainer), workOrderList.isNotEmpty ? Column( children: [ @@ -517,120 +1610,138 @@ class _ViewWorkDetailsPage extends State { workOrderList, viewWorkOrder: true, elevatedButtonLabel: - AppLocalizations.of(context) - .translate( - i18.common.accept), + AppLocalizations.of( + context) + .translate(i18 + .common + .accept), outlinedButtonLabel: - AppLocalizations.of(context) - .translate( - i18.common.decline), + AppLocalizations.of( + context) + .translate(i18 + .common + .decline), ), WorkDetailsCard( contractDetails, viewWorkOrder: true, - cardTitle: - AppLocalizations.of(context) - .translate(i18.workOrder - .contractDetails), + cardTitle: AppLocalizations + .of(context) + .translate(i18 + .workOrder + .contractDetails), ), WorkDetailsCard( workFlowDetails, viewWorkOrder: true, - cardTitle: - AppLocalizations.of(context) - .translate(i18.workOrder - .timeLineDetails), + cardTitle: AppLocalizations + .of(context) + .translate(i18 + .workOrder + .timeLineDetails), ), DigitCard( child: Attachments( t.translate(i18 - .workOrder.relevantDocuments), + .workOrder + .relevantDocuments), attachedFiles, )), Padding( padding: - const EdgeInsets.all(8.0), + const EdgeInsets + .all(8.0), child: ButtonLink( t.translate(i18.common .viewTermsAndConditions), - () => DigitDialog.show(context, - options: DigitDialogOptions( - title: Text(t.translate(i18.common.termsAndConditions), - style: const TextStyle( - fontWeight: FontWeight - .w700, - fontSize: 24, - fontFamily: - 'Roboto Condensed', - fontStyle: FontStyle - .normal, - color: Color.fromRGBO( - 11, 12, 12, 1))), - content: - termsNCond + () => DigitDialog.show( + context, + options: + DigitDialogOptions( + title: Text(t.translate(i18.common.termsAndConditions), + style: const TextStyle( + fontWeight: FontWeight + .w700, + fontSize: + 24, + fontFamily: + 'Roboto Condensed', + fontStyle: FontStyle + .normal, + color: Color.fromRGBO( + 11, 12, 12, 1))), + content: termsNCond .isNotEmpty ? Column( - mainAxisAlignment: - MainAxisAlignment - .start, + mainAxisAlignment: MainAxisAlignment.start, children: [ - for (var i = - 0; - i < termsNCond.length; - i++) + for (var i = 0; i < termsNCond.length; i++) Align( - alignment: - Alignment.centerLeft, - child: - Text( + alignment: Alignment.centerLeft, + child: Text( '${i + 1}. ${termsNCond[i]}', - style: - const TextStyle( + style: const TextStyle( fontSize: 16, fontWeight: FontWeight.w700, ), - textAlign: - TextAlign.start, + textAlign: TextAlign.start, ), ) ], ) - : EmptyImage( - align: Alignment - .center, - label: t.translate(i18.common.noTermsNConditions),), - titlePadding: const EdgeInsets.all( - 8.0), - contentPadding: const EdgeInsets.all( - 8.0), - barrierDismissible: - true, - primaryAction: DigitDialogActions( - label: t.translate(i18.common.close), - action: (context) => Navigator.of(context, rootNavigator: true).pop()), - isScrollable: true)), - align: Alignment.centerLeft, + : EmptyImage( + align: Alignment.center, + label: t.translate(i18.common.noTermsNConditions), + ), + titlePadding: + const EdgeInsets.all( + 8.0), + contentPadding: + const EdgeInsets.all( + 8.0), + barrierDismissible: + true, + primaryAction: DigitDialogActions(label: t.translate(i18.common.close), action: (context) => Navigator.of(context, rootNavigator: true).pop()), + isScrollable: true)), + align: Alignment + .centerLeft, ), ), - BlocListener( - listener: (context, validContractState) { - validContractState.maybeWhen( - orElse: () => false, - loaded: (Contracts? contracts) => context.router - .push(CreateTimeExtensionRequestRoute( - contractNumber: - contracts?.contractNumber, - )), - error: (String? error) => Notifiers.getToastMessage( - context, error ?? 'ERR!', 'ERROR')); + BlocListener< + ValidTimeExtCreationsSearchBloc, + ValidTimeExtCreationsSearchState>( + listener: (context, + validContractState) { + validContractState + .maybeWhen( + orElse: () => + false, + loaded: (Contracts? + contracts) => + context + .router + .push( + CreateTimeExtensionRequestRoute( + contractNumber: + contracts?.contractNumber, + )), + error: (String? + error) => + Notifiers.getToastMessage( + context, + error ?? + 'ERR!', + 'ERROR')); }, - child: const SizedBox.shrink(), + child: const SizedBox + .shrink(), ), ], ) : EmptyImage( label: t.translate(i18 - .workOrder.noWorkOrderAssigned), + .workOrder + .noWorkOrderAssigned), align: Alignment.center, ), const SizedBox( @@ -648,57 +1759,52 @@ class _ViewWorkDetailsPage extends State { }); }, )); - } - ); - } - ), - BlocListener( - listener: (context, state) { - state.maybeWhen( - initial: () => Container(), - loading: () => hasLoaded = false, - error: (String? error) { - Notifiers.getToastMessage( - context, error.toString(), 'ERROR'); - }, - loaded: (ContractsModel? contractsModel) { - Notifiers.getToastMessage( - context, - '${contractsModel?.contracts?.first.contractNumber} ${AppLocalizations.of(context).translate(i18.workOrder.workOrderDeclineSuccess)}', - 'SUCCESS'); - Future.delayed(const Duration(seconds: 1)); - context.router.popAndPush(const WorkOrderRoute()); - }, - orElse: () => false); - }, - child: Container(), - ), - BlocListener( - listener: (context, state) { - state.maybeWhen( - initial: () => Container(), - loading: () => shg_loader.Loaders.circularLoader(context), - error: (String? error) { - Notifiers.getToastMessage( - context, error.toString(), 'ERROR'); - }, - loaded: (ContractsModel? contractsModel) { - Notifiers.getToastMessage( - context, - '${AppLocalizations.of(context).translate(i18.workOrder.workOrderAcceptSuccess)}. ${contractsModel?.contracts?.first.additionalDetails?.attendanceRegisterNumber} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceCreateSuccess)}', - 'SUCCESS'); - Future.delayed(const Duration(seconds: 1)); - context.router.popAndPush(ViewWorkDetailsRoute( - contractNumber: workOrderList.first['payload']['contractNumber'], - wfStatus: contractsModel?.contracts?.first.wfStatus)); - }, - orElse: () => false); - }, - child: Container(), - ), - ], + }); + }), + BlocListener( + listener: (context, state) { + state.maybeWhen( + initial: () => Container(), + loading: () => hasLoaded = false, + error: (String? error) { + Notifiers.getToastMessage(context, error.toString(), 'ERROR'); + }, + loaded: (ContractsModel? contractsModel) { + Notifiers.getToastMessage( + context, + '${contractsModel?.contracts?.first.contractNumber} ${AppLocalizations.of(context).translate(i18.workOrder.workOrderDeclineSuccess)}', + 'SUCCESS'); + Future.delayed(const Duration(seconds: 1)); + context.router.popAndPush(const WorkOrderRoute()); + }, + orElse: () => false); + }, + child: Container(), ), - ), + BlocListener( + listener: (context, state) { + state.maybeWhen( + initial: () => Container(), + loading: () => shg_loader.Loaders.circularLoader(context), + error: (String? error) { + Notifiers.getToastMessage(context, error.toString(), 'ERROR'); + }, + loaded: (ContractsModel? contractsModel) { + Notifiers.getToastMessage( + context, + '${AppLocalizations.of(context).translate(i18.workOrder.workOrderAcceptSuccess)}. ${contractsModel?.contracts?.first.additionalDetails?.attendanceRegisterNumber} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceCreateSuccess)}', + 'SUCCESS'); + Future.delayed(const Duration(seconds: 1)); + context.router.popAndPush(ViewWorkDetailsRoute( + contractNumber: workOrderList.first['payload'] + ['contractNumber'], + wfStatus: contractsModel?.contracts?.first.wfStatus)); + }, + orElse: () => false); + }, + child: Container(), + ), + ], ); } } diff --git a/frontend/works_shg_app/lib/router/app_router.dart b/frontend/works_shg_app/lib/router/app_router.dart index 876ff28056..d363f54a2d 100644 --- a/frontend/works_shg_app/lib/router/app_router.dart +++ b/frontend/works_shg_app/lib/router/app_router.dart @@ -1,13 +1,25 @@ import 'package:auto_route/auto_route.dart'; import 'package:flutter/material.dart'; - +import 'package:works_shg_app/models/muster_rolls/muster_workflow_model.dart'; import 'package:works_shg_app/pages/bills/my_bills.dart'; +import 'package:works_shg_app/pages/employee/mb_filter_page.dart'; +import 'package:works_shg_app/pages/employee/mb_muster_screen.dart'; +import 'package:works_shg_app/pages/employee/workOrder/wo_filter_page.dart'; import 'package:works_shg_app/pages/org_profile.dart'; import 'package:works_shg_app/pages/time_extension_request/create_time_extension.dart'; import 'package:works_shg_app/pages/wage_seeker_registration/register_individual.dart'; +import '../models/muster_rolls/business_service_workflow.dart'; import '../pages/attendance_register_table.dart'; import '../pages/authenticated.dart'; +import '../pages/employee/mb_config_warning.dart'; +import '../pages/employee/mb_detail_page.dart'; +import '../pages/employee/mb_history.dart'; +import '../pages/employee/mb_inbox.dart'; +import '../pages/employee/mb_wrapper.dart'; +import '../pages/employee/workOrder/work_order_details.dart'; +import '../pages/employee/workOrder/work_order_inbox.dart'; +import '../pages/employee/workOrder/work_order_wrapper.dart'; import '../pages/home.dart'; import '../pages/language_selection_page.dart'; import '../pages/login.dart'; @@ -20,6 +32,7 @@ import '../pages/unauthenticated.dart'; import '../pages/view_muster_rolls.dart'; import '../pages/work_order/view_work_details.dart'; import '../pages/work_order/work_order.dart'; +import '../utils/employee/mb/mb_logic.dart'; import '../widgets/molecules/success_page.dart'; export 'package:auto_route/auto_route.dart'; @@ -68,6 +81,29 @@ part 'app_router.gr.dart'; page: CreateTimeExtensionRequestPage, path: 'create-time-extension'), AutoRoute(page: MyServiceRequestsPage, path: 'my-service-requests'), + + // mb for employee + + // MeasurementBookInboxPage + AutoRoute( + page: MeasurementBookInboxPage, + path: 'measurement-inbox', + ), + AutoRoute(page: MBFilterPage, path: 'mb-filter'), + AutoRoute(page: MBDetailPage, path: 'mb-detail'), + AutoRoute(page: MBHistoryBookPage, path: 'mb-history'), + AutoRoute(page: MBMusterScreenPage, path: 'mb-muster-screen'), + AutoRoute(page: MBTypeConfirmationPage, path: 'mb-type-confirmation'), + + + // work order -employee + + AutoRoute( + page: WorkOderInboxPage, + path: 'workOrder-inbox', + ), + AutoRoute(page: WorkOrderDetailPage, path: 'workOrder-details'), + AutoRoute(page: WOFilterPage, path: 'wo-filter'), ], ), ], diff --git a/frontend/works_shg_app/lib/router/app_router.gr.dart b/frontend/works_shg_app/lib/router/app_router.gr.dart index b8c7a4a90a..e7c0a2b18b 100644 --- a/frontend/works_shg_app/lib/router/app_router.gr.dart +++ b/frontend/works_shg_app/lib/router/app_router.gr.dart @@ -211,6 +211,87 @@ class _$AppRouter extends RootStackRouter { child: const MyServiceRequestsPage(), ); }, + MeasurementBookInboxRoute.name: (routeData) { + return MaterialPageX( + routeData: routeData, + child: const MeasurementBookInboxPage(), + ); + }, + MBFilterRoute.name: (routeData) { + return MaterialPageX( + routeData: routeData, + child: const MBFilterPage(), + ); + }, + MBDetailRoute.name: (routeData) { + final args = routeData.argsAs(); + return MaterialPageX( + routeData: routeData, + child: MBDetailPage( + key: args.key, + contractNumber: args.contractNumber, + mbNumber: args.mbNumber, + tenantId: args.tenantId, + type: args.type, + ), + ); + }, + MBHistoryBookRoute.name: (routeData) { + final args = routeData.argsAs(); + return MaterialPageX( + routeData: routeData, + child: MBHistoryBookPage( + key: args.key, + contractNumber: args.contractNumber, + mbNumber: args.mbNumber, + tenantId: args.tenantId, + type: args.type, + ), + ); + }, + MBMusterScreenRoute.name: (routeData) { + final args = routeData.argsAs(); + return MaterialPageX( + routeData: routeData, + child: MBMusterScreenPage( + key: args.key, + tenantId: args.tenantId, + musterRollNumber: args.musterRollNumber, + ), + ); + }, + MBTypeConfirmationRoute.name: (routeData) { + final args = routeData.argsAs(); + return MaterialPageX( + routeData: routeData, + child: MBTypeConfirmationPage( + key: args.key, + nextActions: args.nextActions, + contractNumber: args.contractNumber, + mbNumber: args.mbNumber, + type: args.type, + stateActions: args.stateActions, + ), + ); + }, + WorkOderInboxRoute.name: (routeData) { + return MaterialPageX( + routeData: routeData, + child: const WorkOderInboxPage(), + ); + }, + WorkOrderDetailRoute.name: (routeData) { + return MaterialPageX( + routeData: routeData, + child: const WorkOrderDetailPage(), + ); + }, + WOFilterRoute.name: (routeData) { + return MaterialPageX( + routeData: routeData, + child: const WOFilterPage(), + ); + }, }; @override @@ -324,6 +405,51 @@ class _$AppRouter extends RootStackRouter { path: 'my-service-requests', parent: AuthenticatedRouteWrapper.name, ), + RouteConfig( + MeasurementBookInboxRoute.name, + path: 'measurement-inbox', + parent: AuthenticatedRouteWrapper.name, + ), + RouteConfig( + MBFilterRoute.name, + path: 'mb-filter', + parent: AuthenticatedRouteWrapper.name, + ), + RouteConfig( + MBDetailRoute.name, + path: 'mb-detail', + parent: AuthenticatedRouteWrapper.name, + ), + RouteConfig( + MBHistoryBookRoute.name, + path: 'mb-history', + parent: AuthenticatedRouteWrapper.name, + ), + RouteConfig( + MBMusterScreenRoute.name, + path: 'mb-muster-screen', + parent: AuthenticatedRouteWrapper.name, + ), + RouteConfig( + MBTypeConfirmationRoute.name, + path: 'mb-type-confirmation', + parent: AuthenticatedRouteWrapper.name, + ), + RouteConfig( + WorkOderInboxRoute.name, + path: 'workOrder-inbox', + parent: AuthenticatedRouteWrapper.name, + ), + RouteConfig( + WorkOrderDetailRoute.name, + path: 'workOrder-details', + parent: AuthenticatedRouteWrapper.name, + ), + RouteConfig( + WOFilterRoute.name, + path: 'wo-filter', + parent: AuthenticatedRouteWrapper.name, + ), ], ), ]; @@ -835,3 +961,255 @@ class MyServiceRequestsRoute extends PageRouteInfo { static const String name = 'MyServiceRequestsRoute'; } + +/// generated route for +/// [MeasurementBookInboxPage] +class MeasurementBookInboxRoute extends PageRouteInfo { + const MeasurementBookInboxRoute() + : super( + MeasurementBookInboxRoute.name, + path: 'measurement-inbox', + ); + + static const String name = 'MeasurementBookInboxRoute'; +} + +/// generated route for +/// [MBFilterPage] +class MBFilterRoute extends PageRouteInfo { + const MBFilterRoute() + : super( + MBFilterRoute.name, + path: 'mb-filter', + ); + + static const String name = 'MBFilterRoute'; +} + +/// generated route for +/// [MBDetailPage] +class MBDetailRoute extends PageRouteInfo { + MBDetailRoute({ + Key? key, + required String contractNumber, + required String mbNumber, + String? tenantId, + required MBScreen type, + }) : super( + MBDetailRoute.name, + path: 'mb-detail', + args: MBDetailRouteArgs( + key: key, + contractNumber: contractNumber, + mbNumber: mbNumber, + tenantId: tenantId, + type: type, + ), + ); + + static const String name = 'MBDetailRoute'; +} + +class MBDetailRouteArgs { + const MBDetailRouteArgs({ + this.key, + required this.contractNumber, + required this.mbNumber, + this.tenantId, + required this.type, + }); + + final Key? key; + + final String contractNumber; + + final String mbNumber; + + final String? tenantId; + + final MBScreen type; + + @override + String toString() { + return 'MBDetailRouteArgs{key: $key, contractNumber: $contractNumber, mbNumber: $mbNumber, tenantId: $tenantId, type: $type}'; + } +} + +/// generated route for +/// [MBHistoryBookPage] +class MBHistoryBookRoute extends PageRouteInfo { + MBHistoryBookRoute({ + Key? key, + required String contractNumber, + required String mbNumber, + String? tenantId, + required MBScreen type, + }) : super( + MBHistoryBookRoute.name, + path: 'mb-history', + args: MBHistoryBookRouteArgs( + key: key, + contractNumber: contractNumber, + mbNumber: mbNumber, + tenantId: tenantId, + type: type, + ), + ); + + static const String name = 'MBHistoryBookRoute'; +} + +class MBHistoryBookRouteArgs { + const MBHistoryBookRouteArgs({ + this.key, + required this.contractNumber, + required this.mbNumber, + this.tenantId, + required this.type, + }); + + final Key? key; + + final String contractNumber; + + final String mbNumber; + + final String? tenantId; + + final MBScreen type; + + @override + String toString() { + return 'MBHistoryBookRouteArgs{key: $key, contractNumber: $contractNumber, mbNumber: $mbNumber, tenantId: $tenantId, type: $type}'; + } +} + +/// generated route for +/// [MBMusterScreenPage] +class MBMusterScreenRoute extends PageRouteInfo { + MBMusterScreenRoute({ + Key? key, + required String tenantId, + required String musterRollNumber, + }) : super( + MBMusterScreenRoute.name, + path: 'mb-muster-screen', + args: MBMusterScreenRouteArgs( + key: key, + tenantId: tenantId, + musterRollNumber: musterRollNumber, + ), + ); + + static const String name = 'MBMusterScreenRoute'; +} + +class MBMusterScreenRouteArgs { + const MBMusterScreenRouteArgs({ + this.key, + required this.tenantId, + required this.musterRollNumber, + }); + + final Key? key; + + final String tenantId; + + final String musterRollNumber; + + @override + String toString() { + return 'MBMusterScreenRouteArgs{key: $key, tenantId: $tenantId, musterRollNumber: $musterRollNumber}'; + } +} + +/// generated route for +/// [MBTypeConfirmationPage] +class MBTypeConfirmationRoute + extends PageRouteInfo { + MBTypeConfirmationRoute({ + Key? key, + required NextActions? nextActions, + String? contractNumber, + String? mbNumber, + required MBScreen type, + StateActions? stateActions, + }) : super( + MBTypeConfirmationRoute.name, + path: 'mb-type-confirmation', + args: MBTypeConfirmationRouteArgs( + key: key, + nextActions: nextActions, + contractNumber: contractNumber, + mbNumber: mbNumber, + type: type, + stateActions: stateActions, + ), + ); + + static const String name = 'MBTypeConfirmationRoute'; +} + +class MBTypeConfirmationRouteArgs { + const MBTypeConfirmationRouteArgs({ + this.key, + required this.nextActions, + this.contractNumber, + this.mbNumber, + required this.type, + this.stateActions, + }); + + final Key? key; + + final NextActions? nextActions; + + final String? contractNumber; + + final String? mbNumber; + + final MBScreen type; + + final StateActions? stateActions; + + @override + String toString() { + return 'MBTypeConfirmationRouteArgs{key: $key, nextActions: $nextActions, contractNumber: $contractNumber, mbNumber: $mbNumber, type: $type, stateActions: $stateActions}'; + } +} + +/// generated route for +/// [WorkOderInboxPage] +class WorkOderInboxRoute extends PageRouteInfo { + const WorkOderInboxRoute() + : super( + WorkOderInboxRoute.name, + path: 'workOrder-inbox', + ); + + static const String name = 'WorkOderInboxRoute'; +} + +/// generated route for +/// [WorkOrderDetailPage] +class WorkOrderDetailRoute extends PageRouteInfo { + const WorkOrderDetailRoute() + : super( + WorkOrderDetailRoute.name, + path: 'workOrder-details', + ); + + static const String name = 'WorkOrderDetailRoute'; +} + +/// generated route for +/// [WOFilterPage] +class WOFilterRoute extends PageRouteInfo { + const WOFilterRoute() + : super( + WOFilterRoute.name, + path: 'wo-filter', + ); + + static const String name = 'WOFilterRoute'; +} diff --git a/frontend/works_shg_app/lib/services/urls.dart b/frontend/works_shg_app/lib/services/urls.dart index c0b711d384..005393982c 100644 --- a/frontend/works_shg_app/lib/services/urls.dart +++ b/frontend/works_shg_app/lib/services/urls.dart @@ -9,6 +9,9 @@ class Urls { static WorkServices workServices = const WorkServices(); static ORGServices orgServices = const ORGServices(); static BillServices billServices = const BillServices(); + static MeasurementService measurementService= const MeasurementService(); + static EmpHrms empHrms =const EmpHrms(); + static EstimateService estimateService = const EstimateService(); } class CommonServices { @@ -33,39 +36,50 @@ class ORGServices { class BillServices { const BillServices(); - String get searchMyBills => '/mukta-expense-calculator/v1/_search'; + String get searchMyBills => '/expense-calculator/v1/_search'; } class WageSeekerServices { const WageSeekerServices(); - - String get individualCreate => 'mukta-individual/v1/_create'; +// unified-qa + // String get individualCreate => 'mukta-individual/v1/_create'; + String get individualCreate => 'individual/v1/_create'; String get bankCreate => '/bankaccount-service/bankaccount/v1/_create'; + + String get adharVerifyUrl=>'http://164.100.141.79/authekycv4/api/authenticate'; } class InitServices { const InitServices(); String get mdms => 'egov-mdms-service/v1/_search'; + String get mdmsSkill=>"mdms-v2/v1/_search"; String get localizationSearch => 'localization/messages/v1/_search'; + String get empHomeConfig=>'access/v1/actions/mdms/_get'; } class UserServices { const UserServices(); String get authenticate => 'user/oauth/token'; String get resetPassword => 'user/password/nologin/_update'; - String get otpResetPassword => 'mukta-user-otp/v1/_send'; + String get otpResetPassword => 'user-otp/v1/_send'; String get userSearchProfile => 'user/_search'; String get editProfile => 'user/profile/_update'; String get changePassword => 'user/password/_update'; - String get sendOtp => 'mukta-user-otp/v1/_send'; + String get sendOtp => 'user-otp/v1/_send'; String get logOut => 'user/_logout'; } class WorkServices { const WorkServices(); - String get myWorks => 'mukta-contract/v1/_search'; - String get updateWorkOrder => 'mukta-contract/v1/_update'; - String get createWorkOrder => 'mukta-contract/v1/_create'; + String get myWorks => 'contract/v1/_search'; + String get updateWorkOrder => 'contract/v1/_update'; + String get createWorkOrder => 'contract/v1/_create'; +} + +class EmpHrms { + const EmpHrms(); + String get leadHrmsEmployee => 'egov-hrms/employees/_search'; + } class MusterRollServices { @@ -84,6 +98,28 @@ class AttendanceRegisterServices { String get createAttendanceLog => 'attendance/log/v1/_create'; String get updateAttendanceLog => 'attendance/log/v1/_update'; String get deEnrollAttendee => 'attendance/attendee/v1/_delete'; - String get individualSearch => 'mukta-individual/v1/_search'; - String get wmsIndividualSearch => 'wms/mukta-individual/_search'; + String get individualSearch => 'individual/v1/_search'; + String get wmsIndividualSearch => 'wms/individual/_search'; +} + + + + +class MeasurementService{ + const MeasurementService(); + + String get measurementInbox=>'inbox/v2/_search'; + String get measurementDetail=>"mukta-services/measurement/_search"; + String get updateMeasurement => "measurement-service/v1/_update"; + String get createMeasurement=>"measurement-service/v1/_create"; +} + +//estimate/v1/_search + + +class EstimateService{ + const EstimateService(); + + String get estimateSearch=>'estimate/v1/_search'; + } diff --git a/frontend/works_shg_app/lib/utils/Toast/toaster.dart b/frontend/works_shg_app/lib/utils/Toast/toaster.dart index 13f7b4003a..cf1f7890c1 100644 --- a/frontend/works_shg_app/lib/utils/Toast/toaster.dart +++ b/frontend/works_shg_app/lib/utils/Toast/toaster.dart @@ -15,7 +15,7 @@ class ToastUtils { _overlayEntry = createOverlayEntry(context, message, type); Overlay.of(context)!.insert(_overlayEntry!); - toastTimer = Timer(const Duration(seconds: 5), () { + toastTimer = Timer(const Duration(seconds: 20), () { if (_overlayEntry != null) { _overlayEntry!.remove(); } diff --git a/frontend/works_shg_app/lib/utils/common_methods.dart b/frontend/works_shg_app/lib/utils/common_methods.dart index eee77cd1b4..d4203c95db 100644 --- a/frontend/works_shg_app/lib/utils/common_methods.dart +++ b/frontend/works_shg_app/lib/utils/common_methods.dart @@ -11,6 +11,7 @@ import 'package:package_info_plus/package_info_plus.dart'; import 'package:root_checker_plus/root_checker_plus.dart'; import 'package:universal_html/html.dart' as html; import 'package:url_launcher/url_launcher.dart'; +import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/data/schema/localization.dart'; import 'package:works_shg_app/services/local_storage.dart'; @@ -150,12 +151,16 @@ class CommonMethods { } void onTapOfAttachment( - FileStoreModel store, String tenantId, BuildContext context) async { + FileStoreModel store, String tenantId, BuildContext context, + { RoleType roleType=RoleType.cbo}) async { var random = Random(); List? file = await CoreRepository().fetchFiles( - [store.fileStoreId.toString()], - GlobalVariables.organisationListModel!.organisations!.first.tenantId - .toString()); + [store.fileStoreId.toString()], + roleType == RoleType.cbo + ? GlobalVariables.organisationListModel!.organisations!.first.tenantId + .toString() + : tenantId, + ); var fileName = CommonMethods.getExtension(file!.first.url.toString()); CoreRepository().fileDownload(file.first.url.toString(), '${random.nextInt(200)}${random.nextInt(100)}$fileName'); @@ -196,7 +201,7 @@ class CommonMethods { static getConvertedLocalizedCode(String type, {String subString = ''}) { switch (type) { case 'city': - return GlobalVariables + return GlobalVariables.tenantId ?? GlobalVariables .organisationListModel!.organisations!.first.tenantId .toString() .toUpperCase() @@ -204,12 +209,14 @@ class CommonMethods { case 'ward': case 'locality': - return '${GlobalVariables.organisationListModel!.organisations!.first.tenantId.toString().toUpperCase().replaceAll('.', '_')}_ADMIN_${subString.toUpperCase()}'; + return '${GlobalVariables.tenantId!=null?GlobalVariables.tenantId.toString().toUpperCase().replaceAll('.', '_') : GlobalVariables.organisationListModel!.organisations!.first.tenantId.toString().toUpperCase().replaceAll('.', '_')}_ADMIN_${subString.toUpperCase()}'; } } static String getLocaleModules() { - return 'rainmaker-common,rainmaker-common-masters,rainmaker-contracts,rainmaker-expenditure,rainmaker-workflow,rainmaker-attendencemgmt,rainmaker-${GlobalVariables.organisationListModel!.organisations!.first.tenantId.toString()},rainmaker-${GlobalVariables.stateInfoListModel!.code.toString()}'; + return GlobalVariables.roleType == RoleType.cbo + ? 'rainmaker-common,rainmaker-common-masters,rainmaker-contracts,rainmaker-expenditure,rainmaker-workflow,rainmaker-attendencemgmt,rainmaker-${GlobalVariables.organisationListModel!.organisations!.first.tenantId.toString()},rainmaker-${GlobalVariables.stateInfoListModel!.code.toString()}' + : 'rainmaker-contracts,rainmaker-measurement,rainmaker-common,rainmaker-common-masters,rainmaker-expenditure,rainmaker-workflow,rainmaker-attendencemgmt,rainmaker-${GlobalVariables.stateInfoListModel!.code.toString()}'; } static DateTime firstDayOfWeek(DateTime date) { @@ -232,8 +239,7 @@ class CommonMethods { // For Sunday as endDay date.add(Duration(days: DateTime.daysPerWeek - currentDay + 1)); return endDayOfWeek; } - - static initilizeHiveBox() async { + static initilizeHiveBox() async { await Hive.initFlutter(); Hive.registerAdapter(KeyLocaleModelAdapter()); diff --git a/frontend/works_shg_app/lib/utils/constants.dart b/frontend/works_shg_app/lib/utils/constants.dart index a36ba6f90c..646512d18c 100644 --- a/frontend/works_shg_app/lib/utils/constants.dart +++ b/frontend/works_shg_app/lib/utils/constants.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; enum LanguageEnum { en_IN, or_IN } class Constants { + static const String deleteIcon='assets/svg/delete.svg'; static const String mdmsApiEndPoint = 'egov-mdms-service/v1/_search'; static final navKey = GlobalKey(); static const userMobileNumberKey = 'mobileNumber'; @@ -15,6 +16,10 @@ class Constants { static const String rejected = 'REJECTED'; static const String sentBack = 'SENTBACKTOCBO'; static const muktaIcon = 'assets/svg/mukta.svg'; + static const mbIcon = 'assets/svg/menu_book.svg'; + static const workOrderIcon = 'assets/svg/workorderInbox.svg'; + static const doubleArrow ='assets/svg/double_arrow.svg'; + static const sort ='assets/svg/sort.svg'; static const devAssets = 'https://s3.ap-south-1.amazonaws.com/works-dev-asset/worksGlobalConfig.json'; static const qaAssets = @@ -39,6 +44,8 @@ class Constants { static const approvedKey = 'APPROVED'; static const tenantIdKey = 'tenantId'; static const inWorkFlowKey = 'INWORKFLOW'; + static const verifyAdhar="SUCCESS"; + static const saveAsDraft="SAVE_AS_DRAFT"; } final scaffoldMessengerKey = GlobalKey(); diff --git a/frontend/works_shg_app/lib/utils/employee/mb/mb_logic.dart b/frontend/works_shg_app/lib/utils/employee/mb/mb_logic.dart new file mode 100644 index 0000000000..e1ab2b2530 --- /dev/null +++ b/frontend/works_shg_app/lib/utils/employee/mb/mb_logic.dart @@ -0,0 +1,993 @@ +// ignore_for_file: public_member_api_docs, sort_constructors_first + +import 'package:collection/collection.dart'; +import 'package:works_shg_app/models/muster_rolls/muster_workflow_model.dart'; +import 'dart:async'; +import 'dart:convert'; +import '../../../models/employee/mb/filtered_Measures.dart'; +import '../../../models/employee/mb/mb_detail_response.dart'; +import '../../../models/employee/mb/mb_inbox_response.dart'; + +enum MBScreen { create, update } + +class MBLogic { +// start experiment + + static List formContract( + {required MBDetailResponse mbDetailResponse}) { + // List s = getContract( + // mbDetailResponse!.contract!.lineItems!.first.contractLineItemRef!, + // mbDetailResponse, + // ); + List s = + mbDetailResponse.contract!.lineItems!.map((e) { + FilteredMeasurementsContract filteredMeasurementsContract = + FilteredMeasurementsContract( + contractAdditionalDetails: + mbDetailResponse.contract?.additionalDetails, + estimateId: e.estimateId, + estimateLineItemId: e.estimateLineItemId, + contractLineItemRef: e.contractLineItemRef, + unitRate: e.unitRate, + status: e.status, + // estimates: mbDetailResponse.estimate?.estimateDetails + // ?.map((e) { + // if (e.sorId != null) { + // FilteredMeasurementsEstimate + // filteredMeasurementsEstimate = + // FilteredMeasurementsEstimate( + // id: e.id, + // sorId: e.sorId, + // category: e.category, + // name: e.name, + // description: e.description, + // unitRate: e.unitRate, + // noOfunit: e.noOfunit != null + // ? double.parse( + // (e.noOfunit!.toDouble()).toStringAsFixed(2)) + // : 0, + // uom: e.uom, + // length: e.length != null ? e.length!.toInt() : 0, + // width: e.width != null ? e.width!.toInt() : 0, + // height: e.height != null ? e.height!.toInt() : 0, + // quantity: + // e.quantity != null ? e.quantity!.toInt() : 0, + // isDeduction: e.isDeduction, + // ); + + // return filteredMeasurementsEstimate; + // } + // }) + // .toList() + // .whereNotNull() + // .toList() ?? + // [] + + estimates: getEstimate(e.estimateLineItemId!, mbDetailResponse)); + + return filteredMeasurementsContract; + }).toList(); + + FilteredMeasurements sata = FilteredMeasurements( + totalAmount: 0.0, + totalNorSorAmount: 0.0, + totalSorAmount: 0.0, + musterRollNumber: null, + mbNumber: null, + wfStatus: null, + tenantId: mbDetailResponse!.contract!.tenantId, + endDate: mbDetailResponse.period?.endDate ?? 0, + startDate: mbDetailResponse.period?.startDate ?? 0, + entryDate: DateTime.now().millisecondsSinceEpoch, + referenceId: mbDetailResponse!.contract!.contractNumber, + id: null, + physicalRefNumber: null, + measures: mbDetailResponse.contract!.lineItems!.mapIndexed((index, e) { + FilteredMeasurementsMeasure filteredMeasurementsMeasure = + FilteredMeasurementsMeasure( + contracts: + getContract(e.contractLineItemRef!, mbDetailResponse), + length: 0.0, + breath: 0.0, + height: 0.0, + numItems: 0.0, + cumulativeValue: 0.0, + currentValue: 0.0, + tenantId: + mbDetailResponse!.contract!.lineItems!.first.tenantId!, + mbAmount: 0.0, + targetId: e.contractLineItemRef, + isActive: null, + id: "${e.contractLineItemRef}$index", + // measureLineItems: e!.estimates!?.mapIndexed((index, e) { + // MeasureLineItem sk = MeasureLineItem( + // width: e.width ?? 0.0, + // height: e.height ?? 0.0, + // length: e.length ?? 0.0, + // number: 0.0, + // quantity: 0.0, + // measurelineitemNo: index, + // ); + + // return sk; + // }).toList() + + measureLineItems: [ + const MeasureLineItem( + width: 0.0, + height: 0.0, + length: 0.0, + number: 0.0, + quantity: 0.0, + measurelineitemNo: 0, + ), + ]); + + return filteredMeasurementsMeasure; + }).toList(), + documents: null); + + return [sata]; + } + +// end + static List getMeasureList({ + required MBDetailResponse mbDetailResponse, + required MBScreen type, + }) { + final List allMeasurements = mbDetailResponse.allMeasurements + is List + ? (mbDetailResponse.allMeasurements as List).map((item) { + if (item is Map) { + return Measurement( + id: item['id'], + tenantId: item['tenantId'], + measurementNumber: item['measurementNumber'], + physicalRefNumber: item['physicalRefNumber'], + referenceId: item['referenceId'], + entryDate: item['entryDate'], + isActive: item['isActive'], + wfStatus: item['wfStatus'], + auditDetails: AuditDetails( + createdBy: item['auditDetails']['createdBy'], + lastModifiedBy: item['auditDetails']['lastModifiedBy'], + createdTime: item['auditDetails']['createdTime'], + lastModifiedTime: item['auditDetails']['lastModifiedTime'], + ), + additionalDetail: MeasurementAdditionalDetail( + endDate: item['additionalDetails'] == null + ? 0 + : item['additionalDetails']['endDate'], + sorAmount: item['additionalDetails'] == null + ? 0.0 + : double.parse( + item['additionalDetails']['sorAmount'].toString()) + .toDouble(), + startDate: item['additionalDetails'] == null + ? 1 + : item['additionalDetails']['startDate'], + totalAmount: item['additionalDetails'] == null + ? 0.0 + : double.parse(item['additionalDetails']['totalAmount'] + .toString()) + .toDouble(), + nonSorAmount: item['additionalDetails'] == null + ? 0.0 + : double.parse(item['additionalDetails']['nonSorAmount'] + .toString()) + .toDouble(), + musterRollNumber: item['additionalDetails'] == null + ? null + : item['additionalDetails']['musterRollNumber'], + ), + measures: (item['measures'] as List) + .map( + (e) => Measure.fromJson(e as Map)) + .toList(), + documents: (item['documents'] as List) + .map((e) => + WorkflowDocument.fromJson(e as Map)) + .toList(), + ); + } else { + // Assuming there's a conversion method or constructor for Measurement + return Measurement.fromJson(item as Map); + } + }).toList() + : []; + + final data = allMeasurements.mapIndexed((index, e) { + FilteredMeasurements datak = FilteredMeasurements( + documents: e.documents?.mapIndexed((index,e) => WorkflowDocument( + documentType: e.documentType, + documentUid: e.documentUid, + documentAdditionalDetails: e.documentAdditionalDetails, + fileStore: e.fileStore, + fileStoreId: e.fileStoreId, + id: e.id, + tenantId: e.tenantId, + isActive: true, + indexing: (index+1) + + )).toList(), + id: e.id, + totalSorAmount: e.additionalDetail?.sorAmount ?? 0.0, + totalNorSorAmount: e.additionalDetail?.nonSorAmount ?? 0.0, + totalAmount: e.additionalDetail?.totalAmount ?? 0.0, + endDate: e.additionalDetail?.endDate ?? + (mbDetailResponse.period?.endDate ?? 00), + startDate: e.additionalDetail?.startDate ?? + (mbDetailResponse.period?.startDate ?? 00), + entryDate: (e.entryDate != 0 && e.entryDate != null) + ? e.entryDate + : DateTime.now().millisecondsSinceEpoch, + physicalRefNumber: e.physicalRefNumber, + referenceId: e.referenceId, + // to be chnaged + //musterRollNumber: e.additionalDetail?.musterRollNumber ?? "", + // musterRollNumber: mbDetailResponse.musterRolls?.first.musterRollNumber??"", + musterRollNumber: mbDetailResponse.musterRolls is List + // ? (mbDetailResponse.musterRolls as List>).firstWhere( + // (m) => m['startDate'] == e.additionalDetail?.startDate, + // orElse: () => null, + + // )['startDate'] + ? convertList( + mbDetailResponse.musterRolls, e.additionalDetail?.startDate) + : null, + mbNumber: e.measurementNumber, + wfStatus: e.wfStatus, + tenantId: e.tenantId, + measures: e.measures?.map((e) { + FilteredMeasurementsMeasure filteredMeasurementsMeasure = + FilteredMeasurementsMeasure( + mbAmount: e.measureAdditionalDetails?.mbAmount, + type: e.measureAdditionalDetails?.type, + length: e.length, + breath: e.breadth, + height: e.height, + numItems: e.numItems, + currentValue: e.currentValue, + cumulativeValue: e.cumulativeValue, + tenantId: e.targetId, + targetId: e.targetId, + isActive: e.isActive, + id: e.id, + contracts: getContract( + e.targetId!, + mbDetailResponse, + ), + measureLineItems: e.measureAdditionalDetails != null + ? (e.measureAdditionalDetails!.measureLineItems != null && + e.measureAdditionalDetails!.measureLineItems! + .isNotEmpty) + ? e.measureAdditionalDetails!.measureLineItems!.map((e) { + // if (index == 0 && type == MBScreen.create) { + // MeasureLineItem measureLineItem = MeasureLineItem( + // width: 0.0, + // height: 0.0, + // length: 0.0, + // number: 0.0, + // quantity: 0.0, + // measurelineitemNo: e.measurelineitemNo, + // ); + // return measureLineItem; + // } else { + // return e; + // } + return e; + }).toList() + // testing null pre[null] + : [ + const MeasureLineItem( + width: 0.0, + height: 0.0, + length: 0.0, + number: 0.0, + quantity: 0.0, + measurelineitemNo: 0, + ), + ] + // end + : null, + ); + + return filteredMeasurementsMeasure; + }).toList()); + + return datak; + }).toList(); + +// experiment + if (type == MBScreen.create) { + final ff = formContract(mbDetailResponse: mbDetailResponse); + + return [...ff, ...data.whereNotNull().toList() ?? []]; + } else { + return data.whereNotNull().toList() ?? []; + } + +// + // print(data); + //return data.whereNotNull().toList() ?? []; + } + + static List getContract( + String targetId, MBDetailResponse mb) { + final alldata = mb.contract?.lineItems?.map((e) { + if (e.contractLineItemRef == targetId) { + FilteredMeasurementsContract filteredMeasurementsContract = + FilteredMeasurementsContract( + contractAdditionalDetails: mb.contract?.additionalDetails, + estimateId: e.estimateId, + estimateLineItemId: e.estimateLineItemId, + contractLineItemRef: e.contractLineItemRef, + unitRate: e.unitRate, + status: e.status, + wfStatus: mb.contract?.wfStatus, + estimates: getEstimate(e.estimateLineItemId!, mb)); + + return filteredMeasurementsContract; + } + }).toList(); + return alldata!.whereNotNull().toList() ?? []; + } + + // estimate + + static List getEstimate( + String contractLineItemRef, MBDetailResponse mb) { + final alldata = mb.estimate?.estimateDetails?.mapIndexed((index, e) { + if (e.id == contractLineItemRef) { + FilteredMeasurementsEstimate filteredMeasurementsEstimate = + FilteredMeasurementsEstimate( + id: e.id, + //TODO:[hard code for non-sor id 45 then we are changing it to other mumber] + // previous code +//sorId: e.sorId, + //end of it + sorId: e.sorId == "45" ? (index + 1).toString() : e.sorId, + category: e.category, + name: e.name, + description: e.description, + unitRate: e.unitRate, + noOfunit: e.noOfunit != null + ? e.isDeduction == true + ? -double.parse((e.noOfunit!.toDouble()).toStringAsFixed(4)) + : double.parse((e.noOfunit!.toDouble()).toStringAsFixed(4)) + : 0, + uom: e.uom, + length: e.length != null ? e.length!.toInt() : 0, + width: e.width != null ? e.width!.toInt() : 0, + height: e.height != null ? e.height!.toInt() : 0, + quantity: e.quantity != null + ? e.quantity!.toDouble() + : e.noOfunit!.toDouble(), + isDeduction: e.isDeduction, + status: mb.estimate?.status, + wfStatus: mb.estimate?.wfStatus, + ); + + return filteredMeasurementsEstimate; + } + }).toList(); + + return alldata!.whereNotNull().toList() ?? []; + } + +// old +// static List>> getSors(List s) { +// // List sor = []; +// // List nonSor = []; +// List>> mark=[]; +// final k = s!.first!.measures; + +// for (int a = 0; a < s.length; a++) { +// List sor = []; +// List nonSor = []; + +// for (int i = 0; i < s[a].measures!.length; i++) { +// if (s[a].measures![i].contracts!.first.estimates!.first.category == "SOR") { +// sor.add(s[a].measures![i]); +// } else { +// nonSor.add(s[a].measures![i]); +// } +// } + +// List listSors = []; +// List listNonSors = []; + +// bool isObjectExists(String objectId) { +// return listSors.any((obj) => obj.sorId == objectId); +// } + +// void addObjectOrModify( +// String objectId, FilteredMeasurementsMeasure newobj, String type) { +// if (type == "NonSOR") { +// if (isObjectExists(objectId)) { +// SorObject existingObject = +// listNonSors.firstWhere((obj) => obj.sorId == objectId); + +// existingObject.filteredMeasurementsMeasure.add(newobj); +// } else { +// listNonSors.add( +// SorObject( +// filteredMeasurementsMeasure: [newobj], +// id: newobj.contracts!.first.estimates!.first.id, +// sorId: newobj.contracts!.first.estimates!.first.sorId, +// ), +// ); +// } +// } else { +// if (isObjectExists(objectId)) { +// SorObject existingObject = +// listSors.firstWhere((obj) => obj.sorId == objectId); + +// existingObject.filteredMeasurementsMeasure.add(newobj); +// } else { +// listSors.add( +// SorObject( +// filteredMeasurementsMeasure: [newobj], +// id: newobj.contracts!.first.estimates!.first.id, +// sorId: newobj.contracts!.first.estimates!.first.sorId, +// ), +// ); +// } +// } +// } + +// for (var obj in sor) { +// String mValue = obj!.contracts!.first.estimates!.first.sorId!; + +// addObjectOrModify(mValue, obj, "SOR"); +// } + +// // + +// //get nonSors + +// for (var obj in nonSor) { +// String mValue = obj!.contracts!.first.estimates!.first.sorId!; + +// addObjectOrModify(mValue, obj, "NonSOR"); +// } + +// // +// //return [listSors, listNonSors]; +// mark.add([listSors, listNonSors]); +// } +// return mark; +// } + +// // + + static List>> getSors(List s) { + List>> mark = []; + + for (int a = 0; a < s.length; a++) { + List sor = []; + List nonSor = []; + + for (int i = 0; i < s[a].measures!.length; i++) { + if (s[a].measures![i].contracts!.first.estimates != null && + s[a].measures![i].contracts!.first.estimates!.first.category != + null) { + if (s[a].measures![i].contracts!.first.estimates!.first.category == + "SOR") { + sor.add(s[a].measures![i]); + } else { + nonSor.add(s[a].measures![i]); + } + } + } + + List listSors = []; + List listNonSors = []; + + bool isObjectExists(String objectId, String type) { + List list = type == "NonSOR" ? listNonSors : listSors; + return list.any((obj) => obj.sorId == objectId); + } + + void addObjectOrModify( + String objectId, FilteredMeasurementsMeasure newobj, String type) { + List list = type == "NonSOR" ? listNonSors : listSors; + if (isObjectExists(objectId, type)) { + SorObject existingObject = + list.firstWhere((obj) => obj.sorId == objectId); + List mutableList = + List.from(existingObject.filteredMeasurementsMeasure); + mutableList.add(newobj); + int index = list.indexWhere((obj) => obj.sorId == objectId); + // list[index] = existingObject.updateFilteredMeasurementsMeasure(mutableList); + list[index] = SorObject( + sorId: existingObject.sorId, + id: existingObject.id, + filteredMeasurementsMeasure: mutableList, + ); + } else { + list.add( + SorObject( + filteredMeasurementsMeasure: [newobj], + id: newobj.contracts!.first.estimates!.first.id, + sorId: newobj.contracts!.first.estimates!.first.sorId, + ), + ); + } + } + + for (var obj in sor) { + String? mValue = obj.contracts!.first.estimates!.first.sorId; + if (mValue != null) { + addObjectOrModify(mValue, obj, "SOR"); + } + } + + for (var obj in nonSor) { + String? mValue = obj.contracts!.first.estimates!.first.sorId; + + if (mValue != null) { + addObjectOrModify(mValue, obj, "NonSOR"); + } + } + + mark.add([listSors, listNonSors]); + } + return mark; + } + + // to get + + static List getList(List sorObjects) { + List measureList = []; + + for (SorObject sorObject in sorObjects) { + for (FilteredMeasurementsMeasure measure + in sorObject.filteredMeasurementsMeasure) { + measureList.add(Measure( + description: measure.contracts?.first.estimates?.first.description, + comments: + null, // You can set comments to the appropriate value if available + targetId: measure.targetId, + breadth: measure.breath, + length: measure.length, + height: measure.height, + isActive: measure.isActive, + referenceId: measure.referenceId, + numItems: measure.numItems, + id: measure.id, + cumulativeValue: measure.cumulativeValue, + currentValue: measure.currentValue, + measureAdditionalDetails: MeasureAdditionalDetails( + type: measure.type, + mbAmount: measure.mbAmount, + measureLineItems: measure.measureLineItems, + ), + )); + } + } + + return measureList; + } + +// form payload for update MB + + static MBDetailResponse getMbPayloadUpdate({ + required List data, + required List> sorList, + required WorkFlow workFlow, + required MBScreen type, + }) { + MBDetailResponse sa = MBDetailResponse( + measurement: Measurement( + documents: data.first.documents?.map((e) => e).toList(), + id: data.first.id, + tenantId: data.first.tenantId, + measurementNumber: data.first.mbNumber, + physicalRefNumber: data.first.physicalRefNumber, + referenceId: data.first.referenceId, + entryDate: type == MBScreen.update + ? data.first.entryDate + : DateTime.now().millisecondsSinceEpoch, + isActive: true, + wfStatus: data.first.wfStatus, + workflow: workFlow, + additionalDetail: MeasurementAdditionalDetail( + endDate: data.first.endDate, + sorAmount: data.first.totalSorAmount, + nonSorAmount: data.first.totalNorSorAmount, + startDate: data.first.startDate, + musterRollNumber: [data.first.musterRollNumber.toString()], + totalAmount: data.first.totalAmount, + ), + measures: MBLogic.getList( + sorList.expand((element) => element).toList(), + ), + ), + ); + + return sa; + } + +// to map + + static Map measurementToMap(Measurement measurement) { + Map data = { + "documents": measurement.documents != null + ? measurement.documents!.map((e) { + return { + "isActive":e.isActive, + "fileStore": e.fileStore, + "id": e.id, + "documentUid": e.documentUid, + "documentType": e.documentType, + "additionalDetails": { + "fileName": e.documentAdditionalDetails != null + ? e.documentAdditionalDetails!.fileName ?? '' + : '', + "fileType": e.documentAdditionalDetails != null + ? e.documentAdditionalDetails!.fileType ?? '' + : '', + "tenantId": e.documentAdditionalDetails != null + ? e.documentAdditionalDetails!.tenantId ?? '' + : '' + } + }; + }).toList() + : [], + 'id': measurement.id, + 'tenantId': measurement.tenantId, + 'measurementNumber': measurement.measurementNumber, + 'entryDate': measurement.entryDate, + 'isActive': measurement.isActive, + 'wfStatus': measurement.wfStatus, + 'referenceId': measurement.referenceId, + 'physicalRefNumber': measurement.physicalRefNumber, + 'workflow': { + 'action': measurement.workflow?.action, + 'comments': measurement.workflow?.comment, + 'assignes': measurement.workflow?.assignees, + 'documents': measurement.workflow?.documents?.map((e) { + return { + "documentType": e.documentType, + "documentUid": e.documentUid, + "fileName": e.fileName, + "fileStoreId": e.fileStoreId, + "tenantId": e.tenantId + }; + }).toList() + }, + 'additionalDetails': { + 'endDate': measurement.additionalDetail?.endDate, + 'sorAmount': measurement.additionalDetail?.sorAmount, + 'startDate': measurement.additionalDetail?.startDate, + 'totalAmount': measurement.additionalDetail?.totalAmount, + 'nonSorAmount': measurement.additionalDetail?.nonSorAmount, + 'musterRollNumber': [measurement.additionalDetail?.musterRollNumber], + }, + 'measures': measurement.measures!.map((measure) { + return { + 'description': measure.description, + 'comments': measure.comments, + 'targetId': measure.targetId, + //TODO:[if the numItems is o.o then breath and height and length should be 0.0 and if numItems morethan 0.0 then length,breath and height should be 1] + // start of old code clean working + // 'breadth': measure.breadth, + // 'length': measure.length, + // 'height':measure.height, + // end of old code clean working + 'breadth': (measure.numItems == 0.0 ||measure.numItems! < 0.0) ? 0.0 : 1.0, + 'length': (measure.numItems == 0.0 ||measure.numItems! < 0.0) ? 0.0 : 1.0, + 'height': (measure.numItems == 0.0 ||measure.numItems! < 0.0) ? 0.0 : 1.0, + 'isActive': measure.isActive, + 'referenceId': measure.referenceId, + 'numItems': (measure.numItems! < 0.0)?(measure.numItems!*-1):measure.numItems, + 'id': measure.id, + 'cumulativeValue': measure.cumulativeValue, + 'currentValue': measure.currentValue, + 'additionalDetails': { + 'type': measure.measureAdditionalDetails?.type, + 'mbAmount': (measure.measureAdditionalDetails!.mbAmount!<0)?(measure.measureAdditionalDetails!.mbAmount!)*-1:measure.measureAdditionalDetails!.mbAmount, + 'measureLineItems': measureListFilter(measure), + }, + }; + }).toList(), + }; + + return data; + } + + // copywith + + static List updateMeasurementLine( + List sorObjects, + String sorId, + String filteredMeasurementsMeasureId, + int measurementLineIndex, + MeasureLineItem updatedMeasurementLine) { + return sorObjects.map((sorObject) { + if (sorObject.sorId == sorId) { + final List + updatedFilteredMeasurementsMeasureList = sorObject + .filteredMeasurementsMeasure + .map((filteredMeasurementsMeasure) { + if (filteredMeasurementsMeasure.id == filteredMeasurementsMeasureId) { + final List updatedMeasurementLineList = + filteredMeasurementsMeasure.measureLineItems! + .map((measurementLine) { + if (measurementLine.measurelineitemNo == measurementLineIndex) { + // MeasureLineItem ml= MeasureLineItem( + // width: + // ); + + return updatedMeasurementLine; + } + return measurementLine; + }).toList(); + + return filteredMeasurementsMeasure.copyWith( + measureLineItems: updatedMeasurementLineList, + ); + } + return filteredMeasurementsMeasure; + }).toList(); + + return sorObject.copyWith( + filteredMeasurementsMeasure: updatedFilteredMeasurementsMeasureList, + ); + } + return sorObject; + }).toList(); + } + + static List addMeasurementLine( + List sorObjects, + String sorId, + String filteredMeasurementsMeasureId, + int measurementLineIndex, + List updatedMeasurementLine, + ) { + return sorObjects.map((sorObject) { + if (sorObject.sorId == sorId) { + final List + updatedFilteredMeasurementsMeasureList = sorObject + .filteredMeasurementsMeasure + .map((filteredMeasurementsMeasure) { + if (filteredMeasurementsMeasure.id == filteredMeasurementsMeasureId) { + final List updatedMeasurementLineItems = + List.from(filteredMeasurementsMeasure.measureLineItems ?? []) + ..addAll(updatedMeasurementLine); + + return filteredMeasurementsMeasure.copyWith( + measureLineItems: updatedMeasurementLineItems, + ); + } + return filteredMeasurementsMeasure; + }).toList(); + + return sorObject.copyWith( + filteredMeasurementsMeasure: updatedFilteredMeasurementsMeasureList, + ); + } + return sorObject; + }).toList(); + } + +// Function to calculate total quantity and skip object at specified index + static double calculateTotalQuantityAndSkip( + List sorObjects, + String sorId, + String filteredMeasurementsMeasureId, + int measurementLineIndex, + ) { + double totalQuantity = 0.0; // Initialize total quantity + + for (var sorObject in sorObjects) { + if (sorObject.sorId == sorId) { + for (var filteredMeasurementsMeasure + in sorObject.filteredMeasurementsMeasure) { + if (filteredMeasurementsMeasure.id == filteredMeasurementsMeasureId) { + for (var measurementLine + in filteredMeasurementsMeasure.measureLineItems!) { + if (measurementLine.measurelineitemNo != measurementLineIndex) { + // Add quantity to totalQuantity + totalQuantity += + double.parse(measurementLine.quantity.toString()); + } + } + } + } + } + } + + // Return totalQuantity + return totalQuantity.toDouble(); + } + +// Function to calculate total quantity and object at specified index + static TotalEstimate calculateTotalQuantity( + List sorObjects, + String sorId, + String filteredMeasurementsMeasureId, + int measurementLineIndex, + ) { + List updatedSorObjects = []; + double totalAmount = 0.0; + for (SorObject sorObject in sorObjects) { + List updatedMeasures = []; + for (FilteredMeasurementsMeasure measure + in sorObject.filteredMeasurementsMeasure) { + double sum = 0.0; + for (int j = 0; j < measure.measureLineItems!.length; j++) { + sum += measure.contracts?.first.estimates?.first.isDeduction == true + ? -double.parse(measure.measureLineItems![j].quantity.toString()) + : double.parse(measure.measureLineItems![j].quantity.toString()); + } + // Create a new instance of FilteredMeasurementsMeasure with updated numItems + FilteredMeasurementsMeasure updatedMeasure = + FilteredMeasurementsMeasure( + length: measure.length, + breath: measure.breath, + height: measure.height, + numItems: sum, + cumulativeValue: measure.cumulativeValue, + currentValue: measure.currentValue, + tenantId: measure.tenantId, + mbAmount: double.parse( + (sum * measure.contracts!.first.unitRate!).toString()), + type: measure.type, + targetId: measure.targetId, + isActive: measure.isActive, + id: measure.id, + referenceId: measure.referenceId, + measureLineItems: measure.measureLineItems, + contracts: measure.contracts, + ); + totalAmount = totalAmount + + double.parse( + measure.contracts?.first.estimates?.first.isDeduction == true + ? (sum * measure.contracts!.first.unitRate!).toString() + : (sum * measure.contracts!.first.unitRate!).toString()); + updatedMeasures.add(updatedMeasure); + } + // Create a new SorObject instance with the updated list + SorObject updatedSorObject = SorObject( + // Copy other properties from sorObject if necessary + id: sorObject.id, + sorId: sorObject.sorId, + filteredMeasurementsMeasure: updatedMeasures, + // Add other properties from sorObject if necessary + ); + updatedSorObjects.add(updatedSorObject); + } + // return updatedSorObjects; + + return TotalEstimate(totalAmount, updatedSorObjects); + } + +// delete measurementLineItem from the list + + static List deleteMeasurementLine( + List sorObjects, + String sorId, + String filteredMeasurementsMeasureId, + int measurementLineIndex, + ) { + return sorObjects.map((sorObject) { + if (sorObject.sorId == sorId) { + final List + updatedFilteredMeasurementsMeasureList = sorObject + .filteredMeasurementsMeasure + .map((filteredMeasurementsMeasure) { + if (filteredMeasurementsMeasure.id == filteredMeasurementsMeasureId) { + // final List updatedMeasurementLineItems = List.from(filteredMeasurementsMeasure.measureLineItems ?? []); + + // // if (measurementLineIndex >= 0 && measurementLineIndex < updatedMeasurementLineItems.length) { + // // updatedMeasurementLineItems.removeAt(measurementLineIndex); + // // } + + final List updatedMeasurementLineItems = + (filteredMeasurementsMeasure.measureLineItems ?? []) + .where((item) => + item.measurelineitemNo != + measurementLineIndex) // Assuming MeasureLineItem has a name property + .toList(); + + // final List updatedMeasurementLineItemx= updatedMeasurementLineItems.mapIndexed((index,e){ + // return MeasureLineItem( + // width: e.width, + // height: e.height, + // length: e.length, + // number: e.number, + // quantity: e.quantity, + // measurelineitemNo: index, + // ); + // }).toList(); + + return filteredMeasurementsMeasure.copyWith( + measureLineItems: updatedMeasurementLineItems, + // measureLineItems: updatedMeasurementLineItemx, + ); + } + return filteredMeasurementsMeasure; + }).toList(); + + return sorObject.copyWith( + filteredMeasurementsMeasure: updatedFilteredMeasurementsMeasureList, + ); + } + return sorObject; + }).toList(); + } + + static String? convertList(List dynamicList, int? id) { + List> convertedList = []; + + for (var item in dynamicList) { + if (item is Map) { + convertedList.add(item); + } else { + // Handle cases where items in the dynamic list are not maps + // You might want to skip these or convert them if possible + } + } + if (id == null) { + return null; + } else { + Map? data = {}; + data = convertedList.firstWhereOrNull( + (element) => int.parse(element['startDate'].toString()) == id); + + return data == null ? null : data['musterRollNumber']; + } + } + + static List measureListFilter(Measure measure) { +// final List?> ?data=measure.measureAdditionalDetails!.measureLineItems?.map((item) { +// if(item.number!=0&&item.width!=0&&item.height!=0&&item.length!=0&&item.quantity!=0){ +// return { +// 'width': item.width, +// 'height': item.height, +// 'length': item.length, +// 'number': item.number, +// 'quantity': item.quantity, +// 'measurelineitemNo': item.measurelineitemNo, +// }; +// } +// }).toList(); + final List>? data = + measure.measureAdditionalDetails?.measureLineItems + ?.map((item) { + if (item.number != 0 && + item.width != 0 && + item.height != 0 && + item.length != 0 && + item.quantity != 0) { + return { + 'width': item.width, + 'height': item.height, + 'length': item.length, + 'number': item.number, + 'quantity': item.quantity, + 'measurelineitemNo': item.measurelineitemNo, + }; + } + return null; + }) + .where((element) => element != null) + .toList() + ?.cast>(); + + if (data == null || data.isEmpty) { + return []; + } else { + return data; + } + } +} + +class TotalEstimate { + final double totalAmount; + final List sorObjectList; + const TotalEstimate(this.totalAmount, this.sorObjectList); +} diff --git a/frontend/works_shg_app/lib/utils/employee/support_services.dart b/frontend/works_shg_app/lib/utils/employee/support_services.dart new file mode 100644 index 0000000000..acdd46c85d --- /dev/null +++ b/frontend/works_shg_app/lib/utils/employee/support_services.dart @@ -0,0 +1,54 @@ +import 'package:flutter/material.dart'; +import 'package:works_shg_app/widgets/mb/radio_button_sheet.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +enum SortType { mbSort, woSort } + +class Conversion { + static final sortMB = [ + SortObject(i18.common.slaDaysRemaining, 0), + SortObject(i18.measurementBook.workFlowState, 1), + SortObject(i18.measurementBook.amountLowToHigh, 2), + SortObject(i18.measurementBook.amountHighToLow, 3), + ]; + static final sortWorkOrder = [ + SortObject(i18.common.endDate, 0), + SortObject(i18.common.startDate, 1), + SortObject(i18.common.issuedDate, 2), + SortObject(i18.measurementBook.amountLowToHigh, 5), + SortObject(i18.measurementBook.amountHighToLow, 3), + SortObject(i18.measurementBook.cboName, 4), + ]; + + static String convertToTenant(String input) { + List parts = input.split('.'); + String result = + "TENANT_TENANTS_${parts.map((part) => part.toUpperCase()).join('_')}"; + return result; + } + + static String splitTenant(String input) { + List parts = input.split('.'); + String result = parts.map((part) => part.toUpperCase()).join('_'); + return result; + } + + static void openSortingModal(BuildContext context, + {required List listData, required SortType sortType}) { + showModalBottomSheet( + builder: (BuildContext context) { + return SizedBox( + height: (listData.length * 80), + width: MediaQuery.of(context).size.width, + child: Center( + child: MyBottomSheet( + dataList: listData, + sortType: sortType, + )), + ); + }, + context: context, + ); + } +} diff --git a/frontend/works_shg_app/lib/utils/global_variables.dart b/frontend/works_shg_app/lib/utils/global_variables.dart index 55acb0e011..5693b1e74f 100644 --- a/frontend/works_shg_app/lib/utils/global_variables.dart +++ b/frontend/works_shg_app/lib/utils/global_variables.dart @@ -4,6 +4,7 @@ import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart import 'package:flutter/foundation.dart'; import 'package:package_info_plus/package_info_plus.dart'; import 'package:universal_html/html.dart' as html; +import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/blocs/localization/selected_localization_model.dart'; import 'package:works_shg_app/models/app_config/app_config_model.dart'; import 'package:works_shg_app/models/init_mdms/global_config_model.dart'; @@ -104,6 +105,9 @@ class GlobalVariables { static String? authToken; static Map? userRequestModel; static Map downloadUrl = {}; + static RoleType roleType= RoleType.none; + static String? tenantId; + static Listroles=[]; } PackageInfo? packageInfo; diff --git a/frontend/works_shg_app/lib/utils/localization_constants/i18_key_constants.dart b/frontend/works_shg_app/lib/utils/localization_constants/i18_key_constants.dart index c52e90cbc5..eaeb9f04b8 100644 --- a/frontend/works_shg_app/lib/utils/localization_constants/i18_key_constants.dart +++ b/frontend/works_shg_app/lib/utils/localization_constants/i18_key_constants.dart @@ -8,6 +8,7 @@ WageSeeker wageSeeker = const WageSeeker(); AttendanceMgmt attendanceMgmt = const AttendanceMgmt(); MyBills myBills = const MyBills(); MyServiceRequests myServiceRequests = const MyServiceRequests(); +MeasurementBook measurementBook = const MeasurementBook(); class Login { const Login(); @@ -25,10 +26,18 @@ class Login { String get enteredMobileNotRegistered => 'ENTERED_MOBILE_NO_NOT_REGISTERED_AS_CBO'; String get pleaseEnterMobile => 'ENTER_REGISTERED_MOBILE'; + String get forgotPasswordMsg => "CORE_COMMON_FORGOT_MESSAGE"; } class Common { const Common(); + String get noFileSelected=>"WORKS_NO_FILE_SELECTED"; + String get comments=>"WF_COMMON_COMMENTS"; + String get photoInfo=>"WORKS_DOC_UPLOAD_HINT"; + String get searchCriteria=>"ES_COMMON_MIN_SEARCH_CRITERIA_MSG"; + String get workOrderNotFound=>"COMMON_WO_NOT_FOUND"; + String get notFound=>"ES_COMMON_NO_DATA"; + String get empLoginError=>"ES_INVALID_LOGIN_CREDENTIALS"; String get continueLabel => 'CORE_COMMON_CONTINUE'; String get nameLabel => 'CORE_COMMON_NAME'; String get continueToLogin => 'CONTINUE_TO_LOGIN'; @@ -148,6 +157,16 @@ class Common { String get noValue => 'ES_COMMON_NA'; String get noOrgLinkedWithMob => 'ES_COMMON_NO_ORG_LINKED_WITH_MOBILE_NUMBER'; String get takeAction => 'ES_COMMON_TAKE_ACTION'; + String get assignee => "COMMON_ASSIGNEE"; + String get commonWorkflowStates => "COMMON_WORKFLOW_STATES"; + String get supportingDocumentHeader => "WORKFLOW_MODAL_UPLOAD_FILES"; + String get date => "ES_COMMON_DATE"; + String get filter => "ES_COMMON_FILTER"; + String get musterRollId => "ES_COMMON_MUSTER_ROLL_ID"; + String get allFieldsMandatory => + "ES_COMMON_PLEASE_ENTER_ALL_MANDATORY_FIELDS"; + String get slaDaysRemaining => "COMMON_SLA_DAYS"; + String get issuedDate => "WORKS_CONTRACT_ISSUE_DATE"; } class Home { @@ -213,6 +232,11 @@ class WorkOrder { String get errTimeExtReqAlreadyRaised => 'ERR_TIME_EXT_REQ_ALREADY_RAISED'; String get closureRequests => 'WORKS_CLOSURE_REQUESTS'; String get timeExtRequests => 'WORKS_TIME_EXT_REQUESTS'; + + String get estimateRevisionError=>"WORKS_REVISION_ESTIMATE_IN_WORKFLOW_CREATE_MEASUREMENT"; + String get timeExtensionError=>"WORKS_TIME_EXTENSION_IN_WORKFLOW_CREATE_MEASUREMENT"; + String get existingMBCreateError=>"MB_EXISTING_IN_WORKFLOW_CREATE_MEASUREMENT"; + } class MyBills { @@ -271,6 +295,20 @@ class WageSeeker { String get pinCodeValidation => 'COMMON_PINCODE_VALIDATION'; String get maxStreetCharacters => 'MAX_STREET_NAME_CHARACTERS'; String get maxDoorNoCharacters => 'MAX_DOOR_NO_CHARACTERS'; + + // wage seeker indentification flow + + String get identificationHeader => 'WAGE_SEEKER_IDENTIFICATION_HEADER'; + String get personalDetailHeader => 'WAGE_SEEKER_PERSONAL_DETAIL_HEADER'; + String get identityDocumentLabel => 'WAGE_SEEKER_IDENTITY_DOCUMENT_LABEL'; + String get identityNumberLabel => 'WAGE_SEEKER_IDENTITY_NUMBER_LABEL'; + String get identityNameLabel => 'WAGE_SEEKER_IDENTITY_NAME_LABEL'; + String get adharValidate => 'AADHAAR_VALIDATE'; + String get adharVerifySuccess => 'WAGE_SEEKER_AADHAAR_VERIFY_SUCCESS'; + String get adharVerifyError => 'WAGE_SEEKER_AADHAAR_VERIFY_ERROR'; + String get adharVerifyFailed => 'WAGE_SEEKER_AADHAAR_VERIFY_FAILED'; + String get individualSkillHeader => 'WAGE_SEEKER_SKILL_DETAIL_HEADER'; + String get individualPhotoHeader => 'WAGE_SEEKER_PHOTO_DETAIL_HEADER'; } class AttendanceMgmt { @@ -340,3 +378,98 @@ class MyServiceRequests { String get editAction => 'WF_CONTRACT_ACTION_EDIT'; String get noServiceRequests => 'SR_NO_SERVICE_REQUEST_FOUND'; } + +class MeasurementBook { + const MeasurementBook(); + + String get measurementBookTitle => "MEASUREMENT_BOOK_TITLE"; + String get primaryDetails => "PRIMARY_DETAILS"; + String get mbNumber => "MB_NUMBER"; + String get mbSlaDaysRemaining => "MB_SLA_DAYS_REMAINING"; + String get mbShowHistory => "MB_SHOW_HISTORY"; + String get mbWorksitePhotos => "MB_WORKSITE_PHOTOS"; + String get mbNonSor => "MB_NONSOR"; + String get mbSor => "MB_SORS"; + String get projectName => "MB_PROJECT_NAME"; + String get workflowState => "MB_WORKFLOW_STATE"; + String get mbAmount => "MB_AMOUNT"; + String get assignedToAll => "MB_ASSIGNED_TO_ALL"; + String get unit => "MB_UNIT"; + String get description => "MB_DESCRIPTION"; + String get rate => "MB_RATE"; + String get approvedQty => "MB_APPROVER_QUANT"; + String get consumedQty => "MB_CONSUMED_QUANT"; + String get mbStatus => "MB_STATUS"; + String get mbHistory => "MB_HISTORY"; + String get workOrderNumber => "MB_SEARCH_REFERENCE_NUMBER"; + String get measurementPeriod => "MB_MEASUREMENT_PERIOD"; + String get yes=>"MB_YES"; + String get no=>"MB_NO"; + String get widthLabel=>"MB_WIDTH"; + String get lengthLabel=>"MB_LENGTH"; + + String get quantityLabel=>"MB_QUANTITY"; + + // I updated + String get totalSorAmount => "MB_TOTAL_SOR_AMT"; + String get forCurrentEntry => "MB_FOR_CURRENT_ENTRY"; + String get totalNonSorAmount => "MB_TOTAL_NON_SOR_AMT"; + String get totalMbAmount => "MB_TOTAL_MB_AMT"; + String get openMbBook => "MB_OPEN_BOOK"; + String get currentMBEntry => "CURRENT_MB_ENTRY"; + String get mbAmtCurrentEntry => "MB_AMT_CURRENT_ENTRY"; + String get mbAction => "MB_ACTION"; + String get projectDescription => "MB_PROJECT_DESC"; + String get mbWorkflowState => "MB_WORKFLOW_STATUS"; + String get mbInbox => "MB_INBOX"; + + String get createMb => "MB_BUTTON_LEVEL_CREATE"; + String get sort => "MB_SORT"; + String get backToTop => "MB_BACK_TO_TOP"; + String get workOrderInbox => "MB_WORK_ORDER_INBOX"; + String get filter => "MB_FILTER"; + String get clear => "MB_CLEAR"; + String get numberLabel=>"MB_LABEL_NUMBER"; + +// sort + + + String get workFlowState => "WORK_FLOW_STATE"; + String get amountLowToHigh => "AMOUNT_LOW_HIGH"; + String get amountHighToLow => "AMOUNT_HIGH_LOW"; + + String get cboName => "CBO_NAME"; + String get sortBy => "SORT_BY"; + String get mbQtyErrMsg=>"MB_MEASUREMENT_QTY_ERROR"; + String get isDeduction=>"MB_IS_DEDUCTION"; + String get item=>"MB_ITEM"; +String get heightLabel=>"MB_LABEL_HEIGHT"; +String get addMeasurement=>"MB_ADD_MEASUREMENT"; + + String get workOrderNumberInbox=>"MB_WORK_ORDER_NUMBER"; + String get cboRole=>"CBO_ROLE"; + String get officerInChargeName=>"OFFICER_INCHARGE"; + String get workValue=>"MB_WORK_VALUE"; + String get workSitePhotos=>"MB_WORK_SITE_PHOTO"; + String get noDocumentFound=>"NO_DOCUMENT_FOUND"; + String get delete=>"MB_DELETE"; + String get preConsumedKey=>"MB_CONSUMED_QUANT_KEY"; + String get preConsumedPre=>"MB_CONSUMED_QUANT_KEY_PRE"; + String get mbWorkOrderLabel=>"MB_WORK_ORDERS"; + String get mbMeasurementNumber=>"ACTION_TEST_5MEASUREMENT"; + String get mbCbo=>"MB_CBO"; + String get mbEmployee=>"MB_EMPLOYEE"; + String get mbPhotoInfo=>"MEASUREMENT_UPLOAD_BANNER_LABEL"; + String get searchHint=>"MB_SEARCH_HINT"; + String get projectId=>"MB_PROJECT_ID"; + String get projectType=>"MB_PROJECT_TYPE"; + String get mbcreateLabel=>"WORKS_SUBMIT_MEASUREMENT"; + String get mbSubmitLabel=>"WORKS_MB_FORWARD"; + String get mbCancel=>"WORKS_MB_CANCEL"; + String get noService=>"NO_SERVICE_AVAILABLE"; + String get infoImageTip=>"INFO_CARD_IMAGE"; + String get mbNotFound=>"MB_NUMBER_NOT_FOUND"; + String get imageLimit=>"MB_IMGAE_LIMIT"; + String get imageSize=>"MB_FILE_SIZE"; + +} diff --git a/frontend/works_shg_app/lib/utils/models/file_picker_data.dart b/frontend/works_shg_app/lib/utils/models/file_picker_data.dart index 5b346fec72..8ab7a37992 100644 --- a/frontend/works_shg_app/lib/utils/models/file_picker_data.dart +++ b/frontend/works_shg_app/lib/utils/models/file_picker_data.dart @@ -4,4 +4,4 @@ import 'dart:typed_data'; class FilePickerData { static File? imageFile; static Uint8List? bytes; -} +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/widgets/Back.dart b/frontend/works_shg_app/lib/widgets/Back.dart index 69a19fdc6d..d22ef0ce4d 100644 --- a/frontend/works_shg_app/lib/widgets/Back.dart +++ b/frontend/works_shg_app/lib/widgets/Back.dart @@ -20,7 +20,7 @@ class Back extends StatelessWidget { return BlocBuilder( builder: (context, state) { return Padding( - padding: const EdgeInsets.only(top: 16.0), + padding: const EdgeInsets.only(top: 16.0,left: 0.0), child: Row( mainAxisAlignment: widget == null ? MainAxisAlignment.start diff --git a/frontend/works_shg_app/lib/widgets/SideBar.dart b/frontend/works_shg_app/lib/widgets/SideBar.dart index 15abade292..8441b348eb 100644 --- a/frontend/works_shg_app/lib/widgets/SideBar.dart +++ b/frontend/works_shg_app/lib/widgets/SideBar.dart @@ -1,3 +1,216 @@ +// import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; +// import 'package:flutter/material.dart'; +// import 'package:flutter_bloc/flutter_bloc.dart'; +// import 'package:works_shg_app/blocs/auth/auth.dart'; +// import 'package:works_shg_app/icons/shg_icons.dart'; +// import 'package:works_shg_app/router/app_router.dart'; +// import 'package:works_shg_app/utils/constants.dart'; +// import 'package:works_shg_app/utils/global_variables.dart'; +// import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' +// as i18; + +// import '../blocs/app_initilization/app_initilization.dart'; +// import '../blocs/localization/app_localization.dart'; +// import '../blocs/localization/localization.dart'; +// import '../blocs/organisation/org_search_bloc.dart'; +// import '../models/organisation/organisation_model.dart'; + +// class SideBar extends StatefulWidget { +// final String module; +// const SideBar( +// {super.key, +// this.module = +// 'rainmaker-common,rainmaker-attendencemgmt,rainmaker-common-masters'}); +// @override +// State createState() { +// return _SideBar(); +// } +// } + +// class _SideBar extends State { +// List? digitRowCardItems; + +// @override +// void initState() { +// WidgetsBinding.instance.addPostFrameCallback((_) => afterViewBuild()); +// super.initState(); +// } + +// afterViewBuild() async { +// digitRowCardItems = await GlobalVariables.getLanguages(); +// } + +// @override +// dispose() { +// super.dispose(); +// } + +// @override +// Widget build(BuildContext buildContext) { +// final theme = DigitTheme.instance; + +// return BlocBuilder( +// builder: (context, localeState) { +// return localeState.maybeMap( +// orElse: () => const SizedBox.shrink(), +// loaded: (value) { +// return ScrollableContent( +// footer: const PoweredByDigit(), +// children: [ +// BlocBuilder( +// builder: (context, orgState) { +// return orgState.maybeWhen( +// orElse: () => Container(), +// loading: () => SizedBox( +// height: MediaQuery.of(buildContext).size.height / 3, +// child: Loaders.circularLoader(context)), +// loaded: (OrganisationListModel? organisationListModel) { +// return organisationListModel?.organisations != null +// ? Container( +// width: MediaQuery.of(buildContext).size.width, +// height: +// MediaQuery.of(buildContext).size.height / 3, +// color: const DigitColors().quillGray, +// child: Column( +// mainAxisAlignment: MainAxisAlignment.center, +// children: [ +// Text( +// organisationListModel! +// .organisations!.first.name +// .toString(), +// style: theme +// .mobileTheme.textTheme.headlineMedium +// ?.apply( +// color: const DigitColors().black), +// ), +// Text( +// organisationListModel +// .organisations! +// .first +// .contactDetails! +// .first +// .contactMobileNumber +// .toString(), +// style: theme +// .mobileTheme.textTheme.bodyMedium +// ?.apply( +// color: +// const DigitColors().davyGray), +// ), +// ], +// ), +// ) +// : Container(); +// }); +// }), +// Row( +// children: [ +// context.router.currentPath == '/home' +// ? Container( +// alignment: Alignment.centerLeft, +// height: 60, +// width: 9, +// color: const DigitColors().burningOrange, +// ) +// : const SizedBox.shrink(), +// Expanded( +// child: DigitIconTile( +// title: AppLocalizations.of(context) +// .translate(i18.common.home), +// selected: context.router.currentPath == '/home', +// icon: Icons.home, +// onPressed: () => +// context.router.replace(const HomeRoute()), +// ), +// ), +// ], +// ), +// DigitIconTile( +// title: +// AppLocalizations.of(context).translate(i18.common.language), +// icon: SHGIcons.language, +// content: Padding( +// padding: const EdgeInsets.all(16), +// child: BlocBuilder( +// builder: (context, state) { +// return state.digitRowCardItems != null && +// state.isInitializationCompleted +// ? DigitRowCard( +// onChanged: (data) async { +// context.read().add( +// LocalizationEvent +// .onSpecificLoadLocalization( +// locale: data.value, +// module: widget.module, +// tenantId: state +// .initMdmsModel! +// .commonMastersModel! +// .stateInfoListModel! +// .first +// .code +// .toString(), +// ), +// ); +// }, +// rowItems: value.languages +// ?.map((e) => +// DigitRowCardModel.fromJson(e.toJson())) +// .toList() as List, +// width: 80) +// : const Text(''); +// }, +// ), +// ), +// onPressed: () {}, +// ), +// Row( +// children: [ +// context.router.currentPath.contains('orgProfile') +// ? Container( +// alignment: Alignment.centerLeft, +// height: 50, +// width: 9, +// color: const DigitColors().burningOrange, +// ) +// : const SizedBox.shrink(), +// Expanded( +// child: DigitIconTile( +// title: AppLocalizations.of(context) +// .translate(i18.common.orgProfile), +// selected: +// context.router.currentPath.contains('orgProfile'), +// icon: Icons.perm_contact_cal_sharp, +// onPressed: () { +// context.router.push(const ORGProfileRoute()); +// }), +// ), +// ], +// ), +// DigitIconTile( +// title: +// AppLocalizations.of(context).translate(i18.common.logOut), +// icon: Icons.logout, +// onPressed: () { +// context.read().add( +// AppInitializationSetupEvent( +// selectedLang: LanguageEnum.en_IN.name)); +// context.read().add(const AuthLogoutEvent()); +// }), +// ], +// ); +// }, +// loading: (value) { +// return Loaders.circularLoader(context); +// }, +// ); +// }); +// } +// } + +// + import 'package:digit_components/digit_components.dart'; import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; import 'package:flutter/material.dart'; @@ -58,52 +271,103 @@ class _SideBar extends State { return ScrollableContent( footer: const PoweredByDigit(), children: [ - BlocBuilder( - builder: (context, orgState) { - return orgState.maybeWhen( - orElse: () => Container(), - loading: () => SizedBox( - height: MediaQuery.of(buildContext).size.height / 3, - child: Loaders.circularLoader(context)), - loaded: (OrganisationListModel? organisationListModel) { - return organisationListModel?.organisations != null - ? Container( - width: MediaQuery.of(buildContext).size.width, - height: - MediaQuery.of(buildContext).size.height / 3, - color: const DigitColors().quillGray, - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - organisationListModel! - .organisations!.first.name - .toString(), - style: theme - .mobileTheme.textTheme.headlineMedium - ?.apply( - color: const DigitColors().black), - ), - Text( - organisationListModel - .organisations! - .first - .contactDetails! - .first - .contactMobileNumber - .toString(), - style: theme - .mobileTheme.textTheme.bodyMedium - ?.apply( - color: - const DigitColors().davyGray), - ), - ], + BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () { + return const SizedBox.shrink(); + }, + loaded: (value) { + if (value.roleType == RoleType.cbo) { + return BlocBuilder( + builder: (context, orgState) { + return orgState.maybeWhen( + orElse: () => Container(), + loading: () => SizedBox( + height: + MediaQuery.of(buildContext).size.height / + 3, + child: Loaders.circularLoader(context)), + loaded: (OrganisationListModel? + organisationListModel) { + return organisationListModel?.organisations != + null + ? Container( + width: MediaQuery.of(buildContext) + .size + .width, + height: MediaQuery.of(buildContext) + .size + .height / + 3, + color: const DigitColors().quillGray, + child: Column( + mainAxisAlignment: + MainAxisAlignment.center, + children: [ + Text( + organisationListModel! + .organisations!.first.name + .toString(), + style: theme.mobileTheme.textTheme + .headlineMedium + ?.apply( + color: const DigitColors() + .black), + ), + Text( + organisationListModel + .organisations! + .first + .contactDetails! + .first + .contactMobileNumber + .toString(), + style: theme.mobileTheme.textTheme + .bodyMedium + ?.apply( + color: const DigitColors() + .davyGray), + ), + ], + ), + ) + : Container(); + }); + }); + } else { + return Container( + width: MediaQuery.of(buildContext).size.width, + height: MediaQuery.of(buildContext).size.height / 3, + color: const DigitColors().quillGray, + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + value.userDetailsModel?.userRequestModel?.name + .toString() ?? + '', + style: theme + .mobileTheme.textTheme.headlineMedium + ?.apply(color: const DigitColors().black), + ), + Text( + value.userDetailsModel?.userRequestModel + ?.mobileNumber + .toString() ?? + '', + style: theme.mobileTheme.textTheme.bodyMedium + ?.apply( + color: const DigitColors().davyGray), ), - ) - : Container(); - }); - }), + ], + ), + ); + } + }, + ); + }, + ), Row( children: [ context.router.currentPath == '/home' @@ -175,17 +439,19 @@ class _SideBar extends State { color: const DigitColors().burningOrange, ) : const SizedBox.shrink(), - Expanded( - child: DigitIconTile( - title: AppLocalizations.of(context) - .translate(i18.common.orgProfile), - selected: - context.router.currentPath.contains('orgProfile'), - icon: Icons.perm_contact_cal_sharp, - onPressed: () { - context.router.push(const ORGProfileRoute()); - }), - ), + GlobalVariables.roleType == RoleType.cbo + ? Expanded( + child: DigitIconTile( + title: AppLocalizations.of(context) + .translate(i18.common.orgProfile), + selected: context.router.currentPath + .contains('orgProfile'), + icon: Icons.perm_contact_cal_sharp, + onPressed: () { + context.router.push(const ORGProfileRoute()); + }), + ) + : const SizedBox.shrink(), ], ), DigitIconTile( @@ -193,9 +459,6 @@ class _SideBar extends State { AppLocalizations.of(context).translate(i18.common.logOut), icon: Icons.logout, onPressed: () { - context.read().add( - AppInitializationSetupEvent( - selectedLang: LanguageEnum.en_IN.name)); context.read().add(const AuthLogoutEvent()); }), ], diff --git a/frontend/works_shg_app/lib/widgets/atoms/app_bar_logo.dart b/frontend/works_shg_app/lib/widgets/atoms/app_bar_logo.dart index 62a55e612c..d2ba033dc9 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/app_bar_logo.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/app_bar_logo.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/utils/global_variables.dart'; class AppBarLogo extends StatelessWidget { @@ -23,6 +24,8 @@ class AppBarLogo extends StatelessWidget { child: Column( children: [ Text( + GlobalVariables.roleType==RoleType.employee? + GlobalVariables.userRequestModel!['name']: GlobalVariables.organisationListModel != null ? GlobalVariables.organisationListModel?.organisations ?.first.name ?? @@ -35,6 +38,8 @@ class AppBarLogo extends StatelessWidget { textAlign: TextAlign.start, ), Text( + GlobalVariables.roleType==RoleType.employee? + GlobalVariables.userRequestModel!['userName'].toString(): GlobalVariables.organisationListModel?.organisations?.first .orgNumber ?? '', diff --git a/frontend/works_shg_app/lib/widgets/atoms/attachments.dart b/frontend/works_shg_app/lib/widgets/atoms/attachments.dart index 5df7b67732..e08426b9b0 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/attachments.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/attachments.dart @@ -1,5 +1,6 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; +import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; import 'package:works_shg_app/utils/global_variables.dart'; @@ -40,10 +41,15 @@ class Attachments extends StatelessWidget { .map((e) => InkWell( onTap: () => CommonMethods().onTapOfAttachment( e, - e.tenantId ?? + e.tenantId==null? + GlobalVariables.roleType==RoleType.employee? + GlobalVariables.tenantId!: GlobalVariables.stateInfoListModel!.code - .toString(), - context), + .toString():e.tenantId!, + // "od.testing", + context, + roleType: GlobalVariables.roleType==RoleType.employee?RoleType.employee:RoleType.cbo + ), child: Container( width: 50, margin: const EdgeInsets.symmetric( diff --git a/frontend/works_shg_app/lib/widgets/atoms/digit_timeline.dart b/frontend/works_shg_app/lib/widgets/atoms/digit_timeline.dart index 26adc74695..4518946d1d 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/digit_timeline.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/digit_timeline.dart @@ -134,12 +134,27 @@ class DigitTimeline extends StatelessWidget { : const SizedBox.shrink(), timelineOptions[index].comments != null && timelineOptions[index].comments!.isNotEmpty - ? Text( - timelineOptions[index].comments ?? '', - style: TextStyle( - fontSize: 14, - fontWeight: FontWeight.w400, - color: const DigitColors().davyGray), + ? Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + AppLocalizations.of(context) + .translate(i18.common.comments), + style: DigitTheme.instance.mobileTheme + .textTheme.headlineSmall + ?.apply( + color: const DigitColors().black), + textAlign: TextAlign.left, + ), + Text( + timelineOptions[index].comments ?? '', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w400, + color: const DigitColors().davyGray), + ), + ], ) : const SizedBox.shrink(), timelineOptions[index].documents != null && diff --git a/frontend/works_shg_app/lib/widgets/common_info_card.dart b/frontend/works_shg_app/lib/widgets/common_info_card.dart new file mode 100644 index 0000000000..eee1b5e811 --- /dev/null +++ b/frontend/works_shg_app/lib/widgets/common_info_card.dart @@ -0,0 +1,29 @@ +import 'package:flutter/material.dart'; + +class CommonInfoCard extends StatelessWidget { + final double? cardWidth; + final Widget widget; + + final Color color; + const CommonInfoCard({ + super.key, + this.cardWidth, + required this.color, + required this.widget + }); + + @override + Widget build(BuildContext context) { + return Container( + + width: cardWidth ?? MediaQuery.of(context).size.width, + height: 50, + decoration: BoxDecoration( + color: color, + border: Border.all(width: 0, color: color), + borderRadius: const BorderRadius.all(Radius.circular(5)), + ), + child: widget, + ); + } +} diff --git a/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart b/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart new file mode 100644 index 0000000000..ebbab333c6 --- /dev/null +++ b/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart @@ -0,0 +1,89 @@ +import 'package:digit_components/theme/digit_theme.dart'; +import 'package:digit_components/widgets/digit_elevated_button.dart'; +import 'package:flutter/material.dart'; +import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +class FloatActionCard extends StatelessWidget { + final VoidCallback openButtonSheet; + final VoidCallback actions; + final String totalAmountText; + final String? subtext; + final String amount; + final bool showAction; + const FloatActionCard({super.key, required this.openButtonSheet, required this.actions, required this.totalAmountText, this.subtext, required this.amount, required this.showAction}); + + @override + Widget build(BuildContext context) { + var t = AppLocalizations.of(context); + return Card( + // color: Colors.grey, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + ), + + // margin: const EdgeInsets.symmetric(horizontal: 8), + child: SizedBox( + height: 160, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Center( + child: SizedBox( + width: 100, + child: Divider( + thickness: 5, + ), + ), + ), + GestureDetector( + onTap: openButtonSheet, + child: Container( + height: 80, + width: MediaQuery.sizeOf(context).width, + padding: const EdgeInsets.symmetric( + horizontal: 16, vertical: 0.0), + // decoration: BoxDecoration( + // border: Border.all(color: Colors.grey), + // borderRadius: BorderRadius.circular(8), + // ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + RichText( + text: TextSpan( + text: '$totalAmountText \n', + style: DigitTheme.instance.mobileTheme.textTheme + .headlineMedium, + children: [ + TextSpan( + text: subtext??"", + style: DigitTheme.instance.mobileTheme + .textTheme.bodySmall, + ) + ]), + ), + Text( + amount, + style: DigitTheme + .instance.mobileTheme.textTheme.headlineMedium, + ), + ], + ), + ), + ), + showAction? + DigitElevatedButton( + onPressed: actions, + child: Text(t.translate(i18.measurementBook.mbAction),),):const SizedBox.shrink(), + ], + ), + ))); + } +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart b/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart new file mode 100644 index 0000000000..4a770d6324 --- /dev/null +++ b/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart @@ -0,0 +1,95 @@ +import 'package:digit_components/digit_components.dart'; +import 'package:flutter/material.dart'; +import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; +import 'package:works_shg_app/widgets/molecules/mb/table_form_data.dart'; + +class CommonMBCard extends StatelessWidget { + final String? headLabel; + final Map items; + final Widget? widget; + final int? sla; + final bool show; + final EdgeInsets? padding; + const CommonMBCard({ + super.key, + this.headLabel, + required this.items, + this.widget, + this.sla, + required this.show, + this.padding, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + var t = AppLocalizations.of(context); + return Card( + child: Padding( + padding: padding ?? + const EdgeInsets.only(left: 8.0, right: 8.0, bottom: 8.0, top: 0.0), + child: Column( + crossAxisAlignment: widget != null + ? CrossAxisAlignment.start + : CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + headLabel != null + ? Text( + headLabel!, + style: DigitTheme + .instance.mobileTheme.textTheme.headlineMedium, + ) + : const SizedBox.shrink(), + TableFormCard( + element: items, + ), + show + ? Container( + padding: const EdgeInsets.only(bottom: 6), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + width: MediaQuery.of(context).size.width / 2, + child: Text( + t.translate(i18.measurementBook.mbSlaDaysRemaining), + style: theme.textTheme.headline5, + textAlign: TextAlign.start, + ), + ), + const SizedBox(width: 0), + Flexible( + child: Padding( + padding: const EdgeInsets.only(top: 1.4), + child: Container( + padding: const EdgeInsets.only( + left: 12, right: 12, top: 4, bottom: 4), + color: sla! < 0 + ? Colors.red.shade100 + : const DigitColors().paleLeafGreen, + child: Text( + sla.toString(), + style: DigitTheme + .instance.mobileTheme.textTheme.bodySmall! + .copyWith( + color: sla! < 0 + ? const DigitColors().lavaRed + : const DigitColors().darkSpringGreen, + ), + ), + ), + )), + ], + ), + ) + : const SizedBox.shrink(), + widget ?? const SizedBox.shrink() + ], + ), + ), + ); + } +} diff --git a/frontend/works_shg_app/lib/widgets/mb/multi_image.dart b/frontend/works_shg_app/lib/widgets/mb/multi_image.dart new file mode 100644 index 0000000000..71c2cdf5cb --- /dev/null +++ b/frontend/works_shg_app/lib/widgets/mb/multi_image.dart @@ -0,0 +1,569 @@ +// ignore_for_file: public_member_api_docs, sort_constructors_first +import 'dart:io'; + +import 'package:digit_components/theme/colors.dart'; +import 'package:file_picker/file_picker.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:path/path.dart' as path; +import 'package:works_shg_app/blocs/employee/mb/mb_detail_view.dart'; + +import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/models/muster_rolls/muster_workflow_model.dart'; +import 'package:works_shg_app/utils/common_methods.dart'; +import 'package:works_shg_app/utils/employee/mb/mb_logic.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +import '../../data/repositories/core_repo/core_repository.dart'; +import '../../models/file_store/file_store_model.dart'; +import '../../utils/notifiers.dart'; + +enum MediaType { mbDetail, mbConfim } + +class FilePickerDemo extends StatefulWidget { + final Function(List?, List?) callBack; + final String? moduleName; + final List? extensions; + final GlobalKey? contextKey; + final MediaType headerType; + final List? fromServerFile; + + const FilePickerDemo( + {Key? key, + required this.callBack, + this.moduleName, + this.extensions, + this.contextKey, + required this.headerType, + this.fromServerFile}) + : super(key: key); + @override + FilePickerDemoState createState() => FilePickerDemoState(); +} + +class FilePickerDemoState extends State { + List _selectedFiles = []; + final List _fileStoreList = []; + String? _extension; + final bool _multiPick = true; + final FileType _pickingType = FileType.custom; + final TextEditingController _controller = TextEditingController(); + final ImagePicker _picker = ImagePicker(); + FileUploadStatus fileUploading = FileUploadStatus.NOT_ACTIVE; + List ss = []; + + @override + void initState() { + super.initState(); + if (widget.fromServerFile != null || widget.fromServerFile == []) { + for (var element in widget.fromServerFile!) { + // _selectedFiles.add( + // DraftModeImage( + // name: (element as WorkflowDocument) + // .documentAdditionalDetails! + // .fileName!) + // ); + + _selectedFiles.add(element); + + ss.add(element); + } + // _selectedFiles.addAll(widget.fromServerFile!); + } + _controller.addListener(() => _extension = _controller.text); + } + + void _openFileExplorer() async { + try { + var paths = (await FilePicker.platform.pickFiles( + type: _pickingType, + allowMultiple: _multiPick, + allowedExtensions: widget.extensions ?? + ((_extension?.isNotEmpty ?? false) + ? _extension?.replaceAll(' ', '').split(',') + : null), + )) + ?.files; + + if (paths != null) { + var isNotValidSize = false; + for (var path in paths) { + if (!(await CommonMethods.isValidFileSize(path.size))) + isNotValidSize = true; + if (isNotValidSize) { + widget.headerType == MediaType.mbDetail + ? Notifiers.getToastMessage( + context, i18.measurementBook.imageSize, 'ERROR') + : Notifiers.getToastMessage( + context, i18.common.accountType, 'ERROR'); + return; + } + } + + if (_multiPick) { + if ((_selectedFiles + .where((element) => element.isActive == true) + .length! + + paths.length) > + 5) { + Notifiers.getToastMessage( + context, i18.measurementBook.imageLimit, 'ERROR'); + return; + } else { + // _selectedFiles.addAll(paths); + } + } else { + // _selectedFiles = paths; + } + + List files = []; + if (!kIsWeb) { + files = paths.map((e) => File(e.path ?? '')).toList(); + } + + if (_selectedFiles.where((element) => element.isActive == true).length > + 5 || + files.length > 5) { + Notifiers.getToastMessage( + context, i18.measurementBook.imageLimit, 'ERROR'); + return; + } else { + uploadFiles(files); + } + } + } on PlatformException catch (e) { + print("Unsupported operation" + e.toString()); + } catch (ex) { + print(ex); + } + if (!mounted) return; + setState(() {}); + } + + uploadFiles(List files) async { + try { + setState(() { + fileUploading = FileUploadStatus.STARTED; + }); + _fileStoreList.clear(); + var response = + await CoreRepository().uploadFiles(files, widget.moduleName!); + setState(() { + fileUploading = FileUploadStatus.COMPLETED; + }); + _fileStoreList.addAll(response); + // if (_selectedFiles.isNotEmpty) { +//Listss=[]; + ss.clear(); + for (int i = 0; i < _fileStoreList.length; i++) { + ss.add(WorkflowDocument( + indexing: _selectedFiles.isEmpty + ? 0 + : (_selectedFiles.last.indexing! + 1), + isActive: true, + tenantId: _fileStoreList[i].tenantId, + fileStore: _fileStoreList[i].fileStoreId, + documentType: path.extension(files[i].path), + documentUid: path.basename(files[i].path), + documentAdditionalDetails: DocumentAdditionalDetails( + fileName: path.basename(files[i].path), + fileType: "img_measurement_book", + tenantId: _fileStoreList[i].tenantId, + ))); + _selectedFiles.add(WorkflowDocument( + indexing: _selectedFiles.isEmpty + ? 0 + : (_selectedFiles.last.indexing! + 1), + isActive: true, + tenantId: _fileStoreList[i].tenantId, + fileStore: _fileStoreList[i].fileStoreId, + documentType: path.extension(files[i].path), + documentUid: path.basename(files[i].path), + documentAdditionalDetails: DocumentAdditionalDetails( + fileName: path.basename(files[i].path), + fileType: "img_measurement_book", + tenantId: _fileStoreList[i].tenantId, + ))); + } + + widget.callBack(_fileStoreList, _selectedFiles); + // } + } catch (e) { + setState(() { + fileUploading = FileUploadStatus.NOT_ACTIVE; + }); + Notifiers.getToastMessage(context, e.toString(), 'ERROR'); + } + } + + void _clearCachedFiles() { + FilePicker.platform.clearTemporaryFiles().then((result) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + backgroundColor: result! ? Colors.green : Colors.red, + content: Text((result + ? '${AppLocalizations.of(context).translate(i18.common.reEnterAccountNo)}' + : '${AppLocalizations.of(context).translate(i18.common.attachments)}')), + ), + ); + }); + } + + void _selectFolder() { + FilePicker.platform.getDirectoryPath().then((value) {}); + } + + _getConatiner(constraints, context, List filteredDocument) { + //final ListfilteredDocument=_selectedFiles.where((element) => element.isActive==true).toList(); + return [ + Container( + width: constraints.maxWidth > 760 + ? MediaQuery.of(context).size.width / 3 + : MediaQuery.of(context).size.width, + padding: const EdgeInsets.only(top: 18, bottom: 3), + child: Align( + alignment: Alignment.centerLeft, + child: Text( + widget.headerType == MediaType.mbDetail + ? "${AppLocalizations.of(context).translate(i18.measurementBook.workSitePhotos)}" + : "${AppLocalizations.of(context).translate(i18.common.supportingDocumentHeader)}", + textAlign: TextAlign.left, + style: TextStyle( + fontWeight: FontWeight.w400, + fontSize: 16, + color: widget.headerType == MediaType.mbDetail + ? const DigitColors().black + : const DigitColors().black, + ), + ), + ), + ), + Container( + width: constraints.maxWidth > 760 + ? MediaQuery.of(context).size.width / 2.5 + : MediaQuery.of(context).size.width, + height: 200, + decoration: BoxDecoration(border: Border.all(color: Colors.grey)), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Container( + margin: const EdgeInsets.only( + left: 4.0, right: 16.0, top: 4.0, bottom: 4.0), + alignment: Alignment.centerLeft, + child: ElevatedButton( + style: ButtonStyle( + padding: MaterialStateProperty.all( + const EdgeInsets.symmetric(horizontal: 15)), + backgroundColor: MaterialStateProperty.all( + const Color.fromARGB(255, 228, 223, 220)), + shape: + MaterialStateProperty.all( + const RoundedRectangleBorder( + borderRadius: BorderRadius.zero, + ), + )), + onPressed: () => selectDocumentOrImage(), + child: Text( + widget.headerType == MediaType.mbConfim || + widget.headerType == MediaType.mbDetail + ? "${AppLocalizations.of(context).translate(i18.common.chooseFile)}" + : "${AppLocalizations.of(context).translate(i18.common.accountNo)}", + //TODO:[level change] + // "Choose File", + style: TextStyle( + color: const DigitColors().burningOrange, + fontSize: 16), + ), + )), + _selectedFiles + .where((element) => element.isActive == true) + .toList() + .isNotEmpty + ? Expanded( + child: SingleChildScrollView( + child: Wrap( + direction: Axis.horizontal, + spacing: 3, + children: List.generate( + _selectedFiles + .where( + (element) => element.isActive == true) + .toList() + .length, + (index) => Wrap( + direction: Axis.horizontal, + crossAxisAlignment: + WrapCrossAlignment.center, + spacing: 2, + children: [ + Text( + filteredDocument[index] is File + ? (path.basename(filteredDocument[ + index] + .documentAdditionalDetails! + .fileName!)) + : filteredDocument[index] + .documentAdditionalDetails! + .fileName!, + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + IconButton( + padding: const EdgeInsets.all(5), + onPressed: () => onClickOfClear( + filteredDocument[index] + .indexing!), + icon: const Icon(Icons.cancel)) + ], + )).toList()), + ), + ) + : Text( + AppLocalizations.of(context) + .translate(i18.common.noFileSelected), + style: const TextStyle(color: Colors.black, fontSize: 16), + ), + Row( + children: [ + // Text("${AppLocalizations.of(context).translate(i18.common.backToHome)}",style: const TextStyle( + // color: Colors.black + // ),), + fileUploading == FileUploadStatus.STARTED + ? Transform.scale( + scale: 0.5, + child: const CircularProgressIndicator(), + ) + : fileUploading == FileUploadStatus.COMPLETED + ? Icon( + Icons.check_circle, + color: Theme.of(context).primaryColor, + ) + : const SizedBox(), + ], + ) + ], + )) + ]; + } + + void onClickOfClear(int id) { + // WorkflowDocument sk = _selectedFiles[index]; + // _selectedFiles[index] = WorkflowDocument( + // documentType: sk.documentType, + // documentUid: sk.documentUid, + // fileStore: sk.fileStore, + // fileStoreId: sk.fileStoreId, + // id: sk.id, + // tenantId: sk.tenantId, + // documentAdditionalDetails: sk.documentAdditionalDetails, + // isActive: false, + // ); + //_selectedFiles.removeAt(index); + // ss.removeAt(index); + int index = _selectedFiles.indexWhere((item) => item.indexing == id); + + // If the item is found, update its value + if (index != -1) { + _selectedFiles[index] = WorkflowDocument( + indexing: _selectedFiles[index].indexing, + documentType: _selectedFiles[index].documentType, + documentUid: _selectedFiles[index].documentUid, + fileStore: _selectedFiles[index].fileStore, + fileStoreId: _selectedFiles[index].fileStoreId, + id: _selectedFiles[index].id, + tenantId: _selectedFiles[index].tenantId, + documentAdditionalDetails: + _selectedFiles[index].documentAdditionalDetails, + isActive: false, + ); + } + + fileUploading = FileUploadStatus.NOT_ACTIVE; + if (index < _fileStoreList.length) _fileStoreList.removeAt(index); + +// setState(() { +// _selectedFiles=_selectedFiles; +// }); + widget.callBack(_fileStoreList, _selectedFiles); + } + + void reset() { + setState(() { + fileUploading = FileUploadStatus.NOT_ACTIVE; + }); + _selectedFiles.clear(); + _fileStoreList.clear(); + } + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) { + final List filteredDocument = _selectedFiles + .where((element) => element.isActive == true) + .toList(); + + return LayoutBuilder(builder: (context, constraints) { + return Center( + child: Padding( + padding: const EdgeInsets.only(left: 0.0, right: 0.0), + child: SingleChildScrollView( + child: Container( + key: widget.contextKey, + margin: constraints.maxWidth > 760 + ? const EdgeInsets.only( + top: 5.0, bottom: 5, right: 10, left: 10) + : const EdgeInsets.only( + top: 5.0, bottom: 5, right: 0, left: 0), + child: constraints.maxWidth > 760 + ? Row( + children: _getConatiner( + constraints, context, filteredDocument)) + : Column( + children: _getConatiner( + constraints, context, filteredDocument)), + ), + ))); + }); + }, + ); + }, + ); + } + + Future selectDocumentOrImage() async { + FocusScope.of(context).unfocus(); + var list = [ + {"label": i18.common.camera, 'icon': Icons.camera_alt}, + {"label": i18.common.fileManager, 'icon': Icons.drive_folder_upload}, + ]; + + if (kIsWeb) { + _openFileExplorer(); + return; + } + + callBack(String value) { + Navigator.pop(context); + if (list.first['label'] == value) { + imagePath(context, selectionMode: 'camera'); + } else { + imagePath(context, selectionMode: 'filePicker'); + } + } + + await showModalBottomSheet( + context: context, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(25.0)), + ), + builder: (BuildContext context) { + return Padding( + padding: + const EdgeInsets.only(bottom: 25, left: 25, right: 25, top: 10), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Container( + padding: const EdgeInsets.symmetric(vertical: 8), + alignment: Alignment.center, + child: Container( + height: 2, + width: 30, + color: Colors.grey, + ), + ), + Padding( + padding: const EdgeInsets.only(bottom: 16, top: 5), + child: Text( + AppLocalizations.of(context) + .translate(i18.common.chooseAnAction), + style: const TextStyle( + fontSize: 16, fontWeight: FontWeight.bold)), + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: list + .map((e) => _buildIcon(e['label'] as String, + e['icon'] as IconData, callBack)) + .toList()), + ]), + ); + }); + } + + Future imagePath(BuildContext context, + {required String selectionMode}) async { + FocusScope.of(context).unfocus(); + try { + if (selectionMode == 'camera') { + final pickedFile = await _picker.pickImage(source: ImageSource.camera); + if (pickedFile != null) { + String newPath = path.join(path.dirname(pickedFile.path), + '${CommonMethods.getRandomName()}${path.extension(pickedFile.path)}'); + final File file = await File(pickedFile.path).copy(newPath); + if (file != null) { + if (!(await CommonMethods.isValidFileSize(await file.length()))) { + Notifiers.getToastMessage(context, i18.common.fileSize, 'ERROR'); + return; + } + // if (_multiPick) { + // _selectedFiles.addAll([file]); + // } else { + // _selectedFiles = [file]; + // } + uploadFiles([file]); + return; + } else { + return; + } + } else { + _openFileExplorer(); + } + } else { + _openFileExplorer(); + } + } on Exception catch (e) { + Notifiers.getToastMessage(context, e.toString(), 'ERROR'); + } + } + + Widget _buildIcon(String label, IconData icon, Function(String) callBack) { + return Wrap( + direction: Axis.vertical, + crossAxisAlignment: WrapCrossAlignment.center, + alignment: WrapAlignment.center, + spacing: 8, + children: [ + IconButton( + onPressed: () => callBack(label), + iconSize: 45, + icon: Icon( + icon, + color: const DigitColors().burningOrange, + )), + Text( + AppLocalizations.of(context).translate(label), + textAlign: TextAlign.center, + style: const TextStyle(fontSize: 15), + ) + ], + ); + } +} + +class DraftModeImage { + String name; + DraftModeImage({ + required this.name, + }); +} diff --git a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart new file mode 100644 index 0000000000..3449b3f043 --- /dev/null +++ b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart @@ -0,0 +1,333 @@ +import 'dart:async'; +import 'package:digit_components/digit_components.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:flutter_svg/svg.dart'; +import 'package:works_shg_app/blocs/employee/mb/mb_detail_view.dart'; +import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/utils/constants.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +class MultiLineItems extends StatefulWidget { + final void Function(String?, dynamic) fieldValue; + final String? number; + final String? length; + final String? width; + final String? quantity; + final String? height; + final bool viewMode; + final String sorId; + final String type; + final int index; + final int measurementIndex; + final String filteredMeasurementMeasureId; + final int totalCount; + + const MultiLineItems({ + super.key, + this.height, + this.length, + this.number, + this.quantity, + this.width, + required this.fieldValue, + required this.viewMode, + required this.sorId, + required this.type, + required this.index, + required this.measurementIndex, + required this.filteredMeasurementMeasureId, + required this.totalCount, + }); + + @override + State createState() => _MultiLineItemsState(); +} + +class _MultiLineItemsState extends State { + late TextEditingController numberController; + late TextEditingController lengthController; + late TextEditingController widthController; + late TextEditingController heightController; + late TextEditingController quantityController; + late FocusNode numberFocusNode; + late FocusNode lengthFocusNode; + late FocusNode widthFocusNode; + late FocusNode heightFocusNode; + + @override + void initState() { + super.initState(); + + // Initialize text controllers and set initial values + numberController = TextEditingController( + text:checkValue(widget.number.toString()) + ); + lengthController = TextEditingController( + text: checkValue(widget.length.toString()) + ); + widthController = TextEditingController( + text: checkValue(widget.width.toString()) + ); + heightController = TextEditingController( + text: checkValue(widget.height.toString())); + + quantityController = TextEditingController( + text: checkValue(widget.quantity.toString()) + ); + + numberController.addListener(numberUpload); + lengthController.addListener(lengthUpload); + widthController.addListener(widthUpload); + heightController.addListener(heightUpload); + + numberFocusNode = FocusNode(); + lengthFocusNode = FocusNode(); + widthFocusNode = FocusNode(); + heightFocusNode = FocusNode(); + } + + String checkValue(String value) { + switch (value) { + case "0.0": + return ""; + case "0": + return ""; + case "0.000": + return ""; + + default: + return value; + } + } + + void numberUpload() { + final debouncer = Debouncer(milliseconds: 250); + + debouncer.run(() { + widget.fieldValue("Number", numberController.text); + }); + } + + void lengthUpload() { + final debouncer = Debouncer(milliseconds: 250); + debouncer.run(() { + widget.fieldValue("Length", lengthController.text); + }); + } + + void widthUpload() { + final debouncer = Debouncer(milliseconds: 250); + debouncer.run(() { + widget.fieldValue("Width", widthController.text); + }); + } + + void heightUpload() { + final debouncer = Debouncer(milliseconds: 250); + debouncer.run(() { + widget.fieldValue("Height", heightController.text); + }); + } + + @override + void didUpdateWidget(covariant MultiLineItems oldWidget) { + super.didUpdateWidget(oldWidget); + + if (!numberFocusNode.hasFocus && oldWidget.number != widget.number) { + numberController.text = checkValue(widget.number.toString()); + } + if (!lengthFocusNode.hasFocus && oldWidget.length != widget.length) { + lengthController.text = checkValue(widget.length.toString()); + } + if (!widthFocusNode.hasFocus && oldWidget.width != widget.width) { + widthController.text =checkValue( widget.width.toString()); + } + if (!heightFocusNode.hasFocus && oldWidget.height != widget.height) { + heightController.text = checkValue(widget.height.toString()); + } + } + + @override + void dispose() { + // Dispose text controllers + numberController.removeListener(numberUpload); + lengthController.removeListener(lengthUpload); + widthController.removeListener(widthUpload); + heightController.removeListener(heightUpload); + + numberController.dispose(); + lengthController.dispose(); + widthController.dispose(); + heightController.dispose(); + quantityController.dispose(); + + numberFocusNode.dispose(); + lengthFocusNode.dispose(); + widthFocusNode.dispose(); + heightFocusNode.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final t = AppLocalizations.of(context); + return Container( + width: MediaQuery.sizeOf(context).width, + decoration: BoxDecoration( + border: Border.all(color: Colors.grey), + borderRadius: BorderRadius.circular(5), + ), + padding: const EdgeInsets.all(8), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + (widget.totalCount != 1 && !widget.viewMode) + ? Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Directionality( + textDirection: TextDirection.rtl, + child: TextButton.icon( + style: TextButton.styleFrom( + padding: const EdgeInsets.all(0), + ), + onPressed: () { + context + .read() + .add(DeleteMeasurementLineEvent( + filteredMeasurementMeasureId: + widget.filteredMeasurementMeasureId, + index: widget.index, + measurementLineIndex: widget.measurementIndex, + sorId: widget.sorId, + type: widget.type, + )); + }, + icon: SvgPicture.asset(Constants.deleteIcon), + label: Text(t.translate(i18.measurementBook.delete)), + ), + ), + ], + ) + : const SizedBox.shrink(), + DigitTextField( + inputFormatter: [ + FilteringTextInputFormatter.allow(RegExp(r'^\d*\.?\d{0,4}')), + ], + textInputType: TextInputType.number, + label: t.translate(i18.measurementBook.numberLabel), + controller: numberController, + focusNode: numberFocusNode, + isDisabled: widget.viewMode, + ), + Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Padding( + padding: const EdgeInsets.only(left: 0.0), + child: SizedBox( + width: MediaQuery.of(context).size.width * 0.8 / 3, + child: DigitTextField( + inputFormatter: [ + FilteringTextInputFormatter.allow( + RegExp(r'^\d*\.?\d{0,4}')), + ], + label: t.translate(i18.measurementBook.lengthLabel), + isDisabled: widget.viewMode, + textInputType: TextInputType.number, + controller: lengthController, + focusNode: lengthFocusNode, + ), + ), + ), + Padding( + padding: const EdgeInsets.only(left: 4.0), + child: SizedBox( + width: MediaQuery.of(context).size.width * 0.8 / 3, + child: DigitTextField( + inputFormatter: [ + FilteringTextInputFormatter.allow( + RegExp(r'^\d*\.?\d{0,4}')), + ], + label: t.translate(i18.measurementBook.widthLabel), + isDisabled: widget.viewMode, + textInputType: TextInputType.number, + controller: widthController, + focusNode: widthFocusNode, + ), + ), + ), + Padding( + padding: const EdgeInsets.only(left: 4.0, right: 2.0), + child: SizedBox( + width: MediaQuery.of(context).size.width * 0.8 / 3, + child: DigitTextField( + inputFormatter: [ + FilteringTextInputFormatter.allow( + RegExp(r'^\d*\.?\d{0,4}')), + ], + label: t.translate(i18.measurementBook.heightLabel), + isDisabled: widget.viewMode, + textInputType: TextInputType.number, + controller: heightController, + focusNode: heightFocusNode, + ), + ), + ), + ], + ), + Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.symmetric(vertical: 8.0), + child: Text( + t.translate(i18.measurementBook.quantityLabel), + style: Theme.of(context).textTheme.labelSmall, + ), + ), + Container( + decoration: BoxDecoration( + border: Border.all( + color: const DigitColors().cloudGray, width: 2), + color: DigitTheme.instance.colorScheme.background), + width: MediaQuery.sizeOf(context).width, + child: Padding( + padding: const EdgeInsets.all(12.0), + child: Text( + checkValue( + widget.quantity!.toString())==""?"": + double.parse(checkValue( + widget.quantity!.toString())).toStringAsFixed(4), + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w400, + ), + ), + ), + ), + ], + ), + ], + ), + ); + } +} + +class Debouncer { + final int milliseconds; + Timer? _timer; + Debouncer({required this.milliseconds}); + void run(VoidCallback action) { + if (_timer != null) { + _timer!.cancel(); + } + _timer = Timer(Duration(milliseconds: milliseconds), action); + } +} diff --git a/frontend/works_shg_app/lib/widgets/mb/radio_button_sheet.dart b/frontend/works_shg_app/lib/widgets/mb/radio_button_sheet.dart new file mode 100644 index 0000000000..a0302aad0e --- /dev/null +++ b/frontend/works_shg_app/lib/widgets/mb/radio_button_sheet.dart @@ -0,0 +1,94 @@ +import 'package:digit_components/digit_components.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:works_shg_app/blocs/employee/mb/measurement_book.dart'; +import 'package:works_shg_app/blocs/employee/work_order/workorder_book.dart'; +import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/utils/employee/support_services.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +class MyBottomSheet extends StatefulWidget { + final List dataList; + final SortType sortType; + const MyBottomSheet( + {super.key, required this.dataList, required this.sortType}); + + @override + State createState() => _MyBottomSheetState(); +} + +class _MyBottomSheetState extends State { + int _selectedValue = -1; + + @override + Widget build(BuildContext context) { + var t = AppLocalizations.of(context); + return SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(left: 16.0), + child: Text( + t.translate(i18.measurementBook.sortBy), + style: DigitTheme.instance.mobileTheme.textTheme.headlineMedium! + .copyWith( + fontWeight: FontWeight.w100, + color: const DigitColors().cloudGray), + ), + ), + const Divider(), + StatefulBuilder( + builder: (BuildContext context, StateSetter setState) { + return ListView.builder( + physics: const NeverScrollableScrollPhysics(), + shrinkWrap: true, + itemCount: widget.dataList.length, + itemBuilder: (context, index) { + return RadioListTile( + contentPadding: const EdgeInsets.only(left: 16, right: 16), + controlAffinity: ListTileControlAffinity.trailing, + title: Text( + t.translate(widget.dataList[index].name), + style: DigitTheme + .instance.mobileTheme.textTheme.headlineSmall, + ), + value: widget.dataList[index].number, + groupValue: _selectedValue, + onChanged: (value) async { + setState(() { + _selectedValue = value!; + }); + if (widget.sortType == SortType.mbSort) { + context.read().add( + MeasurementBookInboxSortBlocEvent( + sortCode: value!)); + } else { + context + .read() + .add(WorkOrderInboxSortBlocEvent(sortCode: value!)); + } + + await Future.delayed(const Duration(milliseconds: 500), + () { + Navigator.pop(context); + }); + }, + ); + }, + ); + }, + ), + ], + ), + ); + } +} + +class SortObject { + final String name; + final int number; + + SortObject(this.name, this.number); +} diff --git a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart new file mode 100644 index 0000000000..c4550899e6 --- /dev/null +++ b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart @@ -0,0 +1,924 @@ +import 'package:auto_route/auto_route.dart'; +import 'package:digit_components/digit_components.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:works_shg_app/blocs/employee/mb/mb_detail_view.dart'; +import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/theme.dart'; +import 'package:works_shg_app/widgets/mb/multi_line_items.dart'; + +import '../../models/employee/mb/filtered_Measures.dart'; +import '../../utils/notifiers.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +class HorizontalCardListDialog extends StatefulWidget { + final List? lineItems; + final int index; + final String type; + final dynamic noOfUnit; + final dynamic cummulativePrevQty; + final String sorId; + + const HorizontalCardListDialog( + {super.key, + this.lineItems, + required this.index, + required this.type, + this.noOfUnit, + this.cummulativePrevQty, + required this.sorId}); + + @override + State createState() => + _HorizontalCardListDialogState(); +} + +class _HorizontalCardListDialogState extends State { + late PageController _scrollController; + List? lineItems; + @override + void initState() { + lineItems = widget.lineItems; + _scrollController = PageController(initialPage: 0,viewportFraction: 0.95); + super.initState(); + } + + void _scrollForward() { + _scrollController.nextPage( + // _scrollController.offset + MediaQuery.of(context).size.width, + duration: const Duration(milliseconds: 500), + curve: Curves.ease, + ); + } + + void _scrollBackward() { + _scrollController.previousPage( + // _scrollController.offset - MediaQuery.of(context).size.width, + duration: const Duration(milliseconds: 500), + curve: Curves.ease, + ); + } + + @override + void dispose() { + _scrollController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + var t = AppLocalizations.of(context); + return BlocListener( + listenWhen: (previous, current) => + ((previous != current) || (previous == current)), + listener: (context, state) { + // TODO: implement listener + state.maybeMap( + orElse: () => null, + loaded: (value) { + if (value.warningMsg != null && value.qtyErrorMsg == 2) { + // SystemChannels.textInput.invokeMethod('TextInput.hide'); + Notifiers.getToastMessage(context, + t.translate(i18.measurementBook.mbQtyErrMsg), 'ERROR'); + context + .read() + .add(const UpdateMsgCodeEvent(updateCode: 1)); + } else if (value.qtyErrorMsg == 1) { + // Navigator.of(context).pop(); + } else if (value.qtyErrorMsg == 0 || value.qtyErrorMsg == -2) { + Navigator.of(context).pop(); + } else { + // Navigator.of(context).pop(); + } + }, + ); + }, + child: BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) { + lineItems = widget.type == "sor" + ? value.sor![widget.index].filteredMeasurementsMeasure + : value.nonSor![widget.index].filteredMeasurementsMeasure; + return Material( + type: MaterialType.card, + color: Colors.transparent, + elevation: 0, + child: SizedBox( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height * 2, + child: Column( + // mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + IconButton( + onPressed: () { + context + .read() + .add(CancelUpdateEvent( + cancelUpdate: true, + filteredMeasurementsMeasureId: null, + sorId: widget.sorId, + type: widget.type, + )); + // context + // .read() + // .add(const UpdateMsgCodeEvent(updateCode: 0)); + context.router.pop(); + }, + icon: Icon( + Icons.close, + color: const DigitColors().white, + ), + ), + ], + ), + const SizedBox(height: 10), + SizedBox( + height: MediaQuery.sizeOf(context).height * 0.70, + child: PageView.builder( + controller: _scrollController, + scrollDirection: Axis.horizontal, + itemBuilder: (BuildContext context, int index) { + return Padding( + padding: const EdgeInsets.only(right: 4.0), + child: CardWidget( + backward: () { + _scrollBackward(); + }, + forward: () { + _scrollForward(); + }, + filteredMeasurementsMeasure: lineItems![index], + type: widget.type, + viewMode: value.viewStatus, + noOfUnit: widget.noOfUnit, + cummulativePrevQty: widget.cummulativePrevQty, + index: index, + ), + ); + }, + itemCount: lineItems?.length, + ), + ), + const SizedBox(height: 20), + Align( + alignment: Alignment.bottomCenter, + child: Container( + color: Colors.white, + width: MediaQuery.sizeOf(context).width, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + child: DigitOutLineButton( + label: t.translate(i18.common.close), + onPressed: () { + context + .read() + .add(CancelUpdateEvent( + cancelUpdate: true, + filteredMeasurementsMeasureId: null, + sorId: widget.sorId, + type: widget.type, + )); + context.router.pop(); + }, + ), + ), + const SizedBox( + width: 10, + ), + Expanded( + child: ElevatedButton( + onPressed: () { + //SubmitLineEvent + context.read().add( + SubmitLineEvent( + cummulativePrevQty: + widget.cummulativePrevQty, + noOfUnit: widget.noOfUnit, + sorId: widget.sorId, + type: widget.type)); + // Navigator.of(context).pop(); + }, + child: Text(t.translate(i18.common.submit)), + ), + ), + ], + ), + ), + ), + ), + ], + ), + ), + ); + }, + ); + }, + ), + ); + } +} + +class CardWidget extends StatefulWidget { + final VoidCallback backward; + final VoidCallback forward; + final FilteredMeasurementsMeasure? filteredMeasurementsMeasure; + final String type; + final bool viewMode; + final dynamic noOfUnit; + final dynamic cummulativePrevQty; + final int index; + + const CardWidget({ + super.key, + required this.backward, + required this.forward, + this.filteredMeasurementsMeasure, + required this.type, + required this.viewMode, + this.noOfUnit, + this.cummulativePrevQty, + required this.index, + }); + + @override + State createState() => _CardWidgetState(); +} + +class _CardWidgetState extends State { + @override + void initState() { + // TODO: implement initState + super.initState(); + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + final t = AppLocalizations.of(context); + return Container( + // width: MediaQuery.sizeOf(context).width-200, + decoration: BoxDecoration( + color: const DigitColors().white, + borderRadius: BorderRadius.circular(10), + ), + padding: const EdgeInsets.only( + left: 2.5, right: 2.5, bottom: 10.0, top: 16.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + width: MediaQuery.sizeOf(context).width, + decoration: BoxDecoration( + border: Border.all(color: Colors.grey), + borderRadius: BorderRadius.circular(5), + ), + padding: const EdgeInsets.all(8), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + widget.type.toUpperCase(), + style: DigitTheme.instance.mobileTheme.textTheme.displayLarge, + ), + Text( + '${t.translate(i18.measurementBook.item)} ${widget.index + 1}', + style: + DigitTheme.instance.mobileTheme.textTheme.headlineLarge, + ), + + Padding( + padding: const EdgeInsets.only(top: 4.0), + child: SizedBox( + height: 30, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Expanded( + flex: 1, + child: Text( + t.translate(i18.measurementBook.isDeduction), + style: theme.textTheme.displayMedium?.copyWith(), + )), + Expanded( + flex: 1, + child: Text( + (widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .isDeduction != + null && + widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .isDeduction!) + ? t.translate(i18.measurementBook.yes) + : t.translate(i18.measurementBook.no), + style: theme.textTheme.labelSmall?.copyWith(), + maxLines: 1, + ), + ) + ], + ), + ), + ), + Padding( + padding: const EdgeInsets.only(bottom: 3.0), + child: SizedBox( + height: 50, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Expanded( + flex: 1, + child: Text( + t.translate( + i18.measurementBook.description, + ), + style: theme.textTheme.displayMedium?.copyWith(), + ), + ), + Expanded( + flex: 1, + child: Text( + widget.filteredMeasurementsMeasure!.contracts!.first + .estimates!.first.description ?? + "", + style: theme.textTheme.labelSmall?.copyWith( + overflow: TextOverflow.ellipsis, + ), + maxLines: 3, + ), + ), + ], + ), + ), + ), + SingleChildScrollView( + child: SizedBox( + height: MediaQuery.sizeOf(context).height * 0.40, + child: (widget.filteredMeasurementsMeasure + ?.measureLineItems == + null || + (widget.filteredMeasurementsMeasure! + .measureLineItems!.isEmpty)) + ? Column( + children: [ + Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: MultiLineItems( + fieldValue: (p0, p1) {}, + // + height: widget + .filteredMeasurementsMeasure?.height + .toString(), + width: widget + .filteredMeasurementsMeasure?.breath + .toString(), + number: widget + .filteredMeasurementsMeasure?.numItems + .toString(), + quantity: widget + .filteredMeasurementsMeasure?.height + .toString(), + length: widget + .filteredMeasurementsMeasure?.length + .toString(), + viewMode: widget.viewMode, + filteredMeasurementMeasureId: + widget.filteredMeasurementsMeasure!.id!, + index: 0, + measurementIndex: 0, + sorId: widget.filteredMeasurementsMeasure! + .contracts!.first.estimates!.first.sorId!, + type: widget.type, totalCount: 1, + ), + ), + !widget.viewMode + ? GestureDetector( + child: Row( + mainAxisAlignment: + MainAxisAlignment.center, + crossAxisAlignment: + CrossAxisAlignment.center, + children: [ + Icon( + Icons.add_circle, + size: 30, + color: const DigitColors() + .burningOrange, + ), + Padding( + padding: const EdgeInsets.only(left:4.0), + child: Text( + + t.translate( + i18.measurementBook + .addMeasurement, + ), + style: DigitTheme + .instance + .mobileTheme + .textTheme! + .bodyLarge! + .copyWith( + color: const DigitColors() + .burningOrange, + + ), + ), + ), + ], + ), + onTap: () { + context + .read() + .add( + AddToMeasurementLineEvent( + sorId: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .sorId!, + type: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .category!, + index: 0, + measurementLineIndex: widget + .filteredMeasurementsMeasure! + .measureLineItems! + .last + .measurelineitemNo + + 1, + height: widget + .filteredMeasurementsMeasure + ?.height, + length: widget + .filteredMeasurementsMeasure + ?.length, + width: widget + .filteredMeasurementsMeasure + ?.breath, + number: widget + .filteredMeasurementsMeasure + ?.numItems, + quantity: widget + .filteredMeasurementsMeasure + ?.height, + filteredMeasurementMeasureId: widget + .filteredMeasurementsMeasure! + .id!, + single: true, + ), + ); + }, + ) + : const SizedBox.shrink(), + ], + ) + : ListView.builder( + itemCount: !widget.viewMode + ? widget.filteredMeasurementsMeasure! + .measureLineItems!.length + + 1 + : widget.filteredMeasurementsMeasure! + .measureLineItems!.length, + itemBuilder: (context, index) { + if (!widget.viewMode) { + if (index == + widget.filteredMeasurementsMeasure! + .measureLineItems!.length) { + // TO add line items + return Padding( + padding: const EdgeInsets.only(top: 1.0), + child: GestureDetector( + child: Row( + crossAxisAlignment: + CrossAxisAlignment.center, + mainAxisAlignment: + MainAxisAlignment.center, + children: [ + Icon( + Icons.add_circle, + size: 30, + color: const DigitColors() + .burningOrange, + ), + Padding( + padding: const EdgeInsets.only(left:4.0), + child: Text( + t.translate(i18.measurementBook + .addMeasurement), + style: DigitTheme + .instance + .mobileTheme + .textTheme! + .bodyLarge! + .copyWith( + color: const DigitColors() + .burningOrange), + ), + ), + ], + ), + onTap: () { + context + .read() + .add( + AddToMeasurementLineEvent( + sorId: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .sorId!, + type: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .category!, + index: index, + measurementLineIndex: widget + .filteredMeasurementsMeasure! + .measureLineItems! + .last + .measurelineitemNo + + 1, + // index: 0, + // measurementLineIndex: 0, + height: 0, + length: 0, + width: 0, + number: 0, + quantity: 0, + filteredMeasurementMeasureId: widget + .filteredMeasurementsMeasure! + .id!, + single: false, + ), + ); + }, + ), + ); + } + } + + final data = widget.filteredMeasurementsMeasure + ?.measureLineItems?[index]; + + return Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: MultiLineItems( + fieldValue: (p0, p1) { + print(widget.noOfUnit); + print(widget.cummulativePrevQty); + switch (p0) { + case "Number": + context + .read() + .add( + UpdateToMeasurementLineEvent( + sorId: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .sorId!, + type: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .category!, + index: index, + measurementLineIndex: + data!.measurelineitemNo!, + height: data?.height.toString(), + length: data?.length.toString(), + width: data?.width.toString(), + quantity: + data?.quantity.toString(), + number: p1.toString(), + filteredMeasurementMeasureId: widget + .filteredMeasurementsMeasure! + .id!, + cummulativePrevQty: + widget.cummulativePrevQty, + noOfUnit: widget.noOfUnit, + ), + ); + break; + + case "Length": + context + .read() + .add( + UpdateToMeasurementLineEvent( + sorId: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .sorId!, + type: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .category!, + index: index, + measurementLineIndex: + data!.measurelineitemNo!, + height: data?.height.toString(), + length: p1.toString(), + width: data?.width.toString(), + quantity: + data?.quantity.toString(), + number: data?.number.toString(), + filteredMeasurementMeasureId: widget + .filteredMeasurementsMeasure! + .id!, + cummulativePrevQty: + widget.cummulativePrevQty, + noOfUnit: widget.noOfUnit, + ), + ); + break; + case "Width": + context + .read() + .add( + UpdateToMeasurementLineEvent( + sorId: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .sorId!, + type: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .category!, + index: index, + measurementLineIndex: + data!.measurelineitemNo!, + height: data?.height.toString(), + length: data?.length.toString(), + width: p1.toString(), + quantity: + data?.quantity.toString(), + number: data?.number.toString(), + filteredMeasurementMeasureId: widget + .filteredMeasurementsMeasure! + .id!, + cummulativePrevQty: + widget.cummulativePrevQty, + noOfUnit: widget.noOfUnit, + ), + ); + break; + case "Quantity": + context + .read() + .add( + UpdateToMeasurementLineEvent( + sorId: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .sorId!, + type: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .category!, + index: index, + measurementLineIndex: + data!.measurelineitemNo!, + height: data?.height.toString(), + length: data?.length.toString(), + width: data?.width.toString(), + quantity: p1.toString(), + number: data?.number.toString(), + filteredMeasurementMeasureId: widget + .filteredMeasurementsMeasure! + .id!, + cummulativePrevQty: + widget.cummulativePrevQty, + noOfUnit: widget.noOfUnit, + ), + ); + break; + case "Height": + context + .read() + .add( + UpdateToMeasurementLineEvent( + sorId: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .sorId!, + type: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .category!, + index: index, + measurementLineIndex: + data!.measurelineitemNo!, + height: p1.toString(), + length: data?.length.toString(), + width: data?.width.toString(), + quantity: + data?.quantity.toString(), + number: data?.number.toString(), + filteredMeasurementMeasureId: widget + .filteredMeasurementsMeasure! + .id!, + cummulativePrevQty: + widget.cummulativePrevQty, + noOfUnit: widget.noOfUnit, + ), + ); + break; + default: + context + .read() + .add( + UpdateToMeasurementLineEvent( + sorId: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .sorId!, + type: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .category!, + index: index, + measurementLineIndex: + data!.measurelineitemNo!, + height: data?.height.toString(), + length: data?.length.toString(), + width: data?.width.toString(), + quantity: + data?.quantity.toString(), + number: p1.toString(), + filteredMeasurementMeasureId: widget + .filteredMeasurementsMeasure! + .id!, + cummulativePrevQty: + widget.cummulativePrevQty, + noOfUnit: widget.noOfUnit, + ), + ); + } + }, + height: data == null + ? widget + .filteredMeasurementsMeasure?.height + .toString() + : data?.height.toString(), + width: data == null + ? widget + .filteredMeasurementsMeasure?.breath + .toString() + : data?.width.toString(), + number: data == null + ? widget + .filteredMeasurementsMeasure?.numItems + .toString() + : data?.number.toString(), + quantity: data == null + ? widget.filteredMeasurementsMeasure + ?.currentValue + .toString() + : data?.quantity.toString(), + length: data == null + ? widget + .filteredMeasurementsMeasure?.length + .toString() + : data?.length.toString(), + viewMode: widget.viewMode, + filteredMeasurementMeasureId: + widget.filteredMeasurementsMeasure!.id!, + index: index, + measurementIndex: data!.measurelineitemNo!, + sorId: widget.filteredMeasurementsMeasure! + .contracts!.first.estimates!.first.sorId!, + type: widget.type, + totalCount: widget.filteredMeasurementsMeasure + ?.measureLineItems?.length ?? + 0, + ), + ); // Render your item here + }, + ), + ), + ), + ], + ), + ), + // button section + Padding( + padding: const EdgeInsets.only( + top: 4.0, left: 8.0, right: 8.0, bottom: 4.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(50), + border: Border.all( + width: 2, color: const DigitColors().burningOrange)), + child: CircleAvatar( + backgroundColor: Colors.transparent, + child: IconButton( + icon: Icon( + Icons.arrow_back, + color: const DigitColors().burningOrange, + ), + onPressed: widget.backward, + ), + ), + ), + Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(50), + border: Border.all( + width: 2, color: const DigitColors().burningOrange)), + child: CircleAvatar( + backgroundColor: Colors.transparent, + child: IconButton( + icon: Icon( + Icons.arrow_forward, + color: const DigitColors().burningOrange, + ), + onPressed: widget.forward, + ), + ), + ), + ], + ), + ), + ], + ), + ); + } +} diff --git a/frontend/works_shg_app/lib/widgets/mb/text_button_underline.dart b/frontend/works_shg_app/lib/widgets/mb/text_button_underline.dart new file mode 100644 index 0000000000..5c09bdf86d --- /dev/null +++ b/frontend/works_shg_app/lib/widgets/mb/text_button_underline.dart @@ -0,0 +1,48 @@ +import 'package:digit_components/theme/colors.dart'; +import 'package:digit_components/theme/digit_theme.dart'; +import 'package:flutter/material.dart'; + + +class CommonTextButtonUnderline extends StatelessWidget { + + final String label; + final VoidCallback onPressed; + const CommonTextButtonUnderline({ + super.key, required this.label, required this.onPressed, + + }); + + + + @override + Widget build(BuildContext context) { + return SizedBox( + width: 200, + child: TextButton( + style: TextButton.styleFrom( + padding: EdgeInsets.zero, + minimumSize: const Size(50, 30), + tapTargetSize: MaterialTapTargetSize.shrinkWrap, + alignment: Alignment.centerLeft), + onPressed: onPressed, + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text( + label, + style: + DigitTheme.instance.mobileTheme.textTheme.bodyLarge!.copyWith( + color: const DigitColors().burningOrange, + decoration: TextDecoration.underline, + decorationColor: const DigitColors().burningOrange, + decorationThickness: 2, + ), + ), + const Icon(Icons.arrow_forward_outlined) + ], + ), + ), + ); + } +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/widgets/mb/text_field_decimal_match.dart b/frontend/works_shg_app/lib/widgets/mb/text_field_decimal_match.dart new file mode 100644 index 0000000000..3898af98e3 --- /dev/null +++ b/frontend/works_shg_app/lib/widgets/mb/text_field_decimal_match.dart @@ -0,0 +1,37 @@ +import 'package:flutter/services.dart'; + +class DecimalTextInputFormatter extends TextInputFormatter { + final int decimalRange; + + DecimalTextInputFormatter({required this.decimalRange}) + : assert(decimalRange >= 0, 'Decimal range must be non-negative'); + + @override + TextEditingValue formatEditUpdate( + TextEditingValue oldValue, TextEditingValue newValue) { + if (newValue.text == '') { + return newValue; + } + + final int newTextLength = newValue.text.length; + final int selectionIndex = newValue.selection.end; + + String newText = newValue.text; + + // Validate decimal places + if (newText.contains('.') && + newText.substring(newText.indexOf('.') + 1).length > decimalRange) { + return oldValue; + } + + // Prevent leading dot + if (newText.startsWith('.')) { + newText = '0$newText'; + } + + return TextEditingValue( + text: newText, + selection: TextSelection.collapsed(offset: selectionIndex), + ); + } +} diff --git a/frontend/works_shg_app/lib/widgets/mb/workFlowButtonList.dart b/frontend/works_shg_app/lib/widgets/mb/workFlowButtonList.dart new file mode 100644 index 0000000000..369e8e845c --- /dev/null +++ b/frontend/works_shg_app/lib/widgets/mb/workFlowButtonList.dart @@ -0,0 +1,332 @@ +import 'package:digit_components/widgets/digit_outline_button.dart'; +import 'package:digit_components/widgets/molecules/digit_loader.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:works_shg_app/blocs/employee/mb/mb_crud.dart'; +import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/blocs/muster_rolls/get_muster_workflow.dart'; +import 'package:works_shg_app/models/employee/mb/mb_detail_response.dart'; +import 'package:works_shg_app/models/muster_rolls/business_service_workflow.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; +import 'package:works_shg_app/utils/notifiers.dart'; + +import '../../blocs/employee/emp_hrms/emp_hrms.dart'; +import '../../blocs/employee/mb/mb_detail_view.dart'; +import '../../models/muster_rolls/muster_workflow_model.dart'; +import '../../router/app_router.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +import '../../utils/employee/mb/mb_logic.dart'; + +class CommonButtonCard extends StatelessWidget { + const CommonButtonCard({ + super.key, + required this.g, + required this.contractNumber, + required this.mbNumber, + required this.type, + this.bs, + }); + + final List? g; + final String contractNumber; + final String mbNumber; + final MBScreen type; + final List? bs; + + @override + Widget build(BuildContext context) { + var t = AppLocalizations.of(context); + return BlocListener( + listener: (context, stateCrud) { + stateCrud.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) {}, + loading: (value) { + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route is! PopupRoute, + ); + Loaders.showLoadingDialog(context); + }, + error: (value) { + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route is! PopupRoute, + ); + Notifiers.getToastMessage( + context, + // AppLocalizations.of(context) + // .translate(i18.login.invalidOTP), + + value.error.toString(), + 'ERROR', + ); + }, + ); + }, + child: BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) { + return SingleChildScrollView( + child: Container( + color: Colors.transparent, + height: type == MBScreen.update + ? g!.first.nextActions!.length!.toDouble() * 50.0 + : bs!.first.workflowState!.first.actions!.length! + .toDouble() * + 50.0, + width: MediaQuery.sizeOf(context).width, + child: Center( + child: type == MBScreen.update + ? ListView.builder( + itemBuilder: (context, index) { + String editReSubmit = "EDIT_RE_SUBMIT"; + return DigitOutLineButton( + label: g!.first.nextActions![index].action == + "EDIT/RE-SUBMIT" + ? t.translate("WF_MB_ACTION_$editReSubmit") + : t.translate( + "WF_MB_ACTION_${g!.first.nextActions![index].action!}"), + // label: g!.first.nextActions![index].action! ?? "", + onPressed: () { + final data = g + ?.first.nextActions![index].roles + ?.join(','); + if (g!.first.nextActions![index].action == + "EDIT/RE-SUBMIT" && + value.viewStatus) { + context.read().add( + UpdateViewModeEvent( + updateView: !value.viewStatus, + ), + ); + // Navigator.of( + // context, + // rootNavigator: false, + // ).popUntil( + // (route) => route is! PopupRoute, + // ); + Navigator.of(context).pop(); + } else { + if (g!.first.nextActions![index].action == + "SAVE_AS_DRAFT") { + print("object"); + List> sorList = [ + value.sor!, + value.nonSor! + ]; + MBDetailResponse kkk = + MBLogic.getMbPayloadUpdate( + data: value.data, + sorList: sorList, + workFlow: WorkFlow( + action: g!.first.nextActions![index] + .action == + "SAVE_AS_DRAFT" + ? "SAVE_AS_DRAFT" + : g!.first.nextActions![index] + .action, + documents: [], + ), + type: type, + ); + + context.read().add( + MeasurementUpdateBlocEvent( + measurement: kkk.measurement!, + tenantId: '', + workFlow: WorkFlow( + action: g! + .first + .nextActions![index] + .action == + "SAVE_AS_DRAFT" + ? "SAVE_AS_DRAFT" + : g! + .first + .nextActions![index] + .action, + comment: "", + assignees: [""], + documents: [], + ), + type: type, + ), + ); + } else { + context.read().add( + EmpHRMSLoadBlocEvent( + isActive: true, + // roles: g! + // .first + // .nextActions![index] + // .action != + // "EDIT/RE-SUBMIT" + // ? data ?? "MB_VERIFIER" + // : + + // "MB_VERIFIER", + roles: fetchRoles(g! + .first + .nextActions![index] + .action ?? + "MB_VERIFIER"), + tenantId: + GlobalVariables.tenantId!, + ), + ); + // Navigator.of( + // context, + // rootNavigator: true, + // ).popUntil( + // (route) => route is! PopupRoute, + // ); + Navigator.of(context).pop(); + context.router.push( + MBTypeConfirmationRoute( + nextActions: type == MBScreen.update + ? g!.first.nextActions![index] + : null, + contractNumber: contractNumber, + mbNumber: mbNumber, + type: type, + stateActions: + type == MBScreen.create + ? bs!.first.workflowState! + .first.actions![index] + : null), + ); + } + } + }, + ); + }, + itemCount: g?.first.nextActions?.length, + ) + : ListView.builder( + itemBuilder: (context, index) { + String editReSubmit = "CREATE"; + return DigitOutLineButton( + label: bs!.first.workflowState!.first + .actions![index].action == + "CREATE" + ? t.translate("WF_MB_ACTION_$editReSubmit") + : t.translate( + "WF_MB_ACTION_${bs!.first.workflowState!.first.actions![index].action}"), + // label: g!.first.nextActions![index].action! ?? "", + onPressed: () { + if (bs!.first.workflowState!.first + .actions![index].action == + "SAVE_AS_DRAFT") { + print("object"); + List> sorList = [ + value.sor!, + value.nonSor! + ]; + MBDetailResponse kkk = + MBLogic.getMbPayloadUpdate( + data: value.data, + sorList: sorList, + workFlow: WorkFlow( + action: bs!.first.workflowState!.first + .actions![index].action == + "SAVE_AS_DRAFT" + ? "SAVE_AS_DRAFT" + : bs!.first.workflowState!.first + .actions![index].action, + documents: [], + ), + type: type, + ); + + context.read().add( + MeasurementUpdateBlocEvent( + measurement: kkk.measurement!, + tenantId: '', + workFlow: WorkFlow( + action: bs! + .first + .workflowState! + .first + .actions![index] + .action == + "SAVE_AS_DRAFT" + ? "SAVE_AS_DRAFT" + : bs! + .first + .workflowState! + .first + .actions![index] + .action, + comment: "", + assignees: [""], + documents: [], + ), + type: type, + ), + ); + } else { + context.read().add( + EmpHRMSLoadBlocEvent( + isActive: true, + roles: "MB_VERIFIER", + tenantId: GlobalVariables.tenantId!, + ), + ); + + Navigator.of(context).pop(); + context.router.push( + MBTypeConfirmationRoute( + nextActions: type == MBScreen.update + ? g!.first.nextActions![index] + : null, + contractNumber: contractNumber, + mbNumber: mbNumber, + type: type, + stateActions: type == MBScreen.create + ? bs!.first.workflowState!.first + .actions![index] + : null, + ), + ); + } + }, + ); + }, + itemCount: + bs!.first.workflowState!.first.actions!.length, + ), + ), + ), + ); + }, + ); + }, + ), + ); + } + + String fetchRoles(String action) { + switch (action) { + case "EDIT/RE-SUBMIT": + return "MB_VERIFIER"; + case "SUBMIT": + return "MB_VERIFIER"; + case "VERIFY_AND_FORWARD": + return "MB_APPROVER"; + case "SEND_BACK_TO_ORIGINATOR": + return "MB_CREATOR"; + + default: + return "MB_VERIFIER"; + } + } +} diff --git a/frontend/works_shg_app/lib/widgets/molecules/file_picker.dart b/frontend/works_shg_app/lib/widgets/molecules/file_picker.dart index eb678ef093..33bcd0b923 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/file_picker.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/file_picker.dart @@ -386,4 +386,4 @@ class SHGFilePickerState extends State { ], ); } -} +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/widgets/molecules/mb/table_form_data.dart b/frontend/works_shg_app/lib/widgets/molecules/mb/table_form_data.dart new file mode 100644 index 0000000000..e7170e5fa0 --- /dev/null +++ b/frontend/works_shg_app/lib/widgets/molecules/mb/table_form_data.dart @@ -0,0 +1,67 @@ +import 'package:digit_components/theme/digit_theme.dart'; +import 'package:flutter/material.dart'; + +class TableFormCard extends StatelessWidget { + final Map element; + final Border? border; + final Color? color; + final EdgeInsetsGeometry? padding; + final double gap; + final num fraction; + + const TableFormCard({ + super.key, + required this.element, + this.border, + this.color, + this.padding, + this.gap = 0, + this.fraction = 2, + }); + + @override + Widget build(BuildContext context) { + final theme = Theme.of(context); + return Padding( + padding: const EdgeInsets.only(top: 0), + child: Container( + decoration: BoxDecoration( + color: color, + borderRadius: BorderRadius.circular(4), + border: border), + child: Padding( + padding: padding ?? const EdgeInsets.only(right: 8, bottom: 8), + child: Column( + children: element.keys + .map((e) => Container( + margin: DigitTheme.instance.verticalMargin, + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + width: MediaQuery.of(context).size.width / fraction, + child: Text( + e, + style: theme.textTheme.headline5, + textAlign: TextAlign.start, + ), + ), + SizedBox(width: gap), + Flexible( + child: Padding( + padding: const EdgeInsets.only(top: 0), + child: Text(element[e].toString(), + overflow: TextOverflow.ellipsis, + maxLines: 3, + ), + )), + ], + ), + )) + .toList(), + ), + ), + ), + ); + } +} diff --git a/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart b/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart index c78795e7d4..f1d318b547 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart @@ -16,49 +16,56 @@ class MobileView extends StatelessWidget { @override Widget build(BuildContext context) { return SingleChildScrollView( - child: Column( - mainAxisSize: MainAxisSize.min, - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - Center(child: LayoutBuilder(builder: - (BuildContext context, BoxConstraints viewportConstraints) { - return ConstrainedBox( - constraints: BoxConstraints( - minHeight: MediaQuery.of(context).size.height), - child: IntrinsicHeight( + child: Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + Center( + child: LayoutBuilder(builder: + (BuildContext context, BoxConstraints viewportConstraints) { + return ConstrainedBox( + constraints: BoxConstraints( + minHeight: MediaQuery.of(context).size.height), + child: IntrinsicHeight( child: Column(children: [ - Expanded( - // A flexible child that will grow to fit the viewport but - // still be at least as big as necessary to fit its contents. - child: Container( + Expanded( + // A flexible child that will grow to fit the viewport but + // still be at least as big as necessary to fit its contents. + child: Container( color: Colors.blue, // height: MediaQuery.of(context).size.height, child: BackgroundContainer( - Stack(children: [ - (Positioned( - bottom: cardBottomPosition, - child: Container( - margin: - const EdgeInsets.only(bottom: 24), - width: - MediaQuery.of(context).size.width, - // height: MediaQuery.of(context).size.height + 20, - padding: const EdgeInsets.all(8), - child: widget))), - (Positioned( - bottom: logoBottomPosition, - left: MediaQuery.of(context).size.width / 4, - right: - MediaQuery.of(context).size.width / 4, - child: const Align( - alignment: Alignment.bottomCenter, - child: PoweredByDigit( - isWhiteLogo: true, - )))) - ]), - bannerURL))) - ]))); - })) - ])); + Stack(children: [ + (Positioned( + bottom: cardBottomPosition, + child: Container( + margin: const EdgeInsets.only(bottom: 24), + width: MediaQuery.of(context).size.width, + // height: MediaQuery.of(context).size.height + 20, + padding: const EdgeInsets.all(8), + child: widget))), + (Positioned( + bottom: logoBottomPosition, + left: MediaQuery.of(context).size.width / 4, + right: MediaQuery.of(context).size.width / 4, + child: const Align( + alignment: Alignment.bottomCenter, + child: PoweredByDigit( + isWhiteLogo: true, + ), + ), + )), + ]), + bannerURL, + ), + ), + ), + ]), + ), + ); + }), + ), + ]), + ); } } diff --git a/frontend/works_shg_app/lib/widgets/work_order/work_order_card.dart b/frontend/works_shg_app/lib/widgets/work_order/work_order_card.dart new file mode 100644 index 0000000000..d5c2781014 --- /dev/null +++ b/frontend/works_shg_app/lib/widgets/work_order/work_order_card.dart @@ -0,0 +1,85 @@ +// ignore_for_file: public_member_api_docs, sort_constructors_first +import 'package:digit_components/digit_components.dart'; +import 'package:flutter/material.dart'; +import 'package:works_shg_app/widgets/molecules/mb/table_form_data.dart'; + +class WorkOrderCard extends StatefulWidget { + final String? headLabel; + final Map items; + final Widget? widget1; + final Widget? widget2; + const WorkOrderCard({ + Key? key, + this.headLabel, + required this.items, + this.widget1, + this.widget2, + }) : super(key: key); + + @override + State createState() => _WorkOrderCardState(); +} + +class _WorkOrderCardState extends State { + String? data; + + @override + Widget build(BuildContext context) { + data = widget.items.remove("Status"); + return DigitCard( + child: Column( + crossAxisAlignment: widget.widget1 != null + ? CrossAxisAlignment.start + : CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + widget.headLabel != null + ? Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text( + widget.headLabel!, + style: DigitTheme + .instance.mobileTheme.textTheme.headlineMedium, + ), + ], + ) + : const SizedBox.shrink(), + TableFormCard( + element: widget.items, + ), + data != null + ? Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + width: MediaQuery.of(context).size.width / 2, + child: Text( + "Status", + style: DigitTheme + .instance.mobileTheme.textTheme.headlineSmall, + textAlign: TextAlign.start, + ), + ), + const SizedBox(width: 0), + Flexible( + child: Padding( + padding: const EdgeInsets.only(top: 1.4), + child: Text( + data.toString(), + style: TextStyle( + color: DigitTheme + .instance.colorScheme.onSurfaceVariant), + ), + )), + ], + ) + : const SizedBox.shrink(), + widget.widget1 ?? const SizedBox.shrink(), + widget.widget2 ?? const SizedBox.shrink(), + ], + ), + ); + } +} diff --git a/frontend/works_shg_app/pubspec.yaml b/frontend/works_shg_app/pubspec.yaml index 6de3b188c5..9c6c5e8aec 100644 --- a/frontend/works_shg_app/pubspec.yaml +++ b/frontend/works_shg_app/pubspec.yaml @@ -116,8 +116,8 @@ dev_dependencies: flutter_icons: android: "ic_launcher" ios: true - image_path_android: "assets/icons/png/ic_launcher.png" - image_path_ios: "assets/icons/png/ic_launcher.png" + image_path_android: "assets/png/ic_launcher.png" + image_path_ios: "assets/png/ic_launcher.png" remove_alpha_ios: true # For information on the generic Dart part of this file, see the diff --git a/frontend/works_shg_app/web/index.html b/frontend/works_shg_app/web/index.html index c795a22870..010ce2bc73 100644 --- a/frontend/works_shg_app/web/index.html +++ b/frontend/works_shg_app/web/index.html @@ -29,7 +29,7 @@ - MUKTA CBO App + MUKTASoft App From b20f7cac1434a8e8c73493b72bc2b7ff32a8bc0e Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 9 Jul 2024 17:18:45 +0530 Subject: [PATCH 039/292] ticket-UCEM-354 and UCEM-384 is resolved --- .../pageComponents/ViewAnalysisStatement.js | 85 +++++++++++++++++-- .../employee/ViewAnalysisStatementPage.js | 4 +- .../Measurement/src/configs/viewUtilConfig.js | 31 +++++-- .../src/pages/employee/viewUtilization.js | 6 +- 4 files changed, 107 insertions(+), 19 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index 01060f492d..00ec466413 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -24,22 +24,92 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { MachineryCost: ["MHA"], }; + const requestCriteria = { + url: "/mdms-v2/v1/_search", + body: { + MdmsCriteria: { + tenantId: tenantId, + moduleDetails: [ + { + moduleName: "WORKS-SOR", + masterDetails: [ + { + name: "Rates", + //filter: `[?(@.sorId=='${sorid}')]`, + }, + ], + }, + ], + }, + }, + changeQueryName: "ratesQuery", + }; + + const { isLoading, data: RatesData } = Digit.Hooks.useCustomAPIHook(requestCriteria); + let currentDateInMillis = isCreateOrUpdate ? new Date().getTime() : formData?.auditDetails?.createdTime; + const getAnalysisCost = (categories) => { let SORAmount = 0; + + // if (categories.includes("LA") && SORAmount === 0 && formData?.additionalDetails?.labourMaterialAnalysis?.labour) + // { + + // SORAmount = formData?.additionalDetails?.labourMaterialAnalysis?.labour; + // } + // if ( + // categories.some((cat) => ChargesCodeMapping.MaterialCost.includes(cat)) && + // SORAmount === 0 && + // formData?.additionalDetails?.labourMaterialAnalysis?.material + // ) + // { + // SORAmount = formData?.additionalDetails?.labourMaterialAnalysis?.material;} + // if (categories.includes("MHA") && SORAmount === 0 && formData?.additionalDetails?.labourMaterialAnalysis?.machinery) + // { + // SORAmount = formData?.additionalDetails?.labourMaterialAnalysis?.machinery;} + + SORAmount = formData?.SORtable?.reduce((tot, ob) => { + let amount = ob?.amountDetails?.reduce( + (total, item) => total + (categories.some((category) => item?.heads?.includes(category)) ? item?.amount : 0), + 0 + ); + return tot + amount * ob?.currentMBEntry; + }, 0); + SORAmount = SORAmount ? SORAmount : 0; + if (SORAmount == 0) { + SORAmount = formData?.SORtable?.reduce((tot, ob) => { + //let amountDetails = RatesData?.MdmsRes?.["WORKS-SOR"]?.Rates?.filter((rate) => rate?.sorId === ob?.sorId || rate?.sorId === ob?.sorCode)?.[0]?.amountDetails; + let amountDetails = RatesData?.MdmsRes?.["WORKS-SOR"]?.Rates?.filter((rate) => { + // Convert validFrom and validTo to milliseconds + let validFromInMillis = new Date(parseInt(rate?.validFrom)).getTime(); + let validToInMillis = rate?.validTo ? new Date(parseInt(rate?.validTo)).getTime() : Infinity; + // Check if the current date is within the valid date range + return ( + rate.sorId === ob?.sorId || + (rate.sorId === ob?.sorCode && validFromInMillis <= currentDateInMillis && currentDateInMillis < validToInMillis) + ); + })?.[0]?.amountDetails; + let amount = amountDetails?.reduce( + (total, item) => total + (categories.some((category) => item?.heads?.includes(category)) ? item?.amount : 0), + 0 + ); + return tot + amount * ob?.currentMBEntry; + }, 0); + } if (window.location.href.includes("estimate-details") || window.location.href.includes("measurement/view")) { - if (categories.includes("LA") && SORAmount === 0 && formData?.additionalDetails?.labourMaterialAnalysis?.labour) + if (categories?.includes("LA") && SORAmount == 0 && formData?.additionalDetails?.labourMaterialAnalysis?.labour) SORAmount = formData?.additionalDetails?.labourMaterialAnalysis?.labour; if ( - categories.some((cat) => ChargesCodeMapping.MaterialCost.includes(cat)) && - SORAmount === 0 && + categories.some((cat) => ChargesCodeMapping?.MaterialCost?.includes(cat)) && + SORAmount == 0 && formData?.additionalDetails?.labourMaterialAnalysis?.material ) SORAmount = formData?.additionalDetails?.labourMaterialAnalysis?.material; - if (categories.includes("MHA") && SORAmount === 0 && formData?.additionalDetails?.labourMaterialAnalysis?.machinery) + if (categories?.includes("MHA") && SORAmount == 0 && formData?.additionalDetails?.labourMaterialAnalysis?.machinery) SORAmount = formData?.additionalDetails?.labourMaterialAnalysis?.machinery; } SORAmount = SORAmount ? SORAmount : 0; + return Digit.Utils.dss.formatterWithoutRound(parseFloat(SORAmount).toFixed(2), "number", undefined, true, undefined, 2); }; @@ -100,6 +170,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { responseData: responseData, estimateId: formData?.SORtable?.[0]?.estimateId, number: window.location.href.includes("revision") ? revisionNumber : formData?.estimateNumber, + downloadStatus:true }, }); }, 1000); @@ -126,6 +197,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { number: window.location.href.includes("measurement/update") ? props.config.formData.Measurement.measurementNumber : formData?.Measurement?.measurementNumber, + downloadStatus:true }, }); }, 1000); @@ -157,14 +229,17 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { responseData: searchResponse, estimateId, number, + downloadStatus:true, }; - if (!searchResponse || searchResponse?.statement?.length <=0) { + if (!searchResponse || searchResponse?.statement?.length <= 0 || formData?.Measurement?.wfStatus === "APPROVED") { state.oldData = { Labour: getAnalysisCost(ChargesCodeMapping.LabourCost), Material: getAnalysisCost(ChargesCodeMapping.MaterialCost), Machinery: getAnalysisCost(ChargesCodeMapping.MachineryCost), }; + + state.downloadStatus=false; } history.push({ pathname: path, state }); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js index 5d4f5efd1f..643f4ad4c3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js @@ -278,7 +278,7 @@ const ViewAnalysisStatement = () => { //look here need to uncomment once api works fine and check if the data is coming proper const location = useLocation(); - const { responseData, estimateId, oldData, number } = location.state || {}; + const { responseData, estimateId, oldData, number ,downloadStatus} = location.state || {}; // const { state , refId } = useLocation() @@ -455,7 +455,7 @@ const ViewAnalysisStatement = () => {

{t("ESTIMATE_ANALYSIS_STATEMENT")}
- { HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} /> } + { downloadStatus&& HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} /> }
{toast?.show && } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js index 5c9dc189bb..f64709609c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js @@ -35,24 +35,37 @@ export const data = (statementDetails, rawData,oldData) => { values: [ { key: "STATEMENT_MATERIAL", - value: oldData ? parseFloat(oldData?.Material).toFixed(2) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length!=0?statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2):(0).toFixed(2), - textStyle:{width:"14%",textAlign:"right"}, + value: oldData + ? (oldData?.Material.includes(",") ? oldData?.Material : parseFloat(oldData?.Material).toFixed(2)) + : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length != 0 + ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2) + : parseFloat(0).toFixed(2), }, { key: "STATEMENT_LABOUR", - value: oldData ? parseFloat(oldData?.Machinery).toFixed(2) :statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length!=0? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2):(0).toFixed(2), - textStyle:{width:"14%",textAlign:"right"}, + value: oldData + ? (oldData?.Machinery?.includes(",") ? oldData?.Machinery : parseFloat(oldData?.Machinery).toFixed(2)) + : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length != 0 + ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2) + : parseFloat(0).toFixed(2), }, { key: "STATEMENT_MACHINERY", - value: oldData ? parseFloat(oldData?.Labour).toFixed(2) :statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length!=0? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2):(0).toFixed(2), - textStyle:{width:"14%",textAlign:"right"}, + value: oldData + ? (oldData?.Labour?.includes(",") ? oldData?.Labour :parseFloat(oldData?.Labour).toFixed(2)) + : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length != 0 + ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2) + : parseFloat(0).toFixed(2), }, { + key: "STATEMENT_LABOUR_CESS", - value: parseFloat(statementDetails?.sorDetails.reduce((acc,ob) => {return acc + (ob?.additionalDetails?.labourCessAmount || 0)}, 0)).toFixed(2), - textStyle:{width:"14%",textAlign:"right"}, - } + value: parseFloat( + statementDetails?.sorDetails.reduce((acc, ob) => { + return acc + (ob?.additionalDetails?.labourCessAmount || 0); + }, 0) || 0 + ).toFixed(2), + }, ], }, ], diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js index cbee53ea3a..c56c0efc7a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js @@ -402,7 +402,7 @@ const ViewUtilization = () => { //look here need to uncomment once api works fine and check if the data is coming proper // const { state,refId } = useLocation() const location = useLocation(); - const { responseData, estimateId, number } = location.state || {}; + const { responseData, estimateId, number ,oldData,downloadStatus} = location.state || {}; let statement = responseData?.statement; @@ -415,7 +415,7 @@ const ViewUtilization = () => { setToast({ show: false, label: "", error: false }); }; - const config = data(statement?.[0], statement); + const config = data(statement?.[0], statement,oldData); //if (isProjectLoading || isDetailedEstimateLoading | isDetailedEstimatesLoading) return ; const HandleDownloadPdf = () => { @@ -432,7 +432,7 @@ const ViewUtilization = () => {
{t("MB_VIEW_UTLIZATION")}
- HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} /> + {downloadStatus&& HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} />}
{toast?.show && ( From 2d57318565fa23a9aae85d00581c8aba67c23d37 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 9 Jul 2024 19:36:22 +0530 Subject: [PATCH 040/292] made works sor type as default and added link --- .../packages/Mukta/src/components/WorksCard.js | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js index 8b11245b29..c7e66ccf85 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js @@ -14,6 +14,7 @@ const ROLES = { WORKBENCH : ["MDMS_ADMIN", "MDMS_STATE_ADMIN", "MDMS_CITY_ADMIN", "MDMS_STATE_VIEW_ADMIN", "MDMS_CITY_VIEW_ADMIN"], REVISIONOFRATES : ["MDMS_ADMIN", "MDMS_CITY_ADMIN", "MDMS_STATE_VIEW_ADMIN", "MDMS_CITY_VIEW_ADMIN"], DSS: ["STADMIN"], + REVISIONOFRATES : ["MDMS_ADMIN", "MDMS_CITY_ADMIN", "MDMS_STATE_VIEW_ADMIN", "MDMS_CITY_VIEW_ADMIN"], }; // Mukta Overrriding the Works Home screen card From 9aea340d358d3807d88519cb0731ed6b625140e3 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Tue, 9 Jul 2024 21:20:47 +0530 Subject: [PATCH 041/292] fixes for breadcrumb and search sor --- .../Mukta/src/configs/UICustomizations.js | 2 +- .../RateAnalysis/src/pages/employee/index.js | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js index ca04269a1b..beacd6702e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js @@ -2824,7 +2824,7 @@ export const UICustomizations = { sorType: sortype, sorSubType: sorsubtype, sorVariant: sorvariant, - ...(sorcode && { sorCode: sorcode }), + ...(sorcode && { id: sorcode }), }; data.body.MdmsCriteria = { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/index.js index aff93b6601..9bad308a61 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/index.js @@ -19,28 +19,30 @@ const RateAnalysisBreadCumbs = ({ location }) => { content: t("WORKS_MUKTA"), show: true, }, - { path: `/${window.contextPath}/employee/rateanalysis/create-rate-analysis`, content: fromScreen ? `${t(fromScreen)} / ${t("RA_CREATE_RA")}` : t("RA_CREATE_RA"), show: location.pathname.includes("/rateanalysis/create-rate-analysis") ? true : false, isBack: fromScreen && true, + }, + { path: `/${window.contextPath}/employee/rateAnalysis/view-rate-analysis`, content: fromScreen ? `${t(fromScreen)} / ${t("RA_VIEW_RATE_HEADER")}` : t("RA_VIEW_RATE_HEADER"), - show: location.pathname.includes("/rateanalysis/view-rate-analysis") ? true : true, + show: location.pathname.includes("/view-rate-analysis") ? true : false, isBack: true, - - + }, + { path: `/${window.contextPath}/employee/rateAnalysis/search-sor`, content: t("RA_SEARCH_SOR"), - show: location.pathname.includes("/rateanalysis/search-sor") ? true : true, + show: location.pathname.includes("/search-sor") ? true : false, isBack: true, - + }, + { path: `/${window.contextPath}/employee/rateAnalysis/view-scheduled-jobs`, content: `${t("RA_SEARCH_SOR")} / ${t("RA_VIEW_JOBS")}`, - show: location.pathname.includes("/rateanalysis/view-scheduled-jobs") ? true : true, + show: location.pathname.includes("/view-scheduled-jobs") ? true : false, isBack: true, - }, + } ]; return ; }; From 0ffe5551c5eea05c0a8379283f97e012872ee99e Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Tue, 9 Jul 2024 22:15:04 +0530 Subject: [PATCH 042/292] disabling the button for revise for all as its causing some heartbeat issue in the JIT --- .../modules/RateAnalysis/src/pages/employee/SearchSOR.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js index aae57631da..581b4113d5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js @@ -139,7 +139,8 @@ const SearchSOR = () => { setPopup(true); setReviseAll(true); }} - disabled={selectedSorIds?.sorType !== "W"} + //disabled={selectedSorIds?.sorType !== "W"} + disabled={true} /> {showToast?.show && ( From 220097368bd21e48897ae36ccdfa948f0cd02c64 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Wed, 10 Jul 2024 09:07:26 +0530 Subject: [PATCH 043/292] added extra charges state management fix --- .../modules/RateAnalysis/src/components/ExtraCharges.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js index ef9fcf8f60..5e5dcdafa0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js @@ -31,7 +31,7 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { ]; const { t, register, errors, setValue, getValues, formData, unregister } = props; - const [rows, setRows] = useState(formData?.[formFieldName]?.length > 0 ? formData?.[formFieldName] : initialState); + const [rows, setRows] = useState(formData?.[formFieldName]?.length > 0 ? formData?.[formFieldName] : []); useEffect(() => { if(window.location.href.includes("update")) @@ -110,7 +110,7 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { const addRow = () => { const newRow = { - key: rows[rows?.length -1]?.key +1, + key: rows.length > 0 ? rows[rows?.length -1]?.key +1 : 1, description: "", applicableOn: "", calculationType: "", From 887426a0e245ff4bf30d1438b0d20a4631a49622 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Wed, 10 Jul 2024 14:55:43 +0530 Subject: [PATCH 044/292] UCEM-375 : updated the info card at analysis and utilization statement --- .../employee/ViewAnalysisStatementPage.js | 21 ++++++++++++++++++- .../src/pages/employee/viewUtilization.js | 20 ++++++++++++++++++ .../src/atoms/CitizenInfoLabel.js | 20 +++++++++++------- 3 files changed, 53 insertions(+), 8 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js index 643f4ad4c3..a1b6fb0990 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js @@ -1,5 +1,5 @@ import React, { Fragment, useState, useEffect, useRef } from "react"; -import { Loader, Header, MultiLink, StatusTable, Card, Row, HorizontalNav, ViewDetailsCard, Toast, ActionBar, Menu, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Loader, Header, MultiLink, StatusTable, Card, Row, HorizontalNav, ViewDetailsCard, Toast, ActionBar, Menu, SubmitBar, CitizenInfoLabel } from "@egovernments/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { ViewComposer } from "@egovernments/digit-ui-react-components"; import { data } from "../../configs/viewStatementConfig"; @@ -445,6 +445,16 @@ const ViewAnalysisStatement = () => { // }, // }; +let InfoCardData = { + "Info": "STATEMENT_ANALYSIS_INFO_LABEL", + "reasons": [ + "STATEMENT_ANALYSIS_INFO_1", + "STATEMENT_ANALYSIS_INFO_2", + "STATEMENT_ANALYSIS_INFO_3", + "STATEMENT_ANALYSIS_INFO_4" + ] +} + const config = data(statement?.[0],statement,oldData); //if (isProjectLoading || isDetailedEstimateLoading | isDetailedEstimatesLoading) return ; @@ -457,6 +467,15 @@ const ViewAnalysisStatement = () => { { downloadStatus&& HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} /> }
+
+ +

{t(InfoCardData?.Info)}

+ {InfoCardData?.reasons.map((reason, index) => ( +

{t(reason)}

+ ))} +
} + /> +
{toast?.show && } <> diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js index c56c0efc7a..7f8a1a38d8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js @@ -12,6 +12,7 @@ import { ActionBar, Menu, SubmitBar, + CitizenInfoLabel, } from "@egovernments/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { ViewComposer } from "@egovernments/digit-ui-react-components"; @@ -417,6 +418,16 @@ const ViewUtilization = () => { const config = data(statement?.[0], statement,oldData); + let InfoCardData = { + "Info": "STATEMENT_UTILIZATION_INFO_LABEL", + "reasons": [ + "STATEMENT_UTILIZATION_INFO_1", + "STATEMENT_UTILIZATION_INFO_2", + "STATEMENT_UTILIZATION_INFO_3", + "STATEMENT_UTILIZATION_INFO_4" + ] + } + //if (isProjectLoading || isDetailedEstimateLoading | isDetailedEstimatesLoading) return ; const HandleDownloadPdf = () => { // Digit.Utils.downloadEgovPDF(`analysisUtilization/analysis-utilization?tenantId=${tenantId}&referenceId=${formId}`,{referenceId:formId},`utilization-${refId}.pdf`) @@ -434,6 +445,15 @@ const ViewUtilization = () => { {downloadStatus&& HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} />}
+
+ +

{t(InfoCardData?.Info)}

+ {InfoCardData?.reasons.map((reason, index) => ( +

{t(reason)}

+ ))} +
} + /> +
{toast?.show && ( { const showInfo = props?.showInfo ? props?.showInfo : true; return ( -
- {showInfo &&
- -

{props?.info}

-
- } -

{props?.text}

+
+ {showInfo && ( +
+ +

{props?.info}

+
+ )} + {props?.textType === "Component" ? ( + props?.text + ) : ( +

{props?.text}

+ )}
+ ); }; From 7cd55dcca0f82a6486c624332cac8bd68e6e878b Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Wed, 10 Jul 2024 16:07:37 +0530 Subject: [PATCH 045/292] localization code changed --- .../RateAnalysis/src/configs/ViewRateAnalysisConfig.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewRateAnalysisConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewRateAnalysisConfig.js index 28979cbdaa..dccf873b77 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewRateAnalysisConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewRateAnalysisConfig.js @@ -91,15 +91,15 @@ export const viewRateAnalysisdataconfig = (data, rateAnalysis, sorId, t,infoCard }, { key: "RA_SOR_TYPE", - value: rateAnalysis?.sorType ? t(`SOR_TYPE_${rateAnalysis?.sorType}`) : "NA", + value: rateAnalysis?.sorType ? t(`WORKS_SOR_TYPE_${rateAnalysis?.sorType}`) : "NA", }, { key: "RA_SOR_SUBTYPE", - value: rateAnalysis?.sorSubType ? t(`SOR_SUBTYPE_${rateAnalysis?.sorSubType}`) : "NA", + value: rateAnalysis?.sorSubType ? t(`WORKS_SOR_SUBTYPE_${rateAnalysis?.sorSubType}`) : "NA", }, { key: "RA_SOR_VARIENT", - value: rateAnalysis?.sorVariant && rateAnalysis?.sorVariant != "NA" ? t(`SOR_VARIENT_${rateAnalysis?.sorVariant}`) : "NA", + value: rateAnalysis?.sorVariant && rateAnalysis?.sorVariant != "NA" ? t(`WORKS_SOR_VARIANT_${rateAnalysis?.sorVariant}`) : t(`WORKS_SOR_VARIANT_NA`), }, { From 38005590c68ae16773edac9ccdd8100149fdebf2 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Wed, 10 Jul 2024 18:04:22 +0530 Subject: [PATCH 046/292] removed comments and implement ed analysis pdf --- .../lib/blocs/employee/mb/mb_crud.dart | 91 +- .../lib/blocs/employee/mb/mb_detail_view.dart | 141 +-- .../blocs/employee/mb/measurement_book.dart | 54 +- .../lib/blocs/employee/mb/project_type.dart | 2 +- .../lib/blocs/work_orders/work_order_pdf.dart | 65 + .../work_orders/work_order_pdf.freezed.dart | 174 ++- .../repositories/employee_repository/mb.dart | 9 +- .../employee_repository/mdms.dart | 5 +- .../employee_repository/work_order.dart | 55 +- .../lib/pages/employee/mb_config_warning.dart | 89 +- .../lib/pages/employee/mb_detail_page.dart | 137 +-- .../lib/pages/employee/mb_filter_page.dart | 29 +- .../lib/pages/employee/mb_inbox.dart | 56 +- .../lib/pages/employee/mb_muster_screen.dart | 76 +- .../pages/work_order/view_work_details.dart | 1060 +++++++++-------- .../lib/utils/employee/mb/mb_logic.dart | 248 +--- .../i18_key_constants.dart | 3 + 17 files changed, 919 insertions(+), 1375 deletions(-) diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart index 5b71e1edbd..f8715201c1 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart @@ -37,96 +37,7 @@ class MeasurementCrudBloc url: event.type== MBScreen.update? Urls.measurementService.updateMeasurement:Urls.measurementService.createMeasurement, body: { "measurements": [MBLogic.measurementToMap(event.measurement)] - // "measurements": [ - // { - // "id": "23ed34a6-368c-40f7-903b-62e2445aa9b5", - // "tenantId": "od.testing", - // "measurementNumber": "MB/2023-24/000256", - // "physicalRefNumber": null, - // "referenceId": "WO/2023-24/001412", - // "entryDate": 1710159043609, - // "measures": [ - // { - // "id": "d4632a70-c1c5-4cd7-bbc3-b2b2a9d75807", - // // "referenceId": "23ed34a6-368c-40f7-903b-62e2445aa9b5", - // "targetId": "9abc43c4-4c41-49ff-8528-08dd6bc138f9", - // "length": 1, - // "breadth": 1, - // "height": 1, - // "numItems": 7, - // "currentValue": 7, - // "cumulativeValue": 7, - // "isActive": true, - // "comments": null, - // "documents": null, - // // "auditDetails": { - // // "createdBy": "4ec9da90-ef66-47c8-8a0b-eb87d8cf9c31", - // // "lastModifiedBy": "81b1ce2d-262d-4632-b2a3-3e8227769a11", - // // "createdTime": 1709822340529, - // // "lastModifiedTime": 1710159043886 - // // }, - // "additionalDetails": { - // "type": "SOR", - // "mbAmount": 472.21999999999997, - // "measureLineItems": [ - // { - // "width": 0, - // "height": 0, - // "length": 0, - // "number": "2.5", - // "quantity": 2.5, - // "measurelineitemNo": 0 - // }, - // { - // "width": 0, - // "height": 0, - // "length": "1.5", - // "number": 0, - // "quantity": 1.5, - // "measurelineitemNo": 1 - // }, - // { - // "width": 0, - // "height": 0, - // "length": 0, - // "number": "2", - // "quantity": 2, - // "measurelineitemNo": 2 - // }, - // { - // "width": "1", - // "height": 0, - // "length": 0, - // "number": 0, - // "quantity": 1, - // "measurelineitemNo": 3 - // } - // ] - // } - // } - // ], - // "isActive": true, - // "documents": [], - // // "auditDetails": { - // // "createdBy": "4ec9da90-ef66-47c8-8a0b-eb87d8cf9c31", - // // "lastModifiedBy": "81b1ce2d-262d-4632-b2a3-3e8227769a11", - // // "createdTime": 1709822340529, - // // "lastModifiedTime": 1710159043886 - // // }, - // "additionalDetails": { - // "endDate": 1710700199999, - // "sorAmount": 472.21999999999997, - // "startDate": 1710095400000, - // "totalAmount": 472.21999999999997, - // "nonSorAmount": 0, - // "musterRollNumber": [] - // }, - // "wfStatus": "SUBMITTED", - // "workflow": { - // "action": "VERIFY_AND_FORWARD" - // } - // } - // ], + }, ); diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart index bd445612c0..db2af8ce66 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart @@ -52,7 +52,7 @@ class MeasurementDetailBloc "contractNumber": event.contractNumber, "tenantId": GlobalVariables.tenantId, "measurementNumber": event.measurementNumber, - "key": event.screenType == MBScreen.create?"":"View", + "key": event.screenType == MBScreen.create ? "" : "View", }); List data; @@ -67,8 +67,6 @@ class MeasurementDetailBloc List>> sorList = MBLogic.getSors(data); - print(sorList); - emit( MeasurementDetailState.loaded( 0, @@ -167,8 +165,6 @@ class MeasurementDetailBloc state.maybeMap( orElse: () => null, loaded: (value) { - print(event.sorId); - print(event.type); List mk = []; if (event.single) { @@ -238,9 +234,6 @@ class MeasurementDetailBloc state.maybeMap( orElse: () => null, loaded: (value) { - print(event.sorId); - print(event.type); - if (event.type != "NonSor") { List data = MBLogic.deleteMeasurementLine( value.sor!, @@ -286,27 +279,6 @@ class MeasurementDetailBloc state.maybeMap( orElse: () => null, loaded: (value) { - // double target = MBLogic.calculateTotalQuantityAndSkip( - // value.sor!, - // event.sorId, - // event.filteredMeasurementMeasureId!, - // event.measurementLineIndex!, - // ); - // print("money: $target"); - // print(event.sorId); - // print(event.type); - - // double currentLineQty = double.parse(calulateQuantity( - // height: event.height, - // width: event.width, - // length: event.length, - // number: event.number) - // .toString()); - - // if ((currentLineQty + target) <= - // (double.parse(event.noOfUnit.toString()) - - // double.parse(event.cummulativePrevQty.toString()))) { - // MeasureLineItem ml = MeasureLineItem( width: event.width, height: event.height, @@ -350,13 +322,6 @@ class MeasurementDetailBloc qtyErrorMsg: 1, )); } - // - // } else { - // emit(value.copyWith( - // warningMsg: - // "The current quantity of MB entry should not exceed the approved quantity minus the consumed quantity.", - // )); - // } }, ); } catch (e) { @@ -511,27 +476,6 @@ class MeasurementDetailBloc // Return the original list if no modification is made return sorObjects; } -//temp for bug fixes - // SorObject? findSorObjectById( - // List filteredMeasurementsList, String sorId) { - // for (FilteredMeasurements filteredMeasurements - // in filteredMeasurementsList) { - // List mutableList = []; - // for (FilteredMeasurementsMeasure measure - // in filteredMeasurements.measures ?? []) { - // if (measure.contracts!.first.estimates!.first.sorId == sorId) { - // mutableList.add(measure); - // return SorObject( - // id: measure.contracts!.first.estimates!.first.id, - // sorId: measure.contracts!.first.estimates!.first.sorId, - // filteredMeasurementsMeasure: mutableList - // // Fill in the properties of SorObject based on the found measure - // ); - // } - // } - // } - // return null; // If no SorObject with the given sorId is found - // } SorObject? findSorObjectById( List filteredMeasurementsList, String sorId) { @@ -609,13 +553,6 @@ class MeasurementDetailBloc double l = double.parse(length.toString()); return double.parse((h * n * w * l).toString()).toStringAsFixed(4); - // return double.parse( - // (double.parse(height.toString()) * - // double.parse(width.toString()) * - // double.parse(length.toString()) * - // double.parse(number.toString())) - // .toString()) - // .toStringAsFixed(3); } } @@ -634,10 +571,6 @@ class MeasurementDetailBloc TotalEstimate nonSorData = MBLogic.calculateTotalQuantity( value.nonSor!, "sorId", "filteredMeasurementsMeasureId", 0); -// TODO:Testing purpose - - print(sorData); - final ss = event.type == "NonSor" ? nonSorData.sorObjectList .firstWhere((element) => element.sorId == event.sorId) @@ -655,9 +588,6 @@ class MeasurementDetailBloc double.parse(element.numItems.toString()).toDouble(); return sum + m; }); - ; - - print(ss); if (ss <= ((double.parse(event.noOfUnit.toString()) - @@ -689,8 +619,6 @@ class MeasurementDetailBloc }, ).toList(); -// - emit( value.copyWith( data: newData, @@ -706,48 +634,6 @@ class MeasurementDetailBloc warningMsg: "mbQtyErrMsg", )); } - -// end of this - -//update data -// previous algo [working prevoius] -// List newData = value.data.mapIndexed( -// (index, e) { -// if (index == 0) { -// return FilteredMeasurements( -// tenantId: e.tenantId, -// id: e.id, -// wfStatus: e.wfStatus, -// mbNumber: e.mbNumber, -// totalAmount: (sorData.totalAmount + nonSorData.totalAmount), -// totalNorSorAmount: nonSorData.totalAmount, -// totalSorAmount: sorData.totalAmount, -// musterRollNumber: e.musterRollNumber, -// endDate: e.endDate, -// startDate: e.startDate, -// entryDate: e.entryDate, -// referenceId: e.referenceId, -// physicalRefNumber: e.physicalRefNumber, -// measures: e.measures, -// documents: e.documents?.map((e) => e).toList(), -// ); -// } else { -// return e; -// } -// }, -// ).toList(); - -// // - -// emit( -// value.copyWith( -// data: newData, -// warningMsg: null, -// sor: sorData.sorObjectList, -// nonSor: nonSorData.sorObjectList, -// ), -// ); -// end of previoud algo }, ); } on DioError catch (e) { @@ -766,29 +652,6 @@ class MeasurementDetailBloc state.maybeMap( orElse: () => null, loaded: (value) { -//update data - - // List updatedDocuments = [ - // ...value.data.first.documents ?? [] - // ]; // Create a copy of existing documents - -// Add or update the new documents - // if (event.workflowDocument != null && - // event.workflowDocument.isNotEmpty) { - // if (updatedDocuments.isEmpty) { - // // If updatedDocuments is empty, assign event.workflowDocument directly - // updatedDocuments = List.from(event.workflowDocument); - // } else { - // // Iterate over each new document - // // for (WorkflowDocument document in event.workflowDocument) { - - // // updatedDocuments.add(document); - // // } - - // updatedDocuments.clear(); - // updatedDocuments = List.from(event.workflowDocument); - // } - // } List updatedDocuments = []; updatedDocuments = List.from(event.workflowDocument); @@ -819,8 +682,6 @@ class MeasurementDetailBloc }, ).toList(); -// - print(newData); emit( value.copyWith( data: newData, diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.dart b/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.dart index 9bb271e619..ab8dc30465 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.dart @@ -52,25 +52,7 @@ class MeasurementInboxBloc final MBInboxResponse res = await MBRepository(client.init()).fetchMbInbox( url: Urls.measurementService.measurementInbox, body: s, - // "RequestInfo": { - // "apiId": "Rainmaker", - // "authToken": "db570c2b-950a-4084-87fc-6fa7482a22f7", - // "userInfo": { - // "id": 357, - // "uuid": "4ec9da90-ef66-47c8-8a0b-eb87d8cf9c31", - // "userName": "EMPJIT", - // "name": "Sumana Naga sai", - // "mobileNumber": "7895456214", - // "emailId": null, - // "locale": null, - // "type": "EMPLOYEE", - // "active": true, - // "tenantId": "od.testing", - // "permanentCity": null - // }, - // "msgId": "1708076019861|en_IN", - // "plainAccessRequest": {} - // } + ); if (event.offset == 0) { emit(MeasurementInboxState.loaded( @@ -124,22 +106,7 @@ class MeasurementInboxBloc emit(const MeasurementInboxState.loading()); } - // final s = { - // "inbox": { - // "tenantId": "od.testing", - // "moduleSearchCriteria": { - // "tenantId": "od.testing", - // "status": event.status, - // "ward": event.ward, - // }, - // "processSearchCriteria": { - // "businessService": ["MB"], - // "moduleName": "measurement-service" - // }, - // "limit": 10, - // "offset": event.offset - // } - // }; + final MBInboxResponse res = await MBRepository(client.init()).fetchMbInbox( url: Urls.measurementService.measurementInbox, @@ -205,22 +172,7 @@ class MeasurementInboxBloc return null; }, loaded: (value) async { - // final s = { - // "inbox": { - // "tenantId": "od.testing", - // "moduleSearchCriteria": { - // "tenantId": "od.testing", - // "status": value.status, - // "ward": value.ward, - // }, - // "processSearchCriteria": { - // "businessService": ["MB"], - // "moduleName": "measurement-service" - // }, - // "limit": 10, - // "offset": event.offset - // } - // }; + value.data['inbox']!['offset'] = event.offset; final MBInboxResponse res = await MBRepository(client.init()) .fetchMbInbox( diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart b/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart index c76fb67f1d..4ee5a6329b 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart @@ -47,7 +47,7 @@ class ProjectTypeBloc extends Bloc { } }, ); - print(res); + emit( ProjectTypeState.loaded(res), diff --git a/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart b/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart index 5f42c6bff8..a011412743 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:convert'; import 'dart:io'; import 'package:dio/dio.dart'; @@ -17,6 +18,8 @@ typedef WorkOrderPDFEmitter = Emitter; class WorkOrderPDFBloc extends Bloc { WorkOrderPDFBloc() : super(const WorkOrderPDFState.initial()) { on(_onWorkOrderPDF); + on(_onAnalysisPDF); + } FutureOr _onWorkOrderPDF( @@ -45,12 +48,74 @@ class WorkOrderPDFBloc extends Bloc { emit(WorkOrderPDFState.error(e.response?.data['Errors'][0]['code'])); } } + + FutureOr _onAnalysisPDF( + PDFEventAnalysis event, + WorkOrderPDFEmitter emit, + ) async { + Client client = Client(); + try { + emit(const WorkOrderPDFState.initial()); + var selectedLocale = await GlobalVariables.selectedLocale(); + await CommonRepository(client.init()).downloadPDF( + url: '${Urls.commonServices.pdfDownload}/analysisStatement/analysis-statement', + queryParameters: { + "referenceId": event.estimateId.toString(), + "tenantId": event.tenantId.toString(), + }, + fileName: 'WorkOrder.pdf', + options: Options(extra: { + "userInfo": GlobalVariables.userRequestModel, + "accessToken": GlobalVariables.authToken, + "msgId": "20170310130900|$selectedLocale" + }, headers: { + HttpHeaders.contentTypeHeader: 'application/json', + }, responseType: ResponseType.bytes), + ); + } on DioError catch (e) { + + if (e.response != null) { + final responseData = e.response?.data; + final statusCode = e.response?.statusCode; + + // Logging the error for debugging purposes + + + if (responseData is List) { + // Decode the byte array to a string + String responseString = utf8.decode(responseData); + + // Parse the JSON string to a Map + final Map responseJson = jsonDecode(responseString); + + // Extracting and emitting specific error code if available + if (responseJson.containsKey('Errors')) { + final errorCode = responseJson['Errors'][0]['message']; + emit(WorkOrderPDFState.error(errorCode)); + } else { + emit(WorkOrderPDFState.error('Unexpected error format: $responseString')); + } + } else { + emit(WorkOrderPDFState.error('Unexpected response type: ${e.response?.data}')); + } + } else { + + + emit(WorkOrderPDFState.error(e.message)); + } + } + catch (e) { + emit(const WorkOrderPDFState.error("Something went wrong")); + } + } } @freezed class WorkOrderPDFEvent with _$WorkOrderPDFEvent { const factory WorkOrderPDFEvent.onWorkOrderPDF( {String? tenantId, String? contractId}) = PDFEventWorkOrder; + const factory WorkOrderPDFEvent.onAnalysisPDF( + {String? tenantId, String? estimateId}) = PDFEventAnalysis; } @freezed diff --git a/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.freezed.dart b/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.freezed.dart index bd5fb9a72a..e25a7207b9 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.freezed.dart @@ -17,37 +17,43 @@ final _privateConstructorUsedError = UnsupportedError( /// @nodoc mixin _$WorkOrderPDFEvent { String? get tenantId => throw _privateConstructorUsedError; - String? get contractId => throw _privateConstructorUsedError; @optionalTypeArgs TResult when({ required TResult Function(String? tenantId, String? contractId) onWorkOrderPDF, + required TResult Function(String? tenantId, String? estimateId) + onAnalysisPDF, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? whenOrNull({ TResult? Function(String? tenantId, String? contractId)? onWorkOrderPDF, + TResult? Function(String? tenantId, String? estimateId)? onAnalysisPDF, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeWhen({ TResult Function(String? tenantId, String? contractId)? onWorkOrderPDF, + TResult Function(String? tenantId, String? estimateId)? onAnalysisPDF, required TResult orElse(), }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult map({ required TResult Function(PDFEventWorkOrder value) onWorkOrderPDF, + required TResult Function(PDFEventAnalysis value) onAnalysisPDF, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? mapOrNull({ TResult? Function(PDFEventWorkOrder value)? onWorkOrderPDF, + TResult? Function(PDFEventAnalysis value)? onAnalysisPDF, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeMap({ TResult Function(PDFEventWorkOrder value)? onWorkOrderPDF, + TResult Function(PDFEventAnalysis value)? onAnalysisPDF, required TResult orElse(), }) => throw _privateConstructorUsedError; @@ -63,7 +69,7 @@ abstract class $WorkOrderPDFEventCopyWith<$Res> { WorkOrderPDFEvent value, $Res Function(WorkOrderPDFEvent) then) = _$WorkOrderPDFEventCopyWithImpl<$Res, WorkOrderPDFEvent>; @useResult - $Res call({String? tenantId, String? contractId}); + $Res call({String? tenantId}); } /// @nodoc @@ -80,17 +86,12 @@ class _$WorkOrderPDFEventCopyWithImpl<$Res, $Val extends WorkOrderPDFEvent> @override $Res call({ Object? tenantId = freezed, - Object? contractId = freezed, }) { return _then(_value.copyWith( tenantId: freezed == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable as String?, - contractId: freezed == contractId - ? _value.contractId - : contractId // ignore: cast_nullable_to_non_nullable - as String?, ) as $Val); } } @@ -173,6 +174,8 @@ class _$PDFEventWorkOrder implements PDFEventWorkOrder { TResult when({ required TResult Function(String? tenantId, String? contractId) onWorkOrderPDF, + required TResult Function(String? tenantId, String? estimateId) + onAnalysisPDF, }) { return onWorkOrderPDF(tenantId, contractId); } @@ -181,6 +184,7 @@ class _$PDFEventWorkOrder implements PDFEventWorkOrder { @optionalTypeArgs TResult? whenOrNull({ TResult? Function(String? tenantId, String? contractId)? onWorkOrderPDF, + TResult? Function(String? tenantId, String? estimateId)? onAnalysisPDF, }) { return onWorkOrderPDF?.call(tenantId, contractId); } @@ -189,6 +193,7 @@ class _$PDFEventWorkOrder implements PDFEventWorkOrder { @optionalTypeArgs TResult maybeWhen({ TResult Function(String? tenantId, String? contractId)? onWorkOrderPDF, + TResult Function(String? tenantId, String? estimateId)? onAnalysisPDF, required TResult orElse(), }) { if (onWorkOrderPDF != null) { @@ -201,6 +206,7 @@ class _$PDFEventWorkOrder implements PDFEventWorkOrder { @optionalTypeArgs TResult map({ required TResult Function(PDFEventWorkOrder value) onWorkOrderPDF, + required TResult Function(PDFEventAnalysis value) onAnalysisPDF, }) { return onWorkOrderPDF(this); } @@ -209,6 +215,7 @@ class _$PDFEventWorkOrder implements PDFEventWorkOrder { @optionalTypeArgs TResult? mapOrNull({ TResult? Function(PDFEventWorkOrder value)? onWorkOrderPDF, + TResult? Function(PDFEventAnalysis value)? onAnalysisPDF, }) { return onWorkOrderPDF?.call(this); } @@ -217,6 +224,7 @@ class _$PDFEventWorkOrder implements PDFEventWorkOrder { @optionalTypeArgs TResult maybeMap({ TResult Function(PDFEventWorkOrder value)? onWorkOrderPDF, + TResult Function(PDFEventAnalysis value)? onAnalysisPDF, required TResult orElse(), }) { if (onWorkOrderPDF != null) { @@ -232,7 +240,6 @@ abstract class PDFEventWorkOrder implements WorkOrderPDFEvent { @override String? get tenantId; - @override String? get contractId; @override @JsonKey(ignore: true) @@ -240,6 +247,157 @@ abstract class PDFEventWorkOrder implements WorkOrderPDFEvent { throw _privateConstructorUsedError; } +/// @nodoc +abstract class _$$PDFEventAnalysisCopyWith<$Res> + implements $WorkOrderPDFEventCopyWith<$Res> { + factory _$$PDFEventAnalysisCopyWith( + _$PDFEventAnalysis value, $Res Function(_$PDFEventAnalysis) then) = + __$$PDFEventAnalysisCopyWithImpl<$Res>; + @override + @useResult + $Res call({String? tenantId, String? estimateId}); +} + +/// @nodoc +class __$$PDFEventAnalysisCopyWithImpl<$Res> + extends _$WorkOrderPDFEventCopyWithImpl<$Res, _$PDFEventAnalysis> + implements _$$PDFEventAnalysisCopyWith<$Res> { + __$$PDFEventAnalysisCopyWithImpl( + _$PDFEventAnalysis _value, $Res Function(_$PDFEventAnalysis) _then) + : super(_value, _then); + + @pragma('vm:prefer-inline') + @override + $Res call({ + Object? tenantId = freezed, + Object? estimateId = freezed, + }) { + return _then(_$PDFEventAnalysis( + tenantId: freezed == tenantId + ? _value.tenantId + : tenantId // ignore: cast_nullable_to_non_nullable + as String?, + estimateId: freezed == estimateId + ? _value.estimateId + : estimateId // ignore: cast_nullable_to_non_nullable + as String?, + )); + } +} + +/// @nodoc + +class _$PDFEventAnalysis implements PDFEventAnalysis { + const _$PDFEventAnalysis({this.tenantId, this.estimateId}); + + @override + final String? tenantId; + @override + final String? estimateId; + + @override + String toString() { + return 'WorkOrderPDFEvent.onAnalysisPDF(tenantId: $tenantId, estimateId: $estimateId)'; + } + + @override + bool operator ==(dynamic other) { + return identical(this, other) || + (other.runtimeType == runtimeType && + other is _$PDFEventAnalysis && + (identical(other.tenantId, tenantId) || + other.tenantId == tenantId) && + (identical(other.estimateId, estimateId) || + other.estimateId == estimateId)); + } + + @override + int get hashCode => Object.hash(runtimeType, tenantId, estimateId); + + @JsonKey(ignore: true) + @override + @pragma('vm:prefer-inline') + _$$PDFEventAnalysisCopyWith<_$PDFEventAnalysis> get copyWith => + __$$PDFEventAnalysisCopyWithImpl<_$PDFEventAnalysis>(this, _$identity); + + @override + @optionalTypeArgs + TResult when({ + required TResult Function(String? tenantId, String? contractId) + onWorkOrderPDF, + required TResult Function(String? tenantId, String? estimateId) + onAnalysisPDF, + }) { + return onAnalysisPDF(tenantId, estimateId); + } + + @override + @optionalTypeArgs + TResult? whenOrNull({ + TResult? Function(String? tenantId, String? contractId)? onWorkOrderPDF, + TResult? Function(String? tenantId, String? estimateId)? onAnalysisPDF, + }) { + return onAnalysisPDF?.call(tenantId, estimateId); + } + + @override + @optionalTypeArgs + TResult maybeWhen({ + TResult Function(String? tenantId, String? contractId)? onWorkOrderPDF, + TResult Function(String? tenantId, String? estimateId)? onAnalysisPDF, + required TResult orElse(), + }) { + if (onAnalysisPDF != null) { + return onAnalysisPDF(tenantId, estimateId); + } + return orElse(); + } + + @override + @optionalTypeArgs + TResult map({ + required TResult Function(PDFEventWorkOrder value) onWorkOrderPDF, + required TResult Function(PDFEventAnalysis value) onAnalysisPDF, + }) { + return onAnalysisPDF(this); + } + + @override + @optionalTypeArgs + TResult? mapOrNull({ + TResult? Function(PDFEventWorkOrder value)? onWorkOrderPDF, + TResult? Function(PDFEventAnalysis value)? onAnalysisPDF, + }) { + return onAnalysisPDF?.call(this); + } + + @override + @optionalTypeArgs + TResult maybeMap({ + TResult Function(PDFEventWorkOrder value)? onWorkOrderPDF, + TResult Function(PDFEventAnalysis value)? onAnalysisPDF, + required TResult orElse(), + }) { + if (onAnalysisPDF != null) { + return onAnalysisPDF(this); + } + return orElse(); + } +} + +abstract class PDFEventAnalysis implements WorkOrderPDFEvent { + const factory PDFEventAnalysis( + {final String? tenantId, final String? estimateId}) = _$PDFEventAnalysis; + + @override + String? get tenantId; + String? get estimateId; + @override + @JsonKey(ignore: true) + _$$PDFEventAnalysisCopyWith<_$PDFEventAnalysis> get copyWith => + throw _privateConstructorUsedError; +} + /// @nodoc mixin _$WorkOrderPDFState { @optionalTypeArgs diff --git a/frontend/works_shg_app/lib/data/repositories/employee_repository/mb.dart b/frontend/works_shg_app/lib/data/repositories/employee_repository/mb.dart index 0410c954c8..23375b300e 100644 --- a/frontend/works_shg_app/lib/data/repositories/employee_repository/mb.dart +++ b/frontend/works_shg_app/lib/data/repositories/employee_repository/mb.dart @@ -18,7 +18,6 @@ class MBRepository { required String url, }) async { try { - //Dio http=Dio(); final res = await _client.post( url, queryParameters: queryParameters, @@ -54,9 +53,6 @@ class MBRepository { }), ); - //return res.data; - // return MBInboxResponse.fromJson(res.data); - return MBDetailResponse.fromJson(res.data); } on DioError catch (ex) { // Assuming there will be an errorMessage property in the JSON object @@ -70,7 +66,6 @@ class MBRepository { required String url, }) async { try { - //Dio http=Dio(); final res = await _client.post( url, queryParameters: queryParameters, @@ -81,12 +76,10 @@ class MBRepository { }), ); - //return res.data; - print(res.data['measurements']); return Measurement.fromJson(res.data['measurements'][0]); } on DioError catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } } -} \ No newline at end of file +} diff --git a/frontend/works_shg_app/lib/data/repositories/employee_repository/mdms.dart b/frontend/works_shg_app/lib/data/repositories/employee_repository/mdms.dart index 68e6114721..64aaa7cd6d 100644 --- a/frontend/works_shg_app/lib/data/repositories/employee_repository/mdms.dart +++ b/frontend/works_shg_app/lib/data/repositories/employee_repository/mdms.dart @@ -17,7 +17,7 @@ class MBMDMSRepository { required String url, }) async { try { - //Dio http=Dio(); + final res = await _client.post( url, queryParameters: queryParameters, @@ -25,8 +25,7 @@ class MBMDMSRepository { options: Options(extra: {"authToken": GlobalVariables.authToken}), ); - //return res.data; - // return MBInboxResponse.fromJson(res.data); + return MBProjectType.fromJson(res.data); } on DioError catch (ex) { diff --git a/frontend/works_shg_app/lib/data/repositories/employee_repository/work_order.dart b/frontend/works_shg_app/lib/data/repositories/employee_repository/work_order.dart index d294888626..977567f1a9 100644 --- a/frontend/works_shg_app/lib/data/repositories/employee_repository/work_order.dart +++ b/frontend/works_shg_app/lib/data/repositories/employee_repository/work_order.dart @@ -17,7 +17,7 @@ class WORepository { required String url, }) async { try { - //Dio http=Dio(); + final res = await _client.post( url, queryParameters: queryParameters, @@ -28,7 +28,7 @@ class WORepository { }), ); - // return res.data; + return WOInboxResponse.fromJson(res.data); } on DioError catch (ex) { // Assuming there will be an errorMessage property in the JSON object @@ -36,55 +36,4 @@ class WORepository { } } - // FutureOr fetchMbDetail({ - // Map? queryParameters, - // dynamic body, - // required String url, - // }) async { - // try { - // //Dio http=Dio(); - // final res = await _client.post( - // url, - // queryParameters: queryParameters, - // data: body ?? {}, - // options: Options(extra: { - // "userInfo": GlobalVariables.userRequestModel, - // "accessToken": GlobalVariables.authToken - // }), - // ); - - // //return res.data; - // // return MBInboxResponse.fromJson(res.data); - - // return MBDetailResponse.fromJson(res.data); - // } on DioError catch (ex) { - // // Assuming there will be an errorMessage property in the JSON object - // rethrow; - // } - // } - - // FutureOr updateMeasurement({ - // Map? queryParameters, - // dynamic body, - // required String url, - // }) async { - // try { - // //Dio http=Dio(); - // final res = await _client.post( - // url, - // queryParameters: queryParameters, - // data: body ?? {}, - // options: Options(extra: { - // "userInfo": GlobalVariables.userRequestModel, - // "accessToken": GlobalVariables.authToken - // }), - // ); - - // //return res.data; - // return Measurement.fromJson(res.data); - // } on DioError catch (ex) { - // // Assuming there will be an errorMessage property in the JSON object - // rethrow; - // } - // } } diff --git a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart index 2bd7e923f0..ae0d94e4e9 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart @@ -142,9 +142,6 @@ class _MBTypeConfirmationPageState extends State { ); Notifiers.getToastMessage( context, - // AppLocalizations.of(context) - // .translate(i18.login.invalidOTP), - value.error.toString(), 'ERROR', ); @@ -223,9 +220,11 @@ class _MBTypeConfirmationPageState extends State { workFlow: WorkFlow( action: widget.nextActions!.action, comment: comment.text, - assignees:selectedAssignee!=null? selectedAssignee?.uuid!=null? [ - selectedAssignee!.uuid! - ]:null:null, + assignees: selectedAssignee != null + ? selectedAssignee?.uuid != null + ? [selectedAssignee!.uuid!] + : null + : null, documents: supportDocument, ), type: widget.type, @@ -239,17 +238,21 @@ class _MBTypeConfirmationPageState extends State { action: widget.nextActions!.action, comment: comment.text, - assignees: selectedAssignee!=null? selectedAssignee?.uuid!=null? [ - selectedAssignee!.uuid! - ]:null:null, + assignees: selectedAssignee != + null + ? selectedAssignee?.uuid != + null + ? [ + selectedAssignee! + .uuid! + ] + : null + : null, documents: supportDocument, ), type: widget.type, ), ); - // Navigator.of(context) - // .popUntil((route) => route is HomeRoute); - // context.router.push(const HomeRoute()); } }, ), @@ -296,18 +299,6 @@ class _MBTypeConfirmationPageState extends State { return state.maybeMap( orElse: () => const SizedBox.shrink(), loaded: (value) { - // HRMSEmployee selectedAssignee = HRMSEmployee( - // id: value.hrmsEmployee!.first.id, - // uuid: value.hrmsEmployee!.first.uuid, - // code: value.hrmsEmployee!.first.code, - // isActive: value.hrmsEmployee!.first.isActive, - // dateOfAppointment: - // value.hrmsEmployee!.first.dateOfAppointment, - // employeeType: - // value.hrmsEmployee!.first.employeeType, - // ); - - // selectedAssignee=selectedAssignee; if (value.hrmsEmployee != null && value.hrmsEmployee!.isNotEmpty) { return DigitDropdown( @@ -323,17 +314,14 @@ class _MBTypeConfirmationPageState extends State { .map((e) => e) .toList(), valueMapper: (value) { - if (value - .employeeUser!=null) { + if (value.employeeUser != null) { return t.translate(value - .employeeUser!.name - .toString()); + .employeeUser!.name + .toString()); } else { - return t.translate( + return t.translate( value.code.toString()); } - - }, ); } else { @@ -356,27 +344,6 @@ class _MBTypeConfirmationPageState extends State { ? true : false, ), - // SizedBox( - // height: 300, - // child: SHGFilePicker( - // callBack: (List? fileStore) { - // if (fileStore != null && fileStore.isNotEmpty) { - // // setState(() { - // photo = fileStore! - // .map((e) => e.fileStoreId!) - // .toList(); - // // }); - // } else { - // setState(() { - // photo = []; - // }); - // } - // }, - // extensions: const ['jpg', 'png', 'jpeg'], - // moduleName: 'works', - // label: t.translate("CLICK_TO_ADD_PHOTO"), - // ), - // ), widget.nextActions!.action != "EDIT/RE-SUBMIT" && widget.nextActions!.action != "SUBMIT" ? SizedBox( @@ -408,7 +375,7 @@ class _MBTypeConfirmationPageState extends State { supportDocument .addAll(supportDocumentData); setState(() {}); - print(supportDocument); + }, extensions: const [ 'jpg', @@ -480,9 +447,11 @@ class _MBTypeConfirmationPageState extends State { ? "SUBMIT" : widget.stateActions!.action, comment: comment.text, - assignees:selectedAssignee!=null? selectedAssignee?.uuid!=null? [ - selectedAssignee!.uuid! - ]:null:null, + assignees: selectedAssignee != null + ? selectedAssignee?.uuid != null + ? [selectedAssignee!.uuid!] + : null + : null, documents: supportDocument, ), type: widget.type, @@ -499,9 +468,11 @@ class _MBTypeConfirmationPageState extends State { ? "SUBMIT" : widget.stateActions!.action, comment: comment.text, - assignees: selectedAssignee!=null? selectedAssignee?.uuid!=null? [ - selectedAssignee!.uuid! - ]:null:null, + assignees: selectedAssignee != null + ? selectedAssignee?.uuid != null + ? [selectedAssignee!.uuid!] + : null + : null, documents: supportDocument, ), type: widget.type, diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index b9d8232f8a..75373fa13a 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -130,13 +130,11 @@ class _MBDetailPageState extends State state.maybeMap( orElse: () => {}, loaded: (value) { - //TODO:[text change] - // String msg = - // "WF_MB_ACTION_${value.measurement?.workflow?.action}"; + if (widget.type == MBScreen.update) { context.read().add( - //hard coded + FetchMBWorkFlowEvent( tenantId: GlobalVariables.tenantId!, mbNumber: widget.mbNumber!), @@ -211,52 +209,7 @@ class _MBDetailPageState extends State ); }, ), - // BlocListener( - // listener: (context, state) { - // state.maybeMap( - // orElse: () => null, - // loaded: (value) { - // print( - // "individualWork${value.contractsModel!.contracts!.first.status!}"); - // setState(() { - // workorderStatus = - // value.contractsModel!.contracts!.first.status!; - // }); - - // context.read().add(EstimateLoadBlocEvent( - // isActive: true, - // roles: value.contractsModel!.contracts!.first - // .additionalDetails!.estimateNumber!, - // tenantId: widget.tenantId!, - // )); - // }, - // ); - // }, - // ), - // BlocListener( - // listener: (context, estimateState) { - // estimateState.maybeMap( - // orElse: () => null, - // loaded: (value) { - // print(value.estimateDetailResponse?.estimates!.first.status!); - // setState(() { - // estimateStatus = - // value.estimateDetailResponse!.estimates!.first.status!; - // }); - // context.read().add( - // EmpHRMSLoadBlocEvent( - // isActive: true, - // roles: "MB_VERIFIER", - // tenantId: widget.tenantId!, - // ), - // ); - // }, - // error: (value) { - // print(value.toString()); - // }, - // ); - // }, - // ), + ], child: DefaultTabController( length: 3, @@ -371,13 +324,7 @@ class _MBDetailPageState extends State return FloatActionCard( actions: () { - // if ((estimateStatus != "INWORKFLOW") && - // (value.data.length >= 2 - // ? (value.data[1].wfStatus == - // "APPROVED" || - // value.data[1].wfStatus == - // "REJECTED") - // : true)) { + DigitActionDialog.show( context, widget: CommonButtonCard( @@ -388,24 +335,9 @@ class _MBDetailPageState extends State bs: bk, ), ); - // } else { - // if (estimateStatus == "INWORKFLOW") { - // Notifiers.getToastMessage( - // context, - // t.translate(i18.workOrder - // .estimateRevisionError), - // 'ERROR'); - // } else { - // Notifiers.getToastMessage( - // context, - // t.translate(i18.workOrder - // .existingMBCreateError), - // 'ERROR'); - // } - - //} + }, - // amount: sorprice.toString(), + amount: value.data.first.totalAmount != null ? value.data.first.totalAmount! .roundToDouble() @@ -635,8 +567,7 @@ class _MBDetailPageState extends State index, magic: value.sor![index] .filteredMeasurementsMeasure, - // preSor_NonSor: value.preSor![index] - // .filteredMeasurementsMeasure, + preSorNonSor: value.preSor == null ? null @@ -692,8 +623,7 @@ class _MBDetailPageState extends State magic: value.nonSor![index] .filteredMeasurementsMeasure, - // preSor_NonSor: value.preNonSor![index] - // .filteredMeasurementsMeasure, + preSorNonSor: value.preNonSor == null @@ -718,8 +648,7 @@ class _MBDetailPageState extends State .sorId)! .filteredMeasurementsMeasure : null, - // : value.preNonSor![index] - // .filteredMeasurementsMeasure, + type: "NonSor", sorNonSorId: value.nonSor![index].sorId!, @@ -838,7 +767,7 @@ class _MBDetailPageState extends State padding: const EdgeInsets .all(4), - // color: DigitColors().pacificBlue, + child: Text( t.translate(i18 .measurementBook @@ -1318,17 +1247,8 @@ switch (photok) { .toStringAsFixed(4); }); - final doubtamout = (magic.fold(0.0, (sum, obj) { - double m = 0.00; - if (obj.contracts?.first.estimates?.first.isDeduction == true) { - m = -(obj.mbAmount ?? 0.00); // Negate the amount for deductions - } else { - m = (obj.mbAmount ?? 0.00); - } - return sum + m; - })).toStringAsFixed(2); - print(doubtamout); + return Card( child: SizedBox( @@ -1659,40 +1579,7 @@ switch (photok) { ), ); } else { - // if ((estimateStatus != "INWORKFLOW") && - // previousMBStatus) { - // DigitActionDialog.show( - // context, - // widget: CommonButtonCard( - // g: processInstances, - // contractNumber: contractNumber, - // mbNumber: mbNumber, - // type: widget.type, - // bs: bs, - // ), - // ); - // } - // else { - // // if (workorderStatus != "ACTIVE") { - // // Notifiers.getToastMessage( - // // context, - // // t.translate(i18.workOrder.timeExtensionError), - // // 'ERROR'); - // // } else - // if (estimateStatus == "INWORKFLOW") { - // Notifiers.getToastMessage( - // context, - // t.translate( - // i18.workOrder.estimateRevisionError), - // 'ERROR'); - // } else { - // Notifiers.getToastMessage( - // context, - // t.translate( - // i18.workOrder.existingMBCreateError), - // 'ERROR'); - // } - // } + DigitActionDialog.show( context, diff --git a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart index 07bdca5a53..2f7bc6ddbd 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart @@ -342,14 +342,7 @@ class _MBFilterPageState extends State { MeasurementBookInboxSearchBlocEvent( limit: 10, offset: 0, - data: - s, // ward: ward, - // status: workflow - // .map((e) => e.statusid!) - // .toList(), - // projectId: null, - // mbNumber: null, - // projectName: null, + data: s, ), ); } else { @@ -366,9 +359,6 @@ class _MBFilterPageState extends State { "tenantId": GlobalVariables .tenantId, - // "status": workflow - // .map((e) => e.statusid!) - // .toList(), "measurementNumber": mbNumber.text, }, @@ -491,14 +481,7 @@ class _MBFilterPageState extends State { MeasurementBookInboxSearchBlocEvent( limit: 10, offset: 0, - data: - s, // ward: ward, - // status: workflow - // .map((e) => e.statusid!) - // .toList(), - // projectId: null, - // mbNumber: null, - // projectName: null, + data: s, ), ); } @@ -594,15 +577,7 @@ class _MBFilterPageState extends State { controller: projectId, ) : const SizedBox.shrink(), -// TODO:[change project name to projectType dropdown] - // project - // ? DigitTextField( - // label: t.translate(i18 - // .measurementBook.projectName), - // controller: projectName, - // ) - // : const SizedBox.shrink(), project ? BlocBuilder( diff --git a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart index 296b6ab4bd..d399f8d482 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart @@ -188,11 +188,10 @@ class _MeasurementBookInboxPageState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Back( - // widget: null, + callback: () { context.router.pop(); - // Navigator.of(context).pop(); - //context.router.push(const HomeRoute()); + }, ), Padding( @@ -305,36 +304,14 @@ class _MeasurementBookInboxPageState extends State { icon: SvgPicture.asset(Constants.sort)), - // Row( - // children: [ - // IconButton( - // color: const DigitColors() - // .burningOrange, - // onPressed: () { - // _openSortingModal(); - // }, - // icon: SvgPicture.asset(Constants.sort)), - // Text( - // "Sort", - // style: DigitTheme - // .instance - // .mobileTheme - // .textTheme - // .labelLarge! - // .copyWith( - // color: const DigitColors() - // .burningOrange, - // ), - // ), - // ], - // ), + ], ), ), ], ), ), - height: 150, + height: 170, ), ), mbInboxResponse!.mbInboxResponse.items!.isEmpty @@ -494,30 +471,7 @@ class _MeasurementBookInboxPageState extends State { ); } - // TODO:[unused code] - - // Future filterDialog(BuildContext context) { - // return showDialog( - // context: context, - // builder: (context) { - // return AlertDialog( - // titlePadding: EdgeInsets.zero, - // insetPadding: EdgeInsets.only(top: AppBar().preferredSize.height), - // title: const Text("sd"), - // contentPadding: EdgeInsets.zero, - // content: Card( - // child: SizedBox( - // height: double.maxFinite, - // width: MediaQuery.of(context).size.width, - // child: const Center( - // child: Text("Loading"), - // ), - // ), - // ), - // ); - // }, - // ); - // } + } class MyHeaderDelegate extends SliverPersistentHeaderDelegate { diff --git a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart index 24ee0e216b..226a07cebe 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart @@ -57,25 +57,13 @@ class _MBMusterScreenPageState extends State { mbNumber: widget.musterRollNumber), ); - //TODO:[if bug comes then we will uncomment this ] - // context.read().add(MbSearchMusterRollEvent( - // musterRollNumner: widget.musterRollNumber, tenantId: widget.tenantId)); - // context.read().add( - // GetMusterWorkflowEvent( - // tenantId: widget.tenantId, - // musterRollNumber: widget.musterRollNumber, - // musterSentBackCode: "PENDINGFORVERIFICATION"), - // ); - - - //end - + super.initState(); } @override void dispose() { - // TODO: implement dispose + newList.clear(); tableData.clear(); timeLineAttributes.clear(); @@ -270,70 +258,14 @@ class _MBMusterScreenPageState extends State { return state.maybeMap( orElse: SizedBox.shrink, loaded: (value) { - // final modifiedData = value - // .musterWorkFlowModel!.processInstances! - // .where((element) => - // element.action != - // Constants.saveAsDraft) - // .toList(); - // if (modifiedData - // .first - // .nextActions != - // null || - // modifiedData - // .first - // .nextActions != - // [] || - // modifiedData - // .first - // .nextActions! - // .isNotEmpty) { - // modifiedData.insert( - // 0, - // value.musterWorkFlowModel! - // .processInstances!.first); - // } - - // final timeLineAttributes = modifiedData - // .mapIndexed((i, e) => - // DigitTimelineOptions( - // title: t.translate(i == 0 - // ? e.workflowState?.state == - // "EDIT_RE_SUBMIT" - // ? 'WF_MB_STATUS_${e.workflowState?.state}' - // : 'WF_MB_STATUS_${e.workflowState?.state}' - // : 'WF_MB_STATUS_${e.action}'), - // subTitle: - // DateFormats.getTimeLineDate(e - // .auditDetails - // ?.lastModifiedTime ?? - // 0), - // isCurrentState: i == 0, - // comments: e.comment, - // documents: e.documents != null - // ? e.documents - // ?.map((d) => - // FileStoreModel( - // name: '', - // fileStoreId: d - // .documentUid)) - // .toList() - // : null, - // assignee: e.assigner?.name, - // mobileNumber: e.assigner != null - // ? '+91-${e.assigner?.mobileNumber}' - // : null, - // )) - // .toList(); + List modifiedData = value .musterWorkFlowModel!.processInstances! .where((element) => element.action != Constants.saveAsDraft) .toList(); - // ..insert(0, value - // .musterWorkFlowModel! - // .processInstances!.first); + if (modifiedData.isNotEmpty && (modifiedData.first.nextActions != null && diff --git a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart index 7b017b7e78..73fc1cf81a 100644 --- a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart +++ b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart @@ -6,6 +6,7 @@ import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/blocs/employee/mb/mb_check.dart'; import 'package:works_shg_app/blocs/employee/mb/mb_detail_view.dart'; import 'package:works_shg_app/blocs/work_orders/work_order_pdf.dart'; +import 'package:works_shg_app/utils/Toast/toaster.dart'; import 'package:works_shg_app/utils/employee/mb/mb_logic.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' @@ -135,10 +136,10 @@ class _ViewWorkDetailsPage extends State { orElse: () => const SizedBox.shrink(), loaded: (value) { if (value.estimateStatus == true && - // TODO:[currently removed the workorder status] - // value.workOrderStatus == true && + // TODO:[currently removed the workorder status] + // value.workOrderStatus == true && // end - + value.existingMB == true) { context.router.push(MBDetailRoute( contractNumber: value.workOrderNumber ?? "", @@ -156,7 +157,7 @@ class _ViewWorkDetailsPage extends State { // 'ERROR'); // } else // end - if (value.estimateStatus == false) { + if (value.estimateStatus == false) { Notifiers.getToastMessage( context, t.translate( @@ -186,7 +187,6 @@ class _ViewWorkDetailsPage extends State { margin: const EdgeInsets.all(0), child: DigitElevatedButton( onPressed: () { - context .read() .add(MeasurementCheckEvent( @@ -1286,481 +1286,597 @@ class _ViewWorkDetailsPage extends State { ScrollableContent cboScrollableContent(AppLocalizations t) { return ScrollableContent( children: [ - BlocBuilder( - builder: (context, localState) { - return BlocBuilder(builder: (context, searchState) { - return searchState.maybeWhen( - orElse: () => Container(), - loading: () => shg_loader.Loaders.circularLoader(context), - loaded: (List? searchCriteria, String? acceptCode) => - BlocConsumer( - listener: (context, state) { - state.maybeWhen( - orElse: () => false, - initial: () => false, - loading: () => - shg_loader.Loaders.circularLoader(context), - error: (String? error) => Notifiers.getToastMessage( - context, error.toString(), 'ERROR'), - loaded: (ContractsModel? contracts) { - if (contracts?.contracts != null) { - termsNCond = contracts! - .contracts! - .first - .additionalDetails! - .termsAndConditions != - null - ? contracts.contracts!.first - .additionalDetails!.termsAndConditions! - .where((w) => - w != null && w.description != "") - .map((e) => e!.description.toString()) - .toList() - : []; - workOrderList = contracts.contracts! - .map((e) => { - 'cardDetails': { - i18.workOrder.workOrderNo: - e.contractNumber ?? 'NA', - i18.attendanceMgmt.projectId: e - .additionalDetails - ?.projectId ?? - 'NA', - i18.common.location: - '${t.translate('${CommonMethods.getConvertedLocalizedCode('locality', subString: e.additionalDetails?.locality ?? 'NA')}')}, ${t.translate(CommonMethods.getConvertedLocalizedCode('ward', subString: e.additionalDetails?.ward ?? 'NA'))}', - i18.attendanceMgmt.projectType: - 'ES_COMMON_${e.additionalDetails?.projectType ?? 'NA'}', - i18.attendanceMgmt.projectName: e - .additionalDetails - ?.projectName ?? - 'NA', - i18.attendanceMgmt.projectDesc: e - .additionalDetails - ?.projectDesc ?? - 'NA', - }, - 'payload': e.toMap() - }) - .toList(); - contractDetails = contracts.contracts! - .map((e) => { - 'cardDetails': { - i18.workOrder.nameOfCBO: - e.additionalDetails?.cboName ?? - 'NA', - i18.workOrder.roleOfCBO: - e.executingAuthority ?? 'NA', - i18.attendanceMgmt.engineerInCharge: - e - .additionalDetails - ?.officerInChargeName - ?.name ?? - 'NA', - i18.attendanceMgmt.officeInCharge: e - .additionalDetails - ?.officerInChargeDesgn ?? - 'NA', - i18.workOrder.completionPeriod: - '${e.completionPeriod} ${t.translate(i18.common.days)}', - i18.workOrder.workOrderAmount: - '₹ ${NumberFormat('##,##,##,##,###').format(e.totalContractedAmount ?? 0)}', - i18.common.status: - 'WF_WORK_ORDER_STATE_${e.wfStatus.toString()}', - Constants.activeInboxStatus: - e.wfStatus == acceptCode - ? 'true' - : 'false' - }, - 'payload': e.toMap() - }) - .toList(); - workFlowDetails = contracts.contracts! - .map((e) => { - 'cardDetails': { - i18.workOrder.contractIssueDate: e - .issueDate != - null - ? DateFormats.timeStampToDate( - e.issueDate, - format: "dd/MM/yyyy") - : 'NA', - i18.workOrder.dueDate: e - .issueDate != - null - ? DateFormats.getFilteredDate( - DateTime.fromMillisecondsSinceEpoch( - e.issueDate ?? 0) - .add(const Duration( - days: 7)) - .toLocal() - .toString()) - : 'NA', - i18.workOrder.workStartDate: e - .startDate != - null && - e.startDate != 0 - ? DateFormats.getFilteredDate( - DateTime.fromMillisecondsSinceEpoch( - e.startDate ?? 0) - .toString()) - : 'NA', - i18.workOrder.workEndDate: e - .endDate != - null && - e.endDate != 0 - ? DateFormats.getFilteredDate( - DateTime.fromMillisecondsSinceEpoch( - e.endDate ?? 0) - .toString()) - : 'NA', - }, - 'payload': e.toMap() - }) - .toList(); - // fileStoreList = ; - attachedFiles = contracts - .contracts!.first.documents != - null && - contracts - .contracts! - .first - .additionalDetails - ?.estimateDocs != - null - ? [ - ...contracts.contracts!.first.documents! - .where( - (d) => - d.fileStore != null && - d.status != 'INACTIVE') - .map((e) => FileStoreModel( - name: e.documentType != 'OTHERS' - ? e.documentType ?? '' - : e.additionalDetails - ?.otherCategoryName ?? - '', - fileStoreId: e.fileStore)), - ...contracts.contracts!.first - .additionalDetails!.estimateDocs! - .where((m) => m.fileStoreId != null) - .map((e) => FileStoreModel( - name: e.fileType != 'Others' - ? e.fileType ?? '' - : e.fileName ?? '', - fileStoreId: e.fileStoreId)) - ] - : contracts.contracts!.first.documents != - null && - contracts - .contracts! - .first - .additionalDetails - ?.estimateDocs == - null - ? [ - ...contracts - .contracts!.first.documents! - .where( - (d) => - d.fileStore != null && - d.status != 'INACTIVE') - .map((e) => FileStoreModel( - name: e.documentType != - 'OTHERS' - ? e.documentType ?? '' - : e.additionalDetails - ?.otherCategoryName ?? - '', - fileStoreId: e.fileStore)) - ] - : contracts.contracts!.first - .documents == - null && - contracts - .contracts! - .first - .additionalDetails - ?.estimateDocs != - null - ? [ - ...contracts - .contracts! - .first - .additionalDetails! - .estimateDocs! - .where((m) => - m.fileStoreId != null) - .map((e) => FileStoreModel( - name: e.fileType != - 'Others' - ? e.fileType ?? '' - : e.fileName ?? '', - fileStoreId: - e.fileStoreId)) - ] - : []; - } - }); - }, - builder: (context, searchState) { - return searchState.maybeWhen( - orElse: () => Container(), - loading: () => - shg_loader.Loaders.circularLoader(context), - initial: () => Container(), - loaded: (ContractsModel? contractsModel) { - final contracts = contractsModel?.contracts; - if (contracts != null) { - return Column( - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - Row( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - Back( - backLabel: - AppLocalizations.of(context) - .translate(i18.common.back), - callback: () { - // context.router.popUntilRouteWithPath('home') ; - // context.router.push(const WorkOrderRoute()); + BlocListener( + listener: (context, state) { + state.maybeMap( + orElse: () { + const SizedBox.shrink(); + }, + error: (value) { + Notifiers.getToastMessage( + context, + AppLocalizations.of(context) + .translate(i18.common.statementnotfound), - if (GlobalVariables.roleType == - RoleType.cbo) { - context.router - .popUntilRouteWithPath( - 'home'); - context.router.push( - const WorkOrderRoute()); - } else { - Navigator.of(context).pop(); - // context.router.pop(); - } + // value.error!, + 'ERROR'); + }, + ); + }, + child: BlocBuilder( + builder: (context, localState) { + return BlocBuilder( + builder: (context, searchState) { + return searchState.maybeWhen( + orElse: () => Container(), + loading: () => shg_loader.Loaders.circularLoader(context), + loaded: (List? searchCriteria, String? acceptCode) => + BlocConsumer( + listener: (context, state) { + state.maybeWhen( + orElse: () => false, + initial: () => false, + loading: () => + shg_loader.Loaders.circularLoader(context), + error: (String? error) => + Notifiers.getToastMessage( + context, error.toString(), 'ERROR'), + loaded: (ContractsModel? contracts) { + if (contracts?.contracts != null) { + termsNCond = contracts! + .contracts! + .first + .additionalDetails! + .termsAndConditions != + null + ? contracts + .contracts! + .first + .additionalDetails! + .termsAndConditions! + .where((w) => + w != null && w.description != "") + .map((e) => e!.description.toString()) + .toList() + : []; + workOrderList = contracts.contracts! + .map((e) => { + 'cardDetails': { + i18.workOrder.workOrderNo: + e.contractNumber ?? 'NA', + i18.attendanceMgmt.projectId: e + .additionalDetails + ?.projectId ?? + 'NA', + i18.common.location: + '${t.translate('${CommonMethods.getConvertedLocalizedCode('locality', subString: e.additionalDetails?.locality ?? 'NA')}')}, ${t.translate(CommonMethods.getConvertedLocalizedCode('ward', subString: e.additionalDetails?.ward ?? 'NA'))}', + i18.attendanceMgmt.projectType: + 'ES_COMMON_${e.additionalDetails?.projectType ?? 'NA'}', + i18.attendanceMgmt.projectName: e + .additionalDetails + ?.projectName ?? + 'NA', + i18.attendanceMgmt.projectDesc: e + .additionalDetails + ?.projectDesc ?? + 'NA', }, - ), - CommonWidgets.downloadButton( - AppLocalizations.of(context) - .translate( - i18.common.download), () { - context - .read() - .add(PDFEventWorkOrder( - contractId: - widget.contractNumber, - tenantId: contracts - .first.tenantId)); + 'payload': e.toMap() }) - ], - ), - Column( + .toList(); + contractDetails = contracts.contracts! + .map((e) => { + 'cardDetails': { + i18.workOrder.nameOfCBO: e + .additionalDetails + ?.cboName ?? + 'NA', + i18.workOrder.roleOfCBO: + e.executingAuthority ?? 'NA', + i18.attendanceMgmt + .engineerInCharge: e + .additionalDetails + ?.officerInChargeName + ?.name ?? + 'NA', + i18.attendanceMgmt + .officeInCharge: e + .additionalDetails + ?.officerInChargeDesgn ?? + 'NA', + i18.workOrder.completionPeriod: + '${e.completionPeriod} ${t.translate(i18.common.days)}', + i18.workOrder.workOrderAmount: + '₹ ${NumberFormat('##,##,##,##,###').format(e.totalContractedAmount ?? 0)}', + i18.common.status: + 'WF_WORK_ORDER_STATE_${e.wfStatus.toString()}', + Constants.activeInboxStatus: + e.wfStatus == acceptCode + ? 'true' + : 'false' + }, + 'payload': e.toMap() + }) + .toList(); + workFlowDetails = contracts.contracts! + .map((e) => { + 'cardDetails': { + i18.workOrder.contractIssueDate: e + .issueDate != + null + ? DateFormats.timeStampToDate( + e.issueDate, + format: "dd/MM/yyyy") + : 'NA', + i18.workOrder.dueDate: e + .issueDate != + null + ? DateFormats.getFilteredDate( + DateTime.fromMillisecondsSinceEpoch( + e.issueDate ?? 0) + .add(const Duration( + days: 7)) + .toLocal() + .toString()) + : 'NA', + i18.workOrder.workStartDate: e + .startDate != + null && + e.startDate != 0 + ? DateFormats.getFilteredDate( + DateTime.fromMillisecondsSinceEpoch( + e.startDate ?? 0) + .toString()) + : 'NA', + i18.workOrder.workEndDate: e + .endDate != + null && + e.endDate != 0 + ? DateFormats.getFilteredDate( + DateTime.fromMillisecondsSinceEpoch( + e.endDate ?? 0) + .toString()) + : 'NA', + }, + 'payload': e.toMap() + }) + .toList(); + // fileStoreList = ; + attachedFiles = contracts + .contracts!.first.documents != + null && + contracts + .contracts! + .first + .additionalDetails + ?.estimateDocs != + null + ? [ + ...contracts + .contracts!.first.documents! + .where((d) => + d.fileStore != null && + d.status != 'INACTIVE') + .map((e) => FileStoreModel( + name: e.documentType != + 'OTHERS' + ? e.documentType ?? '' + : e.additionalDetails + ?.otherCategoryName ?? + '', + fileStoreId: e.fileStore)), + ...contracts.contracts!.first + .additionalDetails!.estimateDocs! + .where( + (m) => m.fileStoreId != null) + .map((e) => FileStoreModel( + name: e.fileType != 'Others' + ? e.fileType ?? '' + : e.fileName ?? '', + fileStoreId: e.fileStoreId)) + ] + : contracts.contracts!.first.documents != + null && + contracts + .contracts! + .first + .additionalDetails + ?.estimateDocs == + null + ? [ + ...contracts + .contracts!.first.documents! + .where((d) => + d.fileStore != null && + d.status != 'INACTIVE') + .map((e) => FileStoreModel( + name: e.documentType != + 'OTHERS' + ? e.documentType ?? '' + : e.additionalDetails + ?.otherCategoryName ?? + '', + fileStoreId: e.fileStore)) + ] + : contracts.contracts!.first + .documents == + null && + contracts + .contracts! + .first + .additionalDetails + ?.estimateDocs != + null + ? [ + ...contracts + .contracts! + .first + .additionalDetails! + .estimateDocs! + .where((m) => + m.fileStoreId != null) + .map((e) => FileStoreModel( + name: e.fileType != + 'Others' + ? e.fileType ?? '' + : e.fileName ?? + '', + fileStoreId: + e.fileStoreId)) + ] + : []; + } + }); + }, + builder: (context, searchState) { + return searchState.maybeWhen( + orElse: () => Container(), + loading: () => + shg_loader.Loaders.circularLoader(context), + initial: () => Container(), + loaded: (ContractsModel? contractsModel) { + final contracts = contractsModel?.contracts; + if (contracts != null) { + return Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + Row( mainAxisAlignment: - MainAxisAlignment.start, - crossAxisAlignment: - CrossAxisAlignment.start, + MainAxisAlignment.spaceBetween, children: [ - Padding( - padding: const EdgeInsets.only( - left: 8.0, - right: 16.0, - top: 16.0, - bottom: 16.0), - child: Text( - '${AppLocalizations.of(context).translate(i18.workOrder.workOrderDetails)}', - style: DigitTheme - .instance - .mobileTheme - .textTheme - .displayMedium, - textAlign: TextAlign.left, - ), + Back( + backLabel: AppLocalizations.of( + context) + .translate(i18.common.back), + callback: () { + // context.router.popUntilRouteWithPath('home') ; + // context.router.push(const WorkOrderRoute()); + + if (GlobalVariables.roleType == + RoleType.cbo) { + context.router + .popUntilRouteWithPath( + 'home'); + context.router.push( + const WorkOrderRoute()); + } else { + Navigator.of(context).pop(); + // context.router.pop(); + } + }, ), - DigitInfoCard( - title: AppLocalizations.of(context) - .translate(i18.common.info), - titleStyle: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium - ?.apply( - color: const DigitColors() - .black), - description: - AppLocalizations.of(context) - .translate(i18.common - .workOrderInfo), - descStyle: DigitTheme - .instance - .mobileTheme - .textTheme - .bodyLarge - ?.apply( - color: const Color.fromRGBO(80, 90, 95, 1)), - icon: Icons.info, - iconColor: const Color.fromRGBO(52, 152, 219, 1), - backgroundColor: DigitTheme.instance.colorScheme.tertiaryContainer), - workOrderList.isNotEmpty - ? Column( - children: [ - WorkDetailsCard( - workOrderList, - viewWorkOrder: true, - elevatedButtonLabel: - AppLocalizations.of( - context) - .translate(i18 - .common - .accept), - outlinedButtonLabel: - AppLocalizations.of( - context) - .translate(i18 - .common - .decline), - ), - WorkDetailsCard( - contractDetails, - viewWorkOrder: true, - cardTitle: AppLocalizations - .of(context) - .translate(i18 - .workOrder - .contractDetails), - ), - WorkDetailsCard( - workFlowDetails, - viewWorkOrder: true, - cardTitle: AppLocalizations - .of(context) - .translate(i18 - .workOrder - .timeLineDetails), - ), - DigitCard( - child: Attachments( - t.translate(i18 - .workOrder - .relevantDocuments), - attachedFiles, - )), - Padding( - padding: - const EdgeInsets - .all(8.0), - child: ButtonLink( - t.translate(i18.common - .viewTermsAndConditions), - () => DigitDialog.show( - context, - options: - DigitDialogOptions( - title: Text(t.translate(i18.common.termsAndConditions), - style: const TextStyle( - fontWeight: FontWeight - .w700, - fontSize: - 24, - fontFamily: - 'Roboto Condensed', - fontStyle: FontStyle - .normal, - color: Color.fromRGBO( - 11, 12, 12, 1))), - content: termsNCond - .isNotEmpty - ? Column( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - for (var i = 0; i < termsNCond.length; i++) - Align( - alignment: Alignment.centerLeft, - child: Text( - '${i + 1}. ${termsNCond[i]}', - style: const TextStyle( - fontSize: 16, - fontWeight: FontWeight.w700, - ), - textAlign: TextAlign.start, + //TODO:[CBO download] + CommonWidgets.downloadButton( + AppLocalizations.of(context) + .translate( + i18.common.download), + () async { + await DigitActionDialog.show( + context, + widget: Column( + crossAxisAlignment: + CrossAxisAlignment.center, + mainAxisAlignment: + MainAxisAlignment.center, + children: [ + DigitOutlineIconButton( + buttonStyle: OutlinedButton.styleFrom( + minimumSize: Size( + MediaQuery.of( + context) + .size + .width, + 50), + shape: + const RoundedRectangleBorder(), + side: BorderSide( + color: const DigitColors() + .burningOrange, + width: 1)), + onPressed: () { + // Navigator.of(context).pop(); + context + .read< + WorkOrderPDFBloc>() + .add(PDFEventWorkOrder( + contractId: widget + .contractNumber, + tenantId: contracts + .first + .tenantId)); + + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route + is! PopupRoute, + ); + }, + label: AppLocalizations + .of(context) + .translate(i18.common + .workOrderdownload), + icon: + Icons.download_sharp, + textStyle: + const TextStyle( + fontWeight: + FontWeight + .w700, + fontSize: 18), + ), + const SizedBox( + height: 10, + ), + DigitOutlineIconButton( + buttonStyle: OutlinedButton.styleFrom( + minimumSize: Size( + MediaQuery.of( + context) + .size + .width, + 50), + shape: + const RoundedRectangleBorder(), + side: BorderSide( + color: const DigitColors() + .burningOrange, + width: 1)), + onPressed: () { + context + .read< + WorkOrderPDFBloc>() + .add(PDFEventAnalysis( + estimateId: contracts + .first + .lineItems! + .first + .estimateId, + tenantId: contracts + .first + .tenantId)); + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route + is! PopupRoute, + ); + }, + label: AppLocalizations + .of(context) + .translate(i18.common + .analysisdownload), + icon: + Icons.download_sharp, + textStyle: + const TextStyle( + fontWeight: + FontWeight + .w700, + fontSize: 18), + ), + ], + ), + ); + }), + ], + ), + Column( + mainAxisAlignment: + MainAxisAlignment.start, + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only( + left: 8.0, + right: 16.0, + top: 16.0, + bottom: 16.0), + child: Text( + '${AppLocalizations.of(context).translate(i18.workOrder.workOrderDetails)}', + style: DigitTheme + .instance + .mobileTheme + .textTheme + .displayMedium, + textAlign: TextAlign.left, + ), + ), + DigitInfoCard( + title: AppLocalizations.of(context) + .translate( + i18.common.info), + titleStyle: DigitTheme + .instance + .mobileTheme + .textTheme + .headlineMedium + ?.apply( + color: const DigitColors() + .black), + description: + AppLocalizations.of(context) + .translate(i18.common + .workOrderInfo), + descStyle: DigitTheme + .instance + .mobileTheme + .textTheme + .bodyLarge + ?.apply(color: const Color.fromRGBO(80, 90, 95, 1)), + icon: Icons.info, + iconColor: const Color.fromRGBO(52, 152, 219, 1), + backgroundColor: DigitTheme.instance.colorScheme.tertiaryContainer), + workOrderList.isNotEmpty + ? Column( + children: [ + WorkDetailsCard( + workOrderList, + viewWorkOrder: true, + elevatedButtonLabel: + AppLocalizations.of( + context) + .translate(i18 + .common + .accept), + outlinedButtonLabel: + AppLocalizations.of( + context) + .translate(i18 + .common + .decline), + ), + WorkDetailsCard( + contractDetails, + viewWorkOrder: true, + cardTitle: AppLocalizations + .of(context) + .translate(i18 + .workOrder + .contractDetails), + ), + WorkDetailsCard( + workFlowDetails, + viewWorkOrder: true, + cardTitle: AppLocalizations + .of(context) + .translate(i18 + .workOrder + .timeLineDetails), + ), + DigitCard( + child: Attachments( + t.translate(i18 + .workOrder + .relevantDocuments), + attachedFiles, + )), + Padding( + padding: + const EdgeInsets + .all(8.0), + child: ButtonLink( + t.translate(i18 + .common + .viewTermsAndConditions), + () => DigitDialog.show( + context, + options: DigitDialogOptions( + title: Text(t.translate(i18.common.termsAndConditions), style: const TextStyle(fontWeight: FontWeight.w700, fontSize: 24, fontFamily: 'Roboto Condensed', fontStyle: FontStyle.normal, color: Color.fromRGBO(11, 12, 12, 1))), + content: termsNCond.isNotEmpty + ? Column( + mainAxisAlignment: + MainAxisAlignment.start, + children: [ + for (var i = 0; i < termsNCond.length; i++) + Align( + alignment: Alignment.centerLeft, + child: Text( + '${i + 1}. ${termsNCond[i]}', + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w700, ), - ) - ], - ) - : EmptyImage( - align: Alignment.center, - label: t.translate(i18.common.noTermsNConditions), - ), - titlePadding: - const EdgeInsets.all( - 8.0), - contentPadding: - const EdgeInsets.all( - 8.0), - barrierDismissible: - true, - primaryAction: DigitDialogActions(label: t.translate(i18.common.close), action: (context) => Navigator.of(context, rootNavigator: true).pop()), - isScrollable: true)), - align: Alignment - .centerLeft, + textAlign: TextAlign.start, + ), + ) + ], + ) + : EmptyImage( + align: + Alignment.center, + label: + t.translate(i18.common.noTermsNConditions), + ), + titlePadding: const EdgeInsets.all(8.0), + contentPadding: const EdgeInsets.all(8.0), + barrierDismissible: true, + primaryAction: DigitDialogActions(label: t.translate(i18.common.close), action: (context) => Navigator.of(context, rootNavigator: true).pop()), + isScrollable: true)), + align: Alignment + .centerLeft, + ), ), - ), - BlocListener< - ValidTimeExtCreationsSearchBloc, - ValidTimeExtCreationsSearchState>( - listener: (context, - validContractState) { - validContractState - .maybeWhen( - orElse: () => - false, - loaded: (Contracts? - contracts) => - context - .router - .push( - CreateTimeExtensionRequestRoute( - contractNumber: - contracts?.contractNumber, - )), - error: (String? - error) => - Notifiers.getToastMessage( - context, - error ?? - 'ERR!', - 'ERROR')); - }, - child: const SizedBox - .shrink(), - ), - ], - ) - : EmptyImage( - label: t.translate(i18 - .workOrder - .noWorkOrderAssigned), - align: Alignment.center, - ), - const SizedBox( - height: 16.0, - ), - const Align( - alignment: Alignment.bottomCenter, - child: PoweredByDigit(), - ) - ]), - ]); - } else { - return Container(); - } - }); - }, - )); - }); - }), + BlocListener< + ValidTimeExtCreationsSearchBloc, + ValidTimeExtCreationsSearchState>( + listener: (context, + validContractState) { + validContractState + .maybeWhen( + orElse: () => + false, + loaded: (Contracts? + contracts) => + context + .router + .push( + CreateTimeExtensionRequestRoute( + contractNumber: + contracts?.contractNumber, + )), + error: (String? error) => Notifiers.getToastMessage( + context, + error ?? + 'ERR!', + 'ERROR')); + }, + child: const SizedBox + .shrink(), + ), + ], + ) + : EmptyImage( + label: t.translate(i18 + .workOrder + .noWorkOrderAssigned), + align: Alignment.center, + ), + const SizedBox( + height: 16.0, + ), + const Align( + alignment: + Alignment.bottomCenter, + child: PoweredByDigit(), + ) + ]), + ]); + } else { + return Container(); + } + }); + }, + )); + }); + }), + ), BlocListener( listener: (context, state) { state.maybeWhen( diff --git a/frontend/works_shg_app/lib/utils/employee/mb/mb_logic.dart b/frontend/works_shg_app/lib/utils/employee/mb/mb_logic.dart index e1ab2b2530..0f3e0c7305 100644 --- a/frontend/works_shg_app/lib/utils/employee/mb/mb_logic.dart +++ b/frontend/works_shg_app/lib/utils/employee/mb/mb_logic.dart @@ -15,10 +15,6 @@ class MBLogic { static List formContract( {required MBDetailResponse mbDetailResponse}) { - // List s = getContract( - // mbDetailResponse!.contract!.lineItems!.first.contractLineItemRef!, - // mbDetailResponse, - // ); List s = mbDetailResponse.contract!.lineItems!.map((e) { FilteredMeasurementsContract filteredMeasurementsContract = @@ -30,39 +26,6 @@ class MBLogic { contractLineItemRef: e.contractLineItemRef, unitRate: e.unitRate, status: e.status, - // estimates: mbDetailResponse.estimate?.estimateDetails - // ?.map((e) { - // if (e.sorId != null) { - // FilteredMeasurementsEstimate - // filteredMeasurementsEstimate = - // FilteredMeasurementsEstimate( - // id: e.id, - // sorId: e.sorId, - // category: e.category, - // name: e.name, - // description: e.description, - // unitRate: e.unitRate, - // noOfunit: e.noOfunit != null - // ? double.parse( - // (e.noOfunit!.toDouble()).toStringAsFixed(2)) - // : 0, - // uom: e.uom, - // length: e.length != null ? e.length!.toInt() : 0, - // width: e.width != null ? e.width!.toInt() : 0, - // height: e.height != null ? e.height!.toInt() : 0, - // quantity: - // e.quantity != null ? e.quantity!.toInt() : 0, - // isDeduction: e.isDeduction, - // ); - - // return filteredMeasurementsEstimate; - // } - // }) - // .toList() - // .whereNotNull() - // .toList() ?? - // [] - estimates: getEstimate(e.estimateLineItemId!, mbDetailResponse)); return filteredMeasurementsContract; @@ -99,19 +62,6 @@ class MBLogic { targetId: e.contractLineItemRef, isActive: null, id: "${e.contractLineItemRef}$index", - // measureLineItems: e!.estimates!?.mapIndexed((index, e) { - // MeasureLineItem sk = MeasureLineItem( - // width: e.width ?? 0.0, - // height: e.height ?? 0.0, - // length: e.length ?? 0.0, - // number: 0.0, - // quantity: 0.0, - // measurelineitemNo: index, - // ); - - // return sk; - // }).toList() - measureLineItems: [ const MeasureLineItem( width: 0.0, @@ -198,18 +148,18 @@ class MBLogic { final data = allMeasurements.mapIndexed((index, e) { FilteredMeasurements datak = FilteredMeasurements( - documents: e.documents?.mapIndexed((index,e) => WorkflowDocument( - documentType: e.documentType, - documentUid: e.documentUid, - documentAdditionalDetails: e.documentAdditionalDetails, - fileStore: e.fileStore, - fileStoreId: e.fileStoreId, - id: e.id, - tenantId: e.tenantId, - isActive: true, - indexing: (index+1) - - )).toList(), + documents: e.documents + ?.mapIndexed((index, e) => WorkflowDocument( + documentType: e.documentType, + documentUid: e.documentUid, + documentAdditionalDetails: e.documentAdditionalDetails, + fileStore: e.fileStore, + fileStoreId: e.fileStoreId, + id: e.id, + tenantId: e.tenantId, + isActive: true, + indexing: (index + 1))) + .toList(), id: e.id, totalSorAmount: e.additionalDetail?.sorAmount ?? 0.0, totalNorSorAmount: e.additionalDetail?.nonSorAmount ?? 0.0, @@ -223,15 +173,7 @@ class MBLogic { : DateTime.now().millisecondsSinceEpoch, physicalRefNumber: e.physicalRefNumber, referenceId: e.referenceId, - // to be chnaged - //musterRollNumber: e.additionalDetail?.musterRollNumber ?? "", - // musterRollNumber: mbDetailResponse.musterRolls?.first.musterRollNumber??"", musterRollNumber: mbDetailResponse.musterRolls is List - // ? (mbDetailResponse.musterRolls as List>).firstWhere( - // (m) => m['startDate'] == e.additionalDetail?.startDate, - // orElse: () => null, - - // )['startDate'] ? convertList( mbDetailResponse.musterRolls, e.additionalDetail?.startDate) : null, @@ -262,22 +204,8 @@ class MBLogic { e.measureAdditionalDetails!.measureLineItems! .isNotEmpty) ? e.measureAdditionalDetails!.measureLineItems!.map((e) { - // if (index == 0 && type == MBScreen.create) { - // MeasureLineItem measureLineItem = MeasureLineItem( - // width: 0.0, - // height: 0.0, - // length: 0.0, - // number: 0.0, - // quantity: 0.0, - // measurelineitemNo: e.measurelineitemNo, - // ); - // return measureLineItem; - // } else { - // return e; - // } return e; }).toList() - // testing null pre[null] : [ const MeasureLineItem( width: 0.0, @@ -298,7 +226,6 @@ class MBLogic { return datak; }).toList(); -// experiment if (type == MBScreen.create) { final ff = formContract(mbDetailResponse: mbDetailResponse); @@ -306,10 +233,6 @@ class MBLogic { } else { return data.whereNotNull().toList() ?? []; } - -// - // print(data); - //return data.whereNotNull().toList() ?? []; } static List getContract( @@ -342,7 +265,8 @@ class MBLogic { FilteredMeasurementsEstimate filteredMeasurementsEstimate = FilteredMeasurementsEstimate( id: e.id, - //TODO:[hard code for non-sor id 45 then we are changing it to other mumber] + // Info:::: + //TODO :[hard code for non-sor id 45 then we are changing it to other mumber] // previous code //sorId: e.sorId, //end of it @@ -375,92 +299,6 @@ class MBLogic { return alldata!.whereNotNull().toList() ?? []; } -// old -// static List>> getSors(List s) { -// // List sor = []; -// // List nonSor = []; -// List>> mark=[]; -// final k = s!.first!.measures; - -// for (int a = 0; a < s.length; a++) { -// List sor = []; -// List nonSor = []; - -// for (int i = 0; i < s[a].measures!.length; i++) { -// if (s[a].measures![i].contracts!.first.estimates!.first.category == "SOR") { -// sor.add(s[a].measures![i]); -// } else { -// nonSor.add(s[a].measures![i]); -// } -// } - -// List listSors = []; -// List listNonSors = []; - -// bool isObjectExists(String objectId) { -// return listSors.any((obj) => obj.sorId == objectId); -// } - -// void addObjectOrModify( -// String objectId, FilteredMeasurementsMeasure newobj, String type) { -// if (type == "NonSOR") { -// if (isObjectExists(objectId)) { -// SorObject existingObject = -// listNonSors.firstWhere((obj) => obj.sorId == objectId); - -// existingObject.filteredMeasurementsMeasure.add(newobj); -// } else { -// listNonSors.add( -// SorObject( -// filteredMeasurementsMeasure: [newobj], -// id: newobj.contracts!.first.estimates!.first.id, -// sorId: newobj.contracts!.first.estimates!.first.sorId, -// ), -// ); -// } -// } else { -// if (isObjectExists(objectId)) { -// SorObject existingObject = -// listSors.firstWhere((obj) => obj.sorId == objectId); - -// existingObject.filteredMeasurementsMeasure.add(newobj); -// } else { -// listSors.add( -// SorObject( -// filteredMeasurementsMeasure: [newobj], -// id: newobj.contracts!.first.estimates!.first.id, -// sorId: newobj.contracts!.first.estimates!.first.sorId, -// ), -// ); -// } -// } -// } - -// for (var obj in sor) { -// String mValue = obj!.contracts!.first.estimates!.first.sorId!; - -// addObjectOrModify(mValue, obj, "SOR"); -// } - -// // - -// //get nonSors - -// for (var obj in nonSor) { -// String mValue = obj!.contracts!.first.estimates!.first.sorId!; - -// addObjectOrModify(mValue, obj, "NonSOR"); -// } - -// // -// //return [listSors, listNonSors]; -// mark.add([listSors, listNonSors]); -// } -// return mark; -// } - -// // - static List>> getSors(List s) { List>> mark = []; @@ -499,7 +337,7 @@ class MBLogic { List.from(existingObject.filteredMeasurementsMeasure); mutableList.add(newobj); int index = list.indexWhere((obj) => obj.sorId == objectId); - // list[index] = existingObject.updateFilteredMeasurementsMeasure(mutableList); + list[index] = SorObject( sorId: existingObject.sorId, id: existingObject.id, @@ -616,7 +454,7 @@ class MBLogic { "documents": measurement.documents != null ? measurement.documents!.map((e) { return { - "isActive":e.isActive, + "isActive": e.isActive, "fileStore": e.fileStore, "id": e.id, "documentUid": e.documentUid, @@ -676,18 +514,25 @@ class MBLogic { // 'length': measure.length, // 'height':measure.height, // end of old code clean working - 'breadth': (measure.numItems == 0.0 ||measure.numItems! < 0.0) ? 0.0 : 1.0, - 'length': (measure.numItems == 0.0 ||measure.numItems! < 0.0) ? 0.0 : 1.0, - 'height': (measure.numItems == 0.0 ||measure.numItems! < 0.0) ? 0.0 : 1.0, + 'breadth': + (measure.numItems == 0.0 || measure.numItems! < 0.0) ? 0.0 : 1.0, + 'length': + (measure.numItems == 0.0 || measure.numItems! < 0.0) ? 0.0 : 1.0, + 'height': + (measure.numItems == 0.0 || measure.numItems! < 0.0) ? 0.0 : 1.0, 'isActive': measure.isActive, 'referenceId': measure.referenceId, - 'numItems': (measure.numItems! < 0.0)?(measure.numItems!*-1):measure.numItems, + 'numItems': (measure.numItems! < 0.0) + ? (measure.numItems! * -1) + : measure.numItems, 'id': measure.id, 'cumulativeValue': measure.cumulativeValue, 'currentValue': measure.currentValue, 'additionalDetails': { 'type': measure.measureAdditionalDetails?.type, - 'mbAmount': (measure.measureAdditionalDetails!.mbAmount!<0)?(measure.measureAdditionalDetails!.mbAmount!)*-1:measure.measureAdditionalDetails!.mbAmount, + 'mbAmount': (measure.measureAdditionalDetails!.mbAmount! < 0) + ? (measure.measureAdditionalDetails!.mbAmount!) * -1 + : measure.measureAdditionalDetails!.mbAmount, 'measureLineItems': measureListFilter(measure), }, }; @@ -716,9 +561,7 @@ class MBLogic { filteredMeasurementsMeasure.measureLineItems! .map((measurementLine) { if (measurementLine.measurelineitemNo == measurementLineIndex) { - // MeasureLineItem ml= MeasureLineItem( - // width: - // ); + return updatedMeasurementLine; } @@ -880,12 +723,7 @@ class MBLogic { .filteredMeasurementsMeasure .map((filteredMeasurementsMeasure) { if (filteredMeasurementsMeasure.id == filteredMeasurementsMeasureId) { - // final List updatedMeasurementLineItems = List.from(filteredMeasurementsMeasure.measureLineItems ?? []); - - // // if (measurementLineIndex >= 0 && measurementLineIndex < updatedMeasurementLineItems.length) { - // // updatedMeasurementLineItems.removeAt(measurementLineIndex); - // // } - + final List updatedMeasurementLineItems = (filteredMeasurementsMeasure.measureLineItems ?? []) .where((item) => @@ -893,20 +731,11 @@ class MBLogic { measurementLineIndex) // Assuming MeasureLineItem has a name property .toList(); - // final List updatedMeasurementLineItemx= updatedMeasurementLineItems.mapIndexed((index,e){ - // return MeasureLineItem( - // width: e.width, - // height: e.height, - // length: e.length, - // number: e.number, - // quantity: e.quantity, - // measurelineitemNo: index, - // ); - // }).toList(); + return filteredMeasurementsMeasure.copyWith( measureLineItems: updatedMeasurementLineItems, - // measureLineItems: updatedMeasurementLineItemx, + ); } return filteredMeasurementsMeasure; @@ -943,18 +772,7 @@ class MBLogic { } static List measureListFilter(Measure measure) { -// final List?> ?data=measure.measureAdditionalDetails!.measureLineItems?.map((item) { -// if(item.number!=0&&item.width!=0&&item.height!=0&&item.length!=0&&item.quantity!=0){ -// return { -// 'width': item.width, -// 'height': item.height, -// 'length': item.length, -// 'number': item.number, -// 'quantity': item.quantity, -// 'measurelineitemNo': item.measurelineitemNo, -// }; -// } -// }).toList(); + final List>? data = measure.measureAdditionalDetails?.measureLineItems ?.map((item) { diff --git a/frontend/works_shg_app/lib/utils/localization_constants/i18_key_constants.dart b/frontend/works_shg_app/lib/utils/localization_constants/i18_key_constants.dart index eaeb9f04b8..0eef292c8a 100644 --- a/frontend/works_shg_app/lib/utils/localization_constants/i18_key_constants.dart +++ b/frontend/works_shg_app/lib/utils/localization_constants/i18_key_constants.dart @@ -31,6 +31,7 @@ class Login { class Common { const Common(); + String get statementnotfound=>"WORK_ORDER_STATEMENT_NOT_FOUND"; String get noFileSelected=>"WORKS_NO_FILE_SELECTED"; String get comments=>"WF_COMMON_COMMENTS"; String get photoInfo=>"WORKS_DOC_UPLOAD_HINT"; @@ -147,6 +148,8 @@ class Common { String get validTo => 'ORG_VALID_TO'; String get contactPersonName => 'ORG_CONTACT_PERSON_NAME'; String get download => "COMMON_DOWNLOAD"; + String get workOrderdownload => "COMMON_WORK_ORDER_DOWNLOAD"; + String get analysisdownload => "COMMON_ANALYSIS_STATEMENT_DOWNLOAD"; String get showWorkflowTimeline => 'SHOW_WORKFLOW_TIMELINE'; String get hideWorkflowTimeline => 'HIDE_WORKFLOW_TIMELINE'; String get workflowTimeline => 'WORKS_WORKFLOW_TIMELINE'; From c7f050b6e58d3581ced8ccef804583a8ca430e44 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Wed, 10 Jul 2024 18:18:36 +0530 Subject: [PATCH 047/292] UI enhancement done --- .../lib/pages/employee/mb_config_warning.dart | 54 +-- frontend/works_shg_app/lib/pages/login.dart | 431 +----------------- .../lib/widgets/molecules/mobile_view.dart | 109 +++-- 3 files changed, 95 insertions(+), 499 deletions(-) diff --git a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart index ae0d94e4e9..dc3d9dcbac 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart @@ -174,21 +174,12 @@ class _MBTypeConfirmationPageState extends State { crossAxisAlignment: CrossAxisAlignment.center, footer: Padding( padding: const EdgeInsets.symmetric(horizontal: 8.0), - child: Row( + child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Expanded( - flex: 2, - child: DigitOutLineButton( - label: - t.translate(i18.measurementBook.mbCancel), - onPressed: () { - context.router.pop(); - }, - ), - ), - Expanded( - flex: 2, + + SizedBox( + width: MediaQuery.sizeOf(context).width, child: DigitElevatedButton( child: Text( widget.nextActions!.action == "EDIT/RE-SUBMIT" @@ -257,6 +248,16 @@ class _MBTypeConfirmationPageState extends State { }, ), ) + , SizedBox( + width: MediaQuery.sizeOf(context).width, + child: DigitOutLineButton( + label: + t.translate(i18.measurementBook.mbCancel), + onPressed: () { + context.router.pop(); + }, + ), + ), ], ), ), @@ -409,21 +410,12 @@ class _MBTypeConfirmationPageState extends State { crossAxisAlignment: CrossAxisAlignment.center, footer: Padding( padding: const EdgeInsets.symmetric(horizontal: 8.0), - child: Row( + child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Expanded( - flex: 2, - child: DigitOutLineButton( - label: - t.translate(i18.measurementBook.mbCancel), - onPressed: () { - context.router.pop(); - }, - ), - ), - Expanded( - flex: 2, + + SizedBox( + width: MediaQuery.sizeOf(context).width, child: DigitElevatedButton( child: Text( widget.stateActions!.action == "SUBMIT" @@ -484,6 +476,16 @@ class _MBTypeConfirmationPageState extends State { }, ), ) + , SizedBox( + width: MediaQuery.sizeOf(context).width, + child: DigitOutLineButton( + label: + t.translate(i18.measurementBook.mbCancel), + onPressed: () { + context.router.pop(); + }, + ), + ), ], ), ), diff --git a/frontend/works_shg_app/lib/pages/login.dart b/frontend/works_shg_app/lib/pages/login.dart index b5ee246d8d..52f903460d 100644 --- a/frontend/works_shg_app/lib/pages/login.dart +++ b/frontend/works_shg_app/lib/pages/login.dart @@ -1,433 +1,12 @@ - -// latest code with eye icon - -/// working latest code - -// ignore_for_file: public_member_api_docs, sort_constructors_first -// import 'package:digit_components/digit_components.dart'; -// import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; -// import 'package:dropdown_search/dropdown_search.dart'; -// import 'package:flutter/material.dart'; -// import 'package:flutter/services.dart'; -// import 'package:flutter_bloc/flutter_bloc.dart'; - -// import 'package:works_shg_app/blocs/auth/auth.dart'; -// import 'package:works_shg_app/blocs/auth/otp_bloc.dart'; -// import 'package:works_shg_app/models/init_mdms/init_mdms_model.dart'; -// import 'package:works_shg_app/router/app_router.dart'; -// import 'package:works_shg_app/utils/global_variables.dart'; -// import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' -// as i18; -// import 'package:works_shg_app/widgets/atoms/app_logo.dart'; - -// import '../blocs/app_initilization/app_initilization.dart'; -// import '../blocs/localization/app_localization.dart'; -// import '../utils/employee/support_services.dart'; -// import '../utils/notifiers.dart'; -// import '../widgets/molecules/desktop_view.dart'; -// import '../widgets/molecules/mobile_view.dart'; - -// class LoginPage extends StatefulWidget { -// const LoginPage({Key? key}) : super(key: key); - -// @override -// State createState() { -// return _LoginPage(); -// } -// } - -// class _LoginPage extends State with SingleTickerProviderStateMixin { -// late TabController _tabController; -// var userIdController = TextEditingController(); - -// var userNameController = TextEditingController(); -// var userPasswordController = TextEditingController(); -// bool canContinue = false; -// final formKey = GlobalKey(); -// bool autoValidation = false; -// bool phoneNumberAutoValidation = false; -// final FocusNode _numberFocus = FocusNode(); -// String selectTenantId = ""; - -// bool iconVisibility = true; -// List btns = [ -// const DigitRowCardModel(label: "CBO", value: "", isSelected: true), -// const DigitRowCardModel(label: "Employee", value: "", isSelected: false) -// ]; - -// @override -// void initState() { -// _tabController = TabController(length: 2, vsync: this); -// _tabController.addListener(_handleTabSelection); -// _numberFocus.addListener(_onFocusChange); -// super.initState(); -// } - -// void _handleTabSelection() { -// userIdController.clear(); -// userNameController.clear(); -// userPasswordController.clear(); -// setState(() {}); -// } - -// @override -// dispose() { -// _tabController.dispose(); -// _tabController.removeListener(_handleTabSelection); -// _numberFocus.removeListener(_onFocusChange); -// super.dispose(); -// } - -// @override -// void deactivate() { -// context.read().add( -// const DisposeOTPEvent(), -// ); -// super.deactivate(); -// } - -// void _onFocusChange() { -// if (!_numberFocus.hasFocus) { -// setState(() { -// phoneNumberAutoValidation = true; -// }); -// } -// } - -// Widget getLoginCard(AppLocalizations t, BuildContext loginContext, -// AppInitializationState data) { -// return Center( -// child: Form( -// key: formKey, -// autovalidateMode: autoValidation -// ? AutovalidateMode.always -// : AutovalidateMode.disabled, -// child: DigitCard( -// child: Column( -// mainAxisSize: MainAxisSize.min, -// children: [ -// const AppLogo(), -// Padding( -// padding: const EdgeInsets.all(8.0), -// child: Text( -// AppLocalizations.of(loginContext) -// .translate(i18.login.loginLabel), -// style: const TextStyle( -// fontSize: 18, fontWeight: FontWeight.w700)), -// ), -// TabBar( -// controller: _tabController, -// labelColor: const DigitColors().burningOrange, -// unselectedLabelColor: Colors.black, -// tabs: [ -// Tab( -// child: Text( -// AppLocalizations.of(loginContext).translate(i18.measurementBook.mbCbo), -// ), -// ), -// Tab( -// child: Text( -// AppLocalizations.of(loginContext).translate(i18.measurementBook.mbEmployee), -// ), -// ), -// ]), -// AnimatedContainer( -// height: _tabController.index == 0 ? 120 : 325, -// duration: Duration( -// milliseconds: _tabController.index == 0 ? 100 : 100), -// child: TabBarView( -// physics: const NeverScrollableScrollPhysics(), -// controller: _tabController, -// children: [ -// cboLogin(loginContext), -// employeeLogin(t, loginContext, data, -// userName: userNameController, -// userpassword: userPasswordController) -// ]), -// ), -// _tabController.index == 0 -// ? BlocListener( -// listener: (context, state) { -// state.maybeWhen( -// orElse: () => Container(), -// loaded: () { -// context.router.push(OTPVerificationRoute( -// mobileNumber: userIdController.text)); -// }, -// error: () => Notifiers.getToastMessage( -// context, -// AppLocalizations.of(context).translate( -// i18.login.enteredMobileNotRegistered), -// 'ERROR')); -// }, -// child: DigitElevatedButton( -// onPressed: canContinue -// ? () { -// if (formKey.currentState!.validate()) { -// loginContext.read().add( -// OTPSendEvent( -// mobileNumber: userIdController.text, -// ), -// ); -// } else { -// setState(() { -// autoValidation = true; -// }); -// } -// } -// : null, -// child: Center( -// child: Text(AppLocalizations.of(loginContext) -// .translate(i18.common.continueLabel)), -// ), -// ), -// ) -// : BlocListener( -// listener: (context, state) { -// state.maybeWhen( -// error: () { -// Notifiers.getToastMessage( -// context, -// AppLocalizations.of(context).translate( -// _tabController.index == 0 -// ? i18.login.invalidOTP -// : i18.common.empLoginError), -// 'ERROR'); -// }, -// orElse: () => Container()); -// }, -// child: DigitElevatedButton( -// onPressed: () { -// if (userNameController.text != "" && -// userPasswordController.text != "" && -// selectTenantId != "") { -// context.read().add( -// AuthLoginEvent( -// userId: userNameController.text, -// password: userPasswordController.text, -// roleType: RoleType.employee, -// tenantId: selectTenantId.toString(), -// ), -// ); -// } else { -// Notifiers.getToastMessage( -// context, -// AppLocalizations.of(context) -// .translate(i18.common.allFieldsMandatory), -// 'ERROR'); -// } -// }, -// child: Center( -// child: Text(AppLocalizations.of(loginContext) -// .translate(i18.common.continueLabel)), -// ), -// ), -// ), -// ], -// ), -// ), -// ), -// ); -// } - -// Future forgotPassword(AppLocalizations t) { -// return showDialog( -// barrierDismissible: false, -// context: context, -// builder: (context) { -// return AlertDialog( -// contentPadding: const EdgeInsets.symmetric(horizontal: 4.0), -// titlePadding: -// const EdgeInsets.only(top: 16.0, left: 5.0, bottom: 2.0), -// title: Text(t.translate(i18.login.forgotPassword)), -// content: SizedBox( -// width: MediaQuery.sizeOf(context).width, -// height: 120, -// child: Column( -// mainAxisAlignment: MainAxisAlignment.center, -// crossAxisAlignment: CrossAxisAlignment.start, -// children: [ -// Padding( -// padding: const EdgeInsets.only(bottom: 12.0, top: 0.0), -// child: Text( -// t.translate(i18.login.forgotPasswordMsg), -// style: DigitTheme.instance.mobileTheme.textTheme.titleSmall, -// ), -// ), -// DigitElevatedButton( -// child: Text(t.translate(i18.common.oK)), -// onPressed: () { -// Navigator.of(context).pop(); -// }, -// ) -// ], -// ), -// ), -// ); -// }, -// ); -// } - -// SizedBox cboLogin(BuildContext loginContext) { -// return SizedBox( -// height: (MediaQuery.sizeOf(loginContext).height) * 0.7, -// child: SingleChildScrollView( -// child: DigitTextField( -// label: -// '${AppLocalizations.of(loginContext).translate(i18.common.mobileNumber)}*', -// controller: userIdController, -// isRequired: true, -// prefixText: '+91 - ', -// focusNode: _numberFocus, -// autoValidation: phoneNumberAutoValidation -// ? AutovalidateMode.always -// : AutovalidateMode.disabled, -// textInputType: TextInputType.number, -// inputFormatter: [FilteringTextInputFormatter.allow(RegExp("[0-9]"))], -// validator: (val) { -// if (val!.trim().isEmpty || val!.trim().length != 10) { -// return '${AppLocalizations.of(context).translate(i18.login.pleaseEnterMobile)}'; -// } -// return null; -// }, -// onChange: (value) { -// setState(() { -// canContinue = value.length == 10; -// }); -// if (value.length == 10) { -// _numberFocus.unfocus(); -// } -// }, -// maxLength: 10, -// ), -// ), -// ); -// } - -// @override -// Widget build(BuildContext context) { -// var t = AppLocalizations.of(context); -// return DefaultTabController( -// length: 2, -// child: Scaffold( -// appBar: AppBar( -// automaticallyImplyLeading: true, -// ), -// body: BlocBuilder( -// builder: (context, state) { -// return LayoutBuilder(builder: (context, constraints) { -// if (constraints.maxWidth < 720) { -// return Center( -// child: MobileView( -// getLoginCard(t, context, state), -// GlobalVariables.stateInfoListModel!.bannerUrl.toString(), -// logoBottomPosition: (constraints.maxHeight / 8) + 50, -// cardBottomPosition: (constraints.maxHeight / 3), -// ), -// ); -// } else { -// return DesktopView(getLoginCard(t, context, state), -// GlobalVariables.stateInfoListModel!.bannerUrl.toString()); -// } -// }); -// }, -// )), -// ); -// } - -// SizedBox employeeLogin( -// AppLocalizations t, BuildContext context, AppInitializationState data, -// {required TextEditingController userName, -// required TextEditingController userpassword}) { -// return SizedBox( -// height: (MediaQuery.sizeOf(context).height) * 0.7, -// child: Column( -// children: [ -// DigitTextField( -// label: -// '${AppLocalizations.of(context).translate(i18.login.loginUserName)}*', -// controller: userName, -// isRequired: true, -// validator: (val) { -// if (val!.trim().isEmpty || val!.trim().length != 10) { -// return '${AppLocalizations.of(context).translate(i18.login.pleaseEnterMobile)}'; -// } -// return null; -// }, -// onChange: (value) {}, -// ), -// DigitTextField( -// maxLines: 1, -// label: -// '${AppLocalizations.of(context).translate(i18.login.loginPassword)}*', -// controller: userpassword, -// isRequired: true, -// obscureText: iconVisibility, -// suffixIcon: Padding( -// padding: const EdgeInsets.all(0.0), -// child: IconButton( -// onPressed: () { -// setState(() { -// iconVisibility = !iconVisibility; -// }); -// }, -// icon: Icon( -// iconVisibility -// ? Icons.visibility_rounded -// : Icons.visibility_off_rounded, -// size: 30, -// )), -// ), -// // focusNode: _numberFocus, -// validator: (val) { -// if (val!.trim().isEmpty || val!.trim() == "") { -// return '${AppLocalizations.of(context).translate(i18.login.pleaseEnterMobile)}'; -// } -// return null; -// }, -// onChange: (value) {}, -// ), -// DigitDropdown( -// onChanged: (value) { -// setState(() { -// selectTenantId = value?.code ?? ""; -// }); -// }, -// value: null, -// label: "${t.translate(i18.common.city)} *", -// menuItems: data!.initMdmsModel!.tenant!.tenantListModel!, -// valueMapper: (value) { -// return t.translate(Conversion.convertToTenant(value!.code!)); -// }), - - -// DigitIconButton( -// iconText: t.translate(i18.login.forgotPassword), -// onPressed: () { -// forgotPassword(t); -// }, -// ), -// ], -// ), -// ); -// } -// } - -/// end -/// - -/// second import 'package:digit_components/digit_components.dart'; import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; -import 'package:dropdown_search/dropdown_search.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/blocs/auth/otp_bloc.dart'; -import 'package:works_shg_app/models/init_mdms/init_mdms_model.dart'; import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -600,7 +179,10 @@ class _LoginPageState extends State with SingleTickerProviderStateMix ); }, child: DigitElevatedButton( - onPressed: () { + onPressed: (userNameController.text.isNotEmpty && + userPasswordController.text.isNotEmpty && + selectTenantId.isNotEmpty)? + () { if (userNameController.text.isNotEmpty && userPasswordController.text.isNotEmpty && selectTenantId.isNotEmpty) { @@ -619,7 +201,7 @@ class _LoginPageState extends State with SingleTickerProviderStateMix 'ERROR', ); } - }, + }:null, child: Center( child: Text(t.translate(i18.common.continueLabel)), ), @@ -797,8 +379,7 @@ class _LoginPageState extends State with SingleTickerProviderStateMix ); } } -/// end -/// + diff --git a/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart b/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart index f1d318b547..72adbe5936 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart @@ -1,5 +1,7 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:works_shg_app/blocs/localization/localization.dart'; import '../atoms/background_container.dart'; @@ -15,57 +17,68 @@ class MobileView extends StatelessWidget { @override Widget build(BuildContext context) { - return SingleChildScrollView( - child: Column( - mainAxisSize: MainAxisSize.min, - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - Center( - child: LayoutBuilder(builder: - (BuildContext context, BoxConstraints viewportConstraints) { - return ConstrainedBox( - constraints: BoxConstraints( - minHeight: MediaQuery.of(context).size.height), - child: IntrinsicHeight( - child: Column(children: [ - Expanded( - // A flexible child that will grow to fit the viewport but - // still be at least as big as necessary to fit its contents. - child: Container( - color: Colors.blue, - // height: MediaQuery.of(context).size.height, - child: BackgroundContainer( - Stack(children: [ - (Positioned( - bottom: cardBottomPosition, - child: Container( - margin: const EdgeInsets.only(bottom: 24), - width: MediaQuery.of(context).size.width, - // height: MediaQuery.of(context).size.height + 20, - padding: const EdgeInsets.all(8), - child: widget))), - (Positioned( - bottom: logoBottomPosition, - left: MediaQuery.of(context).size.width / 4, - right: MediaQuery.of(context).size.width / 4, - child: const Align( - alignment: Alignment.bottomCenter, - child: PoweredByDigit( - isWhiteLogo: true, - ), + return BlocBuilder( + builder: (context, state) { + + return SingleChildScrollView( + child: Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + Center( + child: LayoutBuilder(builder: (BuildContext context, + BoxConstraints viewportConstraints) { + return ConstrainedBox( + constraints: BoxConstraints( + minHeight: MediaQuery.of(context).size.height), + child: IntrinsicHeight( + child: Column(children: [ + Expanded( + // A flexible child that will grow to fit the viewport but + // still be at least as big as necessary to fit its contents. + child: Container( + color: Colors.blue, + // height: MediaQuery.of(context).size.height, + child: BackgroundContainer( + Stack(children: [ + (Positioned( + bottom: cardBottomPosition, + child: Container( + margin: const EdgeInsets.only( + bottom: 24), + width: MediaQuery.of(context) + .size + .width, + // height: MediaQuery.of(context).size.height + 20, + padding: const EdgeInsets.all(8), + child: widget))), + (Positioned( + bottom: logoBottomPosition, + left: + MediaQuery.of(context).size.width / 4, + right: + MediaQuery.of(context).size.width / 4, + child: const Align( + alignment: Alignment.bottomCenter, + child: PoweredByDigit( + isWhiteLogo: true, + ), + ), + )), + ]), + bannerURL, ), - )), - ]), - bannerURL, - ), + ), + ), + ]), ), - ), - ]), + ); + }), ), - ); - }), - ), - ]), + ]), + ); + + }, ); } } From dbc0aad95cecf2f859f393f313625065ccd2316b Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 11 Jul 2024 13:30:59 +0530 Subject: [PATCH 048/292] UCEM-337 : updated the localisation code and quantity logic --- .../modules/RateAnalysis/src/components/SORDetailsTemplate.js | 4 ++-- .../packages/modules/RateAnalysis/src/utils/transformData.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js index 2661886c67..c76c7b8a9f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js @@ -111,7 +111,7 @@ const SORDetailsTemplate = (props) => { measures: [], targetId: null, sorId: sor?.id, - quantity: null, + quantity: "", definedQuantity: sor?.quantity, }; return transformedSOR; @@ -227,7 +227,7 @@ const SORDetailsTemplate = (props) => { onChange={(e) => { const { value } = e.target; if (value ? has4DecimalPlaces(parseFloat(value)) : true) { - let newSOR = SORDetails?.map((obj) => { + let newSOR = formData?.map((obj) => { if (obj?.sorCode === row?.sorCode) { return { ...obj, quantity: value }; } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js index 1c38691428..16d655b84c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js @@ -6,7 +6,7 @@ export const getDefaultValues = (sordata, t, mbNumber, compositionData, allSORDa SORCode: sordata?.uniqueIdentifier, SORType: sordata?.data?.sorType !== "NA"? t(`WORKS_SOR_TYPE_${sordata?.data?.sorType}`) : "NA", SORSubType: sordata?.data?.sorSubType !== "NA" ? t(`WORKS_SOR_SUBTYPE_${sordata?.data?.sorSubType}`) : "NA", - SORVarient: sordata?.data?.sorVariant !== "NA" ? t(`WORKS_OR_VARIENT_${sordata?.data?.sorVariant}`) : "NA", + SORVarient: sordata?.data?.sorVariant !== "NA" ? t(`WORKS_SOR_VARIENT_${sordata?.data?.sorVariant}`) : "NA", uom: sordata?.data?.uom !== "NA"? t(`COMMON_MASTERS_UOM_${sordata?.data?.uom}`) : "NA", rateDefinedForQty: sordata?.data?.quantity, description: sordata?.data?.description, From d5321e2b663f4b7579ad6809c39b292eac793b1e Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 11 Jul 2024 14:13:01 +0530 Subject: [PATCH 049/292] [UCEM-358, UCEM-375, UCEM-350] : changes in the view statement style, removed sno from create ra and styling fixes in ra and statements --- .../src/configs/viewStatementConfig.js | 4 +++ .../pageComponents/ViewAnalysisStatement.js | 2 +- .../employee/ViewAnalysisStatementPage.js | 26 +++++++------------ .../Measurement/src/configs/viewUtilConfig.js | 4 +++ .../src/pages/employee/viewUtilization.js | 26 +++++++------------ .../src/components/SORDetailsTemplate.js | 16 ++++++------ .../src/hoc/ViewComposer/renderUtils.js | 4 +-- 7 files changed, 39 insertions(+), 43 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js index dea09c8b90..f8f853ebcc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js @@ -42,6 +42,7 @@ export const data = (statementDetails, rawData, oldData) => { : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2) : parseFloat(0).toFixed(2), + amountStyle:{maxWidth:"12%",textAlign:"end"} }, { key: "STATEMENT_LABOUR", @@ -50,6 +51,7 @@ export const data = (statementDetails, rawData, oldData) => { : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2) : parseFloat(0).toFixed(2), + amountStyle:{maxWidth:"12%",textAlign:"end"} }, { key: "STATEMENT_MACHINERY", @@ -58,6 +60,7 @@ export const data = (statementDetails, rawData, oldData) => { : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2) : parseFloat(0).toFixed(2), + amountStyle:{maxWidth:"12%",textAlign:"end"} }, { @@ -67,6 +70,7 @@ export const data = (statementDetails, rawData, oldData) => { return acc + (ob?.additionalDetails?.labourCessAmount || 0); }, 0) || 0 ).toFixed(2), + amountStyle:{maxWidth:"12%",textAlign:"end"} }, ], }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index 00ec466413..bffe16c913 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -319,7 +319,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { success={showToast?.success} label={t(showToast?.label)} isDleteBtn={true} - style={{ width: "100%", display: "flex", justifyContent: "space-between", whiteSpace: "nowrap" }} + style={{ width: "100%", display: "flex", justifyContent: "space-between" }} onClose={() => setShowToast(false)} /> )} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js index a1b6fb0990..d403d61b26 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js @@ -445,15 +445,15 @@ const ViewAnalysisStatement = () => { // }, // }; -let InfoCardData = { - "Info": "STATEMENT_ANALYSIS_INFO_LABEL", - "reasons": [ - "STATEMENT_ANALYSIS_INFO_1", - "STATEMENT_ANALYSIS_INFO_2", - "STATEMENT_ANALYSIS_INFO_3", - "STATEMENT_ANALYSIS_INFO_4" - ] -} +// let InfoCardData = { +// "Info": "STATEMENT_ANALYSIS_INFO_LABEL", +// "reasons": [ +// "STATEMENT_ANALYSIS_INFO_1", +// "STATEMENT_ANALYSIS_INFO_2", +// "STATEMENT_ANALYSIS_INFO_3", +// "STATEMENT_ANALYSIS_INFO_4" +// ] +// } const config = data(statement?.[0],statement,oldData); @@ -468,13 +468,7 @@ let InfoCardData = { { downloadStatus&& HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} /> }
- -

{t(InfoCardData?.Info)}

- {InfoCardData?.reasons.map((reason, index) => ( -

{t(reason)}

- ))} -
} - /> +
{toast?.show && } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js index f64709609c..9ae7beed84 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js @@ -40,6 +40,7 @@ export const data = (statementDetails, rawData,oldData) => { : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2) : parseFloat(0).toFixed(2), + amountStyle:{maxWidth:"12%",textAlign:"end"} }, { key: "STATEMENT_LABOUR", @@ -48,6 +49,7 @@ export const data = (statementDetails, rawData,oldData) => { : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2) : parseFloat(0).toFixed(2), + amountStyle:{maxWidth:"12%",textAlign:"end"} }, { key: "STATEMENT_MACHINERY", @@ -56,6 +58,7 @@ export const data = (statementDetails, rawData,oldData) => { : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length != 0 ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2) : parseFloat(0).toFixed(2), + amountStyle:{maxWidth:"12%",textAlign:"end"} }, { @@ -65,6 +68,7 @@ export const data = (statementDetails, rawData,oldData) => { return acc + (ob?.additionalDetails?.labourCessAmount || 0); }, 0) || 0 ).toFixed(2), + amountStyle:{maxWidth:"12%",textAlign:"end"} }, ], }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js index 7f8a1a38d8..bb02d5e4aa 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js @@ -418,15 +418,15 @@ const ViewUtilization = () => { const config = data(statement?.[0], statement,oldData); - let InfoCardData = { - "Info": "STATEMENT_UTILIZATION_INFO_LABEL", - "reasons": [ - "STATEMENT_UTILIZATION_INFO_1", - "STATEMENT_UTILIZATION_INFO_2", - "STATEMENT_UTILIZATION_INFO_3", - "STATEMENT_UTILIZATION_INFO_4" - ] - } + // let InfoCardData = { + // "Info": "STATEMENT_UTILIZATION_INFO_LABEL", + // "reasons": [ + // "STATEMENT_UTILIZATION_INFO_1", + // "STATEMENT_UTILIZATION_INFO_2", + // "STATEMENT_UTILIZATION_INFO_3", + // "STATEMENT_UTILIZATION_INFO_4" + // ] + // } //if (isProjectLoading || isDetailedEstimateLoading | isDetailedEstimatesLoading) return ; const HandleDownloadPdf = () => { @@ -446,13 +446,7 @@ const ViewUtilization = () => { {downloadStatus&& HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} />}
- -

{t(InfoCardData?.Info)}

- {InfoCardData?.reasons.map((reason, index) => ( -

{t(reason)}

- ))} -
} - /> + {toast?.show && ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js index c76c7b8a9f..a8667fb203 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js @@ -84,7 +84,7 @@ const SORDetailsTemplate = (props) => { const errorContainerStyles = { display: "block", height: "1rem", overflow: "hidden" }; const columns = [ - { label: t("RA_SNO"), key: "sno" }, + //{ label: t("RA_SNO"), key: "sno" }, { label: t("RA_CODE"), key: "sorCode" }, { label: t("RA_NAME"), key: "description" }, { label: t("RA_UOM"), key: "uom" }, @@ -126,19 +126,19 @@ const SORDetailsTemplate = (props) => { const getStyles = (index) => { let obj = {}; switch (index) { + // case 1: + // obj = { width: "1rem" }; + // break; case 1: - obj = { width: "1rem" }; - break; - case 2: obj = { width: "8rem" }; break; - case 3: + case 2: obj = { width: "70rem" }; break; - case 4: + case 3: obj = { width: "10rem" }; break; - case 5: + case 4: obj = pageType === "VIEW" ? { width: "15rem", textAlign: "right" } : { width: "15rem" }; break; case 6: @@ -198,7 +198,7 @@ const SORDetailsTemplate = (props) => { )} - +
{/*SORDetails?.filter((ob) => ob?.sorType === props?.config?.sorType).length > 0 && diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js index 3f0080341b..dfb017415d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js @@ -41,9 +41,9 @@ export const RenderDataSection = ({ section }) => { /* privacy object set to the Row Component */ privacy={row?.value?.privacy} rowContainerStyle={{}} - textStyle={row?.textStyle} + textStyle={{}} labelStyle={{}} - amountStyle={{}} + amountStyle={row?.amountStyle || {}} /> ); })} From 01c783903f54386ea4ab5ed6c308bfb79dc09f95 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 11 Jul 2024 14:38:54 +0530 Subject: [PATCH 050/292] Added estimate template link in mukta card --- .../packages/Mukta/src/components/WorksCard.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js index c7e66ccf85..fe87103b64 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js @@ -15,6 +15,7 @@ const ROLES = { REVISIONOFRATES : ["MDMS_ADMIN", "MDMS_CITY_ADMIN", "MDMS_STATE_VIEW_ADMIN", "MDMS_CITY_VIEW_ADMIN"], DSS: ["STADMIN"], REVISIONOFRATES : ["MDMS_ADMIN", "MDMS_CITY_ADMIN", "MDMS_STATE_VIEW_ADMIN", "MDMS_CITY_VIEW_ADMIN"], + ESTIMATETEMPLATE : ["MDMS_ADMIN", "MDMS_STATE_ADMIN"], }; // Mukta Overrriding the Works Home screen card @@ -226,6 +227,11 @@ const WorksCard = () => { label: t("ACTION_TEST_10REVISIONOFRATES"), link: `/${window?.contextPath}/employee/rateAnalysis/search-sor`, roles: ROLES.REVISIONOFRATES, + }, + { + label: t("ACTION_TEST_11ESTIMATETEMPLATE"), + link: `/workbench-ui/employee/workbench/mdms-search-v2?moduleName=WORKS&masterName=EstimateTemplate`, + roles: ROLES.ESTIMATETEMPLATE, } ]; From 41ba1ddfd07fab4184abbc7804fc54a1b3b6de32 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 11 Jul 2024 15:11:19 +0530 Subject: [PATCH 051/292] updated condition for quantity according to edit and create --- .../modules/RateAnalysis/src/components/SORDetailsTemplate.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js index a8667fb203..19c1d0ac96 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js @@ -227,7 +227,8 @@ const SORDetailsTemplate = (props) => { onChange={(e) => { const { value } = e.target; if (value ? has4DecimalPlaces(parseFloat(value)) : true) { - let newSOR = formData?.map((obj) => { + let detailsPicked = window.location.href.includes("update") ? SORDetails : formData + let newSOR = detailsPicked?.map((obj) => { if (obj?.sorCode === row?.sorCode) { return { ...obj, quantity: value }; } From 74cac3f7387892f386eeacbad52e2e17f43630c4 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 11 Jul 2024 15:14:35 +0530 Subject: [PATCH 052/292] table component style changed --- .../src/components/ConsolidatedTable.js | 31 ++-- .../Estimate/src/components/ViewStatement.js | 146 +++++++++++------- .../src/pages/employee/ViewRateAnalysis.js | 2 +- 3 files changed, 110 insertions(+), 69 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ConsolidatedTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ConsolidatedTable.js index c4e5dae99f..d9b2c5a26f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ConsolidatedTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ConsolidatedTable.js @@ -100,7 +100,12 @@ const GroupedTable = (props) => { return ( {columns.map((col, index) => ( - ))} @@ -114,19 +119,19 @@ const GroupedTable = (props) => { let sno = 0; return groupedData.map((row, index) => ( - - - - - - + + + + + - - {/* {renderBody()} { groupAndCalculateTotals().length>0&& - - - + + @@ -155,7 +160,7 @@ const GroupedTable = (props) => { { groupAndCalculateTotals().length===0&& - } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index ee5309d921..06aec6e9d1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -37,7 +37,18 @@ const ViewStatement = (props) => { } return columns.map((col, index) => ( - )); @@ -54,7 +65,20 @@ const ViewStatement = (props) => { { key: t("WORKS-SORS_COLUMN_AMT"), width: "14.28%" }, ]; return columns.map((col, index) => ( - )); @@ -62,12 +86,12 @@ const ViewStatement = (props) => { const renderSubBody = (subRows) => { return subRows.map((subRow, subIndex) => ( - - - - - - + + + + + - - - + - - - + + - - - - + + + - - - - + */} - - +
+ {col.key}
{++sno}{row.code}{row.description}{row.uom} +
{++sno}{row.code}{row.description}{row.uom} {} + {/**/} {} + @@ -143,9 +148,9 @@ const GroupedTable = (props) => {
{t("MB_AMOUNT_TOTAL")} +
{t("MB_AMOUNT_TOTAL")}
{Digit.Utils.dss.formatterWithoutRound( parseFloat( groupAndCalculateTotals().reduce((accumulator, currentValue) => accumulator + currentValue.totalAmount, 0.00)).toFixed(2), "number", undefined, true, undefined, 2)}
+ {t(emptyTableMsg)} + {col.key} + {col.key}
{subIndex + 1}{subRow.code}{subRow.name}{subRow.unit} +
{subIndex + 1}{subRow.code}{subRow.name}{subRow.unit}
{Digit.Utils.dss.formatterWithoutRound( parseFloat((subRow?.rate === undefined ? 0 : subRow?.rate).toFixed(2)), @@ -79,10 +103,10 @@ const ViewStatement = (props) => { )}{" "}
+ + { }, 0); return ( -
+
{t("MB_ONLY_AMOUNT")}: + { showAmountTotal = true; return ( - -
{row.sNo}{`${t(`WORKS_SOR_TYPE_${row.sortype}`)} / ${t( + +
{row.sNo}{`${t(`WORKS_SOR_TYPE_${row.sortype}`)} / ${t( `WORKS_SOR_SUBTYPE_${row?.sorSubType}` )}`}{row.code}{row.description}{row.uom} + {row.code}{row.description}{row.uom} - + + + { {subRows.length > 0 && ( {/*
+ {t(`WORKS_${type}_TABLE_HEADER`)}
+ {renderSubHeader()} @@ -196,17 +232,17 @@ const ViewStatement = (props) => { {subRows.length === 0 && row?.type === "W" && ( {/* - - + */} - - +
+ {t(`WORKS_${type}_TABLE_HEADER`)}
+ {renderSubHeader()} @@ -214,7 +250,7 @@ const ViewStatement = (props) => { { - @@ -235,11 +271,11 @@ const ViewStatement = (props) => { */} - - +
+ {t("STATEMENT_NO_DATA_PRESENT")}
+ {renderSubHeader()} @@ -247,27 +283,27 @@ const ViewStatement = (props) => { { - - - - - + + + + - - } - - @@ -284,18 +320,18 @@ const ViewStatement = (props) => { return ( -
{1}{row.code}{row.description}{row.uom} + {1}{row.code}{row.description}{row.uom}
{parseFloat(row.rate).toFixed(2)}
+ +
+ {t("MB_ONLY_AMOUNT")}: +
+
{renderHeader()} - {renderBody()} - + {renderBody()} + {showAmountTotal ? ( - - + - ) : ( - )} From 9dc731b3f833938f315a8e66649c86ad8e45a6f1 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 11 Jul 2024 17:11:04 +0530 Subject: [PATCH 054/292] RA miscellaneous fixes --- .../src/components/ExtraCharges.js | 2 +- .../src/components/SORDetailsTemplate.js | 22 +++++++++++-------- .../components/extra_charges_view_table.js | 2 +- .../src/pages/employee/CreateRateAnalysis.js | 2 +- .../RateAnalysis/src/pages/employee/index.js | 6 +++++ .../RateAnalysis/src/utils/transformData.js | 11 +++++++--- 6 files changed, 30 insertions(+), 15 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js index 5e5dcdafa0..6e479eaf57 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js @@ -122,7 +122,7 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { const getCalculationType = () => { return [ - { code: "PERCENTAGE", name: "percentage" }, + //{ code: "PERCENTAGE", name: "percentage" }, { code: "FIXED", name: "fixed" } ]; }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js index 19c1d0ac96..65c72a94ee 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js @@ -83,14 +83,18 @@ const SORDetailsTemplate = (props) => { const errorCardStyle = { width: "100%", fontSize: "12px", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }; const errorContainerStyles = { display: "block", height: "1rem", overflow: "hidden" }; - const columns = [ - //{ label: t("RA_SNO"), key: "sno" }, + let columns = [ { label: t("RA_CODE"), key: "sorCode" }, { label: t("RA_NAME"), key: "description" }, { label: t("RA_UOM"), key: "uom" }, { label: t("RA_QTY"), key: "quantity" }, ]; + if(pageType === "VIEW") + { + columns.unshift({ label: t("RA_SNO"), key: "sno" }); + } + if (pageType === "VIEW") { columns.splice(4, 0, { label: t("RA_BASIC_RATE"), key: "basicRate" }); columns.push({ label: t("RA_AMT"), key: "amount" }); @@ -126,19 +130,19 @@ const SORDetailsTemplate = (props) => { const getStyles = (index) => { let obj = {}; switch (index) { - // case 1: - // obj = { width: "1rem" }; - // break; case 1: - obj = { width: "8rem" }; + obj = pageType === "VIEW" ? { width: "1rem" } : { width: "8rem" }; break; case 2: - obj = { width: "70rem" }; + obj = pageType === "VIEW" ? { width: "8rem" } : { width: "70rem" }; break; case 3: - obj = { width: "10rem" }; + obj = pageType === "VIEW" ? { width: "70rem" } : { width: "10rem" }; break; case 4: + obj = pageType === "VIEW" ? { width: "10rem" } : (pageType === "VIEW" ? { width: "15rem", textAlign: "right" } : { width: "15rem" }); + break; + case 5: obj = pageType === "VIEW" ? { width: "15rem", textAlign: "right" } : { width: "15rem" }; break; case 6: @@ -198,7 +202,7 @@ const SORDetailsTemplate = (props) => { )} -
+
{config?.screenType === "UTILIZATION" ? t("UTILIZATION_STATEMENT_GRAND_TOTAL") : t("STATEMENT_GRAND_TOTAL")}: + { const [current, setCurrent] = useState(Date.now()); const queryStrings = Digit.Hooks.useQueryParams(); - let effectiveTime = queryStrings.fromeffective ? queryStrings.fromeffective : current; + let effectiveTime = queryStrings.fromeffective ? (queryStrings.fromeffective < current ? current : queryStrings.fromeffective) : current; let dataPaylod = { sorDetails: { tenantId: tenantId, From e8edc77af6bb3be83f031206be9b1554c09ce7c7 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 11 Jul 2024 15:30:57 +0530 Subject: [PATCH 053/292] style chaged for table in empty table --- .../packages/modules/Estimate/src/components/ViewStatement.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index 06aec6e9d1..1f7c57834d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -341,7 +341,7 @@ const ViewStatement = (props) => {
+ {t("STATEMENT_NO_DATA_PRESENT")}
+
{/*SORDetails?.filter((ob) => ob?.sorType === props?.config?.sorType).length > 0 && diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/extra_charges_view_table.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/extra_charges_view_table.js index 84d1f3a920..9add9725e3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/extra_charges_view_table.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/extra_charges_view_table.js @@ -66,7 +66,7 @@ const ExtraChargesViewTable = (props) => { sno: index + 1, description: row?.description, - appliedOn: row?.appliedOn, + appliedOn: row?.appliedOn ? t(row?.appliedOn) : row?.appliedOn, calculationType: row?.calculationType, figure: Digit.Utils.dss.formatterWithoutRound(parseFloat(row?.figure).toFixed(2), "number", undefined, true, undefined, 2), amount: Digit.Utils.dss.formatterWithoutRound(parseFloat(row?.amount).toFixed(2), "number", undefined, true, undefined, 2), diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js index 9da007fdd7..3fa837f329 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js @@ -280,7 +280,7 @@ const { isLoading : isallCompositionLoading, data : allcompositionData} = Digit. return (
{isPopupOpen && handleCreateRateAnalysis({..._data,...createState},"SUBMIT")} onButtonClickCancel={() => { setIsPopupOpen(false)}}/>} -
{t("RA_CREATE_RATE_ANALYSIS")}
+
{isUpdate ? t("RA_UPDATE_RATE_ANALYSIS") : t("RA_CREATE_RATE_ANALYSIS")}
(!a.hasOwnProperty('forOnlyUpdate') || props?.isUpdate)).map((config) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/index.js index 9bad308a61..4139428e50 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/index.js @@ -31,6 +31,12 @@ const RateAnalysisBreadCumbs = ({ location }) => { show: location.pathname.includes("/view-rate-analysis") ? true : false, isBack: true, }, + { + path: `/${window.contextPath}/employee/rateAnalysis/update-rate-analysis`, + content: fromScreen ? `${t(fromScreen)} / ${t("RA_UPDATE_RATE_HEADER")}` : t("RA_UPDATE_RATE_HEADER"), + show: location.pathname.includes("/update-rate-analysis") ? true : false, + isBack: true, + }, { path: `/${window.contextPath}/employee/rateAnalysis/search-sor`, content: t("RA_SEARCH_SOR"), diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js index 16d655b84c..f3bbdf6ef5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js @@ -19,8 +19,13 @@ export const getDefaultValues = (sordata, t, mbNumber, compositionData, allSORDa extraCharges = getDefaultExtraCharges(compositionData, allOverheadData); SORData.analysis_qty_defined = compositionData?.data.quantity; SORData.effective_from_date = compositionData?.data.effectiveFrom - ? new Date(parseInt(compositionData?.data.effectiveFrom)).toISOString().split("T")[0] - : ""; + ? new Date(parseInt(compositionData?.data.effectiveFrom)).toLocaleString("en-IN", { + timeZone: "Asia/Kolkata", + year: "numeric", + month: "2-digit", + day: "2-digit" + }).split(",")[0].split("/").reverse().join("-") + : ""; } return { SORData, SORDetails, extraCharges }; }; @@ -185,7 +190,7 @@ export const getRefactoreExtraChargesTableRows = (listData, sorType) => { quantity: data?.additionalDetails?.quantity, basicRate: data?.amountDetails[0]?.amount, calculationType: data?.amountDetails[0]?.type, - appliedOn: data?.amountDetails[0]?.heads?.split(".")[0], + appliedOn: `WORKS_SOR_OVERHEAD_${data?.amountDetails[0]?.heads?.split(".")[0]}_${data?.amountDetails[0]?.heads?.split(".")[1]}`, figure: data?.amountDetails[0]?.amount, })); }; From df6f63e5f7413bf690db9126f1a099e3dd82b199 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 11 Jul 2024 17:39:50 +0530 Subject: [PATCH 055/292] updated the version of attendancemgmt --- frontend/micro-ui/web/micro-ui-internals/example/package.json | 2 +- .../packages/modules/AttendenceMgmt/package.json | 2 +- frontend/micro-ui/web/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index af53819a63..295ff8b540 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -14,7 +14,7 @@ "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-module-attendencemgmt": "0.4.1", + "@egovernments/digit-ui-module-attendencemgmt": "0.4.2", "@egovernments/digit-ui-module-contracts": "0.4.2", "@egovernments/digit-ui-module-measurement":"0.2.0", "@egovernments/digit-ui-module-estimate": "0.4.5", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json index 11f7fabf15..804c1be7b0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-attendencemgmt", - "version": "0.4.1", + "version": "0.4.2", "description": "Attendence Management Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index 5f5b26b50a..e50beae1b1 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -23,7 +23,7 @@ "@egovernments/digit-ui-module-core": "1.5.47", "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", - "@egovernments/digit-ui-module-attendencemgmt": "0.4.1", + "@egovernments/digit-ui-module-attendencemgmt": "0.4.2", "@egovernments/digit-ui-module-contracts": "0.4.2", "@egovernments/digit-ui-module-measurement":"0.2.0", "@egovernments/digit-ui-module-estimate": "0.4.5", From 23d0fe7783c783eb5d7ef75cf95f0482e7647eb8 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 11 Jul 2024 18:30:18 +0530 Subject: [PATCH 056/292] changes done for old MB it was showing info in util screen --- .../Estimate/src/configs/viewStatementConfig.js | 10 +++++----- .../src/pageComponents/ViewAnalysisStatement.js | 13 ++++++++----- .../Measurement/src/configs/viewUtilConfig.js | 10 +++++----- .../modules/RateAnalysis/src/utils/transformData.js | 2 +- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js index f8f853ebcc..ab3f10d811 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js @@ -40,7 +40,7 @@ export const data = (statementDetails, rawData, oldData) => { value: oldData ? (oldData?.Material.includes(",") ? oldData?.Material : parseFloat(oldData?.Material).toFixed(2)) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length != 0 - ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2) + ?Digit.Utils.dss.formatterWithoutRound( statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2), "number", undefined, true, undefined, 2) : parseFloat(0).toFixed(2), amountStyle:{maxWidth:"12%",textAlign:"end"} }, @@ -49,7 +49,7 @@ export const data = (statementDetails, rawData, oldData) => { value: oldData ? (oldData?.Machinery?.includes(",") ? oldData?.Machinery : parseFloat(oldData?.Machinery).toFixed(2)) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length != 0 - ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2) + ?Digit.Utils.dss.formatterWithoutRound( statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2), "number", undefined, true, undefined, 2) : parseFloat(0).toFixed(2), amountStyle:{maxWidth:"12%",textAlign:"end"} }, @@ -58,18 +58,18 @@ export const data = (statementDetails, rawData, oldData) => { value: oldData ? (oldData?.Labour?.includes(",") ? oldData?.Labour :parseFloat(oldData?.Labour).toFixed(2)) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length != 0 - ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2) + ?Digit.Utils.dss.formatterWithoutRound( statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2), "number", undefined, true, undefined, 2) : parseFloat(0).toFixed(2), amountStyle:{maxWidth:"12%",textAlign:"end"} }, { key: "STATEMENT_LABOUR_CESS", - value: parseFloat( + value:Digit.Utils.dss.formatterWithoutRound( parseFloat( statementDetails?.sorDetails.reduce((acc, ob) => { return acc + (ob?.additionalDetails?.labourCessAmount || 0); }, 0) || 0 - ).toFixed(2), + ).toFixed(2), "number", undefined, true, undefined, 2) , amountStyle:{maxWidth:"12%",textAlign:"end"} }, ], diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index bffe16c913..36f02a87b8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -179,13 +179,15 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { } else { await UtilizationMutation(payload, { onError: async (error) => { + setShowToast({ error: true, label: error?.response?.data?.Errors?.[0].message || error, }); - setTimeout(() => { - setShowToast(false); - }, 5000); + + // setTimeout(() => { + // setShowToast(false); + // }, 5000); }, onSuccess: async (responseData) => { setTimeout(() => { @@ -232,7 +234,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { downloadStatus:true, }; - if (!searchResponse || searchResponse?.statement?.length <= 0 || formData?.Measurement?.wfStatus === "APPROVED") { + if ((!searchResponse || searchResponse?.statement?.length <= 0 ) && formData?.Measurement?.wfStatus === "APPROVED") { state.oldData = { Labour: getAnalysisCost(ChargesCodeMapping.LabourCost), Material: getAnalysisCost(ChargesCodeMapping.MaterialCost), @@ -319,7 +321,8 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { success={showToast?.success} label={t(showToast?.label)} isDleteBtn={true} - style={{ width: "100%", display: "flex", justifyContent: "space-between" }} + labelstyle={{width:"100%"}} + style={{ width: "100%", display: "flex", justifyContent: "space-between" }} onClose={() => setShowToast(false)} /> )} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js index 9ae7beed84..6565a8258f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js @@ -38,7 +38,7 @@ export const data = (statementDetails, rawData,oldData) => { value: oldData ? (oldData?.Material.includes(",") ? oldData?.Material : parseFloat(oldData?.Material).toFixed(2)) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length != 0 - ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2) + ?Digit.Utils.dss.formatterWithoutRound( statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2), "number", undefined, true, undefined, 2) : parseFloat(0).toFixed(2), amountStyle:{maxWidth:"12%",textAlign:"end"} }, @@ -47,7 +47,7 @@ export const data = (statementDetails, rawData,oldData) => { value: oldData ? (oldData?.Machinery?.includes(",") ? oldData?.Machinery : parseFloat(oldData?.Machinery).toFixed(2)) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length != 0 - ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2) + ?Digit.Utils.dss.formatterWithoutRound( statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2), "number", undefined, true, undefined, 2) : parseFloat(0).toFixed(2), amountStyle:{maxWidth:"12%",textAlign:"end"} }, @@ -56,18 +56,18 @@ export const data = (statementDetails, rawData,oldData) => { value: oldData ? (oldData?.Labour?.includes(",") ? oldData?.Labour :parseFloat(oldData?.Labour).toFixed(2)) : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length != 0 - ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2) + ?Digit.Utils.dss.formatterWithoutRound( statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2), "number", undefined, true, undefined, 2) : parseFloat(0).toFixed(2), amountStyle:{maxWidth:"12%",textAlign:"end"} }, { key: "STATEMENT_LABOUR_CESS", - value: parseFloat( + value:Digit.Utils.dss.formatterWithoutRound( parseFloat( statementDetails?.sorDetails.reduce((acc, ob) => { return acc + (ob?.additionalDetails?.labourCessAmount || 0); }, 0) || 0 - ).toFixed(2), + ).toFixed(2), "number", undefined, true, undefined, 2) , amountStyle:{maxWidth:"12%",textAlign:"end"} }, ], diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js index f3bbdf6ef5..ea8dc9c27c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js @@ -6,7 +6,7 @@ export const getDefaultValues = (sordata, t, mbNumber, compositionData, allSORDa SORCode: sordata?.uniqueIdentifier, SORType: sordata?.data?.sorType !== "NA"? t(`WORKS_SOR_TYPE_${sordata?.data?.sorType}`) : "NA", SORSubType: sordata?.data?.sorSubType !== "NA" ? t(`WORKS_SOR_SUBTYPE_${sordata?.data?.sorSubType}`) : "NA", - SORVarient: sordata?.data?.sorVariant !== "NA" ? t(`WORKS_SOR_VARIENT_${sordata?.data?.sorVariant}`) : "NA", + SORVarient: sordata?.data?.sorVariant !== "NA" ? t(`WORKS_SOR_VARIANT_${sordata?.data?.sorVariant}`) : "NA", uom: sordata?.data?.uom !== "NA"? t(`COMMON_MASTERS_UOM_${sordata?.data?.uom}`) : "NA", rateDefinedForQty: sordata?.data?.quantity, description: sordata?.data?.description, From 0b0b3319c8ab7ccd7bed01b3a4f532bfbfcda428 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 11 Jul 2024 18:34:17 +0530 Subject: [PATCH 057/292] toast timer uncommented --- .../Estimate/src/pageComponents/ViewAnalysisStatement.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index 36f02a87b8..81b336eb7e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -185,9 +185,9 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { label: error?.response?.data?.Errors?.[0].message || error, }); - // setTimeout(() => { - // setShowToast(false); - // }, 5000); + setTimeout(() => { + setShowToast(false); + }, 5000); }, onSuccess: async (responseData) => { setTimeout(() => { From e9cca6b54688f407c7f61148fd251944c631129f Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Fri, 12 Jul 2024 14:09:13 +0530 Subject: [PATCH 058/292] old mb issue is resolved --- .../rateAnalysis/useviewcontractdetails.js | 7 +- .../src/configs/viewStatementConfig.js | 12 +-- .../pageComponents/ViewAnalysisStatement.js | 8 +- .../Measurement/src/configs/viewUtilConfig.js | 100 ++++++++++++------ .../src/configs/ViewRateAnalysisConfig.js | 2 +- 5 files changed, 87 insertions(+), 42 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/rateAnalysis/useviewcontractdetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/rateAnalysis/useviewcontractdetails.js index 7850687f0c..3f33b40442 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/rateAnalysis/useviewcontractdetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/rateAnalysis/useviewcontractdetails.js @@ -6,7 +6,12 @@ const useViewRateAnalysisDetails = (tenantId, data) => { const { t } = useTranslation(); return useQuery(["VIEW_RATE_ANALYSIS_DETAILS", tenantId, data], - () => View.fetchRateAnalysisDetails(tenantId, data)); + () => View.fetchRateAnalysisDetails(tenantId, data), + { + staleTime: 0, // Data is always considered stale + cacheTime: 0, // Data is immediately removed from the cache + } + ); }; export default useViewRateAnalysisDetails; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js index ab3f10d811..5b8a000bfe 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js @@ -39,27 +39,27 @@ export const data = (statementDetails, rawData, oldData) => { key: "STATEMENT_MATERIAL", value: oldData ? (oldData?.Material.includes(",") ? oldData?.Material : parseFloat(oldData?.Material).toFixed(2)) - : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length != 0 + :statementDetails? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length != 0 ?Digit.Utils.dss.formatterWithoutRound( statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2), "number", undefined, true, undefined, 2) - : parseFloat(0).toFixed(2), + : parseFloat(0).toFixed(2): parseFloat(0).toFixed(2), amountStyle:{maxWidth:"12%",textAlign:"end"} }, { key: "STATEMENT_LABOUR", value: oldData ? (oldData?.Machinery?.includes(",") ? oldData?.Machinery : parseFloat(oldData?.Machinery).toFixed(2)) - : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length != 0 + : statementDetails? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length != 0 ?Digit.Utils.dss.formatterWithoutRound( statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2), "number", undefined, true, undefined, 2) - : parseFloat(0).toFixed(2), + : parseFloat(0).toFixed(2): parseFloat(0).toFixed(2), amountStyle:{maxWidth:"12%",textAlign:"end"} }, { key: "STATEMENT_MACHINERY", value: oldData ? (oldData?.Labour?.includes(",") ? oldData?.Labour :parseFloat(oldData?.Labour).toFixed(2)) - : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length != 0 + :statementDetails? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length != 0 ?Digit.Utils.dss.formatterWithoutRound( statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2), "number", undefined, true, undefined, 2) - : parseFloat(0).toFixed(2), + : parseFloat(0).toFixed(2): parseFloat(0).toFixed(2), amountStyle:{maxWidth:"12%",textAlign:"end"} }, { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index 81b336eb7e..af5415f028 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -234,7 +234,8 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { downloadStatus:true, }; - if ((!searchResponse || searchResponse?.statement?.length <= 0 ) && formData?.Measurement?.wfStatus === "APPROVED") { + if ((!searchResponse || searchResponse?.statement?.length <= 0 ) && ( isEstimate? formData?.wfStatus === "APPROVED" :formData?.Measurement?.wfStatus === "APPROVED")) { + debugger state.oldData = { Labour: getAnalysisCost(ChargesCodeMapping.LabourCost), Material: getAnalysisCost(ChargesCodeMapping.MaterialCost), @@ -243,6 +244,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { state.downloadStatus=false; } + history.push({ pathname: path, state }); }; @@ -263,10 +265,12 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { showToastMessage(message); return; } - +debugger if (isView && searchResponse) { + handleNavigation(isEstimate, isView, searchResponse, formData, props); } else { + await callCreateApi(event); } }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js index 6565a8258f..47fee031b4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js @@ -3,24 +3,21 @@ import { transformEstimateObjects } from "../../../Estimate/util/estimateConvers import { transformStatementData, sortSorsBasedonType } from "../../../Estimate/util/EstimateData"; import { sortedFIlteredData } from "../utils/view_utilization"; -export const data = (statementDetails, rawData,oldData) => { - const [viewData, setViewData] = useState({ SOR: [], NONSOR: [], sorted: [], }); +export const data = (statementDetails, rawData, oldData) => { + const [viewData, setViewData] = useState({ SOR: [], NONSOR: [], sorted: [] }); const [sorted, setSorted] = useState([]); const headerLocale = Digit.Utils.locale.getTransformedLocale(statementDetails?.tenantId); useEffect(() => { - const processArrays = () => { - if (statementDetails && !(viewData?.nestedData)) { - //Transforming the estimate search response according to formdata + if (statementDetails && !viewData?.nestedData) { + //Transforming the estimate search response according to formdata setViewData({ - nestedData: transformStatementData(statementDetails,"UTILIZATION"), - sorted: sortSorsBasedonType(rawData,"UTILIZATION"), + nestedData: transformStatementData(statementDetails, "UTILIZATION"), + sorted: sortSorsBasedonType(rawData, "UTILIZATION"), //NONSOR: transformEstimateObjects(estimateDetails, "NON-SOR", {}, allDetailedEstimate), }); - - } }; processArrays(); @@ -36,39 +33,78 @@ export const data = (statementDetails, rawData,oldData) => { { key: "STATEMENT_MATERIAL", value: oldData - ? (oldData?.Material.includes(",") ? oldData?.Material : parseFloat(oldData?.Material).toFixed(2)) - : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length != 0 - ?Digit.Utils.dss.formatterWithoutRound( statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2), "number", undefined, true, undefined, 2) + ? oldData?.Material.includes(",") + ? oldData?.Material + : parseFloat(oldData?.Material || 0).toFixed(2) + : statementDetails + ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length != 0 + ? Digit.Utils.dss.formatterWithoutRound( + statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2), + "number", + undefined, + true, + undefined, + 2 + ) + : parseFloat(0).toFixed(2) : parseFloat(0).toFixed(2), - amountStyle:{maxWidth:"12%",textAlign:"end"} + amountStyle: { maxWidth: "12%", textAlign: "end" }, }, { key: "STATEMENT_LABOUR", value: oldData - ? (oldData?.Machinery?.includes(",") ? oldData?.Machinery : parseFloat(oldData?.Machinery).toFixed(2)) - : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length != 0 - ?Digit.Utils.dss.formatterWithoutRound( statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2), "number", undefined, true, undefined, 2) + ? oldData?.Machinery?.includes(",") + ? oldData?.Machinery + : parseFloat(oldData?.Machinery).toFixed(2) + : statementDetails + ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length != 0 + ? Digit.Utils.dss.formatterWithoutRound( + statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2), + "number", + undefined, + true, + undefined, + 2 + ) + : parseFloat(0).toFixed(2) : parseFloat(0).toFixed(2), - amountStyle:{maxWidth:"12%",textAlign:"end"} + amountStyle: { maxWidth: "12%", textAlign: "end" }, }, { key: "STATEMENT_MACHINERY", value: oldData - ? (oldData?.Labour?.includes(",") ? oldData?.Labour :parseFloat(oldData?.Labour).toFixed(2)) - : statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length != 0 - ?Digit.Utils.dss.formatterWithoutRound( statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2), "number", undefined, true, undefined, 2) + ? oldData?.Labour?.includes(",") + ? oldData?.Labour + : parseFloat(oldData?.Labour).toFixed(2) + : statementDetails + ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length != 0 + ? Digit.Utils.dss.formatterWithoutRound( + statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2), + "number", + undefined, + true, + undefined, + 2 + ) + : parseFloat(0).toFixed(2) : parseFloat(0).toFixed(2), - amountStyle:{maxWidth:"12%",textAlign:"end"} + amountStyle: { maxWidth: "12%", textAlign: "end" }, }, { - key: "STATEMENT_LABOUR_CESS", - value:Digit.Utils.dss.formatterWithoutRound( parseFloat( - statementDetails?.sorDetails.reduce((acc, ob) => { - return acc + (ob?.additionalDetails?.labourCessAmount || 0); - }, 0) || 0 - ).toFixed(2), "number", undefined, true, undefined, 2) , - amountStyle:{maxWidth:"12%",textAlign:"end"} + value: Digit.Utils.dss.formatterWithoutRound( + parseFloat( + statementDetails?.sorDetails.reduce((acc, ob) => { + return acc + (ob?.additionalDetails?.labourCessAmount || 0); + }, 0) || 0 + ).toFixed(2), + "number", + undefined, + true, + undefined, + 2 + ), + amountStyle: { maxWidth: "12%", textAlign: "end" }, }, ], }, @@ -151,7 +187,7 @@ export const data = (statementDetails, rawData,oldData) => { cardHeader: { value: "WORKS_SORS_WISE_MATERIAL_CONSOLIDATION", inlineStyles: {} }, component: "GroupedTable", props: { - emptyTableMsg:"NO_MATERIAL_CONSOLIDATION", + emptyTableMsg: "NO_MATERIAL_CONSOLIDATION", config: { key: "SOR", mode: "VIEWES", @@ -174,7 +210,7 @@ export const data = (statementDetails, rawData,oldData) => { cardHeader: { value: "WORKS_SORS_WISE_LABOUR_CONSOLIDATION", inlineStyles: {} }, component: "GroupedTable", props: { - emptyTableMsg:"NO_LABOUR_CONSOLIDATION", + emptyTableMsg: "NO_LABOUR_CONSOLIDATION", config: { key: "SOR", mode: "VIEWES", @@ -197,7 +233,7 @@ export const data = (statementDetails, rawData,oldData) => { cardHeader: { value: "WORKS_SORS_WISE_MACHINERY_CONSOLIDATION", inlineStyles: {} }, component: "GroupedTable", props: { - emptyTableMsg:"NO_MACHINERY_CONSOLIDATION", + emptyTableMsg: "NO_MACHINERY_CONSOLIDATION", config: { key: "SOR", mode: "VIEWES", @@ -237,4 +273,4 @@ export const data = (statementDetails, rawData,oldData) => { activeByDefault: "card1", }, }; -}; \ No newline at end of file +}; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewRateAnalysisConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewRateAnalysisConfig.js index dccf873b77..8ab3aee3de 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewRateAnalysisConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewRateAnalysisConfig.js @@ -99,7 +99,7 @@ export const viewRateAnalysisdataconfig = (data, rateAnalysis, sorId, t,infoCard }, { key: "RA_SOR_VARIENT", - value: rateAnalysis?.sorVariant && rateAnalysis?.sorVariant != "NA" ? t(`WORKS_SOR_VARIANT_${rateAnalysis?.sorVariant}`) : t(`WORKS_SOR_VARIANT_NA`), + value: rateAnalysis?.sorVariant && rateAnalysis?.sorVariant != "NA" ? t(`WORKS_SOR_VARIANT_${rateAnalysis?.sorVariant}`) :"NA", }, { From 5acb0a7d2e1f5a8d004f252089b4be8eb0072cbf Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Fri, 12 Jul 2024 14:15:44 +0530 Subject: [PATCH 059/292] console and debugger removed --- .../Estimate/src/pageComponents/ViewAnalysisStatement.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index af5415f028..38d90a44e3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -235,7 +235,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { }; if ((!searchResponse || searchResponse?.statement?.length <= 0 ) && ( isEstimate? formData?.wfStatus === "APPROVED" :formData?.Measurement?.wfStatus === "APPROVED")) { - debugger + state.oldData = { Labour: getAnalysisCost(ChargesCodeMapping.LabourCost), Material: getAnalysisCost(ChargesCodeMapping.MaterialCost), @@ -265,7 +265,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { showToastMessage(message); return; } -debugger + if (isView && searchResponse) { handleNavigation(isEstimate, isView, searchResponse, formData, props); From 7d0234771f710f1589c12d1384652a0e08d33824 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Fri, 12 Jul 2024 14:21:38 +0530 Subject: [PATCH 060/292] condition rechecked for variant --- .../modules/RateAnalysis/src/configs/ViewRateAnalysisConfig.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewRateAnalysisConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewRateAnalysisConfig.js index 8ab3aee3de..1607d5ad71 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewRateAnalysisConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewRateAnalysisConfig.js @@ -99,7 +99,7 @@ export const viewRateAnalysisdataconfig = (data, rateAnalysis, sorId, t,infoCard }, { key: "RA_SOR_VARIENT", - value: rateAnalysis?.sorVariant && rateAnalysis?.sorVariant != "NA" ? t(`WORKS_SOR_VARIANT_${rateAnalysis?.sorVariant}`) :"NA", + value: rateAnalysis?.sorVariant ? rateAnalysis?.sorVariant != "NA" ? t(`WORKS_SOR_VARIANT_${rateAnalysis?.sorVariant}`) :t(`WORKS_SOR_VARIANT_NA`):"NA", }, { From e24a01882e96cc5cd19211c315c53a1298102386 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Fri, 12 Jul 2024 17:01:55 +0530 Subject: [PATCH 061/292] analysis download fine name changed --- .../works_shg_app/lib/blocs/work_orders/work_order_pdf.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart b/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart index a011412743..6b5a222fa2 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart @@ -63,7 +63,7 @@ class WorkOrderPDFBloc extends Bloc { "referenceId": event.estimateId.toString(), "tenantId": event.tenantId.toString(), }, - fileName: 'WorkOrder.pdf', + fileName: 'analysis_statement.pdf', options: Options(extra: { "userInfo": GlobalVariables.userRequestModel, "accessToken": GlobalVariables.authToken, From d1c7bfcd820d7dbeaa91436ddd139fe6378af297 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Fri, 12 Jul 2024 19:23:13 +0530 Subject: [PATCH 062/292] old value fixed --- .../src/configs/viewStatementConfig.js | 88 +++++++++++++------ .../pageComponents/ViewAnalysisStatement.js | 78 +++++++++------- .../Measurement/src/configs/viewUtilConfig.js | 13 +-- 3 files changed, 116 insertions(+), 63 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js index 5b8a000bfe..ed962d90f8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js @@ -28,49 +28,87 @@ export const data = (statementDetails, rawData, oldData) => { return { cards: [ { - sections: [ { type: "DATA", - - + values: [ { key: "STATEMENT_MATERIAL", value: oldData - ? (oldData?.Material.includes(",") ? oldData?.Material : parseFloat(oldData?.Material).toFixed(2)) - :statementDetails? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length != 0 - ?Digit.Utils.dss.formatterWithoutRound( statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2), "number", undefined, true, undefined, 2) - : parseFloat(0).toFixed(2): parseFloat(0).toFixed(2), - amountStyle:{maxWidth:"12%",textAlign:"end"} + ? oldData?.Material.includes(",") + ? oldData?.Material + : parseFloat(oldData?.Material).toFixed(2) + : statementDetails + ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M").length != 0 + ? Digit.Utils.dss.formatterWithoutRound( + statementDetails?.basicSorDetails.filter((ob) => ob?.type === "M")[0]?.amount.toFixed(2), + "number", + undefined, + true, + undefined, + 2 + ) + : parseFloat(0).toFixed(2) + : parseFloat(0).toFixed(2), + amountStyle: { maxWidth: "12%", textAlign: "end" }, }, { key: "STATEMENT_LABOUR", value: oldData - ? (oldData?.Machinery?.includes(",") ? oldData?.Machinery : parseFloat(oldData?.Machinery).toFixed(2)) - : statementDetails? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length != 0 - ?Digit.Utils.dss.formatterWithoutRound( statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2), "number", undefined, true, undefined, 2) - : parseFloat(0).toFixed(2): parseFloat(0).toFixed(2), - amountStyle:{maxWidth:"12%",textAlign:"end"} + ? oldData?.Labour?.includes(",") + ? oldData?.Labour + : parseFloat(oldData?.Labour).toFixed(2) + : statementDetails + ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length != 0 + ? Digit.Utils.dss.formatterWithoutRound( + statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L")[0]?.amount.toFixed(2), + "number", + undefined, + true, + undefined, + 2 + ) + : parseFloat(0).toFixed(2) + : parseFloat(0).toFixed(2), + amountStyle: { maxWidth: "12%", textAlign: "end" }, }, + { key: "STATEMENT_MACHINERY", value: oldData - ? (oldData?.Labour?.includes(",") ? oldData?.Labour :parseFloat(oldData?.Labour).toFixed(2)) - :statementDetails? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length != 0 - ?Digit.Utils.dss.formatterWithoutRound( statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2), "number", undefined, true, undefined, 2) - : parseFloat(0).toFixed(2): parseFloat(0).toFixed(2), - amountStyle:{maxWidth:"12%",textAlign:"end"} + ? oldData?.Machinery?.includes(",") + ? oldData?.Machinery + : parseFloat(oldData?.Machinery).toFixed(2) + : statementDetails + ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length != 0 + ? Digit.Utils.dss.formatterWithoutRound( + statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E")[0]?.amount.toFixed(2), + "number", + undefined, + true, + undefined, + 2 + ) + : parseFloat(0).toFixed(2) + : parseFloat(0).toFixed(2), + amountStyle: { maxWidth: "12%", textAlign: "end" }, }, { - key: "STATEMENT_LABOUR_CESS", - value:Digit.Utils.dss.formatterWithoutRound( parseFloat( - statementDetails?.sorDetails.reduce((acc, ob) => { - return acc + (ob?.additionalDetails?.labourCessAmount || 0); - }, 0) || 0 - ).toFixed(2), "number", undefined, true, undefined, 2) , - amountStyle:{maxWidth:"12%",textAlign:"end"} + value: Digit.Utils.dss.formatterWithoutRound( + parseFloat( + statementDetails?.sorDetails.reduce((acc, ob) => { + return acc + (ob?.additionalDetails?.labourCessAmount || 0); + }, 0) || 0 + ).toFixed(2), + "number", + undefined, + true, + undefined, + 2 + ), + amountStyle: { maxWidth: "12%", textAlign: "end" }, }, ], }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index 38d90a44e3..483fd1d8de 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -67,13 +67,14 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { // { // SORAmount = formData?.additionalDetails?.labourMaterialAnalysis?.machinery;} - SORAmount = formData?.SORtable?.reduce((tot, ob) => { - let amount = ob?.amountDetails?.reduce( - (total, item) => total + (categories.some((category) => item?.heads?.includes(category)) ? item?.amount : 0), - 0 - ); - return tot + amount * ob?.currentMBEntry; - }, 0); + // SORAmount = formData?.SORtable?.reduce((tot, ob) => { + // let amount = ob?.amountDetails?.reduce( + // (total, item) => total + (categories.some((category) => item?.heads?.includes(category)) ? item?.amount : 0), + // 0 + // ); + // return tot + amount * ob?.currentMBEntry; + // }, 0); + SORAmount = SORAmount ? SORAmount : 0; if (SORAmount == 0) { SORAmount = formData?.SORtable?.reduce((tot, ob) => { @@ -88,25 +89,40 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { (rate.sorId === ob?.sorCode && validFromInMillis <= currentDateInMillis && currentDateInMillis < validToInMillis) ); })?.[0]?.amountDetails; + + let amount = amountDetails?.reduce( (total, item) => total + (categories.some((category) => item?.heads?.includes(category)) ? item?.amount : 0), 0 ); + return tot + amount * ob?.currentMBEntry; }, 0); } - if (window.location.href.includes("estimate-details") || window.location.href.includes("measurement/view")) { - if (categories?.includes("LA") && SORAmount == 0 && formData?.additionalDetails?.labourMaterialAnalysis?.labour) - SORAmount = formData?.additionalDetails?.labourMaterialAnalysis?.labour; - if ( - categories.some((cat) => ChargesCodeMapping?.MaterialCost?.includes(cat)) && - SORAmount == 0 && - formData?.additionalDetails?.labourMaterialAnalysis?.material - ) - SORAmount = formData?.additionalDetails?.labourMaterialAnalysis?.material; - if (categories?.includes("MHA") && SORAmount == 0 && formData?.additionalDetails?.labourMaterialAnalysis?.machinery) - SORAmount = formData?.additionalDetails?.labourMaterialAnalysis?.machinery; - } + + + // if (window.location.href.includes("estimate-details") || window.location.href.includes("measurement/view")) { + // if (categories?.includes("LA") && SORAmount == 0 && formData?.additionalDetails?.labourMaterialAnalysis?.labour) + // SORAmount = formData?.additionalDetails?.labourMaterialAnalysis?.labour; + // if ( + // categories.some((cat) => ChargesCodeMapping?.MaterialCost?.includes(cat)) && + // SORAmount == 0 && + // formData?.additionalDetails?.labourMaterialAnalysis?.material + // ) + // SORAmount = formData?.additionalDetails?.labourMaterialAnalysis?.material; + // if (categories?.includes("MHA") && SORAmount == 0 && formData?.additionalDetails?.labourMaterialAnalysis?.machinery) + // SORAmount = formData?.additionalDetails?.labourMaterialAnalysis?.machinery; + // } + + // if (SORAmount === 0) { + // if (categories.includes("LA") && formData?.additionalDetails?.labourMaterialAnalysis?.labour) { + // SORAmount = formData?.additionalDetails?.labourMaterialAnalysis?.labour; + // } else if (categories.some(cat => ChargesCodeMapping.MaterialCost.includes(cat)) && formData?.additionalDetails?.labourMaterialAnalysis?.material) { + // SORAmount = formData?.additionalDetails?.labourMaterialAnalysis?.material; + // } else if (categories.includes("MHA") && formData?.additionalDetails?.labourMaterialAnalysis?.machinery) { + // SORAmount = formData?.additionalDetails?.labourMaterialAnalysis?.machinery; + // } + // } SORAmount = SORAmount ? SORAmount : 0; @@ -170,7 +186,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { responseData: responseData, estimateId: formData?.SORtable?.[0]?.estimateId, number: window.location.href.includes("revision") ? revisionNumber : formData?.estimateNumber, - downloadStatus:true + downloadStatus: true, }, }); }, 1000); @@ -179,12 +195,11 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { } else { await UtilizationMutation(payload, { onError: async (error) => { - setShowToast({ error: true, label: error?.response?.data?.Errors?.[0].message || error, }); - + setTimeout(() => { setShowToast(false); }, 5000); @@ -199,7 +214,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { number: window.location.href.includes("measurement/update") ? props.config.formData.Measurement.measurementNumber : formData?.Measurement?.measurementNumber, - downloadStatus:true + downloadStatus: true, }, }); }, 1000); @@ -231,20 +246,21 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { responseData: searchResponse, estimateId, number, - downloadStatus:true, + downloadStatus: true, }; - if ((!searchResponse || searchResponse?.statement?.length <= 0 ) && ( isEstimate? formData?.wfStatus === "APPROVED" :formData?.Measurement?.wfStatus === "APPROVED")) { - + if ( + (!searchResponse || searchResponse?.statement?.length <= 0) && + (isEstimate ? formData?.wfStatus === "APPROVED" : formData?.Measurement?.wfStatus === "APPROVED") + ) { state.oldData = { Labour: getAnalysisCost(ChargesCodeMapping.LabourCost), Material: getAnalysisCost(ChargesCodeMapping.MaterialCost), Machinery: getAnalysisCost(ChargesCodeMapping.MachineryCost), }; - state.downloadStatus=false; + state.downloadStatus = false; } - history.push({ pathname: path, state }); }; @@ -267,10 +283,8 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { } if (isView && searchResponse) { - handleNavigation(isEstimate, isView, searchResponse, formData, props); } else { - await callCreateApi(event); } }; @@ -325,8 +339,8 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { success={showToast?.success} label={t(showToast?.label)} isDleteBtn={true} - labelstyle={{width:"100%"}} - style={{ width: "100%", display: "flex", justifyContent: "space-between" }} + labelstyle={{ width: "100%" }} + style={{ width: "100%", display: "flex", justifyContent: "space-between" }} onClose={() => setShowToast(false)} /> )} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js index 47fee031b4..e23794477c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js @@ -53,9 +53,9 @@ export const data = (statementDetails, rawData, oldData) => { { key: "STATEMENT_LABOUR", value: oldData - ? oldData?.Machinery?.includes(",") - ? oldData?.Machinery - : parseFloat(oldData?.Machinery).toFixed(2) + ? oldData?.Labour?.includes(",") + ? oldData?.Labour + : parseFloat(oldData?.Labour).toFixed(2) : statementDetails ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "L").length != 0 ? Digit.Utils.dss.formatterWithoutRound( @@ -70,12 +70,13 @@ export const data = (statementDetails, rawData, oldData) => { : parseFloat(0).toFixed(2), amountStyle: { maxWidth: "12%", textAlign: "end" }, }, + { key: "STATEMENT_MACHINERY", value: oldData - ? oldData?.Labour?.includes(",") - ? oldData?.Labour - : parseFloat(oldData?.Labour).toFixed(2) + ? oldData?.Machinery?.includes(",") + ? oldData?.Machinery + : parseFloat(oldData?.Machinery).toFixed(2) : statementDetails ? statementDetails?.basicSorDetails.filter((ob) => ob?.type === "E").length != 0 ? Digit.Utils.dss.formatterWithoutRound( From 2624cc768f06688518fdc6dd0ca91726079442d2 Mon Sep 17 00:00:00 2001 From: Lokendra Tyagi Date: Mon, 15 Jul 2024 11:44:30 +0530 Subject: [PATCH 063/292] added localisation in the skills of wageseekers --- .../WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js index 762d0380a1..71184be0ae 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js @@ -40,7 +40,6 @@ const requestCriteria = { moduleDetails : [ { - // "moduleName": options?.moduleName, "moduleName": "WORKS-SOR", "masterDetails": [ { @@ -57,7 +56,7 @@ const requestCriteria = { config: { select: (data) => { const optionsData = _.get(data?.MdmsRes, `${"WORKS-SOR"}.${"SOR"}`, []); - return optionsData?.filter((opt) => opt?.active === undefined || opt?.active === true).map((opt) => ({name: opt?.description, code: opt?.id})); + return optionsData?.filter((opt) => opt?.active === undefined || opt?.active === true).map((opt) => ({name: `${t(opt?.sorSubType)} - ${opt?.description}`, code: opt?.id})); } }, }; From 41eab0978913a840fd463b770ca9fad4ffe74ccb Mon Sep 17 00:00:00 2001 From: Lokendra Tyagi Date: Mon, 15 Jul 2024 11:48:11 +0530 Subject: [PATCH 064/292] upgraded the master module version --- frontend/micro-ui/web/micro-ui-internals/example/package.json | 2 +- .../micro-ui-internals/packages/modules/Masters/package.json | 2 +- frontend/micro-ui/web/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index 295ff8b540..c8e1d3002d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -18,7 +18,7 @@ "@egovernments/digit-ui-module-contracts": "0.4.2", "@egovernments/digit-ui-module-measurement":"0.2.0", "@egovernments/digit-ui-module-estimate": "0.4.5", - "@egovernments/digit-ui-module-masters": "0.4.2", + "@egovernments/digit-ui-module-masters": "0.4.3", "@egovernments/digit-ui-module-project": "0.4.1", "@egovernments/digit-ui-module-expenditure": "0.4.1", "@egovernments/digit-ui-customisation-mukta": "0.2.1", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json index 4700692a5f..cd67f7d7ec 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-masters", - "version": "0.4.2", + "version": "0.4.3", "description": "Masters Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index e50beae1b1..1e3b1afc30 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -27,7 +27,7 @@ "@egovernments/digit-ui-module-contracts": "0.4.2", "@egovernments/digit-ui-module-measurement":"0.2.0", "@egovernments/digit-ui-module-estimate": "0.4.5", - "@egovernments/digit-ui-module-masters": "0.4.2", + "@egovernments/digit-ui-module-masters": "0.4.3", "@egovernments/digit-ui-module-project": "0.4.1", "@egovernments/digit-ui-module-expenditure": "0.4.1", "@egovernments/digit-ui-customisation-mukta": "0.2.1", From fde1e83543eb08752297545a68dde938fe3d0c66 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Mon, 15 Jul 2024 13:00:37 +0530 Subject: [PATCH 065/292] [UCEM-453,UCEM-454] : update the deletion logic of extra charges and response banner localisation --- .../modules/RateAnalysis/src/components/ExtraCharges.js | 8 ++++---- .../RateAnalysis/src/pages/employee/CreateRateAnalysis.js | 4 ++++ .../RateAnalysis/src/pages/employee/RAResponseBanner.js | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js index 6e479eaf57..a001df6353 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js @@ -104,8 +104,8 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { // index === rowIndex ? { ...row, isShow: false } : row // ); const updatedRows = rows.filter((row, index) => index != rowIndex ); - setRows(updatedRows); - setValue(formFieldName,updatedRows); + setRows([...updatedRows]); + setValue(formFieldName,[...updatedRows]); }; const addRow = () => { @@ -343,8 +343,8 @@ const ExtraCharges = ({ control, watch, config, ...props }) => {
*/} - + +
{( - rows.length > 1 ? removeRow(rowIndex) : {}} className="icon-wrapper"> - 1 ? "#FF9100" : "#B1B4B6"} /> + removeRow(rowIndex)} className="icon-wrapper"> + )}
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js index 3fa837f329..0ec42105ca 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js @@ -256,6 +256,10 @@ const { isLoading : isallCompositionLoading, data : allcompositionData} = Digit. if (deepCompare(formData,createState)) { setState({ ...createState, ...formData }) } + else if((!formData?.extraCharges || formData?.extraCharges?.length == 0) && createState?.extraCharges?.length > 0 && isUpdate) + { + setState({ ...createState, extraCharges: [] }) + } }; const validateRateAnalysis =() => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/RAResponseBanner.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/RAResponseBanner.js index feffa53ef6..b5436b8454 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/RAResponseBanner.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/RAResponseBanner.js @@ -38,7 +38,7 @@ const RAResponseBanner = () => { // Customize the message based on success or failure const message = true - ? (isUpdate ? t("RA_SUCCESSFUL_UPDATE_MESSAGE") : t("RA_SUCCESSFUL_CREATE_MESSAGE")) + ? (isUpdate === true || isUpdate === "true" ? t("RA_SUCCESSFUL_UPDATE_MESSAGE") : t("RA_SUCCESSFUL_CREATE_MESSAGE")) : t("RA_ERROR_MESSAGE"); return ( From 200246f6dceeadd870e4dfb21a4dfedc206a16dd Mon Sep 17 00:00:00 2001 From: Lokendra Tyagi Date: Mon, 15 Jul 2024 14:35:34 +0530 Subject: [PATCH 066/292] added localization to skills --- .../libraries/src/services/molecules/Attendance/View.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Attendance/View.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Attendance/View.js index eb719cda0e..e9991941fa 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Attendance/View.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Attendance/View.js @@ -52,7 +52,8 @@ const getAttendanceTableData = async(data, skills, t, expenseCalculations) => { tableRow.actualWorkingDays = item?.actualTotalAttendance || 0 tableRow.nameOfIndividual = item?.additionalDetails?.userName || t("NA") tableRow.guardianName = item?.additionalDetails?.fatherName || t("NA") - tableRow.skill = skills[item?.additionalDetails?.skillCode]?.description || t("NA") + const skill = skills[item?.additionalDetails?.skillCode] + tableRow.skill = skill ? `${t(skill.sorSubType)} - ${skill.description}` : t("NA"); tableRow.amount = skills[item?.additionalDetails?.skillCode]?.amount * item?.actualTotalAttendance || 0 tableRow.modifiedAmount = expenseCalculations?.filter(data=>data?.payee?.identifier === item?.individualId)?.[0]?.lineItems?.[0]?.amount || 0; tableRow.modifiedWorkingDays = item?.modifiedTotalAttendance ? item?.modifiedTotalAttendance : item?.actualTotalAttendance @@ -147,7 +148,8 @@ const getWageSeekerSkills = async (data) => { moduleName: "WORKS-SOR", masterDetails: [ { - name: "SOR" + name: "SOR", + filter: "[?(@.sorType=='L')]" }, { name: "Rates" From 0f23392a7183805ecc2812db7bf5c529be3beba3 Mon Sep 17 00:00:00 2001 From: Lokendra Tyagi Date: Mon, 15 Jul 2024 14:42:03 +0530 Subject: [PATCH 067/292] upgraded version of attendance module --- frontend/micro-ui/web/micro-ui-internals/example/package.json | 2 +- .../packages/modules/AttendenceMgmt/package.json | 2 +- frontend/micro-ui/web/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index c8e1d3002d..d890494744 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -14,7 +14,7 @@ "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-module-attendencemgmt": "0.4.2", + "@egovernments/digit-ui-module-attendencemgmt": "0.4.3", "@egovernments/digit-ui-module-contracts": "0.4.2", "@egovernments/digit-ui-module-measurement":"0.2.0", "@egovernments/digit-ui-module-estimate": "0.4.5", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json index 804c1be7b0..06f8287c57 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-attendencemgmt", - "version": "0.4.2", + "version": "0.4.3", "description": "Attendence Management Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index 1e3b1afc30..83c1e1b0e7 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -23,7 +23,7 @@ "@egovernments/digit-ui-module-core": "1.5.47", "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", - "@egovernments/digit-ui-module-attendencemgmt": "0.4.2", + "@egovernments/digit-ui-module-attendencemgmt": "0.4.3", "@egovernments/digit-ui-module-contracts": "0.4.2", "@egovernments/digit-ui-module-measurement":"0.2.0", "@egovernments/digit-ui-module-estimate": "0.4.5", From c36a89969a5f0760608c0bc4a28227ceeef055b3 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Mon, 15 Jul 2024 18:21:09 +0530 Subject: [PATCH 068/292] bug fixes are in progress --- .../blocs/organisation/org_search_bloc.dart | 2 + .../lib/blocs/work_orders/work_order_pdf.dart | 6 +- .../work_orders/work_order_pdf.freezed.dart | 57 +++-- .../lib/pages/employee/mb_config_warning.dart | 2 +- .../employee/workOrder/work_order_inbox.dart | 20 +- frontend/works_shg_app/lib/pages/home.dart | 48 +++- .../lib/pages/language_selection_page.dart | 10 +- .../create_time_extension.dart | 5 + .../indi_skill_sub.dart | 120 ++++++---- .../individual_details.dart | 2 +- .../summary_details.dart | 12 +- .../pages/work_order/view_work_details.dart | 5 +- .../lib/widgets/atoms/app_logo.dart | 104 ++++---- .../widgets/atoms/multiselect_checkbox.dart | 226 +++++++++--------- 14 files changed, 354 insertions(+), 265 deletions(-) diff --git a/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.dart b/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.dart index f2c6a2cb25..e869e1af02 100644 --- a/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.dart @@ -32,6 +32,7 @@ class ORGSearchBloc extends Bloc { "Pagination": {"offSet": 0, "limit": 10} }); GlobalVariables.organisationListModel = organisationListModel; + GlobalVariables.tenantId=organisationListModel.organisations?.first.tenantId??GlobalVariables.tenantId; await Future.delayed(const Duration(seconds: 1)); emit(ORGSearchState.loaded(organisationListModel)); } on DioError catch (e) { @@ -51,6 +52,7 @@ class ORGSearchBloc extends Bloc { "Pagination": {"offSet": 0, "limit": 1000} }); GlobalVariables.organisationListModel = organisationListModel; + GlobalVariables.tenantId=organisationListModel.organisations?.first.tenantId??GlobalVariables.tenantId; await Future.delayed(const Duration(seconds: 1)); emit(ORGSearchState.loaded(organisationListModel)); } on DioError catch (e) { diff --git a/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart b/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart index 6b5a222fa2..e4cd0f876d 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart @@ -5,6 +5,7 @@ import 'dart:io'; import 'package:dio/dio.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:intl/intl.dart'; import 'package:works_shg_app/services/urls.dart'; import 'package:works_shg_app/utils/global_variables.dart'; @@ -55,6 +56,7 @@ class WorkOrderPDFBloc extends Bloc { ) async { Client client = Client(); try { + emit(const WorkOrderPDFState.initial()); var selectedLocale = await GlobalVariables.selectedLocale(); await CommonRepository(client.init()).downloadPDF( @@ -63,7 +65,7 @@ class WorkOrderPDFBloc extends Bloc { "referenceId": event.estimateId.toString(), "tenantId": event.tenantId.toString(), }, - fileName: 'analysis_statement.pdf', + fileName: 'analysis_statement_${event.workorder}.pdf', options: Options(extra: { "userInfo": GlobalVariables.userRequestModel, "accessToken": GlobalVariables.authToken, @@ -115,7 +117,7 @@ class WorkOrderPDFEvent with _$WorkOrderPDFEvent { const factory WorkOrderPDFEvent.onWorkOrderPDF( {String? tenantId, String? contractId}) = PDFEventWorkOrder; const factory WorkOrderPDFEvent.onAnalysisPDF( - {String? tenantId, String? estimateId}) = PDFEventAnalysis; + {String? tenantId, String? estimateId,String? workorder}) = PDFEventAnalysis; } @freezed diff --git a/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.freezed.dart b/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.freezed.dart index e25a7207b9..ac6129b102 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.freezed.dart @@ -21,20 +21,23 @@ mixin _$WorkOrderPDFEvent { TResult when({ required TResult Function(String? tenantId, String? contractId) onWorkOrderPDF, - required TResult Function(String? tenantId, String? estimateId) + required TResult Function( + String? tenantId, String? estimateId, String? workorder) onAnalysisPDF, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? whenOrNull({ TResult? Function(String? tenantId, String? contractId)? onWorkOrderPDF, - TResult? Function(String? tenantId, String? estimateId)? onAnalysisPDF, + TResult? Function(String? tenantId, String? estimateId, String? workorder)? + onAnalysisPDF, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeWhen({ TResult Function(String? tenantId, String? contractId)? onWorkOrderPDF, - TResult Function(String? tenantId, String? estimateId)? onAnalysisPDF, + TResult Function(String? tenantId, String? estimateId, String? workorder)? + onAnalysisPDF, required TResult orElse(), }) => throw _privateConstructorUsedError; @@ -174,7 +177,8 @@ class _$PDFEventWorkOrder implements PDFEventWorkOrder { TResult when({ required TResult Function(String? tenantId, String? contractId) onWorkOrderPDF, - required TResult Function(String? tenantId, String? estimateId) + required TResult Function( + String? tenantId, String? estimateId, String? workorder) onAnalysisPDF, }) { return onWorkOrderPDF(tenantId, contractId); @@ -184,7 +188,8 @@ class _$PDFEventWorkOrder implements PDFEventWorkOrder { @optionalTypeArgs TResult? whenOrNull({ TResult? Function(String? tenantId, String? contractId)? onWorkOrderPDF, - TResult? Function(String? tenantId, String? estimateId)? onAnalysisPDF, + TResult? Function(String? tenantId, String? estimateId, String? workorder)? + onAnalysisPDF, }) { return onWorkOrderPDF?.call(tenantId, contractId); } @@ -193,7 +198,8 @@ class _$PDFEventWorkOrder implements PDFEventWorkOrder { @optionalTypeArgs TResult maybeWhen({ TResult Function(String? tenantId, String? contractId)? onWorkOrderPDF, - TResult Function(String? tenantId, String? estimateId)? onAnalysisPDF, + TResult Function(String? tenantId, String? estimateId, String? workorder)? + onAnalysisPDF, required TResult orElse(), }) { if (onWorkOrderPDF != null) { @@ -255,7 +261,7 @@ abstract class _$$PDFEventAnalysisCopyWith<$Res> __$$PDFEventAnalysisCopyWithImpl<$Res>; @override @useResult - $Res call({String? tenantId, String? estimateId}); + $Res call({String? tenantId, String? estimateId, String? workorder}); } /// @nodoc @@ -271,6 +277,7 @@ class __$$PDFEventAnalysisCopyWithImpl<$Res> $Res call({ Object? tenantId = freezed, Object? estimateId = freezed, + Object? workorder = freezed, }) { return _then(_$PDFEventAnalysis( tenantId: freezed == tenantId @@ -281,6 +288,10 @@ class __$$PDFEventAnalysisCopyWithImpl<$Res> ? _value.estimateId : estimateId // ignore: cast_nullable_to_non_nullable as String?, + workorder: freezed == workorder + ? _value.workorder + : workorder // ignore: cast_nullable_to_non_nullable + as String?, )); } } @@ -288,16 +299,18 @@ class __$$PDFEventAnalysisCopyWithImpl<$Res> /// @nodoc class _$PDFEventAnalysis implements PDFEventAnalysis { - const _$PDFEventAnalysis({this.tenantId, this.estimateId}); + const _$PDFEventAnalysis({this.tenantId, this.estimateId, this.workorder}); @override final String? tenantId; @override final String? estimateId; + @override + final String? workorder; @override String toString() { - return 'WorkOrderPDFEvent.onAnalysisPDF(tenantId: $tenantId, estimateId: $estimateId)'; + return 'WorkOrderPDFEvent.onAnalysisPDF(tenantId: $tenantId, estimateId: $estimateId, workorder: $workorder)'; } @override @@ -308,11 +321,13 @@ class _$PDFEventAnalysis implements PDFEventAnalysis { (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.estimateId, estimateId) || - other.estimateId == estimateId)); + other.estimateId == estimateId) && + (identical(other.workorder, workorder) || + other.workorder == workorder)); } @override - int get hashCode => Object.hash(runtimeType, tenantId, estimateId); + int get hashCode => Object.hash(runtimeType, tenantId, estimateId, workorder); @JsonKey(ignore: true) @override @@ -325,30 +340,33 @@ class _$PDFEventAnalysis implements PDFEventAnalysis { TResult when({ required TResult Function(String? tenantId, String? contractId) onWorkOrderPDF, - required TResult Function(String? tenantId, String? estimateId) + required TResult Function( + String? tenantId, String? estimateId, String? workorder) onAnalysisPDF, }) { - return onAnalysisPDF(tenantId, estimateId); + return onAnalysisPDF(tenantId, estimateId, workorder); } @override @optionalTypeArgs TResult? whenOrNull({ TResult? Function(String? tenantId, String? contractId)? onWorkOrderPDF, - TResult? Function(String? tenantId, String? estimateId)? onAnalysisPDF, + TResult? Function(String? tenantId, String? estimateId, String? workorder)? + onAnalysisPDF, }) { - return onAnalysisPDF?.call(tenantId, estimateId); + return onAnalysisPDF?.call(tenantId, estimateId, workorder); } @override @optionalTypeArgs TResult maybeWhen({ TResult Function(String? tenantId, String? contractId)? onWorkOrderPDF, - TResult Function(String? tenantId, String? estimateId)? onAnalysisPDF, + TResult Function(String? tenantId, String? estimateId, String? workorder)? + onAnalysisPDF, required TResult orElse(), }) { if (onAnalysisPDF != null) { - return onAnalysisPDF(tenantId, estimateId); + return onAnalysisPDF(tenantId, estimateId, workorder); } return orElse(); } @@ -387,11 +405,14 @@ class _$PDFEventAnalysis implements PDFEventAnalysis { abstract class PDFEventAnalysis implements WorkOrderPDFEvent { const factory PDFEventAnalysis( - {final String? tenantId, final String? estimateId}) = _$PDFEventAnalysis; + {final String? tenantId, + final String? estimateId, + final String? workorder}) = _$PDFEventAnalysis; @override String? get tenantId; String? get estimateId; + String? get workorder; @override @JsonKey(ignore: true) _$$PDFEventAnalysisCopyWith<_$PDFEventAnalysis> get copyWith => diff --git a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart index dc3d9dcbac..42a1dbe1e2 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart @@ -183,7 +183,7 @@ class _MBTypeConfirmationPageState extends State { child: DigitElevatedButton( child: Text( widget.nextActions!.action == "EDIT/RE-SUBMIT" - ? "Forward" + ? t.translate("WORKS_FORWARD") : t.translate( "WF_MODAL_SUBMIT_MB_${widget.nextActions!.action!}"), ), diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart index cbc4458022..51a24f364a 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart @@ -222,15 +222,15 @@ class _WorkOderInboxPageState extends State { .textTheme.headlineLarge, ), ), - Padding( - padding: const EdgeInsets.only( - left: 20.0, top: 5.0), - child: Text( - t.translate(i18.measurementBook.searchHint), - style: DigitTheme.instance.mobileTheme - .textTheme.bodyLarge, - ), - ), + // Padding( + // padding: const EdgeInsets.only( + // left: 20.0, top: 5.0), + // child: Text( + // t.translate(i18.measurementBook.searchHint), + // style: DigitTheme.instance.mobileTheme + // .textTheme.bodyLarge, + // ), + // ), Padding( padding: const EdgeInsets.only( left: 4.0, right: 8.0, top: 2.0), @@ -319,7 +319,7 @@ class _WorkOderInboxPageState extends State { ], ), ), - height: 200, + height: 170, ), ), value.contracts!.isEmpty diff --git a/frontend/works_shg_app/lib/pages/home.dart b/frontend/works_shg_app/lib/pages/home.dart index da3d87274f..4e8ea2301d 100644 --- a/frontend/works_shg_app/lib/pages/home.dart +++ b/frontend/works_shg_app/lib/pages/home.dart @@ -64,7 +64,7 @@ class _HomePage extends State { return Scaffold( appBar: AppBar( titleSpacing: 0, - title: BlocBuilder( + title:GlobalVariables.roleType == RoleType.cbo? BlocBuilder( builder: (context, state) { return state.maybeWhen( orElse: () => Container(), @@ -72,9 +72,32 @@ class _HomePage extends State { return const AppBarLogo(); }); }, - ), + ):const AppBarLogo(), + ), + drawer: DrawerWrapper( + Drawer( + child: GlobalVariables.roleType == RoleType.cbo + ? BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () { + return const SideBar(); + }, + loaded: (value) { + return SideBar( + module: CommonMethods.getLocaleModules(), + ); + }, + error: (value) { + return const SideBar(); + }, + ); + }, + ) + : SideBar( + module: CommonMethods.getLocaleModules(), + )), ), - drawer: const DrawerWrapper(Drawer(child: SideBar())), body: BlocBuilder( builder: (context, localState) { return localState.maybeMap( @@ -135,12 +158,12 @@ class _HomePage extends State { HomeConfigModel? homeConfigModel) { // role based config // if (value.roleType == RoleType.cbo) { - return cboBasedLayout( - cboHomeScreenConfig, - t, - context, - selectedLan, - ); + return cboBasedLayout( + cboHomeScreenConfig, + t, + context, + selectedLan, + ); // } else { // return empBasedLayout( // context, homeConfigModel!,t); @@ -170,7 +193,7 @@ class _HomePage extends State { ); } else { return empBasedLayout( - context, homeConfigModel!,t); + context, homeConfigModel!, t); } }); }, @@ -188,7 +211,8 @@ class _HomePage extends State { })); } - Widget empBasedLayout(BuildContext context, HomeConfigModel homeConfigModel,AppLocalizations t) { + Widget empBasedLayout(BuildContext context, HomeConfigModel homeConfigModel, + AppLocalizations t) { final List cards = _getItems(context, homeConfigModel); if (cards.isNotEmpty) { return ScrollableContent( @@ -391,11 +415,9 @@ class HomeItemCard extends StatelessWidget { final theme = Theme.of(context); return DigitCard( - onPressed: onPressed, padding: const EdgeInsets.all(kPadding).copyWith(top: kPadding * 2), child: Align( - alignment: Alignment.topCenter, child: Column( mainAxisAlignment: MainAxisAlignment.start, diff --git a/frontend/works_shg_app/lib/pages/language_selection_page.dart b/frontend/works_shg_app/lib/pages/language_selection_page.dart index 37d4fcf95a..b0846e82e1 100644 --- a/frontend/works_shg_app/lib/pages/language_selection_page.dart +++ b/frontend/works_shg_app/lib/pages/language_selection_page.dart @@ -59,11 +59,11 @@ class _LanguageSelectionPage extends State { orElse: () => false, loading: () => shg_app.Loaders.circularLoader(context), loaded: (AppVersionModel? cboAppVersion) { - CommonMethods().checkVersion( - context, - cboAppVersion?.packageName, - cboAppVersion?.iOSId, - cboAppVersion?.version); + // CommonMethods().checkVersion( + // context, + // cboAppVersion?.packageName, + // cboAppVersion?.iOSId, + // cboAppVersion?.version); }, error: (String? error) { return const Center( diff --git a/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart b/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart index 20bf61d791..6d3501bd8f 100644 --- a/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart +++ b/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart @@ -326,6 +326,10 @@ class _CreateTimeExtensionRequestPage i18.workOrder .extensionReqInDaysMinVal, ), + 'max':(_)=>t.translate( + i18.workOrder + .extensionReqInDaysMaxVal, + ), }, ), DigitTextFormField( @@ -441,6 +445,7 @@ class _CreateTimeExtensionRequestPage extensionDaysKey: FormControl(value: extensionDays ?? '', validators: [ Validators.required, Validators.min('1'), + Validators.max('365') ]), reasonForExtensionKey: FormControl(value: extensionReason ?? '', validators: [ Validators.required, diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_skill_sub.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_skill_sub.dart index 2f6aa263e8..9c674c333b 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_skill_sub.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_skill_sub.dart @@ -45,7 +45,7 @@ class _IndividualSkillSubPageState extends State { ? [] : widget.skillDetails!.individualSkills! .where((e) => e.type != null) - .map((e) => '${e.level}_${e.type}') + .map((e) => '${e.level}') .toList(); } @@ -69,60 +69,77 @@ class _IndividualSkillSubPageState extends State { } }, child: SingleChildScrollView( - child: DigitCard( + child: SizedBox( + height: MediaQuery.sizeOf(context).height*0.70, child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Text( - // "Individual's Skill Details", - t.translate(i18.wageSeeker.individualSkillHeader), - style: DigitTheme.instance.mobileTheme.textTheme.displayMedium - ?.apply(color: const DigitColors().black), - ), - const SizedBox( - height: 10, - ), - Column(children: [ - MultiSelectSearchCheckBox( - label: t.translate(i18.attendanceMgmt.skill) + ' *', - onChange: _onSelectedOptionsChanged, - options: widget.skills, - hintText: t.translate(i18.attendanceMgmt.skill), - selectedOptions: selectedOptions, - ), - const SizedBox( - height: 12, + DigitCard( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Text( + // "Individual's Skill Details", + t.translate(i18.wageSeeker.individualSkillHeader), + style: DigitTheme + .instance.mobileTheme.textTheme.displayMedium + ?.apply(color: const DigitColors().black), + ), + const SizedBox( + height: 10, + ), + SingleChildScrollView( + child: Column( + children: [ + MultiSelectSearchCheckBox( + label: t.translate(i18.attendanceMgmt.skill) + ' *', + onChange: _onSelectedOptionsChanged, + options: widget.skills, + hintText: t.translate(i18.attendanceMgmt.skill), + selectedOptions: selectedOptions, + ), + const SizedBox( + height: 10, + ), + ], + ), + ), + + ], ), - ]), + ), Center( - child: DigitElevatedButton( - onPressed: () { - if (!getSkillsValid()) { - Notifiers.getToastMessage(context, - i18.wageSeeker.selectSkillValidation, 'ERROR'); - } else if (selectedOptions.isEmpty) { - Notifiers.getToastMessage( - context, i18.wageSeeker.skillsRequired, 'ERROR'); - } else { - final skillList = SkillDetails( - individualSkills: selectedOptions - .map((e) => IndividualSkill( - type: e.toString().split('.').last, - level: e.toString().split('.').first)) - .toList()); - - context.read().add( - WageSeekerSkillCreateEvent( - skillDetails: skillList), - ); - - widget.onPageChanged(3); - } - }, - child: Center( - child: Text(t.translate(i18.common.next)), - )), + child: Container( + padding: const EdgeInsets.symmetric(horizontal: 10,vertical: 12), + color: const DigitColors().white, + child: DigitElevatedButton( + onPressed: () { + if (!getSkillsValid()) { + Notifiers.getToastMessage(context, + i18.wageSeeker.selectSkillValidation, 'ERROR'); + } else if (selectedOptions.isEmpty) { + Notifiers.getToastMessage( + context, i18.wageSeeker.skillsRequired, 'ERROR'); + } else { + final skillList = SkillDetails( + individualSkills: selectedOptions + .map((e) => IndividualSkill( + type: e.toString().split('.').last, + level: e.toString().split('.').first)) + .toList()); + + context.read().add( + WageSeekerSkillCreateEvent(skillDetails: skillList), + ); + + widget.onPageChanged(3); + } + }, + child: Center( + child: Text(t.translate(i18.common.next)), + )), + ), ) ], ), @@ -144,7 +161,6 @@ class _IndividualSkillSubPageState extends State { afterDotCount[afterDot] = (afterDotCount[afterDot] ?? 0) + 1; } - int countAfterDot = afterDotCount.values.where((count) => count > 1).length; if (countAfterDot > 0) { diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart index ecac2c1cf8..53b850c023 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart @@ -252,7 +252,7 @@ class IndividualDetailsPageState extends State { ].map((e) => e.toString()).toList(), isRequired: true, formControlName: identityDocument, - valueMapper: (value) => t.translate('CORE_COMMON_$value'), + valueMapper: (value) => t.translate('CBO_CORE_COMMON_$value'), onChanged: (value) { //TODO:[temp comment for release] // adharSelect(value); diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart index d573dec2fb..d7bc3ab428 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart @@ -73,7 +73,7 @@ class SummaryDetailsPageState extends State { ), ), DigitCard( - padding: EdgeInsets.all(8.0), + padding: const EdgeInsets.all(8.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -161,13 +161,13 @@ class SummaryDetailsPageState extends State { mainAxisAlignment: MainAxisAlignment.start, mainAxisSize: MainAxisSize.max, children: [ - getItemWidget(context, - title: t.translate(i18.wageSeeker.skillCategory), - description: t.translate(item.level.toString()), - isCustomCard: true), + // getItemWidget(context, + // title: t.translate(i18.wageSeeker.skillCategory), + // description: t.translate("COMMON_MASTERS_SKILLS_${item.level.toString()}"), + // isCustomCard: true), getItemWidget(context, title: t.translate(i18.wageSeeker.skill), - description: t.translate(item.type.toString()), + description: t.translate("COMMON_MASTERS_SKILLS_${item.type.toString()}"), isCustomCard: true), ], )), diff --git a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart index 73fc1cf81a..c68b7f4eb7 100644 --- a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart +++ b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart @@ -1658,7 +1658,10 @@ class _ViewWorkDetailsPage extends State { .estimateId, tenantId: contracts .first - .tenantId)); + .tenantId, + workorder: widget + .contractNumber + ),); Navigator.of( context, rootNavigator: true, diff --git a/frontend/works_shg_app/lib/widgets/atoms/app_logo.dart b/frontend/works_shg_app/lib/widgets/atoms/app_logo.dart index 0850d318eb..4ae6408b93 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/app_logo.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/app_logo.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/blocs/localization/localization.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import '../../blocs/app_initilization/app_initilization.dart'; @@ -10,53 +11,60 @@ class AppLogo extends StatelessWidget { @override Widget build(BuildContext context) { - return Align( - alignment: Alignment.centerLeft, - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Padding( - padding: const EdgeInsets.only(top: 4.0, bottom: 8), - child: Center( - child: GlobalVariables.stateInfoListModel?.logoUrl != null - ? Image( - width: 150, - image: NetworkImage( - GlobalVariables.stateInfoListModel!.logoUrl - .toString(), - )) - : const SizedBox.shrink(), - )), - const Padding( - padding: EdgeInsets.only(left: 16), - child: Text( - " | ", - style: TextStyle( - fontSize: 19, - fontWeight: FontWeight.w400, - color: Color.fromRGBO(0, 0, 0, 1)), - )), - Align( - alignment: Alignment.centerLeft, - child: Padding( - padding: const EdgeInsets.only( - left: 8.0, - right: 8.0, - ), - child: BlocBuilder(builder: (context, state) { - return Text( - AppLocalizations.of(context).translate( - 'TENANT_TENANTS_${GlobalVariables.stateInfoListModel!.code.toString().toUpperCase()}'), - style: const TextStyle( - fontSize: 19, - fontWeight: FontWeight.w400, - color: Color.fromRGBO(0, 0, 0, 1)), - textAlign: TextAlign.left, - ); - }), - )) - ], - )); + return BlocBuilder( + builder: (context, state) { + + return Align( + alignment: Alignment.centerLeft, + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Padding( + padding: const EdgeInsets.only(top: 4.0, bottom: 8), + child: Center( + child: GlobalVariables.stateInfoListModel?.logoUrl != + null + ? Image( + width: 150, + image: NetworkImage( + GlobalVariables.stateInfoListModel!.logoUrl + .toString(), + )) + : const SizedBox.shrink(), + )), + const Padding( + padding: EdgeInsets.only(left: 16), + child: Text( + " | ", + style: TextStyle( + fontSize: 19, + fontWeight: FontWeight.w400, + color: Color.fromRGBO(0, 0, 0, 1)), + )), + Align( + alignment: Alignment.centerLeft, + child: Padding( + padding: const EdgeInsets.only( + left: 8.0, + right: 8.0, + ), + child: BlocBuilder(builder: (context, state) { + return Text( + AppLocalizations.of(context).translate( + 'TENANT_TENANTS_${GlobalVariables.stateInfoListModel!.code.toString().toUpperCase()}'), + style: const TextStyle( + fontSize: 19, + fontWeight: FontWeight.w400, + color: Color.fromRGBO(0, 0, 0, 1)), + textAlign: TextAlign.left, + ); + }), + )) + ], + )); + + }, + ); } } diff --git a/frontend/works_shg_app/lib/widgets/atoms/multiselect_checkbox.dart b/frontend/works_shg_app/lib/widgets/atoms/multiselect_checkbox.dart index 94703b4fe7..c8598c58ce 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/multiselect_checkbox.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/multiselect_checkbox.dart @@ -35,117 +35,127 @@ class MultiSelectSearchCheckBoxState extends State { }, child: Container( padding: const EdgeInsets.all(2.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - widget.label, - style: DigitTheme.instance.mobileTypography.textTheme.labelSmall, - ), - const SizedBox(height: 8), - TypeAheadFormField( - textFieldConfiguration: TextFieldConfiguration( - decoration: InputDecoration( - border: const OutlineInputBorder(), - hintText: widget.hintText ?? 'Skills', - suffixIconConstraints: - const BoxConstraints(minWidth: 0, minHeight: 0), - suffixStyle: TextStyle( - fontSize: 16, - fontWeight: FontWeight.w400, - color: Theme.of(context).primaryColorDark), - suffixIcon: const Padding( - padding: EdgeInsets.all(8.0), - child: Icon(Icons.search_sharp)), - ), + child: SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + widget.label, + style: DigitTheme.instance.mobileTypography.textTheme.labelSmall, ), - suggestionsBoxVerticalOffset: -10, - suggestionsCallback: (pattern) { - return widget.options - .where((option) => - option.toLowerCase().contains(pattern.toLowerCase())) - .toList(); - }, - itemBuilder: (context, optionData) { - return StatefulBuilder( - builder: (BuildContext context, StateSetter set) { - return CheckboxListTile( - title: Text(AppLocalizations.of(context) - .translate('COMMON_MASTERS_SKILLS_$optionData')), - controlAffinity: ListTileControlAffinity.leading, - value: widget.selectedOptions.contains(optionData), - onChanged: (selected) { - set(() { - if (selected ?? false) { - if (!widget.selectedOptions.contains(optionData)) { - set(() { - widget.selectedOptions.add(optionData); - }); - widget.onChange?.call(widget.selectedOptions); - } - } else { - if (widget.selectedOptions.contains(optionData)) { - set(() { - widget.selectedOptions.remove(optionData); - }); - widget.onChange?.call(widget.selectedOptions); + const SizedBox(height: 8), + TypeAheadFormField( + textFieldConfiguration: TextFieldConfiguration( + decoration: InputDecoration( + border: const OutlineInputBorder(), + hintText: widget.hintText ?? 'Skills', + suffixIconConstraints: + const BoxConstraints(minWidth: 0, minHeight: 0), + suffixStyle: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w400, + color: Theme.of(context).primaryColorDark), + suffixIcon: const Padding( + padding: EdgeInsets.all(8.0), + child: Icon(Icons.search_sharp)), + ), + ), + suggestionsBoxVerticalOffset: -10, + suggestionsCallback: (pattern) { + return widget.options + .where((option) => + AppLocalizations.of(context).translate("COMMON_MASTERS_SKILLS_$option").toLowerCase().contains(pattern.toLowerCase())) + .toList(); + }, + itemBuilder: (context, optionData) { + return StatefulBuilder( + builder: (BuildContext context, StateSetter set) { + return CheckboxListTile( + title: Text(AppLocalizations.of(context) + .translate('COMMON_MASTERS_SKILLS_$optionData')), + controlAffinity: ListTileControlAffinity.leading, + value: widget.selectedOptions.contains(optionData), + onChanged: (selected) { + set(() { + if (selected ?? false) { + if (!widget.selectedOptions.contains(optionData)) { + set(() { + widget.selectedOptions.add(optionData); + }); + widget.onChange?.call(widget.selectedOptions); + } + } else { + if (widget.selectedOptions.contains(optionData)) { + set(() { + widget.selectedOptions.remove(optionData); + }); + widget.onChange?.call(widget.selectedOptions); + } } - } - }); - }, - ); - }, + }); + }, + ); + }, + ); + }, + hideSuggestionsOnKeyboardHide: true, + hideOnEmpty: true, + hideOnLoading: true, + keepSuggestionsOnLoading: true, + animationStart: 0.5, + onSuggestionSelected: (String suggestion) { + setState(() {}); + }, + suggestionsBoxDecoration: SuggestionsBoxDecoration( + hasScrollbar: true, + elevation: 20, + constraints: BoxConstraints( + maxHeight: MediaQuery.of(context).size.height / 2.5)), + ), + StatefulBuilder( + builder: (BuildContext context, StateSetter setChip) { + return Container( + height: MediaQuery.sizeOf(context).height*0.3, + margin: const EdgeInsets.only(top: 8), + child: SingleChildScrollView( + child: Wrap( + direction: Axis.vertical, + spacing: 3.0, + runSpacing: 3.0, + children: widget.selectedOptions + .map((option) => Tooltip( + message: AppLocalizations.of(context) + .translate('COMMON_MASTERS_SKILLS_$option'), + preferBelow: false, + child: Chip( + backgroundColor: const DigitColors().quillGray, + label: SizedBox( + width: MediaQuery.sizeOf(context).width*0.8, + child: Text( + AppLocalizations.of(context).translate( + 'COMMON_MASTERS_SKILLS_$option'), + overflow: TextOverflow.ellipsis, + softWrap: true, + maxLines: 3, + ), + ), + padding: const EdgeInsets.all(2.0), + deleteIcon: const Icon(Icons.cancel), + onDeleted: () { + setChip(() { + widget.selectedOptions.remove(option); + }); + widget.onChange?.call(widget.selectedOptions); + }, + deleteButtonTooltipMessage: '', + ), + )) + .toList()), + ), ); - }, - hideSuggestionsOnKeyboardHide: true, - hideOnEmpty: true, - hideOnLoading: true, - keepSuggestionsOnLoading: true, - animationStart: 0.5, - onSuggestionSelected: (String suggestion) { - setState(() {}); - }, - suggestionsBoxDecoration: SuggestionsBoxDecoration( - hasScrollbar: true, - elevation: 20, - constraints: BoxConstraints( - maxHeight: MediaQuery.of(context).size.height / 2.5)), - ), - StatefulBuilder( - builder: (BuildContext context, StateSetter setChip) { - return Container( - margin: const EdgeInsets.only(top: 8), - child: Wrap( - spacing: 3.0, - runSpacing: 3.0, - children: widget.selectedOptions - .map((option) => Tooltip( - message: AppLocalizations.of(context) - .translate('COMMON_MASTERS_SKILLS_$option'), - preferBelow: false, - child: Chip( - backgroundColor: const DigitColors().quillGray, - label: Text( - AppLocalizations.of(context).translate( - 'COMMON_MASTERS_SKILLS_$option'), - overflow: TextOverflow.ellipsis, - softWrap: true, - ), - padding: const EdgeInsets.all(2.0), - deleteIcon: const Icon(Icons.cancel), - onDeleted: () { - setChip(() { - widget.selectedOptions.remove(option); - }); - widget.onChange?.call(widget.selectedOptions); - }, - deleteButtonTooltipMessage: '', - ), - )) - .toList()), - ); - }) - ], + }) + ], + ), ), ), ); From 4167c53a8c917e40f80fce34366312eaf692fd1b Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Mon, 15 Jul 2024 19:36:09 +0530 Subject: [PATCH 069/292] chip width reduced --- .../works_shg_app/lib/widgets/atoms/multiselect_checkbox.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/works_shg_app/lib/widgets/atoms/multiselect_checkbox.dart b/frontend/works_shg_app/lib/widgets/atoms/multiselect_checkbox.dart index c8598c58ce..bbcfff9cd3 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/multiselect_checkbox.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/multiselect_checkbox.dart @@ -130,7 +130,7 @@ class MultiSelectSearchCheckBoxState extends State { child: Chip( backgroundColor: const DigitColors().quillGray, label: SizedBox( - width: MediaQuery.sizeOf(context).width*0.8, + width: MediaQuery.sizeOf(context).width*0.66, child: Text( AppLocalizations.of(context).translate( 'COMMON_MASTERS_SKILLS_$option'), From c4c3fe7687e1512a7e9bd9ec5e4769f18c8d5e4b Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Mon, 15 Jul 2024 19:41:53 +0530 Subject: [PATCH 070/292] anakysis name chaged --- .../lib/blocs/work_orders/work_order_pdf.dart | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart b/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart index e4cd0f876d..ef3151d719 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart @@ -49,7 +49,18 @@ class WorkOrderPDFBloc extends Bloc { emit(WorkOrderPDFState.error(e.response?.data['Errors'][0]['code'])); } } - +String convertString(String input) { + // Convert the input string to lowercase + String lowerCaseInput = input.toLowerCase(); + + // Replace '/' with '_' + String replacedSlashes = lowerCaseInput.replaceAll('/', '_'); + + // Replace '-' with '_' + String replacedDashes = replacedSlashes.replaceAll('-', '_'); + + return replacedDashes; +} FutureOr _onAnalysisPDF( PDFEventAnalysis event, WorkOrderPDFEmitter emit, @@ -65,7 +76,7 @@ class WorkOrderPDFBloc extends Bloc { "referenceId": event.estimateId.toString(), "tenantId": event.tenantId.toString(), }, - fileName: 'analysis_statement_${event.workorder}.pdf', + fileName: 'analysis_statement_${convertString(event.workorder??"_")}.pdf', options: Options(extra: { "userInfo": GlobalVariables.userRequestModel, "accessToken": GlobalVariables.authToken, From 77cbf4d2551ccc60196d48e5db4ebca9107f98b5 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Mon, 15 Jul 2024 20:06:09 +0530 Subject: [PATCH 071/292] spacing issue is resolved --- .../pages/wage_seeker_registration/financial_details.dart | 4 ++++ .../lib/pages/wage_seeker_registration/location_details.dart | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart index 070760dcc4..b52e0901d0 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart @@ -100,6 +100,7 @@ class FinancialDetailsState extends State { ), Column(children: [ DigitTextFormField( + padding: EdgeInsets.zero, formControlName: accountHolderKey, label: t.translate(i18.common.accountHolderName), isRequired: true, @@ -120,6 +121,7 @@ class FinancialDetailsState extends State { }, ), DigitTextFormField( + padding: EdgeInsets.zero, formControlName: accountNoKey, label: t.translate(i18.common.accountNo), isRequired: true, @@ -143,6 +145,7 @@ class FinancialDetailsState extends State { }, ), DigitTextFormField( + padding: EdgeInsets.zero, formControlName: reAccountNoKey, label: t.translate(i18.common.reEnterAccountNo), isRequired: true, @@ -172,6 +175,7 @@ class FinancialDetailsState extends State { ); }), DigitTextFormField( + padding: EdgeInsets.zero, formControlName: ifscCodeKey, textCapitalization: TextCapitalization.characters, label: t.translate(i18.common.ifscCode), diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart index 77cd6ab7b2..e9d97f48a8 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart @@ -98,6 +98,7 @@ class LocationDetailsState extends State { ), Column(children: [ DigitTextFormField( + padding: const EdgeInsets.only(top:10), formControlName: pinCodeKey, label: t.translate(i18.common.pinCode), @@ -156,8 +157,9 @@ class LocationDetailsState extends State { ), }), DigitTextFormField( + formControlName: streetNameKey, - padding: const EdgeInsets.only(top: 12), + //padding: const EdgeInsets.only(top: 12), label: t.translate(i18.common.streetName), validationMessages: { 'maxLength': (_) => t.translate( @@ -169,6 +171,7 @@ class LocationDetailsState extends State { RegExp("[a-zA-Z0-9 .,\\/\\-_@#\\']")) ]), DigitTextFormField( + padding: EdgeInsets.zero, formControlName: doorNoKey, label: t.translate(i18.common.doorNo), maxLength: 8, From a8bb0d5275d82d493558ef2495e70fd554defad3 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Mon, 15 Jul 2024 20:16:01 +0530 Subject: [PATCH 072/292] debugger check uncommented --- .../lib/pages/language_selection_page.dart | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/works_shg_app/lib/pages/language_selection_page.dart b/frontend/works_shg_app/lib/pages/language_selection_page.dart index b0846e82e1..37d4fcf95a 100644 --- a/frontend/works_shg_app/lib/pages/language_selection_page.dart +++ b/frontend/works_shg_app/lib/pages/language_selection_page.dart @@ -59,11 +59,11 @@ class _LanguageSelectionPage extends State { orElse: () => false, loading: () => shg_app.Loaders.circularLoader(context), loaded: (AppVersionModel? cboAppVersion) { - // CommonMethods().checkVersion( - // context, - // cboAppVersion?.packageName, - // cboAppVersion?.iOSId, - // cboAppVersion?.version); + CommonMethods().checkVersion( + context, + cboAppVersion?.packageName, + cboAppVersion?.iOSId, + cboAppVersion?.version); }, error: (String? error) { return const Center( From afb8cc72ec66d731bc6ff8abd961fc2dcc446f0b Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Tue, 16 Jul 2024 11:57:42 +0530 Subject: [PATCH 073/292] View analysis statement fixes --- .../packages/css/src/pages/employee/index.scss | 6 ++++++ .../modules/Estimate/src/components/ViewStatement.js | 6 +++--- .../Estimate/src/configs/viewStatementConfig.js | 12 ++++++++---- .../src/pages/employee/ViewAnalysisStatementPage.js | 2 +- .../src/hoc/ViewComposer/renderUtils.js | 4 ++-- 5 files changed, 20 insertions(+), 10 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/index.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/index.scss index 1bfb4c7b82..fab9303022 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/index.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/index.scss @@ -589,4 +589,10 @@ .reponse-link { display: inline-flex; gap: 7px; +} + +.employeeCard-override { + margin-left: 0px !important; + margin-right: 0px !important; + margin-bottom: 1.5rem !important; } \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index 1f7c57834d..5b969c25ee 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -213,7 +213,7 @@ const ViewStatement = (props) => {
+ { */} - - + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/CreateEstimate/SubWorkTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/CreateEstimate/SubWorkTable.js index b5f88e9232..6146772e2a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/CreateEstimate/SubWorkTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/CreateEstimate/SubWorkTable.js @@ -109,7 +109,7 @@ const SubWorkTable = ({ t, register, errors, rows, setRows }) => { {renderBody()} - + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/CreateLOI/CreateLoiForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/CreateLOI/CreateLoiForm.js index 5b19128105..06cff12c2c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/CreateLOI/CreateLoiForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/CreateLOI/CreateLoiForm.js @@ -216,7 +216,7 @@ const CreateLoiForm = ({ onFormSubmit, defaultFormValues, state, loiNumber, isEd {`${t(`WORKS_FINALIZED_PER`)}:*`}
- + parseInt(value) >= -100 && parseInt(value) <= 100, required: true })}/>
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/ModifyEstimate/SubWorkTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/ModifyEstimate/SubWorkTable.js index e63b531286..cc135a5322 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/ModifyEstimate/SubWorkTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/ModifyEstimate/SubWorkTable.js @@ -109,7 +109,7 @@ const SubWorkTable = ({ t, register, errors, rows, setRows, estimateDetails, set {renderBody()}
- + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/ModifyEstimate/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/ModifyEstimate/index.js index d74537f35d..60674fe9eb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/ModifyEstimate/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/ModifyEstimate/index.js @@ -1,6 +1,7 @@ import React, { Fragment, useState } from 'react' -import { Loader, Toast } from "@egovernments/digit-ui-react-components"; +import { Loader } from "@egovernments/digit-ui-react-components"; import { useTranslation } from 'react-i18next'; +import { Toast } from "@egovernments/digit-ui-components"; import { updateEstimatePayload } from '../../utils/updateEstimatePayload'; import { useHistory, useLocation } from 'react-router-dom/cjs/react-router-dom.min'; import ModifyEstimateForm from './ModifyEstimateForm'; @@ -34,7 +35,7 @@ const ModifyEstimate = (props) => { await EstimateMutation(estimate, { onError: (error, variables) => { - setShowToast({ error: true, label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error }); + setShowToast({ type:"error", label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error }); setTimeout(() => { setShowToast(false); }, 5000); @@ -65,8 +66,7 @@ const ModifyEstimate = (props) => { {showToast && ( { setShowToast(null); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pageComponents/WORKSContractorTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pageComponents/WORKSContractorTable.js index ec79a79b26..8814f0db6a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pageComponents/WORKSContractorTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pageComponents/WORKSContractorTable.js @@ -320,7 +320,7 @@ const WORKSContractorTable = () => { - + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/Estimate/CreateEstimate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/Estimate/CreateEstimate.js index 14fb2783b0..b32715682c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/Estimate/CreateEstimate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/Estimate/CreateEstimate.js @@ -1,5 +1,5 @@ import React, { Fragment, useState } from "react"; -import { Toast } from "@egovernments/digit-ui-react-components"; +import { Toast } from "@egovernments/digit-ui-components"; import { useTranslation } from "react-i18next"; import CreateEstimateForm from "../../../components/CreateEstimate/CreateEstimateForm"; import { createEstimatePayload } from "../../../utils/createEstimatePayload"; @@ -35,7 +35,7 @@ const CreateEstimate = (props) => { await EstimateMutation(estimate, { onError: (error, variables) => { - setShowToast({ warning: true, label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error }); + setShowToast({ type:"warning", label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error }); setTimeout(() => { setShowToast(false); }, 5000); @@ -84,8 +84,7 @@ const CreateEstimate = (props) => { {showToast && ( { setShowToast(null); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/Estimate/ViewEstimate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/Estimate/ViewEstimate.js index 7238a5ba61..e065c3a16c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/Estimate/ViewEstimate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/Estimate/ViewEstimate.js @@ -174,7 +174,7 @@ const ViewEstimate = (props) => { return (
-
+
{estimateStatus?t("WORKS_VIEW_APPROVED_ESTIMATE"):t("WORKS_VIEW_ESTIMATE")}
{ onError: (error, variables) => { //Show toast here with error message - setShowToast({ error: true, label: "CORE_SOMETHING_WENT_WRONG" }); + setShowToast({ type:"error" , label: "CORE_SOMETHING_WENT_WRONG" }); setTimeout(() => { setShowToast(false); }, 3000); @@ -114,7 +114,7 @@ const CreateLOI = (props) => { await LOIMutation(letterOfIndent, { onError: (error, variables) => { //Show toast here with error message - setShowToast({ error: true, label: "CORE_SOMETHING_WENT_WRONG" }); + setShowToast({ type:"error", label: "CORE_SOMETHING_WENT_WRONG" }); setTimeout(() => { setShowToast(false); }, 3000); @@ -162,8 +162,7 @@ const CreateLOI = (props) => { {showToast && ( { setShowToast(null); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/LOI/ViewLOI.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/LOI/ViewLOI.js index 443d10f813..8d7098dc7c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/LOI/ViewLOI.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/LOI/ViewLOI.js @@ -142,7 +142,7 @@ const ViewLOI = (props) => { return (
-
+
{t("WORKS_VIEW_LOI")}
{ @@ -30,7 +30,7 @@ const SearchApprovedSubEstimate = () => { }; if (data.estimateNumber === "" && data.adminSanctionNumber === "" && !data.department && !data.estimateDetailNumber && !data.fromProposalDate && !data.toProposalDate) { - setShowToast({ warning: true, label: "ERR_PT_FILL_VALID_FIELDS" }); + setShowToast({ type:"warning", label: "ERR_PT_FILL_VALID_FIELDS" }); setTimeout(() => { setShowToast(false); }, 3000); @@ -89,8 +89,7 @@ const SearchApprovedSubEstimate = () => { /> {showToast && ( { setShowToast(null); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/SearchEstimate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/SearchEstimate.js index 937e558614..037c36c8f2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/SearchEstimate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/SearchEstimate.js @@ -1,6 +1,6 @@ import React, { Fragment, useState } from 'react' import { useTranslation } from "react-i18next"; -import { Toast } from "@egovernments/digit-ui-react-components"; +import { Toast } from "@egovernments/digit-ui-components"; const SearchEstimate = () => { const { t } = useTranslation(); @@ -27,7 +27,7 @@ const SearchEstimate = () => { }; if(data.estimateNumber==="" && data.adminSanctionNumber==="" && !data.department && !data.typeOfWork && !data.fromProposalDate && !data.toProposalDate ){ - setShowToast({ warning: true, label: "ERR_PT_FILL_VALID_FIELDS" }); + setShowToast({ type:"warning", label: "ERR_PT_FILL_VALID_FIELDS" }); setTimeout(() => { setShowToast(false); }, 3000); @@ -89,8 +89,7 @@ const SearchEstimate = () => { /> {showToast && ( { setShowToast(null); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/search.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/search.js index 426e399377..375240742d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/search.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/pages/employee/search.js @@ -1,6 +1,6 @@ import React, { useState, Fragment } from "react"; import { useTranslation } from "react-i18next"; -import { Toast } from "@egovernments/digit-ui-react-components"; +import { Toast } from "@egovernments/digit-ui-components"; import { searchEstimatePayload } from "../../utils/searchEstimatePayload"; const Search = ({ path }) => { @@ -28,7 +28,7 @@ const Search = ({ path }) => { ); if(data.adminSanctionNumber==="" && data.estimateNumber==="" && data.subEstimateNumber==="" && !data.department && !data.fromProposalDate && !data.toProposalDate ){ - setShowToast({ warning: true, label: "ERR_PT_FILL_VALID_FIELDS" }); + setShowToast({ type:"warning", label: "ERR_PT_FILL_VALID_FIELDS" }); setTimeout(() => { setShowToast(false); }, 3000); @@ -53,8 +53,7 @@ const Search = ({ path }) => { /> {showToast && ( { setShowToast(null); diff --git a/frontend/micro-ui/web/src/Customisations/UICustomizations.js b/frontend/micro-ui/web/src/Customisations/UICustomizations.js index df95781eff..3ca529406b 100644 --- a/frontend/micro-ui/web/src/Customisations/UICustomizations.js +++ b/frontend/micro-ui/web/src/Customisations/UICustomizations.js @@ -786,7 +786,7 @@ export const UICustomizations = { //checking both to and from date are present const { createdFrom, createdTo } = data; if ((createdFrom === "" && createdTo !== "") || ( createdFrom!== "" && createdTo === "")) - return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, From 1033a658bb67a0bf78a8d94e09bed0fdb4fb0453 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Wed, 14 Aug 2024 11:22:42 +0530 Subject: [PATCH 142/292] updated versions --- .../micro-ui-internals/example/package.json | 23 ++++++++++--------- .../example/public/index.html | 3 ++- .../packages/Mukta/package.json | 5 ++-- .../packages/css/package.json | 2 +- .../modules/AttendenceMgmt/package.json | 5 ++-- .../packages/modules/Contracts/package.json | 5 ++-- .../packages/modules/Estimate/package.json | 5 ++-- .../packages/modules/Expenditure/package.json | 5 ++-- .../packages/modules/Masters/package.json | 5 ++-- .../packages/modules/Measurement/package.json | 5 ++-- .../packages/modules/Project/package.json | 5 ++-- .../modules/RateAnalysis/package.json | 5 ++-- .../packages/modules/works/package.json | 5 ++-- .../packages/react-components/package.json | 3 ++- frontend/micro-ui/web/package.json | 22 +++++++++--------- frontend/micro-ui/web/public/index.html | 4 ++-- frontend/micro-ui/web/works/package.json | 4 ++-- 17 files changed, 62 insertions(+), 49 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index 34bdb84da0..a96d4e1442 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -10,19 +10,20 @@ }, "devDependencies": { "@egovernments/digit-ui-libraries": "1.5.0", - "@egovernments/digit-ui-module-core": "1.5.47", + "@egovernments/digit-ui-module-core": "1.8.2-beta.10", + "@egovernments/digit-ui-components": "0.0.2-beta.19", "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", - "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-module-attendencemgmt": "0.4.3", - "@egovernments/digit-ui-module-contracts": "0.4.3", - "@egovernments/digit-ui-module-measurement":"0.2.0", - "@egovernments/digit-ui-module-estimate": "0.4.5", - "@egovernments/digit-ui-module-masters": "0.4.5", - "@egovernments/digit-ui-module-project": "0.4.1", - "@egovernments/digit-ui-module-expenditure": "0.4.1", - "@egovernments/digit-ui-customisation-mukta": "0.2.1", - "@egovernments/digit-ui-module-rate-analysis": "0.4.0", + "@egovernments/digit-ui-react-components": "1.5.11", + "@egovernments/digit-ui-module-attendencemgmt": "0.4.4", + "@egovernments/digit-ui-module-contracts": "0.4.4", + "@egovernments/digit-ui-module-measurement":"0.2.1", + "@egovernments/digit-ui-module-estimate": "0.4.6", + "@egovernments/digit-ui-module-masters": "0.4.6", + "@egovernments/digit-ui-module-project": "0.4.2", + "@egovernments/digit-ui-module-expenditure": "0.4.2", + "@egovernments/digit-ui-customisation-mukta": "0.2.2", + "@egovernments/digit-ui-module-rate-analysis": "0.4.1", "http-proxy-middleware": "^1.0.5", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/example/public/index.html b/frontend/micro-ui/web/micro-ui-internals/example/public/index.html index 687f2110e2..f1aa447153 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/public/index.html +++ b/frontend/micro-ui/web/micro-ui-internals/example/public/index.html @@ -10,7 +10,8 @@ MUKTASoft - + + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json index 673e145552..f2cd35d889 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-customisation-mukta", - "version": "0.2.1", + "version": "0.2.2", "description": "MUKTA Customisation of Works UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -18,7 +18,8 @@ "react-router-dom": "5.3.0" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.5.0", + "@egovernments/digit-ui-react-components": "1.5.11", + "@egovernments/digit-ui-components": "0.0.2-beta.19", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json index 17285e402f..3d9862eb95 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-works-css", - "version": "0.2.42", + "version": "0.2.43", "license": "MIT", "author": "Jagankumar ", "main": "dist/index.css", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json index 06f8287c57..85cb6516be 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-attendencemgmt", - "version": "0.4.3", + "version": "0.4.4", "description": "Attendence Management Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -18,7 +18,8 @@ "react-router-dom": "5.3.0" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.5.0", + "@egovernments/digit-ui-react-components": "1.5.11", + "@egovernments/digit-ui-components": "0.0.2-beta.19", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json index 38f0987f45..3592efca2d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-contracts", - "version": "0.4.3", + "version": "0.4.4", "description": "Contracts Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -18,7 +18,8 @@ "react-router-dom": "5.3.0" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.5.0", + "@egovernments/digit-ui-react-components": "1.5.11", + "@egovernments/digit-ui-components": "0.0.2-beta.19", "lodash": "^4.17.21", "react": "17.0.2", "react-date-range": "^1.4.0", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json index 8174d33b39..bf965dacdd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-estimate", - "version": "0.4.5", + "version": "0.4.6", "description": "Estimate Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -18,7 +18,8 @@ "react-router-dom": "5.3.0" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.5.0", + "@egovernments/digit-ui-react-components": "1.5.11", + "@egovernments/digit-ui-components": "0.0.2-beta.19", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json index 12dfcbd490..a427103b1f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-expenditure", - "version": "0.4.1", + "version": "0.4.2", "description": "Expenditure Management Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -18,7 +18,8 @@ "react-router-dom": "5.3.0" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.5.0", + "@egovernments/digit-ui-react-components": "1.5.11", + "@egovernments/digit-ui-components": "0.0.2-beta.19", "lodash": "^4.17.21", "react": "17.0.2", "react-date-range": "^1.4.0", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json index 27208caa0a..f962b1d16f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-masters", - "version": "0.4.5", + "version": "0.4.6", "description": "Masters Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -18,7 +18,8 @@ "react-router-dom": "5.3.0" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.5.0", + "@egovernments/digit-ui-react-components": "1.5.11", + "@egovernments/digit-ui-components": "0.0.2-beta.19", "lodash": "^4.17.21", "react": "17.0.2", "react-date-range": "^1.4.0", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json index fd10495c33..c8205d295f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-measurement", - "version": "0.2.0", + "version": "0.2.1", "description": "Measurement Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -18,7 +18,8 @@ "react-router-dom": "5.3.0" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.5.0", + "@egovernments/digit-ui-react-components": "1.5.11", + "@egovernments/digit-ui-components": "0.0.2-beta.19", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json index 3cad947e9f..d3a1ed19ae 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-project", - "version": "0.4.1", + "version": "0.4.2", "description": "Project Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -18,7 +18,8 @@ "react-router-dom": "5.3.0" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.5.0", + "@egovernments/digit-ui-react-components": "1.5.11", + "@egovernments/digit-ui-components": "0.0.2-beta.19", "lodash": "^4.17.21", "react": "17.0.2", "react-date-range": "^1.4.0", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json index 7c43f46c83..891c259c48 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-rate-analysis", - "version": "0.4.0", + "version": "0.4.1", "description": "Rate Analysis Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -18,7 +18,8 @@ "react-router-dom": "5.3.0" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.5.0", + "@egovernments/digit-ui-react-components": "1.5.11", + "@egovernments/digit-ui-components": "0.0.2-beta.19", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json index 1d491ae1b8..cdb52d396a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-works", - "version": "0.0.15", + "version": "0.0.16", "description": "Works", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -18,7 +18,8 @@ "react-router-dom": "5.3.0" }, "dependencies": { - "@egovernments/digit-ui-react-components": "^1.5.0", + "@egovernments/digit-ui-react-components": "1.5.11", + "@egovernments/digit-ui-components": "0.0.2-beta.19", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json index 31bb3875fb..3c5d7a9f46 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-react-components", - "version": "1.5.9", + "version": "1.5.11", "license": "MIT", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -42,6 +42,7 @@ ], "dependencies": { "@googlemaps/js-api-loader": "1.13.10", + "@egovernments/digit-ui-components": "0.0.2-beta.19", "lodash": "^4.17.21", "react-date-range": "1.3.0", "react-hook-form": "6.15.8", diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index 9b7b73f719..66378bff5f 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -18,20 +18,20 @@ ], "homepage": "/mukta-works-ui", "dependencies": { - "@egovernments/digit-ui-react-components": "^1.5.0", + "@egovernments/digit-ui-react-components": "1.5.11", "@egovernments/digit-ui-libraries": "1.5.0", - "@egovernments/digit-ui-module-core": "1.5.47", + "@egovernments/digit-ui-module-core": "1.8.2-beta.10", "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", - "@egovernments/digit-ui-module-attendencemgmt": "0.4.3", - "@egovernments/digit-ui-module-contracts": "0.4.3", - "@egovernments/digit-ui-module-measurement":"0.2.0", - "@egovernments/digit-ui-module-estimate": "0.4.5", - "@egovernments/digit-ui-module-masters": "0.4.5", - "@egovernments/digit-ui-module-project": "0.4.1", - "@egovernments/digit-ui-module-expenditure": "0.4.1", - "@egovernments/digit-ui-customisation-mukta": "0.2.1", - "@egovernments/digit-ui-module-rate-analysis": "0.4.0", + "@egovernments/digit-ui-module-attendencemgmt": "0.4.4", + "@egovernments/digit-ui-module-contracts": "0.4.4", + "@egovernments/digit-ui-module-measurement":"0.2.1", + "@egovernments/digit-ui-module-estimate": "0.4.6", + "@egovernments/digit-ui-module-masters": "0.4.6", + "@egovernments/digit-ui-module-project": "0.4.2", + "@egovernments/digit-ui-module-expenditure": "0.4.2", + "@egovernments/digit-ui-customisation-mukta": "0.2.2", + "@egovernments/digit-ui-module-rate-analysis": "0.4.1", "babel-loader": "8.1.0", "clean-webpack-plugin": "4.0.0", "react": "17.0.2", diff --git a/frontend/micro-ui/web/public/index.html b/frontend/micro-ui/web/public/index.html index db94381708..4515f4d68e 100644 --- a/frontend/micro-ui/web/public/index.html +++ b/frontend/micro-ui/web/public/index.html @@ -7,8 +7,8 @@ - - + + diff --git a/frontend/micro-ui/web/works/package.json b/frontend/micro-ui/web/works/package.json index 2c336d102c..caa0543bd2 100644 --- a/frontend/micro-ui/web/works/package.json +++ b/frontend/micro-ui/web/works/package.json @@ -16,8 +16,8 @@ "homepage": "/core-ui", "dependencies": { "@egovernments/digit-ui-libraries": "1.5.0", - "@egovernments/digit-ui-module-core": "1.5.8", - "@egovernments/digit-ui-react-components": "^1.5.0", + "@egovernments/digit-ui-module-core": "1.8.2-beta.10", + "@egovernments/digit-ui-react-components": "1.5.11", "@egovernments/digit-ui-module-hrms": "1.5.5-alpha.4", "@egovernments/digit-ui-module-works": "^0.0.9", "@egovernments/digit-ui-module-attendencemgmt": "^0.0.9", From ed05617ec7b0541aff78fe5238e724ac422c25cb Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Wed, 14 Aug 2024 11:28:50 +0530 Subject: [PATCH 143/292] added branch name to publish versions --- .github/workflows/publishUIPackages.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publishUIPackages.yml b/.github/workflows/publishUIPackages.yml index 44a6ad79ab..d40560e61e 100644 --- a/.github/workflows/publishUIPackages.yml +++ b/.github/workflows/publishUIPackages.yml @@ -9,6 +9,7 @@ on: - 'UAT' - 'MUKTA-v2.1-Develop' - 'MUKTA-DEVELOP-v2.1.1' + - 'MUKTA-DEVELOP-v2.1.1-UI-UX-FIXES' paths: - 'frontend/micro-ui/web/micro-ui-internals/**' pull_request: From c9202f88a3bd6de7b178e621f79f91bc76a8f304 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Wed, 14 Aug 2024 11:37:52 +0530 Subject: [PATCH 144/292] added branch name to publish versions --- .github/workflows/publishUIPackages.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publishUIPackages.yml b/.github/workflows/publishUIPackages.yml index d40560e61e..4d7665048d 100644 --- a/.github/workflows/publishUIPackages.yml +++ b/.github/workflows/publishUIPackages.yml @@ -22,6 +22,7 @@ on: - 'MUKTA-v2.1-Develop' # Push events to branches matching refs/heads/releases/10 - 'MUKTA-DEVELOP-v2.1.1' + - 'MUKTA-DEVELOP-v2.1.1-UI-UX-FIXES' paths: - 'frontend/micro-ui/web/micro-ui-internals/**' From b046439f0b5bb305717a468ee800e38b20f5e088 Mon Sep 17 00:00:00 2001 From: Jagankumar <53823168+jagankumar-egov@users.noreply.github.com> Date: Wed, 14 Aug 2024 12:09:32 +0530 Subject: [PATCH 145/292] Update publish.sh --- .../web/micro-ui-internals/publish.sh | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/publish.sh b/frontend/micro-ui/web/micro-ui-internals/publish.sh index c8af10cc11..7a28327c4f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/publish.sh +++ b/frontend/micro-ui/web/micro-ui-internals/publish.sh @@ -11,7 +11,7 @@ yarn # sleep 5 msg "Building and publishing css" -cd "$BASEDIR/packages/css" && yarn&& npm publish --tag mukta-2.1.1 +cd "$BASEDIR/packages/css" && yarn&& npm publish --tag mukta-2.1.2-uicomp-v0.2 # msg "Building and publishing libraries" # cd "$BASEDIR/packages/libraries" && yarn publish --access public @@ -25,28 +25,28 @@ cd "$BASEDIR/packages/css" && yarn&& npm publish --tag mukta-2.1.1 # sleep 5 msg "Building and publishing AttendenceMgmt module" -cd "$BASEDIR/packages/modules/AttendenceMgmt" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.1 +cd "$BASEDIR/packages/modules/AttendenceMgmt" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.2-uicomp-v0.2 msg "Building and publishing Expenditure module" -cd "$BASEDIR/packages/modules/Expenditure" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.1 +cd "$BASEDIR/packages/modules/Expenditure" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.2-uicomp-v0.2 msg "Building and publishing RateAnalysis module" -cd "$BASEDIR/packages/modules/RateAnalysis" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.1 +cd "$BASEDIR/packages/modules/RateAnalysis" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.2-uicomp-v0.2 msg "Building and publishing Contracts module" -cd "$BASEDIR/packages/modules/Contracts" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.1 +cd "$BASEDIR/packages/modules/Contracts" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.2-uicomp-v0.2 msg "Building and publishing Masters module" -cd "$BASEDIR/packages/modules/Masters" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.1 +cd "$BASEDIR/packages/modules/Masters" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.2-uicomp-v0.2 msg "Building and publishing Works module" -cd "$BASEDIR/packages/modules/works" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.1 +cd "$BASEDIR/packages/modules/works" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.2-uicomp-v0.2 msg "Building and publishing Project module" -cd "$BASEDIR/packages/modules/Project" && rm -rf node_modules && rm -rf dist && yarn && npm publish --tag mukta-2.1.1 +cd "$BASEDIR/packages/modules/Project" && rm -rf node_modules && rm -rf dist && yarn && npm publish --tag mukta-2.1.2-uicomp-v0.2 msg "Building and publishing Estimate module" -cd "$BASEDIR/packages/modules/Estimate" && rm -rf node_modules && rm -rf dist && yarn && npm publish --tag mukta-2.1.1 +cd "$BASEDIR/packages/modules/Estimate" && rm -rf node_modules && rm -rf dist && yarn && npm publish --tag mukta-2.1.2-uicomp-v0.2 msg "Building and publishing Measurement module" -cd "$BASEDIR/packages/modules/Measurement" && rm -rf node_modules && rm -rf dist && yarn && npm publish --tag mukta-2.1.1 +cd "$BASEDIR/packages/modules/Measurement" && rm -rf node_modules && rm -rf dist && yarn && npm publish --tag mukta-2.1.2-uicomp-v0.2 From 87def8b55d199ac3f2b36efdfeaef324ad0e76a5 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Wed, 14 Aug 2024 14:43:50 +0530 Subject: [PATCH 146/292] added css --- frontend/micro-ui/web/public/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/micro-ui/web/public/index.html b/frontend/micro-ui/web/public/index.html index 4515f4d68e..d6d354add3 100644 --- a/frontend/micro-ui/web/public/index.html +++ b/frontend/micro-ui/web/public/index.html @@ -8,6 +8,7 @@ href="https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@400;500;700&family=Roboto:wght@400;500;700&display=swap" rel='stylesheet' type='text/css'> + From 856f1161dbae56a765e9729f7e3d7ac3f65cb8c7 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 15 Aug 2024 12:48:17 +0530 Subject: [PATCH 147/292] mb screen completed --- .../lib/pages/employee/mb_detail_page.dart | 1292 ++++++++--------- .../lib/pages/employee/mb_history.dart | 82 +- .../lib/pages/employee/mb_inbox.dart | 16 +- .../lib/pages/employee/mb_muster_screen.dart | 34 +- .../lib/utils/common_widgets.dart | 4 +- .../lib/widgets/mb/back_button.dart | 26 + .../lib/widgets/mb/custom_tab.dart | 86 ++ .../lib/widgets/mb/float_action_card.dart | 21 +- .../lib/widgets/mb/mb_detail_card.dart | 60 +- 9 files changed, 848 insertions(+), 773 deletions(-) create mode 100644 frontend/works_shg_app/lib/widgets/mb/back_button.dart create mode 100644 frontend/works_shg_app/lib/widgets/mb/custom_tab.dart diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index 50ce0a8b34..95056d51fe 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -13,6 +13,8 @@ import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/utils/notifiers.dart'; import 'package:works_shg_app/widgets/atoms/empty_image.dart'; +import 'package:works_shg_app/widgets/mb/back_button.dart'; +import 'package:works_shg_app/widgets/mb/custom_tab.dart'; import 'package:works_shg_app/widgets/mb/mb_detail_card.dart'; import '../../blocs/employee/emp_hrms/emp_hrms.dart'; @@ -60,7 +62,7 @@ class MBDetailPage extends StatefulWidget { class _MBDetailPageState extends State with SingleTickerProviderStateMixin { late TabController _tabController; - int _selectedIndex = 0; + //int _selectedIndex = 0; int phots = 0; List timeLineAttributes = []; @@ -103,19 +105,19 @@ class _MBDetailPageState extends State super.initState(); _tabController = TabController(length: 3, vsync: this); - _tabController.addListener(_handleTabSelection); + // _tabController.addListener(_handleTabSelection); } - void _handleTabSelection() { - setState(() { - _selectedIndex = _tabController.index; - }); - } + // void _handleTabSelection() { + // setState(() { + // _selectedIndex = _tabController.index; + // }); + // } @override void dispose() { _tabController.dispose(); - _tabController.removeListener(_handleTabSelection); + // _tabController.removeListener(_handleTabSelection); super.dispose(); } @@ -187,12 +189,12 @@ class _MBDetailPageState extends State ); }, error: (value) { - Navigator.of( - context, - rootNavigator: true, - ).popUntil( - (route) => route is! PopupRoute, - ); + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route is! PopupRoute, + ); Notifiers.getToastMessage( context, value.error.toString(), 'ERROR'); }, @@ -236,23 +238,6 @@ class _MBDetailPageState extends State return const SizedBox.shrink(); }, loaded: (value) { - // double sorprice = 0.00; - - // for (int i = 0; i < value.sor!.length; i++) { - // final key = value.sor![i]; - // List line = - // value.sor![i].filteredMeasurementsMeasure.map( - // (e) { - // return e.contracts!.first.estimates!.first; - // }, - // ).toList(); - // int consumed = value.sor![i].filteredMeasurementsMeasure - // .fold(0, (sum, obj) { - // double m = obj.currentValue!; - // return sum + m.toInt(); - // }); - // sorprice += (line.first.unitRate! * consumed); - // } if (widget.type == MBScreen.update) { return BlocBuilder( @@ -348,62 +333,6 @@ class _MBDetailPageState extends State : false)); }, feedback: const SizedBox.shrink(), - // feedback: FloatActionCard( - // actions: () { - // DigitActionDialog.show( - // context, - // widget: CommonButtonCard( - // g: g, - // contractNumber: widget.contractNumber, - // mbNumber: widget.mbNumber, - // type: widget.type, - // ), - // ); - // }, - // // amount: sorprice.toString(), - // amount: value.data.first.totalAmount != null - // ? value.data.first.totalAmount! - // .roundToDouble() - // .toStringAsFixed(2) - // : "0.00", - // openButtonSheet: () { - // _openBottomSheet( - // t, - // context, - // value.data.first.totalSorAmount!, - // value.data.first.totalNorSorAmount!, - // value.data.first.totalAmount!, - // g, - // widget.contractNumber, - // widget.mbNumber, - // widget.type, - // null, - // (g != null && - // (g.first.nextActions != - // null && - // g.first.nextActions! - // .isEmpty)) - // ? false - // : true, - // workorderStatus, - // estimateStatus, - // (value.data.length >= 2 - // ? (value.data[1].wfStatus == - // "APPROVED" || - // value.data[1].wfStatus == - // "REJECTED") - // : false)); - // }, - // totalAmountText: t.translate( - // i18.measurementBook.totalMbAmount), - // subtext: t.translate( - // i18.measurementBook.forCurrentEntry), - // showAction: (g != null && - // (g.first.nextActions != null && - // g.first.nextActions!.isEmpty)) - // ? false - // : true, - // ), child: FloatActionCard( actions: () { DigitActionDialog.show( @@ -618,7 +547,8 @@ class _MBDetailPageState extends State ), backgroundColor: const DigitColors().seaShellGray, appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), + iconTheme: DigitTheme.instance.mobileTheme.iconTheme + .copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -655,16 +585,32 @@ class _MBDetailPageState extends State crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ - Back( - callback: () { - context.router.popUntilRouteWithPath( + Padding( + padding: const EdgeInsets.only( + left: 8.0, bottom: 8.0, top: 0, right: 0), + child: IconBackButton( + iconTextColor: const DigitColors().black, + iconColor: const DigitColors().black, + icon: Icons.arrow_left, + action: () { + context.router.popUntilRouteWithPath( widget.type == MBScreen.update ? 'measurement-inbox' - : 'workOrder-inbox'); - }, + : 'workOrder-inbox', + ); + }, + ), ), + // Back( + // callback: () { + // context.router.popUntilRouteWithPath( + // widget.type == MBScreen.update + // ? 'measurement-inbox' + // : 'workOrder-inbox'); + // }, + // ), Padding( - padding: const EdgeInsets.only(left: 20.0), + padding: const EdgeInsets.only(left: 16.0), child: Text( t.translate( i18.measurementBook.measurementBookTitle), @@ -673,9 +619,11 @@ class _MBDetailPageState extends State ), ), DigitCard( - // margin: EdgeInsets.zero, padding: EdgeInsets.zero, child: ExpansionTile( + tilePadding: + const EdgeInsets.symmetric(horizontal: 8.0), + // childrenPadding: EdgeInsets.zero, expandedCrossAxisAlignment: CrossAxisAlignment.start, expandedAlignment: Alignment.topLeft, @@ -687,6 +635,12 @@ class _MBDetailPageState extends State ), children: [ CommonMBCard( + margin: EdgeInsets.zero, + padding: const EdgeInsets.only( + left: 4.0, + right: 4.0, + bottom: 4.0, + top: 0.0), items: primaryItems( t, value.data, widget.type), widget: value.data.length > 1 @@ -706,8 +660,10 @@ class _MBDetailPageState extends State }, ) : const SizedBox.shrink(), - show: false, + showSla: false, sla: 1, + showStatus: false, + status: '', ), ], ), @@ -717,485 +673,516 @@ class _MBDetailPageState extends State Padding( padding: const EdgeInsets.only( - top: 8.0, left: 8.0, right: 8.0, bottom: 0.0), - child: Row( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - // padding: EdgeInsets.zero, - // controller: _tabController, - children: [ - Expanded( - child: CustomTab( - text: t - .translate(i18.measurementBook.mbSor), - isSelected: _selectedIndex == 0, - onTap: () { - _tabController.animateTo(0); - }, + top: 16.0, + left: 8.0, + right: 8.0, + bottom: 0.0), + child: AnimatedBuilder( + animation: _tabController.animation!, + builder: (context, child) => Row( + crossAxisAlignment: CrossAxisAlignment.end, + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + // padding: EdgeInsets.zero, + // controller: _tabController, + children: [ + Expanded( + child: CustomTab( + text: t.translate( + i18.measurementBook.mbSor), + isSelected: _tabController.index == 0, + onTap: () { + _tabController.animateTo(0); + }, + firstTab: true, + lastTap: false, + ), ), - ), - Expanded( - child: CustomTab( - text: t.translate( - i18.measurementBook.mbNonSor), - isSelected: _selectedIndex == 1, - onTap: () { - _tabController.animateTo(1); - }, + Expanded( + child: CustomTab( + text: t.translate( + i18.measurementBook.mbNonSor), + isSelected: _tabController.index == 1, + onTap: () { + _tabController.animateTo(1); + }, + firstTab: false, + lastTap: false, + ), ), - ), - Expanded( - child: CustomTab( - text: t.translate( - i18.measurementBook.mbWorksitePhotos), - isSelected: _selectedIndex == 2, - onTap: () { - _tabController.animateTo(2); - }, + Expanded( + child: CustomTab( + text: t.translate(i18 + .measurementBook.mbWorksitePhotos), + isSelected: _tabController.index == 2, + onTap: () { + _tabController.animateTo(2); + }, + firstTab: false, + lastTap: true, + ), ), - ), - ], + ], + ), ), ), - SizedBox( - height: tabViewHeight( - value.sor!.length, - value.nonSor!.length, - widget.type == MBScreen.create || - value.data.first.wfStatus == "DRAFTED" - ? 0 - : value.data.first.documents != null && - value.data.first.documents!.isEmpty - ? 0 - : !value.viewStatus - ? 0 - : value - .data.first.documents!.length, - ), - child: TabBarView( - controller: _tabController, - children: [ - value.sor!.isEmpty - ? Card( - child: Center( - child: EmptyImage( - align: Alignment.center, - label: t - .translate(i18.common.notFound), - )), - ) - : ListView.builder( - physics: - const NeverScrollableScrollPhysics(), - itemBuilder: (BuildContext context, - int index) { - return sorCard( - t, - context, - index, - magic: value.sor![index] - .filteredMeasurementsMeasure, - - preSorNonSor: value.preSor == null - ? null - : value.preSor!.firstWhereOrNull( - (element) => - element - .sorId == - value - .sor![ - index] - .sorId) == - null - ? null - : value.preSor! - .firstWhereOrNull( - (element) => - element - .sorId == - value - .sor![ - index] - .sorId)! - .filteredMeasurementsMeasure, - // value.preSor![index] - // .filteredMeasurementsMeasure, - type: "sor", - sorNonSorId: - value.sor![index].sorId!, - cardLevel: t.translate( - i18.measurementBook.mbSor), - ); - }, - itemCount: value.sor!.length, - ), - value.nonSor!.isEmpty - ? Card( - child: Center( - child: EmptyImage( + AnimatedBuilder( + animation: _tabController.animation!, + builder: (context, child) => SizedBox( + height: tabViewHeight( + value.sor!.length, + value.nonSor!.length, + widget.type == MBScreen.create || + value.data.first.wfStatus == "DRAFTED" + ? 0 + : value.data.first.documents != null && + value + .data.first.documents!.isEmpty + ? 0 + : !value.viewStatus + ? 0 + : value + .data.first.documents!.length, + ), + child: TabBarView( + physics: const NeverScrollableScrollPhysics(), + clipBehavior: Clip.antiAliasWithSaveLayer, + controller: _tabController, + children: [ + value.sor!.isEmpty + ? Card( + child: Center( + child: EmptyImage( align: Alignment.center, label: t.translate( i18.common.notFound), - ), + )), + ) + : ListView.builder( + padding: EdgeInsets.zero, + physics: + const NeverScrollableScrollPhysics(), + itemBuilder: (BuildContext context, + int index) { + return sorCard( + t, + context, + index, + magic: value.sor![index] + .filteredMeasurementsMeasure, + + preSorNonSor: value.preSor == + null + ? null + : value.preSor?.firstWhereOrNull( + (element) => + element + .sorId == + value + .sor![ + index] + .sorId) == + null + ? null + : value.preSor! + .firstWhereOrNull( + (element) => + element + .sorId == + value + .sor![ + index] + .sorId)! + .filteredMeasurementsMeasure, + // value.preSor![index] + // .filteredMeasurementsMeasure, + type: "sor", + sorNonSorId: + value.sor![index].sorId!, + cardLevel: t.translate( + i18.measurementBook.mbSor), + ); + }, + itemCount: value.sor!.length, ), - ) - : ListView.builder( - physics: - const NeverScrollableScrollPhysics(), - itemBuilder: (BuildContext context, - int index) { - return sorCard( - t, - context, - index, - magic: value.nonSor![index] - .filteredMeasurementsMeasure, - preSorNonSor: value.preNonSor == - null - ? null - : value.preNonSor!.firstWhereOrNull( - (element) => - element - .sorId == - value - .nonSor![ - index] - .sorId) != - null - ? value.preNonSor! - .firstWhereOrNull( - (element) => - element - .sorId == - value - .nonSor![ - index] - .sorId)! - .filteredMeasurementsMeasure - : null, - type: "NonSor", - sorNonSorId: - value.nonSor![index].sorId!, - cardLevel: t.translate( - i18.measurementBook.mbNonSor), - ); - }, - itemCount: value.nonSor!.length, - ), - widget.type == MBScreen.create - ? Card( - child: Center( - child: Column( - children: [ - Padding( - padding: const EdgeInsets - .symmetric( - horizontal: 8.0), - child: FilePickerDemo( - fromServerFile: value - .data.first.documents, - callBack: (List< - FileStoreModel>? - g, - List? - l) { - context - .read< - MeasurementDetailBloc>() - .add( - MeasurementUploadDocumentBlocEvent( - tenantId: '', - workflowDocument: - l!, - ), - ); - }, - extensions: const [ - 'jpg', - 'png', - 'jpeg', - ], - moduleName: - 'img_measurement_book', - headerType: - MediaType.mbDetail, - ), - ), - Container( - padding: - const EdgeInsets.all(4), - // color: DigitColors().curiousBlue, - child: Text(t.translate(i18 - .measurementBook - .mbPhotoInfo)), - ), - ], + value.nonSor!.isEmpty + ? Card( + child: Center( + child: EmptyImage( + align: Alignment.center, + label: t.translate( + i18.common.notFound), + ), ), + ) + : ListView.builder( + physics: + const NeverScrollableScrollPhysics(), + itemBuilder: (BuildContext context, + int index) { + return sorCard( + t, + context, + index, + magic: value.nonSor![index] + .filteredMeasurementsMeasure, + preSorNonSor: value.preNonSor == + null + ? null + : value.preNonSor?.firstWhereOrNull( + (element) => + element + .sorId == + value + .nonSor![ + index] + .sorId) != + null + ? value.preNonSor! + .firstWhereOrNull( + (element) => + element + .sorId == + value + .nonSor![ + index] + .sorId)! + .filteredMeasurementsMeasure + : null, + type: "NonSor", + sorNonSorId: + value.nonSor![index].sorId!, + cardLevel: t.translate(i18 + .measurementBook.mbNonSor), + ); + }, + itemCount: value.nonSor!.length, ), - ) - : value.data.first.documents != null && - value - .data.first.documents!.isEmpty - ? !value.viewStatus - ? Card( - child: Center( - child: Column( - crossAxisAlignment: - CrossAxisAlignment - .start, - mainAxisAlignment: - MainAxisAlignment - .center, - children: [ - Padding( - padding: - const EdgeInsets - .symmetric( - horizontal: - 8.0), - child: FilePickerDemo( - fromServerFile: - value.data.first - .documents, - callBack: (List< - FileStoreModel>? - g, - List? - l) { - context - .read< - MeasurementDetailBloc>() - .add( - MeasurementUploadDocumentBlocEvent( - tenantId: - '', - workflowDocument: - l!, - ), - ); - }, - extensions: const [ - 'jpg', - 'png', - 'jpeg', - ], - moduleName: - 'img_measurement_book', - headerType: - MediaType - .mbDetail, - ), - ), - // TODO:[text change] - Container( - padding: - const EdgeInsets - .all(4), - child: Text( - t.translate(i18 - .measurementBook - .mbPhotoInfo)), - ), + widget.type == MBScreen.create + ? Card( + child: Center( + child: Column( + children: [ + Padding( + padding: const EdgeInsets + .symmetric( + horizontal: 8.0), + child: FilePickerDemo( + fromServerFile: value + .data.first.documents, + callBack: (List< + FileStoreModel>? + g, + List? + l) { + context + .read< + MeasurementDetailBloc>() + .add( + MeasurementUploadDocumentBlocEvent( + tenantId: '', + workflowDocument: + l!, + ), + ); + }, + extensions: const [ + 'jpg', + 'png', + 'jpeg', ], + moduleName: + 'img_measurement_book', + headerType: + MediaType.mbDetail, ), ), - ) - : Card( - child: Center( - child: EmptyImage( - align: Alignment.center, - label: t.translate(i18 + Container( + padding: + const EdgeInsets.all(4), + // color: DigitColors().curiousBlue, + child: Text(t.translate(i18 .measurementBook - .noDocumentFound), + .mbPhotoInfo)), ), - )) - : !value.viewStatus - ? Card( - child: Center( - child: Column( - crossAxisAlignment: - CrossAxisAlignment - .start, - mainAxisAlignment: - MainAxisAlignment - .center, - children: [ - Padding( - padding: - const EdgeInsets - .symmetric( - horizontal: - 8.0), - child: FilePickerDemo( - fromServerFile: - value.data.first - .documents, - callBack: (List< - FileStoreModel>? - g, - List? - l) { - context - .read< - MeasurementDetailBloc>() - .add( - MeasurementUploadDocumentBlocEvent( - tenantId: - '', - workflowDocument: - l!, - ), - ); - }, - extensions: const [ - 'jpg', - 'png', - 'jpeg', - ], - moduleName: - 'img_measurement_book', - headerType: - MediaType - .mbDetail, + ], + ), + ), + ) + : value.data.first.documents != null && + value.data.first.documents! + .isEmpty + ? !value.viewStatus + ? Card( + child: Center( + child: Column( + crossAxisAlignment: + CrossAxisAlignment + .start, + mainAxisAlignment: + MainAxisAlignment + .center, + children: [ + Padding( + padding: + const EdgeInsets + .symmetric( + horizontal: + 8.0), + child: + FilePickerDemo( + fromServerFile: + value + .data + .first + .documents, + callBack: (List< + FileStoreModel>? + g, + List? + l) { + context + .read< + MeasurementDetailBloc>() + .add( + MeasurementUploadDocumentBlocEvent( + tenantId: + '', + workflowDocument: + l!, + ), + ); + }, + extensions: const [ + 'jpg', + 'png', + 'jpeg', + ], + moduleName: + 'img_measurement_book', + headerType: + MediaType + .mbDetail, + ), ), - ), - - Container( - padding: - const EdgeInsets - .all(4), - - child: Text( - t.translate(i18 - .measurementBook - .mbPhotoInfo)), - ), - ], + // TODO:[text change] + Container( + padding: + const EdgeInsets + .all(4), + child: Text(t.translate(i18 + .measurementBook + .mbPhotoInfo)), + ), + ], + ), ), - ), - ) - : DigitCard( - child: ListView.builder( - physics: - const NeverScrollableScrollPhysics(), - itemBuilder: - (BuildContext context, - int index) { - if (index == 0) { - return Padding( + ) + : Card( + child: Center( + child: EmptyImage( + align: Alignment.center, + label: t.translate(i18 + .measurementBook + .noDocumentFound), + ), + )) + : !value.viewStatus + ? Card( + child: Center( + child: Column( + crossAxisAlignment: + CrossAxisAlignment + .start, + mainAxisAlignment: + MainAxisAlignment + .center, + children: [ + Padding( padding: const EdgeInsets - .only( - bottom: + .symmetric( + horizontal: 8.0), - child: Column( - children: [ - DigitInfoCard( - title: t.translate( - i18.common - .info), - description: t - .translate(i18 - .measurementBook - .infoImageTip), - ), - InkWell( - onTap: () => - CommonMethods() - .onTapOfAttachment( - mm![index], - mm![index] - .tenantId!, + child: + FilePickerDemo( + fromServerFile: + value + .data + .first + .documents, + callBack: (List< + FileStoreModel>? + g, + List? + l) { + context + .read< + MeasurementDetailBloc>() + .add( + MeasurementUploadDocumentBlocEvent( + tenantId: + '', + workflowDocument: + l!, + ), + ); + }, + extensions: const [ + 'jpg', + 'png', + 'jpeg', + ], + moduleName: + 'img_measurement_book', + headerType: + MediaType + .mbDetail, + ), + ), + Container( + padding: + const EdgeInsets + .all(4), + child: Text(t.translate(i18 + .measurementBook + .mbPhotoInfo)), + ), + ], + ), + ), + ) + : DigitCard( + child: ListView.builder( + physics: + const NeverScrollableScrollPhysics(), + itemBuilder: + (BuildContext context, - roleType: - RoleType - .employee, + int index) { + if (index == 0) { + return Padding( + padding: + const EdgeInsets + .only( + bottom: + 8.0), + child: Column( + children: [ + DigitInfoCard( + title: t.translate(i18 + .common + .info), + description: + t.translate(i18 + .measurementBook + .infoImageTip), ), - child: Chip( - labelPadding: - const EdgeInsets.all( - 10), - // padding: const EdgeInsets.symmetric(horizontal: 12.0, vertical: 8.0), - label: - SizedBox( - width: MediaQuery.sizeOf( - context) - .width, - height: 25, - child: - Text( - + InkWell( + onTap: () => + CommonMethods() + .onTapOfAttachment( + mm![index], + mm![index] + .tenantId!, + context, + roleType: + RoleType + .employee, + ), + child: Chip( + labelPadding: + const EdgeInsets + .all( + 10), + label: + SizedBox( + width: MediaQuery.sizeOf(context) + .width, + height: + 25, + child: + Text( mm![index] .name .toString(), - - maxLines: - 1, - overflow: - TextOverflow.ellipsis, - style: DigitTheme.instance.mobileTheme.textTheme.bodyMedium, + maxLines: + 1, + overflow: + TextOverflow.ellipsis, + style: DigitTheme + .instance + .mobileTheme + .textTheme + .bodyMedium, + ), ), ), ), - ), - ], - ), - ); - } else { - return Padding( - padding: - const EdgeInsets - .only( - bottom: - 8.0), - child: InkWell( - onTap: () => - CommonMethods() - .onTapOfAttachment( - mm![index], - mm![index] - .tenantId!, - context, - roleType: RoleType - .employee, + ], ), - child: Chip( - labelPadding: - const EdgeInsets - .all(10), - // padding: const EdgeInsets.symmetric(horizontal: 12.0, vertical: 8.0), - label: SizedBox( - width: MediaQuery - .sizeOf( - context) - .width, - height: 25, - child: Text( - + ); + } else { + return Padding( + padding: + const EdgeInsets + .only( + bottom: + 8.0), + child: InkWell( + onTap: () => + CommonMethods() + .onTapOfAttachment( + mm![index], + mm![index] + .tenantId!, + context, + roleType: RoleType + .employee, + ), + child: Chip( + labelPadding: + const EdgeInsets + .all( + 10), + // padding: const EdgeInsets.symmetric(horizontal: 12.0, vertical: 8.0), + label: + SizedBox( + width: MediaQuery.sizeOf( + context) + .width, + height: 25, + child: Text( mm![index] .name .toString(), - - maxLines: 1, - softWrap: true, - overflow: - TextOverflow - .ellipsis, - style: DigitTheme.instance.mobileTheme.textTheme.bodyMedium, + maxLines: + 1, + softWrap: + true, + overflow: + TextOverflow + .ellipsis, + style: DigitTheme + .instance + .mobileTheme + .textTheme + .bodyMedium, + ), ), ), ), - ), - ); - } - }, - itemCount: value - .data - .first - .documents! - .length), - ), - ], + ); + } + }, + itemCount: value + .data + .first + .documents! + .length), + ), + ], + ), ), ), widget.type == MBScreen.update @@ -1281,21 +1268,21 @@ class _MBDetailPageState extends State documents: (i == 0 && e.action == "APPROVE") - ? e.documents != null + ? e.documents != null && + e.documents! + .isNotEmpty ? e.documents - ?.map((d) => - FileStoreModel( - name: - '', - fileStoreId: d - .documentUid)) + ?.map((d) => FileStoreModel( + name: '', + fileStoreId: d + .documentUid)) .toList() : null : i != 0 - ? e.documents != - null - ? e - .documents + ? e.documents != null && + e.documents! + .isNotEmpty + ? e.documents ?.map((d) => FileStoreModel( name: '', @@ -1362,7 +1349,7 @@ class _MBDetailPageState extends State ); }, loading: (value) { - return Center( + return Center( child: shg_loader.Loaders.circularLoader(context), ); }, @@ -1409,9 +1396,9 @@ class _MBDetailPageState extends State double tabViewHeight(int sork, int nonSork, int photo) { switch (_tabController.index) { case 0: - return sork == 0 ? 300 : sork * 500; + return sork == 0 ? 300 : (sork * 500) - (sork * 15); case 1: - return nonSork == 0 ? 300 : nonSork * 500; + return nonSork == 0 ? 300 : (nonSork * 500) - (sork * 15); case 2: return photoSize(photo); default: @@ -1437,7 +1424,7 @@ class _MBDetailPageState extends State } } - Card sorCard( + DigitCard sorCard( AppLocalizations t, BuildContext ctx, int index, { @@ -1468,9 +1455,9 @@ class _MBDetailPageState extends State .toStringAsFixed(4); }); - return Card( + return DigitCard( child: Padding( - padding: const EdgeInsets.only(left: 8.0, bottom: 8.0), + padding: const EdgeInsets.only(left: 0.0, bottom: 0.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -1478,8 +1465,7 @@ class _MBDetailPageState extends State padding: const EdgeInsets.only(top: 8.0), child: Text( "$cardLevel ${index + 1}", - style: - DigitTheme.instance.mobileTheme.textTheme.headlineLarge, + style: DigitTheme.instance.mobileTheme.textTheme.headlineLarge, ), ), SORTableCard( @@ -1487,20 +1473,16 @@ class _MBDetailPageState extends State t.translate(i18.measurementBook.description): magic.first.contracts!.first.estimates!.first.name, t.translate(i18.measurementBook.unit): line[0].uom, - t.translate(i18.measurementBook.rate): - line[0].unitRate == null - ? 0.00 - : double.parse(line[0].unitRate!.toString()) - .toStringAsFixed(2), + t.translate(i18.measurementBook.rate): line[0].unitRate == null + ? 0.00 + : double.parse(line[0].unitRate!.toString()) + .toStringAsFixed(2), t.translate(i18.measurementBook.approvedQty): noOfQty, - - "${t.translate(i18.measurementBook.preConsumedKey)}\n${t.translate(i18.measurementBook.preConsumedPre)}": - preSorNonSor == null ? "0.0000" : preConumed }, ), - + Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, @@ -1531,15 +1513,13 @@ class _MBDetailPageState extends State if (obj.contracts?.first.estimates?.first .isDeduction == false) { - m = obj.measureLineItems!.fold(0.0, - (subSum, ob) { + m = obj.measureLineItems!.fold(0.0, (subSum, ob) { double mk = double.parse(ob.quantity!.toString()); return subSum + mk; }); } else { - m = obj.measureLineItems!.fold(0.0, - (subSum, ob) { + m = obj.measureLineItems!.fold(0.0, (subSum, ob) { double mr = double.parse(ob.quantity!.toString()); return subSum + mr; @@ -1564,11 +1544,9 @@ class _MBDetailPageState extends State lineItems: magic, index: index, type: type, - noOfUnit: noOfQty, cummulativePrevQty: preSorNonSor == null ? 0.0000 - : preSorNonSor.fold(0.0000, (sum, obj) { double m = obj .contracts! @@ -1600,7 +1578,7 @@ class _MBDetailPageState extends State ), ], ), - + // end Column( mainAxisAlignment: MainAxisAlignment.center, @@ -1611,7 +1589,7 @@ class _MBDetailPageState extends State child: Text( t.translate(i18.measurementBook.mbAmtCurrentEntry), style: Theme.of(context).textTheme.headlineSmall, - textScaler:const TextScaler.linear(0.99), + textScaler: const TextScaler.linear(0.99), ), ), Container( @@ -1634,8 +1612,7 @@ class _MBDetailPageState extends State ? (obj.mbAmount! * (-1)) : obj.mbAmount! : 0.00; - if (obj.contracts?.first.estimates?.first - .isDeduction == + if (obj.contracts?.first.estimates?.first.isDeduction == true) { m = -(m); // Negate the amount for deductions } else { @@ -1653,29 +1630,6 @@ class _MBDetailPageState extends State ), ], ), - - // - - // DigitTextField( - // controller: TextEditingController() - // ..value - // ..text = (magic.fold(0.0, (sum, obj) { - // double m = obj.mbAmount != null - // ? (obj.mbAmount != null && obj.mbAmount! < 0) - // ? (obj.mbAmount! * (-1)) - // : obj.mbAmount! - // : 0.00; - // if (obj.contracts?.first.estimates?.first.isDeduction == - // true) { - // m = -(m); // Negate the amount for deductions - // } else { - // m = (m); - // } - // return sum + m; - // })).toStringAsFixed(2), - // label: t.translate(i18.measurementBook.mbAmtCurrentEntry), - // isDisabled: true, - // ), ], ), ), @@ -1707,7 +1661,8 @@ class _MBDetailPageState extends State context: context, builder: (BuildContext context) { return Padding( - padding: const EdgeInsets.all(16.0), + padding: const EdgeInsets.only( + left: 16.0, right: 16.0, top: 16.0, bottom: 0.0), child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisSize: MainAxisSize.min, @@ -1730,15 +1685,12 @@ class _MBDetailPageState extends State padding: const EdgeInsets.only(bottom: 8.0), child: ListTile( title: Text( - - t.translate(i18.measurementBook.totalSorAmount), maxLines: 1, style: DigitTheme .instance.mobileTheme.textTheme.headlineMedium, ), subtitle: Text( - t.translate(i18.measurementBook.forCurrentEntry), style: DigitTheme.instance.mobileTheme.textTheme.bodySmall, @@ -1764,13 +1716,11 @@ class _MBDetailPageState extends State padding: const EdgeInsets.only(bottom: 8.0), child: ListTile( title: Text( - t.translate(i18.measurementBook.totalNonSorAmount), style: DigitTheme .instance.mobileTheme.textTheme.headlineMedium, ), subtitle: Text( - t.translate(i18.measurementBook.forCurrentEntry), style: DigitTheme.instance.mobileTheme.textTheme.bodySmall, @@ -1841,36 +1791,39 @@ class _MBDetailPageState extends State height: 15, ), showBtn - ? DigitElevatedButton( - child: Text(t.translate(i18.measurementBook.mbAction)), - onPressed: () { - Navigator.of(context).pop(); - if (widget.type == MBScreen.update) { - DigitActionDialog.show( - context, - widget: CommonButtonCard( - g: processInstances, - contractNumber: contractNumber, - mbNumber: mbNumber, - type: widget.type, - bs: bs, - ), - ); - } else { - DigitActionDialog.show( - context, - widget: CommonButtonCard( - g: processInstances, - contractNumber: contractNumber, - mbNumber: mbNumber, - type: widget.type, - bs: bs, - ), - ); - } + ? IntrinsicHeight( + child: DigitElevatedButton( + child: + Text(t.translate(i18.measurementBook.mbAction)), + onPressed: () { + Navigator.of(context).pop(); + if (widget.type == MBScreen.update) { + DigitActionDialog.show( + context, + widget: CommonButtonCard( + g: processInstances, + contractNumber: contractNumber, + mbNumber: mbNumber, + type: widget.type, + bs: bs, + ), + ); + } else { + DigitActionDialog.show( + context, + widget: CommonButtonCard( + g: processInstances, + contractNumber: contractNumber, + mbNumber: mbNumber, + type: widget.type, + bs: bs, + ), + ); + } - // before - }) + // before + }), + ) : const SizedBox.shrink(), ], ), @@ -1880,75 +1833,6 @@ class _MBDetailPageState extends State } } -class CustomTab extends StatelessWidget { - final String text; - final bool isSelected; - final Function onTap; - - const CustomTab( - {super.key, - required this.text, - required this.isSelected, - required this.onTap}); - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: () => onTap(), - child: Container( - height: 55, - width: MediaQuery.sizeOf(context).width / 3, - decoration: BoxDecoration( - border: Border( - top: BorderSide( - color: isSelected - ? const DigitColors().burningOrange - : const DigitColors().cloudGray, - width: 1.0, - ), - left: BorderSide( - color: isSelected - ? const DigitColors().burningOrange - : const DigitColors().cloudGray, - width: 1.0, - ), - right: BorderSide( - color: isSelected - ? const DigitColors().burningOrange - : const DigitColors().cloudGray, - width: 1.0, - ), - bottom: BorderSide( - color: isSelected - ? const DigitColors().burningOrange - : const DigitColors().cloudGray, - width: isSelected ? 3.0 : 1.0, - ), - ), - borderRadius: BorderRadius.circular(2), - color: isSelected - ? const DigitColors().white.withOpacity(0.2) - : Colors.transparent, - ), - child: Center( - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16), - child: Text( - text, - style: TextStyle( - color: isSelected - ? const DigitColors().black - : const DigitColors().cloudGray, - fontWeight: isSelected ? FontWeight.bold : FontWeight.normal, - ), - ), - ), - ), - ), - ); - } -} - class SORTableCard extends StatelessWidget { final Map element; final Border? border; diff --git a/frontend/works_shg_app/lib/pages/employee/mb_history.dart b/frontend/works_shg_app/lib/pages/employee/mb_history.dart index 6d9e2ecc3c..10f41b15b0 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_history.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_history.dart @@ -8,6 +8,7 @@ import 'package:intl/intl.dart'; import 'package:works_shg_app/blocs/muster_rolls/get_muster_workflow.dart'; import 'package:works_shg_app/models/muster_rolls/muster_workflow_model.dart'; import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/widgets/mb/back_button.dart'; import '../../blocs/employee/mb/mb_detail_view.dart'; import '../../blocs/localization/app_localization.dart'; @@ -78,7 +79,7 @@ class _MBHistoryBookPageState extends State { final g = mbWorkFlow .musterWorkFlowModel?.processInstances; return Draggable( - childWhenDragging:FloatActionCard( + childWhenDragging: FloatActionCard( actions: () { DigitActionDialog.show( context, @@ -120,7 +121,7 @@ class _MBHistoryBookPageState extends State { g.first.nextActions!.isEmpty)) ? false : true, - ) , + ), onDragEnd: (details) { _openBottomSheet( t, @@ -189,7 +190,8 @@ class _MBHistoryBookPageState extends State { ), backgroundColor: const DigitColors().seaShellGray, appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), + iconTheme: DigitTheme.instance.mobileTheme.iconTheme + .copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -212,14 +214,15 @@ class _MBHistoryBookPageState extends State { mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Back( - widget: null, - callback: () { + IconBackButton( + iconTextColor: const DigitColors().black, + iconColor: const DigitColors().black, + icon: Icons.arrow_left, + action: () { context.router.maybePopTop(); - - //Navigator.of(context).pop(); }, ), + Padding( padding: const EdgeInsets.only(left: 8.0), child: Text( @@ -242,7 +245,10 @@ class _MBHistoryBookPageState extends State { if (adjustedIndex <= k.length) { return CommonMBCard( padding: const EdgeInsets.only( - left: 8.0, top: 8.0, right: 8.0, bottom: 0), + left: 8.0, + top: 8.0, + right: 8.0, + bottom: 8.0), headLabel: "${DateFormat('dd/MM/yyyy').format(DateTime.fromMillisecondsSinceEpoch(k[adjustedIndex].startDate!))} - ${DateFormat('dd/MM/yyyy').format(DateTime.fromMillisecondsSinceEpoch(k[adjustedIndex].endDate!))}", items: { @@ -259,8 +265,8 @@ class _MBHistoryBookPageState extends State { .toString()) .toStringAsFixed(2) : '0.00', - t.translate(i18.measurementBook.mbStatus): - k[adjustedIndex].wfStatus, + // t.translate(i18.measurementBook.mbStatus): + // k[adjustedIndex].wfStatus, }, widget: (k[adjustedIndex].musterRollNumber == null || @@ -281,7 +287,7 @@ class _MBHistoryBookPageState extends State { )); }, ), - show: false, + showSla: false, showStatus: true, status: k[adjustedIndex].wfStatus??'', ); } else { return null; // Return null for the skipped item @@ -320,19 +326,21 @@ class _MBHistoryBookPageState extends State { context: context, builder: (BuildContext context) { return Padding( - padding: const EdgeInsets.all(16.0), + padding: const EdgeInsets.only( + + left: 16.0, right: 16.0, top: 16.0, bottom: 0.0), child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisSize: MainAxisSize.min, children: [ - const Center( - child: SizedBox( - width: 100, - child: Divider( - thickness: 5, - ), - ), + const Center( + child: SizedBox( + width: 100, + child: Divider( + thickness: 5, ), + ), + ), Container( decoration: const BoxDecoration( border: Border( @@ -354,7 +362,7 @@ class _MBHistoryBookPageState extends State { DigitTheme.instance.mobileTheme.textTheme.bodySmall, ), trailing: Text( - totalSorAmount.toDouble().toStringAsFixed(2).toString(), + totalSorAmount.toDouble().toStringAsFixed(2), style: DigitTheme .instance.mobileTheme.textTheme.headlineMedium, ), @@ -388,7 +396,7 @@ class _MBHistoryBookPageState extends State { totalNonSorAmount .toDouble() .toStringAsFixed(2) - .toString(), + , style: DigitTheme .instance.mobileTheme.textTheme.headlineMedium, ), @@ -452,20 +460,22 @@ class _MBHistoryBookPageState extends State { height: 15, ), showBtn - ? DigitElevatedButton( - child: Text(t.translate(i18.measurementBook.mbAction)), - onPressed: () { - Navigator.of(context).pop(); - DigitActionDialog.show( - context, - widget: CommonButtonCard( - g: processInstances, - contractNumber: contractNumber, - mbNumber: mbNumber, - type: widget.type, - ), - ); - }) + ? IntrinsicHeight( + child: DigitElevatedButton( + child: Text(t.translate(i18.measurementBook.mbAction)), + onPressed: () { + Navigator.of(context).pop(); + DigitActionDialog.show( + context, + widget: CommonButtonCard( + g: processInstances, + contractNumber: contractNumber, + mbNumber: mbNumber, + type: widget.type, + ), + ); + }), + ) : const SizedBox.shrink(), ], ), diff --git a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart index 9ab03b1f44..f68d54bc7d 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart @@ -12,6 +12,7 @@ import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/widgets/atoms/app_bar_logo.dart'; import 'package:works_shg_app/widgets/atoms/empty_image.dart'; import 'package:works_shg_app/widgets/drawer_wrapper.dart'; +import 'package:works_shg_app/widgets/mb/back_button.dart'; import '../../blocs/employee/mb/measurement_book.dart'; import '../../blocs/localization/app_localization.dart'; @@ -192,14 +193,11 @@ class _MeasurementBookInboxPageState extends State { Padding( padding: const EdgeInsets.only( left: 8.0, bottom: 0, top: 0, right: 0), - child: DigitIconButton( + child: IconBackButton( iconTextColor: const DigitColors().black, iconColor: const DigitColors().black, icon: Icons.arrow_left, - iconText: AppLocalizations.of(context) - .translate(i18.common.back) ?? - 'Back', - onPressed: () { + action: () { context.router.maybePop(); }, ), @@ -350,6 +348,8 @@ class _MeasurementBookInboxPageState extends State { } return CommonMBCard( + padding: const EdgeInsets.symmetric( + horizontal: 4.0, vertical: 8.0), widget: Center( child: SizedBox( width: MediaQuery.sizeOf(context).width, @@ -435,13 +435,15 @@ class _MeasurementBookInboxPageState extends State { .toStringAsFixed(2) ?? "0.00" }, - show: true, + showSla: true, sla: mbInboxResponse .mbInboxResponse .items?[index] .businessObject ?.serviceSla ?? - 0, + 0, + showStatus: false, + status: '', ); }, childCount: mbInboxResponse.isLoading diff --git a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart index a2d3e21258..3693b0fc06 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart @@ -15,6 +15,7 @@ import 'package:works_shg_app/utils/common_methods.dart'; import 'package:works_shg_app/utils/date_formats.dart'; import 'package:works_shg_app/utils/models/track_attendance_payload.dart'; import 'package:works_shg_app/widgets/circular_button.dart'; +import 'package:works_shg_app/widgets/mb/back_button.dart'; import 'package:works_shg_app/widgets/side_bar.dart'; import 'package:works_shg_app/widgets/work_details_card.dart'; import 'package:works_shg_app/widgets/atoms/app_bar_logo.dart'; @@ -30,6 +31,7 @@ import '../../utils/models.dart'; import '../../widgets/back.dart'; import '../../widgets/atoms/table_dropdown.dart'; import '../../widgets/drawer_wrapper.dart'; +import '../../widgets/loaders.dart' as shg_loader; @RoutePage() class MBMusterScreenPage extends StatefulWidget { @@ -218,13 +220,21 @@ class _MBMusterScreenPageState extends State { Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Back( - backLabel: AppLocalizations.of(context) - .translate(i18.common.back), - callback: () { + IconBackButton( + iconTextColor: const DigitColors().black, + iconColor: const DigitColors().black, + icon: Icons.arrow_left, + action: () { Navigator.of(context).pop(); }, ), + // Back( + // backLabel: AppLocalizations.of(context) + // .translate(i18.common.back), + // callback: () { + // Navigator.of(context).pop(); + // }, + // ), CommonWidgets.downloadButton( AppLocalizations.of(context) .translate(i18.common.download), () { @@ -314,7 +324,9 @@ class _MBMusterScreenPageState extends State { : null, documents: (i == 0 && e.action == "APPROVE") - ? e.documents != null + ? e.documents != null && + e.documents! + .isNotEmpty ? e.documents ?.map((d) => FileStoreModel( @@ -324,7 +336,9 @@ class _MBMusterScreenPageState extends State { .toList() : null : i != 0 - ? e.documents != null + ? e.documents != null && + e.documents! + .isNotEmpty ? e.documents ?.map((d) => FileStoreModel( @@ -402,8 +416,8 @@ class _MBMusterScreenPageState extends State { const Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - version: Constants.appVersion, - ), + version: Constants.appVersion, + ), ) ])) @@ -412,8 +426,8 @@ class _MBMusterScreenPageState extends State { ); }, loading: (value) { - return const Center( - child: CircularProgressIndicator.adaptive(), + return Center( + child: shg_loader.Loaders.circularLoader(context), ); }, error: (value) { diff --git a/frontend/works_shg_app/lib/utils/common_widgets.dart b/frontend/works_shg_app/lib/utils/common_widgets.dart index 4c38cc7ca1..2ae700b151 100644 --- a/frontend/works_shg_app/lib/utils/common_widgets.dart +++ b/frontend/works_shg_app/lib/utils/common_widgets.dart @@ -59,11 +59,11 @@ class CommonWidgets { onPressed: onPressed, icon: Icon( Icons.download_sharp, - color: DigitTheme.instance.colorScheme.primary, + color: const DigitColors().burningOrange, ), label: Text( label, - style: TextStyle(color: DigitTheme.instance.colorScheme.primary), + style: TextStyle(color: const DigitColors().burningOrange,), )), ); } diff --git a/frontend/works_shg_app/lib/widgets/mb/back_button.dart b/frontend/works_shg_app/lib/widgets/mb/back_button.dart new file mode 100644 index 0000000000..45dc26866c --- /dev/null +++ b/frontend/works_shg_app/lib/widgets/mb/back_button.dart @@ -0,0 +1,26 @@ +import 'package:digit_components/digit_components.dart'; +import 'package:flutter/material.dart'; +import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; + +class IconBackButton extends StatelessWidget { + final VoidCallback? action; + final Color iconTextColor; + final Color iconColor; + final IconData icon; + + const IconBackButton({super.key, this.action, required this.iconTextColor, required this.iconColor, required this.icon}); + + @override + Widget build(BuildContext context) { + return DigitIconButton( + iconTextColor: iconTextColor, + iconColor: iconColor, + icon: icon, + iconText: + AppLocalizations.of(context).translate(i18.common.back) ?? 'Back', + onPressed: action, + ); + } +} diff --git a/frontend/works_shg_app/lib/widgets/mb/custom_tab.dart b/frontend/works_shg_app/lib/widgets/mb/custom_tab.dart new file mode 100644 index 0000000000..fb93f00e16 --- /dev/null +++ b/frontend/works_shg_app/lib/widgets/mb/custom_tab.dart @@ -0,0 +1,86 @@ +import 'package:digit_components/digit_components.dart'; +import 'package:flutter/material.dart'; + +class CustomTab extends StatelessWidget { + final String text; + final bool isSelected; + final Function onTap; + final bool firstTab; + final bool lastTap; + + const CustomTab( + {super.key, + required this.text, + required this.isSelected, + required this.onTap, required this.firstTab, required this.lastTap}); + + @override + Widget build(BuildContext context) { + return GestureDetector( + onTap: () => onTap(), + child: Container( + height: isSelected?60:55, + width: MediaQuery.sizeOf(context).width / 3, + decoration: BoxDecoration( + border: Border( + top: BorderSide( + color: isSelected + ? const DigitColors().burningOrange + : const DigitColors().cloudGray, + + width: isSelected ? 1.0 : 1.0, + ), + left: BorderSide( + color: isSelected + ? const DigitColors().burningOrange + : const DigitColors().cloudGray, + width: 1.0, + ), + right: BorderSide( + color: isSelected + ? const DigitColors().burningOrange + : const DigitColors().cloudGray, + width: 1.0, + ), + bottom: BorderSide( + color: isSelected + ? const DigitColors().burningOrange + : const DigitColors().cloudGray, + width: isSelected ? 3.0 : 1.0, + + ), + ), + borderRadius: isSelected + ? const BorderRadius.only( + topLeft: Radius.circular(10), + topRight: Radius.circular(10), + ) + : BorderRadius.only( + topLeft: Radius.circular(firstTab?10:0), + topRight: Radius.circular(lastTap?10:0), + ), + color: isSelected + ? const DigitColors().white + : Colors.transparent, + ), + child: Center( + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16), + child: Text( + + text, + style: TextStyle( + color: isSelected + ? const DigitColors().black + : const DigitColors().cloudGray, + fontWeight: isSelected ? FontWeight.bold : FontWeight.normal, + ), + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), + ), + ), + ), + ); + } +} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart b/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart index 8ed0c00664..6a40858e1d 100644 --- a/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart +++ b/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart @@ -27,10 +27,10 @@ class FloatActionCard extends StatelessWidget { ), // margin: const EdgeInsets.symmetric(horizontal: 8), - child: SizedBox( - height: 160, + child: IntrinsicHeight( + child: Padding( - padding: const EdgeInsets.all(8.0), + padding: const EdgeInsets.only(left:8.0,top: 8.0,right: 8.0,bottom: 0.0), child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -45,10 +45,10 @@ class FloatActionCard extends StatelessWidget { GestureDetector( onTap: openButtonSheet, child: Container( - height: 80, + height: 100, width: MediaQuery.sizeOf(context).width, padding: const EdgeInsets.symmetric( - horizontal: 16, vertical: 0.0), + horizontal: 8.0, vertical: 0.0), // decoration: BoxDecoration( // border: Border.all(color: Colors.grey), // borderRadius: BorderRadius.circular(8), @@ -68,6 +68,7 @@ class FloatActionCard extends StatelessWidget { text: subtext??"", style: DigitTheme.instance.mobileTheme .textTheme.bodySmall, + ) ]), ), @@ -75,9 +76,11 @@ class FloatActionCard extends StatelessWidget { Expanded( flex: 2, child: Text( + amount, style: DigitTheme .instance.mobileTheme.textTheme.headlineMedium, + textAlign: TextAlign.end, ), ), ], @@ -85,9 +88,11 @@ class FloatActionCard extends StatelessWidget { ), ), showAction? - DigitElevatedButton( - onPressed: actions, - child: Text(t.translate(i18.measurementBook.mbAction),),):const SizedBox.shrink(), + IntrinsicHeight( + child: DigitElevatedButton( + onPressed: actions, + child: Text(t.translate(i18.measurementBook.mbAction),),), + ):const SizedBox.shrink(), ], ), ))); diff --git a/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart b/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart index 62f2a77bd5..470a8c98fa 100644 --- a/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart +++ b/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart @@ -3,23 +3,28 @@ import 'package:flutter/material.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; -import 'package:works_shg_app/widgets/molecules/mb/table_form_data.dart'; class CommonMBCard extends StatelessWidget { final String? headLabel; final Map items; final Widget? widget; final int? sla; - final bool show; + final bool showSla; final EdgeInsets? padding; + final EdgeInsets? margin; + final bool showStatus; + final String status; const CommonMBCard({ super.key, this.headLabel, required this.items, this.widget, this.sla, - required this.show, + required this.showSla, this.padding, + this.margin, + required this.showStatus, + required this.status, }); @override @@ -27,7 +32,8 @@ class CommonMBCard extends StatelessWidget { final theme = Theme.of(context); var t = AppLocalizations.of(context); return DigitCard( - padding: EdgeInsets.zero, + margin: margin, + padding: padding, child: Padding( padding: padding ?? const EdgeInsets.only(left: 8.0, right: 8.0, bottom: 8.0, top: 0.0), @@ -45,11 +51,53 @@ class CommonMBCard extends StatelessWidget { ) : const SizedBox.shrink(), DigitTableCard( + padding: EdgeInsets.zero, element: items, ), - show + showStatus ? Container( - padding: const EdgeInsets.only(bottom: 6), + margin: DigitTheme.instance.verticalMargin, + padding: const EdgeInsets.only( + bottom: 0, + ), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + width: MediaQuery.of(context).size.width / 1.81, + child: Text( + t.translate(i18.measurementBook.mbStatus), + style: theme.textTheme.headlineSmall, + textAlign: TextAlign.start, + ), + ), + const SizedBox(width: 0), + Flexible( + child: Padding( + padding: const EdgeInsets.only(top: 1.4), + child: Container( + padding: const EdgeInsets.only( + left: 0, right: 12, top: 4, bottom: 4), + color: Colors.transparent, + child: Text( + status.toString(), + style: DigitTheme + .instance.mobileTheme.textTheme.displaySmall! + .copyWith( + color: const DigitColors().darkSpringGreen, + ), + textAlign: TextAlign.left, + ), + ), + )), + ], + ), + ) + : const SizedBox.shrink(), + showSla + ? Container( + margin: DigitTheme.instance.verticalMargin, + padding: const EdgeInsets.only(bottom: 0), child: Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ From 436080d2a16c7bfd67097a0df71a1baac4f7d8ea Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Fri, 16 Aug 2024 13:02:43 +0530 Subject: [PATCH 148/292] mb config screen fixed --- .../lib/pages/employee/mb_config_warning.dart | 36 +- .../lib/pages/employee/mb_detail_page.dart | 318 +++++++++-------- .../lib/widgets/mb/work_flow_button_list.dart | 330 +++++++++--------- 3 files changed, 354 insertions(+), 330 deletions(-) diff --git a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart index 17c04a936f..22dd5d5415 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart @@ -175,13 +175,15 @@ class _MBTypeConfirmationPageState extends State { loaded: (value) { if (widget.type == MBScreen.update) { return Padding( - padding: const EdgeInsets.all(8.0), + // padding: const EdgeInsets.all(8.0), + padding: const EdgeInsets.only(left:8.0,right: 8.0,top:0.0,bottom: 0.0), child: ScrollableContent( + + backgroundColor: Colors.transparent, mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center, footer: Padding( - padding: const EdgeInsets.symmetric( - horizontal: 8.0), + padding: const EdgeInsets.only(top:0.0,bottom: 5.0), child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -204,7 +206,7 @@ class _MBTypeConfirmationPageState extends State { context, // AppLocalizations.of(context) // .translate(i18.login.invalidOTP), - + t.translate(i18 .common.allFieldsMandatory), 'ERROR', @@ -237,7 +239,7 @@ class _MBTypeConfirmationPageState extends State { ), type: widget.type, ); - + context .read() .add( @@ -300,9 +302,8 @@ class _MBTypeConfirmationPageState extends State { CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.start, children: [ - Padding( - padding: - const EdgeInsets.only(left: 0.0), + SizedBox(width: MediaQuery.sizeOf(context).width*0.9, + child: Text( widget.nextActions!.action == "EDIT/RE-SUBMIT" @@ -312,6 +313,8 @@ class _MBTypeConfirmationPageState extends State { "WF_MB_ACTION_${widget.nextActions!.action}"), style: DigitTheme.instance.mobileTheme .textTheme.headlineLarge, + overflow: TextOverflow.clip, + maxLines: 1, ), ), ], @@ -379,7 +382,7 @@ class _MBTypeConfirmationPageState extends State { DigitTextField( label: "${t.translate("WF_MODAL_COMMENTS")}${widget.nextActions!.action == "REJECT" ? "*" : ""}", - maxLines: 6, + maxLines: 5, controller: comment, isRequired: widget.nextActions!.action == "REJECT" @@ -443,6 +446,7 @@ class _MBTypeConfirmationPageState extends State { child: Text(t.translate( i18.common.photoInfo)), ), + ], ), ) @@ -454,11 +458,12 @@ class _MBTypeConfirmationPageState extends State { return Padding( padding: const EdgeInsets.all(8.0), child: ScrollableContent( + backgroundColor: Colors.transparent, mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center, footer: Padding( - padding: const EdgeInsets.symmetric( - horizontal: 8.0), + padding: const EdgeInsets.only( + top: 0.0,bottom: 5.0), child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -576,9 +581,8 @@ class _MBTypeConfirmationPageState extends State { CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.start, children: [ - Padding( - padding: - const EdgeInsets.only(left: 0.0), + SizedBox( + width: MediaQuery.sizeOf(context).width*0.9, child: Text( widget.stateActions!.action == "SUBMIT" @@ -588,6 +592,8 @@ class _MBTypeConfirmationPageState extends State { "WF_MB_ACTION_${widget.stateActions!.action}"), style: DigitTheme.instance.mobileTheme .textTheme.headlineLarge, + overflow: TextOverflow.clip, + maxLines: 1, ), ), ], @@ -647,7 +653,7 @@ class _MBTypeConfirmationPageState extends State { : const SizedBox.shrink(), DigitTextField( label: t.translate("WF_MODAL_COMMENTS"), - maxLines: 6, + maxLines: 5, controller: comment, ), widget.stateActions!.action != null diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index 95056d51fe..5b5437adb3 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -759,6 +759,7 @@ class _MBDetailPageState extends State )), ) : ListView.builder( + shrinkWrap: true, padding: EdgeInsets.zero, physics: const NeverScrollableScrollPhysics(), @@ -1396,9 +1397,9 @@ class _MBDetailPageState extends State double tabViewHeight(int sork, int nonSork, int photo) { switch (_tabController.index) { case 0: - return sork == 0 ? 300 : (sork * 500) - (sork * 15); + return sork == 0 ? 300 : (sork * 500)+(sork*30) ; case 1: - return nonSork == 0 ? 300 : (nonSork * 500) - (sork * 15); + return nonSork == 0 ? 300 : (nonSork * 500)+(nonSork*30) ; case 2: return photoSize(photo); default: @@ -1458,76 +1459,174 @@ class _MBDetailPageState extends State return DigitCard( child: Padding( padding: const EdgeInsets.only(left: 0.0, bottom: 0.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Text( - "$cardLevel ${index + 1}", - style: DigitTheme.instance.mobileTheme.textTheme.headlineLarge, - ), - ), - SORTableCard( - element: { - t.translate(i18.measurementBook.description): - magic.first.contracts!.first.estimates!.first.name, - t.translate(i18.measurementBook.unit): line[0].uom, - t.translate(i18.measurementBook.rate): line[0].unitRate == null - ? 0.00 - : double.parse(line[0].unitRate!.toString()) - .toStringAsFixed(2), - t.translate(i18.measurementBook.approvedQty): noOfQty, - "${t.translate(i18.measurementBook.preConsumedKey)}\n${t.translate(i18.measurementBook.preConsumedPre)}": - preSorNonSor == null ? "0.0000" : preConumed - }, - ), - - Column( - mainAxisAlignment: MainAxisAlignment.center, + child: ConstrainedBox( + constraints: BoxConstraints.tight(const Size.fromHeight(480)), + child: Center( + child: Column( crossAxisAlignment: CrossAxisAlignment.start, + // mainAxisAlignment: MainAxisAlignment.center, children: [ Padding( - padding: const EdgeInsets.only(bottom: 10.0), - child: Text(t.translate(i18.measurementBook.currentMBEntry), - style: Theme.of(context).textTheme.headlineSmall), + padding: const EdgeInsets.only(top: 8.0), + child: Text( + "$cardLevel ${index + 1}", + style: DigitTheme.instance.mobileTheme.textTheme.headlineLarge, + ), + ), + SORTableCard( + element: { + t.translate(i18.measurementBook.description): + magic.first.contracts!.first.estimates!.first.name, + t.translate(i18.measurementBook.unit): line[0].uom, + t.translate(i18.measurementBook.rate): line[0].unitRate == null + ? 0.00 + : double.parse(line[0].unitRate!.toString()) + .toStringAsFixed(2), + t.translate(i18.measurementBook.approvedQty): noOfQty, + "${t.translate(i18.measurementBook.preConsumedKey)}\n${t.translate(i18.measurementBook.preConsumedPre)}": + preSorNonSor == null ? "0.0000" : preConumed + }, ), - Container( - padding: const EdgeInsets.all(5.0), - decoration: BoxDecoration( - border: Border.all( - color: const DigitColors().cloudGray, - width: 2.0, + + Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(bottom: 10.0), + child: Text(t.translate(i18.measurementBook.currentMBEntry), + style: Theme.of(context).textTheme.headlineSmall), ), - borderRadius: BorderRadius.circular(1), - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Padding( + Container( + padding: const EdgeInsets.all(5.0), + height: 50, + decoration: BoxDecoration( + border: Border.all( + color: const DigitColors().cloudGray, + width: 2.0, + ), + borderRadius: BorderRadius.circular(1), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Padding( + padding: const EdgeInsets.only(left: 4.0), + child: Text( + (magic.fold(0.0, (sum, obj) { + double m; + if (obj.contracts?.first.estimates?.first + .isDeduction == + false) { + m = obj.measureLineItems!.fold(0.0, (subSum, ob) { + double mk = + double.parse(ob.quantity!.toString()); + return subSum + mk; + }); + } else { + m = obj.measureLineItems!.fold(0.0, (subSum, ob) { + double mr = + double.parse(ob.quantity!.toString()); + return subSum + mr; + }); + m = -m; + } + return sum + m; + })).toStringAsFixed(4), + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w400, + ), + maxLines: 3, + ), + ), + GestureDetector( + onTap: () { + showDialog( + context: ctx, + builder: (_) { + return HorizontalCardListDialog( + lineItems: magic, + index: index, + type: type, + noOfUnit: noOfQty, + cummulativePrevQty: preSorNonSor == null + ? 0.0000 + : preSorNonSor.fold(0.0000, (sum, obj) { + double m = obj + .contracts! + .first + .estimates! + .first + .isDeduction == + true + ? -(obj.cumulativeValue!) + : (obj.cumulativeValue!); + return sum + m.toDouble(); + }), + sorId: sorNonSorId, + ); + }, + ); + }, + child: Padding( + padding: const EdgeInsets.only(right: 0.0), + child: Icon( + Icons.add_circle, + size: 30, + color: const DigitColors().burningOrange, + ), + ), + ), + ], + ), + ), + ], + ), + + // end + Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0, bottom: 5.0), + child: Text( + t.translate(i18.measurementBook.mbAmtCurrentEntry), + style: Theme.of(context).textTheme.headlineSmall, + textScaler: const TextScaler.linear(0.99), + ), + ), + Container( + width: MediaQuery.sizeOf(context).width, + height: 50, + padding: const EdgeInsets.only( + top: 10.0, left: 5.0, right: 5.0, bottom: 10), + decoration: BoxDecoration( + border: Border.all( + color: const DigitColors().cloudGray, + width: 2.0, + ), + borderRadius: BorderRadius.circular(1), + ), + child: Padding( padding: const EdgeInsets.only(left: 4.0), child: Text( (magic.fold(0.0, (sum, obj) { - double m; - if (obj.contracts?.first.estimates?.first - .isDeduction == - false) { - m = obj.measureLineItems!.fold(0.0, (subSum, ob) { - double mk = - double.parse(ob.quantity!.toString()); - return subSum + mk; - }); + double m = obj.mbAmount != null + ? (obj.mbAmount != null && obj.mbAmount! < 0) + ? (obj.mbAmount! * (-1)) + : obj.mbAmount! + : 0.00; + if (obj.contracts?.first.estimates?.first.isDeduction == + true) { + m = -(m); // Negate the amount for deductions } else { - m = obj.measureLineItems!.fold(0.0, (subSum, ob) { - double mr = - double.parse(ob.quantity!.toString()); - return subSum + mr; - }); - m = -m; + m = (m); } return sum + m; - })).toStringAsFixed(4), + })).toStringAsFixed(2), style: const TextStyle( fontSize: 16, fontWeight: FontWeight.w400, @@ -1535,102 +1634,12 @@ class _MBDetailPageState extends State maxLines: 3, ), ), - GestureDetector( - onTap: () { - showDialog( - context: ctx, - builder: (_) { - return HorizontalCardListDialog( - lineItems: magic, - index: index, - type: type, - noOfUnit: noOfQty, - cummulativePrevQty: preSorNonSor == null - ? 0.0000 - : preSorNonSor.fold(0.0000, (sum, obj) { - double m = obj - .contracts! - .first - .estimates! - .first - .isDeduction == - true - ? -(obj.cumulativeValue!) - : (obj.cumulativeValue!); - return sum + m.toDouble(); - }), - sorId: sorNonSorId, - ); - }, - ); - }, - child: Padding( - padding: const EdgeInsets.only(right: 0.0), - child: Icon( - Icons.add_circle, - size: 30, - color: const DigitColors().burningOrange, - ), - ), - ), - ], - ), - ), - ], - ), - - // end - Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0, bottom: 5.0), - child: Text( - t.translate(i18.measurementBook.mbAmtCurrentEntry), - style: Theme.of(context).textTheme.headlineSmall, - textScaler: const TextScaler.linear(0.99), - ), - ), - Container( - width: MediaQuery.sizeOf(context).width, - padding: const EdgeInsets.only( - top: 10.0, left: 5.0, right: 5.0, bottom: 10), - decoration: BoxDecoration( - border: Border.all( - color: const DigitColors().cloudGray, - width: 2.0, ), - borderRadius: BorderRadius.circular(1), - ), - child: Padding( - padding: const EdgeInsets.only(left: 4.0), - child: Text( - (magic.fold(0.0, (sum, obj) { - double m = obj.mbAmount != null - ? (obj.mbAmount != null && obj.mbAmount! < 0) - ? (obj.mbAmount! * (-1)) - : obj.mbAmount! - : 0.00; - if (obj.contracts?.first.estimates?.first.isDeduction == - true) { - m = -(m); // Negate the amount for deductions - } else { - m = (m); - } - return sum + m; - })).toStringAsFixed(2), - style: const TextStyle( - fontSize: 16, - fontWeight: FontWeight.w400, - ), - maxLines: 3, - ), - ), + ], ), ], ), - ], + ), ), ), ); @@ -1881,11 +1890,12 @@ class SORTableCard extends StatelessWidget { SizedBox(width: gap), Flexible( child: Padding( - padding: const EdgeInsets.only(top: 1.4), + padding: const EdgeInsets.only(top: 1), child: Text( element[e].toString(), maxLines: 3, overflow: TextOverflow.ellipsis, + ), )), ], diff --git a/frontend/works_shg_app/lib/widgets/mb/work_flow_button_list.dart b/frontend/works_shg_app/lib/widgets/mb/work_flow_button_list.dart index b082ee9eb7..7aee176c98 100644 --- a/frontend/works_shg_app/lib/widgets/mb/work_flow_button_list.dart +++ b/frontend/works_shg_app/lib/widgets/mb/work_flow_button_list.dart @@ -76,41 +76,156 @@ class CommonButtonCard extends StatelessWidget { child: Container( color: Colors.transparent, height: type == MBScreen.update - ? g!.first.nextActions!.length.toDouble() * 50.0 + ? g!.first.nextActions!.length.toDouble() * 55.0 : bs!.first.workflowState!.first.actions!.length .toDouble() * - 50.0, + 55.0, width: MediaQuery.sizeOf(context).width, child: Center( child: type == MBScreen.update ? ListView.builder( + itemBuilder: (context, index) { String editReSubmit = "EDIT_RE_SUBMIT"; - return DigitOutLineButton( - label: g!.first.nextActions![index].action == - "EDIT/RE-SUBMIT" - ? t.translate("WF_MB_ACTION_$editReSubmit") - : t.translate( - "WF_MB_ACTION_${g!.first.nextActions![index].action!}"), - // label: g!.first.nextActions![index].action! ?? "", - onPressed: () { - // TODO:[temp] - // final data = g - // ?.first.nextActions![index].roles - // ?.join(','); - //end - if (g!.first.nextActions![index].action == - "EDIT/RE-SUBMIT" && - value.viewStatus) { - context.read().add( - UpdateViewModeEvent( - updateView: !value.viewStatus, + return Padding( + padding: const EdgeInsets.only(bottom:4.0), + child: DigitOutLineButton( + label: g!.first.nextActions![index].action == + "EDIT/RE-SUBMIT" + ? t.translate("WF_MB_ACTION_$editReSubmit") + : t.translate( + "WF_MB_ACTION_${g!.first.nextActions![index].action!}"), + // label: g!.first.nextActions![index].action! ?? "", + onPressed: () { + // TODO:[temp] + // final data = g + // ?.first.nextActions![index].roles + // ?.join(','); + //end + if (g!.first.nextActions![index].action == + "EDIT/RE-SUBMIT" && + value.viewStatus) { + context.read().add( + UpdateViewModeEvent( + updateView: !value.viewStatus, + ), + ); + + Navigator.of(context).pop(); + } else { + if (g!.first.nextActions![index].action == + "SAVE_AS_DRAFT") { + + List> sorList = [ + value.sor!, + value.nonSor! + ]; + MBDetailResponse kkk = + MBLogic.getMbPayloadUpdate( + data: value.data, + sorList: sorList, + workFlow: WorkFlow( + action: g!.first.nextActions![index] + .action == + "SAVE_AS_DRAFT" + ? "SAVE_AS_DRAFT" + : g!.first.nextActions![index] + .action, + documents: [], ), + type: type, ); - - Navigator.of(context).pop(); - } else { - if (g!.first.nextActions![index].action == + + context.read().add( + MeasurementUpdateBlocEvent( + measurement: kkk.measurement!, + tenantId: '', + workFlow: WorkFlow( + action: g! + .first + .nextActions![index] + .action == + "SAVE_AS_DRAFT" + ? "SAVE_AS_DRAFT" + : g! + .first + .nextActions![index] + .action, + comment: "", + assignees: [""], + documents: [], + ), + type: type, + ), + ); + } else { + context.read().add( + EmpHRMSLoadBlocEvent( + isActive: true, + // roles: g! + // .first + // .nextActions![index] + // .action != + // "EDIT/RE-SUBMIT" + // ? data ?? "MB_VERIFIER" + // : + + // "MB_VERIFIER", + roles: fetchRoles(g! + .first + .nextActions![index] + .action ?? + "MB_VERIFIER"), + tenantId: + GlobalVariables.tenantId!, + ), + ); + // Navigator.of( + // context, + // rootNavigator: true, + // ).popUntil( + // (route) => route is! PopupRoute, + // ); + Navigator.of(context).pop(); + context.router.push( + MBTypeConfirmationRoute( + nextActions: type == MBScreen.update + ? g!.first.nextActions![index] + : null, + contractNumber: contractNumber, + mbNumber: mbNumber, + type: type, + stateActions: + type == MBScreen.create + ? bs!.first.workflowState! + .first.actions![index] + : null), + ); + } + } + }, + ), + ); + }, + itemCount: g?.first.nextActions?.length, + ) + : ListView.builder( + + itemBuilder: (context, index) { + String editReSubmit = "CREATE"; + return Padding( + padding: const EdgeInsets.only(bottom:4.0), + child: DigitOutLineButton( + label: bs!.first.workflowState!.first + .actions![index].action == + "CREATE" + ? t.translate("WF_MB_ACTION_$editReSubmit") + : t.translate( + "WF_MB_ACTION_${bs!.first.workflowState!.first.actions![index].action}"), + // label: g!.first.nextActions![index].action! ?? "", + onPressed: () { + if (bs!.first.workflowState!.first + .actions![index].action == "SAVE_AS_DRAFT") { List> sorList = [ @@ -122,31 +237,35 @@ class CommonButtonCard extends StatelessWidget { data: value.data, sorList: sorList, workFlow: WorkFlow( - action: g!.first.nextActions![index] - .action == + action: bs!.first.workflowState!.first + .actions![index].action == "SAVE_AS_DRAFT" ? "SAVE_AS_DRAFT" - : g!.first.nextActions![index] - .action, + : bs!.first.workflowState!.first + .actions![index].action, documents: [], ), type: type, ); - + context.read().add( MeasurementUpdateBlocEvent( measurement: kkk.measurement!, tenantId: '', workFlow: WorkFlow( - action: g! + action: bs! .first - .nextActions![index] + .workflowState! + .first + .actions![index] .action == "SAVE_AS_DRAFT" ? "SAVE_AS_DRAFT" - : g! + : bs! .first - .nextActions![index] + .workflowState! + .first + .actions![index] .action, comment: "", assignees: [""], @@ -159,140 +278,29 @@ class CommonButtonCard extends StatelessWidget { context.read().add( EmpHRMSLoadBlocEvent( isActive: true, - // roles: g! - // .first - // .nextActions![index] - // .action != - // "EDIT/RE-SUBMIT" - // ? data ?? "MB_VERIFIER" - // : - - // "MB_VERIFIER", - roles: fetchRoles(g! - .first - .nextActions![index] - .action ?? - "MB_VERIFIER"), - tenantId: - GlobalVariables.tenantId!, + roles: "MB_VERIFIER", + tenantId: GlobalVariables.tenantId!, ), ); - // Navigator.of( - // context, - // rootNavigator: true, - // ).popUntil( - // (route) => route is! PopupRoute, - // ); + Navigator.of(context).pop(); context.router.push( MBTypeConfirmationRoute( - nextActions: type == MBScreen.update - ? g!.first.nextActions![index] - : null, - contractNumber: contractNumber, - mbNumber: mbNumber, - type: type, - stateActions: - type == MBScreen.create - ? bs!.first.workflowState! - .first.actions![index] - : null), + nextActions: type == MBScreen.update + ? g!.first.nextActions![index] + : null, + contractNumber: contractNumber, + mbNumber: mbNumber, + type: type, + stateActions: type == MBScreen.create + ? bs!.first.workflowState!.first + .actions![index] + : null, + ), ); } - } - }, - ); - }, - itemCount: g?.first.nextActions?.length, - ) - : ListView.builder( - itemBuilder: (context, index) { - String editReSubmit = "CREATE"; - return DigitOutLineButton( - label: bs!.first.workflowState!.first - .actions![index].action == - "CREATE" - ? t.translate("WF_MB_ACTION_$editReSubmit") - : t.translate( - "WF_MB_ACTION_${bs!.first.workflowState!.first.actions![index].action}"), - // label: g!.first.nextActions![index].action! ?? "", - onPressed: () { - if (bs!.first.workflowState!.first - .actions![index].action == - "SAVE_AS_DRAFT") { - - List> sorList = [ - value.sor!, - value.nonSor! - ]; - MBDetailResponse kkk = - MBLogic.getMbPayloadUpdate( - data: value.data, - sorList: sorList, - workFlow: WorkFlow( - action: bs!.first.workflowState!.first - .actions![index].action == - "SAVE_AS_DRAFT" - ? "SAVE_AS_DRAFT" - : bs!.first.workflowState!.first - .actions![index].action, - documents: [], - ), - type: type, - ); - - context.read().add( - MeasurementUpdateBlocEvent( - measurement: kkk.measurement!, - tenantId: '', - workFlow: WorkFlow( - action: bs! - .first - .workflowState! - .first - .actions![index] - .action == - "SAVE_AS_DRAFT" - ? "SAVE_AS_DRAFT" - : bs! - .first - .workflowState! - .first - .actions![index] - .action, - comment: "", - assignees: [""], - documents: [], - ), - type: type, - ), - ); - } else { - context.read().add( - EmpHRMSLoadBlocEvent( - isActive: true, - roles: "MB_VERIFIER", - tenantId: GlobalVariables.tenantId!, - ), - ); - - Navigator.of(context).pop(); - context.router.push( - MBTypeConfirmationRoute( - nextActions: type == MBScreen.update - ? g!.first.nextActions![index] - : null, - contractNumber: contractNumber, - mbNumber: mbNumber, - type: type, - stateActions: type == MBScreen.create - ? bs!.first.workflowState!.first - .actions![index] - : null, - ), - ); - } - }, + }, + ), ); }, itemCount: From 16678788fb72faa7b21d0bf8afaaf10bed30cc3e Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Fri, 16 Aug 2024 20:40:29 +0530 Subject: [PATCH 149/292] UI in progress --- .../lib/pages/attendance_register_table.dart | 8 +- .../lib/pages/employee/mb_detail_page.dart | 508 +++++---- .../lib/pages/employee/mb_filter_page.dart | 1007 +++++++++++------ .../lib/pages/employee/mb_inbox.dart | 384 ++++--- frontend/works_shg_app/lib/pages/home.dart | 46 +- frontend/works_shg_app/lib/pages/login.dart | 44 +- .../works_shg_app/lib/pages/org_profile.dart | 8 +- .../lib/pages/work_order/work_order.dart | 8 +- .../lib/widgets/atoms/app_bar_logo.dart | 44 +- .../lib/widgets/mb/back_button.dart | 7 + .../lib/widgets/mb/float_action_card.dart | 141 +-- .../lib/widgets/mb/sor_item_add_mb.dart | 46 +- .../Flutter/GeneratedPluginRegistrant.swift | 2 + frontend/works_shg_app/pubspec.yaml | 9 +- frontend/works_shg_app/pubspec_overrides.yaml | 6 + .../flutter/generated_plugin_registrant.cc | 3 + .../windows/flutter/generated_plugins.cmake | 1 + 17 files changed, 1414 insertions(+), 858 deletions(-) create mode 100644 frontend/works_shg_app/pubspec_overrides.yaml diff --git a/frontend/works_shg_app/lib/pages/attendance_register_table.dart b/frontend/works_shg_app/lib/pages/attendance_register_table.dart index 985b1ceb1e..50282e66b3 100644 --- a/frontend/works_shg_app/lib/pages/attendance_register_table.dart +++ b/frontend/works_shg_app/lib/pages/attendance_register_table.dart @@ -1,4 +1,5 @@ import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_typeahead/flutter_typeahead.dart'; @@ -167,7 +168,12 @@ class _AttendanceRegisterTablePage extends State { ), ), appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), + iconTheme: Theme.of(context).iconTheme.copyWith( + color: Theme.of(context) + .colorTheme + .paper.primary + + ), titleSpacing: 0, title: const AppBarLogo(), ), diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index 5b5437adb3..adebb0049f 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -1,5 +1,15 @@ +import 'package:digit_ui_components/enum/app_enums.dart'; +import 'package:digit_ui_components/theme/ComponentTheme/back_button_theme.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; +import 'package:digit_ui_components/widgets/atoms/digit_back_button.dart'; +import 'package:digit_ui_components/widgets/atoms/digit_divider.dart'; +import 'package:digit_ui_components/widgets/atoms/digit_toast.dart'; +import 'package:digit_ui_components/widgets/atoms/label_value_list.dart'; +import 'package:digit_ui_components/widgets/molecules/digit_card.dart' + as uiComponent; import 'package:collection/collection.dart'; import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/widgets/widgets.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:intl/intl.dart'; @@ -172,11 +182,12 @@ class _MBDetailPageState extends State ); } - Notifiers.getToastMessage( - context, - t.translate( - "WF_UPDATE_SUCCESS_MB_${valueLoaded.measurement?.workflow?.action}"), - 'SUCCESS'); + Toast.showToast( + context, + message: t.translate( + "WF_UPDATE_SUCCESS_MB_${valueLoaded.measurement?.workflow?.action}"), + type: ToastType.success, + ); context.read().add( MeasurementDetailBookBlocEvent( @@ -195,8 +206,14 @@ class _MBDetailPageState extends State ).popUntil( (route) => route is! PopupRoute, ); - Notifiers.getToastMessage( - context, value.error.toString(), 'ERROR'); + // Notifiers.getToastMessage( + // context, value.error.toString(), 'ERROR'); + + Toast.showToast( + context, + message: value.error.toString(), + type: ToastType.error, + ); }, ); }, @@ -587,28 +604,53 @@ class _MBDetailPageState extends State children: [ Padding( padding: const EdgeInsets.only( - left: 8.0, bottom: 8.0, top: 0, right: 0), - child: IconBackButton( - iconTextColor: const DigitColors().black, - iconColor: const DigitColors().black, - icon: Icons.arrow_left, - action: () { - context.router.popUntilRouteWithPath( - widget.type == MBScreen.update - ? 'measurement-inbox' - : 'workOrder-inbox', - ); - }, - ), + left: 8.0, bottom: 8.0, top: 8.0, right: 8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + BackNavigationButton( + backNavigationButtonThemeData: + const BackNavigationButtonThemeData() + .copyWith( + textColor: Theme.of(context) + .colorTheme + .primary + .primary2, + contentPadding: EdgeInsets.zero, + context: context, + backButtonIcon: Icon( + Icons.arrow_left, + // size: MediaQuery.of(context) + // .size + // .width < + // 500 + // ? Theme.of(context) + // .spacerTheme + // .spacer5 + // : Theme.of(context) + // .spacerTheme + // .spacer6, + color: Theme.of(context) + .colorTheme + .primary + .primary2, + ), + ), + backButtonText: + AppLocalizations.of(context) + .translate(i18.common.back) ?? + 'Back', + handleBack: () { + context.router.popUntilRouteWithPath( + widget.type == MBScreen.update + ? 'measurement-inbox' + : 'workOrder-inbox', + ); + }, + ), + ]), ), - // Back( - // callback: () { - // context.router.popUntilRouteWithPath( - // widget.type == MBScreen.update - // ? 'measurement-inbox' - // : 'workOrder-inbox'); - // }, - // ), + Padding( padding: const EdgeInsets.only(left: 16.0), child: Text( @@ -759,7 +801,7 @@ class _MBDetailPageState extends State )), ) : ListView.builder( - shrinkWrap: true, + shrinkWrap: true, padding: EdgeInsets.zero, physics: const NeverScrollableScrollPhysics(), @@ -1397,9 +1439,9 @@ class _MBDetailPageState extends State double tabViewHeight(int sork, int nonSork, int photo) { switch (_tabController.index) { case 0: - return sork == 0 ? 300 : (sork * 500)+(sork*30) ; + return sork == 0 ? 300 : sork==1?(sork * 500): (sork * 500)+(sork*20) ; case 1: - return nonSork == 0 ? 300 : (nonSork * 500)+(nonSork*30) ; + return nonSork == 0 ? 300 :nonSork == 1?(nonSork * 500): (nonSork * 500)+(sork*20) ; case 2: return photoSize(photo); default: @@ -1425,7 +1467,7 @@ class _MBDetailPageState extends State } } - DigitCard sorCard( + Widget sorCard( AppLocalizations t, BuildContext ctx, int index, { @@ -1456,193 +1498,178 @@ class _MBDetailPageState extends State .toStringAsFixed(4); }); - return DigitCard( - child: Padding( - padding: const EdgeInsets.only(left: 0.0, bottom: 0.0), - child: ConstrainedBox( - constraints: BoxConstraints.tight(const Size.fromHeight(480)), - child: Center( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - // mainAxisAlignment: MainAxisAlignment.center, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Text( - "$cardLevel ${index + 1}", - style: DigitTheme.instance.mobileTheme.textTheme.headlineLarge, + return uiComponent.DigitCard( + margin: const EdgeInsets.only(top: 0, bottom: 8, left: 8, right: 8), + cardType: CardType.primary, + children: [ + LabelValueList( + heading: "$cardLevel ${index+1}", + maxLines: 3, labelFlex: 5, valueFlex: 5, items: [ + LabelValuePair( + label: t.translate(i18.measurementBook.description), + value: + magic.first.contracts!.first.estimates!.first.name ?? ""), + LabelValuePair( + label: t.translate(i18.measurementBook.unit), + value: line[0].uom ?? ''), + LabelValuePair( + label: t.translate(i18.measurementBook.rate), + value: line[0].unitRate == null + ? 0.00.toString() + : double.parse(line[0].unitRate!.toString()) + .toStringAsFixed(2)), + LabelValuePair( + label: t.translate(i18.measurementBook.approvedQty), + value: noOfQty), + LabelValuePair( + label: + "${t.translate(i18.measurementBook.preConsumedKey)}\n${t.translate(i18.measurementBook.preConsumedPre)}", + value: preSorNonSor == null ? "0.0000" : preConumed), + ]), + Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: Text(t.translate(i18.measurementBook.currentMBEntry), + style: Theme.of(context).textTheme.headlineSmall), + ), + Container( + padding: const EdgeInsets.all(5.0), + height: 50, + decoration: BoxDecoration( + border: Border.all( + color: const DigitColors().cloudGray, + width: 2.0, ), + borderRadius: BorderRadius.circular(1), ), - SORTableCard( - element: { - t.translate(i18.measurementBook.description): - magic.first.contracts!.first.estimates!.first.name, - t.translate(i18.measurementBook.unit): line[0].uom, - t.translate(i18.measurementBook.rate): line[0].unitRate == null - ? 0.00 - : double.parse(line[0].unitRate!.toString()) - .toStringAsFixed(2), - t.translate(i18.measurementBook.approvedQty): noOfQty, - "${t.translate(i18.measurementBook.preConsumedKey)}\n${t.translate(i18.measurementBook.preConsumedPre)}": - preSorNonSor == null ? "0.0000" : preConumed - }, - ), - - Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(bottom: 10.0), - child: Text(t.translate(i18.measurementBook.currentMBEntry), - style: Theme.of(context).textTheme.headlineSmall), - ), - Container( - padding: const EdgeInsets.all(5.0), - height: 50, - decoration: BoxDecoration( - border: Border.all( - color: const DigitColors().cloudGray, - width: 2.0, - ), - borderRadius: BorderRadius.circular(1), - ), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Padding( - padding: const EdgeInsets.only(left: 4.0), - child: Text( - (magic.fold(0.0, (sum, obj) { - double m; - if (obj.contracts?.first.estimates?.first - .isDeduction == - false) { - m = obj.measureLineItems!.fold(0.0, (subSum, ob) { - double mk = - double.parse(ob.quantity!.toString()); - return subSum + mk; - }); - } else { - m = obj.measureLineItems!.fold(0.0, (subSum, ob) { - double mr = - double.parse(ob.quantity!.toString()); - return subSum + mr; - }); - m = -m; - } - return sum + m; - })).toStringAsFixed(4), - style: const TextStyle( - fontSize: 16, - fontWeight: FontWeight.w400, - ), - maxLines: 3, - ), - ), - GestureDetector( - onTap: () { - showDialog( - context: ctx, - builder: (_) { - return HorizontalCardListDialog( - lineItems: magic, - index: index, - type: type, - noOfUnit: noOfQty, - cummulativePrevQty: preSorNonSor == null - ? 0.0000 - : preSorNonSor.fold(0.0000, (sum, obj) { - double m = obj - .contracts! - .first - .estimates! - .first - .isDeduction == - true - ? -(obj.cumulativeValue!) - : (obj.cumulativeValue!); - return sum + m.toDouble(); - }), - sorId: sorNonSorId, - ); - }, - ); - }, - child: Padding( - padding: const EdgeInsets.only(right: 0.0), - child: Icon( - Icons.add_circle, - size: 30, - color: const DigitColors().burningOrange, - ), - ), - ), - ], - ), - ), - ], - ), - - // end - Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.start, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, children: [ Padding( - padding: const EdgeInsets.only(top: 8.0, bottom: 5.0), + padding: const EdgeInsets.only(left: 4.0), child: Text( - t.translate(i18.measurementBook.mbAmtCurrentEntry), - style: Theme.of(context).textTheme.headlineSmall, - textScaler: const TextScaler.linear(0.99), - ), - ), - Container( - width: MediaQuery.sizeOf(context).width, - height: 50, - padding: const EdgeInsets.only( - top: 10.0, left: 5.0, right: 5.0, bottom: 10), - decoration: BoxDecoration( - border: Border.all( - color: const DigitColors().cloudGray, - width: 2.0, + (magic.fold(0.0, (sum, obj) { + double m; + if (obj.contracts?.first.estimates?.first + .isDeduction == + false) { + m = obj.measureLineItems!.fold(0.0, (subSum, ob) { + double mk = double.parse(ob.quantity!.toString()); + return subSum + mk; + }); + } else { + m = obj.measureLineItems!.fold(0.0, (subSum, ob) { + double mr = double.parse(ob.quantity!.toString()); + return subSum + mr; + }); + m = -m; + } + return sum + m; + })).toStringAsFixed(4), + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w400, ), - borderRadius: BorderRadius.circular(1), + maxLines: 3, ), + ), + GestureDetector( + onTap: () { + showDialog( + context: ctx, + builder: (_) { + return HorizontalCardListDialog( + lineItems: magic, + index: index, + type: type, + noOfUnit: noOfQty, + cummulativePrevQty: preSorNonSor == null + ? 0.0000 + : preSorNonSor.fold(0.0000, (sum, obj) { + double m = obj.contracts!.first.estimates! + .first.isDeduction == + true + ? -(obj.cumulativeValue!) + : (obj.cumulativeValue!); + return sum + m.toDouble(); + }), + sorId: sorNonSorId, + ); + }, + ); + }, child: Padding( - padding: const EdgeInsets.only(left: 4.0), - child: Text( - (magic.fold(0.0, (sum, obj) { - double m = obj.mbAmount != null - ? (obj.mbAmount != null && obj.mbAmount! < 0) - ? (obj.mbAmount! * (-1)) - : obj.mbAmount! - : 0.00; - if (obj.contracts?.first.estimates?.first.isDeduction == - true) { - m = -(m); // Negate the amount for deductions - } else { - m = (m); - } - return sum + m; - })).toStringAsFixed(2), - style: const TextStyle( - fontSize: 16, - fontWeight: FontWeight.w400, - ), - maxLines: 3, + padding: const EdgeInsets.only(right: 0.0), + child: Icon( + Icons.add_circle, + size: 30, + color: const DigitColors().burningOrange, ), ), ), ], ), - ], - ), + ), + ], ), - ), - ), - ); + + // end + Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0, bottom: 5.0), + child: Text( + t.translate(i18.measurementBook.mbAmtCurrentEntry), + style: Theme.of(context).textTheme.headlineSmall, + textScaler: const TextScaler.linear(0.99), + ), + ), + Container( + width: MediaQuery.sizeOf(context).width, + height: 50, + padding: const EdgeInsets.only( + top: 10.0, left: 5.0, right: 5.0, bottom: 10), + decoration: BoxDecoration( + border: Border.all( + color: const DigitColors().cloudGray, + width: 2.0, + ), + borderRadius: BorderRadius.circular(1), + ), + child: Padding( + padding: const EdgeInsets.only(left: 4.0), + child: Text( + (magic.fold(0.0, (sum, obj) { + double m = obj.mbAmount != null + ? (obj.mbAmount != null && obj.mbAmount! < 0) + ? (obj.mbAmount! * (-1)) + : obj.mbAmount! + : 0.00; + if (obj.contracts?.first.estimates?.first.isDeduction == + true) { + m = -(m); // Negate the amount for deductions + } else { + m = (m); + } + return sum + m; + })).toStringAsFixed(2), + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w400, + ), + maxLines: 3, + ), + ), + ), + ], + ), + ]); } void _openBottomSheet( @@ -1679,8 +1706,8 @@ class _MBDetailPageState extends State const Center( child: SizedBox( width: 100, - child: Divider( - thickness: 5, + child: DigitDivider( + dividerType: DividerType.large, ), ), ), @@ -1800,38 +1827,40 @@ class _MBDetailPageState extends State height: 15, ), showBtn - ? IntrinsicHeight( - child: DigitElevatedButton( - child: - Text(t.translate(i18.measurementBook.mbAction)), - onPressed: () { - Navigator.of(context).pop(); - if (widget.type == MBScreen.update) { - DigitActionDialog.show( - context, - widget: CommonButtonCard( - g: processInstances, - contractNumber: contractNumber, - mbNumber: mbNumber, - type: widget.type, - bs: bs, - ), - ); - } else { - DigitActionDialog.show( - context, - widget: CommonButtonCard( - g: processInstances, - contractNumber: contractNumber, - mbNumber: mbNumber, - type: widget.type, - bs: bs, - ), - ); - } - - // before - }), + ? Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: Button( + mainAxisSize: MainAxisSize.max, + label: t.translate(i18.measurementBook.mbAction), + onPressed: () { + Navigator.of(context).pop(); + if (widget.type == MBScreen.update) { + DigitActionDialog.show( + context, + widget: CommonButtonCard( + g: processInstances, + contractNumber: contractNumber, + mbNumber: mbNumber, + type: widget.type, + bs: bs, + ), + ); + } else { + DigitActionDialog.show( + context, + widget: CommonButtonCard( + g: processInstances, + contractNumber: contractNumber, + mbNumber: mbNumber, + type: widget.type, + bs: bs, + ), + ); + } + }, + type: ButtonType.primary, + size: ButtonSize.large, + ), ) : const SizedBox.shrink(), ], @@ -1895,7 +1924,6 @@ class SORTableCard extends StatelessWidget { element[e].toString(), maxLines: 3, overflow: TextOverflow.ellipsis, - ), )), ], diff --git a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart index a7d7e094c4..a7a1a0dda7 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart @@ -1,5 +1,9 @@ import 'package:digit_components/digit_components.dart'; import 'package:digit_components/widgets/atoms/digit_toaster.dart'; +import 'package:digit_ui_components/digit_components.dart' as ui_component; +import 'package:digit_ui_components/enum/app_enums.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; +import 'package:digit_ui_components/widgets/widgets.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:reactive_forms/reactive_forms.dart'; @@ -52,18 +56,6 @@ class _MBFilterPageState extends State { void initState() { super.initState(); - // final state = context.read().state; - // state.maybeMap( - // orElse: () => null, - // loaded: (valueMeasurement) { - // valueMeasurement.data['inbox'] != null - // ?ward.add( valueMeasurement.data['inbox']!['moduleSearchCriteria']['ward'][0]) - // : ward.isNotEmpty - // ? ward.first - // : []; - // }, - // ); - mbNumber.addListener(mbNumberUpload); projectId.addListener(projectIdUpload); // projectName.addListener(projectNameUpload); @@ -139,8 +131,9 @@ class _MBFilterPageState extends State { return Scaffold( backgroundColor: const DigitColors().white, appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme - .copyWith(color: const DigitColors().white), + iconTheme: Theme.of(context).iconTheme.copyWith( + color: + Theme.of(context).colorTheme.paper.primary), titleSpacing: 0, title: const AppBarLogo(), ), @@ -157,7 +150,7 @@ class _MBFilterPageState extends State { FormGroup formGroup, Widget? child) { return Padding( padding: const EdgeInsets.all(8.0), - child: ScrollableContent( + child: ui_component.ScrollableContent( backgroundColor: Colors.transparent, mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: @@ -172,141 +165,50 @@ class _MBFilterPageState extends State { CrossAxisAlignment.center, children: [ Expanded( - flex: 10, - child: DigitOutLineButton( - label: t.translate( - i18.measurementBook.clear), - onPressed: () { - context - .read< - MeasurementInboxBloc>() - .add( - MeasurementBookInboxBlocEvent( - businessService: "MB", - limit: 10, - moduleName: - 'measurement-module', - offset: 0, - tenantId: - GlobalVariables - .tenantId!, - ), - ); - context.router.maybePopTop(); - }, - ), - ), - const Expanded( - flex: 1, - child: SizedBox.shrink()), - Expanded( - flex: 10, - child: DigitElevatedButton( - child: Text(t.translate( - i18.measurementBook.filter)), - onPressed: () async { - Map> - filterPayload; - - if (workShow && project) { - filterPayload = { - "inbox": { - "tenantId": - GlobalVariables - .tenantId, - "moduleSearchCriteria": { - "tenantId": - GlobalVariables - .tenantId, - }, - "processSearchCriteria": { - "businessService": [ - "MB" - ], - "moduleName": - "measurement-service" - }, - "limit": 10, - "offset": 0 - } - }; - - if (formGroup.value[assign] == - "MB_ASSIGNED_TO_ME" || - assign == - "MB_ASSIGNED_TO_ME") { - filterPayload['inbox']![ - 'moduleSearchCriteria']![ - 'assignee'] = - GlobalVariables.uuid; + flex: 10, + child: ui_component.Button( + label: t.translate(i18 + .measurementBook.clear), + onPressed: () { context .read< MeasurementInboxBloc>() .add( - MeasurementBookInboxSearchBlocEvent( + MeasurementBookInboxBlocEvent( + businessService: + "MB", limit: 10, + moduleName: + 'measurement-module', offset: 0, - data: filterPayload, + tenantId: + GlobalVariables + .tenantId!, ), ); context.router .maybePopTop(); - } else { - ToastUtils.showCustomToast( - context, - t.translate(i18.common - .searchCriteria), - "INFO"); - - // TODO: digit component toast - // DigitToast.show( - // context, - // options: - // DigitToastOptions( - // t.translate(i18.common - // .searchCriteria), - // true, - // DigitTheme.instance - // .mobileTheme, - // ), - // ); - // end of it - } - } else { - if (workShow && !project) { - if (workflow.isEmpty && - ward.isNotEmpty) { - filterPayload = { - "inbox": { - "tenantId": - GlobalVariables - .tenantId, - "moduleSearchCriteria": - { - "tenantId": - GlobalVariables - .tenantId, - // "status": workflow - // .map((e) => e.statusid!) - // .toList(), - "ward": ward, - }, - "processSearchCriteria": - { - "businessService": [ - "MB" - ], - "moduleName": - "measurement-service" - }, - "limit": 10, - "offset": 0 - } - }; - } else if (workflow - .isNotEmpty && - ward.isEmpty) { + }, + type: ui_component + .ButtonType.secondary, + size: ui_component + .ButtonSize.large)), + const Expanded( + flex: 1, + child: SizedBox.shrink()), + Expanded( + flex: 10, + child: ui_component.Button( + label: t.translate(i18 + .measurementBook.filter), + onPressed: () async { + Map< + String, + Map> + filterPayload; + + if (workShow && project) { filterPayload = { "inbox": { "tenantId": @@ -317,11 +219,6 @@ class _MBFilterPageState extends State { "tenantId": GlobalVariables .tenantId, - "status": workflow - .map((e) => - e.statusid!) - .toList(), - // "ward": ward, }, "processSearchCriteria": { @@ -335,204 +232,639 @@ class _MBFilterPageState extends State { "offset": 0 } }; + + if (formGroup.value[ + assign] == + "MB_ASSIGNED_TO_ME" || + assign == + "MB_ASSIGNED_TO_ME") { + filterPayload['inbox']![ + 'moduleSearchCriteria']![ + 'assignee'] = + GlobalVariables + .uuid; + context + .read< + MeasurementInboxBloc>() + .add( + MeasurementBookInboxSearchBlocEvent( + limit: 10, + offset: 0, + data: + filterPayload, + ), + ); + context.router + .maybePopTop(); + } else { + Toast.showToast(context, + message: t.translate(i18 + .common + .searchCriteria), + type: ToastType + .warning); + } } else { - filterPayload = { - "inbox": { - "tenantId": - GlobalVariables - .tenantId, - "moduleSearchCriteria": - { - "tenantId": - GlobalVariables - .tenantId, - "status": workflow - .map((e) => - e.statusid!) - .toList(), - "ward": ward, - }, - "processSearchCriteria": - { - "businessService": [ - "MB" - ], - "moduleName": - "measurement-service" - }, - "limit": 10, - "offset": 0 + if (workShow && + !project) { + if (workflow.isEmpty && + ward.isNotEmpty) { + filterPayload = { + "inbox": { + "tenantId": + GlobalVariables + .tenantId, + "moduleSearchCriteria": + { + "tenantId": + GlobalVariables + .tenantId, + // "status": workflow + // .map((e) => e.statusid!) + // .toList(), + "ward": ward, + }, + "processSearchCriteria": + { + "businessService": + ["MB"], + "moduleName": + "measurement-service" + }, + "limit": 10, + "offset": 0 + } + }; + } else if (workflow + .isNotEmpty && + ward.isEmpty) { + filterPayload = { + "inbox": { + "tenantId": + GlobalVariables + .tenantId, + "moduleSearchCriteria": + { + "tenantId": + GlobalVariables + .tenantId, + "status": workflow + .map((e) => + e.statusid!) + .toList(), + // "ward": ward, + }, + "processSearchCriteria": + { + "businessService": + ["MB"], + "moduleName": + "measurement-service" + }, + "limit": 10, + "offset": 0 + } + }; + } else { + filterPayload = { + "inbox": { + "tenantId": + GlobalVariables + .tenantId, + "moduleSearchCriteria": + { + "tenantId": + GlobalVariables + .tenantId, + "status": workflow + .map((e) => + e.statusid!) + .toList(), + "ward": ward, + }, + "processSearchCriteria": + { + "businessService": + ["MB"], + "moduleName": + "measurement-service" + }, + "limit": 10, + "offset": 0 + } + }; } - }; - } - if (formGroup.value[ - assign] == - "MB_ASSIGNED_TO_ME" || - assign == - "MB_ASSIGNED_TO_ME") { - filterPayload['inbox']![ - 'moduleSearchCriteria']![ - 'assignee'] = - GlobalVariables.uuid; - } - context - .read< - MeasurementInboxBloc>() - .add( - MeasurementBookInboxSearchBlocEvent( - limit: 10, - offset: 0, - data: filterPayload, - ), - ); - } else { - if (mbNumber.text != "" && - projectId.text == "" && - projectName == "") { - filterPayload = { - "inbox": { - "tenantId": + if (formGroup.value[ + assign] == + "MB_ASSIGNED_TO_ME" || + assign == + "MB_ASSIGNED_TO_ME") { + filterPayload['inbox']![ + 'moduleSearchCriteria']![ + 'assignee'] = GlobalVariables - .tenantId, - "moduleSearchCriteria": - { - "tenantId": - GlobalVariables - .tenantId, - "measurementNumber": - mbNumber.text, - }, - "processSearchCriteria": - { - "businessService": [ - "MB" - ], - "moduleName": - "measurement-service" - }, - "limit": 10, - "offset": 0 + .uuid; } - }; - } else if (mbNumber.text == - "" && - projectId.text != "" && - projectName == "") { - filterPayload = { - "inbox": { - "tenantId": - GlobalVariables - .tenantId, - "moduleSearchCriteria": - { - "tenantId": - GlobalVariables - .tenantId, - "projectId": - projectId.text, - }, - "processSearchCriteria": - { - "businessService": [ - "MB" - ], - "moduleName": - "measurement-service" - }, - "limit": 10, - "offset": 0 + context + .read< + MeasurementInboxBloc>() + .add( + MeasurementBookInboxSearchBlocEvent( + limit: 10, + offset: 0, + data: + filterPayload, + ), + ); + } else { + if (mbNumber.text != + "" && + projectId.text == + "" && + projectName == "") { + filterPayload = { + "inbox": { + "tenantId": + GlobalVariables + .tenantId, + "moduleSearchCriteria": + { + "tenantId": + GlobalVariables + .tenantId, + "measurementNumber": + mbNumber + .text, + }, + "processSearchCriteria": + { + "businessService": + ["MB"], + "moduleName": + "measurement-service" + }, + "limit": 10, + "offset": 0 + } + }; + } else if (mbNumber.text == + "" && + projectId.text != + "" && + projectName == "") { + filterPayload = { + "inbox": { + "tenantId": + GlobalVariables + .tenantId, + "moduleSearchCriteria": + { + "tenantId": + GlobalVariables + .tenantId, + "projectId": + projectId + .text, + }, + "processSearchCriteria": + { + "businessService": + ["MB"], + "moduleName": + "measurement-service" + }, + "limit": 10, + "offset": 0 + } + }; + } else if (mbNumber.text == + "" && + projectId.text == + "" && + projectName != "") { + filterPayload = { + "inbox": { + "tenantId": + GlobalVariables + .tenantId, + "moduleSearchCriteria": + { + "tenantId": + GlobalVariables + .tenantId, + "projectType": + projectName, + }, + "processSearchCriteria": + { + "businessService": + ["MB"], + "moduleName": + "measurement-service" + }, + "limit": 10, + "offset": 0 + } + }; + } else { + filterPayload = { + "inbox": { + "tenantId": + GlobalVariables + .tenantId, + "moduleSearchCriteria": + { + "tenantId": + GlobalVariables + .tenantId, + "measurementNumber": + mbNumber + .text, + "projectId": + projectId + .text, + "projectType": + projectName, + }, + "processSearchCriteria": + { + "businessService": + ["MB"], + "moduleName": + "measurement-service" + }, + "limit": 10, + "offset": 0 + } + }; } - }; - } else if (mbNumber.text == - "" && - projectId.text == "" && - projectName != "") { - filterPayload = { - "inbox": { - "tenantId": - GlobalVariables - .tenantId, - "moduleSearchCriteria": - { - "tenantId": - GlobalVariables - .tenantId, - "projectType": - projectName, - }, - "processSearchCriteria": - { - "businessService": [ - "MB" - ], - "moduleName": - "measurement-service" - }, - "limit": 10, - "offset": 0 - } - }; - } else { - filterPayload = { - "inbox": { - "tenantId": + + if (formGroup.value[ + assign] == + "MB_ASSIGNED_TO_ME" || + assign == + "MB_ASSIGNED_TO_ME") { + filterPayload['inbox']![ + 'moduleSearchCriteria']![ + 'assignee'] = GlobalVariables - .tenantId, - "moduleSearchCriteria": - { - "tenantId": - GlobalVariables - .tenantId, - "measurementNumber": - mbNumber.text, - "projectId": - projectId.text, - "projectType": - projectName, - }, - "processSearchCriteria": - { - "businessService": [ - "MB" - ], - "moduleName": - "measurement-service" - }, - "limit": 10, - "offset": 0 + .uuid; } - }; - } - if (formGroup.value[ - assign] == - "MB_ASSIGNED_TO_ME" || - assign == - "MB_ASSIGNED_TO_ME") { - filterPayload['inbox']![ - 'moduleSearchCriteria']![ - 'assignee'] = - GlobalVariables.uuid; + context + .read< + MeasurementInboxBloc>() + .add( + MeasurementBookInboxSearchBlocEvent( + limit: 10, + offset: 0, + data: + filterPayload, + ), + ); + } + + context.router + .maybePopTop(); } + }, + type: ui_component + .ButtonType.primary, + size: ui_component + .ButtonSize.large) + // DigitElevatedButton( + // child: Text(t.translate( + // i18.measurementBook.filter)), + // onPressed: () async { + // Map> + // filterPayload; - context - .read< - MeasurementInboxBloc>() - .add( - MeasurementBookInboxSearchBlocEvent( - limit: 10, - offset: 0, - data: filterPayload, - ), - ); - } + // if (workShow && project) { + // filterPayload = { + // "inbox": { + // "tenantId": + // GlobalVariables + // .tenantId, + // "moduleSearchCriteria": { + // "tenantId": + // GlobalVariables + // .tenantId, + // }, + // "processSearchCriteria": { + // "businessService": [ + // "MB" + // ], + // "moduleName": + // "measurement-service" + // }, + // "limit": 10, + // "offset": 0 + // } + // }; - context.router.maybePopTop(); - } - }, - ), - ) + // if (formGroup.value[assign] == + // "MB_ASSIGNED_TO_ME" || + // assign == + // "MB_ASSIGNED_TO_ME") { + // filterPayload['inbox']![ + // 'moduleSearchCriteria']![ + // 'assignee'] = + // GlobalVariables.uuid; + // context + // .read< + // MeasurementInboxBloc>() + // .add( + // MeasurementBookInboxSearchBlocEvent( + // limit: 10, + // offset: 0, + // data: filterPayload, + // ), + // ); + // context.router + // .maybePopTop(); + // } else { + // ToastUtils.showCustomToast( + // context, + // t.translate(i18.common + // .searchCriteria), + // "INFO"); + + // // TODO: digit component toast + // // DigitToast.show( + // // context, + // // options: + // // DigitToastOptions( + // // t.translate(i18.common + // // .searchCriteria), + // // true, + // // DigitTheme.instance + // // .mobileTheme, + // // ), + // // ); + // // end of it + // } + // } else { + // if (workShow && !project) { + // if (workflow.isEmpty && + // ward.isNotEmpty) { + // filterPayload = { + // "inbox": { + // "tenantId": + // GlobalVariables + // .tenantId, + // "moduleSearchCriteria": + // { + // "tenantId": + // GlobalVariables + // .tenantId, + // // "status": workflow + // // .map((e) => e.statusid!) + // // .toList(), + // "ward": ward, + // }, + // "processSearchCriteria": + // { + // "businessService": [ + // "MB" + // ], + // "moduleName": + // "measurement-service" + // }, + // "limit": 10, + // "offset": 0 + // } + // }; + // } else if (workflow + // .isNotEmpty && + // ward.isEmpty) { + // filterPayload = { + // "inbox": { + // "tenantId": + // GlobalVariables + // .tenantId, + // "moduleSearchCriteria": + // { + // "tenantId": + // GlobalVariables + // .tenantId, + // "status": workflow + // .map((e) => + // e.statusid!) + // .toList(), + // // "ward": ward, + // }, + // "processSearchCriteria": + // { + // "businessService": [ + // "MB" + // ], + // "moduleName": + // "measurement-service" + // }, + // "limit": 10, + // "offset": 0 + // } + // }; + // } else { + // filterPayload = { + // "inbox": { + // "tenantId": + // GlobalVariables + // .tenantId, + // "moduleSearchCriteria": + // { + // "tenantId": + // GlobalVariables + // .tenantId, + // "status": workflow + // .map((e) => + // e.statusid!) + // .toList(), + // "ward": ward, + // }, + // "processSearchCriteria": + // { + // "businessService": [ + // "MB" + // ], + // "moduleName": + // "measurement-service" + // }, + // "limit": 10, + // "offset": 0 + // } + // }; + // } + + // if (formGroup.value[ + // assign] == + // "MB_ASSIGNED_TO_ME" || + // assign == + // "MB_ASSIGNED_TO_ME") { + // filterPayload['inbox']![ + // 'moduleSearchCriteria']![ + // 'assignee'] = + // GlobalVariables.uuid; + // } + // context + // .read< + // MeasurementInboxBloc>() + // .add( + // MeasurementBookInboxSearchBlocEvent( + // limit: 10, + // offset: 0, + // data: filterPayload, + // ), + // ); + // } else { + // if (mbNumber.text != "" && + // projectId.text == "" && + // projectName == "") { + // filterPayload = { + // "inbox": { + // "tenantId": + // GlobalVariables + // .tenantId, + // "moduleSearchCriteria": + // { + // "tenantId": + // GlobalVariables + // .tenantId, + // "measurementNumber": + // mbNumber.text, + // }, + // "processSearchCriteria": + // { + // "businessService": [ + // "MB" + // ], + // "moduleName": + // "measurement-service" + // }, + // "limit": 10, + // "offset": 0 + // } + // }; + // } else if (mbNumber.text == + // "" && + // projectId.text != "" && + // projectName == "") { + // filterPayload = { + // "inbox": { + // "tenantId": + // GlobalVariables + // .tenantId, + // "moduleSearchCriteria": + // { + // "tenantId": + // GlobalVariables + // .tenantId, + // "projectId": + // projectId.text, + // }, + // "processSearchCriteria": + // { + // "businessService": [ + // "MB" + // ], + // "moduleName": + // "measurement-service" + // }, + // "limit": 10, + // "offset": 0 + // } + // }; + // } else if (mbNumber.text == + // "" && + // projectId.text == "" && + // projectName != "") { + // filterPayload = { + // "inbox": { + // "tenantId": + // GlobalVariables + // .tenantId, + // "moduleSearchCriteria": + // { + // "tenantId": + // GlobalVariables + // .tenantId, + // "projectType": + // projectName, + // }, + // "processSearchCriteria": + // { + // "businessService": [ + // "MB" + // ], + // "moduleName": + // "measurement-service" + // }, + // "limit": 10, + // "offset": 0 + // } + // }; + // } else { + // filterPayload = { + // "inbox": { + // "tenantId": + // GlobalVariables + // .tenantId, + // "moduleSearchCriteria": + // { + // "tenantId": + // GlobalVariables + // .tenantId, + // "measurementNumber": + // mbNumber.text, + // "projectId": + // projectId.text, + // "projectType": + // projectName, + // }, + // "processSearchCriteria": + // { + // "businessService": [ + // "MB" + // ], + // "moduleName": + // "measurement-service" + // }, + // "limit": 10, + // "offset": 0 + // } + // }; + // } + + // if (formGroup.value[ + // assign] == + // "MB_ASSIGNED_TO_ME" || + // assign == + // "MB_ASSIGNED_TO_ME") { + // filterPayload['inbox']![ + // 'moduleSearchCriteria']![ + // 'assignee'] = + // GlobalVariables.uuid; + // } + + // context + // .read< + // MeasurementInboxBloc>() + // .add( + // MeasurementBookInboxSearchBlocEvent( + // limit: 10, + // offset: 0, + // data: filterPayload, + // ), + // ); + // } + + // context.router.maybePopTop(); + // } + // }, + // ), + ) ], ), ), @@ -692,9 +1024,9 @@ class _MBFilterPageState extends State { project = false; }); }, - initialValue: ward.isNotEmpty - ? ward.first - : null, + initialValue: ward.isNotEmpty + ? ward.first + : null, label: t.translate(i18.common.ward), menuItems: location! @@ -761,8 +1093,11 @@ class _MBFilterPageState extends State { wardNoKey: FormControl( value: valueMeasurement.data['inbox'] != null ? valueMeasurement.data['inbox']!['moduleSearchCriteria'] - ['ward']!=null?valueMeasurement.data['inbox']!['moduleSearchCriteria'] - ['ward'][0]:null + ['ward'] != + null + ? valueMeasurement.data['inbox']!['moduleSearchCriteria'] + ['ward'][0] + : null : ward.isNotEmpty ? ward.first : null), diff --git a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart index f68d54bc7d..03f1f774a3 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart @@ -1,4 +1,14 @@ -import 'package:digit_components/digit_components.dart'; +import 'package:digit_components/theme/colors.dart'; +import 'package:digit_components/theme/digit_theme.dart'; +import 'package:digit_components/widgets/atoms/digit_icon_button.dart'; +import 'package:digit_ui_components/enum/app_enums.dart'; +import 'package:digit_ui_components/theme/ComponentTheme/back_button_theme.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; +import 'package:digit_ui_components/widgets/atoms/digit_back_button.dart'; +import 'package:digit_ui_components/widgets/atoms/label_value_list.dart'; +import 'package:digit_ui_components/widgets/molecules/digit_card.dart' + as ui_component; +import 'package:digit_ui_components/widgets/widgets.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_svg/svg.dart'; @@ -136,10 +146,22 @@ class _MeasurementBookInboxPageState extends State { shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(20), side: BorderSide( - color: const DigitColors().burningOrange), + color: Theme.of(context) + .colorTheme + .primary + .primary1), ), ), - label: Text(t.translate(i18.measurementBook.backToTop)), + label: Text( + t.translate(i18.measurementBook.backToTop), + style: Theme.of(context) + .digitTextTheme(context) + .bodyL + .copyWith( + color: + Theme.of(context).colorTheme.primary.primary1, + ), + ), onPressed: () { _scrollController.animateTo( 0.0, @@ -190,31 +212,74 @@ class _MeasurementBookInboxPageState extends State { mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Padding( - padding: const EdgeInsets.only( - left: 8.0, bottom: 0, top: 0, right: 0), - child: IconBackButton( - iconTextColor: const DigitColors().black, - iconColor: const DigitColors().black, - icon: Icons.arrow_left, - action: () { - context.router.maybePop(); - }, - ), - ), + Padding( + padding: const EdgeInsets.only( + left: 8.0, bottom: 8.0, top: 8.0, right: 8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + BackNavigationButton( + backNavigationButtonThemeData: + const BackNavigationButtonThemeData() + .copyWith( + textColor: Theme.of(context) + .colorTheme + .primary + .primary2, + contentPadding: EdgeInsets.zero, + context: context, + backButtonIcon: Icon( + Icons.arrow_left, + // size: MediaQuery.of(context) + // .size + // .width < + // 500 + // ? Theme.of(context) + // .spacerTheme + // .spacer5 + // : Theme.of(context) + // .spacerTheme + // .spacer6, + color: Theme.of(context) + .colorTheme + .primary + .primary2, + ), + ), + backButtonText: + AppLocalizations.of(context) + .translate(i18.common.back) ?? + 'Back', + handleBack: () { + context.router.maybePop(); + }, + ), + ]), + ), + // Padding( + // padding: const EdgeInsets.only( + // left: 8.0, bottom: 0, top: 0, right: 0), + // child: IconBackButton( + // iconTextColor: const DigitColors().black, + // iconColor: const DigitColors().black, + // icon: Icons.arrow_left, + // action: () { + // context.router.maybePop(); + // }, + // ), + // ), Padding( padding: const EdgeInsets.only(left: 17.0), child: Text( "${t.translate(i18.measurementBook.mbInbox)} (${mbInboxResponse.mbInboxResponse.totalCount ?? 0})", - style: DigitTheme.instance.mobileTheme - .textTheme.headlineLarge, + style: Theme.of(context).textTheme.headlineLarge, overflow: TextOverflow.ellipsis, maxLines: 1, ), ), Padding( padding: const EdgeInsets.only( - left: 13.0, + left: 4.0, right: 8.0, top: 8.0, bottom: 0), @@ -222,24 +287,8 @@ class _MeasurementBookInboxPageState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - // GestureDetector( - // onTap: () { - // setState(() { - // pageCount = 0; - // }); - // context.router - // .push(const MBFilterRoute()); - // }, - // child: Row( - // mainAxisAlignment: - // MainAxisAlignment.start, - // crossAxisAlignment: - // CrossAxisAlignment.center, - // children: [ - DigitIconButton( - iconText: - t.translate(i18.common.filter), - + Button( + label: t.translate(i18.common.filter), onPressed: () { setState(() { pageCount = 0; @@ -247,10 +296,26 @@ class _MeasurementBookInboxPageState extends State { context.router .push(const MBFilterRoute()); }, - // iconSize: 30, - icon: Icons.filter_list_alt, - textDirection: TextDirection.ltr, + type: ButtonType.tertiary, + size: ButtonSize.large, + prefixIcon: Icons.filter_list_alt, ), + + // DigitIconButton( + // iconText: + // t.translate(i18.common.filter), + + // onPressed: () { + // setState(() { + // pageCount = 0; + // }); + // context.router + // .push(const MBFilterRoute()); + // }, + // // iconSize: 30, + // icon: Icons.filter_list_alt, + // textDirection: TextDirection.ltr, + // ), // TODO: commenting for reset button // - it will be enhanced in future // mbInboxResponse.search @@ -285,18 +350,28 @@ class _MeasurementBookInboxPageState extends State { //], // ), // ), - DigitIconButton( - iconText: t.translate( - i18.measurementBook.sort), - - onPressed: () { - Conversion.openSortingModal(context, + + + Button( + prefixIcon: Icons.swap_vert, + label: t.translate( + i18.measurementBook.sort), onPressed: (){Conversion.openSortingModal(context, listData: Conversion.sortMB, - sortType: SortType.mbSort); - }, - // iconSize: 30, - icon: Icons.swap_vert, - ), + sortType: SortType.mbSort);}, type: ButtonType.tertiary, size: ButtonSize.large), + + + // DigitIconButton( + // iconText: t.translate( + // i18.measurementBook.sort), + + // onPressed: () { + // Conversion.openSortingModal(context, + // listData: Conversion.sortMB, + // sortType: SortType.mbSort); + // }, + // // iconSize: 30, + // icon: Icons.swap_vert, + // ), ], ), ), @@ -347,104 +422,117 @@ class _MeasurementBookInboxPageState extends State { ); } - return CommonMBCard( - padding: const EdgeInsets.symmetric( - horizontal: 4.0, vertical: 8.0), - widget: Center( - child: SizedBox( - width: MediaQuery.sizeOf(context).width, - child: DigitOutLineButton( - buttonStyle: OutlinedButton.styleFrom( - padding: const EdgeInsets.all(5), - minimumSize: Size( - MediaQuery.sizeOf(context) - .width, - 45)), - label: t.translate( - i18.measurementBook.openMbBook), - onPressed: () { - final contract = mbInboxResponse - .mbInboxResponse - .items?[index] - .businessObject - ?.contract - ?.contractNumber ?? - ""; - final mbNumber = mbInboxResponse - .mbInboxResponse - .items?[index] - .businessObject - ?.measurementNumber ?? - ""; - context.router.push(MBDetailRoute( - contractNumber: contract, - mbNumber: mbNumber, - tenantId: - GlobalVariables.tenantId, - type: MBScreen.update, - )); - }, - ), - ), - ), - items: { - t.translate(i18.measurementBook.mbNumber): - mbInboxResponse - .mbInboxResponse - .items?[index] - .businessObject - ?.measurementNumber ?? - "", - t.translate(i18.measurementBook - .projectDescription): mbInboxResponse - .mbInboxResponse - .items?[index] - .businessObject - ?.contract - ?.additionalDetails - ?.projectDesc ?? - "", - t.translate(i18.common.assignee): - mbInboxResponse - .mbInboxResponse - .items?[index] - .processInstance - ?.assignes - ?.first - .name ?? - "NA", - t.translate(i18.measurementBook - .workflowState): mbInboxResponse - .mbInboxResponse - .items?[index] - .processInstance - ?.state - ?.state != - null - ? t.translate( - "MB_WFMB_STATE_${mbInboxResponse.mbInboxResponse.items![index].processInstance!.state!.state!}") - : "", - t.translate(i18.measurementBook.mbAmount): - mbInboxResponse - .mbInboxResponse - .items?[index] - .businessObject - ?.measurementAdditionalDetail - ?.totalAmount - ?.roundToDouble() - .toStringAsFixed(2) ?? - "0.00" - }, - showSla: true, - sla: mbInboxResponse - .mbInboxResponse - .items?[index] - .businessObject - ?.serviceSla ?? - 0, - showStatus: false, - status: '', - ); + return ui_component.DigitCard( + cardType: CardType.primary, + margin: const EdgeInsets.only( + left: 5, bottom: 8, right: 5), + children: [ + LabelValueList( + maxLines: 3, + labelFlex: 5, + valueFlex: 5, + items: [ + LabelValuePair( + label: t.translate(i18 + .measurementBook + .mbNumber), + value: mbInboxResponse + .mbInboxResponse + .items?[index] + .businessObject + ?.measurementNumber ?? + ""), + LabelValuePair( + label: t.translate(i18 + .measurementBook + .projectDescription), + value: mbInboxResponse + .mbInboxResponse + .items?[index] + .businessObject + ?.contract + ?.additionalDetails + ?.projectDesc ?? + ""), + LabelValuePair( + label: t.translate( + i18.common.assignee), + value: mbInboxResponse + .mbInboxResponse + .items?[index] + .processInstance + ?.assignes + ?.first + .name ?? + "NA"), + LabelValuePair( + label: t.translate(i18 + .measurementBook + .workflowState), + value: mbInboxResponse + .mbInboxResponse + .items?[index] + .processInstance + ?.state + ?.state != + null + ? t.translate( + "MB_WFMB_STATE_${mbInboxResponse.mbInboxResponse.items![index].processInstance!.state!.state!}") + : ""), + LabelValuePair( + label: t.translate(i18 + .measurementBook + .mbAmount), + value: mbInboxResponse + .mbInboxResponse + .items?[index] + .businessObject + ?.measurementAdditionalDetail + ?.totalAmount + ?.roundToDouble() + .toStringAsFixed(2) ?? + "0.00"), + LabelValuePair( + label: t.translate(i18 + .measurementBook + .mbSlaDaysRemaining), + value: (mbInboxResponse + .mbInboxResponse + .items?[index] + .businessObject + ?.serviceSla ?? + 0) + .toString()) + ]), + Button( + mainAxisSize: MainAxisSize.max, + label: t.translate( + i18.measurementBook.openMbBook), + onPressed: () { + final contract = mbInboxResponse + .mbInboxResponse + .items?[index] + .businessObject + ?.contract + ?.contractNumber ?? + ""; + final mbNumber = mbInboxResponse + .mbInboxResponse + .items?[index] + .businessObject + ?.measurementNumber ?? + ""; + context.router.push(MBDetailRoute( + contractNumber: contract, + mbNumber: mbNumber, + tenantId: + GlobalVariables.tenantId, + type: MBScreen.update, + )); + }, + type: ButtonType.secondary, + size: ButtonSize.large) + ]); }, childCount: mbInboxResponse.isLoading ? mbInboxResponse diff --git a/frontend/works_shg_app/lib/pages/home.dart b/frontend/works_shg_app/lib/pages/home.dart index f32e3b2b59..1fef53ec3c 100644 --- a/frontend/works_shg_app/lib/pages/home.dart +++ b/frontend/works_shg_app/lib/pages/home.dart @@ -1,4 +1,7 @@ import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/enum/app_enums.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; +import 'package:digit_ui_components/widgets/atoms/digit_toast.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_svg/flutter_svg.dart'; @@ -63,8 +66,12 @@ class _HomePage extends State { var t = AppLocalizations.of(context); return Scaffold( appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme - .copyWith(color: const DigitColors().white), + iconTheme: Theme.of(context).iconTheme.copyWith( + color: Theme.of(context) + .colorTheme + .paper.primary + + ), titleSpacing: 0, title: GlobalVariables.roleType == RoleType.cbo ? BlocBuilder( @@ -119,10 +126,17 @@ class _HomePage extends State { orgState.maybeWhen( orElse: () => false, error: (String? error) { - Notifiers.getToastMessage( - context, - t.translate(i18.common.noOrgLinkedWithMob), - 'ERROR'); + // Notifiers.getToastMessage( + // context, + // t.translate(i18.common.noOrgLinkedWithMob), + // 'ERROR'); + + Toast.showToast( + context, + message: t + .translate(i18.common.noOrgLinkedWithMob), + type: ToastType.error, + ); context .read() .add(const AuthLogoutEvent()); @@ -131,11 +145,17 @@ class _HomePage extends State { organisationListModel) async { if ((organisationListModel?.organisations ?? []) .isEmpty) { - Notifiers.getToastMessage( - context, - t.translate( - i18.common.noOrgLinkedWithMob), - 'ERROR'); + // Notifiers.getToastMessage( + // context, + // t.translate( + // i18.common.noOrgLinkedWithMob), + // 'ERROR'); + Toast.showToast( + context, + message: t + .translate(i18.common.noOrgLinkedWithMob), + type: ToastType.error, + ); context .read() .add(const AuthLogoutEvent()); @@ -299,8 +319,8 @@ class _HomePage extends State { footer: const Padding( padding: EdgeInsets.all(16.0), child: PoweredByDigit( - version: Constants.appVersion, - ), + version: Constants.appVersion, + ), ), children: [ DigitCard( diff --git a/frontend/works_shg_app/lib/pages/login.dart b/frontend/works_shg_app/lib/pages/login.dart index a7e9c3c80e..f81d9a817d 100644 --- a/frontend/works_shg_app/lib/pages/login.dart +++ b/frontend/works_shg_app/lib/pages/login.dart @@ -1,5 +1,8 @@ import 'package:digit_components/digit_components.dart'; import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; +import 'package:digit_ui_components/enum/app_enums.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; +import 'package:digit_ui_components/widgets/atoms/digit_toast.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -159,10 +162,15 @@ class _LoginPageState extends State OTPVerificationRoute(mobileNumber: userIdController.text)); }, error: () { - Notifiers.getToastMessage( + // Notifiers.getToastMessage( + // context, + // t.translate(i18.login.enteredMobileNotRegistered), + // 'ERROR', + // ); + Toast.showToast( context, - t.translate(i18.login.enteredMobileNotRegistered), - 'ERROR', + message: t.translate(i18.login.enteredMobileNotRegistered), + type: ToastType.error, ); }, ); @@ -191,10 +199,15 @@ class _LoginPageState extends State listener: (context, state) { state.maybeWhen( error: () { - Notifiers.getToastMessage( + // Notifiers.getToastMessage( + // context, + // t.translate(i18.common.empLoginError), + // 'ERROR', + // ); + Toast.showToast( context, - t.translate(i18.common.empLoginError), - 'ERROR', + message: t.translate(i18.common.empLoginError), + type: ToastType.error, ); }, orElse: () {}, @@ -217,10 +230,15 @@ class _LoginPageState extends State ), ); } else { - Notifiers.getToastMessage( + // Notifiers.getToastMessage( + // context, + // t.translate(i18.common.allFieldsMandatory), + // 'ERROR', + // ); + Toast.showToast( context, - t.translate(i18.common.allFieldsMandatory), - 'ERROR', + message: t.translate(i18.common.allFieldsMandatory), + type: ToastType.error, ); } } @@ -314,8 +332,12 @@ class _LoginPageState extends State length: 2, child: Scaffold( appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme - .copyWith(color: const DigitColors().white), + iconTheme: Theme.of(context).iconTheme.copyWith( + color: Theme.of(context) + .colorTheme + .paper.primary + + ), automaticallyImplyLeading: true, ), body: BlocBuilder( diff --git a/frontend/works_shg_app/lib/pages/org_profile.dart b/frontend/works_shg_app/lib/pages/org_profile.dart index 231f5d2a49..883a1a2d33 100644 --- a/frontend/works_shg_app/lib/pages/org_profile.dart +++ b/frontend/works_shg_app/lib/pages/org_profile.dart @@ -1,4 +1,5 @@ import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:easy_stepper/easy_stepper.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; @@ -62,7 +63,12 @@ class _ORGProfilePage extends State { var t = AppLocalizations.of(context); return Scaffold( appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), + iconTheme: Theme.of(context).iconTheme.copyWith( + color: Theme.of(context) + .colorTheme + .paper.primary + + ), titleSpacing: 0, title: const AppBarLogo(), ), diff --git a/frontend/works_shg_app/lib/pages/work_order/work_order.dart b/frontend/works_shg_app/lib/pages/work_order/work_order.dart index 41816e6eaa..2b8061370a 100644 --- a/frontend/works_shg_app/lib/pages/work_order/work_order.dart +++ b/frontend/works_shg_app/lib/pages/work_order/work_order.dart @@ -1,4 +1,5 @@ import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:intl/intl.dart'; @@ -69,7 +70,12 @@ class _WorkOrderPage extends State { var t = AppLocalizations.of(context); return Scaffold( appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), + iconTheme: Theme.of(context).iconTheme.copyWith( + color: Theme.of(context) + .colorTheme + .paper.primary + + ), titleSpacing: 0, title: const AppBarLogo(), ), diff --git a/frontend/works_shg_app/lib/widgets/atoms/app_bar_logo.dart b/frontend/works_shg_app/lib/widgets/atoms/app_bar_logo.dart index 83b6ec8a1f..e235da84bb 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/app_bar_logo.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/app_bar_logo.dart @@ -1,4 +1,5 @@ import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:flutter/material.dart'; import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/utils/global_variables.dart'; @@ -25,33 +26,32 @@ class AppBarLogo extends StatelessWidget { child: Column( children: [ Text( - GlobalVariables.roleType==RoleType.employee? - GlobalVariables.userRequestModel!['name']: - GlobalVariables.organisationListModel != null - ? GlobalVariables.organisationListModel?.organisations - ?.first.name ?? - '' - : '', + GlobalVariables.roleType == RoleType.employee + ? GlobalVariables.userRequestModel!['name'] + : GlobalVariables.organisationListModel != null + ? GlobalVariables.organisationListModel + ?.organisations?.first.name ?? + '' + : '', style: Theme.of(context).textTheme.labelSmall?.copyWith( - fontWeight: FontWeight.w400, - fontSize: 12, - color: const DigitColors().white - - ), + fontWeight: FontWeight.w400, + fontSize: 12, + color: Theme.of(context).colorTheme.paper.primary, + ), textAlign: TextAlign.start, ), Text( - GlobalVariables.roleType==RoleType.employee? - GlobalVariables.userRequestModel!['userName'].toString(): - GlobalVariables.organisationListModel?.organisations?.first - .orgNumber ?? - '', + GlobalVariables.roleType == RoleType.employee + ? GlobalVariables.userRequestModel!['userName'] + .toString() + : GlobalVariables.organisationListModel?.organisations + ?.first.orgNumber ?? + '', style: Theme.of(context).textTheme.labelSmall?.copyWith( - fontWeight: FontWeight.w400, - fontSize: 12, - color: const DigitColors().white - - ), + fontWeight: FontWeight.w400, + fontSize: 12, + color: Theme.of(context).colorTheme.paper.primary, + ), textAlign: TextAlign.start, ) ], diff --git a/frontend/works_shg_app/lib/widgets/mb/back_button.dart b/frontend/works_shg_app/lib/widgets/mb/back_button.dart index 45dc26866c..26a0c08f5d 100644 --- a/frontend/works_shg_app/lib/widgets/mb/back_button.dart +++ b/frontend/works_shg_app/lib/widgets/mb/back_button.dart @@ -1,4 +1,7 @@ import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/digit_components.dart'; +import 'package:digit_ui_components/theme/ComponentTheme/button_theme.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:flutter/material.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' @@ -14,6 +17,10 @@ class IconBackButton extends StatelessWidget { @override Widget build(BuildContext context) { + // return Button( + + // prefixIcon: icon, + // label: AppLocalizations.of(context).translate(i18.common.back) ?? 'Back', onPressed: action!, type: ButtonType.tertiary, size: ButtonSize.large); return DigitIconButton( iconTextColor: iconTextColor, iconColor: iconColor, diff --git a/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart b/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart index 6a40858e1d..e9724bc64d 100644 --- a/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart +++ b/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart @@ -1,5 +1,8 @@ import 'package:digit_components/theme/digit_theme.dart'; import 'package:digit_components/widgets/digit_elevated_button.dart'; +import 'package:digit_ui_components/digit_components.dart'; +import 'package:digit_ui_components/enum/app_enums.dart'; +import 'package:digit_ui_components/widgets/atoms/digit_divider.dart'; import 'package:flutter/material.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' @@ -12,7 +15,14 @@ class FloatActionCard extends StatelessWidget { final String? subtext; final String amount; final bool showAction; - const FloatActionCard({super.key, required this.openButtonSheet, required this.actions, required this.totalAmountText, this.subtext, required this.amount, required this.showAction}); + const FloatActionCard( + {super.key, + required this.openButtonSheet, + required this.actions, + required this.totalAmountText, + this.subtext, + required this.amount, + required this.showAction}); @override Widget build(BuildContext context) { @@ -28,73 +38,74 @@ class FloatActionCard extends StatelessWidget { // margin: const EdgeInsets.symmetric(horizontal: 8), child: IntrinsicHeight( - child: Padding( - padding: const EdgeInsets.only(left:8.0,top: 8.0,right: 8.0,bottom: 0.0), - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - const Center( - child: SizedBox( - width: 100, - child: Divider( - thickness: 5, - ), - ), + padding: const EdgeInsets.only( + left: 8.0, top: 8.0, right: 8.0, bottom: 0.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Center( + child: SizedBox( + width: 100, + child: DigitDivider( + dividerType: DividerType.large, ), - GestureDetector( - onTap: openButtonSheet, - child: Container( - height: 100, - width: MediaQuery.sizeOf(context).width, - padding: const EdgeInsets.symmetric( - horizontal: 8.0, vertical: 0.0), - // decoration: BoxDecoration( - // border: Border.all(color: Colors.grey), - // borderRadius: BorderRadius.circular(8), - // ), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Expanded( - flex: 6, - child: RichText( - text: TextSpan( - text: '$totalAmountText \n', - style: DigitTheme.instance.mobileTheme.textTheme - .headlineMedium, - children: [ - TextSpan( - text: subtext??"", - style: DigitTheme.instance.mobileTheme - .textTheme.bodySmall, - - ) - ]), - ), - ), - Expanded( - flex: 2, - child: Text( - - amount, - style: DigitTheme - .instance.mobileTheme.textTheme.headlineMedium, - textAlign: TextAlign.end, - ), - ), - ], + ), + ), + GestureDetector( + onTap: openButtonSheet, + child: Container( + height: 100, + width: MediaQuery.sizeOf(context).width, + padding: const EdgeInsets.symmetric( + horizontal: 8.0, vertical: 0.0), + // decoration: BoxDecoration( + // border: Border.all(color: Colors.grey), + // borderRadius: BorderRadius.circular(8), + // ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + flex: 6, + child: RichText( + text: TextSpan( + text: '$totalAmountText \n', + style: Theme.of(context).textTheme.headlineMedium, + children: [ + TextSpan( + text: subtext ?? "", + style: Theme.of(context).textTheme.bodySmall, + ) + ]), + ), ), - ), + Expanded( + flex: 2, + child: Text( + amount, + style: Theme.of(context).textTheme.headlineMedium, + textAlign: TextAlign.end, + ), + ), + ], ), - showAction? - IntrinsicHeight( - child: DigitElevatedButton( - onPressed: actions, - child: Text(t.translate(i18.measurementBook.mbAction),),), - ):const SizedBox.shrink(), - ], + ), ), - ))); + showAction + ? Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: Button( + mainAxisSize: MainAxisSize.max, + label: t.translate(i18.measurementBook.mbAction), + onPressed: actions, + type: ButtonType.primary, + size: ButtonSize.large, + ), + ) + : const SizedBox.shrink(), + ], + ), + ))); } -} \ No newline at end of file +} diff --git a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart index e5bc777a40..0c5f8982ce 100644 --- a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart +++ b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart @@ -146,22 +146,36 @@ class _HorizontalCardListDialogState extends State { controller: _scrollController, scrollDirection: Axis.horizontal, itemBuilder: (BuildContext context, int index) { - return Padding( - padding: const EdgeInsets.only(right: 4.0), - child: CardWidget( - backward: () { - _scrollBackward(); - }, - forward: () { - _scrollForward(); - }, - filteredMeasurementsMeasure: lineItems![index], - type: widget.type, - viewMode: value.viewStatus, - noOfUnit: widget.noOfUnit, - cummulativePrevQty: widget.cummulativePrevQty, - index: index, - ), + return AnimatedBuilder( + animation: _scrollController, + builder: (context, child) { + double scale = 1.0; + if (_scrollController.position.haveDimensions) { + double pageOffset = _scrollController.page! - index; + scale = (1 - (pageOffset.abs() * 0.2)).clamp(0.9, 1.0); + } + + return Transform.scale( + scale: scale, + child: Padding( + padding: const EdgeInsets.only(right: 4.0), + child: CardWidget( + backward: () { + _scrollBackward(); + }, + forward: () { + _scrollForward(); + }, + filteredMeasurementsMeasure: lineItems![index], + type: widget.type, + viewMode: value.viewStatus, + noOfUnit: widget.noOfUnit, + cummulativePrevQty: widget.cummulativePrevQty, + index: index, + ), + ), + ); + }, ); }, itemCount: lineItems?.length, diff --git a/frontend/works_shg_app/macos/Flutter/GeneratedPluginRegistrant.swift b/frontend/works_shg_app/macos/Flutter/GeneratedPluginRegistrant.swift index d79b320c77..442212273e 100644 --- a/frontend/works_shg_app/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/frontend/works_shg_app/macos/Flutter/GeneratedPluginRegistrant.swift @@ -7,6 +7,7 @@ import Foundation import file_selector_macos import flutter_secure_storage_macos +import geolocator_apple import location import package_info_plus import path_provider_foundation @@ -15,6 +16,7 @@ import url_launcher_macos func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin")) + GeolocatorPlugin.register(with: registry.registrar(forPlugin: "GeolocatorPlugin")) LocationPlugin.register(with: registry.registrar(forPlugin: "LocationPlugin")) FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) diff --git a/frontend/works_shg_app/pubspec.yaml b/frontend/works_shg_app/pubspec.yaml index f31a57e048..79c356a3c1 100644 --- a/frontend/works_shg_app/pubspec.yaml +++ b/frontend/works_shg_app/pubspec.yaml @@ -38,12 +38,13 @@ dependencies: # ref: main-parallel # path: ./packages/digit_components digit_components: ^1.0.0+9 + digit_ui_components: ^0.0.1+5 universal_html: ^2.2.4 csslib: ^1.0.0 flutter_secure_storage: ^9.2.2 easy_stepper: ^0.5.2+1 url_strategy: ^0.2.0 - url_launcher: ^6.3.0 + url_launcher: ^6.2.6 flutter_bloc: ^8.1.6 auto_route: ^7.9.2 freezed_annotation: ^2.4.4 @@ -69,7 +70,7 @@ dependencies: image_picker: ^1.0.8 mime: ^1.0.5 http_parser: ^4.0.2 - http: ^0.13.6 + http: ^1.0.0 path_provider: ^2.1.3 charset_converter: ^2.2.0 path: ^1.8.3 @@ -102,8 +103,8 @@ dev_dependencies: dart_mappable_builder: ^4.2.3 json_serializable: ^6.8.0 retrofit_generator: ^8.1.2 - dart_code_metrics: ^5.7.6 - mocktail: ^1.0.4 + #dart_code_metrics: ^5.7.6 + #mocktail: ^1.0.4 flutter_launcher_icons: ^0.13.1 # The "flutter_lints" package below contains a set of recommended lints to diff --git a/frontend/works_shg_app/pubspec_overrides.yaml b/frontend/works_shg_app/pubspec_overrides.yaml new file mode 100644 index 0000000000..ddbf3083a3 --- /dev/null +++ b/frontend/works_shg_app/pubspec_overrides.yaml @@ -0,0 +1,6 @@ +dependency_overrides: + digit_ui_components: + git: + url: https://github.com/egovernments/DIGIT-UI-LIBRARIES + ref: enhancement-branch-flutter + path: ./flutter/digit-ui-components/digit_components diff --git a/frontend/works_shg_app/windows/flutter/generated_plugin_registrant.cc b/frontend/works_shg_app/windows/flutter/generated_plugin_registrant.cc index ad6d95c5cf..b6b3b7eb8c 100644 --- a/frontend/works_shg_app/windows/flutter/generated_plugin_registrant.cc +++ b/frontend/works_shg_app/windows/flutter/generated_plugin_registrant.cc @@ -9,6 +9,7 @@ #include #include #include +#include #include #include @@ -19,6 +20,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { registry->GetRegistrarForPlugin("FileSelectorWindows")); FlutterSecureStorageWindowsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin")); + GeolocatorWindowsRegisterWithRegistrar( + registry->GetRegistrarForPlugin("GeolocatorWindows")); PermissionHandlerWindowsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin")); UrlLauncherWindowsRegisterWithRegistrar( diff --git a/frontend/works_shg_app/windows/flutter/generated_plugins.cmake b/frontend/works_shg_app/windows/flutter/generated_plugins.cmake index 5d4e0868c3..aef2246b76 100644 --- a/frontend/works_shg_app/windows/flutter/generated_plugins.cmake +++ b/frontend/works_shg_app/windows/flutter/generated_plugins.cmake @@ -6,6 +6,7 @@ list(APPEND FLUTTER_PLUGIN_LIST charset_converter file_selector_windows flutter_secure_storage_windows + geolocator_windows permission_handler_windows url_launcher_windows ) From a9742bfec2a8708d2166a2b2c05ac3d42e947a28 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Sat, 17 Aug 2024 17:35:53 +0530 Subject: [PATCH 150/292] UI in progress --- frontend/works_shg_app/lib/main.dart | 3 +- .../lib/pages/attendance_register_table.dart | 1 + .../lib/pages/bills/my_bills.dart | 1 + .../lib/pages/employee/mb_config_warning.dart | 334 ++++++++++-------- .../lib/pages/employee/mb_detail_page.dart | 9 +- .../lib/pages/employee/mb_filter_page.dart | 1 + .../lib/pages/employee/mb_history.dart | 127 ++++--- .../lib/pages/employee/mb_inbox.dart | 4 +- .../lib/pages/employee/mb_muster_screen.dart | 1 + .../employee/workOrder/wo_filter_page.dart | 2 + .../workOrder/work_order_details.dart | 1 + .../employee/workOrder/work_order_inbox.dart | 1 + frontend/works_shg_app/lib/pages/home.dart | 1 + frontend/works_shg_app/lib/pages/login.dart | 1 + .../works_shg_app/lib/pages/org_profile.dart | 1 + .../lib/pages/otp_verification.dart | 1 + .../service_requests/service_requests.dart | 1 + .../works_shg_app/lib/pages/shg_inbox.dart | 1 + .../create_time_extension.dart | 1 + .../track_attendance_inbox.dart | 2 + .../lib/pages/track_attendance.dart | 1 + .../lib/pages/view_muster_rolls.dart | 1 + .../register_individual.dart | 1 + .../pages/work_order/view_work_details.dart | 1 + .../lib/pages/work_order/work_order.dart | 1 + .../lib/widgets/mb/sor_item_add_mb.dart | 12 +- .../lib/widgets/mb/work_flow_button_list.dart | 33 +- .../lib/widgets/molecules/success_page.dart | 3 +- 28 files changed, 326 insertions(+), 221 deletions(-) diff --git a/frontend/works_shg_app/lib/main.dart b/frontend/works_shg_app/lib/main.dart index 841b580da4..928cc9848c 100644 --- a/frontend/works_shg_app/lib/main.dart +++ b/frontend/works_shg_app/lib/main.dart @@ -3,7 +3,8 @@ import 'dart:io'; import 'dart:isolate'; import 'dart:ui'; -import 'package:digit_components/theme/digit_theme.dart'; +// import 'package:digit_components/theme/digit_theme.dart'; +import 'package:digit_ui_components/digit_components.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/frontend/works_shg_app/lib/pages/attendance_register_table.dart b/frontend/works_shg_app/lib/pages/attendance_register_table.dart index 50282e66b3..7990e8c451 100644 --- a/frontend/works_shg_app/lib/pages/attendance_register_table.dart +++ b/frontend/works_shg_app/lib/pages/attendance_register_table.dart @@ -168,6 +168,7 @@ class _AttendanceRegisterTablePage extends State { ), ), appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: Theme.of(context).iconTheme.copyWith( color: Theme.of(context) .colorTheme diff --git a/frontend/works_shg_app/lib/pages/bills/my_bills.dart b/frontend/works_shg_app/lib/pages/bills/my_bills.dart index b22e844e4b..44cf7b9fa6 100644 --- a/frontend/works_shg_app/lib/pages/bills/my_bills.dart +++ b/frontend/works_shg_app/lib/pages/bills/my_bills.dart @@ -58,6 +58,7 @@ class _MyBillsPage extends State { var t = AppLocalizations.of(context); return Scaffold( appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), diff --git a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart index 22dd5d5415..ba271bfc8f 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart @@ -1,4 +1,10 @@ -import 'package:digit_components/digit_components.dart'; + import 'package:digit_components/digit_components.dart'; +import 'package:digit_components/widgets/molecules/digit_loader.dart'; +import 'package:digit_ui_components/digit_components.dart' as ui_component; +import 'package:digit_ui_components/enum/app_enums.dart'; +import 'package:digit_ui_components/models/models.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; +import 'package:digit_ui_components/widgets/widgets.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:reactive_forms/reactive_forms.dart'; @@ -50,7 +56,7 @@ class MBTypeConfirmationPage extends StatefulWidget { class _MBTypeConfirmationPageState extends State { List? photo; List supportDocument = []; - HRMSEmployee? selectedAssignee; + String? selectedAssignee; var comment = TextEditingController(); String hrmsKey = "hrmsKey"; @@ -139,19 +145,23 @@ class _MBTypeConfirmationPageState extends State { ).popUntil( (route) => route is! PopupRoute, ); - Notifiers.getToastMessage( - context, - value.error.toString(), - 'ERROR', - ); + + + + ui_component. Toast.showToast(context, message: value.error.toString(), type:ui_component. ToastType.error); }, ); }, child: Scaffold( - backgroundColor: const DigitColors().white, + backgroundColor: Colors.white, appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme - .copyWith(color: const DigitColors().white), + backgroundColor: const Color(0xff0B4B66), + iconTheme:Theme.of(context).iconTheme.copyWith( + color: Theme.of(context) + .colorTheme + .paper.primary + + ), titleSpacing: 0, title: const AppBarLogo(), ), @@ -177,7 +187,7 @@ class _MBTypeConfirmationPageState extends State { return Padding( // padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.only(left:8.0,right: 8.0,top:0.0,bottom: 0.0), - child: ScrollableContent( + child: ui_component.ScrollableContent( backgroundColor: Colors.transparent, mainAxisAlignment: MainAxisAlignment.start, @@ -188,90 +198,90 @@ class _MBTypeConfirmationPageState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - SizedBox( - width: MediaQuery.sizeOf(context).width, - child: DigitElevatedButton( - child: Text( - widget.nextActions!.action == - "EDIT/RE-SUBMIT" - ? t.translate("WORKS_FORWARD") - : t.translate( - "WF_MODAL_SUBMIT_MB_${widget.nextActions!.action!}"), - ), - onPressed: () { - if (widget.nextActions!.action == - "REJECT" && - comment.text == "") { - Notifiers.getToastMessage( - context, - // AppLocalizations.of(context) - // .translate(i18.login.invalidOTP), - - t.translate(i18 - .common.allFieldsMandatory), - 'ERROR', - ); - } else { - List> sorList = [ - value.sor!, - value.nonSor! - ]; - MBDetailResponse kkk = - MBLogic.getMbPayloadUpdate( - data: value.data, - sorList: sorList, - workFlow: WorkFlow( - action: widget - .nextActions!.action, - comment: comment.text, - assignees: - selectedAssignee != null + Button( + mainAxisSize: MainAxisSize.max, + size: ButtonSize.large, + type: ButtonType.primary, + label: + widget.nextActions!.action == + "EDIT/RE-SUBMIT" + ? t.translate("WORKS_FORWARD") + : t.translate( + "WF_MODAL_SUBMIT_MB_${widget.nextActions!.action!}"), + + onPressed: () { + if (widget.nextActions!.action == + "REJECT" && + comment.text == "") { + Notifiers.getToastMessage( + context, + // AppLocalizations.of(context) + // .translate(i18.login.invalidOTP), + + t.translate(i18 + .common.allFieldsMandatory), + 'ERROR', + ); + } else { + List> sorList = [ + value.sor!, + value.nonSor! + ]; + MBDetailResponse kkk = + MBLogic.getMbPayloadUpdate( + data: value.data, + sorList: sorList, + workFlow: WorkFlow( + action: widget + .nextActions!.action, + comment: comment.text, + assignees: + selectedAssignee != null + ? selectedAssignee + != + null + ? [ + selectedAssignee! + + ] + : null + : null, + documents: supportDocument, + ), + type: widget.type, + ); + + context + .read() + .add( + MeasurementUpdateBlocEvent( + measurement: + kkk.measurement!, + tenantId: '', + workFlow: WorkFlow( + action: widget + .nextActions! + .action, + comment: comment.text, + assignees: selectedAssignee != + null ? selectedAssignee - ?.uuid != + != null ? [ selectedAssignee! - .uuid! + ] : null : null, - documents: supportDocument, - ), - type: widget.type, - ); - - context - .read() - .add( - MeasurementUpdateBlocEvent( - measurement: - kkk.measurement!, - tenantId: '', - workFlow: WorkFlow( - action: widget - .nextActions! - .action, - comment: comment.text, - assignees: selectedAssignee != - null - ? selectedAssignee - ?.uuid != - null - ? [ - selectedAssignee! - .uuid! - ] - : null - : null, - documents: - supportDocument, - ), - type: widget.type, + documents: + supportDocument, ), - ); - } - }, - ), + type: widget.type, + ), + ); + } + }, ), SizedBox( width: MediaQuery.sizeOf(context).width, @@ -337,36 +347,53 @@ class _MBTypeConfirmationPageState extends State { null && value.hrmsEmployee! .isNotEmpty) { - return DigitDropdown< + return ui_component.DigitDropdown< HRMSEmployee>( - formControlName: hrmsKey, - onChanged: (value) { - setState(() { + valueMapper:value + .hrmsEmployee!.map((e) => ValueMapper(code: e.uuid!, name: t.translate(e + .employeeUser!.name + .toString()))).toList() , + onSelect:(p0) { + setState(() { selectedAssignee = - value; + p0.code!; }); - }, - initialValue: - selectedAssignee, - label: t.translate( - "WF_MODAL_APPROVER"), - menuItems: value + }, + items: value .hrmsEmployee! - .map((e) => e) - .toList(), - valueMapper: (value) { - if (value.employeeUser != - null) { - return t.translate(value - .employeeUser!.name - .toString()); - } else { - return t.translate(value - .code - .toString()); - } - }, - ); + .map((e) => DropdownItem(name: e.employeeUser!.name!, code: e.uuid!)).toList() + ) ; + + // DigitDropdown< + // HRMSEmployee>( + // formControlName: hrmsKey, + // onChanged: (value) { + // setState(() { + // selectedAssignee = + // value; + // }); + // }, + // initialValue: + // selectedAssignee, + // label: t.translate( + // "WF_MODAL_APPROVER"), + // menuItems: value + // .hrmsEmployee! + // .map((e) => e) + // .toList(), + // valueMapper: (value) { + // if (value.employeeUser != + // null) { + // return t.translate(value + // .employeeUser!.name + // .toString()); + // } else { + // return t.translate(value + // .code + // .toString()); + // } + // }, + // ); } else { return const SizedBox .shrink(); @@ -457,7 +484,7 @@ class _MBTypeConfirmationPageState extends State { } else { return Padding( padding: const EdgeInsets.all(8.0), - child: ScrollableContent( + child: ui_component. ScrollableContent( backgroundColor: Colors.transparent, mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center, @@ -499,11 +526,11 @@ class _MBTypeConfirmationPageState extends State { comment: comment.text, assignees: selectedAssignee != null - ? selectedAssignee?.uuid != + ? selectedAssignee != null ? [ selectedAssignee! - .uuid! + ] : null : null, @@ -532,11 +559,11 @@ class _MBTypeConfirmationPageState extends State { selectedAssignee != null ? selectedAssignee - ?.uuid != + != null ? [ selectedAssignee! - .uuid! + ] : null : null, @@ -609,36 +636,53 @@ class _MBTypeConfirmationPageState extends State { null && value.hrmsEmployee! .isNotEmpty) { - return DigitDropdown< + + return ui_component.DigitDropdown< HRMSEmployee>( - onChanged: (value) { - setState(() { + valueMapper:value + .hrmsEmployee!.map((e) => ValueMapper(code: e.uuid!, name: t.translate(e + .employeeUser!.name + .toString()))).toList() , + onSelect:(p0) { + setState(() { selectedAssignee = - value; + p0.code!; }); - }, - initialValue: - selectedAssignee, - label: t.translate( - "WF_MODAL_APPROVER"), - menuItems: value + }, + items: value .hrmsEmployee! - .map((e) => e) - .toList(), - formControlName: hrmsKey, - valueMapper: (value) { - if (value.employeeUser != - null) { - return t.translate(value - .employeeUser!.name - .toString()); - } else { - return t.translate(value - .code - .toString()); - } - }, - ); + .map((e) => DropdownItem(name: e.employeeUser!.userName!, code: e.uuid!)).toList() + ) ; + // return DigitDropdown< + // HRMSEmployee>( + // onChanged: (value) { + // setState(() { + // selectedAssignee = + // value; + // }); + // }, + // initialValue: + // selectedAssignee, + // label: t.translate( + // "WF_MODAL_APPROVER"), + // menuItems: value + // .hrmsEmployee! + // .map((e) => e) + // .toList(), + // formControlName: hrmsKey, + // valueMapper: (value) { + // if (value.employeeUser != + // null) { + // return t.translate(value + // .employeeUser!.name + // .toString()); + // } else { + // return t.translate(value + // .code + // .toString()); + // } + // }, + // ); } else { return const SizedBox .shrink(); @@ -734,6 +778,6 @@ class _MBTypeConfirmationPageState extends State { } FormGroup detailBuildForm() => fb.group({ - hrmsKey: FormControl(value: selectedAssignee), + //hrmsKey: FormControl(value: selectedAssignee), }); } diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index adebb0049f..0d29ce90d2 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -6,7 +6,7 @@ import 'package:digit_ui_components/widgets/atoms/digit_divider.dart'; import 'package:digit_ui_components/widgets/atoms/digit_toast.dart'; import 'package:digit_ui_components/widgets/atoms/label_value_list.dart'; import 'package:digit_ui_components/widgets/molecules/digit_card.dart' - as uiComponent; + as ui_component; import 'package:collection/collection.dart'; import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/widgets/widgets.dart'; @@ -564,6 +564,7 @@ class _MBDetailPageState extends State ), backgroundColor: const DigitColors().seaShellGray, appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: DigitTheme.instance.mobileTheme.iconTheme .copyWith(color: const DigitColors().white), titleSpacing: 0, @@ -1498,7 +1499,7 @@ class _MBDetailPageState extends State .toStringAsFixed(4); }); - return uiComponent.DigitCard( + return ui_component.DigitCard( margin: const EdgeInsets.only(top: 0, bottom: 8, left: 8, right: 8), cardType: CardType.primary, children: [ @@ -1773,7 +1774,7 @@ class _MBDetailPageState extends State height: 15, ), Container( - height: 80, + //height: 80, width: MediaQuery.sizeOf(context).width, decoration: BoxDecoration( //color: Colors.red, @@ -1835,7 +1836,7 @@ class _MBDetailPageState extends State onPressed: () { Navigator.of(context).pop(); if (widget.type == MBScreen.update) { - DigitActionDialog.show( + DigitActionDialog.show( context, widget: CommonButtonCard( g: processInstances, diff --git a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart index a7a1a0dda7..6552e40ebe 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart @@ -131,6 +131,7 @@ class _MBFilterPageState extends State { return Scaffold( backgroundColor: const DigitColors().white, appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: Theme.of(context).iconTheme.copyWith( color: Theme.of(context).colorTheme.paper.primary), diff --git a/frontend/works_shg_app/lib/pages/employee/mb_history.dart b/frontend/works_shg_app/lib/pages/employee/mb_history.dart index 10f41b15b0..47fa6fbe87 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_history.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_history.dart @@ -2,6 +2,13 @@ import 'package:digit_components/theme/colors.dart'; import 'package:digit_components/theme/digit_theme.dart'; import 'package:digit_components/widgets/atoms/digit_action_dialog.dart'; import 'package:digit_components/widgets/digit_elevated_button.dart'; +import 'package:digit_ui_components/digit_components.dart' as ui_component; +import 'package:digit_ui_components/enum/app_enums.dart'; +import 'package:digit_ui_components/theme/ComponentTheme/button_theme.dart'; +import 'package:digit_ui_components/widgets/atoms/label_value_list.dart'; +import 'package:digit_ui_components/widgets/molecules/digit_card.dart'; +import 'package:digit_ui_components/widgets/molecules/digit_card.dart'; +import 'package:digit_ui_components/widgets/widgets.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:intl/intl.dart'; @@ -190,6 +197,7 @@ class _MBHistoryBookPageState extends State { ), backgroundColor: const DigitColors().seaShellGray, appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: DigitTheme.instance.mobileTheme.iconTheme .copyWith(color: const DigitColors().white), titleSpacing: 0, @@ -222,7 +230,6 @@ class _MBHistoryBookPageState extends State { context.router.maybePopTop(); }, ), - Padding( padding: const EdgeInsets.only(left: 8.0), child: Text( @@ -243,51 +250,68 @@ class _MBHistoryBookPageState extends State { final adjustedIndex = widget.type == MBScreen.update ? index : index; if (adjustedIndex <= k.length) { - return CommonMBCard( - padding: const EdgeInsets.only( - left: 8.0, - top: 8.0, - right: 8.0, - bottom: 8.0), - headLabel: - "${DateFormat('dd/MM/yyyy').format(DateTime.fromMillisecondsSinceEpoch(k[adjustedIndex].startDate!))} - ${DateFormat('dd/MM/yyyy').format(DateTime.fromMillisecondsSinceEpoch(k[adjustedIndex].endDate!))}", - items: { - t.translate(i18.measurementBook.mbNumber): - k[adjustedIndex].mbNumber, - t.translate(i18.common.date): - DateFormat('dd/MM/yyyy').format( - DateTime.fromMillisecondsSinceEpoch( - k[adjustedIndex].entryDate!)), - t.translate(i18.measurementBook.mbAmount): - k[adjustedIndex].totalAmount != null - ? double.parse((k[adjustedIndex] - .totalAmount!) - .toString()) - .toStringAsFixed(2) - : '0.00', - // t.translate(i18.measurementBook.mbStatus): - // k[adjustedIndex].wfStatus, - }, - widget: (k[adjustedIndex].musterRollNumber == - null || - k[adjustedIndex] - .musterRollNumber - .toString() == - "") - ? const SizedBox.shrink() - : CommonTextButtonUnderline( - label: t.translate(i18.home.musterRoll), - onPressed: () { - context.router + return DigitCard( + margin: const EdgeInsets.all(8.0), + cardType: CardType.primary, + children: [ + LabelValueList( + maxLines: 3, + labelFlex: 5, + valueFlex: 5, + items: [ + LabelValuePair( + label: t.translate( + i18.measurementBook.mbNumber), + value: k[adjustedIndex].mbNumber ?? + ""), + LabelValuePair( + label: t.translate(i18.common.date), + value: DateFormat('dd/MM/yyyy') + .format(DateTime + .fromMillisecondsSinceEpoch( + k[adjustedIndex] + .entryDate!))), + LabelValuePair( + label: t.translate( + i18.measurementBook.mbAmount), + value: k[adjustedIndex] + .totalAmount != + null + ? double.parse((k[adjustedIndex] + .totalAmount!) + .toString()) + .toStringAsFixed(2) + : '0.00'), + LabelValuePair( + label: t.translate( + i18.measurementBook.mbStatus), + value: k[adjustedIndex].wfStatus ?? + ""), + ]), + (k[adjustedIndex].musterRollNumber == null || + k[adjustedIndex] + .musterRollNumber + .toString() == + "") + ? const SizedBox.shrink() + : Button( + + label: + t.translate(i18.home.musterRoll), + onPressed: () { + context.router .push(MBMusterScreenRoute( musterRollNumber: k[adjustedIndex] .musterRollNumber .toString(), tenantId: widget.tenantId!, )); - }, - ), - showSla: false, showStatus: true, status: k[adjustedIndex].wfStatus??'', + }, + type: ButtonType.tertiary, + size: ButtonSize.medium), + ], + + // showSla: false, showStatus: true, status: k[adjustedIndex].wfStatus??'', ); } else { return null; // Return null for the skipped item @@ -327,7 +351,6 @@ class _MBHistoryBookPageState extends State { builder: (BuildContext context) { return Padding( padding: const EdgeInsets.only( - left: 16.0, right: 16.0, top: 16.0, bottom: 0.0), child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -393,10 +416,7 @@ class _MBHistoryBookPageState extends State { DigitTheme.instance.mobileTheme.textTheme.bodySmall, ), trailing: Text( - totalNonSorAmount - .toDouble() - .toStringAsFixed(2) - , + totalNonSorAmount.toDouble().toStringAsFixed(2), style: DigitTheme .instance.mobileTheme.textTheme.headlineMedium, ), @@ -407,7 +427,7 @@ class _MBHistoryBookPageState extends State { height: 15, ), Container( - height: 80, + // height: 80, width: MediaQuery.sizeOf(context).width, decoration: BoxDecoration( //color: Colors.red, @@ -460,9 +480,11 @@ class _MBHistoryBookPageState extends State { height: 15, ), showBtn - ? IntrinsicHeight( - child: DigitElevatedButton( - child: Text(t.translate(i18.measurementBook.mbAction)), + ? Padding( + padding: const EdgeInsets.only(bottom: 8.0), + child: ui_component.Button( + mainAxisSize: MainAxisSize.max, + label: t.translate(i18.measurementBook.mbAction), onPressed: () { Navigator.of(context).pop(); DigitActionDialog.show( @@ -474,8 +496,11 @@ class _MBHistoryBookPageState extends State { type: widget.type, ), ); - }), - ) + }, + type: ButtonType.primary, + size: ButtonSize.large, + ), + ) : const SizedBox.shrink(), ], ), diff --git a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart index 03f1f774a3..0b97bd967a 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart @@ -179,7 +179,9 @@ class _MeasurementBookInboxPageState extends State { }, ), appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme + backgroundColor: const Color(0xff0B4B66), + + iconTheme: DigitTheme.instance.mobileTheme.iconTheme .copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), diff --git a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart index 3693b0fc06..9364830f1a 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart @@ -82,6 +82,7 @@ class _MBMusterScreenPageState extends State { builder: (context, localState) { return Scaffold( appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: DigitTheme.instance.mobileTheme.iconTheme .copyWith(color: const DigitColors().white), titleSpacing: 0, diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart index 2aea4aa2e9..9ba03fcdca 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart @@ -114,6 +114,7 @@ class _WOFilterPageState extends State { loaded: (organization) { return Scaffold( appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: DigitTheme.instance.mobileTheme.iconTheme .copyWith(color: const DigitColors().white), titleSpacing: 0, @@ -302,6 +303,7 @@ class _WOFilterPageState extends State { loading: () { return Scaffold( appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: DigitTheme.instance.mobileTheme.iconTheme .copyWith(color: const DigitColors().white), titleSpacing: 0, diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart index 6e1289ed0e..89275d1821 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart @@ -50,6 +50,7 @@ class _WorkOrderDetailPageState extends State { ), ), appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart index 1e7fb55911..8a35b01abe 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart @@ -182,6 +182,7 @@ class _WorkOderInboxPageState extends State { FloatingActionButtonLocation.centerDocked, backgroundColor: const DigitColors().seaShellGray, appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: DigitTheme.instance.mobileTheme.iconTheme .copyWith(color: const DigitColors().white), titleSpacing: 0, diff --git a/frontend/works_shg_app/lib/pages/home.dart b/frontend/works_shg_app/lib/pages/home.dart index 1fef53ec3c..0ccf930483 100644 --- a/frontend/works_shg_app/lib/pages/home.dart +++ b/frontend/works_shg_app/lib/pages/home.dart @@ -66,6 +66,7 @@ class _HomePage extends State { var t = AppLocalizations.of(context); return Scaffold( appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: Theme.of(context).iconTheme.copyWith( color: Theme.of(context) .colorTheme diff --git a/frontend/works_shg_app/lib/pages/login.dart b/frontend/works_shg_app/lib/pages/login.dart index f81d9a817d..49c30934db 100644 --- a/frontend/works_shg_app/lib/pages/login.dart +++ b/frontend/works_shg_app/lib/pages/login.dart @@ -332,6 +332,7 @@ class _LoginPageState extends State length: 2, child: Scaffold( appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: Theme.of(context).iconTheme.copyWith( color: Theme.of(context) .colorTheme diff --git a/frontend/works_shg_app/lib/pages/org_profile.dart b/frontend/works_shg_app/lib/pages/org_profile.dart index 883a1a2d33..1f045f8e3f 100644 --- a/frontend/works_shg_app/lib/pages/org_profile.dart +++ b/frontend/works_shg_app/lib/pages/org_profile.dart @@ -63,6 +63,7 @@ class _ORGProfilePage extends State { var t = AppLocalizations.of(context); return Scaffold( appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: Theme.of(context).iconTheme.copyWith( color: Theme.of(context) .colorTheme diff --git a/frontend/works_shg_app/lib/pages/otp_verification.dart b/frontend/works_shg_app/lib/pages/otp_verification.dart index 95808bf4a1..6a18e373b7 100644 --- a/frontend/works_shg_app/lib/pages/otp_verification.dart +++ b/frontend/works_shg_app/lib/pages/otp_verification.dart @@ -56,6 +56,7 @@ class _OTPVerificationPage extends State { '{mobileNumber}', '+91 - ${widget.mobileNumber}'); return Scaffold( appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 16, title: const AppBarLogo(), diff --git a/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart b/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart index 8279c6edad..a382467347 100644 --- a/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart +++ b/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart @@ -62,6 +62,7 @@ class _MyServiceRequestsPage extends State { var t = AppLocalizations.of(context); return Scaffold( appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), diff --git a/frontend/works_shg_app/lib/pages/shg_inbox.dart b/frontend/works_shg_app/lib/pages/shg_inbox.dart index d46c84a0dc..c354f0f34d 100644 --- a/frontend/works_shg_app/lib/pages/shg_inbox.dart +++ b/frontend/works_shg_app/lib/pages/shg_inbox.dart @@ -160,6 +160,7 @@ class _SHGInboxPage extends State { builder: (context, localState) { return Scaffold( appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), diff --git a/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart b/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart index 5f1d707b84..83f52ee006 100644 --- a/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart +++ b/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart @@ -90,6 +90,7 @@ class _CreateTimeExtensionRequestPage }, child: Scaffold( appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), diff --git a/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart b/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart index 00e4e30e65..48f19ba81c 100644 --- a/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart +++ b/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart @@ -54,6 +54,8 @@ class _TrackAttendanceInboxPage extends State { builder: (context, localState) { return Scaffold( appBar: AppBar( + + backgroundColor: const Color(0xff0B4B66), iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), diff --git a/frontend/works_shg_app/lib/pages/track_attendance.dart b/frontend/works_shg_app/lib/pages/track_attendance.dart index d531af8c8a..7f9e1efd16 100644 --- a/frontend/works_shg_app/lib/pages/track_attendance.dart +++ b/frontend/works_shg_app/lib/pages/track_attendance.dart @@ -148,6 +148,7 @@ class _TrackAttendancePage extends State { builder: (context, localState) { return Scaffold( appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), diff --git a/frontend/works_shg_app/lib/pages/view_muster_rolls.dart b/frontend/works_shg_app/lib/pages/view_muster_rolls.dart index 953eff06f7..73538f6569 100644 --- a/frontend/works_shg_app/lib/pages/view_muster_rolls.dart +++ b/frontend/works_shg_app/lib/pages/view_muster_rolls.dart @@ -57,6 +57,7 @@ class _ViewMusterRollsPage extends State { builder: (context, localState) { return Scaffold( appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart index 801a446dc3..d8ca13dd3e 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart @@ -106,6 +106,7 @@ class RegisterIndividualPageState extends State { builder: (context, localState) { return Scaffold( appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), diff --git a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart index 966602332d..b7e3a2b3fc 100644 --- a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart +++ b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart @@ -119,6 +119,7 @@ class _ViewWorkDetailsPage extends State { }, child: Scaffold( appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), diff --git a/frontend/works_shg_app/lib/pages/work_order/work_order.dart b/frontend/works_shg_app/lib/pages/work_order/work_order.dart index 2b8061370a..b22279b188 100644 --- a/frontend/works_shg_app/lib/pages/work_order/work_order.dart +++ b/frontend/works_shg_app/lib/pages/work_order/work_order.dart @@ -70,6 +70,7 @@ class _WorkOrderPage extends State { var t = AppLocalizations.of(context); return Scaffold( appBar: AppBar( + backgroundColor: const Color(0xff0B4B66), iconTheme: Theme.of(context).iconTheme.copyWith( color: Theme.of(context) .colorTheme diff --git a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart index 0c5f8982ce..b57f88cf3e 100644 --- a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart +++ b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart @@ -1,5 +1,7 @@ import 'package:auto_route/auto_route.dart'; import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/digit_components.dart' as ui_component; +import 'package:digit_ui_components/enum/app_enums.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/employee/mb/mb_detail_view.dart'; @@ -193,7 +195,8 @@ class _HorizontalCardListDialogState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Expanded( - child: DigitOutLineButton( + child: ui_component.Button( + mainAxisSize: MainAxisSize.max, label: t.translate(i18.common.close), onPressed: () { context @@ -205,14 +208,15 @@ class _HorizontalCardListDialogState extends State { type: widget.type, )); context.router.maybePopTop(); - }, + }, type: ButtonType.secondary, size: ButtonSize.large, ), ), const SizedBox( width: 10, ), Expanded( - child: ElevatedButton( + child: ui_component.Button( + mainAxisSize: MainAxisSize.max, onPressed: () { //SubmitLineEvent context.read().add( @@ -224,7 +228,7 @@ class _HorizontalCardListDialogState extends State { type: widget.type)); // Navigator.of(context).pop(); }, - child: Text(t.translate(i18.common.submit)), + label: t.translate(i18.common.submit), type: ButtonType.primary, size: ButtonSize.large, ), ), ], diff --git a/frontend/works_shg_app/lib/widgets/mb/work_flow_button_list.dart b/frontend/works_shg_app/lib/widgets/mb/work_flow_button_list.dart index 7aee176c98..0da7ff399b 100644 --- a/frontend/works_shg_app/lib/widgets/mb/work_flow_button_list.dart +++ b/frontend/works_shg_app/lib/widgets/mb/work_flow_button_list.dart @@ -1,5 +1,6 @@ import 'package:digit_components/widgets/digit_outline_button.dart'; import 'package:digit_components/widgets/molecules/digit_loader.dart'; +import 'package:digit_ui_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/employee/mb/mb_crud.dart'; @@ -56,14 +57,15 @@ class CommonButtonCard extends StatelessWidget { ).popUntil( (route) => route is! PopupRoute, ); - Notifiers.getToastMessage( - context, - // AppLocalizations.of(context) - // .translate(i18.login.invalidOTP), + // Notifiers.getToastMessage( + // context, + // // AppLocalizations.of(context) + // // .translate(i18.login.invalidOTP), - value.error.toString(), - 'ERROR', - ); + // value.error.toString(), + // 'ERROR', + // ); + Toast.showToast(context, message: value.error.toString(), type: ToastType.error); }, ); }, @@ -76,20 +78,21 @@ class CommonButtonCard extends StatelessWidget { child: Container( color: Colors.transparent, height: type == MBScreen.update - ? g!.first.nextActions!.length.toDouble() * 55.0 + ? g!.first.nextActions!.length.toDouble() * 45.0 : bs!.first.workflowState!.first.actions!.length .toDouble() * - 55.0, + 45.0, width: MediaQuery.sizeOf(context).width, child: Center( child: type == MBScreen.update ? ListView.builder( - + itemBuilder: (context, index) { String editReSubmit = "EDIT_RE_SUBMIT"; return Padding( padding: const EdgeInsets.only(bottom:4.0), - child: DigitOutLineButton( + child: Button( + mainAxisSize: MainAxisSize.max, label: g!.first.nextActions![index].action == "EDIT/RE-SUBMIT" ? t.translate("WF_MB_ACTION_$editReSubmit") @@ -203,7 +206,8 @@ class CommonButtonCard extends StatelessWidget { ); } } - }, + }, type: ButtonType.secondary, + size: ButtonSize.large, ), ); }, @@ -215,7 +219,7 @@ class CommonButtonCard extends StatelessWidget { String editReSubmit = "CREATE"; return Padding( padding: const EdgeInsets.only(bottom:4.0), - child: DigitOutLineButton( + child: Button( label: bs!.first.workflowState!.first .actions![index].action == "CREATE" @@ -299,7 +303,8 @@ class CommonButtonCard extends StatelessWidget { ), ); } - }, + }, type: ButtonType.secondary, + size: ButtonSize.large, ), ); }, diff --git a/frontend/works_shg_app/lib/widgets/molecules/success_page.dart b/frontend/works_shg_app/lib/widgets/molecules/success_page.dart index 7772e32b3a..376c61aeda 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/success_page.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/success_page.dart @@ -67,11 +67,12 @@ class SuccessResponsePage extends StatelessWidget { ), appBar: isWithoutLogin ? AppBar( - + backgroundColor: const Color(0xff0B4B66), title: const Text('MuktaSoft'), automaticallyImplyLeading: false, ) : AppBar( + backgroundColor: const Color(0xff0B4B66), titleSpacing: 0, title: const AppBarLogo(), ), From 6d5034be43c02bcb8c91fe59c8a061b64cfdd448 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Mon, 19 Aug 2024 16:38:01 +0530 Subject: [PATCH 151/292] work order card detail in progress --- .../lib/pages/employee/mb_config_warning.dart | 224 ++-- .../lib/pages/employee/mb_history.dart | 68 +- .../lib/pages/employee/mb_inbox.dart | 8 +- .../employee/workOrder/work_order_inbox.dart | 314 ++--- .../pages/work_order/view_work_details.dart | 1136 ++++++++--------- .../lib/widgets/atoms/button_group.dart | 130 +- .../lib/widgets/mb/sor_item_add_mb.dart | 146 +-- .../lib/widgets/work_details_card.dart | 17 +- .../widgets/work_order/work_order_card.dart | 95 +- 9 files changed, 1052 insertions(+), 1086 deletions(-) diff --git a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart index ba271bfc8f..44a4149424 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart @@ -1,4 +1,4 @@ - import 'package:digit_components/digit_components.dart'; +import 'package:digit_components/digit_components.dart'; import 'package:digit_components/widgets/molecules/digit_loader.dart'; import 'package:digit_ui_components/digit_components.dart' as ui_component; import 'package:digit_ui_components/enum/app_enums.dart'; @@ -145,23 +145,20 @@ class _MBTypeConfirmationPageState extends State { ).popUntil( (route) => route is! PopupRoute, ); - - - ui_component. Toast.showToast(context, message: value.error.toString(), type:ui_component. ToastType.error); + ui_component.Toast.showToast(context, + message: value.error.toString(), + type: ui_component.ToastType.error); }, ); }, child: Scaffold( - backgroundColor: Colors.white, + backgroundColor: Colors.white, appBar: AppBar( backgroundColor: const Color(0xff0B4B66), - iconTheme:Theme.of(context).iconTheme.copyWith( - color: Theme.of(context) - .colorTheme - .paper.primary - - ), + iconTheme: Theme.of(context) + .iconTheme + .copyWith(color: Theme.of(context).colorTheme.paper.primary), titleSpacing: 0, title: const AppBarLogo(), ), @@ -186,14 +183,15 @@ class _MBTypeConfirmationPageState extends State { if (widget.type == MBScreen.update) { return Padding( // padding: const EdgeInsets.all(8.0), - padding: const EdgeInsets.only(left:8.0,right: 8.0,top:0.0,bottom: 0.0), + padding: const EdgeInsets.only( + left: 8.0, right: 8.0, top: 0.0, bottom: 0.0), child: ui_component.ScrollableContent( - - backgroundColor: Colors.transparent, + backgroundColor: Colors.transparent, mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center, footer: Padding( - padding: const EdgeInsets.only(top:0.0,bottom: 5.0), + padding: const EdgeInsets.only( + top: 0.0, bottom: 5.0), child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -202,13 +200,11 @@ class _MBTypeConfirmationPageState extends State { mainAxisSize: MainAxisSize.max, size: ButtonSize.large, type: ButtonType.primary, - label: - widget.nextActions!.action == - "EDIT/RE-SUBMIT" - ? t.translate("WORKS_FORWARD") - : t.translate( - "WF_MODAL_SUBMIT_MB_${widget.nextActions!.action!}"), - + label: widget.nextActions!.action == + "EDIT/RE-SUBMIT" + ? t.translate("WORKS_FORWARD") + : t.translate( + "WF_MODAL_SUBMIT_MB_${widget.nextActions!.action!}"), onPressed: () { if (widget.nextActions!.action == "REJECT" && @@ -217,7 +213,7 @@ class _MBTypeConfirmationPageState extends State { context, // AppLocalizations.of(context) // .translate(i18.login.invalidOTP), - + t.translate(i18 .common.allFieldsMandatory), 'ERROR', @@ -232,25 +228,20 @@ class _MBTypeConfirmationPageState extends State { data: value.data, sorList: sorList, workFlow: WorkFlow( - action: widget - .nextActions!.action, + action: + widget.nextActions!.action, comment: comment.text, - assignees: - selectedAssignee != null - ? selectedAssignee - != - null - ? [ - selectedAssignee! - - ] - : null - : null, + assignees: selectedAssignee != + null + ? selectedAssignee != null + ? [selectedAssignee!] + : null + : null, documents: supportDocument, ), type: widget.type, ); - + context .read() .add( @@ -260,20 +251,18 @@ class _MBTypeConfirmationPageState extends State { tenantId: '', workFlow: WorkFlow( action: widget - .nextActions! - .action, + .nextActions!.action, comment: comment.text, - assignees: selectedAssignee != - null - ? selectedAssignee - != + assignees: + selectedAssignee != null - ? [ - selectedAssignee! - - ] - : null - : null, + ? selectedAssignee != + null + ? [ + selectedAssignee! + ] + : null + : null, documents: supportDocument, ), @@ -283,15 +272,18 @@ class _MBTypeConfirmationPageState extends State { } }, ), - SizedBox( - width: MediaQuery.sizeOf(context).width, - child: DigitOutLineButton( - label: t.translate( - i18.measurementBook.mbCancel), - onPressed: () { - context.router.maybePopTop(); - }, - ), + const SizedBox( + height: 4, + ), + Button( + mainAxisSize: MainAxisSize.max, + label: t.translate( + i18.measurementBook.mbCancel), + onPressed: () { + context.router.maybePopTop(); + }, + type: ButtonType.secondary, + size: ButtonSize.large, ), ], ), @@ -312,8 +304,10 @@ class _MBTypeConfirmationPageState extends State { CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.start, children: [ - SizedBox(width: MediaQuery.sizeOf(context).width*0.9, - + SizedBox( + width: + MediaQuery.sizeOf(context).width * + 0.9, child: Text( widget.nextActions!.action == "EDIT/RE-SUBMIT" @@ -323,8 +317,8 @@ class _MBTypeConfirmationPageState extends State { "WF_MB_ACTION_${widget.nextActions!.action}"), style: DigitTheme.instance.mobileTheme .textTheme.headlineLarge, - overflow: TextOverflow.clip, - maxLines: 1, + overflow: TextOverflow.clip, + maxLines: 1, ), ), ], @@ -348,22 +342,30 @@ class _MBTypeConfirmationPageState extends State { value.hrmsEmployee! .isNotEmpty) { return ui_component.DigitDropdown< - HRMSEmployee>( - valueMapper:value - .hrmsEmployee!.map((e) => ValueMapper(code: e.uuid!, name: t.translate(e - .employeeUser!.name - .toString()))).toList() , - onSelect:(p0) { - setState(() { - selectedAssignee = - p0.code!; - }); - }, - items: value - .hrmsEmployee! - .map((e) => DropdownItem(name: e.employeeUser!.name!, code: e.uuid!)).toList() - ) ; - + HRMSEmployee>( + valueMapper: value + .hrmsEmployee! + .map((e) => ValueMapper( + code: e.uuid!, + name: t.translate(e + .employeeUser! + .name + .toString()))) + .toList(), + onSelect: (p0) { + setState(() { + selectedAssignee = + p0.code!; + }); + }, + items: value.hrmsEmployee! + .map((e) => DropdownItem( + name: e + .employeeUser! + .name!, + code: e.uuid!)) + .toList()); + // DigitDropdown< // HRMSEmployee>( // formControlName: hrmsKey, @@ -473,7 +475,6 @@ class _MBTypeConfirmationPageState extends State { child: Text(t.translate( i18.common.photoInfo)), ), - ], ), ) @@ -484,13 +485,13 @@ class _MBTypeConfirmationPageState extends State { } else { return Padding( padding: const EdgeInsets.all(8.0), - child: ui_component. ScrollableContent( + child: ui_component.ScrollableContent( backgroundColor: Colors.transparent, mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center, footer: Padding( padding: const EdgeInsets.only( - top: 0.0,bottom: 5.0), + top: 0.0, bottom: 5.0), child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -526,12 +527,8 @@ class _MBTypeConfirmationPageState extends State { comment: comment.text, assignees: selectedAssignee != null - ? selectedAssignee != - null - ? [ - selectedAssignee! - - ] + ? selectedAssignee != null + ? [selectedAssignee!] : null : null, documents: supportDocument, @@ -558,12 +555,10 @@ class _MBTypeConfirmationPageState extends State { assignees: selectedAssignee != null - ? selectedAssignee - != + ? selectedAssignee != null ? [ selectedAssignee! - ] : null : null, @@ -609,7 +604,9 @@ class _MBTypeConfirmationPageState extends State { mainAxisAlignment: MainAxisAlignment.start, children: [ SizedBox( - width: MediaQuery.sizeOf(context).width*0.9, + width: + MediaQuery.sizeOf(context).width * + 0.9, child: Text( widget.stateActions!.action == "SUBMIT" @@ -619,8 +616,8 @@ class _MBTypeConfirmationPageState extends State { "WF_MB_ACTION_${widget.stateActions!.action}"), style: DigitTheme.instance.mobileTheme .textTheme.headlineLarge, - overflow: TextOverflow.clip, - maxLines: 1, + overflow: TextOverflow.clip, + maxLines: 1, ), ), ], @@ -636,23 +633,30 @@ class _MBTypeConfirmationPageState extends State { null && value.hrmsEmployee! .isNotEmpty) { - - return ui_component.DigitDropdown< - HRMSEmployee>( - valueMapper:value - .hrmsEmployee!.map((e) => ValueMapper(code: e.uuid!, name: t.translate(e - .employeeUser!.name - .toString()))).toList() , - onSelect:(p0) { - setState(() { - selectedAssignee = - p0.code!; - }); - }, - items: value - .hrmsEmployee! - .map((e) => DropdownItem(name: e.employeeUser!.userName!, code: e.uuid!)).toList() - ) ; + return ui_component.DigitDropdown< + HRMSEmployee>( + valueMapper: value + .hrmsEmployee! + .map((e) => ValueMapper( + code: e.uuid!, + name: t.translate(e + .employeeUser! + .name + .toString()))) + .toList(), + onSelect: (p0) { + setState(() { + selectedAssignee = + p0.code!; + }); + }, + items: value.hrmsEmployee! + .map((e) => DropdownItem( + name: e + .employeeUser! + .userName!, + code: e.uuid!)) + .toList()); // return DigitDropdown< // HRMSEmployee>( // onChanged: (value) { diff --git a/frontend/works_shg_app/lib/pages/employee/mb_history.dart b/frontend/works_shg_app/lib/pages/employee/mb_history.dart index 47fa6fbe87..b461b1cfb2 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_history.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_history.dart @@ -4,7 +4,10 @@ import 'package:digit_components/widgets/atoms/digit_action_dialog.dart'; import 'package:digit_components/widgets/digit_elevated_button.dart'; import 'package:digit_ui_components/digit_components.dart' as ui_component; import 'package:digit_ui_components/enum/app_enums.dart'; +import 'package:digit_ui_components/theme/ComponentTheme/back_button_theme.dart'; import 'package:digit_ui_components/theme/ComponentTheme/button_theme.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; +import 'package:digit_ui_components/widgets/atoms/digit_back_button.dart'; import 'package:digit_ui_components/widgets/atoms/label_value_list.dart'; import 'package:digit_ui_components/widgets/molecules/digit_card.dart'; import 'package:digit_ui_components/widgets/molecules/digit_card.dart'; @@ -222,14 +225,60 @@ class _MBHistoryBookPageState extends State { mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ - IconBackButton( - iconTextColor: const DigitColors().black, - iconColor: const DigitColors().black, - icon: Icons.arrow_left, - action: () { - context.router.maybePopTop(); - }, - ), + Padding( + padding: const EdgeInsets.only( + left: 0.0, bottom: 8.0, top: 8.0, right: 8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + BackNavigationButton( + backNavigationButtonThemeData: + const BackNavigationButtonThemeData() + .copyWith( + textColor: Theme.of(context) + .colorTheme + .primary + .primary2, + contentPadding: EdgeInsets.zero, + context: context, + backButtonIcon: Icon( + Icons.arrow_left, + // size: MediaQuery.of(context) + // .size + // .width < + // 500 + // ? Theme.of(context) + // .spacerTheme + // .spacer5 + // : Theme.of(context) + // .spacerTheme + // .spacer6, + color: Theme.of(context) + .colorTheme + .primary + .primary2, + ), + ), + backButtonText: + AppLocalizations.of(context) + .translate(i18.common.back) ?? + 'Back', + handleBack: () { + context.router.maybePopTop(); + }, + ), + ], + ), + ), + // IconBackButton( + // iconTextColor: const DigitColors().black, + // iconColor: const DigitColors().black, + // icon: Icons.arrow_left, + // action: () { + // context.router.maybePopTop(); + // }, + // ), Padding( padding: const EdgeInsets.only(left: 8.0), child: Text( @@ -251,10 +300,11 @@ class _MBHistoryBookPageState extends State { widget.type == MBScreen.update ? index : index; if (adjustedIndex <= k.length) { return DigitCard( + margin: const EdgeInsets.all(8.0), cardType: CardType.primary, children: [ - LabelValueList( + LabelValueList(heading: "${DateFormat('dd/MM/yyyy').format(DateTime.fromMillisecondsSinceEpoch(k[adjustedIndex].startDate!))} - ${DateFormat('dd/MM/yyyy').format(DateTime.fromMillisecondsSinceEpoch(k[adjustedIndex].endDate!))}", maxLines: 3, labelFlex: 5, valueFlex: 5, diff --git a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart index 0b97bd967a..7aacb7dc33 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart @@ -181,8 +181,12 @@ class _MeasurementBookInboxPageState extends State { appBar: AppBar( backgroundColor: const Color(0xff0B4B66), - iconTheme: DigitTheme.instance.mobileTheme.iconTheme - .copyWith(color: const DigitColors().white), + iconTheme: Theme.of(context).iconTheme.copyWith( + color: Theme.of(context) + .colorTheme + .paper.primary + + ), titleSpacing: 0, title: const AppBarLogo(), ), diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart index 8a35b01abe..032f5b4d5c 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart @@ -1,4 +1,10 @@ import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/digit_components.dart' as ui_component; +import 'package:digit_ui_components/enum/app_enums.dart'; +import 'package:digit_ui_components/theme/ComponentTheme/back_button_theme.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; +import 'package:digit_ui_components/widgets/atoms/digit_back_button.dart'; +import 'package:digit_ui_components/widgets/atoms/digit_button.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_svg/svg.dart'; @@ -158,10 +164,22 @@ class _WorkOderInboxPageState extends State { shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(20), side: BorderSide( - color: const DigitColors().burningOrange), + color: Theme.of(context) + .colorTheme + .primary + .primary1), ), ), - label: Text(t.translate(i18.measurementBook.backToTop)), + label: Text( + t.translate(i18.measurementBook.backToTop), + style: Theme.of(context) + .digitTextTheme(context) + .bodyL + .copyWith( + color: + Theme.of(context).colorTheme.primary.primary1, + ), + ), onPressed: () { _scrollController.animateTo( 0.0, @@ -183,8 +201,9 @@ class _WorkOderInboxPageState extends State { backgroundColor: const DigitColors().seaShellGray, appBar: AppBar( backgroundColor: const Color(0xff0B4B66), - iconTheme: DigitTheme.instance.mobileTheme.iconTheme - .copyWith(color: const DigitColors().white), + iconTheme: Theme.of(context) + .iconTheme + .copyWith(color: Theme.of(context).colorTheme.paper.primary), titleSpacing: 0, title: const AppBarLogo(), ), @@ -213,100 +232,106 @@ class _WorkOderInboxPageState extends State { mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Back( - callback: () { - context.router.maybePopTop(); - }, + Padding( + padding: const EdgeInsets.only( + left: 8.0, + bottom: 8.0, + top: 8.0, + right: 8.0), + child: Row( + mainAxisAlignment: + MainAxisAlignment.start, + children: [ + BackNavigationButton( + backNavigationButtonThemeData: + const BackNavigationButtonThemeData() + .copyWith( + textColor: Theme.of(context) + .colorTheme + .primary + .primary2, + contentPadding: EdgeInsets.zero, + context: context, + backButtonIcon: Icon( + Icons.arrow_left, + color: Theme.of(context) + .colorTheme + .primary + .primary2, + ), + ), + backButtonText: AppLocalizations.of( + context) + .translate(i18.common.back) ?? + 'Back', + handleBack: () { + context.router.maybePop(); + }, + ), + ]), ), Padding( - padding: const EdgeInsets.only(left: 20.0), + padding: const EdgeInsets.only(left: 17.0), child: Text( "${t.translate(i18.measurementBook.workOrderInbox)} (${value.contracts?.length ?? 0})", style: DigitTheme.instance.mobileTheme .textTheme.headlineLarge, ), ), - // Padding( - // padding: const EdgeInsets.only( - // left: 20.0, top: 5.0), - // child: Text( - // t.translate(i18.measurementBook.searchHint), - // style: DigitTheme.instance.mobileTheme - // .textTheme.bodyLarge, - // ), - // ), Padding( padding: const EdgeInsets.only( - left: 4.0, right: 8.0, top: 2.0), + left: 4.0, + right: 8.0, + top: 4.0, + bottom: 0), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - TextButton.icon( - label: Text( - t.translate(i18.common.filter), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .labelLarge! - .copyWith( - color: const DigitColors() - .burningOrange, - ), - ), + ui_component.Button( + prefixIcon: Icons.filter_alt, + label: t.translate(i18.common.filter), onPressed: () { context.router .push(const WOFilterRoute()); }, - icon: const Icon( - Icons.filter_alt, - )), + type: + ui_component.ButtonType.tertiary, + size: ui_component.ButtonSize.large), + // reset - value.search - ? IconButton( - onPressed: () { - pageCount = 0; - context - .read() - .add( - WorkOrderInboxBlocCreateEvent( - businessService: "MB", - limit: 10, - moduleName: - 'contract-service', - offset: pageCount, - tenantId: - GlobalVariables - .tenantId!, - ), - ); - }, - icon: Icon( - Icons.restore_outlined, - color: const DigitColors() - .burningOrange, - ), - ) - : const SizedBox.shrink(), + //TODO: not needed + // value.search + // ? IconButton( + // onPressed: () { + // pageCount = 0; + // context + // .read() + // .add( + // WorkOrderInboxBlocCreateEvent( + // businessService: "MB", + // limit: 10, + // moduleName: + // 'contract-service', + // offset: pageCount, + // tenantId: + // GlobalVariables + // .tenantId!, + // ), + // ); + // }, + // icon: Icon( + // Icons.restore_outlined, + // color: const DigitColors() + // .burningOrange, + // ), + // ) + // : const SizedBox.shrink(), // - TextButton.icon( - label: Text( - t.translate( - i18.measurementBook.sort), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .labelLarge! - .copyWith( - color: const DigitColors() - .burningOrange, - ), - ), - - // color: const DigitColors() - // .burningOrange, + ui_component.Button( + prefixIcon: Icons.swap_vert, + label: t.translate( + i18.measurementBook.sort), onPressed: () { Conversion.openSortingModal( context, @@ -315,15 +340,16 @@ class _WorkOderInboxPageState extends State { sortType: SortType.woSort, ); }, - icon: - SvgPicture.asset(Constants.sort)), + type: + ui_component.ButtonType.tertiary, + size: ui_component.ButtonSize.large), ], ), ), ], ), ), - height: 170, + height: 140, ), ), value.contracts!.isEmpty @@ -357,7 +383,10 @@ class _WorkOderInboxPageState extends State { } return WorkOrderCard( - widget1: CommonTextButtonUnderline( + widget1: Button( + suffixIcon: Icons.arrow_forward_outlined, + size: ButtonSize.large, + type: ButtonType.link, label: t.translate(i18.common.viewDetails), onPressed: () { @@ -371,71 +400,68 @@ class _WorkOderInboxPageState extends State { )); }, ), - widget2: Padding( - padding: const EdgeInsets.only(top: 8.0), - child: BlocListener( - listener: (context, measureMentState) { - measureMentState.maybeMap( - orElse: () => - const SizedBox.shrink(), - loaded: (value) { + widget2: BlocListener( + listener: (context, measureMentState) { + measureMentState.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) { + if (value.estimateStatus == true && + value.existingMB == true) { + context.router.push(MBDetailRoute( + contractNumber: + value.workOrderNumber!, + mbNumber: "", + tenantId: + GlobalVariables.tenantId, + type: MBScreen.create, + )); + } else { if (value.estimateStatus == - true && - value.existingMB == true) { - context.router - .push(MBDetailRoute( - contractNumber: - value.workOrderNumber!, - mbNumber: "", - tenantId: - GlobalVariables.tenantId, - type: MBScreen.create, - )); + false) { + Notifiers.getToastMessage( + context, + t.translate(i18.workOrder + .estimateRevisionError), + 'ERROR'); } else { - if (value.estimateStatus == - false) { - Notifiers.getToastMessage( - context, - t.translate(i18.workOrder - .estimateRevisionError), - 'ERROR'); - } else { - Notifiers.getToastMessage( - context, - t.translate(i18.workOrder - .existingMBCreateError), - 'ERROR'); - } + Notifiers.getToastMessage( + context, + t.translate(i18.workOrder + .existingMBCreateError), + 'ERROR'); } - }, - error: (value) { - Notifiers.getToastMessage(context, - value.error!, 'ERROR'); - }, - ); - }, - child: DigitElevatedButton( - child: Text(t.translate( - i18.measurementBook.createMb)), - onPressed: () { - final contract = value - .contracts?[index] - .contractNumber ?? - ""; - - context - .read() - .add(MeasurementCheckEvent( - tenantId: value - .contracts![index] - .tenantId!, - contractNumber: contract, - measurementNumber: "", - screenType: MBScreen.create, - )); + } }, - ), + error: (value) { + Notifiers.getToastMessage( + context, value.error!, 'ERROR'); + }, + ); + }, + child: Button( + mainAxisSize: MainAxisSize.max, + size: ButtonSize.large, + type: ButtonType.primary, + label: t.translate( + i18.measurementBook.createMb), + onPressed: () { + final contract = value + .contracts?[index] + .contractNumber ?? + ""; + + context + .read() + .add(MeasurementCheckEvent( + tenantId: value + .contracts![index] + .tenantId!, + contractNumber: contract, + measurementNumber: "", + screenType: MBScreen.create, + )); + }, ), ), items: { @@ -507,7 +533,7 @@ class _WorkOderInboxPageState extends State { ); }, loading: (value) => - Center(child: shg_loader.Loaders.circularLoader(context)), + Center(child: shg_loader.Loaders.circularLoader(context)), ); }, ), diff --git a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart index b7e3a2b3fc..fc1b01d3d0 100644 --- a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart +++ b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart @@ -1,4 +1,15 @@ import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/digit_components.dart' as ui_component; +import 'package:digit_ui_components/enum/app_enums.dart'; +import 'package:digit_ui_components/theme/ComponentTheme/back_button_theme.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; +import 'package:digit_ui_components/widgets/atoms/digit_back_button.dart'; +import 'package:digit_ui_components/widgets/atoms/digit_back_button.dart'; +import 'package:digit_ui_components/widgets/atoms/pop_up_card.dart'; +import 'package:digit_ui_components/widgets/molecules/digit_card.dart' + as ui_card; +import 'package:digit_ui_components/widgets/widgets.dart'; +// import 'package:digit_ui_components/widgets/molecules/digit_card.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:intl/intl.dart'; @@ -110,17 +121,17 @@ class _ViewWorkDetailsPage extends State { if (GlobalVariables.roleType == RoleType.cbo) { context.router.popUntilRouteWithPath('home'); context.router.push(const WorkOrderRoute()); - } else { Navigator.of(context).pop(); // context.router.pop(); - } }, child: Scaffold( appBar: AppBar( backgroundColor: const Color(0xff0B4B66), - iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), + iconTheme: Theme.of(context) + .iconTheme + .copyWith(color: Theme.of(context).colorTheme.paper.primary), titleSpacing: 0, title: const AppBarLogo(), ), @@ -160,59 +171,54 @@ class _ViewWorkDetailsPage extends State { // } else // end if (value.estimateStatus == false) { - Notifiers.getToastMessage( - context, - t.translate( + // Notifiers.getToastMessage( + // context, + // t.translate( + // i18.workOrder.estimateRevisionError), + // 'ERROR'); + ui_component.Toast.showToast(context, + message: t.translate( i18.workOrder.estimateRevisionError), - 'ERROR'); + type: ui_component.ToastType.error); } else { - Notifiers.getToastMessage( - context, - t.translate( + // Notifiers.getToastMessage( + // context, + // t.translate( + // i18.workOrder.existingMBCreateError), + // 'ERROR'); + + ui_component.Toast.showToast(context, + message: t.translate( i18.workOrder.existingMBCreateError), - 'ERROR'); + type: ui_component.ToastType.error); } - } }, ); - - }, - child: SizedBox( - height: 60, - child: DigitCard( + child: ui_card.DigitCard( + cardType: CardType.primary, padding: const EdgeInsets.all(8.0), margin: const EdgeInsets.all(0), - child: DigitElevatedButton( - onPressed: () { - context - .read() - .add(MeasurementCheckEvent( - tenantId: GlobalVariables.tenantId!, - contractNumber: widget.contractNumber!, - measurementNumber: "", - screenType: MBScreen.create, - )); - }, - child: Center( - child: Padding( - padding: const EdgeInsets.symmetric( - vertical: 4.0, horizontal: 4.0), - child: Text( - t.translate( - i18.measurementBook.createMb), - textAlign: TextAlign.center, - style: TextStyle( - fontWeight: FontWeight.w400, - fontSize: 16, - color: DigitTheme - .instance.colorScheme.onPrimary, - ))), + children: [ + ui_component.Button( + mainAxisSize: MainAxisSize.max, + type: ButtonType.primary, + size: ButtonSize.large, + onPressed: () { + context + .read() + .add(MeasurementCheckEvent( + tenantId: GlobalVariables.tenantId!, + contractNumber: widget.contractNumber!, + measurementNumber: "", + screenType: MBScreen.create, + )); + }, + label: + t.translate(i18.measurementBook.createMb), ), - ), - ), - ), + ]), ) : cboBottomNavigationBar(t)); }, @@ -225,8 +231,8 @@ class _ViewWorkDetailsPage extends State { } // Content EMP - ScrollableContent empScrollableContent(AppLocalizations t) { - return ScrollableContent( + ui_component.ScrollableContent empScrollableContent(AppLocalizations t) { + return ui_component.ScrollableContent( children: [ BlocBuilder( builder: (context, localState) { @@ -237,8 +243,10 @@ class _ViewWorkDetailsPage extends State { orElse: () => false, initial: () => false, loading: () => shg_loader.Loaders.circularLoader(context), - error: (String? error) => Notifiers.getToastMessage( - context, error.toString(), 'ERROR'), + error: (String? error) => ui_component.Toast.showToast( + context, + message: error.toString(), + type: ToastType.error), loaded: (ContractsModel? contracts) { if (contracts?.contracts != null) { termsNCond = contracts!.contracts!.first @@ -418,13 +426,27 @@ class _ViewWorkDetailsPage extends State { Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Back( - backLabel: AppLocalizations.of(context) + BackNavigationButton( + backNavigationButtonThemeData: + const BackNavigationButtonThemeData() + .copyWith( + textColor: Theme.of(context) + .colorTheme + .primary + .primary2, + contentPadding: EdgeInsets.zero, + context: context, + backButtonIcon: Icon( + Icons.arrow_left, + color: Theme.of(context) + .colorTheme + .primary + .primary2, + ), + ), + backButtonText: AppLocalizations.of(context) .translate(i18.common.back), - callback: () { - // context.router.popUntilRouteWithPath('home') ; - // context.router.push(const WorkOrderRoute()); - + handleBack: () { if (GlobalVariables.roleType == RoleType.cbo) { context.router @@ -437,6 +459,25 @@ class _ViewWorkDetailsPage extends State { } }, ), + // Back( + // backLabel: AppLocalizations.of(context) + // .translate(i18.common.back), + // callback: () { + // // context.router.popUntilRouteWithPath('home') ; + // // context.router.push(const WorkOrderRoute()); + + // if (GlobalVariables.roleType == + // RoleType.cbo) { + // context.router + // .popUntilRouteWithPath('home'); + // context.router + // .push(const WorkOrderRoute()); + // } else { + // Navigator.of(context).pop(); + // // context.router.pop(); + // } + // }, + // ), CommonWidgets.downloadButton( AppLocalizations.of(context) .translate(i18.common.download), () { @@ -452,7 +493,7 @@ class _ViewWorkDetailsPage extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( - padding: const EdgeInsets.only( + padding: EdgeInsets.only( left: 8.0, right: 16.0, top: 16.0, @@ -464,25 +505,37 @@ class _ViewWorkDetailsPage extends State { textAlign: TextAlign.left, ), ), - DigitInfoCard( + Padding( + padding: EdgeInsets.all(8.0), + child: ui_component.InfoCard( title: AppLocalizations.of(context) .translate(i18.common.info), - titleStyle: DigitTheme.instance - .mobileTheme.textTheme.headlineMedium - ?.apply( - color: const DigitColors().black), + type: InfoType.info, description: AppLocalizations.of(context) .translate(i18.common.workOrderInfo), - descStyle: DigitTheme.instance.mobileTheme - .textTheme.bodyLarge - ?.apply( - color: const Color.fromRGBO( - 80, 90, 95, 1)), - icon: Icons.info, - iconColor: - const Color.fromRGBO(52, 152, 219, 1), - backgroundColor: - DigitTheme.instance.colorScheme.tertiaryContainer), + ), + ), + // TODO:[old info card] + // DigitInfoCard( + // title: AppLocalizations.of(context) + // .translate(i18.common.info), + // titleStyle: DigitTheme.instance + // .mobileTheme.textTheme.headlineMedium + // ?.apply( + // color: const DigitColors().black), + // description: AppLocalizations.of(context) + // .translate(i18.common.workOrderInfo), + // descStyle: DigitTheme.instance.mobileTheme + // .textTheme.bodyLarge + // ?.apply( + // color: const Color.fromRGBO( + // 80, 90, 95, 1)), + // icon: Icons.info, + // iconColor: + // const Color.fromRGBO(52, 152, 219, 1), + // backgroundColor: + // DigitTheme.instance.colorScheme.tertiaryContainer,), + workOrderList.isNotEmpty ? Column( children: [ @@ -514,15 +567,18 @@ class _ViewWorkDetailsPage extends State { .translate(i18.workOrder .timeLineDetails), ), - DigitCard( - child: Attachments( - t.translate(i18 - .workOrder.relevantDocuments), - attachedFiles, - )), + ui_card.DigitCard( + margin: EdgeInsets.all(8), + cardType: CardType.primary, + children: [ + Attachments( + t.translate(i18.workOrder + .relevantDocuments), + attachedFiles, + ) + ]), Padding( - padding: - const EdgeInsets.all(8.0), + padding: EdgeInsets.all(8.0), child: ButtonLink( t.translate(i18.common .viewTermsAndConditions), @@ -608,13 +664,22 @@ class _ViewWorkDetailsPage extends State { ?.contractNumber, )), error: (String? error) => - Notifiers - .getToastMessage( + // Notifiers + // .getToastMessage( + // context, + // error ?? 'ERR!', + // 'ERROR')); + ui_component + .Toast + .showToast( context, - error ?? 'ERR!', - 'ERROR')); + message: + error ?? + 'ERR!', + type: ToastType + .error)); }, - child: const SizedBox.shrink(), + child: SizedBox.shrink(), ), ], ) @@ -623,14 +688,14 @@ class _ViewWorkDetailsPage extends State { .workOrder.noWorkOrderAssigned), align: Alignment.center, ), - const SizedBox( + SizedBox( height: 16.0, ), - const Align( + Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit( - version: Constants.appVersion, - ), + child: ui_component.PoweredByDigit( + version: Constants.appVersion, + ), ) ]), ]); @@ -688,295 +753,6 @@ class _ViewWorkDetailsPage extends State { ); } - BlocBuilder empBottomNavigationBar( - AppLocalizations t) { - return BlocBuilder( - builder: (context, localState) { - return localState.maybeMap( - orElse: () => const SizedBox.shrink(), - loaded: (value) => - BlocBuilder( - builder: (context, workState) { - return workState.maybeWhen( - orElse: () => Container(), - loading: () => shg_loader.Loaders.circularLoader(context), - error: (String? error) => Notifiers.getToastMessage( - context, t.translate(error.toString()), 'ERROR'), - loaded: (ContractsModel? contracts) { - return workOrderList.isNotEmpty && - workOrderList.first['payload']['wfStatus'] == - "ACCEPTED" - // || workOrderList.first['payload'] - // ['wfStatus'] == - // "ACCEPTED" - ? SizedBox( - height: 100, - child: DigitCard( - padding: const EdgeInsets.all(8.0), - margin: const EdgeInsets.all(0), - child: Column( - children: [ - DigitElevatedButton( - onPressed: () { - context - .read() - .add( - WorkOrderAcceptEvent( - contractsModel: - workOrderList - .first['payload'], - action: 'ACCEPT', - comments: - 'Work Order has been accepted by CBO'), - ); - }, - child: Center( - child: Padding( - padding: - const EdgeInsets.symmetric( - vertical: 4.0, - horizontal: 4.0), - child: Text( - t.translate( - i18.common.accept), - textAlign: TextAlign.center, - style: TextStyle( - fontWeight: FontWeight.w400, - fontSize: 16, - color: DigitTheme.instance - .colorScheme.onPrimary, - ))), - ), - ), - Center( - child: Padding( - padding: const EdgeInsets.all(4.0), - child: ButtonLink( - t.translate(i18.common.decline), - () => DigitDialog.show(context, - options: DigitDialogOptions( - titleText: AppLocalizations - .of(context) - .translate( - i18.common.warning), - contentText: - AppLocalizations.of( - context) - .translate(i18 - .workOrder - .warningMsg), - primaryAction: - DigitDialogActions( - label: - AppLocalizations.of( - context) - .translate(i18 - .common - .confirm), - action: (BuildContext - context) { - context - .read< - DeclineWorkOrderBloc>() - .add( - WorkOrderDeclineEvent( - contractsModel: - workOrderList - .first[ - 'payload'], - action: - 'DECLINE', - comments: - 'Work Order has been declined by CBO'), - ); - Navigator.of(context, - rootNavigator: - true) - .pop(); - }, - ), - secondaryAction: - DigitDialogActions( - label: AppLocalizations - .of(context) - .translate( - i18.common.back), - action: (BuildContext - context) => - Navigator.of(context, - rootNavigator: - true) - .pop(), - ))), - align: Alignment.center, - textAlign: TextAlign.center, - ), - ), - ) - ], - )), - ) - : workOrderList.isNotEmpty && - workOrderList.first['payload']['wfStatus'] != - "ACCEPTED" - ? SizedBox( - height: 60, - child: DigitCard( - padding: const EdgeInsets.all(8.0), - margin: const EdgeInsets.all(0), - child: DigitElevatedButton( - onPressed: () => DigitActionDialog.show( - context, - widget: Center( - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - Padding( - padding: - const EdgeInsets.only( - bottom: 8.0), - child: DigitOutlineIconButton( - buttonStyle: OutlinedButton.styleFrom( - minimumSize: Size( - MediaQuery.of( - context) - .size - .width / - 2.8, - 50), - shape: - const RoundedRectangleBorder(), - side: BorderSide( - color: const DigitColors() - .burningOrange, - width: 1)), - onPressed: () { - context.router.push(AttendanceRegisterTableRoute( - registerId: (contracts - ?.contracts ?? - []) - .first - .additionalDetails - ?.attendanceRegisterNumber - .toString() ?? - ''.toString(), - tenantId: (contracts - ?.contracts ?? - []) - .first - .tenantId - .toString())); - Navigator.of(context, - rootNavigator: - true) - .pop(); - }, - label: AppLocalizations.of( - context) - .translate(i18.home - .manageWageSeekers), - icon: Icons.fingerprint, - textStyle: const TextStyle( - fontWeight: - FontWeight.w700, - fontSize: 18), - ), - ), - /*Padding( - padding: const EdgeInsets.only(bottom: 8.0), - child: DigitOutlineIconButton( - label: AppLocalizations.of(context) - .translate(i18.workOrder.projectClosure), - icon: Icons.cancel_outlined, - buttonStyle: OutlinedButton.styleFrom( - minimumSize: Size( - MediaQuery.of(context).size.width / 2.8, - 50), - shape: const RoundedRectangleBorder(), - side: BorderSide( - color: const DigitColors().burningOrange, - width: 1)), - onPressed: () => - Navigator.of(context, rootNavigator: true) - .pop(), - textStyle: const TextStyle( - fontWeight: FontWeight.w700, fontSize: 18), - ), - )*/ - DigitOutlineIconButton( - label: AppLocalizations.of( - context) - .translate(i18.workOrder - .requestTimeExtension), - icon: Icons - .calendar_today_rounded, - buttonStyle: OutlinedButton.styleFrom( - minimumSize: Size( - MediaQuery.of(context) - .size - .width / - 2.8, - 50), - shape: - const RoundedRectangleBorder(), - side: BorderSide( - color: - const DigitColors() - .burningOrange, - width: 1)), - onPressed: () { - Navigator.of(context, - rootNavigator: true) - .pop(); - context - .read< - ValidTimeExtCreationsSearchBloc>() - .add(SearchValidTimeExtCreationsEvent( - contract: contracts - ?.contracts - ?.first, - contractNo: (contracts - ?.contracts ?? - []) - .first - .contractNumber - .toString(), - tenantId: (contracts - ?.contracts ?? - []) - .first - .tenantId - .toString(), - status: - 'APPROVED')); - }, - textStyle: const TextStyle( - fontWeight: - FontWeight.w700, - fontSize: 18), - ) - ], - ), - )), - child: Center( - child: Text( - AppLocalizations.of(context) - .translate( - i18.common.takeAction), - style: Theme.of(context) - .textTheme - .titleMedium! - .apply(color: Colors.white)), - ), - ), - ), - ) - : Container(); - }); - })); - }); - } - BlocBuilder cboBottomNavigationBar( AppLocalizations t) { return BlocBuilder( @@ -1001,130 +777,149 @@ class _ViewWorkDetailsPage extends State { // || workOrderList.first['payload'] // ['wfStatus'] == // "ACCEPTED" - ? SizedBox( - height: 100, - child: DigitCard( - padding: const EdgeInsets.all(8.0), - margin: const EdgeInsets.all(0), - child: Column( - children: [ - DigitElevatedButton( - onPressed: () { - context - .read() - .add( - WorkOrderAcceptEvent( - contractsModel: - workOrderList - .first['payload'], - action: 'ACCEPT', - comments: - 'Work Order has been accepted by CBO'), - ); - }, - child: Center( - child: Padding( - padding: - const EdgeInsets.symmetric( - vertical: 4.0, - horizontal: 4.0), - child: Text( - t.translate( - i18.common.accept), - textAlign: TextAlign.center, - style: TextStyle( - fontWeight: - FontWeight.w400, - fontSize: 16, - color: DigitTheme - .instance - .colorScheme - .onPrimary, - ))), + ? ui_card.DigitCard( + cardType: CardType.primary, + padding: const EdgeInsets.all(8.0), + margin: const EdgeInsets.all(0), + children: [ + ui_component.Button( + mainAxisSize: MainAxisSize.max, + size: ButtonSize.large, + type: ButtonType.primary, + label: t.translate(i18.common.accept), + onPressed: () { + context.read().add( + WorkOrderAcceptEvent( + contractsModel: workOrderList + .first['payload'], + action: 'ACCEPT', + comments: + 'Work Order has been accepted by CBO'), + ); + }, + ), + // Center( + // child: Padding( + // padding: const EdgeInsets.all(4.0), + // child: ButtonLink( + // t.translate(i18.common.decline), + // () => DigitDialog.show(context, + // options: DigitDialogOptions( + // titleText: + // AppLocalizations.of(context) + // .translate( + // i18.common.warning), + // contentText: + // AppLocalizations.of(context) + // .translate(i18.workOrder + // .warningMsg), + // primaryAction: + // DigitDialogActions( + // label: AppLocalizations.of( + // context) + // .translate( + // i18.common.confirm), + // action: + // (BuildContext context) { + // context + // .read< + // DeclineWorkOrderBloc>() + // .add( + // WorkOrderDeclineEvent( + // contractsModel: + // workOrderList + // .first[ + // 'payload'], + // action: 'DECLINE', + // comments: + // 'Work Order has been declined by CBO'), + // ); + // Navigator.of(context, + // rootNavigator: true) + // .pop(); + // }, + // ), + // secondaryAction: + // DigitDialogActions( + // label: AppLocalizations.of( + // context) + // .translate( + // i18.common.back), + // action: + // (BuildContext context) => + // Navigator.of(context, + // rootNavigator: + // true) + // .pop(), + // ))), + // align: Alignment.center, + // textAlign: TextAlign.center, + // ), + // ), + // ), + ui_component.Button( + mainAxisSize: MainAxisSize.max, + label: t.translate(i18.common.decline), + onPressed: () { + DigitDialog.show( + context, + options: DigitDialogOptions( + titleText: AppLocalizations.of( + context) + .translate(i18.common.warning), + contentText: + AppLocalizations.of(context) + .translate( + i18.workOrder.warningMsg), + primaryAction: DigitDialogActions( + label: AppLocalizations.of(context) + .translate(i18.common.confirm), + action: (BuildContext context) { + context + .read() + .add( + WorkOrderDeclineEvent( + contractsModel: + workOrderList.first[ + 'payload'], + action: 'DECLINE', + comments: + 'Work Order has been declined by CBO'), + ); + Navigator.of(context, + rootNavigator: true) + .pop(); + }, ), - ), - Center( - child: Padding( - padding: const EdgeInsets.all(4.0), - child: ButtonLink( - t.translate(i18.common.decline), - () => DigitDialog.show(context, - options: DigitDialogOptions( - titleText: - AppLocalizations.of( - context) - .translate(i18 - .common - .warning), - contentText: - AppLocalizations.of( - context) - .translate(i18 - .workOrder - .warningMsg), - primaryAction: - DigitDialogActions( - label: - AppLocalizations.of( - context) - .translate(i18 - .common - .confirm), - action: (BuildContext - context) { - context - .read< - DeclineWorkOrderBloc>() - .add( - WorkOrderDeclineEvent( - contractsModel: - workOrderList.first[ - 'payload'], - action: - 'DECLINE', - comments: - 'Work Order has been declined by CBO'), - ); - Navigator.of(context, - rootNavigator: - true) - .pop(); - }, - ), - secondaryAction: - DigitDialogActions( - label: - AppLocalizations.of( - context) - .translate(i18 - .common - .back), - action: (BuildContext - context) => - Navigator.of( - context, - rootNavigator: - true) - .pop(), - ))), - align: Alignment.center, - textAlign: TextAlign.center, - ), + secondaryAction: DigitDialogActions( + label: AppLocalizations.of(context) + .translate(i18.common.back), + action: (BuildContext context) => + Navigator.of(context, + rootNavigator: true) + .pop(), ), - ) - ], - )), + ), + ); + }, + type: ButtonType.tertiary, + size: ButtonSize.large, + ), + ], ) : workOrderList.isNotEmpty && workOrderList.first['payload'] ['wfStatus'] != acceptCode - ? SizedBox( - height: 60, - child: DigitCard( - padding: const EdgeInsets.all(8.0), - margin: const EdgeInsets.all(0), - child: DigitElevatedButton( + ? ui_card.DigitCard( + cardType: CardType.primary, + padding: const EdgeInsets.all(8.0), + margin: const EdgeInsets.all(0), + children: [ + ui_component.Button( + mainAxisSize: MainAxisSize.max, + type: ButtonType.primary, + size: ButtonSize.large, onPressed: () => DigitActionDialog.show( context, widget: Center( @@ -1186,26 +981,26 @@ class _ViewWorkDetailsPage extends State { ), ), /*Padding( - padding: const EdgeInsets.only(bottom: 8.0), - child: DigitOutlineIconButton( - label: AppLocalizations.of(context) - .translate(i18.workOrder.projectClosure), - icon: Icons.cancel_outlined, - buttonStyle: OutlinedButton.styleFrom( - minimumSize: Size( - MediaQuery.of(context).size.width / 2.8, - 50), - shape: const RoundedRectangleBorder(), - side: BorderSide( - color: const DigitColors().burningOrange, - width: 1)), - onPressed: () => - Navigator.of(context, rootNavigator: true) - .pop(), - textStyle: const TextStyle( - fontWeight: FontWeight.w700, fontSize: 18), - ), - )*/ + padding: const EdgeInsets.only(bottom: 8.0), + child: DigitOutlineIconButton( + label: AppLocalizations.of(context) + .translate(i18.workOrder.projectClosure), + icon: Icons.cancel_outlined, + buttonStyle: OutlinedButton.styleFrom( + minimumSize: Size( + MediaQuery.of(context).size.width / 2.8, + 50), + shape: const RoundedRectangleBorder(), + side: BorderSide( + color: const DigitColors().burningOrange, + width: 1)), + onPressed: () => + Navigator.of(context, rootNavigator: true) + .pop(), + textStyle: const TextStyle( + fontWeight: FontWeight.w700, fontSize: 18), + ), + )*/ DigitOutlineIconButton( label: AppLocalizations.of( context) @@ -1262,20 +1057,12 @@ class _ViewWorkDetailsPage extends State { ], ), )), - child: Center( - child: Text( - AppLocalizations.of(context) - .translate( - i18.common.takeAction), - style: Theme.of(context) - .textTheme - .titleMedium! - .apply(color: Colors.white)), - ), + label: AppLocalizations.of(context) + .translate(i18.common.takeAction), ), - ), + ], ) - : Container(); + : const SizedBox.shrink(); }); })); }); @@ -1284,8 +1071,8 @@ class _ViewWorkDetailsPage extends State { // content CBO - ScrollableContent cboScrollableContent(AppLocalizations t) { - return ScrollableContent( + ui_component.ScrollableContent cboScrollableContent(AppLocalizations t) { + return ui_component.ScrollableContent( children: [ BlocListener( listener: (context, state) { @@ -1548,14 +1335,29 @@ class _ViewWorkDetailsPage extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Back( - backLabel: AppLocalizations.of( - context) - .translate(i18.common.back), - callback: () { - // context.router.popUntilRouteWithPath('home') ; - // context.router.push(const WorkOrderRoute()); - + BackNavigationButton( + backNavigationButtonThemeData: + const BackNavigationButtonThemeData() + .copyWith( + textColor: Theme.of(context) + .colorTheme + .primary + .primary2, + contentPadding: EdgeInsets.zero, + context: context, + backButtonIcon: Icon( + Icons.arrow_left, + color: Theme.of(context) + .colorTheme + .primary + .primary2, + ), + ), + backButtonText: + AppLocalizations.of(context) + .translate( + i18.common.back), + handleBack: () { if (GlobalVariables.roleType == RoleType.cbo) { context.router @@ -1565,10 +1367,32 @@ class _ViewWorkDetailsPage extends State { const WorkOrderRoute()); } else { Navigator.of(context).pop(); - } }, ), + + // Back( + + // backLabel: AppLocalizations.of( + // context) + // .translate(i18.common.back), + // callback: () { + // // context.router.popUntilRouteWithPath('home') ; + // // context.router.push(const WorkOrderRoute()); + + // if (GlobalVariables.roleType == + // RoleType.cbo) { + // context.router + // .popUntilRouteWithPath( + // 'home'); + // context.router.push( + // const WorkOrderRoute()); + // } else { + // Navigator.of(context).pop(); + // } + // }, + // ), + //TODO:[CBO download] CommonWidgets.downloadButton( AppLocalizations.of(context) @@ -1651,18 +1475,20 @@ class _ViewWorkDetailsPage extends State { context .read< WorkOrderPDFBloc>() - .add(PDFEventAnalysis( - estimateId: contracts - .first - .lineItems! - .first - .estimateId, - tenantId: contracts - .first - .tenantId, - workorder: widget - .contractNumber - ),); + .add( + PDFEventAnalysis( + estimateId: contracts + .first + .lineItems! + .first + .estimateId, + tenantId: + contracts + .first + .tenantId, + workorder: widget + .contractNumber), + ); Navigator.of( context, rootNavigator: true, @@ -1712,31 +1538,54 @@ class _ViewWorkDetailsPage extends State { textAlign: TextAlign.left, ), ), - DigitInfoCard( - title: AppLocalizations.of(context) - .translate( - i18.common.info), - titleStyle: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium - ?.apply( - color: const DigitColors() - .black), - description: - AppLocalizations.of(context) - .translate(i18.common - .workOrderInfo), - descStyle: DigitTheme - .instance - .mobileTheme - .textTheme - .bodyLarge - ?.apply(color: const Color.fromRGBO(80, 90, 95, 1)), - icon: Icons.info, - iconColor: const Color.fromRGBO(52, 152, 219, 1), - backgroundColor: DigitTheme.instance.colorScheme.tertiaryContainer), + + ui_component.InfoCard( + title: AppLocalizations.of( + context) + .translate(i18.common.info), + type: InfoType.info, + description: + AppLocalizations.of(context) + .translate(i18.common + .workOrderInfo), + ), +// TODO:[old info card] + + // DigitInfoCard( + // title: AppLocalizations.of( + // context) + // .translate(i18.common.info), + // titleStyle: DigitTheme + // .instance + // .mobileTheme + // .textTheme + // .headlineMedium + // ?.apply( + // color: + // const DigitColors() + // .black), + // description: + // AppLocalizations.of(context) + // .translate(i18.common + // .workOrderInfo), + // descStyle: DigitTheme + // .instance + // .mobileTheme + // .textTheme + // .bodyLarge + // ?.apply( + // color: const Color + // .fromRGBO( + // 80, 90, 95, 1)), + // icon: Icons.info, + // iconColor: const Color.fromRGBO( + // 52, 152, 219, 1), + // backgroundColor: DigitTheme + // .instance + // .colorScheme + // .tertiaryContainer, + // ), + workOrderList.isNotEmpty ? Column( children: [ @@ -1789,40 +1638,83 @@ class _ViewWorkDetailsPage extends State { t.translate(i18 .common .viewTermsAndConditions), - () => DigitDialog.show( - context, - options: DigitDialogOptions( - title: Text(t.translate(i18.common.termsAndConditions), style: const TextStyle(fontWeight: FontWeight.w700, fontSize: 24, fontFamily: 'Roboto Condensed', fontStyle: FontStyle.normal, color: Color.fromRGBO(11, 12, 12, 1))), - content: termsNCond.isNotEmpty - ? Column( - mainAxisAlignment: - MainAxisAlignment.start, - children: [ - for (var i = 0; i < termsNCond.length; i++) - Align( - alignment: Alignment.centerLeft, - child: Text( - '${i + 1}. ${termsNCond[i]}', - style: const TextStyle( - fontSize: 16, - fontWeight: FontWeight.w700, - ), - textAlign: TextAlign.start, - ), - ) - ], - ) - : EmptyImage( - align: - Alignment.center, - label: - t.translate(i18.common.noTermsNConditions), - ), - titlePadding: const EdgeInsets.all(8.0), - contentPadding: const EdgeInsets.all(8.0), - barrierDismissible: true, - primaryAction: DigitDialogActions(label: t.translate(i18.common.close), action: (context) => Navigator.of(context, rootNavigator: true).pop()), - isScrollable: true)), + () => DigitDialog + .show( + context, + options: + DigitDialogOptions( + title: Text( + t.translate(i18 + .common + .termsAndConditions), + style: const TextStyle( + fontWeight: + FontWeight + .w700, + fontSize: + 24, + fontFamily: + 'Roboto Condensed', + fontStyle: + FontStyle + .normal, + color: Color.fromRGBO( + 11, + 12, + 12, + 1))), + content: termsNCond + .isNotEmpty + ? Column( + mainAxisAlignment: + MainAxisAlignment.start, + children: [ + for (var i = 0; + i < termsNCond.length; + i++) + Align( + alignment: Alignment.centerLeft, + child: Text( + '${i + 1}. ${termsNCond[i]}', + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w700, + ), + textAlign: TextAlign.start, + ), + ) + ], + ) + : EmptyImage( + align: Alignment + .center, + label: t.translate(i18 + .common + .noTermsNConditions), + ), + titlePadding: + const EdgeInsets + .all( + 8.0), + contentPadding: + const EdgeInsets + .all( + 8.0), + barrierDismissible: + true, + primaryAction: DigitDialogActions( + label: t.translate(i18 + .common + .close), + action: (context) => Navigator.of( + context, + rootNavigator: + true) + .pop()), + isScrollable: + true, + ), + ), align: Alignment .centerLeft, ), @@ -1845,11 +1737,20 @@ class _ViewWorkDetailsPage extends State { contractNumber: contracts?.contractNumber, )), - error: (String? error) => Notifiers.getToastMessage( - context, - error ?? - 'ERR!', - 'ERROR')); + error: (String? + error) => + // Notifiers.getToastMessage( + // context, + // error ?? + // 'ERR!', + // 'ERROR')); + + ui_component.Toast.showToast( + context, + message: error ?? + 'ERR!', + type: + ToastType.error)); }, child: const SizedBox .shrink(), @@ -1868,9 +1769,10 @@ class _ViewWorkDetailsPage extends State { const Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit( - version: Constants.appVersion, - ), + child: + ui_component.PoweredByDigit( + version: Constants.appVersion, + ), ) ]), ]); diff --git a/frontend/works_shg_app/lib/widgets/atoms/button_group.dart b/frontend/works_shg_app/lib/widgets/atoms/button_group.dart index ae3dfd2c15..d5f6663966 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/button_group.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/button_group.dart @@ -1,68 +1,86 @@ import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/digit_components.dart'; import 'package:flutter/material.dart'; class ButtonGroup extends StatelessWidget { final String outlinedButtonLabel; final String elevatedButtonLabel; - final VoidCallback? elevatedCallBack; - final VoidCallback? outLinedCallBack; + final VoidCallback elevatedCallBack; + final VoidCallback outLinedCallBack; const ButtonGroup(this.outlinedButtonLabel, this.elevatedButtonLabel, - {this.outLinedCallBack, this.elevatedCallBack, super.key}); + { required this.outLinedCallBack, required this.elevatedCallBack, super.key}); @override Widget build(BuildContext context) { - return Container( - alignment: Alignment.centerLeft, - width: MediaQuery.of(context).size.width > 760 - ? MediaQuery.of(context).size.width / 1.5 - : MediaQuery.of(context).size.width / 1, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - SizedBox( - height: 35, - width: MediaQuery.of(context).size.width > 720 - ? MediaQuery.of(context).size.width / 3 - : MediaQuery.of(context).size.width / 2.5, - child: OutlinedButton( - onPressed: outLinedCallBack, - style: ButtonStyle( - alignment: Alignment.center, - padding: MaterialStateProperty.all( - const EdgeInsets.symmetric(vertical: 0.0, horizontal: 4.0)), - shape: MaterialStateProperty.all(RoundedRectangleBorder( - borderRadius: BorderRadius.circular(0.0), - side: BorderSide( - width: 2, color: DigitTheme.instance.colorScheme.primary), - )), - ), - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 4.0), - child: Text(outlinedButtonLabel, - style: TextStyle( - fontWeight: FontWeight.w400, - fontSize: 16, - color: DigitTheme.instance.colorScheme.primary))), - ), - ), - SizedBox( - height: 35, - width: MediaQuery.of(context).size.width > 720 - ? MediaQuery.of(context).size.width / 3 - : MediaQuery.of(context).size.width / 2.5, - child: DigitElevatedButton( - onPressed: elevatedCallBack, - child: Padding( - padding: - const EdgeInsets.symmetric(vertical: 0, horizontal: 4.0), - child: Text(elevatedButtonLabel, - style: TextStyle( - fontWeight: FontWeight.w400, - fontSize: 16, - color: DigitTheme.instance.colorScheme.onPrimary))), - ), - ) - ], - ), + return Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + flex: 5, + child: Button( + mainAxisSize: MainAxisSize.max, + label: outlinedButtonLabel, + onPressed: outLinedCallBack, + type: ButtonType.secondary, + size: ButtonSize.large), + ), + const Expanded( + flex: 2, + child: SizedBox(), + ), + Expanded( + flex: 5, + child: Button( + mainAxisSize: MainAxisSize.max, + label: elevatedButtonLabel, + onPressed: elevatedCallBack, + type: ButtonType.primary, + size: ButtonSize.large), + ), + + // SizedBox( + // height: 35, + // width: MediaQuery.of(context).size.width > 720 + // ? MediaQuery.of(context).size.width / 3 + // : MediaQuery.of(context).size.width / 2.5, + // child: OutlinedButton( + // onPressed: outLinedCallBack, + // style: ButtonStyle( + // alignment: Alignment.center, + // padding: MaterialStateProperty.all( + // const EdgeInsets.symmetric(vertical: 0.0, horizontal: 4.0)), + // shape: MaterialStateProperty.all(RoundedRectangleBorder( + // borderRadius: BorderRadius.circular(0.0), + // side: BorderSide( + // width: 2, color: DigitTheme.instance.colorScheme.primary), + // )), + // ), + // child: Padding( + // padding: const EdgeInsets.symmetric(vertical: 4.0), + // child: Text(outlinedButtonLabel, + // style: TextStyle( + // fontWeight: FontWeight.w400, + // fontSize: 16, + // color: DigitTheme.instance.colorScheme.primary))), + // ), + // ), + // SizedBox( + // height: 35, + // width: MediaQuery.of(context).size.width > 720 + // ? MediaQuery.of(context).size.width / 3 + // : MediaQuery.of(context).size.width / 2.5, + // child: DigitElevatedButton( + // onPressed: elevatedCallBack, + // child: Padding( + // padding: + // const EdgeInsets.symmetric(vertical: 0, horizontal: 4.0), + // child: Text(elevatedButtonLabel, + // style: TextStyle( + // fontWeight: FontWeight.w400, + // fontSize: 16, + // color: DigitTheme.instance.colorScheme.onPrimary))), + // ), + // ), + ], ); } } diff --git a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart index b57f88cf3e..013f3c1484 100644 --- a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart +++ b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart @@ -2,6 +2,7 @@ import 'package:auto_route/auto_route.dart'; import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/digit_components.dart' as ui_component; import 'package:digit_ui_components/enum/app_enums.dart'; +import 'package:digit_ui_components/widgets/atoms/label_value_list.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/employee/mb/mb_detail_view.dart'; @@ -75,7 +76,6 @@ class _HorizontalCardListDialogState extends State { listenWhen: (previous, current) => ((previous != current) || (previous == current)), listener: (context, state) { - state.maybeMap( orElse: () => null, loaded: (value) { @@ -149,35 +149,39 @@ class _HorizontalCardListDialogState extends State { scrollDirection: Axis.horizontal, itemBuilder: (BuildContext context, int index) { return AnimatedBuilder( - animation: _scrollController, - builder: (context, child) { + animation: _scrollController, + builder: (context, child) { double scale = 1.0; - if (_scrollController.position.haveDimensions) { - double pageOffset = _scrollController.page! - index; - scale = (1 - (pageOffset.abs() * 0.2)).clamp(0.9, 1.0); - } - - return Transform.scale( - scale: scale, - child: Padding( - padding: const EdgeInsets.only(right: 4.0), - child: CardWidget( - backward: () { - _scrollBackward(); - }, - forward: () { - _scrollForward(); - }, - filteredMeasurementsMeasure: lineItems![index], - type: widget.type, - viewMode: value.viewStatus, - noOfUnit: widget.noOfUnit, - cummulativePrevQty: widget.cummulativePrevQty, - index: index, + if (_scrollController.position.haveDimensions) { + double pageOffset = + _scrollController.page! - index; + scale = (1 - (pageOffset.abs() * 0.2)) + .clamp(0.9, 1.0); + } + + return Transform.scale( + scale: scale, + child: Padding( + padding: const EdgeInsets.only(right: 4.0), + child: CardWidget( + backward: () { + _scrollBackward(); + }, + forward: () { + _scrollForward(); + }, + filteredMeasurementsMeasure: + lineItems![index], + type: widget.type, + viewMode: value.viewStatus, + noOfUnit: widget.noOfUnit, + cummulativePrevQty: + widget.cummulativePrevQty, + index: index, + ), ), - ), - ); - }, + ); + }, ); }, itemCount: lineItems?.length, @@ -196,7 +200,7 @@ class _HorizontalCardListDialogState extends State { children: [ Expanded( child: ui_component.Button( - mainAxisSize: MainAxisSize.max, + mainAxisSize: MainAxisSize.max, label: t.translate(i18.common.close), onPressed: () { context @@ -208,7 +212,9 @@ class _HorizontalCardListDialogState extends State { type: widget.type, )); context.router.maybePopTop(); - }, type: ButtonType.secondary, size: ButtonSize.large, + }, + type: ButtonType.secondary, + size: ButtonSize.large, ), ), const SizedBox( @@ -228,7 +234,9 @@ class _HorizontalCardListDialogState extends State { type: widget.type)); // Navigator.of(context).pop(); }, - label: t.translate(i18.common.submit), type: ButtonType.primary, size: ButtonSize.large, + label: t.translate(i18.common.submit), + type: ButtonType.primary, + size: ButtonSize.large, ), ), ], @@ -321,22 +329,14 @@ class _CardWidgetState extends State { ), Padding( padding: const EdgeInsets.only(top: 4.0), - child: SizedBox( - height: 20, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Expanded( - flex: 1, - child: Text( - t.translate(i18.measurementBook.isDeduction), - style: theme.textTheme.displayMedium?.copyWith(), - )), - Expanded( - flex: 1, - child: Text( - (widget + child: LabelValueList( + maxLines: 2, + labelFlex: 5, + valueFlex: 5, + items: [ + LabelValuePair( + label: t.translate(i18.measurementBook.isDeduction), + value: (widget .filteredMeasurementsMeasure! .contracts! .first @@ -352,48 +352,22 @@ class _CardWidgetState extends State { .first .isDeduction!) ? t.translate(i18.measurementBook.yes) - : t.translate(i18.measurementBook.no), - style: theme.textTheme.labelSmall?.copyWith(), - maxLines: 1, - ), - ) - ], - ), - ), - ), - Padding( - padding: const EdgeInsets.only(bottom: 3.0), - child: SizedBox( - height: 50, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Expanded( - flex: 1, - child: Text( - t.translate( + : t.translate(i18.measurementBook.no)), + LabelValuePair( + label: t.translate( i18.measurementBook.description, ), - style: theme.textTheme.displayMedium?.copyWith(), - ), - ), - Expanded( - flex: 1, - child: Text( - widget.filteredMeasurementsMeasure!.contracts!.first - .estimates!.first.description ?? - "", - style: theme.textTheme.labelSmall?.copyWith( - overflow: TextOverflow.ellipsis, - ), - maxLines: 3, - ), - ), - ], - ), - ), + value: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .description ?? + "") + ]), ), + SingleChildScrollView( child: SizedBox( height: MediaQuery.sizeOf(context).height * 0.40, diff --git a/frontend/works_shg_app/lib/widgets/work_details_card.dart b/frontend/works_shg_app/lib/widgets/work_details_card.dart index ecdd9baf6c..faebc2b462 100644 --- a/frontend/works_shg_app/lib/widgets/work_details_card.dart +++ b/frontend/works_shg_app/lib/widgets/work_details_card.dart @@ -1,5 +1,7 @@ import 'package:collection/collection.dart'; import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/digit_components.dart' as ui_component; +import 'package:digit_ui_components/enum/app_enums.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_svg/svg.dart'; @@ -287,7 +289,8 @@ class WorkDetailsCard extends StatelessWidget { ), Padding( padding: const EdgeInsets.only(bottom: 8.0), - child: DigitElevatedButton( + child: ui_component.Button(type:ButtonType.primary , + size: ButtonSize.large, onPressed: () => DigitActionDialog.show(context, widget: Center( child: Column( @@ -367,15 +370,9 @@ class WorkDetailsCard extends StatelessWidget { ], ), )), - child: Center( - child: Text( - AppLocalizations.of(context) - .translate(i18.common.takeAction), - style: Theme.of(context) - .textTheme - .titleMedium! - .apply(color: Colors.white)), - ), + label: AppLocalizations.of(context) + .translate(i18.common.takeAction), + mainAxisSize: MainAxisSize.max, ), ), ], diff --git a/frontend/works_shg_app/lib/widgets/work_order/work_order_card.dart b/frontend/works_shg_app/lib/widgets/work_order/work_order_card.dart index c55f16b0be..39a4b88a00 100644 --- a/frontend/works_shg_app/lib/widgets/work_order/work_order_card.dart +++ b/frontend/works_shg_app/lib/widgets/work_order/work_order_card.dart @@ -1,7 +1,9 @@ // ignore_for_file: public_member_api_docs, sort_constructors_first -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/digit_components.dart'; +import 'package:digit_ui_components/widgets/atoms/label_value_list.dart'; +import 'package:digit_ui_components/widgets/molecules/digit_card.dart'; import 'package:flutter/material.dart'; -import 'package:works_shg_app/widgets/molecules/mb/table_form_data.dart'; class WorkOrderCard extends StatefulWidget { final String? headLabel; @@ -27,59 +29,48 @@ class _WorkOrderCardState extends State { Widget build(BuildContext context) { data = widget.items.remove("Status"); return DigitCard( - child: Column( - crossAxisAlignment: widget.widget1 != null - ? CrossAxisAlignment.start - : CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - widget.headLabel != null - ? Row( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Text( - widget.headLabel!, - style: DigitTheme - .instance.mobileTheme.textTheme.headlineMedium, + margin: const EdgeInsets.only(left: 5, bottom: 8, right: 5), + cardType: CardType.primary, + children: [ + LabelValueList( + heading: widget.headLabel, + maxLines: 3, + labelFlex: 5, + valueFlex: 5, + items: widget.items.entries.map((entry) { + return LabelValuePair( + label: entry.key, + value: entry.value, + ); + }).toList()), + data != null + ? Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded( + flex: 6, + child: Text( + "Status", + style: Theme.of(context).textTheme.headlineSmall, + textAlign: TextAlign.start, ), - ], - ) - : const SizedBox.shrink(), - TableFormCard( - element: widget.items, - ), - data != null - ? Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SizedBox( - width: MediaQuery.of(context).size.width / 2, - child: Text( - "Status", - style: DigitTheme - .instance.mobileTheme.textTheme.headlineSmall, - textAlign: TextAlign.start, + ), + Expanded( + flex: 5, + child: Text( + data.toString(), + style: TextStyle( + color: Theme.of(context).colorScheme.onSurfaceVariant, ), ), - const SizedBox(width: 0), - Flexible( - child: Padding( - padding: const EdgeInsets.only(top: 1.4), - child: Text( - data.toString(), - style: TextStyle( - color: DigitTheme - .instance.colorScheme.onSurfaceVariant), - ), - )), - ], - ) - : const SizedBox.shrink(), - widget.widget1 ?? const SizedBox.shrink(), - widget.widget2 ?? const SizedBox.shrink(), - ], - ), + ), + ], + ) + : const SizedBox.shrink(), + widget.widget1 ?? const SizedBox.shrink(), + widget.widget2 ?? const SizedBox.shrink(), + ], ); } } From 2ea5e53103706737b95b4caae2a1f96ec4adbdc9 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Wed, 21 Aug 2024 10:57:18 +0530 Subject: [PATCH 152/292] added new ui changes --- .../css/src/components/measurement.scss | 6 +- .../css/src/pages/employee/index.scss | 1 + .../css/src/pages/employee/override.scss | 31 ++ .../css/src/pages/works/horizontalNav.scss | 4 +- .../viewAttendance/ViewAttendances.js | 86 ++-- .../CreateContract/CreateContractForm.js | 2 +- .../TimeExtension/CreateTimeExtension.js | 6 +- .../CreateWorkOrder/CreateWorkOrderForm.js | 2 +- .../src/pages/employee/ViewContract.js | 6 +- .../src/pages/employee/ViewContractDetails.js | 132 +++-- .../Contracts/src/pages/employee/index.js | 50 +- .../src/components/OverheadDetailsTable.js | 108 +++-- .../src/components/ViewTotalEstAmount.js | 10 +- .../Estimate/src/configs/viewConfig.js | 21 +- .../src/pageComponents/OverheadsTable.js | 86 +++- .../pageComponents/ViewAnalysisStatement.js | 14 +- .../employee/ViewAnalysisStatementPage.js | 26 +- .../pages/employee/ViewDetailedEstimate.js | 32 +- .../src/pages/employee/ViewEstimate.js | 54 ++- .../Estimate/src/pages/employee/index.js | 318 ++++++------ .../Expenditure/src/components/PayableAmt.js | 6 +- .../src/pageComponents/ViewTotalBillAmount.js | 5 +- .../CreateBills/CreatePurchaseBillForm.js | 2 +- .../Expenditure/src/pages/employee/index.js | 323 +++++++------ .../CreateOrganizationForm.js | 2 +- .../ModifyWageSeeker/ModifyWageSeekerForm.js | 2 +- .../Masters/src/pages/employee/index.js | 58 +-- .../src/components/MeasureTable.js | 38 +- .../src/components/ViewOnlyCard.js | 5 +- .../src/pages/employee/ViewMeasurement.js | 13 +- .../Measurement/src/pages/employee/index.js | 20 +- .../src/pages/employee/viewUtilization.js | 20 +- .../CreateProject/CreateProjectForm.js | 2 +- .../src/pages/employee/CreateProject/index.js | 2 +- .../pages/employee/ProjectDetails/index.js | 63 ++- .../components/ApplicationDetailsContent.js | 453 ++++++++++-------- .../src/atoms/WorkflowTimeline.js | 291 +++++++---- .../src/hoc/ViewComposer/index.js | 10 +- .../src/hoc/ViewComposer/renderUtils.js | 11 +- 39 files changed, 1387 insertions(+), 934 deletions(-) create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/measurement.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/measurement.scss index 97b9b6a7c8..be48f59d08 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/measurement.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/measurement.scss @@ -9,7 +9,7 @@ border-radius: 50%; width: 25px; height: 25px; - background-color: #ff9100; + background-color: #C84C0E; color: #ffffff; font-size: 20px; text-align: center; @@ -138,8 +138,4 @@ $fill-color: #C84C0E; .modified-bread-crumb { margin-left: 10px; -} - -.modify-header{ - margin-left : 20px } \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/index.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/index.scss index 11ab29020d..8fd0d1996c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/index.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/index.scss @@ -1,5 +1,6 @@ @import "./coreOverride.scss"; @import "../../typography.scss"; +@import "./override.scss"; /* TODO: convert using tailwind */ .employee { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss new file mode 100644 index 0000000000..deae58cf16 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss @@ -0,0 +1,31 @@ +.totalEstimateAmoutCrad { + display: flex; + align-items: center; + justify-content: space-between; +} + +.view-composer-subheader { + color: theme(digitv2.lightTheme.text-primary) !important; + margin-bottom: theme(digitv2.spacers.spacer4); +} + +.employee-main-application-details{ + &.project-details, + &.estimate-details, + &.contract-details{ + padding: theme(digitv2.spacers.spacer0) !important; + } +} + + +.row { + .extension-label{ + color: theme(digitv2.lightTheme.primary) !important; + } +} + +.digit-employee-card{ + .card-label{ + color: theme(digitv2.lightTheme.primary) !important; + } +} \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/horizontalNav.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/horizontalNav.scss index d00c13677b..0f794c6ff2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/horizontalNav.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/horizontalNav.scss @@ -2,7 +2,9 @@ overflow: auto; display: flex; margin-top: 0rem; - + background-color: transparent !important; + margin-left: 0px !important; + .menu-item { border: 10px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/employee/viewAttendance/ViewAttendances.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/employee/viewAttendance/ViewAttendances.js index 55979945fc..6c10b53527 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/employee/viewAttendance/ViewAttendances.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/employee/viewAttendance/ViewAttendances.js @@ -3,7 +3,7 @@ import { useTranslation } from "react-i18next"; import { Header,WorkflowActions,Loader,ViewDetailsCard,MultiLink } from "@egovernments/digit-ui-react-components"; import ApplicationDetails from "../../../../../templates/ApplicationDetails"; import WarningPopUp from "../../../pageComponents/WarningPopUp"; -import {Toast} from '@egovernments/digit-ui-components' +import {Toast,Button} from '@egovernments/digit-ui-components' import { useHistory } from "react-router-dom"; const ViewAttendance = () => { @@ -82,16 +82,24 @@ const ViewAttendance = () => { if(isLoading || approverLoading || isMbValidationLoading) return return ( -
-
{showEditTitle ? t('ATM_EDIT_ATTENDENCE') : t("ATM_VIEW_ATTENDENCE")}
- +
{showEditTitle ? t("ATM_EDIT_ATTENDENCE") : t("ATM_VIEW_ATTENDENCE")}
+ {/* HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} + /> */} +
- {data && } + {data && } {showDataError === null && ( { setshowEditTitle={setshowEditTitle} saveAttendanceState={saveAttendanceState} setSaveAttendanceState={setSaveAttendanceState} - approverList={employeeDatav1?.Employees?.length > 0 ? employeeDatav1?.Employees.filter(emp => emp?.nameOfEmp !== "NA") : []} + approverList={employeeDatav1?.Employees?.length > 0 ? employeeDatav1?.Employees.filter((emp) => emp?.nameOfEmp !== "NA") : []} /> )} - {isSuccess && !modify && + {isSuccess && !modify && ( { moduleCode="attendencemgmt" editApplicationNumber={""} WorflowValidation={(setShowModal) => { - try { - let validationFlag = false; - for (const validation of mbValidationMr?.musterRollValidation) { - if (validation?.type === 'error') { - validationFlag = true; - setShowToast({type : "error", label : t(validation?.message)}); - break; - } else if (validation?.type === 'warn') { - validationFlag = true; - setShowPopUp({setShowWfModal:setShowModal, label:t(validation?.message)}); - break; - } - } - if(!validationFlag) - setShowModal(true); - - } catch (error) { - showToast(error.message); + try { + let validationFlag = false; + for (const validation of mbValidationMr?.musterRollValidation) { + if (validation?.type === "error") { + validationFlag = true; + setShowToast({ type: "error", label: t(validation?.message) }); + break; + } else if (validation?.type === "warn") { + validationFlag = true; + setShowPopUp({ setShowWfModal: setShowModal, label: t(validation?.message) }); + break; + } } + if (!validationFlag) setShowModal(true); + } catch (error) { + showToast(error.message); + } }} editCallback={() => { setModify(true); setshowEditTitle(true); - setSaveAttendanceState(prevState => { + setSaveAttendanceState((prevState) => { return { ...prevState, - displaySave:true, - updatePayload:data?.applicationData?.individualEntries?.map(row => { + displaySave: true, + updatePayload: data?.applicationData?.individualEntries?.map((row) => { return { - totalAttendance:row?.modifiedTotalAttendance || row?.actualTotalAttendance, - id:row?.id - } - }) - } - }) + totalAttendance: row?.modifiedTotalAttendance || row?.actualTotalAttendance, + id: row?.id, + }; + }), + }; + }); }} /> - } - {showPopup && } - {showToast && ( - closeToast()} /> )} + {showPopup && } + {showToast && closeToast()} />} {showDataError && ( setShowDataError(false)} /> )} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/CreateContract/CreateContractForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/CreateContract/CreateContractForm.js index 5f5927b82c..fa1862fb57 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/CreateContract/CreateContractForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/CreateContract/CreateContractForm.js @@ -280,7 +280,7 @@ const CreateContractForm = ({ onFormSubmit, estimateNumber, task, subEstimate, s onFormValueChange={onFormValueChange} onSubmit={onFormSubmit} fieldStyle={{ marginRight: 0 }} - className="form-no-margin" + // className="form-no-margin" labelBold={true} />
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/CreateTimeExtension.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/CreateTimeExtension.js index 6aac5fdb24..7ef6c88eb1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/CreateTimeExtension.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/CreateTimeExtension.js @@ -1,5 +1,5 @@ import React, { Fragment, useState, useEffect } from "react"; -import { Loader, ActionBar, SubmitBar, WorkflowModal, LabelFieldPair, CardLabel, TextInput } from "@egovernments/digit-ui-react-components"; +import { Loader, ActionBar, SubmitBar, WorkflowModal, CardLabel,TextInput } from "@egovernments/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import ApplicationDetails from "../../../../templates/ApplicationDetails"; import getModalConfig from "./modalConfig"; @@ -129,7 +129,7 @@ const CreateTimeExtension = ({isEdit,revisedWONumber,...props}) => {
- {`${t(`EXTENSION_REQ`)}*`} + {`${t(`EXTENSION_REQ`)}*`} { />
- {`${t(`EXTENSION_REASON`)}*`} + {`${t(`EXTENSION_REASON`)}*`} { return ( -
-
-
{t("WORKS_VIEW_CONTRACT")}
+
+
+
{t("WORKS_VIEW_CONTRACT")}
{ const { t } = useTranslation(); @@ -229,51 +229,95 @@ const ViewContractDetails = () => { return ; return ( -
-
-
{showTimeExtension || queryStrings?.isTimeExtension === "true" ? ( revisedWONumber ? t("UPDATE_TE") : t("CREATE_TE")) : revisedWONumber ? t("VIEW_TE") : t("WORKS_VIEW_WORK_ORDER")}
- {(data?.applicationData?.wfStatus === "APPROVED" || data?.applicationData?.wfStatus === "PENDING_FOR_ACCEPTANCE" || data?.applicationData?.wfStatus === "ACCEPTED") && !(queryStrings?.isTimeExtension === "true") && !(revisedWONumber) && - HandleDownloadPdf()} - downloadBtnClassName={"employee-download-btn-className"} - label={t("CS_COMMON_DOWNLOAD")} - /> - } +
+
+
+ {showTimeExtension || queryStrings?.isTimeExtension === "true" + ? revisedWONumber + ? t("UPDATE_TE") + : t("CREATE_TE") + : revisedWONumber + ? t("VIEW_TE") + : t("WORKS_VIEW_WORK_ORDER")} +
+ {(data?.applicationData?.wfStatus === "APPROVED" || + data?.applicationData?.wfStatus === "PENDING_FOR_ACCEPTANCE" || + data?.applicationData?.wfStatus === "ACCEPTED") && + !(queryStrings?.isTimeExtension === "true") && + !revisedWONumber && ( + // HandleDownloadPdf()} + // downloadBtnClassName={"employee-download-btn-className"} + // label={t("CS_COMMON_DOWNLOAD")} + // /> +
{project && } - { - !data?.isNoDataFound && - <> - - {activeLink === "Work_Order" && !showTimeExtension && !(queryStrings?.isTimeExtension === "true") && } - {activeLink === "Work_Order" && (showTimeExtension || queryStrings?.isTimeExtension === "true") && } - {activeLink === "Terms_and_Conditions" && } - - {!editTimeExtension && !(queryStrings?.isEditTimeExtension === "true") && } - {data?.applicationData?.wfStatus === "ACCEPTED" && actionsMenu?.length>0 && !showTimeExtension && !(queryStrings?.isTimeExtension === "true") ? - - {showActions ? :null} - setShowActions(!showActions)} /> - - : null - } - - } + {!data?.isNoDataFound && ( + <> + + {activeLink === "Work_Order" && !showTimeExtension && !(queryStrings?.isTimeExtension === "true") && ( + + )} + {activeLink === "Work_Order" && (showTimeExtension || queryStrings?.isTimeExtension === "true") && ( + + )} + {activeLink === "Terms_and_Conditions" && } + + {!editTimeExtension && !(queryStrings?.isEditTimeExtension === "true") && ( + + )} + {data?.applicationData?.wfStatus === "ACCEPTED" && + actionsMenu?.length > 0 && + !showTimeExtension && + !(queryStrings?.isTimeExtension === "true") ? ( + + {showActions ? ( + + ) : null} + setShowActions(!showActions)} /> + + ) : null} + + )}
{toast?.show && } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/index.js index 8eb99b3582..0bf5142003 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/index.js @@ -1,13 +1,12 @@ import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; -import { PrivateRoute, BreadCrumb } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute, BreadCrumb, AppContainer } from "@egovernments/digit-ui-react-components"; import { Switch, useLocation } from "react-router-dom"; import CreateContract from "./CreateContract"; -import Inbox from "./ContractsInbox/Inbox.js" +import Inbox from "./ContractsInbox/Inbox.js"; import SearchContractDetails from "./SearchContractDetails"; import ViewContractDetails from "./ViewContractDetails"; - const ContractsBreadCrumbs = ({ location }) => { const { t } = useTranslation(); const search = useLocation().search; @@ -48,7 +47,6 @@ const ContractsBreadCrumbs = ({ location }) => { show: location.pathname.includes("/contracts/create-time-extension-response") ? true : false, isBack: fromScreen && true, }, - ]; return ; }; @@ -83,35 +81,31 @@ const App = ({ path }) => { }; useEffect(() => { - if (!window.location.href.includes("create-contract") && sessionFormData && Object.keys(sessionFormData) != 0) { - clearSessionFormData(); - } + if (!window.location.href.includes("create-contract") && sessionFormData && Object.keys(sessionFormData) != 0) { + clearSessionFormData(); + } }, [location]); return ( - -
-
- -
- - - } /> - } /> - } /> - } /> - } /> - ( - - )} - /> -
-
+ + + + + } /> + } /> + } /> + } /> + } /> + ( + + )} + /> +
); }; -export default App; +export default App; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/OverheadDetailsTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/OverheadDetailsTable.js index 1e1dbdab9e..7fb39a067b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/OverheadDetailsTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/OverheadDetailsTable.js @@ -1,4 +1,4 @@ -import { EditIcon, DownloadImgIcon, InfoBannerIcon, Modal, Row, StatusTable, Amount } from "@egovernments/digit-ui-react-components"; +import { EditIcon, DownloadImgIcon, InfoBannerIcon, Modal, Row, StatusTable, Amount,CardSectionHeader } from "@egovernments/digit-ui-react-components"; import React, { useState, useCallback, useMemo } from "react"; import { useTranslation } from "react-i18next"; import { useHistory, Link } from "react-router-dom"; @@ -96,42 +96,42 @@ const OverheadDetailsTable = ({ data }) => { let formattedTotalAmount = isNaN(totalAmount) ? 0 : parseFloat(totalAmount)?.toFixed(2); return ( -
+ { */} - )} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementInboxConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementInboxConfig.js index 3de4ee64e1..007e89937b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementInboxConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementInboxConfig.js @@ -165,6 +165,7 @@ const InboxMeasurementConfig = () => { disable: false, populators: { name: "ward", + isDropdownWithChip:true, type: "ward", optionsKey: "i18nKey", defaultText: "COMMON_SELECT_WARD", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementSearchConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementSearchConfig.js index a8da02e568..5e7b5a3dfb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementSearchConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementSearchConfig.js @@ -90,9 +90,9 @@ const SearchMeasurementConfig = () => { populators: { name: "status", optionsKey: "code", - optionsCustomStyle: { - top: "2.3rem", - }, + // optionsCustomStyle: { + // top: "2.3rem", + // }, mdmsConfig: { masterName: "SocialCategory", moduleName: "common-masters", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/SearchWMSConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/SearchWMSConfig.js index 76e8c6c501..7583a5e273 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/SearchWMSConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/SearchWMSConfig.js @@ -115,9 +115,9 @@ const SearchMeasurementConfig = () => { isMandatory: false, disable: false, populators: { - optionsCustomStyle: { - top: "2.3rem", - }, + // optionsCustomStyle: { + // top: "2.3rem", + // }, name: "status", optionsKey: "i18nKey", allowMultiSelect: false, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js index 47a992892d..719881fddf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js @@ -48,7 +48,7 @@ export const data = (statementDetails, rawData, oldData) => { ) : parseFloat(0).toFixed(2) : parseFloat(0).toFixed(2), - amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, + // amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, rowContainerStyle: {justifyContent : "revert"} }, { @@ -69,7 +69,7 @@ export const data = (statementDetails, rawData, oldData) => { ) : parseFloat(0).toFixed(2) : parseFloat(0).toFixed(2), - amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, + // amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, rowContainerStyle: {justifyContent : "revert"} }, @@ -91,7 +91,7 @@ export const data = (statementDetails, rawData, oldData) => { ) : parseFloat(0).toFixed(2) : parseFloat(0).toFixed(2), - amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, + // amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, rowContainerStyle: {justifyContent : "revert"} }, { @@ -113,7 +113,7 @@ export const data = (statementDetails, rawData, oldData) => { undefined, 2 ):parseFloat(0).toFixed(2), - amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, + // amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, rowContainerStyle: {justifyContent : "revert"} }, ], diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js index d61d3c278c..30f28ccf8f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js @@ -1,4 +1,4 @@ -import { Loader, FormComposerV2, Header, Toast, ActionBar, Menu, SubmitBar, WorkflowModal } from "@egovernments/digit-ui-react-components"; +import { Loader, FormComposerV2, Header, ActionBar, Menu, SubmitBar, WorkflowModal } from "@egovernments/digit-ui-react-components"; import React, { useState, useEffect, useCallback } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; @@ -6,6 +6,7 @@ import { CreateConfig } from "../../configs/MeasurementCreateConfig"; import { getDefaultValues } from "../../utils/transformEstimateData"; import { transformData } from "../../utils/transformData"; import getModalConfig from "./config"; +import { Toast } from '@egovernments/digit-ui-components'; import _ from "lodash"; const updateData = (data, formState, tenantId) => { @@ -23,7 +24,7 @@ const CreateMeasurement = ({ props }) => { // const [sessionFormData, setSessionFormData, clearSessionFormData] = MeasurementSession; const [createState, setState] = useState({ SOR: [], NONSOR: [], accessors: undefined, period: {} }); const [defaultState, setDefaultState] = useState({ SOR: [], NONSOR: [] }); - const [showToast, setShowToast] = useState({display: false, error: false}); + const [showToast, setShowToast] = useState({display: false, type: ""}); const [errorMessage, setErrorMessage] = useState(""); const [isButtonDisabled, setIsButtonDisabled] = useState(false) const [displayMenu, setDisplayMenu] = useState(false); @@ -144,7 +145,7 @@ const CreateMeasurement = ({ props }) => { function onActionSelect(action = "SUBMIT") { if (createState?.period?.type == "error") { setErrorMessage(t(createState?.period?.message)); - setShowToast({display:true, error:true}); + setShowToast({display:true, type:"error"}); return null; } if (action?.name === "SUBMIT") { @@ -176,13 +177,13 @@ const CreateMeasurement = ({ props }) => { const onError = (resp) => { setIsButtonDisabled(false); setErrorMessage(t(resp?.response?.data?.Errors?.[0]?.message)); - setShowToast({display:true, error:true}); + setShowToast({display:true, type:"error"}); }; const onSuccess = (resp) => { if(action?.name === "SAVE_AS_DRAFT") { setErrorMessage(t("MB_APPLICATION_IS_SUCCESSFULLY_DRAFTED")); - setShowToast({display:true, error:false}); + setShowToast({display:true, type:""}); setTimeout(() => {history.push(`/${window.contextPath}/employee/measurement/update?tenantId=${resp.measurements[0].tenantId}&workOrderNumber=${contractNumber}&mbNumber=${resp.measurements[0].measurementNumber}`)}, 3000);; } else @@ -204,7 +205,7 @@ const CreateMeasurement = ({ props }) => { }; const closeToast = () => { - setShowToast({display:false, error:false});; + setShowToast({display:false, type:""});; }; //remove Toast after 3s useEffect(() => { @@ -256,7 +257,7 @@ const CreateMeasurement = ({ props }) => { onFormValueChange={onFormValueChange} noBreakLine={true} /> - {showToast?.display && } + {showToast?.display && } {displayMenu && !isButtonDisabled ? : null} setDisplayMenu(!displayMenu)} disabled={isButtonDisabled} /> diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ResponseBanner.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ResponseBanner.js index c7839aac20..89be901e99 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ResponseBanner.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ResponseBanner.js @@ -77,7 +77,7 @@ const MeasurementServiceResponse = () => { */}
- + {t("MB_GO_INBOX")} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ViewMeasurement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ViewMeasurement.js index 08c28c8a83..aa684c4404 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ViewMeasurement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ViewMeasurement.js @@ -69,7 +69,7 @@ const ViewMeasurement = () => { } return ( -
+
{t("MB_VIEW_MEASUREMENT_BOOK")}
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/index.js index a0b2ab77e7..71d1afd433 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/index.js @@ -71,8 +71,11 @@ const App = ({ path }) => { return ( -
- + {!location.pathname.includes("/response") && ( +
+ +
+ )} } /> } /> } /> diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js index f431c26386..0aefc8624a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js @@ -8,12 +8,14 @@ import { Row, HorizontalNav, ViewDetailsCard, - Toast, ActionBar, Menu, SubmitBar, CitizenInfoLabel, } from "@egovernments/digit-ui-react-components"; +import { + Toast,InfoCard +} from "@egovernments/digit-ui-components"; import { useTranslation } from "react-i18next"; import { ViewComposer } from "@egovernments/digit-ui-react-components"; import { data } from "../../configs/viewUtilConfig"; @@ -395,7 +397,7 @@ const ViewUtilization = () => { const { t } = useTranslation(); const [actionsMenu, setActionsMenu] = useState([]); const [isStateChanged, setStateChanged] = useState(``); - const [toast, setToast] = useState({ show: false, label: "", error: false }); + const [toast, setToast] = useState({ show: false, label: "", type:"" }); const menuRef = useRef(); const loggedInUserRoles = Digit.Utils.getLoggedInUserDetails("roles"); @@ -413,7 +415,7 @@ const ViewUtilization = () => { Digit.Hooks.useClickOutside(menuRef, closeMenu, showActions); const handleToastClose = () => { - setToast({ show: false, label: "", error: false }); + setToast({ show: false, label: "", type:""}); }; const config = data(statement?.[0], statement,oldData); @@ -439,21 +441,30 @@ const ViewUtilization = () => { }; return (
-
+
{t("MB_VIEW_UTLIZATION")}
{downloadStatus&& HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} />}
- + + {/* */}
{toast?.show && ( From caadcc765ba4400cecc61b442e34616cc67df369 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 13 Aug 2024 20:40:49 +0530 Subject: [PATCH 138/292] added project module changes --- .../src/components/SelectGeoLocation.js | 68 +++++--- .../src/components/SubProjectDetailsTable.js | 2 +- .../Project/src/configs/searchConfig.js | 6 +- .../Project/src/configs/searchConfigMUKTA.js | 24 +-- .../src/configs/searchWMSProjectConfig.js | 6 +- .../CreateProject/CreateProjectResponse.js | 149 +++++++++++------- .../pages/employee/ProjectDetails/index.js | 15 +- .../src/pages/employee/ProjectSearch/index.js | 21 +-- .../pages/employee/ProjectWMSSearch/index.js | 8 +- 9 files changed, 185 insertions(+), 114 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/components/SelectGeoLocation.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/components/SelectGeoLocation.js index 3687ebc164..47eed41f91 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/components/SelectGeoLocation.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/components/SelectGeoLocation.js @@ -1,6 +1,7 @@ import React, { Fragment, useState } from "react"; -import { CardLabel, LabelFieldPair, LocationSearch, Modal, TextInput } from "@egovernments/digit-ui-react-components"; +import { CardLabel, LocationSearch, Modal } from "@egovernments/digit-ui-react-components"; import { useTranslation } from "react-i18next"; +import { Header, LabelFieldPair, TextInput,StringManipulator } from "@egovernments/digit-ui-components"; const SelectGeoLocation = ({ onSelect, config, formData }) => { const { t } = useTranslation(); @@ -9,40 +10,67 @@ const SelectGeoLocation = ({ onSelect, config, formData }) => { const [postionInputField, setPositionInputField] = useState(); const onChange = (pincode, position) => { setPosition(position); - } + }; const handleShowLocationSearch = () => { setShowLocationSearch(true); - } + }; - const actionCancelOnSubmit = () =>{ + const actionCancelOnSubmit = () => { setShowLocationSearch(false); - } + }; const actionSaveOnSubmit = () => { onSelect(config?.key, position); setPositionInputField(position); actionCancelOnSubmit(); - } + }; return ( - - {`${t(`WORKS_GEO_LOCATION`)}`} - { - !showLocationSearch && -
- + + {/* {`${t(`WORKS_GEO_LOCATION`)}`} */} +
+
+
+ {StringManipulator( + "TOSENTENCECASE", + StringManipulator("TRUNCATESTRING", t(`WORKS_GEO_LOCATION`), { + maxLength: 64, + }) + )} +
- } - {showLocationSearch && - - +
+ + {!showLocationSearch && ( +
+ {/* */} + +
+ )} + {showLocationSearch && ( + + - } + )}
- ) -} + ); +}; -export default SelectGeoLocation; \ No newline at end of file +export default SelectGeoLocation; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/components/SubProjectDetailsTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/components/SubProjectDetailsTable.js index 5ac9c32c26..b0523b0483 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/components/SubProjectDetailsTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/components/SubProjectDetailsTable.js @@ -414,7 +414,7 @@ const SubProjectDetailsTable = ({t, register, control, setValue, onChange, error {renderBody()}
- + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/configs/searchConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/configs/searchConfig.js index c697f0aa17..1c25ed5941 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/configs/searchConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/configs/searchConfig.js @@ -82,9 +82,9 @@ const searchConfig = () => { populators: { name: "projectType", optionsKey: "code", - optionsCustomStyle : { - top : "2.3rem" - }, + // optionsCustomStyle : { + // top : "2.3rem" + // }, mdmsConfig: { masterName: "ProjectType", moduleName: "works", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/configs/searchConfigMUKTA.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/configs/searchConfigMUKTA.js index a4fec54f5c..3961271b37 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/configs/searchConfigMUKTA.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/configs/searchConfigMUKTA.js @@ -51,9 +51,9 @@ const searchConfigMUKTA = { "type": "ward", "optionsKey": "i18nKey", "allowMultiSelect": false, - "optionsCustomStyle": { - "top": "2.3rem" - } + // "optionsCustomStyle": { + // "top": "2.3rem" + // } } }, { @@ -64,9 +64,9 @@ const searchConfigMUKTA = { "populators": { "name": "projectType", "optionsKey": "name", - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, "mdmsConfig": { "masterName": "ProjectType", "moduleName": "works", @@ -177,9 +177,9 @@ const searchConfigMUKTA = { type: "ward", optionsKey: "i18nKey", allowMultiSelect: false, - optionsCustomStyle : { - top : "2.3rem" - } + // optionsCustomStyle : { + // top : "2.3rem" + // } } }, { @@ -190,9 +190,9 @@ const searchConfigMUKTA = { populators: { name: "projectType", optionsKey: "name", - optionsCustomStyle : { - top : "2.3rem" - }, + // optionsCustomStyle : { + // top : "2.3rem" + // }, mdmsConfig: { masterName: "ProjectType", moduleName: "works", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/configs/searchWMSProjectConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/configs/searchWMSProjectConfig.js index 400644b8bc..02b518890f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/configs/searchWMSProjectConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/configs/searchWMSProjectConfig.js @@ -63,9 +63,9 @@ const searchWMSProjectConfig = { "populators": { "name": "projectType", "optionsKey": "name", - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, "mdmsConfig": { "masterName": "ProjectType", "moduleName": "works", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/CreateProject/CreateProjectResponse.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/CreateProject/CreateProjectResponse.js index 3c05707406..6fd46ddd59 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/CreateProject/CreateProjectResponse.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/CreateProject/CreateProjectResponse.js @@ -1,63 +1,102 @@ -import React, { useEffect, useState } from "react"; +import React, { useEffect, useState, Fragment } from "react"; import { Link, useHistory, useLocation } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { Banner, Card, LinkLabel, AddFileFilled, ArrowLeftWhite, ActionBar, SubmitBar} from "@egovernments/digit-ui-react-components"; +import { Banner, Card, LinkLabel, AddFileFilled, ArrowLeftWhite, ActionBar } from "@egovernments/digit-ui-react-components"; + +import { PanelCard, SubmitBar } from "@egovernments/digit-ui-components"; const CreateProjectResponse = () => { - const {t} = useTranslation(); - const history = useHistory(); - const queryStrings = Digit.Hooks.useQueryParams(); - const [ projectIDsList, setProjectIDsList ] = useState(queryStrings?.projectIDs.split(',')); - const loggedInUserRoles = Digit.Utils.getLoggedInUserDetails("roles"); - const [isEstimateCreator, setIsEstimateCreator] = useState(false); - const [ isResponseSuccess, setIsResponseSuccess ] = useState(queryStrings?.isSuccess === "true" ? true : queryStrings?.isSuccess === "false" ? false : true); - const {state} = useLocation(); - - useEffect(()=>{ - setIsEstimateCreator(loggedInUserRoles?.includes("ESTIMATE_CREATOR")); - },[]); - - const navigate = (page) =>{ - switch(page){ - case "search-project" : { - history.push(`/${window.contextPath}/employee/project/search-project`); - break; - } - case "create-estimate" : { - history.push(`/${window.contextPath}/employee/estimate/create-detailed-estimate?tenantId=${queryStrings?.tenantId}&projectNumber=${projectIDsList?.[0]}`); - break; - } - case "home-screen" : { - history.push(`/${window.contextPath}/employee`); - break; - } - } + const { t } = useTranslation(); + const history = useHistory(); + const queryStrings = Digit.Hooks.useQueryParams(); + const [projectIDsList, setProjectIDsList] = useState(queryStrings?.projectIDs.split(",")); + const loggedInUserRoles = Digit.Utils.getLoggedInUserDetails("roles"); + const [isEstimateCreator, setIsEstimateCreator] = useState(false); + const [isResponseSuccess, setIsResponseSuccess] = useState( + queryStrings?.isSuccess === "true" ? true : queryStrings?.isSuccess === "false" ? false : true + ); + const { state } = useLocation(); + + useEffect(() => { + setIsEstimateCreator(loggedInUserRoles?.includes("ESTIMATE_CREATOR")); + }, []); + + const navigate = (page) => { + switch (page) { + case "search-project": { + history.push(`/${window.contextPath}/employee/project/search-project`); + break; + } + case "create-estimate": { + history.push( + `/${window.contextPath}/employee/estimate/create-detailed-estimate?tenantId=${queryStrings?.tenantId}&projectNumber=${projectIDsList?.[0]}` + ); + break; + } + case "home-screen": { + history.push(`/${window.contextPath}/employee`); + break; + } } + }; + + // return ( + // + // + //
+ // navigate('search-project')}> + // {t("PROJECT_GO_TO_SEARCH_PROJECT")} + // + // {isResponseSuccess && isEstimateCreator && navigate('create-estimate')}> + // {t("COMMON_CREATE_ESTIMATE")} + // } + //
+ // + // + // + // + // + //
+ // ) + + const children = [ +
+ navigate("search-project")}> + + {t("PROJECT_GO_TO_SEARCH_PROJECT")} + + {isResponseSuccess && isEstimateCreator && ( + navigate("create-estimate")}> + + {t("COMMON_CREATE_ESTIMATE")} + + )} +
, + ]; - return ( - - -
- navigate('search-project')}> - {t("PROJECT_GO_TO_SEARCH_PROJECT")} - - {isResponseSuccess && isEstimateCreator && navigate('create-estimate')}> - {t("COMMON_CREATE_ESTIMATE")} - } -
- - - - - -
- ) -} + const footerChildren = [ + + + , + ]; + return ( + <> + + + ); +}; export default CreateProjectResponse; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/ProjectDetails/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/ProjectDetails/index.js index 5eeafc3637..531f1c32c4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/ProjectDetails/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/ProjectDetails/index.js @@ -1,8 +1,9 @@ -import { Header, MultiLink, Card, StatusTable, Row, CardSubHeader,Loader,SubmitBar,ActionBar, HorizontalNav, Menu, Toast } from '@egovernments/digit-ui-react-components' +import { Header, MultiLink, Card, StatusTable, Row, CardSubHeader,Loader,SubmitBar,ActionBar, HorizontalNav, Menu } from '@egovernments/digit-ui-react-components' import React, { Fragment,useEffect,useRef,useState } from 'react' import { useTranslation } from 'react-i18next' import { useHistory, useLocation } from 'react-router-dom' import ProjectDetailsNavDetails from './ProjectDetailsNavDetails' +import { Toast } from '@egovernments/digit-ui-components' const ProjectDetails = () => { const { t } = useTranslation(); @@ -23,7 +24,7 @@ const ProjectDetails = () => { let isProjectModifier = false; let isEstimateViewerAndCreator = false; const [actionsMenu, setActionsMenu] = useState([]); - const [toast, setToast] = useState({show : false, label : "", error : false}); + const [toast, setToast] = useState({show : false, label : "", type:""}); const navConfigs = [ { "name":"Project_Details", @@ -78,7 +79,7 @@ const ProjectDetails = () => { } if(option?.name === "MODIFY_PROJECT"){ if(estimates?.length !==0 && estimates?.[0]?.wfStatus !== "" && estimates?.[0]?.wfStatus !== "REJECTED") { - setToast({show : true, label : t("COMMON_CANNOT_MODIFY_PROJECT_EST_CREATED"), error : true}); + setToast({show : true, label : t("COMMON_CANNOT_MODIFY_PROJECT_EST_CREATED"), type:"error"}); }else { // history.push(`/${window.contextPath}/employee/project/modify-project?tenantId=${searchParams?.Projects?.[0]?.tenantId}&projectNumber=${searchParams?.Projects?.[0]?.projectNumber}`); history.push({ @@ -90,7 +91,7 @@ const ProjectDetails = () => { } const handleToastClose = () => { - setToast({show : false, label : "", error : false}); + setToast({show : false, label : "",type:""}); } const HandleDownloadPdf = () => { @@ -124,7 +125,7 @@ const ProjectDetails = () => { useEffect(()=>{ let isUserEstimateCreator = loggedInUserRoles?.includes("ESTIMATE_CREATOR"); if(isEstimateSearchError && isEstimateViewerAndCreator) { - setToast({show : true, label : t("COMMON_ERROR_FETCHING_ESTIMATE_DETAILS"), error : true}); + setToast({show : true, label : t("COMMON_ERROR_FETCHING_ESTIMATE_DETAILS"), type:"error"}); setHideActionBar(true); }else { if((estimates?.length === 0 || estimates?.[0]?.wfStatus === "" || estimates?.[0]?.wfStatus === "REJECTED")) { @@ -182,7 +183,7 @@ const ProjectDetails = () => { return (
-
+
{t("WORKS_PROJECT_DETAILS")}
HandleDownloadPdf()} @@ -215,7 +216,7 @@ const ProjectDetails = () => { setShowActions(!showActions)}/> } - {toast?.show && } + {toast?.show && }
) } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/ProjectSearch/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/ProjectSearch/index.js index 92e9ba3982..13ac2ac6ae 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/ProjectSearch/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/ProjectSearch/index.js @@ -1,8 +1,9 @@ import React, { useEffect, useMemo } from "react"; import { useTranslation } from "react-i18next"; -import { Header, InboxSearchComposer, Loader, Button, AddFilled } from "@egovernments/digit-ui-react-components"; +import { Header, InboxSearchComposer, Loader} from "@egovernments/digit-ui-react-components"; import { useHistory, useLocation } from "react-router-dom"; // import searchConfigMUKTA from "../../../configs/searchConfigMUKTA"; +import { Button } from "@egovernments/digit-ui-components"; const ProjectSearch = () => { const { t } = useTranslation(); @@ -55,15 +56,15 @@ const ProjectSearch = () => {
{t(configs?.label)}
{Digit.Utils.didEmployeeHasRole(configs?.actionRole) && (
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/ProjectWMSSearch/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/ProjectWMSSearch/index.js index 11f1a9ca54..ae4f601c77 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/ProjectWMSSearch/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/ProjectWMSSearch/index.js @@ -1,8 +1,10 @@ import React, { useEffect, useMemo } from "react"; import { useTranslation } from "react-i18next"; -import { Header, InboxSearchComposer, Loader, Button, AddFilled } from "@egovernments/digit-ui-react-components"; +import { Header, InboxSearchComposer, Loader } from "@egovernments/digit-ui-react-components"; import { useHistory, useLocation } from "react-router-dom"; import searchWMSProjectConfig from "../../../configs/searchWMSProjectConfig"; +import { Button } from "@egovernments/digit-ui-components"; + const ProjectWMSSearch = () => { const { t } = useTranslation(); const history = useHistory(); @@ -56,8 +58,8 @@ const ProjectWMSSearch = () => {
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js index 3ce6a81885..ace3f97538 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js @@ -3,7 +3,7 @@ import React, { useState, useEffect, useCallback } from "react"; import { useTranslation } from "react-i18next"; import SearchBar from "../../../Estimate/src/pageComponents/SearchBar"; import { has4DecimalPlaces } from "../utils/transformData"; - +import { Toast } from "@egovernments/digit-ui-components"; import { calculateTotalAmount } from "../utils/transformData"; const SORDetailsTemplate = (props) => { @@ -15,7 +15,7 @@ const SORDetailsTemplate = (props) => { const [stateData, setStateData] = useState({}); const [selectedSOR, setSelectedSOR] = useState(null); const [SORDetails, setSORDetails] = useState([]); - const [showToast, setShowToast] = useState({ show: false, label: "", error: false }); + const [showToast, setShowToast] = useState({ show: false, label: "", type: "" }); let formData = watch("SORDetails"); @@ -300,11 +300,11 @@ const SORDetailsTemplate = (props) => {
+ { ) : parseFloat(0).toFixed(2) : parseFloat(0).toFixed(2), - amountStyle: { maxWidth: "12%", textAlign: "end" }, + amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, + rowContainerStyle: {justifyContent : "revert"} }, { key: "STATEMENT_LABOUR", @@ -71,7 +72,8 @@ export const data = (statementDetails, rawData, oldData) => { ) : parseFloat(0).toFixed(2) : parseFloat(0).toFixed(2), - amountStyle: { maxWidth: "12%", textAlign: "end" }, + amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, + rowContainerStyle: {justifyContent : "revert"} }, { @@ -92,7 +94,8 @@ export const data = (statementDetails, rawData, oldData) => { ) : parseFloat(0).toFixed(2) : parseFloat(0).toFixed(2), - amountStyle: { maxWidth: "12%", textAlign: "end" }, + amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, + rowContainerStyle: {justifyContent : "revert"} }, { key: "STATEMENT_LABOUR_CESS", @@ -108,7 +111,8 @@ export const data = (statementDetails, rawData, oldData) => { undefined, 2 ), - amountStyle: { maxWidth: "12%", textAlign: "end" }, + amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, + rowContainerStyle: {justifyContent : "revert"} }, ], }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js index d403d61b26..e6e9e8de8a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js @@ -468,7 +468,7 @@ const ViewAnalysisStatement = () => { { downloadStatus&& HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} /> }
- +
{toast?.show && } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js index dfb017415d..4fd0275bee 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js @@ -40,8 +40,8 @@ export const RenderDataSection = ({ section }) => { className="border-none" /* privacy object set to the Row Component */ privacy={row?.value?.privacy} - rowContainerStyle={{}} - textStyle={{}} + rowContainerStyle={row?.rowContainerStyle || {}} + textStyle={row?.textStyle || {}} labelStyle={{}} amountStyle={row?.amountStyle || {}} /> From f7cfa3e6a54ca6929e502a94fe77e9ed90a1fcfc Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 16 Jul 2024 17:56:53 +0530 Subject: [PATCH 074/292] estimate template reworked --- .../src/pageComponents/searchTemplate.js | 680 ++++++++++-------- .../modules/Measurement/src/Module.js | 2 +- 2 files changed, 392 insertions(+), 290 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js index 762695d556..b1ae8b7f3d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js @@ -2,302 +2,404 @@ import { Button, TextInput, Toast } from "@egovernments/digit-ui-react-component import React, { useEffect, useState, useCallback, useRef } from "react"; import { useTranslation } from "react-i18next"; + +const fetchSorDetails = async (inputDATA) => { + //method to fetch the data for estimate template + const tenantId = Digit.ULBService.getCurrentTenantId(); + + + + const requestCriteria = { + url: "/mdms-v2/v2/_search", + body: { + MdmsCriteria: { + tenantId: tenantId, + schemaCode: "WORKS-SOR.SOR", + uniqueIdentifiers: inputDATA, + }, + }, + changeQueryName: "sorRates", + }; + + + try { + const data = await Digit.CustomService.getResponse(requestCriteria); + + return data["mdms"]; + + + } catch (error) { + + return []; + } + + + +}; + + const fetchTemplateData = async (searchText, setShowToast) => { - //method to fetch the data for estimate template - const tenantId = Digit.ULBService.getCurrentTenantId(); - let requestCriteria = { - url: "/mdms-v2/v1/_search", - body: { - MdmsCriteria: { - tenantId: tenantId, - // schemaCode: "WORKS.EstimateTemplate", - // limit: 100, - // offset: 0, - // filters: {} - "moduleDetails": [ - { - "moduleName": "WORKS", - "masterDetails": [ - { - "name": "EstimateTemplate", - "filter": `$[?(@.templateId=~/.*${searchText}.*/i || @.templateName=~/.*${searchText}.*/i )]` - } - ] - } - ] - } - }, - useCache: false, - setTimeParam: false - }; - - //either search with Template id or name - // if (searchText.startsWith("TMP_")) { - // requestCriteria.body.MdmsCriteria.filters.templateId = searchText; - // } else if (searchText.length >= 3) { - // requestCriteria.body.MdmsCriteria.filters.templateName = searchText; - // } else { - // setShowToast({ show: true, error: true, label: "WORKS_MINIMUM_CHAR_ERROR" }); - // return []; - // } - - try { - const data = await Digit.CustomService.getResponse(requestCriteria); - if (data?.MdmsRes?.WORKS?.EstimateTemplate?.length > 0) { - setShowToast({ show: false, label: "", error: false }) - return data?.MdmsRes?.WORKS?.EstimateTemplate; - } - //else { - // setShowToast({ show: true, error: true, label: "WORKS_TEMPLATE_NOT_FOUND_ERROR" }); - // return []; - // } - } catch (error) { - console.error(error); - setShowToast({ show: true, error: true, label: "TMP_API_ERROR" }); - return []; - } + //method to fetch the data for estimate template + const tenantId = Digit.ULBService.getCurrentTenantId(); + let requestCriteria = { + url: "/mdms-v2/v1/_search", + body: { + MdmsCriteria: { + tenantId: tenantId, + // schemaCode: "WORKS.EstimateTemplate", + // limit: 100, + // offset: 0, + // filters: {} + moduleDetails: [ + { + moduleName: "WORKS", + masterDetails: [ + { + name: "EstimateTemplate", + filter: `$[?(@.templateId=~/.*${searchText}.*/i || @.templateName=~/.*${searchText}.*/i )]`, + }, + ], + }, + ], + }, + }, + useCache: false, + setTimeParam: false, + }; + + + //either search with Template id or name + // if (searchText.startsWith("TMP_")) { + // requestCriteria.body.MdmsCriteria.filters.templateId = searchText; + // } else if (searchText.length >= 3) { + // requestCriteria.body.MdmsCriteria.filters.templateName = searchText; + // } else { + // setShowToast({ show: true, error: true, label: "WORKS_MINIMUM_CHAR_ERROR" }); + // return []; + // } + + + try { + const data = await Digit.CustomService.getResponse(requestCriteria); + if (data?.MdmsRes?.WORKS?.EstimateTemplate?.length > 0) { + setShowToast({ show: false, label: "", error: false }); + return data?.MdmsRes?.WORKS?.EstimateTemplate; + } + + } catch (error) { + + setShowToast({ show: true, error: true, label: "TMP_API_ERROR" }); + return []; + } }; -const fetchData = async (sorid, state, setState, setShowToast,t) => { - //fetch the data of SOR recieved from estimate template - const tenantId = Digit.ULBService.getCurrentTenantId(); - if(sorid == null) - { - setShowToast({show: true, error: true, label:"WORKS_CANNOT_ADD_EMPTY_DATA"}); - return true; - } - let currentDateInMillis = new Date().getTime(); - - const requestCriteria = { - url: "/mdms-v2/v1/_search", - body: { - MdmsCriteria: { - tenantId: tenantId, - moduleDetails: [ - { - moduleName: "WORKS-SOR", - masterDetails: [ - { - name: "Rates", - filter: `[?(@.sorId=='${sorid}')]`, - }, - ], - }, - ], - }, - }, - }; - try { - const data = await Digit.CustomService.getResponse(requestCriteria); - if (data?.MdmsRes?.["WORKS-SOR"]?.Rates?.length > 0) { - const Rates = data?.MdmsRes?.["WORKS-SOR"]?.Rates?.filter((rate) => { - // Convert validFrom and validTo to milliseconds - let validFromInMillis = new Date(parseInt(rate?.validFrom)).getTime(); - let validToInMillis = rate?.validTo ? new Date(parseInt(rate?.validTo)).getTime() : Infinity; - // Check if the current date is within the valid date range - return validFromInMillis <= currentDateInMillis - && currentDateInMillis < validToInMillis; - }); - if(Rates.length <= 0) - { - //setShowToast({show: true, error: true, label:`${t(`TMP_RATE_NO_ACTIVE_RATE_ERROR`)} ${sorid}`}); - return undefined; - } - return Rates; - } - else - { - //setShowToast({show: true, error: true, label:`${t(`TMP_RATE_NOT_FOUND_ERROR`)} ${sorid}`}); - return undefined; - } - } catch (error) { - // Handle any errors here - console.error(error); - } - }; +const fetchData = async (sorid, state, setState, setShowToast, t) => { + //fetch the data of SOR recieved from estimate template + const tenantId = Digit.ULBService.getCurrentTenantId(); + if (sorid == null) { + setShowToast({ show: true, error: true, label: "WORKS_CANNOT_ADD_EMPTY_DATA" }); + return true; + } + let currentDateInMillis = new Date().getTime(); + + + const requestCriteria = { + url: "/mdms-v2/v1/_search", + body: { + MdmsCriteria: { + tenantId: tenantId, + moduleDetails: [ + { + moduleName: "WORKS-SOR", + masterDetails: [ + { + name: "Rates", + filter: `[?(@.sorId=='${sorid}')]`, + }, + ], + }, + ], + }, + }, + }; + // const requestCriteria = { + // url: "/mdms-v2/v2/_search", + // body: { + // MdmsCriteria: { + // tenantId: tenantId, + // uniqueIdentifiers: [sorid], + // schemaCode: "WORKS-SOR.Rates", + + // }, + // }, + // changeQueryName: "ratesQuery", + // }; + try { + const data = await Digit.CustomService.getResponse(requestCriteria); + + if (data?.MdmsRes?.["WORKS-SOR"]?.Rates?.length > 0) { + const Rates = data?.MdmsRes?.["WORKS-SOR"]?.Rates?.filter((rate) => { + // Convert validFrom and validTo to milliseconds + let validFromInMillis = new Date(parseInt(rate?.validFrom)).getTime(); + + let validToInMillis = rate?.validTo && rate?.validTo !== "null" ? new Date(parseInt(rate?.validTo)).getTime() : Infinity; + + // Check if the current date is within the valid date range + return validFromInMillis <= currentDateInMillis && currentDateInMillis < validToInMillis; + }); + + if (Rates.length <= 0) { + //setShowToast({show: true, error: true, label:`${t(`TMP_RATE_NO_ACTIVE_RATE_ERROR`)} ${sorid}`}); + return undefined; + } + return Rates; + } else { + //setShowToast({show: true, error: true, label:`${t(`TMP_RATE_NOT_FOUND_ERROR`)} ${sorid}`}); + return undefined; + } + } catch (error) { + // Handle any errors here + + } +}; + const searchTemplate = (props) => { - const { t } = useTranslation(); - const [stateData, setStateData] = useState({ searchText: "" }); - const [selectedTemplate, setSelectedTemplate] = useState(null); - const [inputValue, setInputValue] = useState(""); - const [suggestions, setSuggestions] = useState([]); - const menuRef = useRef(); - const [showToast, setShowToast] = useState({ show: false, label: "", error: false }); - const { register, setValue, watch } = props; - let formData = watch("SOR"); - let formNonSORdata = watch('NONSOR') - - useEffect(() => { - register("searchSor", stateData); - }, []); - - useEffect(() => { - //if the text reaches minimun of 3 character it should search - if (stateData.searchText.length >= 3) { - fetchTemplateData(stateData.searchText, setShowToast).then((resp) => { - if(resp && resp?.length > 0) - { - setSuggestions(resp) - } - else - { - setSuggestions([{ templateName: t("TMP_NO_MATCHING_SOR") }]); - } - }); - } - }, [stateData.searchText]); - - const handleSearchTextChange = (event) => { - setStateData({ ...stateData, searchText: event.target.value }); - setInputValue(event.target.value); - }; - - const closeMenu = () => { - setSuggestions([]); -} - - Digit.Hooks.useClickOutside(menuRef, closeMenu, suggestions); - - const setFormValue = useCallback( - (value) => { - setValue("SOR", value); - setValue(`SORtable`, value); - }, - [setValue] - ); - - const setNonSORFormValue = useCallback( - (value) => { - setValue("NONSOR", value); - setValue(`NONSORtable`, value); - }, - [setValue] - ); - -const buttonClick = async () => { - // Check for duplicate SOR entries - // if ( - // formData?.length > 0 && - // formData?.find((ob) => ob?.sorCode && ob?.sorCode === stateData?.selectedTemplate?.data?.lineItems[0]?.sorCode) - // ) { - // setShowToast({ show: true, error: true, label: "WORKS_CANNOT_ADD_DUPLICATE_SOR" }); - // return; - // } - - // Transform SOR and non-SOR items - let transformedItems = stateData?.selectedTemplate?.lineItems.map(item => ({ - sNo: 1, - description: item.description, - uom: item.uom, - category: item.lineItemType, - approvedQuantity: item.quantity, - consumedQ: 0, - sorType: item.type, - sorSubType: item.subType, - sorCode: item.sorCode, - currentMBEntry: 0, - amount: 0, - measures: [], - targetId: null, - sorId: item.sorCode, - })); - - transformedItems = transformedItems?.filter(item => { - if (item.category === "NON-SOR") return true; // Always include NON-SOR items - return !formData.some(existingItem => existingItem.sorCode === item.sorCode); - }); - - try { - // Fetch rates for SOR items - const sorItems = transformedItems?.filter(item => item.category === "SOR") || []; - let ratesErrorSorIds = []; - for (const sor of sorItems) { - const apiData = await fetchData(sor.sorCode, formData, setFormValue, setShowToast,t); - if (apiData !== undefined && apiData?.[0]?.sorId === sor.sorId) { - sor.unitRate = apiData?.[0]?.rate || 0; - sor.amountDetails = apiData?.[0]?.amountDetails; - } else { - ratesErrorSorIds.push(sor?.sorCode); - console.error('Rates not available in fetchData response'); - } - } - - if(ratesErrorSorIds?.length > 0) - { - setShowToast({show: true, error: true, label:`${t(`TMP_RATE_NOT_FOUND_OR_ACTIVE_ERROR`)} ${ratesErrorSorIds.join(", ")} `}); - } - - // Combine SOR and non-SOR items - let updatedFormData = [...formData, ...transformedItems?.filter(item => item.category === "SOR" && item?.amountDetails)]; - - // Remove any placeholder entries if present - updatedFormData = updatedFormData?.filter(item => item.description); - - setFormValue(updatedFormData); - let updateNonsorFormdata = [...formNonSORdata, ...transformedItems?.filter(item => item.category === "NON-SOR")]; - updateNonsorFormdata = updateNonsorFormdata?.filter(item => item.description); - setNonSORFormValue(updateNonsorFormdata); - setInputValue(""); - setStateData({ ...stateData, SORSubType: null, SORVariant: null, selectedTemplate: null }); - } catch (error) { - console.error('Error fetching data:', error); - } - - setSelectedTemplate(null); - }; - - const handleSelectOption = (option) => { - //check if optionid is there or not - if(option?.templateId) - { - setStateData({...stateData, selectedTemplate:option}); - setInputValue(option?.templateName); - setSelectedTemplate(option); - setSuggestions([]); - } - }; - - return ( -
-
- {t("ESTIMATE_SEARCH_TEMPLATE_LABEL")} -
-
- - {suggestions?.length > 0 && ( -
    - {suggestions.map((option) => ( -
  • handleSelectOption(option)}> - {option?.templateName} -
  • - ))} -
- )} -
-
-
- {showToast?.show && ( - setShowToast({ show: false, label: "", error: false })} - /> - )} -
- ); + const { t } = useTranslation(); + const [stateData, setStateData] = useState({ searchText: "" }); + const [selectedTemplate, setSelectedTemplate] = useState(null); + const [inputValue, setInputValue] = useState(""); + const [suggestions, setSuggestions] = useState([]); + const menuRef = useRef(); + const [showToast, setShowToast] = useState({ show: false, label: "", error: false }); + const { register, setValue, watch } = props; + let formData = watch("SOR"); + let formNonSORdata = watch("NONSOR"); + + + useEffect(() => { + register("searchSor", stateData); + }, []); + + + useEffect(() => { + //if the text reaches minimun of 3 character it should search + if (stateData.searchText.length >= 3) { + fetchTemplateData(stateData.searchText, setShowToast).then((resp) => { + if (resp && resp?.length > 0) { + setSuggestions(resp); + } else { + setSuggestions([{ templateName: t("TMP_NO_MATCHING_SOR") }]); + } + }); + } + }, [stateData.searchText]); + + + const handleSearchTextChange = (event) => { + setStateData({ ...stateData, searchText: event.target.value }); + setInputValue(event.target.value); + }; + + + const closeMenu = () => { + setSuggestions([]); + }; + + + Digit.Hooks.useClickOutside(menuRef, closeMenu, suggestions); + + + const setFormValue = useCallback( + (value) => { + setValue("SOR", value); + setValue(`SORtable`, value); + }, + [setValue] + ); + + + const setNonSORFormValue = useCallback( + (value) => { + setValue("NONSOR", value); + setValue(`NONSORtable`, value); + }, + [setValue] + ); + + + const buttonClick = async () => { + // Check for duplicate SOR entries + // if ( + // formData?.length > 0 && + // formData?.find((ob) => ob?.sorCode && ob?.sorCode === stateData?.selectedTemplate?.data?.lineItems[0]?.sorCode) + // ) { + // setShowToast({ show: true, error: true, label: "WORKS_CANNOT_ADD_DUPLICATE_SOR" }); + // return; + // } + + + // Transform SOR and non-SOR items + let transformedItems = stateData?.sorDetails? stateData?.sorDetails?.map((item) => ({ + sNo: 1, + description: item?.data?.description, + uom: item?.data?.uom, + category: "SOR", + approvedQuantity: item?.data?.quantity, + consumedQ: 0, + sorType: item?.data?.sorType, + sorSubType: item?.data?.sorSubType, + sorCode: item?.data?.id, + currentMBEntry: 0, + amount: 0, + measures: [], + targetId: null, + sorId: item?.data?.id, + })):[]; + + + let nosSorData = stateData?.selectedTemplate.nonSorLineItems? stateData?.selectedTemplate.nonSorLineItems?.map((item) => ({ + sNo: 1, + description: item?.description, + uom: item?.uom, + category: "NON-SOR", + approvedQuantity: item?.quantity, + consumedQ: 0, + sorType: item?.sorType, + sorSubType: item?.sorSubType, + sorCode: item?.id, + currentMBEntry: 0, + amount: 0, + measures: [], + targetId: null, + sorId: item?.id, + })):[]; + + + + transformedItems.push(...nosSorData); + + + + transformedItems = transformedItems?.filter((item) => { + if (item.category === "NON-SOR") return true; // Always include NON-SOR items + return !formData.some((existingItem) => existingItem.sorCode === item.sorCode); + }); + + + try { + // Fetch rates for SOR items + const sorItems = transformedItems?.filter((item) => item.category === "SOR") || []; + let ratesErrorSorIds = []; + for (const sor of sorItems) { + + const apiData = await fetchData(sor.sorCode, formData, setFormValue, setShowToast, t); + if (apiData !== undefined && apiData?.[0]?.sorId === sor.sorId) { + sor.unitRate = apiData?.[0]?.rate || 0; + sor.amountDetails = apiData?.[0]?.amountDetails; + } else { + ratesErrorSorIds.push(sor?.sorCode); + console.error("Rates not available in fetchData response"); + } + } + + + if (ratesErrorSorIds?.length > 0) { + + setShowToast({ show: true, error: true, label: `${t(`TMP_RATE_NOT_FOUND_OR_ACTIVE_ERROR`)} ${ratesErrorSorIds.join(", ")} ` }); + } + + + // Combine SOR and non-SOR items + let updatedFormData = [...formData, ...transformedItems?.filter((item) => item.category === "SOR" && item?.amountDetails)]; + + + // Remove any placeholder entries if present + updatedFormData = updatedFormData?.filter((item) => item.description); + + + setFormValue(updatedFormData); + let updateNonsorFormdata = [...formNonSORdata, ...transformedItems?.filter((item) => item.category === "NON-SOR")]; + updateNonsorFormdata = updateNonsorFormdata?.filter((item) => item.description); + setNonSORFormValue(updateNonsorFormdata); + setInputValue(""); + setStateData({ ...stateData, SORSubType: null, SORVariant: null, selectedTemplate: null }); + } catch (error) { + console.error("Error fetching data:", error); + } + + + setSelectedTemplate(null); + }; + + + const handleSelectOption = async (option) => { + //check if optionid is there or not + + if (option?.templateId) { + + const sorCodes = option.sorLineItems.map((item) => item.sorCode); + + await fetchSorDetails(sorCodes).then((listData) => { + setStateData({ + ...stateData, + selectedTemplate: option, + + + sorDetails: listData, + }); + setInputValue(option?.templateName); + setSelectedTemplate(option); + setSuggestions([]); + }); + + } + }; + + + return ( +
+
+ {t("ESTIMATE_SEARCH_TEMPLATE_LABEL")} +
+
+ + {suggestions?.length > 0 && ( +
    + {suggestions.map((option) => ( +
  • handleSelectOption(option)}> + {option?.templateName} +
  • + ))} +
+ )} +
+
+
+ {showToast?.show && ( + setShowToast({ show: false, label: "", error: false })} + /> + )} +
+ ); }; + export default searchTemplate; + + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/Module.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/Module.js index c0093ca987..856d3a0283 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/Module.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/Module.js @@ -15,7 +15,7 @@ const MeasurementModule = ({ stateCode, userType, tenants }) => { const { path, url } = useRouteMatch(); const language = Digit.StoreData.getCurrentLanguage(); const tenantId = Digit.ULBService.getCurrentTenantId(); - const moduleCode = ["measurement", "common-masters", "workflow", tenantId]; + const moduleCode = ["measurement", "common-masters", "workflow", tenantId,"mdms"]; const { isLoading, data: store } = Digit.Services.useStore({ stateCode, moduleCode, From 2f851c9cac22ae0a7fa55e001597b2b43a71d04e Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 16 Jul 2024 19:02:33 +0530 Subject: [PATCH 075/292] labour cess implemented and screen redirection in case of create API fails --- .../src/configs/viewStatementConfig.js | 12 ++-- .../pageComponents/ViewAnalysisStatement.js | 59 ++++++++++++------- .../Measurement/src/configs/viewUtilConfig.js | 9 ++- 3 files changed, 53 insertions(+), 27 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js index 650b947d63..0af478e374 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js @@ -99,7 +99,12 @@ export const data = (statementDetails, rawData, oldData) => { }, { key: "STATEMENT_LABOUR_CESS", - value: Digit.Utils.dss.formatterWithoutRound( + value:oldData + ? oldData?.LabourCessCost?.includes(",") + ? oldData?.LabourCessCost + : parseFloat(oldData?.LabourCessCost).toFixed(2) + : statementDetails? + Digit.Utils.dss.formatterWithoutRound( parseFloat( statementDetails?.sorDetails.reduce((acc, ob) => { return acc + (ob?.additionalDetails?.labourCessAmount || 0); @@ -110,9 +115,8 @@ export const data = (statementDetails, rawData, oldData) => { true, undefined, 2 - ), - amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, - rowContainerStyle: {justifyContent : "revert"} + ):parseFloat(0).toFixed(2), + amountStyle: { maxWidth: "12%", textAlign: "end" }, }, ], }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index 483fd1d8de..fc96eb19aa 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -20,8 +20,9 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { const ChargesCodeMapping = { LabourCost: ["LA"], - MaterialCost: ["MA", "RA", "CA", "EMF", "DMF", "ADC", "LC"], + MaterialCost: ["MA", "RA", "CA", "EMF", "DMF", "ADC"], MachineryCost: ["MHA"], + LabourCessCost:["LC"] }; const requestCriteria = { @@ -90,7 +91,6 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { ); })?.[0]?.amountDetails; - let amount = amountDetails?.reduce( (total, item) => total + (categories.some((category) => item?.heads?.includes(category)) ? item?.amount : 0), 0 @@ -100,7 +100,6 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { }, 0); } - // if (window.location.href.includes("estimate-details") || window.location.href.includes("measurement/view")) { // if (categories?.includes("LA") && SORAmount == 0 && formData?.additionalDetails?.labourMaterialAnalysis?.labour) // SORAmount = formData?.additionalDetails?.labourMaterialAnalysis?.labour; @@ -170,13 +169,23 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { if (isEstimate) { await AnalysisMutation(payload, { onError: async (error) => { - setShowToast({ - error: true, - label: error?.response?.data?.Errors?.[0].message || error, - }); setTimeout(() => { - setShowToast(false); - }, 5000); + history.push({ + pathname: `/${window?.contextPath}/employee/estimate/view-analysis-statement`, + state: { + + estimateId: formData?.SORtable?.[0]?.estimateId, + number: window.location.href.includes("revision") ? revisionNumber : formData?.estimateNumber, + downloadStatus: false, + oldData: { + Labour: getAnalysisCost(ChargesCodeMapping.LabourCost), + Material: getAnalysisCost(ChargesCodeMapping.MaterialCost), + Machinery: getAnalysisCost(ChargesCodeMapping.MachineryCost), + LabourCessCost:getAnalysisCost(ChargesCodeMapping.LabourCessCost) + }, + }, + }); + }, 1000); }, onSuccess: async (responseData) => { setTimeout(() => { @@ -186,7 +195,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { responseData: responseData, estimateId: formData?.SORtable?.[0]?.estimateId, number: window.location.href.includes("revision") ? revisionNumber : formData?.estimateNumber, - downloadStatus: true, + }, }); }, 1000); @@ -195,14 +204,24 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { } else { await UtilizationMutation(payload, { onError: async (error) => { - setShowToast({ - error: true, - label: error?.response?.data?.Errors?.[0].message || error, - }); - + debugger setTimeout(() => { - setShowToast(false); - }, 5000); + history.push({ + pathname: `/${window?.contextPath}/employee/estimate/view-analysis-statement`, + state: { + + estimateId: formData?.SORtable?.[0]?.estimateId, + number: window.location.href.includes("revision") ? revisionNumber : formData?.estimateNumber, + downloadStatus: false, + oldData: { + Labour: getAnalysisCost(ChargesCodeMapping.LabourCost), + Material: getAnalysisCost(ChargesCodeMapping.MaterialCost), + Machinery: getAnalysisCost(ChargesCodeMapping.MachineryCost), + LabourCessCost:getAnalysisCost(ChargesCodeMapping.LabourCessCost) + }, + }, + }); + }, 1000); }, onSuccess: async (responseData) => { setTimeout(() => { @@ -249,14 +268,12 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { downloadStatus: true, }; - if ( - (!searchResponse || searchResponse?.statement?.length <= 0) && - (isEstimate ? formData?.wfStatus === "APPROVED" : formData?.Measurement?.wfStatus === "APPROVED") - ) { + if (!searchResponse || searchResponse?.statement?.length <= 0) { state.oldData = { Labour: getAnalysisCost(ChargesCodeMapping.LabourCost), Material: getAnalysisCost(ChargesCodeMapping.MaterialCost), Machinery: getAnalysisCost(ChargesCodeMapping.MachineryCost), + LabourCessCost:getAnalysisCost(ChargesCodeMapping.LabourCessCost) }; state.downloadStatus = false; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js index e23794477c..f751a62cd4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js @@ -93,7 +93,12 @@ export const data = (statementDetails, rawData, oldData) => { }, { key: "STATEMENT_LABOUR_CESS", - value: Digit.Utils.dss.formatterWithoutRound( + value: oldData + ? oldData?.LabourCessCost?.includes(",") + ? oldData?.LabourCessCost + : parseFloat(oldData?.LabourCessCost).toFixed(2) + : statementDetails? + Digit.Utils.dss.formatterWithoutRound( parseFloat( statementDetails?.sorDetails.reduce((acc, ob) => { return acc + (ob?.additionalDetails?.labourCessAmount || 0); @@ -104,7 +109,7 @@ export const data = (statementDetails, rawData, oldData) => { true, undefined, 2 - ), + ):parseFloat(0).toFixed(2), amountStyle: { maxWidth: "12%", textAlign: "end" }, }, ], From a95a2dc6f71a7dc2c003686a27d877e9a9b40649 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 16 Jul 2024 19:08:10 +0530 Subject: [PATCH 076/292] debugger removed --- .../Estimate/src/pageComponents/ViewAnalysisStatement.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index fc96eb19aa..4807a732bc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -204,7 +204,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { } else { await UtilizationMutation(payload, { onError: async (error) => { - debugger + setTimeout(() => { history.push({ pathname: `/${window?.contextPath}/employee/estimate/view-analysis-statement`, From 763cabdd31f60cb3e7f08f417bc755cda5fee86b Mon Sep 17 00:00:00 2001 From: Lokendra Tyagi Date: Wed, 17 Jul 2024 13:05:39 +0530 Subject: [PATCH 077/292] modified skills details --- .../templates/ApplicationDetails/components/SkillDetails.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/SkillDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/SkillDetails.js index a033b749b5..4e31e8128e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/SkillDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/SkillDetails.js @@ -11,7 +11,7 @@ const SkillDetails = ({ data }) => {
{ data?.skillData?.length > 0 ? data?.skillData?.map((item, index) => ( -
{t(`COMMON_MASTERS_SKILLS_${item?.level}.${item?.type}`)}
+
{t(`COMMON_MASTERS_SKILLS_${item?.level}`)}
)) : t('NA') } From 80f81516bf32154805707f75401e1cae877b605a Mon Sep 17 00:00:00 2001 From: Lokendra Tyagi Date: Wed, 17 Jul 2024 14:11:18 +0530 Subject: [PATCH 078/292] upgraded version of master module --- frontend/micro-ui/web/micro-ui-internals/example/package.json | 2 +- .../micro-ui-internals/packages/modules/Masters/package.json | 2 +- frontend/micro-ui/web/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index d890494744..fe7c2bb4d9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -18,7 +18,7 @@ "@egovernments/digit-ui-module-contracts": "0.4.2", "@egovernments/digit-ui-module-measurement":"0.2.0", "@egovernments/digit-ui-module-estimate": "0.4.5", - "@egovernments/digit-ui-module-masters": "0.4.3", + "@egovernments/digit-ui-module-masters": "0.4.4", "@egovernments/digit-ui-module-project": "0.4.1", "@egovernments/digit-ui-module-expenditure": "0.4.1", "@egovernments/digit-ui-customisation-mukta": "0.2.1", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json index cd67f7d7ec..d2fca7b8d4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-masters", - "version": "0.4.3", + "version": "0.4.4", "description": "Masters Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index 83c1e1b0e7..efe8271b73 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -27,7 +27,7 @@ "@egovernments/digit-ui-module-contracts": "0.4.2", "@egovernments/digit-ui-module-measurement":"0.2.0", "@egovernments/digit-ui-module-estimate": "0.4.5", - "@egovernments/digit-ui-module-masters": "0.4.3", + "@egovernments/digit-ui-module-masters": "0.4.4", "@egovernments/digit-ui-module-project": "0.4.1", "@egovernments/digit-ui-module-expenditure": "0.4.1", "@egovernments/digit-ui-customisation-mukta": "0.2.1", From c316a4cc89f4fd95c3ffe711317cbaccd770d1ab Mon Sep 17 00:00:00 2001 From: Lokendra Tyagi Date: Wed, 17 Jul 2024 14:51:25 +0530 Subject: [PATCH 079/292] modified skills in view modify wageseeker --- frontend/micro-ui/web/micro-ui-internals/example/package.json | 2 +- .../micro-ui-internals/packages/modules/Masters/package.json | 2 +- .../packages/modules/Masters/src/utils/index.js | 2 +- frontend/micro-ui/web/package.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index fe7c2bb4d9..e8329bc658 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -18,7 +18,7 @@ "@egovernments/digit-ui-module-contracts": "0.4.2", "@egovernments/digit-ui-module-measurement":"0.2.0", "@egovernments/digit-ui-module-estimate": "0.4.5", - "@egovernments/digit-ui-module-masters": "0.4.4", + "@egovernments/digit-ui-module-masters": "0.4.5", "@egovernments/digit-ui-module-project": "0.4.1", "@egovernments/digit-ui-module-expenditure": "0.4.1", "@egovernments/digit-ui-customisation-mukta": "0.2.1", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json index d2fca7b8d4..27208caa0a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-masters", - "version": "0.4.4", + "version": "0.4.5", "description": "Masters Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/utils/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/utils/index.js index 3a5f2e1f60..c8a0c6febc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/utils/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/utils/index.js @@ -19,7 +19,7 @@ export const updateWageSeekerFormDefaultValues = async ({configs, isModify, sess const adhaar = individual?.identifiers?.find(item => item?.identifierType === 'AADHAAR') const socialCategory = individual?.additionalFields?.fields?.find(item => item?.key === "SOCIAL_CATEGORY") - const skills = individual?.skills?.length > 0 ? individual?.skills?.map(skill => ({code: `${skill?.level}.${skill?.type}`, name: `COMMON_MASTERS_SKILLS_${skill?.level}.${skill?.type}`})) : "" + const skills = individual?.skills?.length > 0 ? individual?.skills?.map(skill => ({code: `${skill?.level}.${skill?.type}`, name: `COMMON_MASTERS_SKILLS_${skill?.level}`})) : "" let photo = '' try { diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index efe8271b73..70c9d31933 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -27,7 +27,7 @@ "@egovernments/digit-ui-module-contracts": "0.4.2", "@egovernments/digit-ui-module-measurement":"0.2.0", "@egovernments/digit-ui-module-estimate": "0.4.5", - "@egovernments/digit-ui-module-masters": "0.4.4", + "@egovernments/digit-ui-module-masters": "0.4.5", "@egovernments/digit-ui-module-project": "0.4.1", "@egovernments/digit-ui-module-expenditure": "0.4.1", "@egovernments/digit-ui-customisation-mukta": "0.2.1", From 2d01d2c6e40ab226077c3e5403354632d928ed57 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 18 Jul 2024 10:52:13 +0530 Subject: [PATCH 080/292] action button draggable done and fontsize changed and bold implemented --- .../lib/pages/employee/mb_detail_page.dart | 357 +++++++++++++----- .../lib/pages/employee/mb_history.dart | 124 ++++-- 2 files changed, 367 insertions(+), 114 deletions(-) diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index 75373fa13a..bac0cf0cb2 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -130,11 +130,8 @@ class _MBDetailPageState extends State state.maybeMap( orElse: () => {}, loaded: (value) { - - if (widget.type == MBScreen.update) { context.read().add( - FetchMBWorkFlowEvent( tenantId: GlobalVariables.tenantId!, mbNumber: widget.mbNumber!), @@ -209,7 +206,6 @@ class _MBDetailPageState extends State ); }, ), - ], child: DefaultTabController( length: 3, @@ -251,25 +247,64 @@ class _MBDetailPageState extends State final g = mbWorkFlow .musterWorkFlowModel?.processInstances; - return FloatActionCard( - actions: () { - DigitActionDialog.show( - context, - widget: CommonButtonCard( - g: g, - contractNumber: widget.contractNumber, - mbNumber: widget.mbNumber, - type: widget.type, - ), - ); - }, - // amount: sorprice.toString(), - amount: value.data.first.totalAmount != null - ? value.data.first.totalAmount! - .roundToDouble() - .toStringAsFixed(2) - : "0.00", - openButtonSheet: () { + return Draggable( + childWhenDragging: FloatActionCard( + actions: () { + DigitActionDialog.show( + context, + widget: CommonButtonCard( + g: g, + contractNumber: widget.contractNumber, + mbNumber: widget.mbNumber, + type: widget.type, + ), + ); + }, + // amount: sorprice.toString(), + amount: value.data.first.totalAmount != null + ? value.data.first.totalAmount! + .roundToDouble() + .toStringAsFixed(2) + : "0.00", + openButtonSheet: () { + _openBottomSheet( + t, + context, + value.data.first.totalSorAmount!, + value.data.first.totalNorSorAmount!, + value.data.first.totalAmount!, + g, + widget.contractNumber, + widget.mbNumber, + widget.type, + null, + (g != null && + (g.first.nextActions != + null && + g.first.nextActions! + .isEmpty)) + ? false + : true, + workorderStatus, + estimateStatus, + (value.data.length >= 2 + ? (value.data[1].wfStatus == + "APPROVED" || + value.data[1].wfStatus == + "REJECTED") + : false)); + }, + totalAmountText: t.translate( + i18.measurementBook.totalMbAmount), + subtext: t.translate( + i18.measurementBook.forCurrentEntry), + showAction: (g != null && + (g.first.nextActions != null && + g.first.nextActions!.isEmpty)) + ? false + : true, + ), + onDragEnd: (details) { _openBottomSheet( t, context, @@ -296,15 +331,119 @@ class _MBDetailPageState extends State "REJECTED") : false)); }, - totalAmountText: t.translate( - i18.measurementBook.totalMbAmount), - subtext: t.translate( - i18.measurementBook.forCurrentEntry), - showAction: (g != null && - (g.first.nextActions != null && - g.first.nextActions!.isEmpty)) - ? false - : true, + feedback: const SizedBox.shrink(), + // feedback: FloatActionCard( + // actions: () { + // DigitActionDialog.show( + // context, + // widget: CommonButtonCard( + // g: g, + // contractNumber: widget.contractNumber, + // mbNumber: widget.mbNumber, + // type: widget.type, + // ), + // ); + // }, + // // amount: sorprice.toString(), + // amount: value.data.first.totalAmount != null + // ? value.data.first.totalAmount! + // .roundToDouble() + // .toStringAsFixed(2) + // : "0.00", + // openButtonSheet: () { + // _openBottomSheet( + // t, + // context, + // value.data.first.totalSorAmount!, + // value.data.first.totalNorSorAmount!, + // value.data.first.totalAmount!, + // g, + // widget.contractNumber, + // widget.mbNumber, + // widget.type, + // null, + // (g != null && + // (g.first.nextActions != + // null && + // g.first.nextActions! + // .isEmpty)) + // ? false + // : true, + // workorderStatus, + // estimateStatus, + // (value.data.length >= 2 + // ? (value.data[1].wfStatus == + // "APPROVED" || + // value.data[1].wfStatus == + // "REJECTED") + // : false)); + // }, + // totalAmountText: t.translate( + // i18.measurementBook.totalMbAmount), + // subtext: t.translate( + // i18.measurementBook.forCurrentEntry), + // showAction: (g != null && + // (g.first.nextActions != null && + // g.first.nextActions!.isEmpty)) + // ? false + // : true, + // ), + child: FloatActionCard( + actions: () { + DigitActionDialog.show( + context, + widget: CommonButtonCard( + g: g, + contractNumber: widget.contractNumber, + mbNumber: widget.mbNumber, + type: widget.type, + ), + ); + }, + // amount: sorprice.toString(), + amount: value.data.first.totalAmount != null + ? value.data.first.totalAmount! + .roundToDouble() + .toStringAsFixed(2) + : "0.00", + openButtonSheet: () { + _openBottomSheet( + t, + context, + value.data.first.totalSorAmount!, + value.data.first.totalNorSorAmount!, + value.data.first.totalAmount!, + g, + widget.contractNumber, + widget.mbNumber, + widget.type, + null, + (g != null && + (g.first.nextActions != + null && + g.first.nextActions! + .isEmpty)) + ? false + : true, + workorderStatus, + estimateStatus, + (value.data.length >= 2 + ? (value.data[1].wfStatus == + "APPROVED" || + value.data[1].wfStatus == + "REJECTED") + : false)); + }, + totalAmountText: t.translate( + i18.measurementBook.totalMbAmount), + subtext: t.translate( + i18.measurementBook.forCurrentEntry), + showAction: (g != null && + (g.first.nextActions != null && + g.first.nextActions!.isEmpty)) + ? false + : true, + ), ); }, ); @@ -324,7 +463,6 @@ class _MBDetailPageState extends State return FloatActionCard( actions: () { - DigitActionDialog.show( context, widget: CommonButtonCard( @@ -335,9 +473,7 @@ class _MBDetailPageState extends State bs: bk, ), ); - }, - amount: value.data.first.totalAmount != null ? value.data.first.totalAmount! .roundToDouble() @@ -567,7 +703,6 @@ class _MBDetailPageState extends State index, magic: value.sor![index] .filteredMeasurementsMeasure, - preSorNonSor: value.preSor == null ? null @@ -619,12 +754,10 @@ class _MBDetailPageState extends State int index) { return sorCard( t, - context, index, + context, + index, magic: value.nonSor![index] .filteredMeasurementsMeasure, - - - preSorNonSor: value.preNonSor == null ? null @@ -648,7 +781,6 @@ class _MBDetailPageState extends State .sorId)! .filteredMeasurementsMeasure : null, - type: "NonSor", sorNonSorId: value.nonSor![index].sorId!, @@ -767,7 +899,6 @@ class _MBDetailPageState extends State padding: const EdgeInsets .all(4), - child: Text( t.translate(i18 .measurementBook @@ -852,7 +983,6 @@ class _MBDetailPageState extends State ), ) : DigitCard( - child: ListView.builder( physics: const NeverScrollableScrollPhysics(), @@ -1195,25 +1325,22 @@ class _MBDetailPageState extends State } } - double photoSize(int photok){ + double photoSize(int photok) { + switch (photok) { + case 1: + return (photok * 115) + 112; + case 2: + return (photok * 100) + 88; + case 3: + return (photok * 100) + 80; + case 4: + return (photok * 90) + 80; + case 5: + return (photok * 80) + 80; -switch (photok) { - case 1: - return (photok * 115) + 112; - case 2: - return (photok * 100) + 88; - case 3: - return (photok * 100) + 80; - case 4: - return (photok * 90) + 80; - case 5: - return (photok * 80) + 80; - - - default: - return 350; -} - + default: + return 350; + } } Card sorCard( @@ -1247,9 +1374,6 @@ switch (photok) { .toStringAsFixed(4); }); - - - return Card( child: SizedBox( height: 480, @@ -1290,9 +1414,9 @@ switch (photok) { crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( - padding: const EdgeInsets.only(bottom: 8.0), + padding: const EdgeInsets.only(bottom: 10.0), child: Text(t.translate(i18.measurementBook.currentMBEntry), - style: Theme.of(context).textTheme.labelSmall), + style: Theme.of(context).textTheme.headlineSmall), ), Container( padding: const EdgeInsets.all(5.0), @@ -1386,27 +1510,76 @@ switch (photok) { ), // end - - DigitTextField( - controller: TextEditingController() - ..value - ..text = (magic.fold(0.0, (sum, obj) { - double m = obj.mbAmount != null - ? (obj.mbAmount != null && obj.mbAmount! < 0) - ? (obj.mbAmount! * (-1)) - : obj.mbAmount! - : 0.00; - if (obj.contracts?.first.estimates?.first.isDeduction == - true) { - m = -(m); // Negate the amount for deductions - } else { - m = (m); - } - return sum + m; - })).toStringAsFixed(2), - label: t.translate(i18.measurementBook.mbAmtCurrentEntry), - isDisabled: true, + Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top:12.0,bottom: 8.0), + child: Text(t.translate(i18.measurementBook.mbAmtCurrentEntry), + style: Theme.of(context).textTheme.headlineSmall), + ), + Container( + width: MediaQuery.sizeOf(context).width, + padding: const EdgeInsets.only(top:10.0, left: 5.0,right: 5.0,bottom: 10), + decoration: BoxDecoration( + border: Border.all( + color: const DigitColors().cloudGray, + width: 2.0, + ), + borderRadius: BorderRadius.circular(1), + ), + child: Padding( + padding: const EdgeInsets.only(left: 4.0), + child: Text( + (magic.fold(0.0, (sum, obj) { + double m = obj.mbAmount != null + ? (obj.mbAmount != null && obj.mbAmount! < 0) + ? (obj.mbAmount! * (-1)) + : obj.mbAmount! + : 0.00; + if (obj.contracts?.first.estimates?.first + .isDeduction == + true) { + m = -(m); // Negate the amount for deductions + } else { + m = (m); + } + return sum + m; + })).toStringAsFixed(2), + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w400, + ), + maxLines: 3, + ), + ), + ), + ], ), + + // + + // DigitTextField( + // controller: TextEditingController() + // ..value + // ..text = (magic.fold(0.0, (sum, obj) { + // double m = obj.mbAmount != null + // ? (obj.mbAmount != null && obj.mbAmount! < 0) + // ? (obj.mbAmount! * (-1)) + // : obj.mbAmount! + // : 0.00; + // if (obj.contracts?.first.estimates?.first.isDeduction == + // true) { + // m = -(m); // Negate the amount for deductions + // } else { + // m = (m); + // } + // return sum + m; + // })).toStringAsFixed(2), + // label: t.translate(i18.measurementBook.mbAmtCurrentEntry), + // isDisabled: true, + // ), ], ), ), @@ -1444,6 +1617,14 @@ switch (photok) { mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisSize: MainAxisSize.min, children: [ + const Center( + child: SizedBox( + width: 100, + child: Divider( + thickness: 5, + ), + ), + ), Container( decoration: const BoxDecoration( border: Border( @@ -1579,8 +1760,6 @@ switch (photok) { ), ); } else { - - DigitActionDialog.show( context, widget: CommonButtonCard( @@ -1593,7 +1772,7 @@ switch (photok) { ); } -// before + // before }) : const SizedBox.shrink(), ], diff --git a/frontend/works_shg_app/lib/pages/employee/mb_history.dart b/frontend/works_shg_app/lib/pages/employee/mb_history.dart index afe52e311d..f5924c3739 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_history.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_history.dart @@ -76,23 +76,51 @@ class _MBHistoryBookPageState extends State { loaded: (mbWorkFlow) { final g = mbWorkFlow .musterWorkFlowModel?.processInstances; - return FloatActionCard( - actions: () { - DigitActionDialog.show( - context, - widget: CommonButtonCard( - g: g, - contractNumber: widget.contractNumber, - mbNumber: widget.mbNumber, - type: widget.type, - ), - ); - }, - amount: value.data.first.totalAmount != null - ? value.data.first.totalAmount!.roundToDouble() - .toStringAsFixed(2) - : "0.00", - openButtonSheet: () { + return Draggable( + childWhenDragging:FloatActionCard( + actions: () { + DigitActionDialog.show( + context, + widget: CommonButtonCard( + g: g, + contractNumber: widget.contractNumber, + mbNumber: widget.mbNumber, + type: widget.type, + ), + ); + }, + amount: value.data.first.totalAmount != null + ? value.data.first.totalAmount! + .roundToDouble() + .toStringAsFixed(2) + : "0.00", + openButtonSheet: () { + _openBottomSheet( + t, + context, + value.data.first.totalSorAmount!, + value.data.first.totalNorSorAmount!, + value.data.first.totalAmount!, + g, + widget.contractNumber, + widget.mbNumber, + (g != null && + (g.first.nextActions != + null && + g.first.nextActions! + .isEmpty)) + ? false + : true); + }, + totalAmountText: t.translate( + i18.measurementBook.totalMbAmount), + showAction: (g != null && + (g.first.nextActions != null && + g.first.nextActions!.isEmpty)) + ? false + : true, + ) , + onDragEnd: (details) { _openBottomSheet( t, context, @@ -109,13 +137,50 @@ class _MBHistoryBookPageState extends State { ? false : true); }, - totalAmountText: t.translate( - i18.measurementBook.totalMbAmount), - showAction: (g != null && - (g.first.nextActions != null && - g.first.nextActions!.isEmpty)) - ? false - : true, + feedback: const SizedBox.shrink(), + child: FloatActionCard( + actions: () { + DigitActionDialog.show( + context, + widget: CommonButtonCard( + g: g, + contractNumber: widget.contractNumber, + mbNumber: widget.mbNumber, + type: widget.type, + ), + ); + }, + amount: value.data.first.totalAmount != null + ? value.data.first.totalAmount! + .roundToDouble() + .toStringAsFixed(2) + : "0.00", + openButtonSheet: () { + _openBottomSheet( + t, + context, + value.data.first.totalSorAmount!, + value.data.first.totalNorSorAmount!, + value.data.first.totalAmount!, + g, + widget.contractNumber, + widget.mbNumber, + (g != null && + (g.first.nextActions != + null && + g.first.nextActions! + .isEmpty)) + ? false + : true); + }, + totalAmountText: t.translate( + i18.measurementBook.totalMbAmount), + showAction: (g != null && + (g.first.nextActions != null && + g.first.nextActions!.isEmpty)) + ? false + : true, + ), ); }, ); @@ -174,7 +239,8 @@ class _MBHistoryBookPageState extends State { widget.type == MBScreen.update ? index : index; if (adjustedIndex <= k.length) { return CommonMBCard( - padding: const EdgeInsets.only(left:8.0,top: 8.0,right: 8.0,bottom: 0), + padding: const EdgeInsets.only( + left: 8.0, top: 8.0, right: 8.0, bottom: 0), headLabel: "${DateFormat('dd/MM/yyyy').format(DateTime.fromMillisecondsSinceEpoch(k[adjustedIndex].startDate!))} - ${DateFormat('dd/MM/yyyy').format(DateTime.fromMillisecondsSinceEpoch(k[adjustedIndex].endDate!))}", items: { @@ -257,6 +323,14 @@ class _MBHistoryBookPageState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisSize: MainAxisSize.min, children: [ + const Center( + child: SizedBox( + width: 100, + child: Divider( + thickness: 5, + ), + ), + ), Container( decoration: const BoxDecoration( border: Border( From cd0e648244959deab34ce26e28481f84305f70f8 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 18 Jul 2024 11:13:33 +0530 Subject: [PATCH 081/292] Updated the logic for submit in extra charges --- .../RateAnalysis/src/pages/employee/CreateRateAnalysis.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js index 0ec42105ca..d059c0d8b9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js @@ -206,6 +206,11 @@ const { isLoading : isallCompositionLoading, data : allcompositionData} = Digit. return; } + if(isUpdate) + { + data.extraCharges = data?.extraCharges?.filter((ob) => ob?.applicableOn && ob?.calculationType && ob?.figure && ob?.description ) + } + if(selectedApprover) data.selectedApprover = selectedApprover; From efbdc3e7b54ac8a67ef244c2b96e76fcdbd40e5e Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 18 Jul 2024 11:55:59 +0530 Subject: [PATCH 082/292] UI font size changed --- .../lib/pages/employee/mb_detail_page.dart | 148 ++++++++++++++---- .../lib/widgets/mb/mb_detail_card.dart | 2 +- .../lib/widgets/mb/multi_line_items.dart | 6 +- .../lib/widgets/mb/sor_item_add_mb.dart | 31 ++-- .../widgets/molecules/mb/table_form_data.dart | 2 +- 5 files changed, 135 insertions(+), 54 deletions(-) diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index bac0cf0cb2..6f2082f0ee 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -461,25 +461,60 @@ class _MBDetailPageState extends State .businessServices ?? []; - return FloatActionCard( - actions: () { - DigitActionDialog.show( - context, - widget: CommonButtonCard( - g: g, - contractNumber: widget.contractNumber, - mbNumber: widget.mbNumber, - type: widget.type, - bs: bk, - ), - ); - }, - amount: value.data.first.totalAmount != null - ? value.data.first.totalAmount! - .roundToDouble() - .toStringAsFixed(2) - : "0.00", - openButtonSheet: () { + return Draggable( + childWhenDragging: FloatActionCard( + actions: () { + DigitActionDialog.show( + context, + widget: CommonButtonCard( + g: g, + contractNumber: widget.contractNumber, + mbNumber: widget.mbNumber, + type: widget.type, + bs: bk, + ), + ); + }, + amount: value.data.first.totalAmount != null + ? value.data.first.totalAmount! + .roundToDouble() + .toStringAsFixed(2) + : "0.00", + openButtonSheet: () { + _openBottomSheet( + t, + context, + value.data.first.totalSorAmount!, + value.data.first.totalNorSorAmount!, + value.data.first.totalAmount!, + g, + widget.contractNumber, + widget.mbNumber, + widget.type, + bk, + (bk != null && + (bk != null && bk.isEmpty)) + ? false + : true, + workorderStatus, + estimateStatus, + (value.data.length >= 2 + ? (value.data[1].wfStatus == + "APPROVED" || + value.data[1].wfStatus == + "REJECTED") + : true)); + }, + totalAmountText: t.translate( + i18.measurementBook.totalMbAmount), + subtext: t.translate( + i18.measurementBook.forCurrentEntry), + showAction: (bk != null && + (bk != null && bk.isEmpty)) + ? false + : true, + ), + onDragEnd: (details) { _openBottomSheet( t, context, @@ -504,14 +539,59 @@ class _MBDetailPageState extends State "REJECTED") : true)); }, - totalAmountText: t.translate( - i18.measurementBook.totalMbAmount), - subtext: t.translate( - i18.measurementBook.forCurrentEntry), - showAction: - (bk != null && (bk != null && bk.isEmpty)) - ? false - : true, + feedback: const SizedBox.shrink(), + child: FloatActionCard( + actions: () { + DigitActionDialog.show( + context, + widget: CommonButtonCard( + g: g, + contractNumber: widget.contractNumber, + mbNumber: widget.mbNumber, + type: widget.type, + bs: bk, + ), + ); + }, + amount: value.data.first.totalAmount != null + ? value.data.first.totalAmount! + .roundToDouble() + .toStringAsFixed(2) + : "0.00", + openButtonSheet: () { + _openBottomSheet( + t, + context, + value.data.first.totalSorAmount!, + value.data.first.totalNorSorAmount!, + value.data.first.totalAmount!, + g, + widget.contractNumber, + widget.mbNumber, + widget.type, + bk, + (bk != null && + (bk != null && bk.isEmpty)) + ? false + : true, + workorderStatus, + estimateStatus, + (value.data.length >= 2 + ? (value.data[1].wfStatus == + "APPROVED" || + value.data[1].wfStatus == + "REJECTED") + : true)); + }, + totalAmountText: t.translate( + i18.measurementBook.totalMbAmount), + subtext: t.translate( + i18.measurementBook.forCurrentEntry), + showAction: (bk != null && + (bk != null && bk.isEmpty)) + ? false + : true, + ), ); }, ); @@ -1515,13 +1595,17 @@ class _MBDetailPageState extends State crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( - padding: const EdgeInsets.only(top:12.0,bottom: 8.0), - child: Text(t.translate(i18.measurementBook.mbAmtCurrentEntry), - style: Theme.of(context).textTheme.headlineSmall), + padding: const EdgeInsets.only(top: 8.0, bottom: 5.0), + child: Text( + t.translate(i18.measurementBook.mbAmtCurrentEntry), + style: Theme.of(context).textTheme.headlineSmall, + textScaleFactor: 0.99, + ), ), Container( width: MediaQuery.sizeOf(context).width, - padding: const EdgeInsets.only(top:10.0, left: 5.0,right: 5.0,bottom: 10), + padding: const EdgeInsets.only( + top: 10.0, left: 5.0, right: 5.0, bottom: 10), decoration: BoxDecoration( border: Border.all( color: const DigitColors().cloudGray, @@ -1893,7 +1977,7 @@ class SORTableCard extends StatelessWidget { width: MediaQuery.of(context).size.width / fraction, child: Text( e, - style: theme.textTheme.headline5, + style: theme.textTheme.headlineSmall, textAlign: TextAlign.start, ), ), diff --git a/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart b/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart index 4a770d6324..560f663897 100644 --- a/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart +++ b/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart @@ -56,7 +56,7 @@ class CommonMBCard extends StatelessWidget { width: MediaQuery.of(context).size.width / 2, child: Text( t.translate(i18.measurementBook.mbSlaDaysRemaining), - style: theme.textTheme.headline5, + style: theme.textTheme.headlineSmall, textAlign: TextAlign.start, ), ), diff --git a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart index 3449b3f043..77f70a2ed8 100644 --- a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart +++ b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart @@ -246,13 +246,13 @@ class _MultiLineItemsState extends State { ), ), Padding( - padding: const EdgeInsets.only(left: 4.0), + padding: const EdgeInsets.only(left: 3.0), child: SizedBox( width: MediaQuery.of(context).size.width * 0.8 / 3, child: DigitTextField( inputFormatter: [ FilteringTextInputFormatter.allow( - RegExp(r'^\d*\.?\d{0,4}')), + RegExp(r'^\d*\.?\d{0,4}'),), ], label: t.translate(i18.measurementBook.widthLabel), isDisabled: widget.viewMode, @@ -263,7 +263,7 @@ class _MultiLineItemsState extends State { ), ), Padding( - padding: const EdgeInsets.only(left: 4.0, right: 2.0), + padding: const EdgeInsets.only(left: 3, right: 0), child: SizedBox( width: MediaQuery.of(context).size.width * 0.8 / 3, child: DigitTextField( diff --git a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart index c4550899e6..76f4d58535 100644 --- a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart +++ b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart @@ -41,13 +41,13 @@ class _HorizontalCardListDialogState extends State { @override void initState() { lineItems = widget.lineItems; - _scrollController = PageController(initialPage: 0,viewportFraction: 0.95); + _scrollController = PageController(initialPage: 0, viewportFraction: 0.95); super.initState(); } void _scrollForward() { _scrollController.nextPage( - // _scrollController.offset + MediaQuery.of(context).size.width, + // _scrollController.offset + MediaQuery.of(context).size.width, duration: const Duration(milliseconds: 500), curve: Curves.ease, ); @@ -55,7 +55,7 @@ class _HorizontalCardListDialogState extends State { void _scrollBackward() { _scrollController.previousPage( - // _scrollController.offset - MediaQuery.of(context).size.width, + // _scrollController.offset - MediaQuery.of(context).size.width, duration: const Duration(milliseconds: 500), curve: Curves.ease, ); @@ -278,8 +278,8 @@ class _CardWidgetState extends State { color: const DigitColors().white, borderRadius: BorderRadius.circular(10), ), - padding: const EdgeInsets.only( - left: 2.5, right: 2.5, bottom: 10.0, top: 16.0), + padding: + const EdgeInsets.only(left: 2.5, right: 2.5, bottom: 10.0, top: 16.0), child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -303,11 +303,10 @@ class _CardWidgetState extends State { style: DigitTheme.instance.mobileTheme.textTheme.headlineLarge, ), - Padding( padding: const EdgeInsets.only(top: 4.0), child: SizedBox( - height: 30, + height: 20, child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.center, @@ -434,9 +433,9 @@ class _CardWidgetState extends State { .burningOrange, ), Padding( - padding: const EdgeInsets.only(left:4.0), + padding: const EdgeInsets.only( + left: 4.0), child: Text( - t.translate( i18.measurementBook .addMeasurement, @@ -447,10 +446,9 @@ class _CardWidgetState extends State { .textTheme! .bodyLarge! .copyWith( - color: const DigitColors() - .burningOrange, - - ), + color: const DigitColors() + .burningOrange, + ), ), ), ], @@ -536,7 +534,8 @@ class _CardWidgetState extends State { .burningOrange, ), Padding( - padding: const EdgeInsets.only(left:4.0), + padding: const EdgeInsets.only( + left: 4.0), child: Text( t.translate(i18.measurementBook .addMeasurement), @@ -604,8 +603,6 @@ class _CardWidgetState extends State { padding: const EdgeInsets.only(bottom: 8.0), child: MultiLineItems( fieldValue: (p0, p1) { - print(widget.noOfUnit); - print(widget.cummulativePrevQty); switch (p0) { case "Number": context @@ -878,7 +875,7 @@ class _CardWidgetState extends State { // button section Padding( padding: const EdgeInsets.only( - top: 4.0, left: 8.0, right: 8.0, bottom: 4.0), + top: 3.0, left: 8.0, right: 8.0, bottom: 3), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ diff --git a/frontend/works_shg_app/lib/widgets/molecules/mb/table_form_data.dart b/frontend/works_shg_app/lib/widgets/molecules/mb/table_form_data.dart index e7170e5fa0..d6b14e5432 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/mb/table_form_data.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/mb/table_form_data.dart @@ -42,7 +42,7 @@ class TableFormCard extends StatelessWidget { width: MediaQuery.of(context).size.width / fraction, child: Text( e, - style: theme.textTheme.headline5, + style: theme.textTheme.headlineSmall, textAlign: TextAlign.start, ), ), From e87e880c5680202a020a57a38259703b1c48e9c2 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 18 Jul 2024 13:01:59 +0530 Subject: [PATCH 083/292] mb create submit issue fixed --- .../lib/blocs/employee/mb/mb_crud.dart | 17 +++++++++++++++-- .../lib/pages/employee/mb_detail_page.dart | 18 ++++++++++++++---- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart index f8715201c1..0c65554514 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart @@ -30,11 +30,24 @@ class MeasurementCrudBloc Client client = Client(); try { - + bool createCheck=false; + state.maybeMap(orElse:()=>{}, + loaded: (value) { + if ((event.type== MBScreen.create && value.measurement!.wfStatus == "SUBMITTED")||(event.type== MBScreen.create && value.measurement!.wfStatus == "DRAFTED")) { + + createCheck=true; + + } + }, + ); + // createCheck=true; emit(const MeasurementCrudState.loading()); final Measurement res = await MBRepository(client.init()).updateMeasurement( - url: event.type== MBScreen.update? Urls.measurementService.updateMeasurement:Urls.measurementService.createMeasurement, + url: + createCheck?Urls.measurementService.updateMeasurement + : + event.type== MBScreen.update? Urls.measurementService.updateMeasurement:Urls.measurementService.createMeasurement, body: { "measurements": [MBLogic.measurementToMap(event.measurement)] diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index 6f2082f0ee..b0ba678cc2 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -129,7 +129,7 @@ class _MBDetailPageState extends State listener: (context, state) { state.maybeMap( orElse: () => {}, - loaded: (value) { + loaded: (valueLoaded) { if (widget.type == MBScreen.update) { context.read().add( FetchMBWorkFlowEvent( @@ -151,7 +151,7 @@ class _MBDetailPageState extends State ).popUntil( (route) => route is! PopupRoute, ); - } else if ((value.measurement!.wfStatus == "SUBMITTED") && + } else if ((valueLoaded.measurement!.wfStatus == "SUBMITTED") && widget.type == MBScreen.create) { Navigator.of( context, @@ -160,7 +160,7 @@ class _MBDetailPageState extends State (route) => route is! PopupRoute, ); context.router.popUntilRouteWithPath('home'); - } else if ((value.measurement!.wfStatus == "DRAFTED") && + } else if ((valueLoaded.measurement!.wfStatus == "DRAFTED") && widget.type == MBScreen.create) { Navigator.of( context, @@ -173,8 +173,18 @@ class _MBDetailPageState extends State Notifiers.getToastMessage( context, t.translate( - "WF_UPDATE_SUCCESS_MB_${value.measurement?.workflow?.action}"), + "WF_UPDATE_SUCCESS_MB_${valueLoaded.measurement?.workflow?.action}"), 'SUCCESS'); + + context.read().add( + MeasurementDetailBookBlocEvent( + tenantId: widget.tenantId!, + contractNumber: widget.contractNumber, + measurementNumber: + valueLoaded!.measurement!.measurementNumber!, + screenType: MBScreen.update, + ), + ); }, error: (value) { Notifiers.getToastMessage( From 63e1f6de452c6ac32d88d56c80618aadfde24558 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 18 Jul 2024 14:20:06 +0530 Subject: [PATCH 084/292] [UCEM-448,UCEM-473,UCEM-474,UCEM-475,UCEM-476,UCEM-478] : View analysis statement and view utilization statement UI UX Fixes --- .../packages/css/package.json | 2 +- .../src/components/ConsolidatedTable.js | 16 ++++---- .../Estimate/src/components/ViewStatement.js | 38 ++++++++++--------- .../employee/ViewAnalysisStatementPage.js | 2 +- .../src/configs/ViewScheduledJobsConfig.js | 4 +- .../RateAnalysis/src/pages/employee/index.js | 2 +- frontend/micro-ui/web/public/index.html | 2 +- 7 files changed, 34 insertions(+), 32 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json index a79653330f..17285e402f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-works-css", - "version": "0.2.41", + "version": "0.2.42", "license": "MIT", "author": "Jagankumar ", "main": "dist/index.css", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ConsolidatedTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ConsolidatedTable.js index d9b2c5a26f..a9dac1a1af 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ConsolidatedTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ConsolidatedTable.js @@ -89,18 +89,18 @@ const GroupedTable = (props) => { // Render table header const renderHeader = () => { const columns = [ - { key: t("WORKS_SNO"), width: "5%" }, - { key: t("WORKS-SORS_COLUMN_CODE"), width: "15%" }, - { key: t("CORE_COMMON_NAME"), width: "25%" }, - { key: t("ACTION_TEST_COMMONMASTERUOM"), width: "10%" }, - { key: t("MB_RATE"), width: "10%" }, - { key: t("MB_QUANTITY"), width: "15%" }, - { key: t("MB_ONLY_AMOUNT"), width: "15%" }, + { key: t("WORKS_SNO"), width: "5%", textAlign:"left" }, + { key: t("WORKS-SORS_COLUMN_CODE"), width: "15%", textAlign:"left" }, + { key: t("CORE_COMMON_NAME"), width: "25%", textAlign:"left" }, + { key: t("ACTION_TEST_COMMONMASTERUOM"), width: "10%", textAlign:"left" }, + { key: t("MB_RATE"), width: "10%", textAlign:"right" }, + { key: t("MB_QUANTITY"), width: "15%", textAlign:"right" }, + { key: t("MB_ONLY_AMOUNT"), width: "15%", textAlign:"right" }, ]; return (
{columns.map((col, index) => ( - - + ) : null } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchOrganisationConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchOrganisationConfig.js index 59274dc8ae..2f09bf24ff 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchOrganisationConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchOrganisationConfig.js @@ -45,9 +45,9 @@ const searchOrganisationConfig = () => { name: "boundaryCode", type: "ward", optionsKey: "i18nKey", - optionsCustomStyle: { - top: "2.3rem", - }, + // optionsCustomStyle: { + // top: "2.3rem", + // }, defaultText: "COMMON_SELECT_WARD", selectedText: "COMMON_SELECTED", allowMultiSelect: false, @@ -61,9 +61,9 @@ const searchOrganisationConfig = () => { populators: { name: "type", optionsKey: "name", - optionsCustomStyle: { - top: "2.3rem", - }, + // optionsCustomStyle: { + // top: "2.3rem", + // }, mdmsConfig: { masterName: "OrgType", moduleName: "common-masters", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchWMSWageSeekerConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchWMSWageSeekerConfig.js index 7426754531..32fd707564 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchWMSWageSeekerConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchWMSWageSeekerConfig.js @@ -44,9 +44,9 @@ const searchWMSWageSeekerConfig = () => { "isMandatory": false, "disable": false, "populators": { - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, "name": "ward", "type": "ward", "optionsKey": "i18nKey", @@ -95,7 +95,7 @@ const searchWMSWageSeekerConfig = () => { "populators": { "name": "socialCategoryValue", "optionsKey": "code", - "optionsCustomStyle": { "top": "2.3rem" }, + // "optionsCustomStyle": { "top": "2.3rem" }, "mdmsConfig": { "masterName": "SocialCategory", "moduleName": "common-masters", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchWageSeekerConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchWageSeekerConfig.js index b1a676a00c..191c373c48 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchWageSeekerConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchWageSeekerConfig.js @@ -88,9 +88,9 @@ const searchWageSeekerConfig = () => { populators: { name: "socialCategory", optionsKey: "code", - optionsCustomStyle: { - top: "2.3rem", - }, + // optionsCustomStyle: { + // top: "2.3rem", + // }, mdmsConfig: { masterName: "SocialCategory", moduleName: "common-masters", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Master/SearchMasters.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Master/SearchMasters.js index 2b659123c4..c488e0bc25 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Master/SearchMasters.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Master/SearchMasters.js @@ -1,6 +1,6 @@ import React, { Fragment, useState } from 'react' import { useTranslation } from "react-i18next"; -import { Toast } from "@egovernments/digit-ui-react-components"; +import { Toast } from "@egovernments/digit-ui-components"; const SearchMasters = () => { const { t } = useTranslation(); @@ -14,7 +14,7 @@ const SearchMasters = () => { } const onSubmit = async (data) => { if(!data?.nameOfTheOrg){ - setShowToast({ warning: true, label: "ERR_PT_FILL_VALID_FIELDS" }); + setShowToast({type: "warning", label: "ERR_PT_FILL_VALID_FIELDS" }); setTimeout(() => { setShowToast(false); }, 3000); @@ -91,8 +91,7 @@ const SearchMasters = () => { /> {showToast && ( { setShowToast(null); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Master/ViewMasters.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Master/ViewMasters.js index d382e21cba..882e08fce0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Master/ViewMasters.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Master/ViewMasters.js @@ -10,7 +10,7 @@ const ViewMasters = () => { return (
-
+
{t("MASTERS_VIEW_COMMUNITY_ORG")}
{showDuplicateUserError && ( - setShowDuplicateUserError(false)} /> + setShowDuplicateUserError(false)} /> )} {showValidToError && ( - setShowValidToError(false)} /> + setShowValidToError(false)} /> )} {showDuplicateContactToast && ( - setShowDuplicateContactToast(false)} /> + setShowDuplicateContactToast(false)} /> )} {showCBOToVendorError && ( - setShowCBOToVendorError(false)} /> + setShowCBOToVendorError(false)} /> )} ); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Organisation/CreateOrganization/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Organisation/CreateOrganization/index.js index 92c1973bf4..92b5c41991 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Organisation/CreateOrganization/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Organisation/CreateOrganization/index.js @@ -1,9 +1,10 @@ import React, { useEffect, useState } from 'react' import { useTranslation } from "react-i18next"; -import { Header, Loader, Toast } from '@egovernments/digit-ui-react-components'; +import { Header, Loader } from '@egovernments/digit-ui-react-components'; import CreateOrganizationForm from './CreateOrganizationForm'; import { createOrganizationConfigMUKTA } from '../../../../configs/createOrganizationConfigMUKTA'; import { updateOrganisationFormDefaultValues } from '../../../../utils/index' +import { Toast } from '@egovernments/digit-ui-components'; const CreateOrganisation = () => { const {t} = useTranslation(); @@ -96,7 +97,7 @@ const CreateOrganisation = () => { ) } { - showDataError && setShowDataError(false)} /> + showDataError && setShowDataError(false)} /> } ) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Organisation/ViewOrganisation.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Organisation/ViewOrganisation.js index bc446454c7..6dd85e9e86 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Organisation/ViewOrganisation.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Organisation/ViewOrganisation.js @@ -1,8 +1,9 @@ import React, { useState, useEffect } from 'react'; import { useTranslation } from "react-i18next"; import { useHistory, useLocation } from 'react-router-dom'; -import { Header, ViewDetailsCard, HorizontalNav, Loader, ActionBar, SubmitBar, Toast } from '@egovernments/digit-ui-react-components'; +import { Header, ViewDetailsCard, HorizontalNav, Loader, ActionBar, SubmitBar } from '@egovernments/digit-ui-react-components'; import ApplicationDetails from '../../../../../templates/ApplicationDetails'; +import { Toast } from "@egovernments/digit-ui-components"; const ViewOrganisation = () => { const { t } = useTranslation() @@ -118,7 +119,7 @@ const ViewOrganisation = () => { ) } { - showDataError && setShowDataError(false)} /> + showDataError && setShowDataError(false)} /> } ) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js index 71184be0ae..d55bf9df76 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js @@ -1,9 +1,10 @@ import React, { useMemo, useState, useEffect } from 'react' import { useTranslation } from "react-i18next"; import { useHistory } from 'react-router-dom'; -import { FormComposer,Toast } from '@egovernments/digit-ui-react-components'; +import { FormComposer } from '@egovernments/digit-ui-components'; import { getWageSeekerUpdatePayload, getBankAccountUpdatePayload, getWageSeekerSkillDeletePayload } from '../../../../utils'; import debounce from 'lodash/debounce'; +import { Toast } from '@egovernments/digit-ui-components'; const navConfig = [{ name:"Wage_Seeker_Details", @@ -388,7 +389,7 @@ const requestCriteria = { cardClassName = "mukta-header-card" labelBold={true} /> - {showToast && { + {showToast && { setShowToast(null) }}>} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/index.js index bb6be1fdb4..63c1311fa9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/index.js @@ -1,9 +1,10 @@ import React, { useState, useEffect } from 'react' import { useTranslation } from "react-i18next"; -import { Header, Loader, Toast } from '@egovernments/digit-ui-react-components'; +import { Header, Loader } from '@egovernments/digit-ui-components'; import { CreateWageSeekerConfig } from '../../../../configs/CreateWageSeekerConfig'; import ModifyWageSeekerForm from './ModifyWageSeekerForm'; import { updateWageSeekerFormDefaultValues } from '../../../../utils'; +import { Toast } from '@egovernments/digit-ui-components'; const ModifyWageSeeker = () => { const {t} = useTranslation(); @@ -97,7 +98,7 @@ const ModifyWageSeeker = () => { ) } { - showDataError && setShowDataError(false)} /> + showDataError && setShowDataError(false)} /> } ) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/RegisterWageSeeker.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/RegisterWageSeeker.js index 2b4f1e3bc5..b497682b46 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/RegisterWageSeeker.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/RegisterWageSeeker.js @@ -46,7 +46,7 @@ const RegisterWageSeeker = () => { return (
-
+
{t("MASTERS_CREATE_NEW_WAGE_SEEKER")}
{configs.form && ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ViewWageSeeker.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ViewWageSeeker.js index 5a9ea59512..6faa45e56e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ViewWageSeeker.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ViewWageSeeker.js @@ -1,8 +1,9 @@ import React, { useState, useEffect } from 'react'; import { useTranslation } from "react-i18next"; import { useHistory, useLocation } from 'react-router-dom'; -import { Header, ActionBar, SubmitBar, Toast } from '@egovernments/digit-ui-react-components'; +import { Header, ActionBar, SubmitBar } from '@egovernments/digit-ui-react-components'; import ApplicationDetails from '../../../../../templates/ApplicationDetails'; +import { Toast } from '@egovernments/digit-ui-components'; const ViewWageSeeker = () => { const { t } = useTranslation() @@ -65,7 +66,7 @@ const ViewWageSeeker = () => { } { - showDataError && setShowDataError(false)} /> + showDataError && setShowDataError(false)} /> } ) From f161e26114f7059d6b88b6c3341f76df972afd1f Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 13 Aug 2024 20:37:42 +0530 Subject: [PATCH 137/292] added mb module changes --- .../src/components/MBHistoryTable.js | 32 ++++++++++++------- .../Measurement/src/components/MeasureCard.js | 6 ++-- .../Measurement/src/components/MeasureRow.js | 4 +-- .../src/components/MeasureTable.js | 4 +-- .../src/configs/MeasurementInboxConfig.js | 1 + .../src/configs/MeasurementSearchConfig.js | 6 ++-- .../src/configs/SearchWMSConfig.js | 6 ++-- .../Measurement/src/configs/viewUtilConfig.js | 8 ++--- .../src/pages/employee/CreateMeasurement.js | 15 +++++---- .../src/pages/employee/ResponseBanner.js | 2 +- .../src/pages/employee/ViewMeasurement.js | 2 +- .../Measurement/src/pages/employee/index.js | 7 ++-- .../src/pages/employee/viewUtilization.js | 25 +++++++++++---- 13 files changed, 72 insertions(+), 46 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MBHistoryTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MBHistoryTable.js index 7699086092..2e14c8d135 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MBHistoryTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MBHistoryTable.js @@ -1,10 +1,12 @@ -import { Card, Header, Button, Loader } from "@egovernments/digit-ui-react-components"; -import React from "react"; +import { Card, Header, Loader } from "@egovernments/digit-ui-react-components"; +import React,{Fragment} from "react"; import { useTranslation } from "react-i18next"; import { useState } from "react"; import { useHistory } from "react-router-dom/cjs/react-router-dom.min"; import { Link } from "react-router-dom"; import { findMusterRollNumber } from "../utils/transformEstimateData"; +import { Button,TextBlock } from "@egovernments/digit-ui-components"; + const CustomCollapsibleTable = ({ children, isTableCollapsed }) => { return
{children}
; @@ -14,7 +16,7 @@ const MeasurementHistory = ({ contractNumber, measurementNumber }) => { const { t } = useTranslation(); const tenantId = Digit.ULBService.getCurrentTenantId(); const history = useHistory(); - const [isTableCollapsed, setIsTableCollapsed] = useState(false); + const [isTableCollapsed, setIsTableCollapsed] = useState(true); const searchparams = new URLSearchParams(location.search); contractNumber = contractNumber ? contractNumber : searchparams.get("workOrderNumber"); @@ -93,10 +95,13 @@ const MeasurementHistory = ({ contractNumber, measurementNumber }) => { } return ( - -
{t("MB_HISTORY")}
- -
{ const renderHeader = () => { const columns = [ { key: t("WORKS_SNO"), width: "5%" }, - { key: t("WORKS_SORS_COLUMN_TYPE"), width: "12.5%" }, - { key: t("WORKS-SORS_COLUMN_CODE"), width: "5.5%" }, - { key: t("WORKS-SORS_COLUMN_DESCRIPTION"), width: "35%" }, - { key: t("WORKS-SORS_COLUMN_UOM"), width: "8.5%" }, - { key: t("WORKS-SORS_COLUMN_RATE"), width: "12.5%" }, + { key: t("WORKS_SORS_COLUMN_TYPE"), width: "12.5%", textAlign:"left" }, + { key: t("WORKS-SORS_COLUMN_CODE"), width: "5.5%",textAlign:"left" }, + { key: t("WORKS-SORS_COLUMN_DESCRIPTION"), width: "35%", textAlign:"left" }, + { key: t("WORKS-SORS_COLUMN_UOM"), width: "8.5%", textAlign:"left" }, + { key: t("WORKS-SORS_COLUMN_RATE"), width: "12.5%", textAlign:"right" }, ]; if (config?.screenType === "UTILIZATION") { - columns.push({ key: t("WORKS_SORS_COLUMN_CONSUMED_QTY"), width: "12.5%" }); - columns.push({ key: t("WORKS_SORS_COLUMN_CONSUMED_AMT"), width: "12.5%" }); + columns.push({ key: t("WORKS_SORS_COLUMN_CONSUMED_QTY"), width: "12.5%", textAlign:"right" }); + columns.push({ key: t("WORKS_SORS_COLUMN_CONSUMED_AMT"), width: "12.5%", textAlign:"right" }); } else { - columns.push({ key: t("WORKS_SORS_COLUMN_ESTIMATED_QTY"), width: "12.5%" }); - columns.push({ key: t("WORKS_SORS_COLUMN_ESTIMATED_AMT"), width: "12.5%" }); + columns.push({ key: t("WORKS_SORS_COLUMN_ESTIMATED_QTY"), width: "12.5%", textAlign:"right" }); + columns.push({ key: t("WORKS_SORS_COLUMN_ESTIMATED_AMT"), width: "12.5%", textAlign:"right" }); } return columns.map((col, index) => ( { const renderSubHeader = () => { const columns = [ - { key: t("WORKS_SNO"), width: "5%" }, - { key: t("WORKS-SORS_COLUMN_CODE"), width: "5.28%" }, - { key: t("WORKS-SORS_SUB_COLUMN_NAME"), width: "40%" }, - { key: t("WORKS-SORS_SUB_COLUMN_UNIT"), width: "9.28%" }, - { key: t("WORKS-SORS_COLUMN_RATE"), width: "14.28%" }, - { key: t("WORKS-SORS_SUB_COLUMN_QTY"), width: "14.28%" }, - { key: t("WORKS-SORS_COLUMN_AMT"), width: "14.28%" }, + { key: t("WORKS_SNO"), width: "5%", textAlign:"left" }, + { key: t("WORKS-SORS_COLUMN_CODE"), width: "5.28%", textAlign:"left" }, + { key: t("WORKS-SORS_SUB_COLUMN_NAME"), width: "40%", textAlign:"left" }, + { key: t("WORKS-SORS_SUB_COLUMN_UNIT"), width: "9.28%", textAlign:"left" }, + { key: t("WORKS-SORS_COLUMN_RATE"), width: "14.28%", textAlign:"right" }, + { key: t("WORKS-SORS_SUB_COLUMN_QTY"), width: "14.28%", textAlign:"right" }, + { key: t("WORKS-SORS_COLUMN_AMT"), width: "14.28%", textAlign:"right" }, ]; return columns.map((col, index) => ( { {showAmountTotal ? (
- {config?.screenType === "UTILIZATION" ? t("UTILIZATION_STATEMENT_GRAND_TOTAL") : t("STATEMENT_GRAND_TOTAL")}: + {config?.screenType === "UTILIZATION" ? t("UTILIZATION_STATEMENT_GRAND_TOTAL") : t("STATEMENT_GRAND_TOTAL")} { { downloadStatus&& HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} /> }
- +
{toast?.show && } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js index b264a625cb..1c8fb019ee 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewScheduledJobsConfig.js @@ -32,8 +32,8 @@ const ViewScheduledJobsConfig = { showFormInstruction: "", defaultValues: { status: "", - createdFrom: "", - createdTo: "", + scheduleFrom: "", + scheduleTo: "", }, fields: [ { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/index.js index 4139428e50..e238bc54d3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/index.js @@ -17,7 +17,7 @@ const RateAnalysisBreadCumbs = ({ location }) => { { path: `/${window?.contextPath}/employee`, content: t("WORKS_MUKTA"), - show: true, + show: location.pathname.includes("response") ? false : true, }, { path: `/${window.contextPath}/employee/rateanalysis/create-rate-analysis`, diff --git a/frontend/micro-ui/web/public/index.html b/frontend/micro-ui/web/public/index.html index a8ca377671..db94381708 100644 --- a/frontend/micro-ui/web/public/index.html +++ b/frontend/micro-ui/web/public/index.html @@ -8,7 +8,7 @@ href="https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@400;500;700&family=Roboto:wght@400;500;700&display=swap" rel='stylesheet' type='text/css'> - + From 8b9ba136962805347b754ced26d99b171411eb39 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 18 Jul 2024 14:23:06 +0530 Subject: [PATCH 085/292] View utilization UI UX audit fixes --- .../Measurement/src/configs/viewUtilConfig.js | 12 ++++++++---- .../src/pages/employee/viewUtilization.js | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js index f751a62cd4..47a992892d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/viewUtilConfig.js @@ -48,7 +48,8 @@ export const data = (statementDetails, rawData, oldData) => { ) : parseFloat(0).toFixed(2) : parseFloat(0).toFixed(2), - amountStyle: { maxWidth: "12%", textAlign: "end" }, + amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, + rowContainerStyle: {justifyContent : "revert"} }, { key: "STATEMENT_LABOUR", @@ -68,7 +69,8 @@ export const data = (statementDetails, rawData, oldData) => { ) : parseFloat(0).toFixed(2) : parseFloat(0).toFixed(2), - amountStyle: { maxWidth: "12%", textAlign: "end" }, + amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, + rowContainerStyle: {justifyContent : "revert"} }, { @@ -89,7 +91,8 @@ export const data = (statementDetails, rawData, oldData) => { ) : parseFloat(0).toFixed(2) : parseFloat(0).toFixed(2), - amountStyle: { maxWidth: "12%", textAlign: "end" }, + amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, + rowContainerStyle: {justifyContent : "revert"} }, { key: "STATEMENT_LABOUR_CESS", @@ -110,7 +113,8 @@ export const data = (statementDetails, rawData, oldData) => { undefined, 2 ):parseFloat(0).toFixed(2), - amountStyle: { maxWidth: "12%", textAlign: "end" }, + amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, + rowContainerStyle: {justifyContent : "revert"} }, ], }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js index bb02d5e4aa..5d2330862b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js @@ -446,7 +446,7 @@ const ViewUtilization = () => { {downloadStatus&& HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} />}
- +
{toast?.show && ( From 681c7da2dc54e6a1f6e74ad489bc7da8150d076a Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Fri, 19 Jul 2024 13:23:53 +0530 Subject: [PATCH 086/292] adhar number restriction implemented --- .../lib/pages/wage_seeker_registration/individual_details.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart index 53b850c023..3537be3702 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart @@ -576,6 +576,8 @@ class IndividualDetailsPageState extends State { ] : [ Validators.required, + Validators.minLength(12), + Validators.maxLength(12) ]), nameKey: FormControl( value: individualDetails.name ?? '', From de4f2d436e6658a18642538c58de8720661ccac2 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Fri, 19 Jul 2024 15:00:14 +0530 Subject: [PATCH 087/292] something went wrong implemented --- .../blocs/employee/mb/measurement_book.dart | 8 ++--- .../lib/pages/employee/mb_inbox.dart | 29 ++++++++++--------- .../i18_key_constants.dart | 1 + 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.dart b/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.dart index ab8dc30465..7da97d61a8 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.dart @@ -51,8 +51,8 @@ class MeasurementInboxBloc }; final MBInboxResponse res = await MBRepository(client.init()).fetchMbInbox( - url: Urls.measurementService.measurementInbox, body: s, - + url: Urls.measurementService.measurementInbox, + body: s, ); if (event.offset == 0) { emit(MeasurementInboxState.loaded( @@ -92,6 +92,8 @@ class MeasurementInboxBloc } } on DioError catch (e) { emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); + } catch (e) { + emit(const MeasurementInboxState.error("CORE_SOMETHING_WENT_WRONG")); } } //search @@ -106,7 +108,6 @@ class MeasurementInboxBloc emit(const MeasurementInboxState.loading()); } - final MBInboxResponse res = await MBRepository(client.init()).fetchMbInbox( url: Urls.measurementService.measurementInbox, @@ -172,7 +173,6 @@ class MeasurementInboxBloc return null; }, loaded: (value) async { - value.data['inbox']!['offset'] = event.offset; final MBInboxResponse res = await MBRepository(client.init()) .fetchMbInbox( diff --git a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart index d399f8d482..f3d561afee 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart @@ -39,10 +39,10 @@ class _MeasurementBookInboxPageState extends State { @override void initState() { - context + context .read() .add(ProjectTypeEvent(tenantId: GlobalVariables.tenantId!)); - + context.read().add( MeasurementBookInboxBlocEvent( businessService: "MB", @@ -53,8 +53,6 @@ class _MeasurementBookInboxPageState extends State { ), ); - - context.read().add( LocationEventWageSeeker(tenantId: GlobalVariables.tenantId!), ); @@ -83,13 +81,13 @@ class _MeasurementBookInboxPageState extends State { state.maybeMap( orElse: () => {}, loaded: (value) { - if (value.search && value.data.length==1) { + if (value.search && value.data.length == 1) { context.read().add( MeasurementBookInboxSearchRepeatBlocEvent( businessService: "MB", limit: 10, moduleName: 'measurement-module', - offset: value.data['inbox']!['offset']+10, + offset: value.data['inbox']!['offset'] + 10, tenantId: GlobalVariables.tenantId!, ), ); @@ -188,10 +186,8 @@ class _MeasurementBookInboxPageState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Back( - callback: () { context.router.pop(); - }, ), Padding( @@ -303,8 +299,6 @@ class _MeasurementBookInboxPageState extends State { }, icon: SvgPicture.asset(Constants.sort)), - - ], ), ), @@ -320,10 +314,11 @@ class _MeasurementBookInboxPageState extends State { (BuildContext context, int index) { // Display items - return Center( + return Center( child: EmptyImage( align: Alignment.center, - label: t.translate(i18.measurementBook.mbNotFound), + label: t.translate( + i18.measurementBook.mbNotFound), ), ); }, @@ -463,6 +458,14 @@ class _MeasurementBookInboxPageState extends State { child: CircularProgressIndicator.adaptive(), ); }, + error: (value) { + return Center( + child: EmptyImage( + align: Alignment.center, + label: t.translate(i18.common.wentWrong), + ), + ); + }, ); }, ), @@ -470,8 +473,6 @@ class _MeasurementBookInboxPageState extends State { }, ); } - - } class MyHeaderDelegate extends SliverPersistentHeaderDelegate { diff --git a/frontend/works_shg_app/lib/utils/localization_constants/i18_key_constants.dart b/frontend/works_shg_app/lib/utils/localization_constants/i18_key_constants.dart index 0eef292c8a..c84f2e4237 100644 --- a/frontend/works_shg_app/lib/utils/localization_constants/i18_key_constants.dart +++ b/frontend/works_shg_app/lib/utils/localization_constants/i18_key_constants.dart @@ -31,6 +31,7 @@ class Login { class Common { const Common(); + String get wentWrong=>"CORE_SOMETHING_WENT_WRONG"; String get statementnotfound=>"WORK_ORDER_STATEMENT_NOT_FOUND"; String get noFileSelected=>"WORKS_NO_FILE_SELECTED"; String get comments=>"WF_COMMON_COMMENTS"; From 7413bbcb12447701f586d8deca9fa65ce403ab7b Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Fri, 19 Jul 2024 16:48:31 +0530 Subject: [PATCH 088/292] [UCEM-586,UCEM-590,UCEM-595] : updated the code for the validation for quantity and figure as well as added card for dashboard --- .../packages/Mukta/src/Module.js | 4 +- .../packages/Mukta/src/components/DSSCard.js | 49 +++++++++++++++++++ .../src/components/ExtraCharges.js | 7 ++- .../src/configs/RateAnalysisCreateConfig.js | 6 ++- .../react-components/src/hoc/FormComposer.js | 2 + 5 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/DSSCard.js diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/Module.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/Module.js index c1bdc16e12..72866d71ba 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/Module.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/Module.js @@ -7,6 +7,7 @@ import WorksCard from "./components/WorksCard"; import { UICustomizations } from "./configs/UICustomizations"; import HRMSCard from "./components/HRMSCard"; import Captcha from "./components/Captcha"; +import DSSCard from "./components/DSSCard"; const MuktaModule = ({ stateCode, userType, tenants }) => { const moduleCode = ["Mukta"]; @@ -32,7 +33,8 @@ const componentsToRegister = { DSSCard:null, // TO HIDE THE DSS CARD IN HOME SCREEN as per MUKTA AttendenceMgmtCard:null , // TO HIDE THE Attendance Mgmt CARD IN HOME SCREEN as per MUKTA HRMSCard, // Overridden the HRMS card as per MUKTA - MeasurementCard:null + MeasurementCard:null, + DSSCard }; const overrideHooks = () => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/DSSCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/DSSCard.js new file mode 100644 index 0000000000..c61c15e3d3 --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/DSSCard.js @@ -0,0 +1,49 @@ +import { HRIcon, EmployeeModuleCard } from "@egovernments/digit-ui-react-components"; +import React from "react"; +import { useTranslation } from "react-i18next"; + +const ROLES = { + MUKTADASHBOARD: ["DASHBOARD_VIEWER"] +}; + +const DSSCard = () => { + if (!Digit.Utils.didEmployeeHasAtleastOneRole(Object.values(ROLES).flatMap((e) => e))) { + return null; + } + + const { t } = useTranslation(); + + let isProduction = window.location.href.includes("odisha.gov.in") ? true : false; + const propsForModuleCard = { + Icon: , + moduleName: t("ACTION_TEST_10DSS"), + kpis: [ + // { + // count: isLoading ? "-" : data?.EmployeCount?.totalEmployee, + // label: t("TOTAL_EMPLOYEES"), + // link: `/${window?.contextPath}/employee/hrms/inbox` + // }, + // { + // count: isLoading ? "-" : data?.EmployeCount?.activeEmployee, + // label: t("ACTIVE_EMPLOYEES"), + // link: `/${window?.contextPath}/employee/hrms/inbox` + // } + ], + links: [ + { + label: t("DSS_MUKTA_DASHBOARD"), + link: isProduction ? `/kibana-v8/app/dashboards#/view/fcba7d24-851a-4b11-b792-e790a86bab3d?_g=[…]!t,value:60000),time:(from:now-1y%2Fd,to:now))` : `/kibana-v8/app/dashboards#/view/c8d7e730-2252-11ef-98df-3bbfa2125b2b?_g=(filters:!(),time:(from:now-1y,to:now))`, + roles: ROLES.MUKTADASHBOARD, + }, + { + label: t("DSS_ROLLOUT_DASHBOARD"), + link: isProduction ? `/kibana-v8/app/dashboards#/view/1cb35e7c-2a53-45e2-a46b-018d17ae4c15?_g=[…]!t,value:60000),time:(from:now-1y%2Fd,to:now))`: `/kibana-v8/app/dashboards#/view/261cb0b0-fbde-11ee-b08d-8b505ceea182?_g=[…]use:!t,value:60000),time:(from:now-1y,to:now))`, + roles: ROLES.MUKTADASHBOARD, + }, + ], + }; + + return ; +}; + +export default DSSCard; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js index a001df6353..e4706db9df 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js @@ -185,6 +185,11 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { setValue(`${formFieldName}[${rowIndex}].description`, e.target.value); }; + const isValidQuantity = (value) => { + const regex = /^\d{0,4}(\.\d{0,2})?$/; + return regex.test(value); + }; + const cellContainerStyle = { display: "flex", flexDirection: "column" }; const errorCardStyle = { width: "100%", fontSize: "12px", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }; const errorContainerStyles = { display: "block", height: "1rem", overflow: "hidden" }; @@ -315,7 +320,7 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { pattern: /^\s*(?=.*[1-9])\d*(?:\.\d{1,2})?\s*$/, })} onChange={(e) => { - if(has4DecimalPlaces(parseFloat(e?.target.value))){ + if(isValidQuantity(parseFloat(e?.target.value))){ setAmountField(e, rowIndex) } else diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js index 0ec387dc7e..0939f990c0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js @@ -157,10 +157,14 @@ export const CreateConfig = ({ defaultValue, isUpdate, measurement }) => { "label": "RA_ANALYSIS_QUANTITY_DEFINED", "isMandatory": true, "key": "analysis_qty_defined", - "type": "text", + "type": "number", "disable": false, "populators": { "name": "analysis_qty_defined", + "validation": { + "pattern": "\\d{1,4}(\\.\\d{1,2})?", + "ValidationRequired" : true, + } } }, ], diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js index ad18901a28..51d8dd02ee 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js @@ -171,6 +171,8 @@ export const FormComposer = (props) => { minlength={populators?.validation?.minlength} customIcon={populators?.customIcon} customClass={populators?.customClass} + ValidationRequired={populators?.validation?.ValidationRequired} + validation={populators?.validation} /> )} name={populators.name} From 71f2b40d03d339d7fa67022c63da1bf571bdb4c5 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Mon, 22 Jul 2024 10:40:35 +0530 Subject: [PATCH 089/292] UCEM-531 : Updated the roles for the revision of rates link --- .../packages/Mukta/src/components/WorksCard.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js index fe87103b64..2a8449fc6d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js @@ -14,7 +14,7 @@ const ROLES = { WORKBENCH : ["MDMS_ADMIN", "MDMS_STATE_ADMIN", "MDMS_CITY_ADMIN", "MDMS_STATE_VIEW_ADMIN", "MDMS_CITY_VIEW_ADMIN"], REVISIONOFRATES : ["MDMS_ADMIN", "MDMS_CITY_ADMIN", "MDMS_STATE_VIEW_ADMIN", "MDMS_CITY_VIEW_ADMIN"], DSS: ["STADMIN"], - REVISIONOFRATES : ["MDMS_ADMIN", "MDMS_CITY_ADMIN", "MDMS_STATE_VIEW_ADMIN", "MDMS_CITY_VIEW_ADMIN"], + REVISIONOFRATES : ["MDMS_CITY_ADMIN","MDMS_CITY_VIEW_ADMIN"], ESTIMATETEMPLATE : ["MDMS_ADMIN", "MDMS_STATE_ADMIN"], }; From e7ca2a60ea4814e8bd54f68a85210f53f7eddaf4 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Mon, 22 Jul 2024 11:02:31 +0530 Subject: [PATCH 090/292] Updated the revise for all rates button to enable --- .../modules/RateAnalysis/src/pages/employee/SearchSOR.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js index 581b4113d5..2f687fbcec 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js @@ -139,8 +139,8 @@ const SearchSOR = () => { setPopup(true); setReviseAll(true); }} - //disabled={selectedSorIds?.sorType !== "W"} - disabled={true} + disabled={selectedSorIds?.sorType !== "W"} + //disabled={true} /> {showToast?.show && ( From d5a6b57ccc911fbf79bcf30c9083bb436abd4d1a Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Mon, 22 Jul 2024 11:13:44 +0530 Subject: [PATCH 091/292] UCEM-473 : updated the style alignment of the sno --- .../packages/modules/Estimate/src/components/ViewStatement.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index 9d6eabaecc..9b65697e65 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -20,7 +20,7 @@ const ViewStatement = (props) => { const renderHeader = () => { const columns = [ - { key: t("WORKS_SNO"), width: "5%" }, + { key: t("WORKS_SNO"), width: "5%",textAlign:"left" }, { key: t("WORKS_SORS_COLUMN_TYPE"), width: "12.5%", textAlign:"left" }, { key: t("WORKS-SORS_COLUMN_CODE"), width: "5.5%",textAlign:"left" }, { key: t("WORKS-SORS_COLUMN_DESCRIPTION"), width: "35%", textAlign:"left" }, From e861177d36d882816887c2bed80ba4724689b263 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Mon, 22 Jul 2024 11:57:45 +0530 Subject: [PATCH 092/292] validatior msg changed --- .../pages/wage_seeker_registration/individual_details.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart index 3537be3702..39103a63b0 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart @@ -301,6 +301,12 @@ class IndividualDetailsPageState extends State { 'required': (_) => t.translate( i18.wageSeeker.aadhaarRequired, ), + 'minLength': (_) => t.translate( + i18.wageSeeker.minAadhaarCharacters, + ), + 'maxLength': (_) => t.translate( + i18.wageSeeker.maxAadhaarCharacters, + ), }, ), DigitTextFormField( From bbf31e7b981c64453c589e5619429e762d8c93af Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 23 Jul 2024 13:52:12 +0530 Subject: [PATCH 093/292] UI/UX audit for rate analysis --- .../employee/ViewAnalysisStatementPage.js | 2 +- .../src/pages/employee/viewUtilization.js | 2 +- .../src/components/SORDetailsTemplate.js | 33 ++++++++++++------- .../components/extra_charges_view_table.js | 18 +++++----- .../src/components/rateAmountGroup.js | 2 +- .../src/components/ratecardbutton.js | 2 +- .../src/components/specficAmountTable.js | 6 ++-- 7 files changed, 38 insertions(+), 27 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js index d1f864c58e..c28dd1ff50 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewAnalysisStatementPage.js @@ -468,7 +468,7 @@ const ViewAnalysisStatement = () => { { downloadStatus&& HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} /> }
- +
{toast?.show && } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js index 5d2330862b..f431c26386 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js @@ -446,7 +446,7 @@ const ViewUtilization = () => { {downloadStatus&& HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} />}
- +
{toast?.show && ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js index 65c72a94ee..7c07b88410 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js @@ -90,8 +90,7 @@ const SORDetailsTemplate = (props) => { { label: t("RA_QTY"), key: "quantity" }, ]; - if(pageType === "VIEW") - { + if (pageType === "VIEW") { columns.unshift({ label: t("RA_SNO"), key: "sno" }); } @@ -131,16 +130,21 @@ const SORDetailsTemplate = (props) => { let obj = {}; switch (index) { case 1: - obj = pageType === "VIEW" ? { width: "1rem" } : { width: "8rem" }; + obj = pageType === "VIEW" ? { width: "1rem", textAlign: "left" } : { width: "8rem" }; break; case 2: - obj = pageType === "VIEW" ? { width: "8rem" } : { width: "70rem" }; + obj = pageType === "VIEW" ? { width: "8rem", textAlign: "left" } : { width: "70rem" }; break; case 3: - obj = pageType === "VIEW" ? { width: "70rem" } : { width: "10rem" }; + obj = pageType === "VIEW" ? { width: "70rem", textAlign: "left" } : { width: "10rem" }; break; case 4: - obj = pageType === "VIEW" ? { width: "10rem" } : (pageType === "VIEW" ? { width: "15rem", textAlign: "right" } : { width: "15rem" }); + obj = + pageType === "VIEW" + ? { width: "10rem", textAlign: "left" } + : pageType === "VIEW" + ? { width: "15rem", textAlign: "right" } + : { width: "15rem" }; break; case 5: obj = pageType === "VIEW" ? { width: "15rem", textAlign: "right" } : { width: "15rem" }; @@ -184,11 +188,18 @@ const SORDetailsTemplate = (props) => { return (
-
+
{t(`RA_${props?.config?.sorType}_HEADER`)} {pageType !== "VIEW" && (
@@ -202,7 +213,7 @@ const SORDetailsTemplate = (props) => {
)}
- +
{/*SORDetails?.filter((ob) => ob?.sorType === props?.config?.sorType).length > 0 && @@ -231,7 +242,7 @@ const SORDetailsTemplate = (props) => { onChange={(e) => { const { value } = e.target; if (value ? has4DecimalPlaces(parseFloat(value)) : true) { - let detailsPicked = window.location.href.includes("update") ? SORDetails : formData + let detailsPicked = window.location.href.includes("update") ? SORDetails : formData; let newSOR = detailsPicked?.map((obj) => { if (obj?.sorCode === row?.sorCode) { return { ...obj, quantity: value }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/extra_charges_view_table.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/extra_charges_view_table.js index 9add9725e3..cf7a8a4660 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/extra_charges_view_table.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/extra_charges_view_table.js @@ -32,25 +32,25 @@ const ExtraChargesViewTable = (props) => { let obj = {}; switch (index) { case 1: - obj = { width: "1rem" }; + obj = { width: "1rem",textAlign: "left" }; break; case 2: - obj = { width: "70rem" }; + obj = { width: "70rem",textAlign: "left" }; break; case 3: - obj = { width: "10rem" }; + obj = { width: "10rem" ,textAlign: "left"}; break; case 4: - obj = { width: "10rem" }; + obj = { width: "10rem" ,textAlign: "left"}; break; case 5: - obj = pageType === "VIEW" ? { width: "15rem", textAlign: "right" } : { width: "15rem" }; + obj = pageType === "VIEW" ? { width: "15rem", textAlign: "right" } : { width: "15rem" ,textAlign: "right"}; break; case 6: - obj = pageType === "VIEW" ? { width: "16rem", textAlign: "right" } : { width: "15rem" }; + obj = pageType === "VIEW" ? { width: "16rem", textAlign: "right" } : { width: "15rem" ,textAlign: "right"}; break; case 7: - obj = pageType === "VIEW" ? { width: "14rem", textAlign: "right" } : { width: "10rem" }; + obj = pageType === "VIEW" ? { width: "14rem", textAlign: "right" } : { width: "10rem" ,textAlign: "right"}; break; case 8: obj = { width: "3%" }; @@ -75,7 +75,7 @@ const ExtraChargesViewTable = (props) => { return (
@@ -85,7 +85,7 @@ const ExtraChargesViewTable = (props) => {
{columns.map((column, index) => ( - + ))} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/rateAmountGroup.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/rateAmountGroup.js index 422f735c77..f1b00a3b92 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/rateAmountGroup.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/rateAmountGroup.js @@ -81,7 +81,7 @@ const RateAmountGroup = (props) => { flexDirection: "row", width: "100%", justifyContent: "flex-end", - paddingRight: "2%", + paddingRight: "0%", alignItems: "center", marginTop: "-30px", }} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ratecardbutton.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ratecardbutton.js index b521de2dfd..51e6b9ddcf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ratecardbutton.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ratecardbutton.js @@ -75,7 +75,7 @@ const RateCardWithRightButton = (props) => {
- +
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js index e3856fb7e7..a3a8bbfb5c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/specficAmountTable.js @@ -20,7 +20,7 @@ const TableWithOutHead = (props) => { return fields?.map((row, index) => { return ( - @@ -44,14 +44,14 @@ const TableWithOutHead = (props) => { flexDirection: "row", width: "100%", justifyContent: "flex-end", - paddingRight: "4%", + paddingRight: "0%", alignItems: "center", marginTop: "-30px", }} >
{column.label}{column.label}
+ { index===2?`${t(row?.name)}/ ${t(qty)} ${t(uom)}`:t(row?.name)}
{renderBody()}
From adc5fb7e4fc816893b015fca2b87f9df402d7792 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 23 Jul 2024 17:45:42 +0530 Subject: [PATCH 094/292] search sor ui-ux audit fix --- .../RateAnalysis/src/pages/employee/SearchSOR.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js index 2f687fbcec..f7e98ce1cd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js @@ -1,6 +1,6 @@ -import React, { useState, useEffect, useMemo, createContext } from "react"; +import React, { useState, useEffect, useMemo, createContext, Fragment } from "react"; import { useTranslation } from "react-i18next"; -import { Header, Loader, Button, ActionBar, SubmitBar, Toast, TextInput, Modal } from "@egovernments/digit-ui-react-components"; +import { Header, Loader, Button, ActionBar, SubmitBar, Toast, TextInput, Modal, CardText } from "@egovernments/digit-ui-react-components"; import { InboxSearchComposer } from "@egovernments/digit-ui-react-components"; import { useHistory } from "react-router-dom"; import searchSORConfig from "../../configs/searchSORConfig"; @@ -155,11 +155,14 @@ const SearchSOR = () => { {popup && ( + <> + + + {t("Please select an effective date to revise the rate. Note that the effective date cannot be today or a past date.")} + + } + headerBarMainStyle={{gap:"4px"}} headerBarEnd={ setPopup(false)} />} formId="modal-action" popupStyles={{ margin: "auto auto" }} From 94ff2c30a6cf6b93b54304a33be2dff60dc52be4 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 23 Jul 2024 17:55:05 +0530 Subject: [PATCH 095/292] updated codes --- .../modules/RateAnalysis/src/pages/employee/SearchSOR.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js index f7e98ce1cd..e400bc74e1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js @@ -156,9 +156,9 @@ const SearchSOR = () => { - + - {t("Please select an effective date to revise the rate. Note that the effective date cannot be today or a past date.")} + {t("PLEASE_SELECT_ AN_ EFFECTIVE_DATE TO_REVISE_THE_RATE._NOTE_THAT_THE_EFFECTIVE_DATE_CANNOT_BE_TODAY_OR_A_PAST_DATE.")} } From a3e24828f8a23dfcd1903df243d156a1157f0d64 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 23 Jul 2024 17:55:58 +0530 Subject: [PATCH 096/292] UI enhanced --- .../modules/RateAnalysis/src/components/SORDetailsTemplate.js | 2 +- .../RateAnalysis/src/components/extra_charges_view_table.js | 2 +- .../modules/RateAnalysis/src/components/ratecardbutton.js | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js index 7c07b88410..9468fc7d6a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js @@ -200,7 +200,7 @@ const SORDetailsTemplate = (props) => { } >
- {t(`RA_${props?.config?.sorType}_HEADER`)} + {t(`RA_${props?.config?.sorType}_HEADER`)} {pageType !== "VIEW" && (
{ }} >
- {t(`RA_${props?.config?.sorType}_HEADER`)} + {t(`RA_${props?.config?.sorType}_HEADER`)}
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ratecardbutton.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ratecardbutton.js index 51e6b9ddcf..d454bea056 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ratecardbutton.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ratecardbutton.js @@ -20,6 +20,7 @@ const RateCardWithRightButton = (props) => { background: "#c7e0f1", // Default background padding: "10px", width: "100%", + borderRadius: "4px" //boxSizing: "border-box", }; @@ -75,7 +76,7 @@ const RateCardWithRightButton = (props) => {
- +
From 08dd4731127fb6e3e783ba5237ab5fc0e07ff3fc Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 23 Jul 2024 18:00:54 +0530 Subject: [PATCH 097/292] updated codes --- .../modules/RateAnalysis/src/pages/employee/SearchSOR.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js index e400bc74e1..349d146a93 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js @@ -158,7 +158,7 @@ const SearchSOR = () => { <> - {t("PLEASE_SELECT_ AN_ EFFECTIVE_DATE TO_REVISE_THE_RATE._NOTE_THAT_THE_EFFECTIVE_DATE_CANNOT_BE_TODAY_OR_A_PAST_DATE.")} + {t("RA_EFFECTIVE_DATE_DESCRIPTION")} } From 10390449cfcaae13fd2f50c052ea8b21700343d8 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Wed, 24 Jul 2024 12:00:07 +0530 Subject: [PATCH 098/292] download issue estimate number is resolved --- .../pageComponents/ViewAnalysisStatement.js | 18 +++++++++++------- .../src/components/extra_charges_view_table.js | 2 +- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index 4807a732bc..98dd01877d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -8,7 +8,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { const history = useHistory(); const tenantId = Digit.ULBService.getCurrentTenantId(); const [showToast, setShowToast] = useState(null); - const { revisionNumber } = Digit.Hooks.useQueryParams(); + const { revisionNumber,estimateNumber } = Digit.Hooks.useQueryParams(); const isCreateOrUpdate = /(measurement\/create|estimate\/create-detailed-estimate|estimate\/update-detailed-estimate|measurement\/update|estimate\/create-revision-detailed-estimate|estimate\/update-revision-detailed-estimate)/.test( window.location.href ); @@ -175,7 +175,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { state: { estimateId: formData?.SORtable?.[0]?.estimateId, - number: window.location.href.includes("revision") ? revisionNumber : formData?.estimateNumber, + number: window.location.href.includes("revision") ? revisionNumber : formData?.estimateNumber?formData?.estimateNumber:estimateNumber, downloadStatus: false, oldData: { Labour: getAnalysisCost(ChargesCodeMapping.LabourCost), @@ -188,13 +188,15 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { }, 1000); }, onSuccess: async (responseData) => { + debugger setTimeout(() => { history.push({ pathname: `/${window?.contextPath}/employee/estimate/view-analysis-statement`, state: { responseData: responseData, estimateId: formData?.SORtable?.[0]?.estimateId, - number: window.location.href.includes("revision") ? revisionNumber : formData?.estimateNumber, + number: window.location.href.includes("revision") ? revisionNumber : formData?.estimateNumber?formData?.estimateNumber:estimateNumber, + downloadStatus: true, }, }); @@ -207,11 +209,13 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { setTimeout(() => { history.push({ - pathname: `/${window?.contextPath}/employee/estimate/view-analysis-statement`, + pathname: `/${window?.contextPath}/employee/measurement/utilizationstatement`, state: { - estimateId: formData?.SORtable?.[0]?.estimateId, - number: window.location.href.includes("revision") ? revisionNumber : formData?.estimateNumber, + estimateId: window.location.href.includes("measurement/update") ? props.config.formData.Measurement.id : formData?.Measurement?.id, + number: window.location.href.includes("measurement/update") + ? props.config.formData.Measurement.measurementNumber + : formData?.Measurement?.measurementNumber, downloadStatus: false, oldData: { Labour: getAnalysisCost(ChargesCodeMapping.LabourCost), @@ -256,7 +260,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { const number = isEstimate ? window.location.href.includes("revision") ? revisionNumber - : formData?.estimateNumber + : formData?.estimateNumber?formData?.estimateNumber:estimateNumber : window.location.href.includes("measurement/update") ? props.config.formData.Measurement.measurementNumber : formData?.Measurement?.measurementNumber; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/extra_charges_view_table.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/extra_charges_view_table.js index e2f33eb589..87f3c61d89 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/extra_charges_view_table.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/extra_charges_view_table.js @@ -79,7 +79,7 @@ const ExtraChargesViewTable = (props) => { }} >
- {t(`RA_${props?.config?.sorType}_HEADER`)} + {t(`RA_${props?.config?.sorType}_HEADER`)}
From 04e1e740838bcafa0e527c47f7fc806b506c801c Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Wed, 24 Jul 2024 13:19:37 +0530 Subject: [PATCH 099/292] UI changes done --- .../modules/Estimate/src/components/ConsolidatedTable.js | 4 ++-- .../modules/Estimate/src/components/ViewStatement.js | 3 ++- .../modules/RateAnalysis/src/components/ExtraCharges.js | 2 +- .../RateAnalysis/src/components/SORDetailsTemplate.js | 8 ++++---- .../modules/RateAnalysis/src/components/ratecardbutton.js | 6 +++--- .../RateAnalysis/src/configs/ViewRateAnalysisConfig.js | 4 +++- 6 files changed, 15 insertions(+), 12 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ConsolidatedTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ConsolidatedTable.js index a9dac1a1af..bf72e107ae 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ConsolidatedTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ConsolidatedTable.js @@ -100,7 +100,7 @@ const GroupedTable = (props) => { return ( {columns.map((col, index) => ( - + + */} + +
{ return ( - {renderHeader()} + {renderHeader()}{renderBody()} { groupAndCalculateTotals().length>0&& diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index 9b65697e65..988cbfcaca 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -42,7 +42,8 @@ const ViewStatement = (props) => { style={{ width: col?.width, textAlign : col?.textAlign, - backgroundColor: "#A6A6A6", + //backgroundColor: "#A6A6A6", + backgroundColor: "#EFEFEF", fontSize: "16px", lineHeight: "18.75px", fontFamily: "Roboto", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js index e4706db9df..5afa418058 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js @@ -62,7 +62,7 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { obj = { width: "10rem" }; break; case 5: - obj = { width: "15rem" }; + obj = { width: "15rem",textAlign:"right" }; break; case 6: obj = { width: "18rem" }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js index 9468fc7d6a..5d5d185401 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js @@ -130,13 +130,13 @@ const SORDetailsTemplate = (props) => { let obj = {}; switch (index) { case 1: - obj = pageType === "VIEW" ? { width: "1rem", textAlign: "left" } : { width: "8rem" }; + obj = pageType === "VIEW" ? { width: "1rem", textAlign: "left" } : { width: "8rem" , textAlign: "left"}; break; case 2: - obj = pageType === "VIEW" ? { width: "8rem", textAlign: "left" } : { width: "70rem" }; + obj = pageType === "VIEW" ? { width: "8rem", textAlign: "left" } : { width: "70rem", textAlign: "left" }; break; case 3: - obj = pageType === "VIEW" ? { width: "70rem", textAlign: "left" } : { width: "10rem" }; + obj = pageType === "VIEW" ? { width: "70rem", textAlign: "left" } : { width: "10rem", textAlign: "left" }; break; case 4: obj = @@ -144,7 +144,7 @@ const SORDetailsTemplate = (props) => { ? { width: "10rem", textAlign: "left" } : pageType === "VIEW" ? { width: "15rem", textAlign: "right" } - : { width: "15rem" }; + : { width: "15rem",textAlign: "right" }; break; case 5: obj = pageType === "VIEW" ? { width: "15rem", textAlign: "right" } : { width: "15rem" }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ratecardbutton.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ratecardbutton.js index d454bea056..d9be59f2e0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ratecardbutton.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ratecardbutton.js @@ -55,9 +55,9 @@ const RateCardWithRightButton = (props) => { className="border-none" /* privacy object set to the Row Component */ privacy={row?.value?.privacy} - rowContainerStyle={{}} - textStyle={{}} - labelStyle={{}} + rowContainerStyle={{marginBottom:"0px"}} + textStyle={{marginBottom:"0px"}} + labelStyle={{marginBottom:"0px"}} amountStyle={{}} /> ); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewRateAnalysisConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewRateAnalysisConfig.js index 1607d5ad71..09362f59fa 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewRateAnalysisConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/ViewRateAnalysisConfig.js @@ -134,7 +134,9 @@ export const viewRateAnalysisdataconfig = (data, rateAnalysis, sorId, t,infoCard type: "DATA", - cardHeader: { value: "RA_RATE_ANALYSIS_LABEL", inlineStyles: {} }, + cardHeader: { value: "RA_RATE_ANALYSIS_LABEL", inlineStyles: { + marginBottom : "10px", fontSize: "24px",lineHeight:"32px" + } }, infoCard:infoCard, values: [ { From 8b393da17d9757dbf930a815ec83fda4f512127c Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Wed, 24 Jul 2024 14:13:13 +0530 Subject: [PATCH 100/292] debugger removed --- .../Estimate/src/pageComponents/ViewAnalysisStatement.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index 98dd01877d..3626788979 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -188,7 +188,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { }, 1000); }, onSuccess: async (responseData) => { - debugger + setTimeout(() => { history.push({ pathname: `/${window?.contextPath}/employee/estimate/view-analysis-statement`, From 5e29fbf298665fefa2df824e7c1d515007a370b0 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Wed, 24 Jul 2024 16:22:06 +0530 Subject: [PATCH 101/292] UCEM-516 : Updated the cpde fpr the view analysis statement button and rate analysis validation --- .../src/pageComponents/ViewAnalysisStatement.js | 2 +- .../src/configs/RateAnalysisCreateConfig.js | 10 ++++++---- .../src/pages/employee/CreateRateAnalysis.js | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index 3626788979..292ee80bb9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -349,7 +349,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => {
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js index 0939f990c0..59a54a90a9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js @@ -1,4 +1,4 @@ -export const CreateConfig = ({ defaultValue, isUpdate, measurement }) => { +export const CreateConfig = ({t, defaultValue, isUpdate, measurement }) => { return { CreateConfig: [ { @@ -157,13 +157,15 @@ export const CreateConfig = ({ defaultValue, isUpdate, measurement }) => { "label": "RA_ANALYSIS_QUANTITY_DEFINED", "isMandatory": true, "key": "analysis_qty_defined", - "type": "number", + "type": "text", "disable": false, "populators": { "name": "analysis_qty_defined", + "error": t("ERR_QUANTITY_MANDATORY_FORMAT"), "validation": { - "pattern": "\\d{1,4}(\\.\\d{1,2})?", - "ValidationRequired" : true, + "pattern": /^$|^\d{1,4}(\.\d{1,2})?$/i, + //"ValidationRequired" : true, + //"title" : "please correct the input", } } }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js index d059c0d8b9..4b1c433d01 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js @@ -292,7 +292,7 @@ const { isLoading : isallCompositionLoading, data : allcompositionData} = Digit.
{isUpdate ? t("RA_UPDATE_RATE_ANALYSIS") : t("RA_CREATE_RATE_ANALYSIS")}
(!a.hasOwnProperty('forOnlyUpdate') || props?.isUpdate)).map((config) => { + config={CreateConfig({t, defaultValue: defaultState, isUpdate, measurement : props?.data[0] }).CreateConfig[0]?.form?.filter((a) => (!a.hasOwnProperty('forOnlyUpdate') || props?.isUpdate)).map((config) => { return { ...config, body: config.body.filter((a) => !a.hideInEmployee), From 8d210e4328b058bafff9e3f53f18ea57c770ecbb Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Wed, 24 Jul 2024 17:29:24 +0530 Subject: [PATCH 102/292] UCEM-482 : Updated the fix for the non sor addition through estimate template --- .../modules/Estimate/src/pageComponents/searchTemplate.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js index b1ae8b7f3d..3a24fd1d03 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js @@ -259,8 +259,9 @@ const searchTemplate = (props) => { })):[]; - let nosSorData = stateData?.selectedTemplate.nonSorLineItems? stateData?.selectedTemplate.nonSorLineItems?.map((item) => ({ - sNo: 1, + let newnonsorIndex = formNonSORdata[formNonSORdata?.length - 1]?.sNo+1; + let nosSorData = stateData?.selectedTemplate.nonSorLineItems? stateData?.selectedTemplate.nonSorLineItems?.map((item, index) => ({ + sNo: newnonsorIndex++, description: item?.description, uom: item?.uom, category: "NON-SOR", @@ -273,7 +274,6 @@ const searchTemplate = (props) => { amount: 0, measures: [], targetId: null, - sorId: item?.id, })):[]; From f53e7427700e4396547ef17c9a0dcfb6c65c1c5b Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 25 Jul 2024 11:58:59 +0530 Subject: [PATCH 103/292] ui /ux feed back implemented --- .../packages/modules/Estimate/src/components/ViewStatement.js | 2 +- .../modules/RateAnalysis/src/components/ExtraCharges.js | 2 +- .../modules/RateAnalysis/src/components/SORDetailsTemplate.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index 988cbfcaca..399f2f26da 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -73,7 +73,7 @@ const ViewStatement = (props) => { width: col.width, textAlign: col?.textAlign, padding: "10px", - backgroundColor: "#D6D5D4", + backgroundColor: "#EFEFEF", fontSize: "12px", lineHeight: "14.06px", fontFamily: "Roboto", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js index 5afa418058..09ac69a665 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ExtraCharges.js @@ -62,7 +62,7 @@ const ExtraCharges = ({ control, watch, config, ...props }) => { obj = { width: "10rem" }; break; case 5: - obj = { width: "15rem",textAlign:"right" }; + obj = { width: "15rem",textAlign:"left" }; break; case 6: obj = { width: "18rem" }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js index 5d5d185401..3ce6a81885 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js @@ -144,7 +144,7 @@ const SORDetailsTemplate = (props) => { ? { width: "10rem", textAlign: "left" } : pageType === "VIEW" ? { width: "15rem", textAlign: "right" } - : { width: "15rem",textAlign: "right" }; + : { width: "15rem",textAlign: "left" }; break; case 5: obj = pageType === "VIEW" ? { width: "15rem", textAlign: "right" } : { width: "15rem" }; From 753c49bf80ab0cdfa34a16cd2350b425a8e725c3 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 25 Jul 2024 12:18:58 +0530 Subject: [PATCH 104/292] zindex incremented for search template --- .../modules/Estimate/src/pageComponents/searchTemplate.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js index 3a24fd1d03..bd0f895228 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js @@ -373,7 +373,7 @@ const searchTemplate = (props) => { customClass="search-sor-input" /> {suggestions?.length > 0 && ( -
    +
      {suggestions.map((option) => (
    • handleSelectOption(option)}> {option?.templateName} From 64816f3a6b90b13cf62723a4fd8046555d205409 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 25 Jul 2024 12:46:02 +0530 Subject: [PATCH 105/292] commented time extension 365 --- .../time_extension_request/create_time_extension.dart | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart b/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart index 6d3501bd8f..e713429b03 100644 --- a/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart +++ b/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart @@ -326,10 +326,10 @@ class _CreateTimeExtensionRequestPage i18.workOrder .extensionReqInDaysMinVal, ), - 'max':(_)=>t.translate( - i18.workOrder - .extensionReqInDaysMaxVal, - ), + // 'max':(_)=>t.translate( + // i18.workOrder + // .extensionReqInDaysMaxVal, + // ), }, ), DigitTextFormField( @@ -445,7 +445,7 @@ class _CreateTimeExtensionRequestPage extensionDaysKey: FormControl(value: extensionDays ?? '', validators: [ Validators.required, Validators.min('1'), - Validators.max('365') + ]), reasonForExtensionKey: FormControl(value: extensionReason ?? '', validators: [ Validators.required, From 6bb6a27514d5b6c5373e9131ef7674dce93b100a Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 25 Jul 2024 13:29:20 +0530 Subject: [PATCH 106/292] inactive sor is removed from the list ticket no-579 --- .../packages/modules/Estimate/util/EstimateData.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/util/EstimateData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/util/EstimateData.js index 291d8b8f28..b83dad5a18 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/util/EstimateData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/util/EstimateData.js @@ -52,7 +52,7 @@ export const transformStatementData = (data,screenType) => { const { sorDetails } = data; - sorDetails.forEach((sorDetail, sorIndex) => { + sorDetails.filter((ob) => ob?.isActive === true).forEach((sorDetail, sorIndex) => { const { lineItems } = sorDetail; // Main SOR data @@ -175,7 +175,8 @@ export const sortSorsBasedonType = (statement,screenType) => { } }); }); - + console.log(resultArray); + debugger; return resultArray; // Create the array of objects based on the provided statement data From 4e4c94c738c6eb0b35c4cf0dee372411c1d8a1cd Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 25 Jul 2024 14:06:53 +0530 Subject: [PATCH 107/292] debugger removed --- .../packages/modules/Estimate/util/EstimateData.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/util/EstimateData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/util/EstimateData.js index b83dad5a18..3b56f96327 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/util/EstimateData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/util/EstimateData.js @@ -175,8 +175,7 @@ export const sortSorsBasedonType = (statement,screenType) => { } }); }); - console.log(resultArray); - debugger; + return resultArray; // Create the array of objects based on the provided statement data From 76606709fb9c340dce8a5189c0857554e9f4f0f1 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 25 Jul 2024 18:10:25 +0530 Subject: [PATCH 108/292] UCEM-586 : Updated the redirection of dashboard to a new tab and icon change --- .../packages/Mukta/src/components/DSSCard.js | 6 ++++-- .../react-components/src/atoms/EmployeeModuleCard.js | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/DSSCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/DSSCard.js index c61c15e3d3..a9b35641ec 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/DSSCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/DSSCard.js @@ -1,4 +1,4 @@ -import { HRIcon, EmployeeModuleCard } from "@egovernments/digit-ui-react-components"; +import { HRIcon, EmployeeModuleCard, WorksMgmtIcon } from "@egovernments/digit-ui-react-components"; import React from "react"; import { useTranslation } from "react-i18next"; @@ -15,7 +15,7 @@ const DSSCard = () => { let isProduction = window.location.href.includes("odisha.gov.in") ? true : false; const propsForModuleCard = { - Icon: , + Icon: , moduleName: t("ACTION_TEST_10DSS"), kpis: [ // { @@ -34,11 +34,13 @@ const DSSCard = () => { label: t("DSS_MUKTA_DASHBOARD"), link: isProduction ? `/kibana-v8/app/dashboards#/view/fcba7d24-851a-4b11-b792-e790a86bab3d?_g=[…]!t,value:60000),time:(from:now-1y%2Fd,to:now))` : `/kibana-v8/app/dashboards#/view/c8d7e730-2252-11ef-98df-3bbfa2125b2b?_g=(filters:!(),time:(from:now-1y,to:now))`, roles: ROLES.MUKTADASHBOARD, + target: "_blank" }, { label: t("DSS_ROLLOUT_DASHBOARD"), link: isProduction ? `/kibana-v8/app/dashboards#/view/1cb35e7c-2a53-45e2-a46b-018d17ae4c15?_g=[…]!t,value:60000),time:(from:now-1y%2Fd,to:now))`: `/kibana-v8/app/dashboards#/view/261cb0b0-fbde-11ee-b08d-8b505ceea182?_g=[…]use:!t,value:60000),time:(from:now-1y,to:now))`, roles: ROLES.MUKTADASHBOARD, + target: "_blank" }, ], }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/EmployeeModuleCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/EmployeeModuleCard.js index 1d2e087c66..faa81f1968 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/EmployeeModuleCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/EmployeeModuleCard.js @@ -33,9 +33,9 @@ const EmployeeModuleCard = ({ Icon, moduleName, kpis = [], links = [], isCitizen
)}
- {links.map(({ count, label, link }, index) => ( + {links.map(({ count, label, link, target }, index) => ( - {link ? (link?.includes(`${window?.contextPath}/`)? history.push(`${link}`,{count})}>{label}:{label}) : null} + {link ? (link?.includes(`${window?.contextPath}/`)? history.push(`${link}`,{count})}>{label}:{label}) : null} {count ? ( <> history.push(`${link}`)}>{count || "-"} From 532d42b67d0f4a5abcc613e0f1b687a58587b525 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 25 Jul 2024 18:40:04 +0530 Subject: [PATCH 109/292] UCEM-568 : removed the dashboard link as mis card is introduced --- .../packages/Mukta/src/components/WorksCard.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js index 2a8449fc6d..3512816b3f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/WorksCard.js @@ -203,11 +203,11 @@ const WorksCard = () => { // link: `/${window?.contextPath}/employee/expenditure/search-bill?status=APPROVED`, // roles: ROLES.PAYMENT, // }, - { - label: t("ACTION_TEST_6DASHBOARD"), - link: `/${window?.contextPath}/employee/dss/dashboard/mukta`, - roles: ROLES.DSS, - }, + // { + // label: t("ACTION_TEST_6DASHBOARD"), + // link: `/${window?.contextPath}/employee/dss/dashboard/mukta`, + // roles: ROLES.DSS, + // }, { label: t("ACTION_TEST_7MASTERS"), link: `/${window?.contextPath}/employee/masters/search-organization`, From 6a0c08b06a5ecf290bbab7517c08e1f993dbb45a Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 30 Jul 2024 11:52:53 +0530 Subject: [PATCH 110/292] sor sequence issue fixed --- .../lib/blocs/employee/mb/mb_detail_view.dart | 25 ++++++++++++++++--- .../lib/pages/employee/mb_detail_page.dart | 6 +++++ 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart index db2af8ce66..faa328ccc8 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart @@ -145,10 +145,14 @@ class MeasurementDetailBloc .first : res.allMeasurements!, data, - sorList.first.first, - sorList.first.last, - sorList.length >= 2 ? sorList[1].first : null, - sorList.length >= 2 ? sorList[1].last : null, + //sorList.first.first, + getSorted(sorList.first.first, res), + //sorList.first.last, + getSorted(sorList.first.last, res), + // sorList.length >= 2 ? sorList[1].first : null, + // sorList.length >= 2 ? sorList[1].last : null, + sorList.length >= 2 ? getSorted(sorList[1].first, res) : null, + sorList.length >= 2 ? getSorted(sorList[1].last, res) : null, ), ); } on DioError catch (e) { @@ -157,6 +161,19 @@ class MeasurementDetailBloc } } + List getSorted(List sorData, MBDetailResponse mb) { + Set sData = {}; + for (EstimateDetail element in mb.estimate!.estimateDetails!) { + for (SorObject object in sorData) { + if (element.sorId == object.sorId) { + sData.add(object); + break; + } + } + } + return sData.toList(); + } + FutureOr addMeasurementLine( AddToMeasurementLineEvent event, MeasurementDetailBlocEventEmitter emit, diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index b0ba678cc2..6c6e86caed 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -187,6 +187,12 @@ class _MBDetailPageState extends State ); }, error: (value) { + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route is! PopupRoute, + ); Notifiers.getToastMessage( context, value.error.toString(), 'ERROR'); }, From d028cb9c1741bebe7cb2ef5ff4473aa76b8d62bc Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Tue, 30 Jul 2024 12:08:31 +0530 Subject: [PATCH 111/292] UCEM-293 : Updated the search param for the organization id --- .../packages/Mukta/src/configs/UICustomizations.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js index beacd6702e..8814eae09c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js @@ -252,7 +252,7 @@ export const UICustomizations = { let selectedOrg = _.clone(data.body.inbox.moduleSearchCriteria.orgId ? data.body.inbox.moduleSearchCriteria.orgId : null); delete data.body.inbox.moduleSearchCriteria.orgId; if (selectedOrg) { - data.body.inbox.moduleSearchCriteria.orgId = selectedOrg?.[0]?.applicationNumber; + data.body.inbox.moduleSearchCriteria.orgId = selectedOrg?.[0]?.name; } // let selectedWard = _.clone(data.body.inbox.moduleSearchCriteria.ward ? data.body.inbox.moduleSearchCriteria.ward : null); From 6ec88bf59bc6914131bfd17d670c50e8890f5252 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Tue, 30 Jul 2024 12:56:30 +0530 Subject: [PATCH 112/292] UCEM-188 : Updated the customization code for the ward filter in contract inbox --- .../packages/Mukta/src/configs/UICustomizations.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js index 8814eae09c..74d2e996f5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js @@ -956,7 +956,10 @@ export const UICustomizations = { data.body.inbox.moduleSearchCriteria.assignee = Digit.UserService.getUser().info.uuid; } + let ward = _.clone(data.body.inbox.moduleSearchCriteria.ward ? data.body.inbox.moduleSearchCriteria.ward : []); delete data.body.inbox.moduleSearchCriteria.ward; + ward = ward?.map((row) => row?.code); + if (ward.length > 0) data.body.inbox.moduleSearchCriteria.ward = ward; //cloning locality and workflow states to format them let locality = _.clone(data.body.inbox.moduleSearchCriteria.locality ? data.body.inbox.moduleSearchCriteria.locality : []); From 71e4e729f03fe1d6869311c7ab905d342948f578 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Wed, 31 Jul 2024 15:29:19 +0530 Subject: [PATCH 113/292] [UCEM-277,UCEM-187,UCEM-374,UCEM-700] : Updated the payload method for contract update, enabled assignee name dropdown for measurement popup, UI feedback point, included mbnumber when application in drafted state --- .../micro-ui-internals/example/package.json | 2 +- .../example/src/UICustomizations.js | 3 +++ .../packages/modules/Contracts/package.json | 2 +- .../CreateWorkOrder/CreateWorkOrderForm.js | 2 +- .../Contracts/utils/createWorkOrderUtils.js | 4 ++-- .../Estimate/src/components/ViewStatement.js | 4 ++-- .../src/configs/MeasurementCreateConfig.js | 24 ++++++++++++++++--- .../src/pages/employee/CreateMeasurement.js | 2 +- .../src/utils/transformEstimateData.js | 3 ++- frontend/micro-ui/web/package.json | 2 +- 10 files changed, 35 insertions(+), 13 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index e8329bc658..34bdb84da0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -15,7 +15,7 @@ "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-react-components": "^1.5.0", "@egovernments/digit-ui-module-attendencemgmt": "0.4.3", - "@egovernments/digit-ui-module-contracts": "0.4.2", + "@egovernments/digit-ui-module-contracts": "0.4.3", "@egovernments/digit-ui-module-measurement":"0.2.0", "@egovernments/digit-ui-module-estimate": "0.4.5", "@egovernments/digit-ui-module-masters": "0.4.5", diff --git a/frontend/micro-ui/web/micro-ui-internals/example/src/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/example/src/UICustomizations.js index df95781eff..dd0023fbb4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/src/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/example/src/UICustomizations.js @@ -194,6 +194,9 @@ export const UICustomizations = { if(businessService === businessServiceMap?.["revisedWO"]){ return action.action.includes("VERIFY_AND_FORWARD") } + if(businessService === businessServiceMap?.measurement){ + return action.action.includes("VERIFY_AND_FORWARD") || action.action.includes("SEND_BACK_TO_ORIGINATOR") + } return false; }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json index ef533fa562..38f0987f45 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-contracts", - "version": "0.4.2", + "version": "0.4.3", "description": "Contracts Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateWorkOrder/CreateWorkOrderForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateWorkOrder/CreateWorkOrderForm.js index 8f156a769f..593c73a68e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateWorkOrder/CreateWorkOrderForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateWorkOrder/CreateWorkOrderForm.js @@ -189,7 +189,7 @@ const CreateWorkOrderForm = ({createWorkOrderConfig, sessionFormData, setSession const OnModalSubmit = async (modalData) => { modalData = Digit.Utils.trimStringsInObject(modalData) - const payload = createWorkOrderUtils({tenantId, estimate, project, inputFormdata, selectedApprover, modalData, createWorkOrderConfig, modifyParams, docConfigData}); + const payload = createWorkOrderUtils({tenantId, estimate, project, inputFormdata, selectedApprover, modalData, createWorkOrderConfig, modifyParams, docConfigData, isModify}); if(isModify) { handleResponseForUpdate(payload); }else { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/utils/createWorkOrderUtils.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/utils/createWorkOrderUtils.js index 84e9999f41..5b0dc8b013 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/utils/createWorkOrderUtils.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/utils/createWorkOrderUtils.js @@ -76,7 +76,7 @@ const handleTermsAndConditions = (data) => { return data.WOTermsAndConditions; } -export const createWorkOrderUtils = ({tenantId, estimate, project, inputFormdata, selectedApprover, modalData, createWorkOrderConfig, modifyParams, docConfigData}) => { +export const createWorkOrderUtils = ({tenantId, estimate, project, inputFormdata, selectedApprover, modalData, createWorkOrderConfig, modifyParams, docConfigData, isModify}) => { return { contract : { "id" : modifyParams?.contractID, @@ -94,7 +94,7 @@ export const createWorkOrderUtils = ({tenantId, estimate, project, inputFormdata "endDate": 0, "status" : "ACTIVE", "completionPeriod": inputFormdata?.projectCompletionPeriodInDays, - "lineItems": [ + "lineItems": isModify ? modifyParams?.lineItems : [ { "id" : modifyParams?.lineItems?.[0]?.id, "estimateId": estimate?.id, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js index 399f2f26da..8a8562145b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewStatement.js @@ -74,7 +74,7 @@ const ViewStatement = (props) => { textAlign: col?.textAlign, padding: "10px", backgroundColor: "#EFEFEF", - fontSize: "12px", + fontSize: "16px", lineHeight: "14.06px", fontFamily: "Roboto", fontWeight: "700", @@ -89,7 +89,7 @@ const ViewStatement = (props) => { const renderSubBody = (subRows) => { return subRows.map((subRow, subIndex) => ( -
+ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js index c451a6a25e..62eeba0952 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js @@ -1,4 +1,4 @@ -export const CreateConfig = ({ defaultValue, measurement }) => { +export const CreateConfig = ({ defaultValue, measurement, mbnumber }) => { return { CreateConfig: [ @@ -10,6 +10,24 @@ export const CreateConfig = ({ defaultValue, measurement }) => { head: "", subHead: "", body: [ + ...(mbnumber + ? [ + { + inline: true, + label: "MB_MEASUREMENT_NUMBER", + isMandatory: false, + key: "mbNumber", + type: "paragraph", + disable: true, + appendColon: false, + populators: { + name: "mbNumber", + customStyle: { marginBottom: "-5px", marginTop: "10px" }, + customParaStyle: { marginBottom: "revert" }, + }, + }, + ] + : []), { inline: true, label: "MB_WORK_ORDER_NUMBER", @@ -20,8 +38,8 @@ export const CreateConfig = ({ defaultValue, measurement }) => { appendColon: false, populators: { name: "contractNumber", - customStyle :{marginBottom:"-5px", marginTop:"10px"}, - customParaStyle : {marginBottom:"revert"} + customStyle :{marginBottom:"-5px"}, + customParaStyle : {marginBottom:"revert"}, }, }, { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js index 3d697493f2..d61d3c278c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js @@ -242,7 +242,7 @@ const CreateMeasurement = ({ props }) => {
{t("MB_MEASUREMENT_BOOK")}
(!a.hasOwnProperty('forOnlyUpdate') || props?.isUpdate)).map((config) => { + config={CreateConfig({ defaultValue: defaultState?.contract, measurement : props?.data[0], mbnumber : mbNumber }).CreateConfig[0]?.form?.filter((a) => (!a.hasOwnProperty('forOnlyUpdate') || props?.isUpdate)).map((config) => { return { ...config, body: config.body.filter((a) => !a.hideInEmployee), diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/transformEstimateData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/transformEstimateData.js index 3a1842f695..c7f7b1ce11 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/transformEstimateData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/transformEstimateData.js @@ -162,7 +162,8 @@ export const getDefaultValues = (data, t, mbNumber) => { musterRollNo: musterRoll, measurementPeriod: measurementPeriod, CurrentStartDate, - CurrentEndDate + CurrentEndDate, + mbNumber }; return { SOR, NONSOR, contractDetails, uploadedDocs, documents:measurement?.documents || allMeasurements?.[0]?.documents }; diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index 70c9d31933..9b7b73f719 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -24,7 +24,7 @@ "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-module-attendencemgmt": "0.4.3", - "@egovernments/digit-ui-module-contracts": "0.4.2", + "@egovernments/digit-ui-module-contracts": "0.4.3", "@egovernments/digit-ui-module-measurement":"0.2.0", "@egovernments/digit-ui-module-estimate": "0.4.5", "@egovernments/digit-ui-module-masters": "0.4.5", From 4f4e5c1ac03133ca3b1866d328c3cb2f9f9dc6de Mon Sep 17 00:00:00 2001 From: Tulika-eGov <74046137+Tulika-eGov@users.noreply.github.com> Date: Wed, 31 Jul 2024 16:13:03 +0530 Subject: [PATCH 114/292] Update publish.sh (#583) Updated tag name for v2.1.1 Develop --- .../web/micro-ui-internals/publish.sh | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/publish.sh b/frontend/micro-ui/web/micro-ui-internals/publish.sh index 4787e4d904..c8af10cc11 100644 --- a/frontend/micro-ui/web/micro-ui-internals/publish.sh +++ b/frontend/micro-ui/web/micro-ui-internals/publish.sh @@ -11,7 +11,7 @@ yarn # sleep 5 msg "Building and publishing css" -cd "$BASEDIR/packages/css" && yarn&& npm publish --tag mukta-1.2 +cd "$BASEDIR/packages/css" && yarn&& npm publish --tag mukta-2.1.1 # msg "Building and publishing libraries" # cd "$BASEDIR/packages/libraries" && yarn publish --access public @@ -25,28 +25,28 @@ cd "$BASEDIR/packages/css" && yarn&& npm publish --tag mukta-1.2 # sleep 5 msg "Building and publishing AttendenceMgmt module" -cd "$BASEDIR/packages/modules/AttendenceMgmt" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-1.2 +cd "$BASEDIR/packages/modules/AttendenceMgmt" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.1 msg "Building and publishing Expenditure module" -cd "$BASEDIR/packages/modules/Expenditure" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-1.2 +cd "$BASEDIR/packages/modules/Expenditure" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.1 msg "Building and publishing RateAnalysis module" -cd "$BASEDIR/packages/modules/RateAnalysis" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-1.2 +cd "$BASEDIR/packages/modules/RateAnalysis" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.1 msg "Building and publishing Contracts module" -cd "$BASEDIR/packages/modules/Contracts" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-1.2 +cd "$BASEDIR/packages/modules/Contracts" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.1 msg "Building and publishing Masters module" -cd "$BASEDIR/packages/modules/Masters" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-1.2 +cd "$BASEDIR/packages/modules/Masters" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.1 msg "Building and publishing Works module" -cd "$BASEDIR/packages/modules/works" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-1.2 +cd "$BASEDIR/packages/modules/works" && rm -rf node_modules && rm -rf dist && yarn&& npm publish --tag mukta-2.1.1 msg "Building and publishing Project module" -cd "$BASEDIR/packages/modules/Project" && rm -rf node_modules && rm -rf dist && yarn && npm publish --tag mukta-1.2 +cd "$BASEDIR/packages/modules/Project" && rm -rf node_modules && rm -rf dist && yarn && npm publish --tag mukta-2.1.1 msg "Building and publishing Estimate module" -cd "$BASEDIR/packages/modules/Estimate" && rm -rf node_modules && rm -rf dist && yarn && npm publish --tag mukta-1.2 +cd "$BASEDIR/packages/modules/Estimate" && rm -rf node_modules && rm -rf dist && yarn && npm publish --tag mukta-2.1.1 msg "Building and publishing Measurement module" -cd "$BASEDIR/packages/modules/Measurement" && rm -rf node_modules && rm -rf dist && yarn && npm publish --tag mukta-1.2 +cd "$BASEDIR/packages/modules/Measurement" && rm -rf node_modules && rm -rf dist && yarn && npm publish --tag mukta-2.1.1 From 19a9e46e3ddcc34157bd6499b547d52cbcbb685f Mon Sep 17 00:00:00 2001 From: Tulika-eGov <74046137+Tulika-eGov@users.noreply.github.com> Date: Wed, 31 Jul 2024 16:16:01 +0530 Subject: [PATCH 115/292] Update publishUIPackages.yml Updated branch name for publishing --- .github/workflows/publishUIPackages.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/publishUIPackages.yml b/.github/workflows/publishUIPackages.yml index 8687775552..44a6ad79ab 100644 --- a/.github/workflows/publishUIPackages.yml +++ b/.github/workflows/publishUIPackages.yml @@ -8,6 +8,7 @@ on: # Push events to branches matching refs/heads/mona/octocat - 'UAT' - 'MUKTA-v2.1-Develop' + - 'MUKTA-DEVELOP-v2.1.1' paths: - 'frontend/micro-ui/web/micro-ui-internals/**' pull_request: @@ -18,6 +19,8 @@ on: - 'develop' # Push events to branches matching refs/heads/releases/10 - 'MUKTA-v2.1-Develop' + # Push events to branches matching refs/heads/releases/10 + - 'MUKTA-DEVELOP-v2.1.1' paths: - 'frontend/micro-ui/web/micro-ui-internals/**' From 6e68b5da1575d818db645d2c382d2b3cbc67778f Mon Sep 17 00:00:00 2001 From: Jagankumar <53823168+jagankumar-egov@users.noreply.github.com> Date: Wed, 31 Jul 2024 16:19:03 +0530 Subject: [PATCH 116/292] Update publishUIPackages.yml (#586) --- .github/workflows/publishUIPackages.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/publishUIPackages.yml b/.github/workflows/publishUIPackages.yml index 8687775552..44a6ad79ab 100644 --- a/.github/workflows/publishUIPackages.yml +++ b/.github/workflows/publishUIPackages.yml @@ -8,6 +8,7 @@ on: # Push events to branches matching refs/heads/mona/octocat - 'UAT' - 'MUKTA-v2.1-Develop' + - 'MUKTA-DEVELOP-v2.1.1' paths: - 'frontend/micro-ui/web/micro-ui-internals/**' pull_request: @@ -18,6 +19,8 @@ on: - 'develop' # Push events to branches matching refs/heads/releases/10 - 'MUKTA-v2.1-Develop' + # Push events to branches matching refs/heads/releases/10 + - 'MUKTA-DEVELOP-v2.1.1' paths: - 'frontend/micro-ui/web/micro-ui-internals/**' From 180600f15f071a1ef9d3f80c450ea8d122d09cf0 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Fri, 2 Aug 2024 11:00:53 +0530 Subject: [PATCH 117/292] flutter upgrade --- frontend/works_shg_app/.vscode/settings.json | 3 + frontend/works_shg_app/pubspec.lock | 86 ++++++++++++++------ 2 files changed, 62 insertions(+), 27 deletions(-) create mode 100644 frontend/works_shg_app/.vscode/settings.json diff --git a/frontend/works_shg_app/.vscode/settings.json b/frontend/works_shg_app/.vscode/settings.json new file mode 100644 index 0000000000..c5f3f6b9c7 --- /dev/null +++ b/frontend/works_shg_app/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.configuration.updateBuildConfiguration": "interactive" +} \ No newline at end of file diff --git a/frontend/works_shg_app/pubspec.lock b/frontend/works_shg_app/pubspec.lock index 2fc2c97076..fb990ad876 100644 --- a/frontend/works_shg_app/pubspec.lock +++ b/frontend/works_shg_app/pubspec.lock @@ -213,10 +213,10 @@ packages: dependency: "direct main" description: name: collection - sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c" + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted - version: "1.17.1" + version: "1.18.0" convert: dependency: transitive description: @@ -654,6 +654,30 @@ packages: url: "https://pub.dev" source: hosted version: "2.3.1" + hive: + dependency: "direct main" + description: + name: hive + sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941" + url: "https://pub.dev" + source: hosted + version: "2.2.3" + hive_flutter: + dependency: "direct main" + description: + name: hive_flutter + sha256: dca1da446b1d808a51689fb5d0c6c9510c0a2ba01e22805d492c73b68e33eecc + url: "https://pub.dev" + source: hosted + version: "1.1.0" + hive_generator: + dependency: "direct dev" + description: + name: hive_generator + sha256: "06cb8f58ace74de61f63500564931f9505368f45f98958bd7a6c35ba24159db4" + url: "https://pub.dev" + source: hosted + version: "2.0.1" horizontal_data_table: dependency: "direct main" description: @@ -778,10 +802,10 @@ packages: dependency: "direct main" description: name: intl - sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6 + sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" url: "https://pub.dev" source: hosted - version: "0.18.0" + version: "0.18.1" io: dependency: transitive description: @@ -866,26 +890,26 @@ packages: dependency: transitive description: name: matcher - sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb" + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" url: "https://pub.dev" source: hosted - version: "0.12.15" + version: "0.12.16" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.5.0" meta: dependency: transitive description: name: meta - sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" + sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" mime: dependency: "direct main" description: @@ -1255,26 +1279,26 @@ packages: dependency: transitive description: name: source_span - sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" stack_trace: dependency: transitive description: name: stack_trace - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" stream_transform: dependency: transitive description: @@ -1319,26 +1343,26 @@ packages: dependency: transitive description: name: test - sha256: "3dac9aecf2c3991d09b9cdde4f98ded7b30804a88a0d7e4e7e1678e78d6b97f4" + sha256: a1f7595805820fcc05e5c52e3a231aedd0b72972cb333e8c738a8b1239448b6f url: "https://pub.dev" source: hosted - version: "1.24.1" + version: "1.24.9" test_api: dependency: transitive description: name: test_api - sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "0.6.1" test_core: dependency: transitive description: name: test_core - sha256: "5138dbffb77b2289ecb12b81c11ba46036590b72a64a7a90d6ffb880f1a29e93" + sha256: a757b14fc47507060a162cc2530d9a4a2f92f5100a952c7443b5cad5ef5b106a url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "0.5.9" timelines: dependency: "direct main" description: @@ -1383,18 +1407,18 @@ packages: dependency: "direct main" description: name: universal_html - sha256: f2e0ff0c4af8e4bbda4d273ca4a11be4055414f478fad5c161609b74790ff696 + sha256: "56536254004e24d9d8cfdb7dbbf09b74cf8df96729f38a2f5c238163e3d58971" url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.2.4" universal_io: dependency: transitive description: name: universal_io - sha256: "06866290206d196064fd61df4c7aea1ffe9a4e7c4ccaa8fcded42dd41948005d" + sha256: "1722b2dcc462b4b2f3ee7d188dad008b6eb4c40bbd03a3de451d82c78bba9aad" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.2.2" url_launcher: dependency: "direct main" description: @@ -1523,6 +1547,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.2" + web: + dependency: transitive + description: + name: web + sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + url: "https://pub.dev" + source: hosted + version: "0.3.0" web_socket_channel: dependency: transitive description: @@ -1572,5 +1604,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.0.0-0 <4.0.0" + dart: ">=3.2.0-194.0.dev <4.0.0" flutter: ">=3.7.0" From 00b5e6d5063d6a38cdde65a9d441e3a36b2309aa Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Mon, 5 Aug 2024 10:42:55 +0530 Subject: [PATCH 118/292] flutter upgrade in progress --- .../works_shg_app/android/app/build.gradle | 90 +- frontend/works_shg_app/android/build.gradle | 20 + .../works_shg_app/android/settings.gradle | 28 + .../app_initilization/app_initilization.dart | 5 +- .../app_initilization.freezed.dart | 86 +- .../app_initilization/app_version_bloc.dart | 2 +- .../app_version_bloc.freezed.dart | 152 +- .../app_initilization/home_screen_bloc.dart | 8 +- .../home_screen_bloc.freezed.dart | 188 +- .../attendance/attendance_create_log.dart | 4 +- .../attendance_create_log.freezed.dart | 198 +- .../attendance/attendance_hours_mdms.dart | 6 +- .../attendance_hours_mdms.freezed.dart | 154 +- .../attendance/attendance_user_search.dart | 4 +- .../attendance_user_search.freezed.dart | 241 +- .../create_attendance_register.dart | 2 +- .../create_attendance_register.freezed.dart | 161 +- .../lib/blocs/attendance/create_attendee.dart | 2 +- .../attendance/create_attendee.freezed.dart | 184 +- .../blocs/attendance/de_enroll_attendee.dart | 2 +- .../de_enroll_attendee.freezed.dart | 192 +- .../blocs/attendance/individual_search.dart | 6 +- .../attendance/individual_search.freezed.dart | 284 +- .../attendance/individual_wms_search.dart | 6 +- .../individual_wms_search.freezed.dart | 242 +- .../attendance/muster_submission_mdms.dart | 2 +- .../muster_submission_mdms.freezed.dart | 154 +- .../search_individual_project.dart | 4 +- .../search_individual_project.freezed.dart | 249 +- .../search_projects/search_projects.dart | 2 +- .../search_projects.freezed.dart | 200 +- .../blocs/attendance/skills/skills_bloc.dart | 2 +- .../skills/skills_bloc.freezed.dart | 152 +- .../works_shg_app/lib/blocs/auth/auth.dart | 22 +- .../lib/blocs/auth/auth.freezed.dart | 216 +- .../lib/blocs/auth/otp_bloc.dart | 2 +- .../lib/blocs/auth/otp_bloc.freezed.dart | 172 +- .../lib/blocs/employee/emp_hrms/emp_hrms.dart | 2 +- .../employee/emp_hrms/emp_hrms.freezed.dart | 195 +- .../lib/blocs/employee/estimate/estimate.dart | 2 +- .../employee/estimate/estimate.freezed.dart | 196 +- .../lib/blocs/employee/mb/mb_check.dart | 2 +- .../blocs/employee/mb/mb_check.freezed.dart | 197 +- .../lib/blocs/employee/mb/mb_crud.dart | 2 +- .../blocs/employee/mb/mb_crud.freezed.dart | 199 +- .../lib/blocs/employee/mb/mb_detail_view.dart | 6 +- .../employee/mb/mb_detail_view.freezed.dart | 726 ++-- .../blocs/employee/mb/measurement_book.dart | 8 +- .../employee/mb/measurement_book.freezed.dart | 350 +- .../lib/blocs/employee/mb/project_type.dart | 2 +- .../employee/mb/project_type.freezed.dart | 192 +- .../employee/work_order/workorder_book.dart | 8 +- .../work_order/workorder_book.freezed.dart | 336 +- .../lib/blocs/localization/localization.dart | 4 +- .../localization/localization.freezed.dart | 210 +- .../lib/blocs/muster_rolls/create_muster.dart | 4 +- .../muster_rolls/create_muster.freezed.dart | 191 +- .../from_to_date_search_muster_roll.dart | 2 +- ...om_to_date_search_muster_roll.freezed.dart | 169 +- .../muster_rolls/get_business_workflow.dart | 2 +- .../get_business_workflow.freezed.dart | 192 +- .../muster_rolls/get_muster_workflow.dart | 4 +- .../get_muster_workflow.freezed.dart | 233 +- .../muster_inbox_status_bloc.dart | 2 +- .../muster_inbox_status_bloc.freezed.dart | 155 +- .../muster_rolls/muster_roll_estimate.dart | 4 +- .../muster_roll_estimate.freezed.dart | 240 +- .../blocs/muster_rolls/muster_roll_pdf.dart | 2 +- .../muster_rolls/muster_roll_pdf.freezed.dart | 152 +- .../search_individual_muster_roll.dart | 2 +- ...search_individual_muster_roll.freezed.dart | 169 +- .../muster_rolls/search_muster_roll.dart | 4 +- .../search_muster_roll.freezed.dart | 199 +- .../blocs/my_bills/my_bills_inbox_bloc.dart | 2 +- .../my_bills/my_bills_inbox_bloc.freezed.dart | 152 +- .../lib/blocs/my_bills/search_my_bills.dart | 2 +- .../my_bills/search_my_bills.freezed.dart | 152 +- .../org_financial_bloc.freezed.dart | 153 +- .../blocs/organisation/org_search_bloc.dart | 4 +- .../organisation/org_search_bloc.freezed.dart | 201 +- .../create_time_extension_request.dart | 2 +- ...create_time_extension_request.freezed.dart | 197 +- .../my_service_requests_bloc.dart | 2 +- .../my_service_requests_bloc.freezed.dart | 169 +- .../service_requests_config.dart | 2 +- .../service_requests_config.freezed.dart | 158 +- .../valid_time_extension.dart | 2 +- .../valid_time_extension.freezed.dart | 170 +- .../lib/blocs/user/user_search.freezed.dart | 68 +- .../wage_seeker_bank_create.dart | 2 +- .../wage_seeker_bank_create.freezed.dart | 197 +- .../wage_seeker_create_bloc.dart | 2 +- .../wage_seeker_create_bloc.freezed.dart | 273 +- .../wage_seeker_locality_bloc.dart | 2 +- .../wage_seeker_locality_bloc.freezed.dart | 166 +- .../wage_seeker_location_bloc.dart | 2 +- .../wage_seeker_location_bloc.freezed.dart | 166 +- .../wage_seeker_mdms_bloc.dart | 2 +- .../wage_seeker_mdms_bloc.freezed.dart | 154 +- ...wage_seeker_registration_bloc.freezed.dart | 322 +- .../blocs/work_orders/accept_work_order.dart | 2 +- .../accept_work_order.freezed.dart | 196 +- .../blocs/work_orders/decline_work_order.dart | 2 +- .../decline_work_order.freezed.dart | 195 +- .../work_orders/my_works_search_criteria.dart | 2 +- .../my_works_search_criteria.freezed.dart | 157 +- .../work_orders/search_individual_work.dart | 2 +- .../search_individual_work.freezed.dart | 196 +- .../blocs/work_orders/search_my_works.dart | 4 +- .../work_orders/search_my_works.freezed.dart | 160 +- .../lib/blocs/work_orders/work_order_pdf.dart | 6 +- .../work_orders/work_order_pdf.freezed.dart | 192 +- .../works_shg_app/lib/data/init_client.dart | 4 +- .../data/remote/localization_client.g.dart | 39 +- .../works_shg_app/lib/data/remote_client.dart | 2 +- .../data/repositories/attendance_mdms.dart | 2 +- .../attendence_register.dart | 14 +- .../individual_repository.dart | 5 +- .../repositories/auth_repository/auth.dart | 6 +- .../common_repository/common_repository.dart | 12 +- .../employee_repository/emp_hrms.dart | 2 +- .../employee_repository/estimate.dart | 2 +- .../repositories/employee_repository/mb.dart | 6 +- .../employee_repository/mdms.dart | 2 +- .../employee_repository/work_order.dart | 2 +- .../muster_roll_repository/muster_roll.dart | 6 +- .../my_bills_repository/my_bills_repo.dart | 4 +- .../org_repository/org_repository.dart | 4 +- .../remote/getGlobalConfig_repo.dart | 2 +- .../repositories/remote/localization.dart | 2 +- .../lib/data/repositories/remote/mdms.dart | 12 +- .../user_search_repository/user_search.dart | 2 +- .../wage_seeker_repository.dart | 6 +- .../my_works_repository.dart | 6 +- .../workflow_repository/workflow.dart | 2 +- frontend/works_shg_app/lib/main.dart | 6 +- .../adharModel/adhar_response.freezed.dart | 46 +- .../models/adharModel/adhar_response.g.dart | 9 +- .../app_config/app_config_model.freezed.dart | 289 +- .../models/app_config/app_config_model.g.dart | 41 +- .../attendance_registry_model.freezed.dart | 397 +- .../attendance_registry_model.g.dart | 72 +- .../attendance/attendee_model.freezed.dart | 201 +- .../models/attendance/attendee_model.g.dart | 34 +- .../individual_list_model.mapper.dart | 3650 ++++++++-------- .../attendance/muster_submission.freezed.dart | 104 +- .../attendance/muster_submission.g.dart | 16 +- .../estimate/estimate_model.freezed.dart | 52 +- .../employee/estimate/estimate_model.g.dart | 10 +- .../homeconfig/homeConfigModel.freezed.dart | 91 +- .../homeconfig/homeConfigModel.g.dart | 16 +- .../mb/filtered_Measures.freezed.dart | 211 +- .../employee/mb/filtered_Measures.g.dart | 38 +- .../mb/mb_detail_response.freezed.dart | 1026 ++--- .../employee/mb/mb_detail_response.g.dart | 103 +- .../mb/mb_inbox_response.freezed.dart | 1634 ++++---- .../employee/mb/mb_inbox_response.g.dart | 161 +- .../employee/mb/mb_project_type.freezed.dart | 176 +- .../models/employee/mb/mb_project_type.g.dart | 24 +- .../employee/mb/role_based_hrms.freezed.dart | 143 +- .../models/employee/mb/role_based_hrms.g.dart | 22 +- .../work_order/wo_inbox_response.freezed.dart | 232 +- .../work_order/wo_inbox_response.g.dart | 36 +- .../file_store/file_store_model.mapper.dart | 332 +- .../global_config_model.freezed.dart | 112 +- .../init_mdms/global_config_model.g.dart | 15 +- .../init_mdms/init_mdms_model.freezed.dart | 337 +- .../models/init_mdms/init_mdms_model.g.dart | 54 +- .../localization_model.freezed.dart | 96 +- .../localization/localization_model.g.dart | 17 +- .../localization/module_status.freezed.dart | 46 +- .../models/localization/module_status.g.dart | 6 +- .../models/mdms/attendance_hours.freezed.dart | 99 +- .../lib/models/mdms/attendance_hours.g.dart | 16 +- .../models/mdms/location_mdms.freezed.dart | 200 +- .../lib/models/mdms/location_mdms.g.dart | 24 +- .../models/mdms/wage_seeker_mdms.freezed.dart | 551 ++- .../lib/models/mdms/wage_seeker_mdms.g.dart | 74 +- .../business_service_workflow.freezed.dart | 207 +- .../business_service_workflow.g.dart | 32 +- .../estimate_muster_roll_model.freezed.dart | 277 +- .../estimate_muster_roll_model.g.dart | 40 +- .../muster_inbox_status.freezed.dart | 104 +- .../muster_rolls/muster_inbox_status.g.dart | 17 +- .../muster_roll_model.freezed.dart | 434 +- .../muster_rolls/muster_roll_model.g.dart | 82 +- .../muster_workflow_model.freezed.dart | 424 +- .../muster_rolls/muster_workflow_model.g.dart | 68 +- .../my_bills_inbox_config.freezed.dart | 104 +- .../my_bills/my_bills_inbox_config.g.dart | 16 +- .../my_bills/my_bills_model.mapper.dart | 2360 ++++++----- .../organisation_model.freezed.dart | 322 +- .../organisation/organisation_model.g.dart | 55 +- .../request_info_model.freezed.dart | 97 +- .../request_info/request_info_model.g.dart | 16 +- .../home_screen_config.freezed.dart | 174 +- .../screen_config/home_screen_config.g.dart | 26 +- .../lib/models/skills/skills.freezed.dart | 91 +- .../lib/models/skills/skills.g.dart | 16 +- .../lib/models/table/table_model.freezed.dart | 47 +- .../lib/models/table/table_model.g.dart | 7 +- .../user_details_model.freezed.dart | 136 +- .../user_details/user_details_model.g.dart | 26 +- .../user_search_model.freezed.dart | 47 +- .../user_search/user_search_model.g.dart | 8 +- .../banking_details_model.mapper.dart | 938 +++-- .../financial_details_model.mapper.dart | 228 +- .../individual_details_model.mapper.dart | 311 +- .../location_details_model.mapper.dart | 200 +- .../skill_details_model.mapper.dart | 287 +- .../models/works/contracts_model.mapper.dart | 3678 +++++++++-------- .../my_works_search_criteria.freezed.dart | 158 +- .../works/my_works_search_criteria.g.dart | 38 +- .../lib/pages/attendance_register_table.dart | 6 +- .../lib/pages/authenticated.dart | 12 +- .../lib/pages/bills/my_bills.dart | 13 +- .../lib/pages/employee/mb_config_warning.dart | 10 +- .../lib/pages/employee/mb_detail_page.dart | 6 +- .../lib/pages/employee/mb_filter_page.dart | 10 +- .../lib/pages/employee/mb_history.dart | 4 +- .../lib/pages/employee/mb_inbox.dart | 33 +- .../lib/pages/employee/mb_muster_screen.dart | 8 +- .../lib/pages/employee/mb_wrapper.dart | 4 +- .../employee/workOrder/wo_filter_page.dart | 9 +- .../workOrder/work_order_details.dart | 5 +- .../employee/workOrder/work_order_inbox.dart | 4 +- .../workOrder/work_order_wrapper.dart | 3 +- frontend/works_shg_app/lib/pages/home.dart | 9 +- .../lib/pages/language_selection_page.dart | 11 +- frontend/works_shg_app/lib/pages/login.dart | 115 +- .../works_shg_app/lib/pages/org_profile.dart | 9 +- .../lib/pages/otp_verification.dart | 7 +- .../service_requests/service_requests.dart | 13 +- .../works_shg_app/lib/pages/shg_inbox.dart | 6 +- .../create_time_extension.dart | 722 ++-- .../track-attendance_inbox.dart | 12 +- .../lib/pages/track_attendance.dart | 2 + .../lib/pages/unauthenticated.dart | 9 +- .../lib/pages/view_muster_rolls.dart | 13 +- .../register_individual.dart | 8 +- .../pages/work_order/view_work_details.dart | 10 +- .../lib/pages/work_order/work_order.dart | 12 +- .../works_shg_app/lib/router/app_router.dart | 146 +- .../lib/router/app_router.gr.dart | 1512 ++++--- frontend/works_shg_app/lib/theme.dart | 7 +- .../lib/utils/Toast/toast_animation.dart | 4 +- .../works_shg_app/lib/utils/constants.dart | 1 + .../lib/utils/string_extension.dart | 4 +- frontend/works_shg_app/lib/widgets/Back.dart | 3 +- .../lib/widgets/FormWrapper.dart | 2 +- .../works_shg_app/lib/widgets/LabelText.dart | 2 +- .../lib/widgets/ScrollParent.dart | 2 +- .../works_shg_app/lib/widgets/SideBar.dart | 4 +- .../lib/widgets/atoms/app_bar_logo.dart | 9 +- .../atoms/auto_complete_search_bar.dart | 28 +- .../atoms/back_navigation_help_header.dart | 10 +- .../lib/widgets/atoms/date_range_picker.dart | 7 +- .../lib/widgets/atoms/digit_base_stepper.dart | 4 +- .../widgets/atoms/multiselect_checkbox.dart | 4 +- .../works_shg_app/lib/widgets/loaders.dart | 10 +- .../lib/widgets/mb/sor_item_add_mb.dart | 4 +- .../lib/widgets/molecules/desktop_view.dart | 2 + .../molecules/digit_reactive_type_ahead.dart | 18 +- .../molecules/digit_search_dropdown.dart | 4 +- .../lib/widgets/molecules/mobile_view.dart | 2 + .../lib/widgets/molecules/success_page.dart | 7 +- .../widgets/work_order/work_order_card.dart | 4 +- .../flutter/generated_plugin_registrant.cc | 4 + .../linux/flutter/generated_plugins.cmake | 1 + .../Flutter/GeneratedPluginRegistrant.swift | 2 +- frontend/works_shg_app/pubspec.yaml | 85 +- .../flutter/generated_plugin_registrant.cc | 3 + .../windows/flutter/generated_plugins.cmake | 1 + 273 files changed, 19240 insertions(+), 17420 deletions(-) diff --git a/frontend/works_shg_app/android/app/build.gradle b/frontend/works_shg_app/android/app/build.gradle index b087cb9c9c..007c300b3a 100644 --- a/frontend/works_shg_app/android/app/build.gradle +++ b/frontend/works_shg_app/android/app/build.gradle @@ -32,7 +32,7 @@ apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { - compileSdkVersion 33 + compileSdkVersion 34 ndkVersion flutter.ndkVersion compileOptions { @@ -53,7 +53,7 @@ android { applicationId "com.works.shg.works_shg_app" // You can update the following values to match your application needs. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. - minSdkVersion 19 + minSdkVersion 21 targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName @@ -72,7 +72,8 @@ android { release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug + signingConfig signingConfigs.release + } } } @@ -84,3 +85,86 @@ flutter { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" } + + +// plugins { +// id 'com.android.application' +// id 'kotlin-android' +// id 'dev.flutter.flutter-gradle-plugin' +// id 'com.google.gms.google-services' + +// } + +// def localProperties = new Properties() +// def localPropertiesFile = rootProject.file('local.properties') +// if (localPropertiesFile.exists()) { +// localPropertiesFile.withReader('UTF-8') { reader -> +// localProperties.load(reader) +// } +// } + +// def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +// if (flutterVersionCode == null) { +// flutterVersionCode = '1' +// } + +// def flutterVersionName = localProperties.getProperty('flutter.versionName') +// if (flutterVersionName == null) { +// flutterVersionName = '1.0' +// } +// def keystoreProperties = new Properties() +// def keystorePropertiesFile = rootProject.file('key.properties') +// if (keystorePropertiesFile.exists()) { +// keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) +// } + +// android { +// compileSdkVersion 34 +// ndkVersion flutter.ndkVersion + +// compileOptions { +// sourceCompatibility JavaVersion.VERSION_1_8 +// targetCompatibility JavaVersion.VERSION_1_8 +// } + +// kotlinOptions { +// jvmTarget = '1.8' +// } + +// sourceSets { +// main.java.srcDirs += 'src/main/kotlin' +// } + +// defaultConfig { +// // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). +// applicationId "com.works.shg.works_shg_app" +// // You can update the following values to match your application needs. +// // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. +// minSdkVersion 21 +// targetSdkVersion flutter.targetSdkVersion +// versionCode flutterVersionCode.toInteger() +// versionName flutterVersionName +// } + +// signingConfigs { +// release { +// keyAlias keystoreProperties['keyAlias'] +// keyPassword keystoreProperties['keyPassword'] +// storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null +// storePassword keystoreProperties['storePassword'] +// } +// } + +// buildTypes { +// release { +// // TODO: Add your own signing config for the release build. +// // Signing with the debug keys for now, so `flutter run --release` works. +// signingConfig signingConfigs.release + +// } +// } +// } + +// flutter { +// source '../..' +// } \ No newline at end of file diff --git a/frontend/works_shg_app/android/build.gradle b/frontend/works_shg_app/android/build.gradle index e06c40a413..c64e0e75af 100644 --- a/frontend/works_shg_app/android/build.gradle +++ b/frontend/works_shg_app/android/build.gradle @@ -29,3 +29,23 @@ subprojects { tasks.register("clean", Delete) { delete rootProject.buildDir } + + +// allprojects { +// repositories { +// google() +// mavenCentral() +// } +// } + +// rootProject.buildDir = '../build' +// subprojects { +// project.buildDir = "${rootProject.buildDir}/${project.name}" +// } +// subprojects { +// project.evaluationDependsOn(':app') +// } + +// tasks.register("clean", Delete) { +// delete rootProject.buildDir +// } \ No newline at end of file diff --git a/frontend/works_shg_app/android/settings.gradle b/frontend/works_shg_app/android/settings.gradle index 44e62bcf06..44907dc2e5 100644 --- a/frontend/works_shg_app/android/settings.gradle +++ b/frontend/works_shg_app/android/settings.gradle @@ -9,3 +9,31 @@ localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } def flutterSdkPath = properties.getProperty("flutter.sdk") assert flutterSdkPath != null, "flutter.sdk not set in local.properties" apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" + +// pluginManagement { +// def flutterSdkPath = { +// def properties = new Properties() +// file("local.properties").withInputStream { properties.load(it) } +// def flutterSdkPath = properties.getProperty("flutter.sdk") +// assert flutterSdkPath != null, "flutter.sdk not set in local.properties" +// return flutterSdkPath +// }() + +// includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + +// repositories { +// google() +// mavenCentral() +// gradlePluginPortal() +// } +// } + +// plugins { +// id "dev.flutter.flutter-plugin-loader" version "1.0.0" +// id "com.android.application" version "7.3.0" apply false +// id "org.jetbrains.kotlin.android" version "1.8.22" apply false +// id "com.google.gms.google-services" version "4.4.0" apply false + +// } + +// include ":app" \ No newline at end of file diff --git a/frontend/works_shg_app/lib/blocs/app_initilization/app_initilization.dart b/frontend/works_shg_app/lib/blocs/app_initilization/app_initilization.dart index a072def8fa..ce7c3a345b 100644 --- a/frontend/works_shg_app/lib/blocs/app_initilization/app_initilization.dart +++ b/frontend/works_shg_app/lib/blocs/app_initilization/app_initilization.dart @@ -4,7 +4,6 @@ import 'dart:convert'; import 'package:collection/collection.dart'; import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; import 'package:flutter/foundation.dart'; -import 'package:flutter/src/widgets/framework.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:universal_html/html.dart' as html; @@ -136,7 +135,7 @@ class AppInitializationBloc localizationBloc.add( LocalizationEvent.onLoadLocalization( module: - 'rainmaker-common,rainmaker-common-masters,rainmaker-${stateInfoListModel?.code}', + 'rainmaker-common,rainmaker-common-masters,rainmaker-${stateInfoListModel.code}', tenantId: initMdmsModelData .commonMastersModel!.stateInfoListModel!.first.code .toString(), @@ -206,7 +205,7 @@ class AppInitializationBloc localizationBloc.add( LocalizationEvent.onLoadLocalization( module: - 'rainmaker-common,rainmaker-common-masters,rainmaker-${stateInfoListModel?.code}', + 'rainmaker-common,rainmaker-common-masters,rainmaker-${stateInfoListModel.code}', tenantId: initMdmsModelData .commonMastersModel!.stateInfoListModel!.first.code .toString(), diff --git a/frontend/works_shg_app/lib/blocs/app_initilization/app_initilization.freezed.dart b/frontend/works_shg_app/lib/blocs/app_initilization/app_initilization.freezed.dart index 0b5b65b93e..644446fae5 100644 --- a/frontend/works_shg_app/lib/blocs/app_initilization/app_initilization.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/app_initilization/app_initilization.freezed.dart @@ -12,7 +12,7 @@ part of 'app_initilization.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$AppInitializationEvent { @@ -93,25 +93,25 @@ class _$AppInitializationEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$AppInitializationSetupEventCopyWith<$Res> +abstract class _$$AppInitializationSetupEventImplCopyWith<$Res> implements $AppInitializationEventCopyWith<$Res> { - factory _$$AppInitializationSetupEventCopyWith( - _$AppInitializationSetupEvent value, - $Res Function(_$AppInitializationSetupEvent) then) = - __$$AppInitializationSetupEventCopyWithImpl<$Res>; + factory _$$AppInitializationSetupEventImplCopyWith( + _$AppInitializationSetupEventImpl value, + $Res Function(_$AppInitializationSetupEventImpl) then) = + __$$AppInitializationSetupEventImplCopyWithImpl<$Res>; @override @useResult $Res call({String selectedLang}); } /// @nodoc -class __$$AppInitializationSetupEventCopyWithImpl<$Res> +class __$$AppInitializationSetupEventImplCopyWithImpl<$Res> extends _$AppInitializationEventCopyWithImpl<$Res, - _$AppInitializationSetupEvent> - implements _$$AppInitializationSetupEventCopyWith<$Res> { - __$$AppInitializationSetupEventCopyWithImpl( - _$AppInitializationSetupEvent _value, - $Res Function(_$AppInitializationSetupEvent) _then) + _$AppInitializationSetupEventImpl> + implements _$$AppInitializationSetupEventImplCopyWith<$Res> { + __$$AppInitializationSetupEventImplCopyWithImpl( + _$AppInitializationSetupEventImpl _value, + $Res Function(_$AppInitializationSetupEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -119,7 +119,7 @@ class __$$AppInitializationSetupEventCopyWithImpl<$Res> $Res call({ Object? selectedLang = null, }) { - return _then(_$AppInitializationSetupEvent( + return _then(_$AppInitializationSetupEventImpl( selectedLang: null == selectedLang ? _value.selectedLang : selectedLang // ignore: cast_nullable_to_non_nullable @@ -130,10 +130,10 @@ class __$$AppInitializationSetupEventCopyWithImpl<$Res> /// @nodoc -class _$AppInitializationSetupEvent +class _$AppInitializationSetupEventImpl with DiagnosticableTreeMixin implements AppInitializationSetupEvent { - const _$AppInitializationSetupEvent({required this.selectedLang}); + const _$AppInitializationSetupEventImpl({required this.selectedLang}); @override final String selectedLang; @@ -153,10 +153,10 @@ class _$AppInitializationSetupEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$AppInitializationSetupEvent && + other is _$AppInitializationSetupEventImpl && (identical(other.selectedLang, selectedLang) || other.selectedLang == selectedLang)); } @@ -167,9 +167,9 @@ class _$AppInitializationSetupEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$AppInitializationSetupEventCopyWith<_$AppInitializationSetupEvent> - get copyWith => __$$AppInitializationSetupEventCopyWithImpl< - _$AppInitializationSetupEvent>(this, _$identity); + _$$AppInitializationSetupEventImplCopyWith<_$AppInitializationSetupEventImpl> + get copyWith => __$$AppInitializationSetupEventImplCopyWithImpl< + _$AppInitializationSetupEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -233,13 +233,13 @@ class _$AppInitializationSetupEvent abstract class AppInitializationSetupEvent implements AppInitializationEvent { const factory AppInitializationSetupEvent( - {required final String selectedLang}) = _$AppInitializationSetupEvent; + {required final String selectedLang}) = _$AppInitializationSetupEventImpl; @override String get selectedLang; @override @JsonKey(ignore: true) - _$$AppInitializationSetupEventCopyWith<_$AppInitializationSetupEvent> + _$$AppInitializationSetupEventImplCopyWith<_$AppInitializationSetupEventImpl> get copyWith => throw _privateConstructorUsedError; } @@ -339,11 +339,12 @@ class _$AppInitializationStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_AppInitializationStateCopyWith<$Res> +abstract class _$$AppInitializationStateImplCopyWith<$Res> implements $AppInitializationStateCopyWith<$Res> { - factory _$$_AppInitializationStateCopyWith(_$_AppInitializationState value, - $Res Function(_$_AppInitializationState) then) = - __$$_AppInitializationStateCopyWithImpl<$Res>; + factory _$$AppInitializationStateImplCopyWith( + _$AppInitializationStateImpl value, + $Res Function(_$AppInitializationStateImpl) then) = + __$$AppInitializationStateImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -359,12 +360,13 @@ abstract class _$$_AppInitializationStateCopyWith<$Res> } /// @nodoc -class __$$_AppInitializationStateCopyWithImpl<$Res> +class __$$AppInitializationStateImplCopyWithImpl<$Res> extends _$AppInitializationStateCopyWithImpl<$Res, - _$_AppInitializationState> - implements _$$_AppInitializationStateCopyWith<$Res> { - __$$_AppInitializationStateCopyWithImpl(_$_AppInitializationState _value, - $Res Function(_$_AppInitializationState) _then) + _$AppInitializationStateImpl> + implements _$$AppInitializationStateImplCopyWith<$Res> { + __$$AppInitializationStateImplCopyWithImpl( + _$AppInitializationStateImpl _value, + $Res Function(_$AppInitializationStateImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -375,7 +377,7 @@ class __$$_AppInitializationStateCopyWithImpl<$Res> Object? stateInfoListModel = freezed, Object? digitRowCardItems = freezed, }) { - return _then(_$_AppInitializationState( + return _then(_$AppInitializationStateImpl( isInitializationCompleted: null == isInitializationCompleted ? _value.isInitializationCompleted : isInitializationCompleted // ignore: cast_nullable_to_non_nullable @@ -398,9 +400,9 @@ class __$$_AppInitializationStateCopyWithImpl<$Res> /// @nodoc -class _$_AppInitializationState extends _AppInitializationState +class _$AppInitializationStateImpl extends _AppInitializationState with DiagnosticableTreeMixin { - const _$_AppInitializationState( + const _$AppInitializationStateImpl( {this.isInitializationCompleted = false, this.initMdmsModel, this.stateInfoListModel, @@ -444,10 +446,10 @@ class _$_AppInitializationState extends _AppInitializationState } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AppInitializationState && + other is _$AppInitializationStateImpl && (identical(other.isInitializationCompleted, isInitializationCompleted) || other.isInitializationCompleted == isInitializationCompleted) && @@ -470,9 +472,9 @@ class _$_AppInitializationState extends _AppInitializationState @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AppInitializationStateCopyWith<_$_AppInitializationState> get copyWith => - __$$_AppInitializationStateCopyWithImpl<_$_AppInitializationState>( - this, _$identity); + _$$AppInitializationStateImplCopyWith<_$AppInitializationStateImpl> + get copyWith => __$$AppInitializationStateImplCopyWithImpl< + _$AppInitializationStateImpl>(this, _$identity); } abstract class _AppInitializationState extends AppInitializationState { @@ -481,7 +483,7 @@ abstract class _AppInitializationState extends AppInitializationState { final InitMdmsModel? initMdmsModel, final StateInfoListModel? stateInfoListModel, final List? digitRowCardItems}) = - _$_AppInitializationState; + _$AppInitializationStateImpl; const _AppInitializationState._() : super._(); @override @@ -494,6 +496,6 @@ abstract class _AppInitializationState extends AppInitializationState { List? get digitRowCardItems; @override @JsonKey(ignore: true) - _$$_AppInitializationStateCopyWith<_$_AppInitializationState> get copyWith => - throw _privateConstructorUsedError; + _$$AppInitializationStateImplCopyWith<_$AppInitializationStateImpl> + get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/app_initilization/app_version_bloc.dart b/frontend/works_shg_app/lib/blocs/app_initilization/app_version_bloc.dart index 8ea8713b1c..d55f80c098 100644 --- a/frontend/works_shg_app/lib/blocs/app_initilization/app_version_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/app_initilization/app_version_bloc.dart @@ -44,7 +44,7 @@ class AppVersionBloc extends Bloc { ]); emit(AppVersionBlocState.loaded(appVersionModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(AppVersionBlocState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/app_initilization/app_version_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/app_initilization/app_version_bloc.freezed.dart index 4dace690de..4ee6ff05e2 100644 --- a/frontend/works_shg_app/lib/blocs/app_initilization/app_version_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/app_initilization/app_version_bloc.freezed.dart @@ -12,7 +12,7 @@ part of 'app_version_bloc.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$AppVersionBlocEvent { @@ -69,25 +69,25 @@ class _$AppVersionBlocEventCopyWithImpl<$Res, $Val extends AppVersionBlocEvent> } /// @nodoc -abstract class _$$GetAppVersionEventCopyWith<$Res> { - factory _$$GetAppVersionEventCopyWith(_$GetAppVersionEvent value, - $Res Function(_$GetAppVersionEvent) then) = - __$$GetAppVersionEventCopyWithImpl<$Res>; +abstract class _$$GetAppVersionEventImplCopyWith<$Res> { + factory _$$GetAppVersionEventImplCopyWith(_$GetAppVersionEventImpl value, + $Res Function(_$GetAppVersionEventImpl) then) = + __$$GetAppVersionEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$GetAppVersionEventCopyWithImpl<$Res> - extends _$AppVersionBlocEventCopyWithImpl<$Res, _$GetAppVersionEvent> - implements _$$GetAppVersionEventCopyWith<$Res> { - __$$GetAppVersionEventCopyWithImpl( - _$GetAppVersionEvent _value, $Res Function(_$GetAppVersionEvent) _then) +class __$$GetAppVersionEventImplCopyWithImpl<$Res> + extends _$AppVersionBlocEventCopyWithImpl<$Res, _$GetAppVersionEventImpl> + implements _$$GetAppVersionEventImplCopyWith<$Res> { + __$$GetAppVersionEventImplCopyWithImpl(_$GetAppVersionEventImpl _value, + $Res Function(_$GetAppVersionEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$GetAppVersionEvent implements GetAppVersionEvent { - const _$GetAppVersionEvent(); +class _$GetAppVersionEventImpl implements GetAppVersionEvent { + const _$GetAppVersionEventImpl(); @override String toString() { @@ -95,9 +95,9 @@ class _$GetAppVersionEvent implements GetAppVersionEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$GetAppVersionEvent); + (other.runtimeType == runtimeType && other is _$GetAppVersionEventImpl); } @override @@ -161,7 +161,7 @@ class _$GetAppVersionEvent implements GetAppVersionEvent { } abstract class GetAppVersionEvent implements AppVersionBlocEvent { - const factory GetAppVersionEvent() = _$GetAppVersionEvent; + const factory GetAppVersionEvent() = _$GetAppVersionEventImpl; } /// @nodoc @@ -237,24 +237,25 @@ class _$AppVersionBlocStateCopyWithImpl<$Res, $Val extends AppVersionBlocState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$AppVersionBlocStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$AppVersionBlocStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -262,9 +263,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -346,29 +347,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends AppVersionBlocState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$AppVersionBlocStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$AppVersionBlocStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -376,9 +378,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -460,14 +462,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends AppVersionBlocState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({AppVersionModel? cboAppVersion}); @@ -475,10 +478,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$AppVersionBlocStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$AppVersionBlocStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -486,7 +490,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? cboAppVersion = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == cboAppVersion ? _value.cboAppVersion : cboAppVersion // ignore: cast_nullable_to_non_nullable @@ -509,8 +513,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.cboAppVersion) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.cboAppVersion) : super._(); @override final AppVersionModel? cboAppVersion; @@ -521,10 +525,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.cboAppVersion, cboAppVersion) || other.cboAppVersion == cboAppVersion)); } @@ -535,8 +539,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -614,28 +618,30 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends AppVersionBlocState { - const factory _Loaded(final AppVersionModel? cboAppVersion) = _$_Loaded; + const factory _Loaded(final AppVersionModel? cboAppVersion) = _$LoadedImpl; const _Loaded._() : super._(); AppVersionModel? get cboAppVersion; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$AppVersionBlocStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$AppVersionBlocStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -643,7 +649,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -654,8 +660,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -666,10 +672,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -679,8 +685,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -758,11 +764,11 @@ class _$_Error extends _Error { } abstract class _Error extends AppVersionBlocState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.dart b/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.dart index 7b8ac5344b..5ad3496e8a 100644 --- a/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.dart @@ -50,10 +50,10 @@ class HomeScreenBloc extends Bloc { List? cboHomeScreenConfig = configModel.commonUiConfig?.cboHomeScreenConfig; cboHomeScreenConfig = cboHomeScreenConfig?.toList() - ?..sort((a, b) => a.order!.compareTo(b.order!.toInt())); + ?..sort((a, b) => a.order.compareTo(b.order.toInt())); emit(HomeScreenBlocState.loaded(cboHomeScreenConfig, null)); - } on DioError catch (e) { + } on DioException catch (e) { emit(HomeScreenBlocState.error(e.response?.data['Errors'][0]['code'])); } } @@ -76,14 +76,14 @@ class HomeScreenBloc extends Bloc { tenantId: "od", ); - print(configModel); + // List? cboHomeScreenConfig = // configModel.commonUiConfig?.cboHomeScreenConfig; // cboHomeScreenConfig = cboHomeScreenConfig?.toList() // ?..sort((a, b) => a.order!.compareTo(b.order!.toInt())); emit(HomeScreenBlocState.loaded(null, configModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(HomeScreenBlocState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.freezed.dart index 6a63f4af51..5540b55d60 100644 --- a/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.freezed.dart @@ -12,7 +12,7 @@ part of 'home_screen_bloc.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$HomeScreenBlocEvent { @@ -78,25 +78,28 @@ class _$HomeScreenBlocEventCopyWithImpl<$Res, $Val extends HomeScreenBlocEvent> } /// @nodoc -abstract class _$$GetHomeScreenConfigEventCopyWith<$Res> { - factory _$$GetHomeScreenConfigEventCopyWith(_$GetHomeScreenConfigEvent value, - $Res Function(_$GetHomeScreenConfigEvent) then) = - __$$GetHomeScreenConfigEventCopyWithImpl<$Res>; +abstract class _$$GetHomeScreenConfigEventImplCopyWith<$Res> { + factory _$$GetHomeScreenConfigEventImplCopyWith( + _$GetHomeScreenConfigEventImpl value, + $Res Function(_$GetHomeScreenConfigEventImpl) then) = + __$$GetHomeScreenConfigEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$GetHomeScreenConfigEventCopyWithImpl<$Res> - extends _$HomeScreenBlocEventCopyWithImpl<$Res, _$GetHomeScreenConfigEvent> - implements _$$GetHomeScreenConfigEventCopyWith<$Res> { - __$$GetHomeScreenConfigEventCopyWithImpl(_$GetHomeScreenConfigEvent _value, - $Res Function(_$GetHomeScreenConfigEvent) _then) +class __$$GetHomeScreenConfigEventImplCopyWithImpl<$Res> + extends _$HomeScreenBlocEventCopyWithImpl<$Res, + _$GetHomeScreenConfigEventImpl> + implements _$$GetHomeScreenConfigEventImplCopyWith<$Res> { + __$$GetHomeScreenConfigEventImplCopyWithImpl( + _$GetHomeScreenConfigEventImpl _value, + $Res Function(_$GetHomeScreenConfigEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$GetHomeScreenConfigEvent implements GetHomeScreenConfigEvent { - const _$GetHomeScreenConfigEvent(); +class _$GetHomeScreenConfigEventImpl implements GetHomeScreenConfigEvent { + const _$GetHomeScreenConfigEventImpl(); @override String toString() { @@ -104,10 +107,10 @@ class _$GetHomeScreenConfigEvent implements GetHomeScreenConfigEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$GetHomeScreenConfigEvent); + other is _$GetHomeScreenConfigEventImpl); } @override @@ -180,32 +183,32 @@ class _$GetHomeScreenConfigEvent implements GetHomeScreenConfigEvent { } abstract class GetHomeScreenConfigEvent implements HomeScreenBlocEvent { - const factory GetHomeScreenConfigEvent() = _$GetHomeScreenConfigEvent; + const factory GetHomeScreenConfigEvent() = _$GetHomeScreenConfigEventImpl; } /// @nodoc -abstract class _$$GetEmpHomeScreenConfigEventCopyWith<$Res> { - factory _$$GetEmpHomeScreenConfigEventCopyWith( - _$GetEmpHomeScreenConfigEvent value, - $Res Function(_$GetEmpHomeScreenConfigEvent) then) = - __$$GetEmpHomeScreenConfigEventCopyWithImpl<$Res>; +abstract class _$$GetEmpHomeScreenConfigEventImplCopyWith<$Res> { + factory _$$GetEmpHomeScreenConfigEventImplCopyWith( + _$GetEmpHomeScreenConfigEventImpl value, + $Res Function(_$GetEmpHomeScreenConfigEventImpl) then) = + __$$GetEmpHomeScreenConfigEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$GetEmpHomeScreenConfigEventCopyWithImpl<$Res> +class __$$GetEmpHomeScreenConfigEventImplCopyWithImpl<$Res> extends _$HomeScreenBlocEventCopyWithImpl<$Res, - _$GetEmpHomeScreenConfigEvent> - implements _$$GetEmpHomeScreenConfigEventCopyWith<$Res> { - __$$GetEmpHomeScreenConfigEventCopyWithImpl( - _$GetEmpHomeScreenConfigEvent _value, - $Res Function(_$GetEmpHomeScreenConfigEvent) _then) + _$GetEmpHomeScreenConfigEventImpl> + implements _$$GetEmpHomeScreenConfigEventImplCopyWith<$Res> { + __$$GetEmpHomeScreenConfigEventImplCopyWithImpl( + _$GetEmpHomeScreenConfigEventImpl _value, + $Res Function(_$GetEmpHomeScreenConfigEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$GetEmpHomeScreenConfigEvent implements GetEmpHomeScreenConfigEvent { - const _$GetEmpHomeScreenConfigEvent(); +class _$GetEmpHomeScreenConfigEventImpl implements GetEmpHomeScreenConfigEvent { + const _$GetEmpHomeScreenConfigEventImpl(); @override String toString() { @@ -213,10 +216,10 @@ class _$GetEmpHomeScreenConfigEvent implements GetEmpHomeScreenConfigEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$GetEmpHomeScreenConfigEvent); + other is _$GetEmpHomeScreenConfigEventImpl); } @override @@ -289,7 +292,8 @@ class _$GetEmpHomeScreenConfigEvent implements GetEmpHomeScreenConfigEvent { } abstract class GetEmpHomeScreenConfigEvent implements HomeScreenBlocEvent { - const factory GetEmpHomeScreenConfigEvent() = _$GetEmpHomeScreenConfigEvent; + const factory GetEmpHomeScreenConfigEvent() = + _$GetEmpHomeScreenConfigEventImpl; } /// @nodoc @@ -372,24 +376,25 @@ class _$HomeScreenBlocStateCopyWithImpl<$Res, $Val extends HomeScreenBlocState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$HomeScreenBlocStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$HomeScreenBlocStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -397,9 +402,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -488,29 +493,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends HomeScreenBlocState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$HomeScreenBlocStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$HomeScreenBlocStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -518,9 +524,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -609,14 +615,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends HomeScreenBlocState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call( {List? cboHomeScreenConfig, @@ -626,10 +633,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$HomeScreenBlocStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$HomeScreenBlocStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -638,7 +646,7 @@ class __$$_LoadedCopyWithImpl<$Res> Object? cboHomeScreenConfig = freezed, Object? homeConfigModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == cboHomeScreenConfig ? _value._cboHomeScreenConfig : cboHomeScreenConfig // ignore: cast_nullable_to_non_nullable @@ -665,8 +673,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(final List? cboHomeScreenConfig, +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(final List? cboHomeScreenConfig, this.homeConfigModel) : _cboHomeScreenConfig = cboHomeScreenConfig, super._(); @@ -691,10 +699,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && const DeepCollectionEquality() .equals(other._cboHomeScreenConfig, _cboHomeScreenConfig) && (identical(other.homeConfigModel, homeConfigModel) || @@ -710,8 +718,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -798,29 +806,31 @@ class _$_Loaded extends _Loaded { abstract class _Loaded extends HomeScreenBlocState { const factory _Loaded( final List? cboHomeScreenConfig, - final HomeConfigModel? homeConfigModel) = _$_Loaded; + final HomeConfigModel? homeConfigModel) = _$LoadedImpl; const _Loaded._() : super._(); List? get cboHomeScreenConfig; HomeConfigModel? get homeConfigModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$HomeScreenBlocStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$HomeScreenBlocStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -828,7 +838,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -839,8 +849,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -851,10 +861,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -864,8 +874,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -950,11 +960,11 @@ class _$_Error extends _Error { } abstract class _Error extends HomeScreenBlocState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/attendance/attendance_create_log.dart b/frontend/works_shg_app/lib/blocs/attendance/attendance_create_log.dart index 2f37be55c8..a4f7bfcc31 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/attendance_create_log.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/attendance_create_log.dart @@ -36,7 +36,7 @@ class AttendanceLogCreateBloc if (attendanceRegistersModel != null) { emit(const AttendanceLogCreateState.loaded()); } - } on DioError catch (e) { + } on DioException catch (e) { emit(AttendanceLogCreateState.error( e.response?.data['Errors'][0]['code'])); } @@ -59,7 +59,7 @@ class AttendanceLogCreateBloc if (attendanceRegistersModel != null) { emit(const AttendanceLogCreateState.loaded()); } - } on DioError catch (e) { + } on DioException catch (e) { emit(AttendanceLogCreateState.error( e.response?.data['Errors'][0]['code'])); } diff --git a/frontend/works_shg_app/lib/blocs/attendance/attendance_create_log.freezed.dart b/frontend/works_shg_app/lib/blocs/attendance/attendance_create_log.freezed.dart index c619eff660..3872af039a 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/attendance_create_log.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/attendance_create_log.freezed.dart @@ -12,7 +12,7 @@ part of 'attendance_create_log.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$AttendanceLogCreateEvent { @@ -99,23 +99,25 @@ class _$AttendanceLogCreateEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$CreateAttendanceLogEventCopyWith<$Res> +abstract class _$$CreateAttendanceLogEventImplCopyWith<$Res> implements $AttendanceLogCreateEventCopyWith<$Res> { - factory _$$CreateAttendanceLogEventCopyWith(_$CreateAttendanceLogEvent value, - $Res Function(_$CreateAttendanceLogEvent) then) = - __$$CreateAttendanceLogEventCopyWithImpl<$Res>; + factory _$$CreateAttendanceLogEventImplCopyWith( + _$CreateAttendanceLogEventImpl value, + $Res Function(_$CreateAttendanceLogEventImpl) then) = + __$$CreateAttendanceLogEventImplCopyWithImpl<$Res>; @override @useResult $Res call({List>? attendanceList}); } /// @nodoc -class __$$CreateAttendanceLogEventCopyWithImpl<$Res> +class __$$CreateAttendanceLogEventImplCopyWithImpl<$Res> extends _$AttendanceLogCreateEventCopyWithImpl<$Res, - _$CreateAttendanceLogEvent> - implements _$$CreateAttendanceLogEventCopyWith<$Res> { - __$$CreateAttendanceLogEventCopyWithImpl(_$CreateAttendanceLogEvent _value, - $Res Function(_$CreateAttendanceLogEvent) _then) + _$CreateAttendanceLogEventImpl> + implements _$$CreateAttendanceLogEventImplCopyWith<$Res> { + __$$CreateAttendanceLogEventImplCopyWithImpl( + _$CreateAttendanceLogEventImpl _value, + $Res Function(_$CreateAttendanceLogEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -123,7 +125,7 @@ class __$$CreateAttendanceLogEventCopyWithImpl<$Res> $Res call({ Object? attendanceList = freezed, }) { - return _then(_$CreateAttendanceLogEvent( + return _then(_$CreateAttendanceLogEventImpl( attendanceList: freezed == attendanceList ? _value._attendanceList : attendanceList // ignore: cast_nullable_to_non_nullable @@ -134,8 +136,8 @@ class __$$CreateAttendanceLogEventCopyWithImpl<$Res> /// @nodoc -class _$CreateAttendanceLogEvent implements CreateAttendanceLogEvent { - const _$CreateAttendanceLogEvent( +class _$CreateAttendanceLogEventImpl implements CreateAttendanceLogEvent { + const _$CreateAttendanceLogEventImpl( {final List>? attendanceList}) : _attendanceList = attendanceList; @@ -155,10 +157,10 @@ class _$CreateAttendanceLogEvent implements CreateAttendanceLogEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$CreateAttendanceLogEvent && + other is _$CreateAttendanceLogEventImpl && const DeepCollectionEquality() .equals(other._attendanceList, _attendanceList)); } @@ -170,10 +172,9 @@ class _$CreateAttendanceLogEvent implements CreateAttendanceLogEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$CreateAttendanceLogEventCopyWith<_$CreateAttendanceLogEvent> - get copyWith => - __$$CreateAttendanceLogEventCopyWithImpl<_$CreateAttendanceLogEvent>( - this, _$identity); + _$$CreateAttendanceLogEventImplCopyWith<_$CreateAttendanceLogEventImpl> + get copyWith => __$$CreateAttendanceLogEventImplCopyWithImpl< + _$CreateAttendanceLogEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -243,34 +244,36 @@ class _$CreateAttendanceLogEvent implements CreateAttendanceLogEvent { abstract class CreateAttendanceLogEvent implements AttendanceLogCreateEvent { const factory CreateAttendanceLogEvent( {final List>? attendanceList}) = - _$CreateAttendanceLogEvent; + _$CreateAttendanceLogEventImpl; @override List>? get attendanceList; @override @JsonKey(ignore: true) - _$$CreateAttendanceLogEventCopyWith<_$CreateAttendanceLogEvent> + _$$CreateAttendanceLogEventImplCopyWith<_$CreateAttendanceLogEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$UpdateAttendanceLogEventCopyWith<$Res> +abstract class _$$UpdateAttendanceLogEventImplCopyWith<$Res> implements $AttendanceLogCreateEventCopyWith<$Res> { - factory _$$UpdateAttendanceLogEventCopyWith(_$UpdateAttendanceLogEvent value, - $Res Function(_$UpdateAttendanceLogEvent) then) = - __$$UpdateAttendanceLogEventCopyWithImpl<$Res>; + factory _$$UpdateAttendanceLogEventImplCopyWith( + _$UpdateAttendanceLogEventImpl value, + $Res Function(_$UpdateAttendanceLogEventImpl) then) = + __$$UpdateAttendanceLogEventImplCopyWithImpl<$Res>; @override @useResult $Res call({List>? attendanceList}); } /// @nodoc -class __$$UpdateAttendanceLogEventCopyWithImpl<$Res> +class __$$UpdateAttendanceLogEventImplCopyWithImpl<$Res> extends _$AttendanceLogCreateEventCopyWithImpl<$Res, - _$UpdateAttendanceLogEvent> - implements _$$UpdateAttendanceLogEventCopyWith<$Res> { - __$$UpdateAttendanceLogEventCopyWithImpl(_$UpdateAttendanceLogEvent _value, - $Res Function(_$UpdateAttendanceLogEvent) _then) + _$UpdateAttendanceLogEventImpl> + implements _$$UpdateAttendanceLogEventImplCopyWith<$Res> { + __$$UpdateAttendanceLogEventImplCopyWithImpl( + _$UpdateAttendanceLogEventImpl _value, + $Res Function(_$UpdateAttendanceLogEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -278,7 +281,7 @@ class __$$UpdateAttendanceLogEventCopyWithImpl<$Res> $Res call({ Object? attendanceList = freezed, }) { - return _then(_$UpdateAttendanceLogEvent( + return _then(_$UpdateAttendanceLogEventImpl( attendanceList: freezed == attendanceList ? _value._attendanceList : attendanceList // ignore: cast_nullable_to_non_nullable @@ -289,8 +292,8 @@ class __$$UpdateAttendanceLogEventCopyWithImpl<$Res> /// @nodoc -class _$UpdateAttendanceLogEvent implements UpdateAttendanceLogEvent { - const _$UpdateAttendanceLogEvent( +class _$UpdateAttendanceLogEventImpl implements UpdateAttendanceLogEvent { + const _$UpdateAttendanceLogEventImpl( {final List>? attendanceList}) : _attendanceList = attendanceList; @@ -310,10 +313,10 @@ class _$UpdateAttendanceLogEvent implements UpdateAttendanceLogEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$UpdateAttendanceLogEvent && + other is _$UpdateAttendanceLogEventImpl && const DeepCollectionEquality() .equals(other._attendanceList, _attendanceList)); } @@ -325,10 +328,9 @@ class _$UpdateAttendanceLogEvent implements UpdateAttendanceLogEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$UpdateAttendanceLogEventCopyWith<_$UpdateAttendanceLogEvent> - get copyWith => - __$$UpdateAttendanceLogEventCopyWithImpl<_$UpdateAttendanceLogEvent>( - this, _$identity); + _$$UpdateAttendanceLogEventImplCopyWith<_$UpdateAttendanceLogEventImpl> + get copyWith => __$$UpdateAttendanceLogEventImplCopyWithImpl< + _$UpdateAttendanceLogEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -398,13 +400,13 @@ class _$UpdateAttendanceLogEvent implements UpdateAttendanceLogEvent { abstract class UpdateAttendanceLogEvent implements AttendanceLogCreateEvent { const factory UpdateAttendanceLogEvent( {final List>? attendanceList}) = - _$UpdateAttendanceLogEvent; + _$UpdateAttendanceLogEventImpl; @override List>? get attendanceList; @override @JsonKey(ignore: true) - _$$UpdateAttendanceLogEventCopyWith<_$UpdateAttendanceLogEvent> + _$$UpdateAttendanceLogEventImplCopyWith<_$UpdateAttendanceLogEventImpl> get copyWith => throw _privateConstructorUsedError; } @@ -482,24 +484,25 @@ class _$AttendanceLogCreateStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$AttendanceLogCreateStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$AttendanceLogCreateStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -507,9 +510,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -591,29 +594,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends AttendanceLogCreateState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$AttendanceLogCreateStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$AttendanceLogCreateStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -621,9 +625,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -705,28 +709,30 @@ class _$_Loading extends _Loading { } abstract class _Loading extends AttendanceLogCreateState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$AttendanceLogCreateStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$AttendanceLogCreateStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded() : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl() : super._(); @override String toString() { @@ -734,9 +740,9 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loaded); + (other.runtimeType == runtimeType && other is _$LoadedImpl); } @override @@ -818,23 +824,25 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends AttendanceLogCreateState { - const factory _Loaded() = _$_Loaded; + const factory _Loaded() = _$LoadedImpl; const _Loaded._() : super._(); } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$AttendanceLogCreateStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$AttendanceLogCreateStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -842,7 +850,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -853,8 +861,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -865,10 +873,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -878,8 +886,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -957,11 +965,11 @@ class _$_Error extends _Error { } abstract class _Error extends AttendanceLogCreateState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/attendance/attendance_hours_mdms.dart b/frontend/works_shg_app/lib/blocs/attendance/attendance_hours_mdms.dart index eb99e1da0a..bc47b8bae0 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/attendance_hours_mdms.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/attendance_hours_mdms.dart @@ -40,10 +40,8 @@ class AttendanceHoursBloc } ]); - if (result != null) { - emit(AttendanceHoursState.loaded(result)); - } - } on DioError catch (e) { + emit(AttendanceHoursState.loaded(result)); + } on DioException catch (e) { emit(AttendanceHoursState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/attendance/attendance_hours_mdms.freezed.dart b/frontend/works_shg_app/lib/blocs/attendance/attendance_hours_mdms.freezed.dart index 73d5346139..5d5ca112d8 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/attendance_hours_mdms.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/attendance_hours_mdms.freezed.dart @@ -12,7 +12,7 @@ part of 'attendance_hours_mdms.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$AttendanceHoursMDMSEvent { @@ -70,25 +70,26 @@ class _$AttendanceHoursMDMSEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$AttendanceHoursEventCopyWith<$Res> { - factory _$$AttendanceHoursEventCopyWith(_$AttendanceHoursEvent value, - $Res Function(_$AttendanceHoursEvent) then) = - __$$AttendanceHoursEventCopyWithImpl<$Res>; +abstract class _$$AttendanceHoursEventImplCopyWith<$Res> { + factory _$$AttendanceHoursEventImplCopyWith(_$AttendanceHoursEventImpl value, + $Res Function(_$AttendanceHoursEventImpl) then) = + __$$AttendanceHoursEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$AttendanceHoursEventCopyWithImpl<$Res> - extends _$AttendanceHoursMDMSEventCopyWithImpl<$Res, _$AttendanceHoursEvent> - implements _$$AttendanceHoursEventCopyWith<$Res> { - __$$AttendanceHoursEventCopyWithImpl(_$AttendanceHoursEvent _value, - $Res Function(_$AttendanceHoursEvent) _then) +class __$$AttendanceHoursEventImplCopyWithImpl<$Res> + extends _$AttendanceHoursMDMSEventCopyWithImpl<$Res, + _$AttendanceHoursEventImpl> + implements _$$AttendanceHoursEventImplCopyWith<$Res> { + __$$AttendanceHoursEventImplCopyWithImpl(_$AttendanceHoursEventImpl _value, + $Res Function(_$AttendanceHoursEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$AttendanceHoursEvent implements AttendanceHoursEvent { - const _$AttendanceHoursEvent(); +class _$AttendanceHoursEventImpl implements AttendanceHoursEvent { + const _$AttendanceHoursEventImpl(); @override String toString() { @@ -96,9 +97,10 @@ class _$AttendanceHoursEvent implements AttendanceHoursEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$AttendanceHoursEvent); + (other.runtimeType == runtimeType && + other is _$AttendanceHoursEventImpl); } @override @@ -162,7 +164,7 @@ class _$AttendanceHoursEvent implements AttendanceHoursEvent { } abstract class AttendanceHoursEvent implements AttendanceHoursMDMSEvent { - const factory AttendanceHoursEvent() = _$AttendanceHoursEvent; + const factory AttendanceHoursEvent() = _$AttendanceHoursEventImpl; } /// @nodoc @@ -239,24 +241,25 @@ class _$AttendanceHoursStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$AttendanceHoursStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$AttendanceHoursStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -264,9 +267,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -348,29 +351,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends AttendanceHoursState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$AttendanceHoursStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$AttendanceHoursStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -378,9 +382,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -462,14 +466,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends AttendanceHoursState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({AttendanceHoursList? attendanceHoursList}); @@ -477,10 +482,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$AttendanceHoursStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$AttendanceHoursStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -488,7 +494,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? attendanceHoursList = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == attendanceHoursList ? _value.attendanceHoursList : attendanceHoursList // ignore: cast_nullable_to_non_nullable @@ -512,8 +518,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.attendanceHoursList) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.attendanceHoursList) : super._(); @override final AttendanceHoursList? attendanceHoursList; @@ -524,10 +530,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.attendanceHoursList, attendanceHoursList) || other.attendanceHoursList == attendanceHoursList)); } @@ -538,8 +544,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -618,28 +624,30 @@ class _$_Loaded extends _Loaded { abstract class _Loaded extends AttendanceHoursState { const factory _Loaded(final AttendanceHoursList? attendanceHoursList) = - _$_Loaded; + _$LoadedImpl; const _Loaded._() : super._(); AttendanceHoursList? get attendanceHoursList; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$AttendanceHoursStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$AttendanceHoursStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -647,7 +655,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -658,8 +666,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -670,10 +678,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -683,8 +691,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -762,11 +770,11 @@ class _$_Error extends _Error { } abstract class _Error extends AttendanceHoursState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/attendance/attendance_user_search.dart b/frontend/works_shg_app/lib/blocs/attendance/attendance_user_search.dart index 6ff2536dd5..c6e16aed4e 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/attendance_user_search.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/attendance_user_search.dart @@ -36,7 +36,7 @@ class AttendanceUserSearchBloc "mobileNumber": event.mobileNumber }); emit(AttendanceUserSearchState.loaded(userSearchModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(AttendanceUserSearchState.error( e.response?.data['Errors'][0]['code'])); } @@ -55,7 +55,7 @@ class AttendanceUserSearchBloc "uuid": event.uuids }); emit(AttendanceUserSearchState.loaded(userSearchModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(AttendanceUserSearchState.error( e.response?.data['Errors'][0]['code'])); } diff --git a/frontend/works_shg_app/lib/blocs/attendance/attendance_user_search.freezed.dart b/frontend/works_shg_app/lib/blocs/attendance/attendance_user_search.freezed.dart index b227341043..49d4cb8f65 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/attendance_user_search.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/attendance_user_search.freezed.dart @@ -12,7 +12,7 @@ part of 'attendance_user_search.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$AttendanceUserSearchEvent { @@ -82,22 +82,23 @@ class _$AttendanceUserSearchEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$SearchAttendanceUserEventCopyWith<$Res> { - factory _$$SearchAttendanceUserEventCopyWith( - _$SearchAttendanceUserEvent value, - $Res Function(_$SearchAttendanceUserEvent) then) = - __$$SearchAttendanceUserEventCopyWithImpl<$Res>; +abstract class _$$SearchAttendanceUserEventImplCopyWith<$Res> { + factory _$$SearchAttendanceUserEventImplCopyWith( + _$SearchAttendanceUserEventImpl value, + $Res Function(_$SearchAttendanceUserEventImpl) then) = + __$$SearchAttendanceUserEventImplCopyWithImpl<$Res>; @useResult $Res call({String? mobileNumber}); } /// @nodoc -class __$$SearchAttendanceUserEventCopyWithImpl<$Res> +class __$$SearchAttendanceUserEventImplCopyWithImpl<$Res> extends _$AttendanceUserSearchEventCopyWithImpl<$Res, - _$SearchAttendanceUserEvent> - implements _$$SearchAttendanceUserEventCopyWith<$Res> { - __$$SearchAttendanceUserEventCopyWithImpl(_$SearchAttendanceUserEvent _value, - $Res Function(_$SearchAttendanceUserEvent) _then) + _$SearchAttendanceUserEventImpl> + implements _$$SearchAttendanceUserEventImplCopyWith<$Res> { + __$$SearchAttendanceUserEventImplCopyWithImpl( + _$SearchAttendanceUserEventImpl _value, + $Res Function(_$SearchAttendanceUserEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -105,7 +106,7 @@ class __$$SearchAttendanceUserEventCopyWithImpl<$Res> $Res call({ Object? mobileNumber = freezed, }) { - return _then(_$SearchAttendanceUserEvent( + return _then(_$SearchAttendanceUserEventImpl( mobileNumber: freezed == mobileNumber ? _value.mobileNumber : mobileNumber // ignore: cast_nullable_to_non_nullable @@ -116,10 +117,10 @@ class __$$SearchAttendanceUserEventCopyWithImpl<$Res> /// @nodoc -class _$SearchAttendanceUserEvent +class _$SearchAttendanceUserEventImpl with DiagnosticableTreeMixin implements SearchAttendanceUserEvent { - const _$SearchAttendanceUserEvent({this.mobileNumber}); + const _$SearchAttendanceUserEventImpl({this.mobileNumber}); @override final String? mobileNumber; @@ -138,10 +139,10 @@ class _$SearchAttendanceUserEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$SearchAttendanceUserEvent && + other is _$SearchAttendanceUserEventImpl && (identical(other.mobileNumber, mobileNumber) || other.mobileNumber == mobileNumber)); } @@ -152,9 +153,9 @@ class _$SearchAttendanceUserEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$SearchAttendanceUserEventCopyWith<_$SearchAttendanceUserEvent> - get copyWith => __$$SearchAttendanceUserEventCopyWithImpl< - _$SearchAttendanceUserEvent>(this, _$identity); + _$$SearchAttendanceUserEventImplCopyWith<_$SearchAttendanceUserEventImpl> + get copyWith => __$$SearchAttendanceUserEventImplCopyWithImpl< + _$SearchAttendanceUserEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -227,32 +228,32 @@ class _$SearchAttendanceUserEvent abstract class SearchAttendanceUserEvent implements AttendanceUserSearchEvent { const factory SearchAttendanceUserEvent({final String? mobileNumber}) = - _$SearchAttendanceUserEvent; + _$SearchAttendanceUserEventImpl; String? get mobileNumber; @JsonKey(ignore: true) - _$$SearchAttendanceUserEventCopyWith<_$SearchAttendanceUserEvent> + _$$SearchAttendanceUserEventImplCopyWith<_$SearchAttendanceUserEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$SearchAttendanceUserUuidEventCopyWith<$Res> { - factory _$$SearchAttendanceUserUuidEventCopyWith( - _$SearchAttendanceUserUuidEvent value, - $Res Function(_$SearchAttendanceUserUuidEvent) then) = - __$$SearchAttendanceUserUuidEventCopyWithImpl<$Res>; +abstract class _$$SearchAttendanceUserUuidEventImplCopyWith<$Res> { + factory _$$SearchAttendanceUserUuidEventImplCopyWith( + _$SearchAttendanceUserUuidEventImpl value, + $Res Function(_$SearchAttendanceUserUuidEventImpl) then) = + __$$SearchAttendanceUserUuidEventImplCopyWithImpl<$Res>; @useResult $Res call({List? uuids}); } /// @nodoc -class __$$SearchAttendanceUserUuidEventCopyWithImpl<$Res> +class __$$SearchAttendanceUserUuidEventImplCopyWithImpl<$Res> extends _$AttendanceUserSearchEventCopyWithImpl<$Res, - _$SearchAttendanceUserUuidEvent> - implements _$$SearchAttendanceUserUuidEventCopyWith<$Res> { - __$$SearchAttendanceUserUuidEventCopyWithImpl( - _$SearchAttendanceUserUuidEvent _value, - $Res Function(_$SearchAttendanceUserUuidEvent) _then) + _$SearchAttendanceUserUuidEventImpl> + implements _$$SearchAttendanceUserUuidEventImplCopyWith<$Res> { + __$$SearchAttendanceUserUuidEventImplCopyWithImpl( + _$SearchAttendanceUserUuidEventImpl _value, + $Res Function(_$SearchAttendanceUserUuidEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -260,7 +261,7 @@ class __$$SearchAttendanceUserUuidEventCopyWithImpl<$Res> $Res call({ Object? uuids = freezed, }) { - return _then(_$SearchAttendanceUserUuidEvent( + return _then(_$SearchAttendanceUserUuidEventImpl( uuids: freezed == uuids ? _value._uuids : uuids // ignore: cast_nullable_to_non_nullable @@ -271,10 +272,10 @@ class __$$SearchAttendanceUserUuidEventCopyWithImpl<$Res> /// @nodoc -class _$SearchAttendanceUserUuidEvent +class _$SearchAttendanceUserUuidEventImpl with DiagnosticableTreeMixin implements SearchAttendanceUserUuidEvent { - const _$SearchAttendanceUserUuidEvent({final List? uuids}) + const _$SearchAttendanceUserUuidEventImpl({final List? uuids}) : _uuids = uuids; final List? _uuids; @@ -301,10 +302,10 @@ class _$SearchAttendanceUserUuidEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$SearchAttendanceUserUuidEvent && + other is _$SearchAttendanceUserUuidEventImpl && const DeepCollectionEquality().equals(other._uuids, _uuids)); } @@ -315,9 +316,10 @@ class _$SearchAttendanceUserUuidEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$SearchAttendanceUserUuidEventCopyWith<_$SearchAttendanceUserUuidEvent> - get copyWith => __$$SearchAttendanceUserUuidEventCopyWithImpl< - _$SearchAttendanceUserUuidEvent>(this, _$identity); + _$$SearchAttendanceUserUuidEventImplCopyWith< + _$SearchAttendanceUserUuidEventImpl> + get copyWith => __$$SearchAttendanceUserUuidEventImplCopyWithImpl< + _$SearchAttendanceUserUuidEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -391,39 +393,40 @@ class _$SearchAttendanceUserUuidEvent abstract class SearchAttendanceUserUuidEvent implements AttendanceUserSearchEvent { const factory SearchAttendanceUserUuidEvent({final List? uuids}) = - _$SearchAttendanceUserUuidEvent; + _$SearchAttendanceUserUuidEventImpl; List? get uuids; @JsonKey(ignore: true) - _$$SearchAttendanceUserUuidEventCopyWith<_$SearchAttendanceUserUuidEvent> + _$$SearchAttendanceUserUuidEventImplCopyWith< + _$SearchAttendanceUserUuidEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$DisposeSearchAttendanceUserEventCopyWith<$Res> { - factory _$$DisposeSearchAttendanceUserEventCopyWith( - _$DisposeSearchAttendanceUserEvent value, - $Res Function(_$DisposeSearchAttendanceUserEvent) then) = - __$$DisposeSearchAttendanceUserEventCopyWithImpl<$Res>; +abstract class _$$DisposeSearchAttendanceUserEventImplCopyWith<$Res> { + factory _$$DisposeSearchAttendanceUserEventImplCopyWith( + _$DisposeSearchAttendanceUserEventImpl value, + $Res Function(_$DisposeSearchAttendanceUserEventImpl) then) = + __$$DisposeSearchAttendanceUserEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$DisposeSearchAttendanceUserEventCopyWithImpl<$Res> +class __$$DisposeSearchAttendanceUserEventImplCopyWithImpl<$Res> extends _$AttendanceUserSearchEventCopyWithImpl<$Res, - _$DisposeSearchAttendanceUserEvent> - implements _$$DisposeSearchAttendanceUserEventCopyWith<$Res> { - __$$DisposeSearchAttendanceUserEventCopyWithImpl( - _$DisposeSearchAttendanceUserEvent _value, - $Res Function(_$DisposeSearchAttendanceUserEvent) _then) + _$DisposeSearchAttendanceUserEventImpl> + implements _$$DisposeSearchAttendanceUserEventImplCopyWith<$Res> { + __$$DisposeSearchAttendanceUserEventImplCopyWithImpl( + _$DisposeSearchAttendanceUserEventImpl _value, + $Res Function(_$DisposeSearchAttendanceUserEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$DisposeSearchAttendanceUserEvent +class _$DisposeSearchAttendanceUserEventImpl with DiagnosticableTreeMixin implements DisposeSearchAttendanceUserEvent { - const _$DisposeSearchAttendanceUserEvent(); + const _$DisposeSearchAttendanceUserEventImpl(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -438,10 +441,10 @@ class _$DisposeSearchAttendanceUserEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$DisposeSearchAttendanceUserEvent); + other is _$DisposeSearchAttendanceUserEventImpl); } @override @@ -519,7 +522,7 @@ class _$DisposeSearchAttendanceUserEvent abstract class DisposeSearchAttendanceUserEvent implements AttendanceUserSearchEvent { const factory DisposeSearchAttendanceUserEvent() = - _$DisposeSearchAttendanceUserEvent; + _$DisposeSearchAttendanceUserEventImpl; } /// @nodoc @@ -596,24 +599,25 @@ class _$AttendanceUserSearchStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$AttendanceUserSearchStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$AttendanceUserSearchStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -628,9 +632,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -712,29 +716,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends AttendanceUserSearchState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$AttendanceUserSearchStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$AttendanceUserSearchStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -749,9 +754,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -833,14 +838,15 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends AttendanceUserSearchState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({UserSearchModel? userSearchModel}); @@ -848,10 +854,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$AttendanceUserSearchStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$AttendanceUserSearchStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -859,7 +866,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? userSearchModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == userSearchModel ? _value.userSearchModel : userSearchModel // ignore: cast_nullable_to_non_nullable @@ -882,8 +889,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.userSearchModel) : super._(); +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + const _$LoadedImpl(this.userSearchModel) : super._(); @override final UserSearchModel? userSearchModel; @@ -902,10 +909,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.userSearchModel, userSearchModel) || other.userSearchModel == userSearchModel)); } @@ -916,8 +923,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -995,28 +1002,30 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } abstract class _Loaded extends AttendanceUserSearchState { - const factory _Loaded(final UserSearchModel? userSearchModel) = _$_Loaded; + const factory _Loaded(final UserSearchModel? userSearchModel) = _$LoadedImpl; const _Loaded._() : super._(); UserSearchModel? get userSearchModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$AttendanceUserSearchStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$AttendanceUserSearchStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1024,7 +1033,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -1035,8 +1044,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -1055,10 +1064,10 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -1068,8 +1077,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -1147,11 +1156,11 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends AttendanceUserSearchState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/attendance/create_attendance_register.dart b/frontend/works_shg_app/lib/blocs/attendance/create_attendance_register.dart index 0c4bab2358..3e50e33603 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/create_attendance_register.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/create_attendance_register.dart @@ -63,7 +63,7 @@ class AttendanceRegisterCreateBloc } else { emit(const AttendanceRegisterCreateState.error()); } - } on DioError catch (e) { + } on DioException catch (e) { emit(const AttendanceRegisterCreateState.error()); } } diff --git a/frontend/works_shg_app/lib/blocs/attendance/create_attendance_register.freezed.dart b/frontend/works_shg_app/lib/blocs/attendance/create_attendance_register.freezed.dart index 58d34c65ce..c069f4c957 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/create_attendance_register.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/create_attendance_register.freezed.dart @@ -12,7 +12,7 @@ part of 'create_attendance_register.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$AttendanceRegisterCreateEvent { @@ -169,12 +169,12 @@ class _$AttendanceRegisterCreateEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$CreateAttendanceRegisterEventCopyWith<$Res> +abstract class _$$CreateAttendanceRegisterEventImplCopyWith<$Res> implements $AttendanceRegisterCreateEventCopyWith<$Res> { - factory _$$CreateAttendanceRegisterEventCopyWith( - _$CreateAttendanceRegisterEvent value, - $Res Function(_$CreateAttendanceRegisterEvent) then) = - __$$CreateAttendanceRegisterEventCopyWithImpl<$Res>; + factory _$$CreateAttendanceRegisterEventImplCopyWith( + _$CreateAttendanceRegisterEventImpl value, + $Res Function(_$CreateAttendanceRegisterEventImpl) then) = + __$$CreateAttendanceRegisterEventImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -189,13 +189,13 @@ abstract class _$$CreateAttendanceRegisterEventCopyWith<$Res> } /// @nodoc -class __$$CreateAttendanceRegisterEventCopyWithImpl<$Res> +class __$$CreateAttendanceRegisterEventImplCopyWithImpl<$Res> extends _$AttendanceRegisterCreateEventCopyWithImpl<$Res, - _$CreateAttendanceRegisterEvent> - implements _$$CreateAttendanceRegisterEventCopyWith<$Res> { - __$$CreateAttendanceRegisterEventCopyWithImpl( - _$CreateAttendanceRegisterEvent _value, - $Res Function(_$CreateAttendanceRegisterEvent) _then) + _$CreateAttendanceRegisterEventImpl> + implements _$$CreateAttendanceRegisterEventImplCopyWith<$Res> { + __$$CreateAttendanceRegisterEventImplCopyWithImpl( + _$CreateAttendanceRegisterEventImpl _value, + $Res Function(_$CreateAttendanceRegisterEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -210,7 +210,7 @@ class __$$CreateAttendanceRegisterEventCopyWithImpl<$Res> Object? startDate = null, Object? endDate = null, }) { - return _then(_$CreateAttendanceRegisterEvent( + return _then(_$CreateAttendanceRegisterEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -249,8 +249,9 @@ class __$$CreateAttendanceRegisterEventCopyWithImpl<$Res> /// @nodoc -class _$CreateAttendanceRegisterEvent implements CreateAttendanceRegisterEvent { - const _$CreateAttendanceRegisterEvent( +class _$CreateAttendanceRegisterEventImpl + implements CreateAttendanceRegisterEvent { + const _$CreateAttendanceRegisterEventImpl( {required this.tenantId, required this.registerNumber, required this.contractId, @@ -283,10 +284,10 @@ class _$CreateAttendanceRegisterEvent implements CreateAttendanceRegisterEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$CreateAttendanceRegisterEvent && + other is _$CreateAttendanceRegisterEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.registerNumber, registerNumber) || @@ -309,9 +310,10 @@ class _$CreateAttendanceRegisterEvent implements CreateAttendanceRegisterEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$CreateAttendanceRegisterEventCopyWith<_$CreateAttendanceRegisterEvent> - get copyWith => __$$CreateAttendanceRegisterEventCopyWithImpl< - _$CreateAttendanceRegisterEvent>(this, _$identity); + _$$CreateAttendanceRegisterEventImplCopyWith< + _$CreateAttendanceRegisterEventImpl> + get copyWith => __$$CreateAttendanceRegisterEventImplCopyWithImpl< + _$CreateAttendanceRegisterEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -410,7 +412,7 @@ abstract class CreateAttendanceRegisterEvent required final String orgName, required final String name, required final int startDate, - required final int endDate}) = _$CreateAttendanceRegisterEvent; + required final int endDate}) = _$CreateAttendanceRegisterEventImpl; @override String get tenantId; @@ -430,7 +432,8 @@ abstract class CreateAttendanceRegisterEvent int get endDate; @override @JsonKey(ignore: true) - _$$CreateAttendanceRegisterEventCopyWith<_$CreateAttendanceRegisterEvent> + _$$CreateAttendanceRegisterEventImplCopyWith< + _$CreateAttendanceRegisterEventImpl> get copyWith => throw _privateConstructorUsedError; } @@ -510,24 +513,25 @@ class _$AttendanceRegisterCreateStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$AttendanceRegisterCreateStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$AttendanceRegisterCreateStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -535,9 +539,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -619,29 +623,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends AttendanceRegisterCreateState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$AttendanceRegisterCreateStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$AttendanceRegisterCreateStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -649,9 +654,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -733,23 +738,25 @@ class _$_Loading extends _Loading { } abstract class _Loading extends AttendanceRegisterCreateState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({String? registerNumber}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$AttendanceRegisterCreateStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$AttendanceRegisterCreateStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -757,7 +764,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? registerNumber = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == registerNumber ? _value.registerNumber : registerNumber // ignore: cast_nullable_to_non_nullable @@ -768,8 +775,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.registerNumber) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.registerNumber) : super._(); @override final String? registerNumber; @@ -780,10 +787,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.registerNumber, registerNumber) || other.registerNumber == registerNumber)); } @@ -794,8 +801,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -873,33 +880,35 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends AttendanceRegisterCreateState { - const factory _Loaded(final String? registerNumber) = _$_Loaded; + const factory _Loaded(final String? registerNumber) = _$LoadedImpl; const _Loaded._() : super._(); String? get registerNumber; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$AttendanceRegisterCreateStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$AttendanceRegisterCreateStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Error extends _Error { - const _$_Error() : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl() : super._(); @override String toString() { @@ -907,9 +916,9 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Error); + (other.runtimeType == runtimeType && other is _$ErrorImpl); } @override @@ -991,6 +1000,6 @@ class _$_Error extends _Error { } abstract class _Error extends AttendanceRegisterCreateState { - const factory _Error() = _$_Error; + const factory _Error() = _$ErrorImpl; const _Error._() : super._(); } diff --git a/frontend/works_shg_app/lib/blocs/attendance/create_attendee.dart b/frontend/works_shg_app/lib/blocs/attendance/create_attendee.dart index dc71746a3e..70ea90f244 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/create_attendee.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/create_attendee.dart @@ -37,7 +37,7 @@ class AttendeeCreateBloc body: {"attendees": event.attendeeList}); await Future.delayed(const Duration(seconds: 1)); emit(const AttendeeCreateState.loaded()); - } on DioError catch (e) { + } on DioException catch (e) { emit(AttendeeCreateState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/attendance/create_attendee.freezed.dart b/frontend/works_shg_app/lib/blocs/attendance/create_attendee.freezed.dart index ad289a2ce3..eda1ca8c70 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/create_attendee.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/create_attendee.freezed.dart @@ -12,7 +12,7 @@ part of 'create_attendee.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$AttendeeCreateEvent { @@ -75,20 +75,20 @@ class _$AttendeeCreateEventCopyWithImpl<$Res, $Val extends AttendeeCreateEvent> } /// @nodoc -abstract class _$$CreateAttendeeEventCopyWith<$Res> { - factory _$$CreateAttendeeEventCopyWith(_$CreateAttendeeEvent value, - $Res Function(_$CreateAttendeeEvent) then) = - __$$CreateAttendeeEventCopyWithImpl<$Res>; +abstract class _$$CreateAttendeeEventImplCopyWith<$Res> { + factory _$$CreateAttendeeEventImplCopyWith(_$CreateAttendeeEventImpl value, + $Res Function(_$CreateAttendeeEventImpl) then) = + __$$CreateAttendeeEventImplCopyWithImpl<$Res>; @useResult $Res call({List> attendeeList}); } /// @nodoc -class __$$CreateAttendeeEventCopyWithImpl<$Res> - extends _$AttendeeCreateEventCopyWithImpl<$Res, _$CreateAttendeeEvent> - implements _$$CreateAttendeeEventCopyWith<$Res> { - __$$CreateAttendeeEventCopyWithImpl( - _$CreateAttendeeEvent _value, $Res Function(_$CreateAttendeeEvent) _then) +class __$$CreateAttendeeEventImplCopyWithImpl<$Res> + extends _$AttendeeCreateEventCopyWithImpl<$Res, _$CreateAttendeeEventImpl> + implements _$$CreateAttendeeEventImplCopyWith<$Res> { + __$$CreateAttendeeEventImplCopyWithImpl(_$CreateAttendeeEventImpl _value, + $Res Function(_$CreateAttendeeEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -96,7 +96,7 @@ class __$$CreateAttendeeEventCopyWithImpl<$Res> $Res call({ Object? attendeeList = null, }) { - return _then(_$CreateAttendeeEvent( + return _then(_$CreateAttendeeEventImpl( attendeeList: null == attendeeList ? _value._attendeeList : attendeeList // ignore: cast_nullable_to_non_nullable @@ -107,8 +107,8 @@ class __$$CreateAttendeeEventCopyWithImpl<$Res> /// @nodoc -class _$CreateAttendeeEvent implements CreateAttendeeEvent { - const _$CreateAttendeeEvent( +class _$CreateAttendeeEventImpl implements CreateAttendeeEvent { + const _$CreateAttendeeEventImpl( {required final List> attendeeList}) : _attendeeList = attendeeList; @@ -126,10 +126,10 @@ class _$CreateAttendeeEvent implements CreateAttendeeEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$CreateAttendeeEvent && + other is _$CreateAttendeeEventImpl && const DeepCollectionEquality() .equals(other._attendeeList, _attendeeList)); } @@ -141,8 +141,8 @@ class _$CreateAttendeeEvent implements CreateAttendeeEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$CreateAttendeeEventCopyWith<_$CreateAttendeeEvent> get copyWith => - __$$CreateAttendeeEventCopyWithImpl<_$CreateAttendeeEvent>( + _$$CreateAttendeeEventImplCopyWith<_$CreateAttendeeEventImpl> get copyWith => + __$$CreateAttendeeEventImplCopyWithImpl<_$CreateAttendeeEventImpl>( this, _$identity); @override @@ -211,37 +211,37 @@ class _$CreateAttendeeEvent implements CreateAttendeeEvent { abstract class CreateAttendeeEvent implements AttendeeCreateEvent { const factory CreateAttendeeEvent( {required final List> attendeeList}) = - _$CreateAttendeeEvent; + _$CreateAttendeeEventImpl; List> get attendeeList; @JsonKey(ignore: true) - _$$CreateAttendeeEventCopyWith<_$CreateAttendeeEvent> get copyWith => + _$$CreateAttendeeEventImplCopyWith<_$CreateAttendeeEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$CreateAttendeeDisposeEventCopyWith<$Res> { - factory _$$CreateAttendeeDisposeEventCopyWith( - _$CreateAttendeeDisposeEvent value, - $Res Function(_$CreateAttendeeDisposeEvent) then) = - __$$CreateAttendeeDisposeEventCopyWithImpl<$Res>; +abstract class _$$CreateAttendeeDisposeEventImplCopyWith<$Res> { + factory _$$CreateAttendeeDisposeEventImplCopyWith( + _$CreateAttendeeDisposeEventImpl value, + $Res Function(_$CreateAttendeeDisposeEventImpl) then) = + __$$CreateAttendeeDisposeEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$CreateAttendeeDisposeEventCopyWithImpl<$Res> +class __$$CreateAttendeeDisposeEventImplCopyWithImpl<$Res> extends _$AttendeeCreateEventCopyWithImpl<$Res, - _$CreateAttendeeDisposeEvent> - implements _$$CreateAttendeeDisposeEventCopyWith<$Res> { - __$$CreateAttendeeDisposeEventCopyWithImpl( - _$CreateAttendeeDisposeEvent _value, - $Res Function(_$CreateAttendeeDisposeEvent) _then) + _$CreateAttendeeDisposeEventImpl> + implements _$$CreateAttendeeDisposeEventImplCopyWith<$Res> { + __$$CreateAttendeeDisposeEventImplCopyWithImpl( + _$CreateAttendeeDisposeEventImpl _value, + $Res Function(_$CreateAttendeeDisposeEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$CreateAttendeeDisposeEvent implements CreateAttendeeDisposeEvent { - const _$CreateAttendeeDisposeEvent(); +class _$CreateAttendeeDisposeEventImpl implements CreateAttendeeDisposeEvent { + const _$CreateAttendeeDisposeEventImpl(); @override String toString() { @@ -249,10 +249,10 @@ class _$CreateAttendeeDisposeEvent implements CreateAttendeeDisposeEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$CreateAttendeeDisposeEvent); + other is _$CreateAttendeeDisposeEventImpl); } @override @@ -322,7 +322,7 @@ class _$CreateAttendeeDisposeEvent implements CreateAttendeeDisposeEvent { } abstract class CreateAttendeeDisposeEvent implements AttendeeCreateEvent { - const factory CreateAttendeeDisposeEvent() = _$CreateAttendeeDisposeEvent; + const factory CreateAttendeeDisposeEvent() = _$CreateAttendeeDisposeEventImpl; } /// @nodoc @@ -398,24 +398,25 @@ class _$AttendeeCreateStateCopyWithImpl<$Res, $Val extends AttendeeCreateState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$AttendeeCreateStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$AttendeeCreateStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -423,9 +424,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -507,29 +508,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends AttendeeCreateState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$AttendeeCreateStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$AttendeeCreateStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -537,9 +539,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -621,28 +623,30 @@ class _$_Loading extends _Loading { } abstract class _Loading extends AttendeeCreateState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$AttendeeCreateStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$AttendeeCreateStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded() : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl() : super._(); @override String toString() { @@ -650,9 +654,9 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loaded); + (other.runtimeType == runtimeType && other is _$LoadedImpl); } @override @@ -734,23 +738,25 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends AttendeeCreateState { - const factory _Loaded() = _$_Loaded; + const factory _Loaded() = _$LoadedImpl; const _Loaded._() : super._(); } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$AttendeeCreateStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$AttendeeCreateStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -758,7 +764,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -769,8 +775,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -781,10 +787,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -794,8 +800,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -873,11 +879,11 @@ class _$_Error extends _Error { } abstract class _Error extends AttendeeCreateState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/attendance/de_enroll_attendee.dart b/frontend/works_shg_app/lib/blocs/attendance/de_enroll_attendee.dart index f9019475ef..8e99e696f6 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/de_enroll_attendee.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/de_enroll_attendee.dart @@ -36,7 +36,7 @@ class AttendeeDeEnrollBloc body: {"attendees": event.attendeeList}); await Future.delayed(const Duration(seconds: 1)); emit(const AttendeeDeEnrollState.loaded()); - } on DioError catch (e) { + } on DioException catch (e) { emit(AttendeeDeEnrollState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/attendance/de_enroll_attendee.freezed.dart b/frontend/works_shg_app/lib/blocs/attendance/de_enroll_attendee.freezed.dart index bab6c83c10..1838753ccf 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/de_enroll_attendee.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/de_enroll_attendee.freezed.dart @@ -12,7 +12,7 @@ part of 'de_enroll_attendee.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$AttendeeDeEnrollEvent { @@ -76,20 +76,22 @@ class _$AttendeeDeEnrollEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$DeEnrollAttendeeEventCopyWith<$Res> { - factory _$$DeEnrollAttendeeEventCopyWith(_$DeEnrollAttendeeEvent value, - $Res Function(_$DeEnrollAttendeeEvent) then) = - __$$DeEnrollAttendeeEventCopyWithImpl<$Res>; +abstract class _$$DeEnrollAttendeeEventImplCopyWith<$Res> { + factory _$$DeEnrollAttendeeEventImplCopyWith( + _$DeEnrollAttendeeEventImpl value, + $Res Function(_$DeEnrollAttendeeEventImpl) then) = + __$$DeEnrollAttendeeEventImplCopyWithImpl<$Res>; @useResult $Res call({List> attendeeList}); } /// @nodoc -class __$$DeEnrollAttendeeEventCopyWithImpl<$Res> - extends _$AttendeeDeEnrollEventCopyWithImpl<$Res, _$DeEnrollAttendeeEvent> - implements _$$DeEnrollAttendeeEventCopyWith<$Res> { - __$$DeEnrollAttendeeEventCopyWithImpl(_$DeEnrollAttendeeEvent _value, - $Res Function(_$DeEnrollAttendeeEvent) _then) +class __$$DeEnrollAttendeeEventImplCopyWithImpl<$Res> + extends _$AttendeeDeEnrollEventCopyWithImpl<$Res, + _$DeEnrollAttendeeEventImpl> + implements _$$DeEnrollAttendeeEventImplCopyWith<$Res> { + __$$DeEnrollAttendeeEventImplCopyWithImpl(_$DeEnrollAttendeeEventImpl _value, + $Res Function(_$DeEnrollAttendeeEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -97,7 +99,7 @@ class __$$DeEnrollAttendeeEventCopyWithImpl<$Res> $Res call({ Object? attendeeList = null, }) { - return _then(_$DeEnrollAttendeeEvent( + return _then(_$DeEnrollAttendeeEventImpl( attendeeList: null == attendeeList ? _value._attendeeList : attendeeList // ignore: cast_nullable_to_non_nullable @@ -108,8 +110,8 @@ class __$$DeEnrollAttendeeEventCopyWithImpl<$Res> /// @nodoc -class _$DeEnrollAttendeeEvent implements DeEnrollAttendeeEvent { - const _$DeEnrollAttendeeEvent( +class _$DeEnrollAttendeeEventImpl implements DeEnrollAttendeeEvent { + const _$DeEnrollAttendeeEventImpl( {required final List> attendeeList}) : _attendeeList = attendeeList; @@ -127,10 +129,10 @@ class _$DeEnrollAttendeeEvent implements DeEnrollAttendeeEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$DeEnrollAttendeeEvent && + other is _$DeEnrollAttendeeEventImpl && const DeepCollectionEquality() .equals(other._attendeeList, _attendeeList)); } @@ -142,9 +144,9 @@ class _$DeEnrollAttendeeEvent implements DeEnrollAttendeeEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$DeEnrollAttendeeEventCopyWith<_$DeEnrollAttendeeEvent> get copyWith => - __$$DeEnrollAttendeeEventCopyWithImpl<_$DeEnrollAttendeeEvent>( - this, _$identity); + _$$DeEnrollAttendeeEventImplCopyWith<_$DeEnrollAttendeeEventImpl> + get copyWith => __$$DeEnrollAttendeeEventImplCopyWithImpl< + _$DeEnrollAttendeeEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -212,37 +214,38 @@ class _$DeEnrollAttendeeEvent implements DeEnrollAttendeeEvent { abstract class DeEnrollAttendeeEvent implements AttendeeDeEnrollEvent { const factory DeEnrollAttendeeEvent( {required final List> attendeeList}) = - _$DeEnrollAttendeeEvent; + _$DeEnrollAttendeeEventImpl; List> get attendeeList; @JsonKey(ignore: true) - _$$DeEnrollAttendeeEventCopyWith<_$DeEnrollAttendeeEvent> get copyWith => - throw _privateConstructorUsedError; + _$$DeEnrollAttendeeEventImplCopyWith<_$DeEnrollAttendeeEventImpl> + get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$DeEnrollAttendeeDisposeEventCopyWith<$Res> { - factory _$$DeEnrollAttendeeDisposeEventCopyWith( - _$DeEnrollAttendeeDisposeEvent value, - $Res Function(_$DeEnrollAttendeeDisposeEvent) then) = - __$$DeEnrollAttendeeDisposeEventCopyWithImpl<$Res>; +abstract class _$$DeEnrollAttendeeDisposeEventImplCopyWith<$Res> { + factory _$$DeEnrollAttendeeDisposeEventImplCopyWith( + _$DeEnrollAttendeeDisposeEventImpl value, + $Res Function(_$DeEnrollAttendeeDisposeEventImpl) then) = + __$$DeEnrollAttendeeDisposeEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$DeEnrollAttendeeDisposeEventCopyWithImpl<$Res> +class __$$DeEnrollAttendeeDisposeEventImplCopyWithImpl<$Res> extends _$AttendeeDeEnrollEventCopyWithImpl<$Res, - _$DeEnrollAttendeeDisposeEvent> - implements _$$DeEnrollAttendeeDisposeEventCopyWith<$Res> { - __$$DeEnrollAttendeeDisposeEventCopyWithImpl( - _$DeEnrollAttendeeDisposeEvent _value, - $Res Function(_$DeEnrollAttendeeDisposeEvent) _then) + _$DeEnrollAttendeeDisposeEventImpl> + implements _$$DeEnrollAttendeeDisposeEventImplCopyWith<$Res> { + __$$DeEnrollAttendeeDisposeEventImplCopyWithImpl( + _$DeEnrollAttendeeDisposeEventImpl _value, + $Res Function(_$DeEnrollAttendeeDisposeEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$DeEnrollAttendeeDisposeEvent implements DeEnrollAttendeeDisposeEvent { - const _$DeEnrollAttendeeDisposeEvent(); +class _$DeEnrollAttendeeDisposeEventImpl + implements DeEnrollAttendeeDisposeEvent { + const _$DeEnrollAttendeeDisposeEventImpl(); @override String toString() { @@ -250,10 +253,10 @@ class _$DeEnrollAttendeeDisposeEvent implements DeEnrollAttendeeDisposeEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$DeEnrollAttendeeDisposeEvent); + other is _$DeEnrollAttendeeDisposeEventImpl); } @override @@ -323,7 +326,8 @@ class _$DeEnrollAttendeeDisposeEvent implements DeEnrollAttendeeDisposeEvent { } abstract class DeEnrollAttendeeDisposeEvent implements AttendeeDeEnrollEvent { - const factory DeEnrollAttendeeDisposeEvent() = _$DeEnrollAttendeeDisposeEvent; + const factory DeEnrollAttendeeDisposeEvent() = + _$DeEnrollAttendeeDisposeEventImpl; } /// @nodoc @@ -400,24 +404,25 @@ class _$AttendeeDeEnrollStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$AttendeeDeEnrollStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$AttendeeDeEnrollStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -425,9 +430,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -509,29 +514,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends AttendeeDeEnrollState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$AttendeeDeEnrollStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$AttendeeDeEnrollStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -539,9 +545,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -623,28 +629,30 @@ class _$_Loading extends _Loading { } abstract class _Loading extends AttendeeDeEnrollState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$AttendeeDeEnrollStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$AttendeeDeEnrollStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded() : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl() : super._(); @override String toString() { @@ -652,9 +660,9 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loaded); + (other.runtimeType == runtimeType && other is _$LoadedImpl); } @override @@ -736,23 +744,25 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends AttendeeDeEnrollState { - const factory _Loaded() = _$_Loaded; + const factory _Loaded() = _$LoadedImpl; const _Loaded._() : super._(); } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$AttendeeDeEnrollStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$AttendeeDeEnrollStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -760,7 +770,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -771,8 +781,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -783,10 +793,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -796,8 +806,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -875,11 +885,11 @@ class _$_Error extends _Error { } abstract class _Error extends AttendeeDeEnrollState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/attendance/individual_search.dart b/frontend/works_shg_app/lib/blocs/attendance/individual_search.dart index 4128a50547..d05136bfae 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/individual_search.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/individual_search.dart @@ -41,7 +41,7 @@ class IndividualSearchBloc "Individual": {"mobileNumber": event.mobileNumber} }); emit(IndividualSearchState.loaded(individualListModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(IndividualSearchState.error(e.response?.data['Errors'][0]['code'])); } } @@ -66,7 +66,7 @@ class IndividualSearchBloc } }); emit(IndividualSearchState.loaded(individualListModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(IndividualSearchState.error(e.response?.data['Errors'][0]['code'])); } } @@ -89,7 +89,7 @@ class IndividualSearchBloc "Individual": {"id": event.ids} }); emit(IndividualSearchState.loaded(individualListModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(IndividualSearchState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/attendance/individual_search.freezed.dart b/frontend/works_shg_app/lib/blocs/attendance/individual_search.freezed.dart index c5676fc291..a123579d8a 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/individual_search.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/individual_search.freezed.dart @@ -12,7 +12,7 @@ part of 'individual_search.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$IndividualSearchEvent { @@ -88,20 +88,22 @@ class _$IndividualSearchEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$SearchIndividualEventCopyWith<$Res> { - factory _$$SearchIndividualEventCopyWith(_$SearchIndividualEvent value, - $Res Function(_$SearchIndividualEvent) then) = - __$$SearchIndividualEventCopyWithImpl<$Res>; +abstract class _$$SearchIndividualEventImplCopyWith<$Res> { + factory _$$SearchIndividualEventImplCopyWith( + _$SearchIndividualEventImpl value, + $Res Function(_$SearchIndividualEventImpl) then) = + __$$SearchIndividualEventImplCopyWithImpl<$Res>; @useResult $Res call({String tenant, String mobileNumber}); } /// @nodoc -class __$$SearchIndividualEventCopyWithImpl<$Res> - extends _$IndividualSearchEventCopyWithImpl<$Res, _$SearchIndividualEvent> - implements _$$SearchIndividualEventCopyWith<$Res> { - __$$SearchIndividualEventCopyWithImpl(_$SearchIndividualEvent _value, - $Res Function(_$SearchIndividualEvent) _then) +class __$$SearchIndividualEventImplCopyWithImpl<$Res> + extends _$IndividualSearchEventCopyWithImpl<$Res, + _$SearchIndividualEventImpl> + implements _$$SearchIndividualEventImplCopyWith<$Res> { + __$$SearchIndividualEventImplCopyWithImpl(_$SearchIndividualEventImpl _value, + $Res Function(_$SearchIndividualEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -110,7 +112,7 @@ class __$$SearchIndividualEventCopyWithImpl<$Res> Object? tenant = null, Object? mobileNumber = null, }) { - return _then(_$SearchIndividualEvent( + return _then(_$SearchIndividualEventImpl( tenant: null == tenant ? _value.tenant : tenant // ignore: cast_nullable_to_non_nullable @@ -125,10 +127,10 @@ class __$$SearchIndividualEventCopyWithImpl<$Res> /// @nodoc -class _$SearchIndividualEvent +class _$SearchIndividualEventImpl with DiagnosticableTreeMixin implements SearchIndividualEvent { - const _$SearchIndividualEvent( + const _$SearchIndividualEventImpl( {required this.tenant, required this.mobileNumber}); @override @@ -151,10 +153,10 @@ class _$SearchIndividualEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$SearchIndividualEvent && + other is _$SearchIndividualEventImpl && (identical(other.tenant, tenant) || other.tenant == tenant) && (identical(other.mobileNumber, mobileNumber) || other.mobileNumber == mobileNumber)); @@ -166,9 +168,9 @@ class _$SearchIndividualEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$SearchIndividualEventCopyWith<_$SearchIndividualEvent> get copyWith => - __$$SearchIndividualEventCopyWithImpl<_$SearchIndividualEvent>( - this, _$identity); + _$$SearchIndividualEventImplCopyWith<_$SearchIndividualEventImpl> + get copyWith => __$$SearchIndividualEventImplCopyWithImpl< + _$SearchIndividualEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -248,32 +250,33 @@ class _$SearchIndividualEvent abstract class SearchIndividualEvent implements IndividualSearchEvent { const factory SearchIndividualEvent( {required final String tenant, - required final String mobileNumber}) = _$SearchIndividualEvent; + required final String mobileNumber}) = _$SearchIndividualEventImpl; String get tenant; String get mobileNumber; @JsonKey(ignore: true) - _$$SearchIndividualEventCopyWith<_$SearchIndividualEvent> get copyWith => - throw _privateConstructorUsedError; + _$$SearchIndividualEventImplCopyWith<_$SearchIndividualEventImpl> + get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$SearchIndividualNameEventCopyWith<$Res> { - factory _$$SearchIndividualNameEventCopyWith( - _$SearchIndividualNameEvent value, - $Res Function(_$SearchIndividualNameEvent) then) = - __$$SearchIndividualNameEventCopyWithImpl<$Res>; +abstract class _$$SearchIndividualNameEventImplCopyWith<$Res> { + factory _$$SearchIndividualNameEventImplCopyWith( + _$SearchIndividualNameEventImpl value, + $Res Function(_$SearchIndividualNameEventImpl) then) = + __$$SearchIndividualNameEventImplCopyWithImpl<$Res>; @useResult $Res call({String tenant, String name}); } /// @nodoc -class __$$SearchIndividualNameEventCopyWithImpl<$Res> +class __$$SearchIndividualNameEventImplCopyWithImpl<$Res> extends _$IndividualSearchEventCopyWithImpl<$Res, - _$SearchIndividualNameEvent> - implements _$$SearchIndividualNameEventCopyWith<$Res> { - __$$SearchIndividualNameEventCopyWithImpl(_$SearchIndividualNameEvent _value, - $Res Function(_$SearchIndividualNameEvent) _then) + _$SearchIndividualNameEventImpl> + implements _$$SearchIndividualNameEventImplCopyWith<$Res> { + __$$SearchIndividualNameEventImplCopyWithImpl( + _$SearchIndividualNameEventImpl _value, + $Res Function(_$SearchIndividualNameEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -282,7 +285,7 @@ class __$$SearchIndividualNameEventCopyWithImpl<$Res> Object? tenant = null, Object? name = null, }) { - return _then(_$SearchIndividualNameEvent( + return _then(_$SearchIndividualNameEventImpl( tenant: null == tenant ? _value.tenant : tenant // ignore: cast_nullable_to_non_nullable @@ -297,10 +300,11 @@ class __$$SearchIndividualNameEventCopyWithImpl<$Res> /// @nodoc -class _$SearchIndividualNameEvent +class _$SearchIndividualNameEventImpl with DiagnosticableTreeMixin implements SearchIndividualNameEvent { - const _$SearchIndividualNameEvent({required this.tenant, required this.name}); + const _$SearchIndividualNameEventImpl( + {required this.tenant, required this.name}); @override final String tenant; @@ -322,10 +326,10 @@ class _$SearchIndividualNameEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$SearchIndividualNameEvent && + other is _$SearchIndividualNameEventImpl && (identical(other.tenant, tenant) || other.tenant == tenant) && (identical(other.name, name) || other.name == name)); } @@ -336,9 +340,9 @@ class _$SearchIndividualNameEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$SearchIndividualNameEventCopyWith<_$SearchIndividualNameEvent> - get copyWith => __$$SearchIndividualNameEventCopyWithImpl< - _$SearchIndividualNameEvent>(this, _$identity); + _$$SearchIndividualNameEventImplCopyWith<_$SearchIndividualNameEventImpl> + get copyWith => __$$SearchIndividualNameEventImplCopyWithImpl< + _$SearchIndividualNameEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -418,30 +422,33 @@ class _$SearchIndividualNameEvent abstract class SearchIndividualNameEvent implements IndividualSearchEvent { const factory SearchIndividualNameEvent( {required final String tenant, - required final String name}) = _$SearchIndividualNameEvent; + required final String name}) = _$SearchIndividualNameEventImpl; String get tenant; String get name; @JsonKey(ignore: true) - _$$SearchIndividualNameEventCopyWith<_$SearchIndividualNameEvent> + _$$SearchIndividualNameEventImplCopyWith<_$SearchIndividualNameEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$SearchIndividualIdEventCopyWith<$Res> { - factory _$$SearchIndividualIdEventCopyWith(_$SearchIndividualIdEvent value, - $Res Function(_$SearchIndividualIdEvent) then) = - __$$SearchIndividualIdEventCopyWithImpl<$Res>; +abstract class _$$SearchIndividualIdEventImplCopyWith<$Res> { + factory _$$SearchIndividualIdEventImplCopyWith( + _$SearchIndividualIdEventImpl value, + $Res Function(_$SearchIndividualIdEventImpl) then) = + __$$SearchIndividualIdEventImplCopyWithImpl<$Res>; @useResult $Res call({String tenant, List? ids}); } /// @nodoc -class __$$SearchIndividualIdEventCopyWithImpl<$Res> - extends _$IndividualSearchEventCopyWithImpl<$Res, _$SearchIndividualIdEvent> - implements _$$SearchIndividualIdEventCopyWith<$Res> { - __$$SearchIndividualIdEventCopyWithImpl(_$SearchIndividualIdEvent _value, - $Res Function(_$SearchIndividualIdEvent) _then) +class __$$SearchIndividualIdEventImplCopyWithImpl<$Res> + extends _$IndividualSearchEventCopyWithImpl<$Res, + _$SearchIndividualIdEventImpl> + implements _$$SearchIndividualIdEventImplCopyWith<$Res> { + __$$SearchIndividualIdEventImplCopyWithImpl( + _$SearchIndividualIdEventImpl _value, + $Res Function(_$SearchIndividualIdEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -450,7 +457,7 @@ class __$$SearchIndividualIdEventCopyWithImpl<$Res> Object? tenant = null, Object? ids = freezed, }) { - return _then(_$SearchIndividualIdEvent( + return _then(_$SearchIndividualIdEventImpl( tenant: null == tenant ? _value.tenant : tenant // ignore: cast_nullable_to_non_nullable @@ -465,10 +472,10 @@ class __$$SearchIndividualIdEventCopyWithImpl<$Res> /// @nodoc -class _$SearchIndividualIdEvent +class _$SearchIndividualIdEventImpl with DiagnosticableTreeMixin implements SearchIndividualIdEvent { - const _$SearchIndividualIdEvent( + const _$SearchIndividualIdEventImpl( {required this.tenant, final List? ids}) : _ids = ids; @@ -499,10 +506,10 @@ class _$SearchIndividualIdEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$SearchIndividualIdEvent && + other is _$SearchIndividualIdEventImpl && (identical(other.tenant, tenant) || other.tenant == tenant) && const DeepCollectionEquality().equals(other._ids, _ids)); } @@ -514,9 +521,9 @@ class _$SearchIndividualIdEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$SearchIndividualIdEventCopyWith<_$SearchIndividualIdEvent> get copyWith => - __$$SearchIndividualIdEventCopyWithImpl<_$SearchIndividualIdEvent>( - this, _$identity); + _$$SearchIndividualIdEventImplCopyWith<_$SearchIndividualIdEventImpl> + get copyWith => __$$SearchIndividualIdEventImplCopyWithImpl< + _$SearchIndividualIdEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -596,40 +603,40 @@ class _$SearchIndividualIdEvent abstract class SearchIndividualIdEvent implements IndividualSearchEvent { const factory SearchIndividualIdEvent( {required final String tenant, - final List? ids}) = _$SearchIndividualIdEvent; + final List? ids}) = _$SearchIndividualIdEventImpl; String get tenant; List? get ids; @JsonKey(ignore: true) - _$$SearchIndividualIdEventCopyWith<_$SearchIndividualIdEvent> get copyWith => - throw _privateConstructorUsedError; + _$$SearchIndividualIdEventImplCopyWith<_$SearchIndividualIdEventImpl> + get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$DisposeSearchIndividualEventCopyWith<$Res> { - factory _$$DisposeSearchIndividualEventCopyWith( - _$DisposeSearchIndividualEvent value, - $Res Function(_$DisposeSearchIndividualEvent) then) = - __$$DisposeSearchIndividualEventCopyWithImpl<$Res>; +abstract class _$$DisposeSearchIndividualEventImplCopyWith<$Res> { + factory _$$DisposeSearchIndividualEventImplCopyWith( + _$DisposeSearchIndividualEventImpl value, + $Res Function(_$DisposeSearchIndividualEventImpl) then) = + __$$DisposeSearchIndividualEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$DisposeSearchIndividualEventCopyWithImpl<$Res> +class __$$DisposeSearchIndividualEventImplCopyWithImpl<$Res> extends _$IndividualSearchEventCopyWithImpl<$Res, - _$DisposeSearchIndividualEvent> - implements _$$DisposeSearchIndividualEventCopyWith<$Res> { - __$$DisposeSearchIndividualEventCopyWithImpl( - _$DisposeSearchIndividualEvent _value, - $Res Function(_$DisposeSearchIndividualEvent) _then) + _$DisposeSearchIndividualEventImpl> + implements _$$DisposeSearchIndividualEventImplCopyWith<$Res> { + __$$DisposeSearchIndividualEventImplCopyWithImpl( + _$DisposeSearchIndividualEventImpl _value, + $Res Function(_$DisposeSearchIndividualEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$DisposeSearchIndividualEvent +class _$DisposeSearchIndividualEventImpl with DiagnosticableTreeMixin implements DisposeSearchIndividualEvent { - const _$DisposeSearchIndividualEvent(); + const _$DisposeSearchIndividualEventImpl(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -644,10 +651,10 @@ class _$DisposeSearchIndividualEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$DisposeSearchIndividualEvent); + other is _$DisposeSearchIndividualEventImpl); } @override @@ -729,7 +736,8 @@ class _$DisposeSearchIndividualEvent } abstract class DisposeSearchIndividualEvent implements IndividualSearchEvent { - const factory DisposeSearchIndividualEvent() = _$DisposeSearchIndividualEvent; + const factory DisposeSearchIndividualEvent() = + _$DisposeSearchIndividualEventImpl; } /// @nodoc @@ -806,24 +814,25 @@ class _$IndividualSearchStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$IndividualSearchStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$IndividualSearchStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -838,9 +847,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -922,29 +931,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends IndividualSearchState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$IndividualSearchStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$IndividualSearchStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -959,9 +969,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -1043,23 +1053,25 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends IndividualSearchState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({IndividualListModel? individualListModel}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$IndividualSearchStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$IndividualSearchStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1067,7 +1079,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? individualListModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == individualListModel ? _value.individualListModel : individualListModel // ignore: cast_nullable_to_non_nullable @@ -1078,8 +1090,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.individualListModel) : super._(); +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + const _$LoadedImpl(this.individualListModel) : super._(); @override final IndividualListModel? individualListModel; @@ -1098,10 +1110,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.individualListModel, individualListModel) || other.individualListModel == individualListModel)); } @@ -1112,8 +1124,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -1192,28 +1204,30 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { abstract class _Loaded extends IndividualSearchState { const factory _Loaded(final IndividualListModel? individualListModel) = - _$_Loaded; + _$LoadedImpl; const _Loaded._() : super._(); IndividualListModel? get individualListModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$IndividualSearchStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$IndividualSearchStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1221,7 +1235,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -1232,8 +1246,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -1252,10 +1266,10 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -1265,8 +1279,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -1344,11 +1358,11 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends IndividualSearchState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/attendance/individual_wms_search.dart b/frontend/works_shg_app/lib/blocs/attendance/individual_wms_search.dart index 61df8999c6..1141f814a0 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/individual_wms_search.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/individual_wms_search.dart @@ -51,7 +51,7 @@ class IndividualWMSSearchBloc // } // }); // emit(IndividualWMSSearchState.loaded(individualListModel)); - // } on DioError catch (e) { + // } on DioException catch (e) { // emit(IndividualWMSSearchState.error( // e.response?.data['Errors'][0]['code'])); // } @@ -83,7 +83,7 @@ class IndividualWMSSearchBloc } }); emit(IndividualWMSSearchState.loaded(individualListModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(IndividualWMSSearchState.error( e.response?.data['Errors'][0]['code'])); } @@ -115,7 +115,7 @@ class IndividualWMSSearchBloc } }); emit(IndividualWMSSearchState.loaded(individualListModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(IndividualWMSSearchState.error( e.response?.data['Errors'][0]['code'])); } diff --git a/frontend/works_shg_app/lib/blocs/attendance/individual_wms_search.freezed.dart b/frontend/works_shg_app/lib/blocs/attendance/individual_wms_search.freezed.dart index 56c196b30a..b2d5dc5618 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/individual_wms_search.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/individual_wms_search.freezed.dart @@ -12,7 +12,7 @@ part of 'individual_wms_search.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$IndividualWMSSearchEvent { @@ -82,23 +82,23 @@ class _$IndividualWMSSearchEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$SearchWMSIndividualNameEventCopyWith<$Res> { - factory _$$SearchWMSIndividualNameEventCopyWith( - _$SearchWMSIndividualNameEvent value, - $Res Function(_$SearchWMSIndividualNameEvent) then) = - __$$SearchWMSIndividualNameEventCopyWithImpl<$Res>; +abstract class _$$SearchWMSIndividualNameEventImplCopyWith<$Res> { + factory _$$SearchWMSIndividualNameEventImplCopyWith( + _$SearchWMSIndividualNameEventImpl value, + $Res Function(_$SearchWMSIndividualNameEventImpl) then) = + __$$SearchWMSIndividualNameEventImplCopyWithImpl<$Res>; @useResult $Res call({String tenant, String name}); } /// @nodoc -class __$$SearchWMSIndividualNameEventCopyWithImpl<$Res> +class __$$SearchWMSIndividualNameEventImplCopyWithImpl<$Res> extends _$IndividualWMSSearchEventCopyWithImpl<$Res, - _$SearchWMSIndividualNameEvent> - implements _$$SearchWMSIndividualNameEventCopyWith<$Res> { - __$$SearchWMSIndividualNameEventCopyWithImpl( - _$SearchWMSIndividualNameEvent _value, - $Res Function(_$SearchWMSIndividualNameEvent) _then) + _$SearchWMSIndividualNameEventImpl> + implements _$$SearchWMSIndividualNameEventImplCopyWith<$Res> { + __$$SearchWMSIndividualNameEventImplCopyWithImpl( + _$SearchWMSIndividualNameEventImpl _value, + $Res Function(_$SearchWMSIndividualNameEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -107,7 +107,7 @@ class __$$SearchWMSIndividualNameEventCopyWithImpl<$Res> Object? tenant = null, Object? name = null, }) { - return _then(_$SearchWMSIndividualNameEvent( + return _then(_$SearchWMSIndividualNameEventImpl( tenant: null == tenant ? _value.tenant : tenant // ignore: cast_nullable_to_non_nullable @@ -122,10 +122,10 @@ class __$$SearchWMSIndividualNameEventCopyWithImpl<$Res> /// @nodoc -class _$SearchWMSIndividualNameEvent +class _$SearchWMSIndividualNameEventImpl with DiagnosticableTreeMixin implements SearchWMSIndividualNameEvent { - const _$SearchWMSIndividualNameEvent( + const _$SearchWMSIndividualNameEventImpl( {required this.tenant, required this.name}); @override @@ -148,10 +148,10 @@ class _$SearchWMSIndividualNameEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$SearchWMSIndividualNameEvent && + other is _$SearchWMSIndividualNameEventImpl && (identical(other.tenant, tenant) || other.tenant == tenant) && (identical(other.name, name) || other.name == name)); } @@ -162,9 +162,10 @@ class _$SearchWMSIndividualNameEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$SearchWMSIndividualNameEventCopyWith<_$SearchWMSIndividualNameEvent> - get copyWith => __$$SearchWMSIndividualNameEventCopyWithImpl< - _$SearchWMSIndividualNameEvent>(this, _$identity); + _$$SearchWMSIndividualNameEventImplCopyWith< + _$SearchWMSIndividualNameEventImpl> + get copyWith => __$$SearchWMSIndividualNameEventImplCopyWithImpl< + _$SearchWMSIndividualNameEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -239,33 +240,34 @@ abstract class SearchWMSIndividualNameEvent implements IndividualWMSSearchEvent { const factory SearchWMSIndividualNameEvent( {required final String tenant, - required final String name}) = _$SearchWMSIndividualNameEvent; + required final String name}) = _$SearchWMSIndividualNameEventImpl; String get tenant; String get name; @JsonKey(ignore: true) - _$$SearchWMSIndividualNameEventCopyWith<_$SearchWMSIndividualNameEvent> + _$$SearchWMSIndividualNameEventImplCopyWith< + _$SearchWMSIndividualNameEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$SearchWMSIndividualIdEventCopyWith<$Res> { - factory _$$SearchWMSIndividualIdEventCopyWith( - _$SearchWMSIndividualIdEvent value, - $Res Function(_$SearchWMSIndividualIdEvent) then) = - __$$SearchWMSIndividualIdEventCopyWithImpl<$Res>; +abstract class _$$SearchWMSIndividualIdEventImplCopyWith<$Res> { + factory _$$SearchWMSIndividualIdEventImplCopyWith( + _$SearchWMSIndividualIdEventImpl value, + $Res Function(_$SearchWMSIndividualIdEventImpl) then) = + __$$SearchWMSIndividualIdEventImplCopyWithImpl<$Res>; @useResult $Res call({String tenant, List? ids}); } /// @nodoc -class __$$SearchWMSIndividualIdEventCopyWithImpl<$Res> +class __$$SearchWMSIndividualIdEventImplCopyWithImpl<$Res> extends _$IndividualWMSSearchEventCopyWithImpl<$Res, - _$SearchWMSIndividualIdEvent> - implements _$$SearchWMSIndividualIdEventCopyWith<$Res> { - __$$SearchWMSIndividualIdEventCopyWithImpl( - _$SearchWMSIndividualIdEvent _value, - $Res Function(_$SearchWMSIndividualIdEvent) _then) + _$SearchWMSIndividualIdEventImpl> + implements _$$SearchWMSIndividualIdEventImplCopyWith<$Res> { + __$$SearchWMSIndividualIdEventImplCopyWithImpl( + _$SearchWMSIndividualIdEventImpl _value, + $Res Function(_$SearchWMSIndividualIdEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -274,7 +276,7 @@ class __$$SearchWMSIndividualIdEventCopyWithImpl<$Res> Object? tenant = null, Object? ids = freezed, }) { - return _then(_$SearchWMSIndividualIdEvent( + return _then(_$SearchWMSIndividualIdEventImpl( tenant: null == tenant ? _value.tenant : tenant // ignore: cast_nullable_to_non_nullable @@ -289,10 +291,10 @@ class __$$SearchWMSIndividualIdEventCopyWithImpl<$Res> /// @nodoc -class _$SearchWMSIndividualIdEvent +class _$SearchWMSIndividualIdEventImpl with DiagnosticableTreeMixin implements SearchWMSIndividualIdEvent { - const _$SearchWMSIndividualIdEvent( + const _$SearchWMSIndividualIdEventImpl( {required this.tenant, final List? ids}) : _ids = ids; @@ -323,10 +325,10 @@ class _$SearchWMSIndividualIdEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$SearchWMSIndividualIdEvent && + other is _$SearchWMSIndividualIdEventImpl && (identical(other.tenant, tenant) || other.tenant == tenant) && const DeepCollectionEquality().equals(other._ids, _ids)); } @@ -338,9 +340,9 @@ class _$SearchWMSIndividualIdEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$SearchWMSIndividualIdEventCopyWith<_$SearchWMSIndividualIdEvent> - get copyWith => __$$SearchWMSIndividualIdEventCopyWithImpl< - _$SearchWMSIndividualIdEvent>(this, _$identity); + _$$SearchWMSIndividualIdEventImplCopyWith<_$SearchWMSIndividualIdEventImpl> + get copyWith => __$$SearchWMSIndividualIdEventImplCopyWithImpl< + _$SearchWMSIndividualIdEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -414,40 +416,40 @@ class _$SearchWMSIndividualIdEvent abstract class SearchWMSIndividualIdEvent implements IndividualWMSSearchEvent { const factory SearchWMSIndividualIdEvent( {required final String tenant, - final List? ids}) = _$SearchWMSIndividualIdEvent; + final List? ids}) = _$SearchWMSIndividualIdEventImpl; String get tenant; List? get ids; @JsonKey(ignore: true) - _$$SearchWMSIndividualIdEventCopyWith<_$SearchWMSIndividualIdEvent> + _$$SearchWMSIndividualIdEventImplCopyWith<_$SearchWMSIndividualIdEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$DisposeSearchWMSIndividualEventCopyWith<$Res> { - factory _$$DisposeSearchWMSIndividualEventCopyWith( - _$DisposeSearchWMSIndividualEvent value, - $Res Function(_$DisposeSearchWMSIndividualEvent) then) = - __$$DisposeSearchWMSIndividualEventCopyWithImpl<$Res>; +abstract class _$$DisposeSearchWMSIndividualEventImplCopyWith<$Res> { + factory _$$DisposeSearchWMSIndividualEventImplCopyWith( + _$DisposeSearchWMSIndividualEventImpl value, + $Res Function(_$DisposeSearchWMSIndividualEventImpl) then) = + __$$DisposeSearchWMSIndividualEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$DisposeSearchWMSIndividualEventCopyWithImpl<$Res> +class __$$DisposeSearchWMSIndividualEventImplCopyWithImpl<$Res> extends _$IndividualWMSSearchEventCopyWithImpl<$Res, - _$DisposeSearchWMSIndividualEvent> - implements _$$DisposeSearchWMSIndividualEventCopyWith<$Res> { - __$$DisposeSearchWMSIndividualEventCopyWithImpl( - _$DisposeSearchWMSIndividualEvent _value, - $Res Function(_$DisposeSearchWMSIndividualEvent) _then) + _$DisposeSearchWMSIndividualEventImpl> + implements _$$DisposeSearchWMSIndividualEventImplCopyWith<$Res> { + __$$DisposeSearchWMSIndividualEventImplCopyWithImpl( + _$DisposeSearchWMSIndividualEventImpl _value, + $Res Function(_$DisposeSearchWMSIndividualEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$DisposeSearchWMSIndividualEvent +class _$DisposeSearchWMSIndividualEventImpl with DiagnosticableTreeMixin implements DisposeSearchWMSIndividualEvent { - const _$DisposeSearchWMSIndividualEvent(); + const _$DisposeSearchWMSIndividualEventImpl(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -462,10 +464,10 @@ class _$DisposeSearchWMSIndividualEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$DisposeSearchWMSIndividualEvent); + other is _$DisposeSearchWMSIndividualEventImpl); } @override @@ -543,7 +545,7 @@ class _$DisposeSearchWMSIndividualEvent abstract class DisposeSearchWMSIndividualEvent implements IndividualWMSSearchEvent { const factory DisposeSearchWMSIndividualEvent() = - _$DisposeSearchWMSIndividualEvent; + _$DisposeSearchWMSIndividualEventImpl; } /// @nodoc @@ -621,24 +623,25 @@ class _$IndividualWMSSearchStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$IndividualWMSSearchStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$IndividualWMSSearchStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -653,9 +656,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -738,29 +741,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends IndividualWMSSearchState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$IndividualWMSSearchStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$IndividualWMSSearchStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -775,9 +779,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -860,23 +864,25 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends IndividualWMSSearchState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({WMSIndividualListModel? individualListModel}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$IndividualWMSSearchStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$IndividualWMSSearchStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -884,7 +890,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? individualListModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == individualListModel ? _value.individualListModel : individualListModel // ignore: cast_nullable_to_non_nullable @@ -895,8 +901,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.individualListModel) : super._(); +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + const _$LoadedImpl(this.individualListModel) : super._(); @override final WMSIndividualListModel? individualListModel; @@ -915,10 +921,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.individualListModel, individualListModel) || other.individualListModel == individualListModel)); } @@ -929,8 +935,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -1010,28 +1016,30 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { abstract class _Loaded extends IndividualWMSSearchState { const factory _Loaded(final WMSIndividualListModel? individualListModel) = - _$_Loaded; + _$LoadedImpl; const _Loaded._() : super._(); WMSIndividualListModel? get individualListModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$IndividualWMSSearchStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$IndividualWMSSearchStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1039,7 +1047,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -1050,8 +1058,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -1070,10 +1078,10 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -1083,8 +1091,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -1163,11 +1171,11 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends IndividualWMSSearchState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/attendance/muster_submission_mdms.dart b/frontend/works_shg_app/lib/blocs/attendance/muster_submission_mdms.dart index bbb25d3fb2..e1177fbd59 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/muster_submission_mdms.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/muster_submission_mdms.dart @@ -53,7 +53,7 @@ class MusterSubmissionBloc } else { emit(const MusterSubmissionState.loaded(false)); } - } on DioError catch (e) { + } on DioException catch (e) { emit(MusterSubmissionState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/attendance/muster_submission_mdms.freezed.dart b/frontend/works_shg_app/lib/blocs/attendance/muster_submission_mdms.freezed.dart index 6591f77e5c..95db4b4fd8 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/muster_submission_mdms.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/muster_submission_mdms.freezed.dart @@ -12,7 +12,7 @@ part of 'muster_submission_mdms.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$MusterSubmissionMDMSEvent { @@ -71,26 +71,27 @@ class _$MusterSubmissionMDMSEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$MusterSubmissionEventCopyWith<$Res> { - factory _$$MusterSubmissionEventCopyWith(_$MusterSubmissionEvent value, - $Res Function(_$MusterSubmissionEvent) then) = - __$$MusterSubmissionEventCopyWithImpl<$Res>; +abstract class _$$MusterSubmissionEventImplCopyWith<$Res> { + factory _$$MusterSubmissionEventImplCopyWith( + _$MusterSubmissionEventImpl value, + $Res Function(_$MusterSubmissionEventImpl) then) = + __$$MusterSubmissionEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$MusterSubmissionEventCopyWithImpl<$Res> +class __$$MusterSubmissionEventImplCopyWithImpl<$Res> extends _$MusterSubmissionMDMSEventCopyWithImpl<$Res, - _$MusterSubmissionEvent> - implements _$$MusterSubmissionEventCopyWith<$Res> { - __$$MusterSubmissionEventCopyWithImpl(_$MusterSubmissionEvent _value, - $Res Function(_$MusterSubmissionEvent) _then) + _$MusterSubmissionEventImpl> + implements _$$MusterSubmissionEventImplCopyWith<$Res> { + __$$MusterSubmissionEventImplCopyWithImpl(_$MusterSubmissionEventImpl _value, + $Res Function(_$MusterSubmissionEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$MusterSubmissionEvent implements MusterSubmissionEvent { - const _$MusterSubmissionEvent(); +class _$MusterSubmissionEventImpl implements MusterSubmissionEvent { + const _$MusterSubmissionEventImpl(); @override String toString() { @@ -98,9 +99,10 @@ class _$MusterSubmissionEvent implements MusterSubmissionEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$MusterSubmissionEvent); + (other.runtimeType == runtimeType && + other is _$MusterSubmissionEventImpl); } @override @@ -165,7 +167,7 @@ class _$MusterSubmissionEvent implements MusterSubmissionEvent { } abstract class MusterSubmissionEvent implements MusterSubmissionMDMSEvent { - const factory MusterSubmissionEvent() = _$MusterSubmissionEvent; + const factory MusterSubmissionEvent() = _$MusterSubmissionEventImpl; } /// @nodoc @@ -242,24 +244,25 @@ class _$MusterSubmissionStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$MusterSubmissionStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$MusterSubmissionStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -267,9 +270,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -351,29 +354,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends MusterSubmissionState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$MusterSubmissionStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$MusterSubmissionStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -381,9 +385,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -465,23 +469,25 @@ class _$_Loading extends _Loading { } abstract class _Loading extends MusterSubmissionState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({bool endOfWeek}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$MusterSubmissionStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$MusterSubmissionStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -489,7 +495,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? endOfWeek = null, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( null == endOfWeek ? _value.endOfWeek : endOfWeek // ignore: cast_nullable_to_non_nullable @@ -500,8 +506,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.endOfWeek) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.endOfWeek) : super._(); @override final bool endOfWeek; @@ -512,10 +518,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.endOfWeek, endOfWeek) || other.endOfWeek == endOfWeek)); } @@ -526,8 +532,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -605,28 +611,30 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends MusterSubmissionState { - const factory _Loaded(final bool endOfWeek) = _$_Loaded; + const factory _Loaded(final bool endOfWeek) = _$LoadedImpl; const _Loaded._() : super._(); bool get endOfWeek; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$MusterSubmissionStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$MusterSubmissionStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -634,7 +642,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -645,8 +653,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -657,10 +665,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -670,8 +678,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -749,11 +757,11 @@ class _$_Error extends _Error { } abstract class _Error extends MusterSubmissionState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/attendance/search_projects/search_individual_project.dart b/frontend/works_shg_app/lib/blocs/attendance/search_projects/search_individual_project.dart index c2ba34ebf0..274220d90c 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/search_projects/search_individual_project.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/search_projects/search_individual_project.dart @@ -55,7 +55,7 @@ class AttendanceIndividualProjectSearchBloc extends Bloc< emit(AttendanceIndividualProjectSearchState.loaded( attendanceRegistersModel)); } - } on DioError catch (e) { + } on DioException catch (e) { emit(AttendanceIndividualProjectSearchState.error( e.response?.data['Errors'][0]['code'])); } @@ -85,7 +85,7 @@ class AttendanceIndividualProjectSearchBloc extends Bloc< emit(AttendanceIndividualProjectSearchState.loaded( attendanceRegistersModel)); } - } on DioError catch (e) { + } on DioException catch (e) { emit(AttendanceIndividualProjectSearchState.error( e.response?.data['Errors'][0]['code'])); } diff --git a/frontend/works_shg_app/lib/blocs/attendance/search_projects/search_individual_project.freezed.dart b/frontend/works_shg_app/lib/blocs/attendance/search_projects/search_individual_project.freezed.dart index 5e1107f09d..2a53f4b4f1 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/search_projects/search_individual_project.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/search_projects/search_individual_project.freezed.dart @@ -12,7 +12,7 @@ part of 'search_individual_project.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$AttendanceIndividualProjectSearchEvent { @@ -94,23 +94,23 @@ class _$AttendanceIndividualProjectSearchEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$SearchIndividualAttendanceProjectEventCopyWith<$Res> { - factory _$$SearchIndividualAttendanceProjectEventCopyWith( - _$SearchIndividualAttendanceProjectEvent value, - $Res Function(_$SearchIndividualAttendanceProjectEvent) then) = - __$$SearchIndividualAttendanceProjectEventCopyWithImpl<$Res>; +abstract class _$$SearchIndividualAttendanceProjectEventImplCopyWith<$Res> { + factory _$$SearchIndividualAttendanceProjectEventImplCopyWith( + _$SearchIndividualAttendanceProjectEventImpl value, + $Res Function(_$SearchIndividualAttendanceProjectEventImpl) then) = + __$$SearchIndividualAttendanceProjectEventImplCopyWithImpl<$Res>; @useResult $Res call({String id, String tenantId}); } /// @nodoc -class __$$SearchIndividualAttendanceProjectEventCopyWithImpl<$Res> +class __$$SearchIndividualAttendanceProjectEventImplCopyWithImpl<$Res> extends _$AttendanceIndividualProjectSearchEventCopyWithImpl<$Res, - _$SearchIndividualAttendanceProjectEvent> - implements _$$SearchIndividualAttendanceProjectEventCopyWith<$Res> { - __$$SearchIndividualAttendanceProjectEventCopyWithImpl( - _$SearchIndividualAttendanceProjectEvent _value, - $Res Function(_$SearchIndividualAttendanceProjectEvent) _then) + _$SearchIndividualAttendanceProjectEventImpl> + implements _$$SearchIndividualAttendanceProjectEventImplCopyWith<$Res> { + __$$SearchIndividualAttendanceProjectEventImplCopyWithImpl( + _$SearchIndividualAttendanceProjectEventImpl _value, + $Res Function(_$SearchIndividualAttendanceProjectEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -119,7 +119,7 @@ class __$$SearchIndividualAttendanceProjectEventCopyWithImpl<$Res> Object? id = null, Object? tenantId = null, }) { - return _then(_$SearchIndividualAttendanceProjectEvent( + return _then(_$SearchIndividualAttendanceProjectEventImpl( id: null == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -134,10 +134,10 @@ class __$$SearchIndividualAttendanceProjectEventCopyWithImpl<$Res> /// @nodoc -class _$SearchIndividualAttendanceProjectEvent +class _$SearchIndividualAttendanceProjectEventImpl with DiagnosticableTreeMixin implements SearchIndividualAttendanceProjectEvent { - const _$SearchIndividualAttendanceProjectEvent( + const _$SearchIndividualAttendanceProjectEventImpl( {this.id = '', this.tenantId = ''}); @override @@ -163,10 +163,10 @@ class _$SearchIndividualAttendanceProjectEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$SearchIndividualAttendanceProjectEvent && + other is _$SearchIndividualAttendanceProjectEventImpl && (identical(other.id, id) || other.id == id) && (identical(other.tenantId, tenantId) || other.tenantId == tenantId)); @@ -178,10 +178,11 @@ class _$SearchIndividualAttendanceProjectEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$SearchIndividualAttendanceProjectEventCopyWith< - _$SearchIndividualAttendanceProjectEvent> - get copyWith => __$$SearchIndividualAttendanceProjectEventCopyWithImpl< - _$SearchIndividualAttendanceProjectEvent>(this, _$identity); + _$$SearchIndividualAttendanceProjectEventImplCopyWith< + _$SearchIndividualAttendanceProjectEventImpl> + get copyWith => + __$$SearchIndividualAttendanceProjectEventImplCopyWithImpl< + _$SearchIndividualAttendanceProjectEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -266,34 +267,34 @@ abstract class SearchIndividualAttendanceProjectEvent implements AttendanceIndividualProjectSearchEvent { const factory SearchIndividualAttendanceProjectEvent( {final String id, - final String tenantId}) = _$SearchIndividualAttendanceProjectEvent; + final String tenantId}) = _$SearchIndividualAttendanceProjectEventImpl; String get id; String get tenantId; @JsonKey(ignore: true) - _$$SearchIndividualAttendanceProjectEventCopyWith< - _$SearchIndividualAttendanceProjectEvent> + _$$SearchIndividualAttendanceProjectEventImplCopyWith< + _$SearchIndividualAttendanceProjectEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$SearchIndividualAttendanceRegisterEventCopyWith<$Res> { - factory _$$SearchIndividualAttendanceRegisterEventCopyWith( - _$SearchIndividualAttendanceRegisterEvent value, - $Res Function(_$SearchIndividualAttendanceRegisterEvent) then) = - __$$SearchIndividualAttendanceRegisterEventCopyWithImpl<$Res>; +abstract class _$$SearchIndividualAttendanceRegisterEventImplCopyWith<$Res> { + factory _$$SearchIndividualAttendanceRegisterEventImplCopyWith( + _$SearchIndividualAttendanceRegisterEventImpl value, + $Res Function(_$SearchIndividualAttendanceRegisterEventImpl) then) = + __$$SearchIndividualAttendanceRegisterEventImplCopyWithImpl<$Res>; @useResult $Res call({String registerNumber, String tenantId}); } /// @nodoc -class __$$SearchIndividualAttendanceRegisterEventCopyWithImpl<$Res> +class __$$SearchIndividualAttendanceRegisterEventImplCopyWithImpl<$Res> extends _$AttendanceIndividualProjectSearchEventCopyWithImpl<$Res, - _$SearchIndividualAttendanceRegisterEvent> - implements _$$SearchIndividualAttendanceRegisterEventCopyWith<$Res> { - __$$SearchIndividualAttendanceRegisterEventCopyWithImpl( - _$SearchIndividualAttendanceRegisterEvent _value, - $Res Function(_$SearchIndividualAttendanceRegisterEvent) _then) + _$SearchIndividualAttendanceRegisterEventImpl> + implements _$$SearchIndividualAttendanceRegisterEventImplCopyWith<$Res> { + __$$SearchIndividualAttendanceRegisterEventImplCopyWithImpl( + _$SearchIndividualAttendanceRegisterEventImpl _value, + $Res Function(_$SearchIndividualAttendanceRegisterEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -302,7 +303,7 @@ class __$$SearchIndividualAttendanceRegisterEventCopyWithImpl<$Res> Object? registerNumber = null, Object? tenantId = null, }) { - return _then(_$SearchIndividualAttendanceRegisterEvent( + return _then(_$SearchIndividualAttendanceRegisterEventImpl( registerNumber: null == registerNumber ? _value.registerNumber : registerNumber // ignore: cast_nullable_to_non_nullable @@ -317,10 +318,10 @@ class __$$SearchIndividualAttendanceRegisterEventCopyWithImpl<$Res> /// @nodoc -class _$SearchIndividualAttendanceRegisterEvent +class _$SearchIndividualAttendanceRegisterEventImpl with DiagnosticableTreeMixin implements SearchIndividualAttendanceRegisterEvent { - const _$SearchIndividualAttendanceRegisterEvent( + const _$SearchIndividualAttendanceRegisterEventImpl( {this.registerNumber = '', this.tenantId = ''}); @override @@ -346,10 +347,10 @@ class _$SearchIndividualAttendanceRegisterEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$SearchIndividualAttendanceRegisterEvent && + other is _$SearchIndividualAttendanceRegisterEventImpl && (identical(other.registerNumber, registerNumber) || other.registerNumber == registerNumber) && (identical(other.tenantId, tenantId) || @@ -362,10 +363,11 @@ class _$SearchIndividualAttendanceRegisterEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$SearchIndividualAttendanceRegisterEventCopyWith< - _$SearchIndividualAttendanceRegisterEvent> - get copyWith => __$$SearchIndividualAttendanceRegisterEventCopyWithImpl< - _$SearchIndividualAttendanceRegisterEvent>(this, _$identity); + _$$SearchIndividualAttendanceRegisterEventImplCopyWith< + _$SearchIndividualAttendanceRegisterEventImpl> + get copyWith => + __$$SearchIndividualAttendanceRegisterEventImplCopyWithImpl< + _$SearchIndividualAttendanceRegisterEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -450,41 +452,41 @@ abstract class SearchIndividualAttendanceRegisterEvent implements AttendanceIndividualProjectSearchEvent { const factory SearchIndividualAttendanceRegisterEvent( {final String registerNumber, - final String tenantId}) = _$SearchIndividualAttendanceRegisterEvent; + final String tenantId}) = _$SearchIndividualAttendanceRegisterEventImpl; String get registerNumber; String get tenantId; @JsonKey(ignore: true) - _$$SearchIndividualAttendanceRegisterEventCopyWith< - _$SearchIndividualAttendanceRegisterEvent> + _$$SearchIndividualAttendanceRegisterEventImplCopyWith< + _$SearchIndividualAttendanceRegisterEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$DisposeIndividualAttendanceRegisterEventCopyWith<$Res> { - factory _$$DisposeIndividualAttendanceRegisterEventCopyWith( - _$DisposeIndividualAttendanceRegisterEvent value, - $Res Function(_$DisposeIndividualAttendanceRegisterEvent) then) = - __$$DisposeIndividualAttendanceRegisterEventCopyWithImpl<$Res>; +abstract class _$$DisposeIndividualAttendanceRegisterEventImplCopyWith<$Res> { + factory _$$DisposeIndividualAttendanceRegisterEventImplCopyWith( + _$DisposeIndividualAttendanceRegisterEventImpl value, + $Res Function(_$DisposeIndividualAttendanceRegisterEventImpl) then) = + __$$DisposeIndividualAttendanceRegisterEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$DisposeIndividualAttendanceRegisterEventCopyWithImpl<$Res> +class __$$DisposeIndividualAttendanceRegisterEventImplCopyWithImpl<$Res> extends _$AttendanceIndividualProjectSearchEventCopyWithImpl<$Res, - _$DisposeIndividualAttendanceRegisterEvent> - implements _$$DisposeIndividualAttendanceRegisterEventCopyWith<$Res> { - __$$DisposeIndividualAttendanceRegisterEventCopyWithImpl( - _$DisposeIndividualAttendanceRegisterEvent _value, - $Res Function(_$DisposeIndividualAttendanceRegisterEvent) _then) + _$DisposeIndividualAttendanceRegisterEventImpl> + implements _$$DisposeIndividualAttendanceRegisterEventImplCopyWith<$Res> { + __$$DisposeIndividualAttendanceRegisterEventImplCopyWithImpl( + _$DisposeIndividualAttendanceRegisterEventImpl _value, + $Res Function(_$DisposeIndividualAttendanceRegisterEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$DisposeIndividualAttendanceRegisterEvent +class _$DisposeIndividualAttendanceRegisterEventImpl with DiagnosticableTreeMixin implements DisposeIndividualAttendanceRegisterEvent { - const _$DisposeIndividualAttendanceRegisterEvent(); + const _$DisposeIndividualAttendanceRegisterEventImpl(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -499,10 +501,10 @@ class _$DisposeIndividualAttendanceRegisterEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$DisposeIndividualAttendanceRegisterEvent); + other is _$DisposeIndividualAttendanceRegisterEventImpl); } @override @@ -590,7 +592,7 @@ class _$DisposeIndividualAttendanceRegisterEvent abstract class DisposeIndividualAttendanceRegisterEvent implements AttendanceIndividualProjectSearchEvent { const factory DisposeIndividualAttendanceRegisterEvent() = - _$DisposeIndividualAttendanceRegisterEvent; + _$DisposeIndividualAttendanceRegisterEventImpl; } /// @nodoc @@ -675,24 +677,25 @@ class _$AttendanceIndividualProjectSearchStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> +class __$$InitialImplCopyWithImpl<$Res> extends _$AttendanceIndividualProjectSearchStateCopyWithImpl<$Res, - _$_Initial> implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) + _$InitialImpl> implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -707,9 +710,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -797,29 +800,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends AttendanceIndividualProjectSearchState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> +class __$$LoadingImplCopyWithImpl<$Res> extends _$AttendanceIndividualProjectSearchStateCopyWithImpl<$Res, - _$_Loading> implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) + _$LoadingImpl> implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -834,9 +838,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -924,15 +928,15 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends AttendanceIndividualProjectSearchState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_IndividualLoadedCopyWith<$Res> { - factory _$$_IndividualLoadedCopyWith( - _$_IndividualLoaded value, $Res Function(_$_IndividualLoaded) then) = - __$$_IndividualLoadedCopyWithImpl<$Res>; +abstract class _$$IndividualLoadedImplCopyWith<$Res> { + factory _$$IndividualLoadedImplCopyWith(_$IndividualLoadedImpl value, + $Res Function(_$IndividualLoadedImpl) then) = + __$$IndividualLoadedImplCopyWithImpl<$Res>; @useResult $Res call({AttendanceRegistersModel? individualAttendanceRegisterModel}); @@ -941,11 +945,12 @@ abstract class _$$_IndividualLoadedCopyWith<$Res> { } /// @nodoc -class __$$_IndividualLoadedCopyWithImpl<$Res> +class __$$IndividualLoadedImplCopyWithImpl<$Res> extends _$AttendanceIndividualProjectSearchStateCopyWithImpl<$Res, - _$_IndividualLoaded> implements _$$_IndividualLoadedCopyWith<$Res> { - __$$_IndividualLoadedCopyWithImpl( - _$_IndividualLoaded _value, $Res Function(_$_IndividualLoaded) _then) + _$IndividualLoadedImpl> + implements _$$IndividualLoadedImplCopyWith<$Res> { + __$$IndividualLoadedImplCopyWithImpl(_$IndividualLoadedImpl _value, + $Res Function(_$IndividualLoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -953,7 +958,7 @@ class __$$_IndividualLoadedCopyWithImpl<$Res> $Res call({ Object? individualAttendanceRegisterModel = freezed, }) { - return _then(_$_IndividualLoaded( + return _then(_$IndividualLoadedImpl( freezed == individualAttendanceRegisterModel ? _value.individualAttendanceRegisterModel : individualAttendanceRegisterModel // ignore: cast_nullable_to_non_nullable @@ -978,9 +983,10 @@ class __$$_IndividualLoadedCopyWithImpl<$Res> /// @nodoc -class _$_IndividualLoaded extends _IndividualLoaded +class _$IndividualLoadedImpl extends _IndividualLoaded with DiagnosticableTreeMixin { - const _$_IndividualLoaded(this.individualAttendanceRegisterModel) : super._(); + const _$IndividualLoadedImpl(this.individualAttendanceRegisterModel) + : super._(); @override final AttendanceRegistersModel? individualAttendanceRegisterModel; @@ -1001,10 +1007,10 @@ class _$_IndividualLoaded extends _IndividualLoaded } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_IndividualLoaded && + other is _$IndividualLoadedImpl && (identical(other.individualAttendanceRegisterModel, individualAttendanceRegisterModel) || other.individualAttendanceRegisterModel == @@ -1018,8 +1024,9 @@ class _$_IndividualLoaded extends _IndividualLoaded @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_IndividualLoadedCopyWith<_$_IndividualLoaded> get copyWith => - __$$_IndividualLoadedCopyWithImpl<_$_IndividualLoaded>(this, _$identity); + _$$IndividualLoadedImplCopyWith<_$IndividualLoadedImpl> get copyWith => + __$$IndividualLoadedImplCopyWithImpl<_$IndividualLoadedImpl>( + this, _$identity); @override @optionalTypeArgs @@ -1106,28 +1113,30 @@ abstract class _IndividualLoaded extends AttendanceIndividualProjectSearchState { const factory _IndividualLoaded( final AttendanceRegistersModel? individualAttendanceRegisterModel) = - _$_IndividualLoaded; + _$IndividualLoadedImpl; const _IndividualLoaded._() : super._(); AttendanceRegistersModel? get individualAttendanceRegisterModel; @JsonKey(ignore: true) - _$$_IndividualLoadedCopyWith<_$_IndividualLoaded> get copyWith => + _$$IndividualLoadedImplCopyWith<_$IndividualLoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$AttendanceIndividualProjectSearchStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$AttendanceIndividualProjectSearchStateCopyWithImpl<$Res, + _$ErrorImpl> implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1135,7 +1144,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -1146,8 +1155,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -1167,10 +1176,10 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -1180,8 +1189,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -1265,11 +1274,11 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends AttendanceIndividualProjectSearchState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/attendance/search_projects/search_projects.dart b/frontend/works_shg_app/lib/blocs/attendance/search_projects/search_projects.dart index ca6438d548..e4d7e1caf3 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/search_projects/search_projects.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/search_projects/search_projects.dart @@ -50,7 +50,7 @@ class AttendanceProjectsSearchBloc ); await Future.delayed(const Duration(seconds: 1)); emit(AttendanceProjectsSearchState.loaded(attendanceRegistersModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(AttendanceProjectsSearchState.error( e.response?.data['Errors'][0]['code'])); } diff --git a/frontend/works_shg_app/lib/blocs/attendance/search_projects/search_projects.freezed.dart b/frontend/works_shg_app/lib/blocs/attendance/search_projects/search_projects.freezed.dart index 2f8dc3a942..7afef2c0d6 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/search_projects/search_projects.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/search_projects/search_projects.freezed.dart @@ -12,7 +12,7 @@ part of 'search_projects.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$AttendanceProjectsSearchEvent { @@ -78,23 +78,23 @@ class _$AttendanceProjectsSearchEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$SearchAttendanceProjectsEventCopyWith<$Res> { - factory _$$SearchAttendanceProjectsEventCopyWith( - _$SearchAttendanceProjectsEvent value, - $Res Function(_$SearchAttendanceProjectsEvent) then) = - __$$SearchAttendanceProjectsEventCopyWithImpl<$Res>; +abstract class _$$SearchAttendanceProjectsEventImplCopyWith<$Res> { + factory _$$SearchAttendanceProjectsEventImplCopyWith( + _$SearchAttendanceProjectsEventImpl value, + $Res Function(_$SearchAttendanceProjectsEventImpl) then) = + __$$SearchAttendanceProjectsEventImplCopyWithImpl<$Res>; @useResult $Res call({String id}); } /// @nodoc -class __$$SearchAttendanceProjectsEventCopyWithImpl<$Res> +class __$$SearchAttendanceProjectsEventImplCopyWithImpl<$Res> extends _$AttendanceProjectsSearchEventCopyWithImpl<$Res, - _$SearchAttendanceProjectsEvent> - implements _$$SearchAttendanceProjectsEventCopyWith<$Res> { - __$$SearchAttendanceProjectsEventCopyWithImpl( - _$SearchAttendanceProjectsEvent _value, - $Res Function(_$SearchAttendanceProjectsEvent) _then) + _$SearchAttendanceProjectsEventImpl> + implements _$$SearchAttendanceProjectsEventImplCopyWith<$Res> { + __$$SearchAttendanceProjectsEventImplCopyWithImpl( + _$SearchAttendanceProjectsEventImpl _value, + $Res Function(_$SearchAttendanceProjectsEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -102,7 +102,7 @@ class __$$SearchAttendanceProjectsEventCopyWithImpl<$Res> $Res call({ Object? id = null, }) { - return _then(_$SearchAttendanceProjectsEvent( + return _then(_$SearchAttendanceProjectsEventImpl( id: null == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -113,10 +113,10 @@ class __$$SearchAttendanceProjectsEventCopyWithImpl<$Res> /// @nodoc -class _$SearchAttendanceProjectsEvent +class _$SearchAttendanceProjectsEventImpl with DiagnosticableTreeMixin implements SearchAttendanceProjectsEvent { - const _$SearchAttendanceProjectsEvent({this.id = ''}); + const _$SearchAttendanceProjectsEventImpl({this.id = ''}); @override @JsonKey() @@ -136,10 +136,10 @@ class _$SearchAttendanceProjectsEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$SearchAttendanceProjectsEvent && + other is _$SearchAttendanceProjectsEventImpl && (identical(other.id, id) || other.id == id)); } @@ -149,9 +149,10 @@ class _$SearchAttendanceProjectsEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$SearchAttendanceProjectsEventCopyWith<_$SearchAttendanceProjectsEvent> - get copyWith => __$$SearchAttendanceProjectsEventCopyWithImpl< - _$SearchAttendanceProjectsEvent>(this, _$identity); + _$$SearchAttendanceProjectsEventImplCopyWith< + _$SearchAttendanceProjectsEventImpl> + get copyWith => __$$SearchAttendanceProjectsEventImplCopyWithImpl< + _$SearchAttendanceProjectsEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -219,39 +220,40 @@ class _$SearchAttendanceProjectsEvent abstract class SearchAttendanceProjectsEvent implements AttendanceProjectsSearchEvent { const factory SearchAttendanceProjectsEvent({final String id}) = - _$SearchAttendanceProjectsEvent; + _$SearchAttendanceProjectsEventImpl; String get id; @JsonKey(ignore: true) - _$$SearchAttendanceProjectsEventCopyWith<_$SearchAttendanceProjectsEvent> + _$$SearchAttendanceProjectsEventImplCopyWith< + _$SearchAttendanceProjectsEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$DisposeAttendanceRegisterEventCopyWith<$Res> { - factory _$$DisposeAttendanceRegisterEventCopyWith( - _$DisposeAttendanceRegisterEvent value, - $Res Function(_$DisposeAttendanceRegisterEvent) then) = - __$$DisposeAttendanceRegisterEventCopyWithImpl<$Res>; +abstract class _$$DisposeAttendanceRegisterEventImplCopyWith<$Res> { + factory _$$DisposeAttendanceRegisterEventImplCopyWith( + _$DisposeAttendanceRegisterEventImpl value, + $Res Function(_$DisposeAttendanceRegisterEventImpl) then) = + __$$DisposeAttendanceRegisterEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$DisposeAttendanceRegisterEventCopyWithImpl<$Res> +class __$$DisposeAttendanceRegisterEventImplCopyWithImpl<$Res> extends _$AttendanceProjectsSearchEventCopyWithImpl<$Res, - _$DisposeAttendanceRegisterEvent> - implements _$$DisposeAttendanceRegisterEventCopyWith<$Res> { - __$$DisposeAttendanceRegisterEventCopyWithImpl( - _$DisposeAttendanceRegisterEvent _value, - $Res Function(_$DisposeAttendanceRegisterEvent) _then) + _$DisposeAttendanceRegisterEventImpl> + implements _$$DisposeAttendanceRegisterEventImplCopyWith<$Res> { + __$$DisposeAttendanceRegisterEventImplCopyWithImpl( + _$DisposeAttendanceRegisterEventImpl _value, + $Res Function(_$DisposeAttendanceRegisterEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$DisposeAttendanceRegisterEvent +class _$DisposeAttendanceRegisterEventImpl with DiagnosticableTreeMixin implements DisposeAttendanceRegisterEvent { - const _$DisposeAttendanceRegisterEvent(); + const _$DisposeAttendanceRegisterEventImpl(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -266,10 +268,10 @@ class _$DisposeAttendanceRegisterEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$DisposeAttendanceRegisterEvent); + other is _$DisposeAttendanceRegisterEventImpl); } @override @@ -341,7 +343,7 @@ class _$DisposeAttendanceRegisterEvent abstract class DisposeAttendanceRegisterEvent implements AttendanceProjectsSearchEvent { const factory DisposeAttendanceRegisterEvent() = - _$DisposeAttendanceRegisterEvent; + _$DisposeAttendanceRegisterEventImpl; } /// @nodoc @@ -424,24 +426,25 @@ class _$AttendanceProjectsSearchStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$AttendanceProjectsSearchStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$AttendanceProjectsSearchStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -456,9 +459,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -544,29 +547,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends AttendanceProjectsSearchState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$AttendanceProjectsSearchStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$AttendanceProjectsSearchStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -581,9 +585,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -669,14 +673,15 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends AttendanceProjectsSearchState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({AttendanceRegistersModel? attendanceRegistersModel}); @@ -684,10 +689,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$AttendanceProjectsSearchStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$AttendanceProjectsSearchStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -695,7 +701,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? attendanceRegistersModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == attendanceRegistersModel ? _value.attendanceRegistersModel : attendanceRegistersModel // ignore: cast_nullable_to_non_nullable @@ -719,8 +725,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.attendanceRegistersModel) : super._(); +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + const _$LoadedImpl(this.attendanceRegistersModel) : super._(); @override final AttendanceRegistersModel? attendanceRegistersModel; @@ -740,10 +746,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical( other.attendanceRegistersModel, attendanceRegistersModel) || other.attendanceRegistersModel == attendanceRegistersModel)); @@ -755,8 +761,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -839,28 +845,30 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { abstract class _Loaded extends AttendanceProjectsSearchState { const factory _Loaded( - final AttendanceRegistersModel? attendanceRegistersModel) = _$_Loaded; + final AttendanceRegistersModel? attendanceRegistersModel) = _$LoadedImpl; const _Loaded._() : super._(); AttendanceRegistersModel? get attendanceRegistersModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$AttendanceProjectsSearchStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$AttendanceProjectsSearchStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -868,7 +876,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -879,8 +887,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -899,10 +907,10 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -912,8 +920,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -995,11 +1003,11 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends AttendanceProjectsSearchState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/attendance/skills/skills_bloc.dart b/frontend/works_shg_app/lib/blocs/attendance/skills/skills_bloc.dart index 1e3e048f48..c5e756c27b 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/skills/skills_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/skills/skills_bloc.dart @@ -43,7 +43,7 @@ class SkillsBloc extends Bloc { ]); emit(SkillsBlocState.loaded(result)); - } on DioError catch (e) { + } on DioException catch (e) { emit(SkillsBlocState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/attendance/skills/skills_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/attendance/skills/skills_bloc.freezed.dart index aa4aa2f953..7d110e52fd 100644 --- a/frontend/works_shg_app/lib/blocs/attendance/skills/skills_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/attendance/skills/skills_bloc.freezed.dart @@ -12,7 +12,7 @@ part of 'skills_bloc.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$SkillsBlocEvent { @@ -69,25 +69,25 @@ class _$SkillsBlocEventCopyWithImpl<$Res, $Val extends SkillsBlocEvent> } /// @nodoc -abstract class _$$SkillsEventCopyWith<$Res> { - factory _$$SkillsEventCopyWith( - _$SkillsEvent value, $Res Function(_$SkillsEvent) then) = - __$$SkillsEventCopyWithImpl<$Res>; +abstract class _$$SkillsEventImplCopyWith<$Res> { + factory _$$SkillsEventImplCopyWith( + _$SkillsEventImpl value, $Res Function(_$SkillsEventImpl) then) = + __$$SkillsEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$SkillsEventCopyWithImpl<$Res> - extends _$SkillsBlocEventCopyWithImpl<$Res, _$SkillsEvent> - implements _$$SkillsEventCopyWith<$Res> { - __$$SkillsEventCopyWithImpl( - _$SkillsEvent _value, $Res Function(_$SkillsEvent) _then) +class __$$SkillsEventImplCopyWithImpl<$Res> + extends _$SkillsBlocEventCopyWithImpl<$Res, _$SkillsEventImpl> + implements _$$SkillsEventImplCopyWith<$Res> { + __$$SkillsEventImplCopyWithImpl( + _$SkillsEventImpl _value, $Res Function(_$SkillsEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$SkillsEvent implements SkillsEvent { - const _$SkillsEvent(); +class _$SkillsEventImpl implements SkillsEvent { + const _$SkillsEventImpl(); @override String toString() { @@ -95,9 +95,9 @@ class _$SkillsEvent implements SkillsEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$SkillsEvent); + (other.runtimeType == runtimeType && other is _$SkillsEventImpl); } @override @@ -161,7 +161,7 @@ class _$SkillsEvent implements SkillsEvent { } abstract class SkillsEvent implements SkillsBlocEvent { - const factory SkillsEvent() = _$SkillsEvent; + const factory SkillsEvent() = _$SkillsEventImpl; } /// @nodoc @@ -237,24 +237,25 @@ class _$SkillsBlocStateCopyWithImpl<$Res, $Val extends SkillsBlocState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$SkillsBlocStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$SkillsBlocStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -262,9 +263,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -346,29 +347,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends SkillsBlocState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$SkillsBlocStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$SkillsBlocStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -376,9 +378,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -460,14 +462,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends SkillsBlocState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({SkillsList? skillsList}); @@ -475,10 +478,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$SkillsBlocStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$SkillsBlocStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -486,7 +490,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? skillsList = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == skillsList ? _value.skillsList : skillsList // ignore: cast_nullable_to_non_nullable @@ -509,8 +513,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.skillsList) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.skillsList) : super._(); @override final SkillsList? skillsList; @@ -521,10 +525,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.skillsList, skillsList) || other.skillsList == skillsList)); } @@ -535,8 +539,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -614,28 +618,30 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends SkillsBlocState { - const factory _Loaded(final SkillsList? skillsList) = _$_Loaded; + const factory _Loaded(final SkillsList? skillsList) = _$LoadedImpl; const _Loaded._() : super._(); SkillsList? get skillsList; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$SkillsBlocStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$SkillsBlocStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -643,7 +649,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -654,8 +660,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -666,10 +672,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -679,8 +685,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -758,11 +764,11 @@ class _$_Error extends _Error { } abstract class _Error extends SkillsBlocState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/auth/auth.dart b/frontend/works_shg_app/lib/blocs/auth/auth.dart index 401b54efc9..7ac35a6f83 100644 --- a/frontend/works_shg_app/lib/blocs/auth/auth.dart +++ b/frontend/works_shg_app/lib/blocs/auth/auth.dart @@ -59,26 +59,26 @@ class AuthBloc extends Bloc { jsonDecode(jsonEncode(userDetailsModel.userRequestModel)); GlobalVariables.roles= userDetailsModel.userRequestModel!.rolesModel!.map((e) => e.code!).toList(); if (kIsWeb) { - html.window.sessionStorage['accessToken' ?? ''] = + html.window.sessionStorage['accessToken'] = jsonEncode(userDetailsModel.access_token); - html.window.sessionStorage['userRequest' ?? ''] = + html.window.sessionStorage['userRequest'] = jsonEncode(userDetailsModel.userRequestModel); - html.window.sessionStorage['uuid' ?? ''] = + html.window.sessionStorage['uuid'] = jsonEncode(userDetailsModel.userRequestModel?.uuid); - html.window.sessionStorage['mobileNumber' ?? ''] = + html.window.sessionStorage['mobileNumber'] = jsonEncode(userDetailsModel.userRequestModel?.mobileNumber); } else { await storage.write( - key: 'accessToken' ?? '', + key: 'accessToken', value: jsonEncode(userDetailsModel.access_token)); await storage.write( - key: 'userRequest' ?? '', + key: 'userRequest', value: jsonEncode(userDetailsModel.userRequestModel)); await storage.write( - key: 'uuid' ?? '', + key: 'uuid', value: jsonEncode(userDetailsModel.userRequestModel?.uuid)); await storage.write( - key: 'mobileNumber' ?? '', + key: 'mobileNumber', value: jsonEncode(userDetailsModel.userRequestModel?.mobileNumber)); } if (userDetailsModel != null) { @@ -92,7 +92,7 @@ class AuthBloc extends Bloc { } else { emit(const AuthState.error()); } - } on DioError catch (e) { + } on DioException catch (e) { emit(const AuthState.error()); } } @@ -129,7 +129,7 @@ class AuthBloc extends Bloc { GlobalVariables.roles=[]; emit(const AuthState.loaded(null, null, RoleType.none)); emit(const AuthState.initial()); - } on DioError catch (e) { + } on DioException catch (e) { emit(const AuthState.loaded(null, null, RoleType.none)); } } @@ -157,7 +157,7 @@ class AuthBloc extends Bloc { GlobalVariables.roles=[]; emit(const AuthState.loaded(null, null, RoleType.none)); emit(const AuthState.initial()); - } on DioError catch (e) { + } on DioException catch (e) { emit(const AuthState.error()); } } diff --git a/frontend/works_shg_app/lib/blocs/auth/auth.freezed.dart b/frontend/works_shg_app/lib/blocs/auth/auth.freezed.dart index ddf1343962..2a8e5f0e66 100644 --- a/frontend/works_shg_app/lib/blocs/auth/auth.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/auth/auth.freezed.dart @@ -12,7 +12,7 @@ part of 'auth.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$AuthEvent { @@ -87,21 +87,21 @@ class _$AuthEventCopyWithImpl<$Res, $Val extends AuthEvent> } /// @nodoc -abstract class _$$AuthLoginEventCopyWith<$Res> { - factory _$$AuthLoginEventCopyWith( - _$AuthLoginEvent value, $Res Function(_$AuthLoginEvent) then) = - __$$AuthLoginEventCopyWithImpl<$Res>; +abstract class _$$AuthLoginEventImplCopyWith<$Res> { + factory _$$AuthLoginEventImplCopyWith(_$AuthLoginEventImpl value, + $Res Function(_$AuthLoginEventImpl) then) = + __$$AuthLoginEventImplCopyWithImpl<$Res>; @useResult $Res call( {String userId, String password, RoleType roleType, String? tenantId}); } /// @nodoc -class __$$AuthLoginEventCopyWithImpl<$Res> - extends _$AuthEventCopyWithImpl<$Res, _$AuthLoginEvent> - implements _$$AuthLoginEventCopyWith<$Res> { - __$$AuthLoginEventCopyWithImpl( - _$AuthLoginEvent _value, $Res Function(_$AuthLoginEvent) _then) +class __$$AuthLoginEventImplCopyWithImpl<$Res> + extends _$AuthEventCopyWithImpl<$Res, _$AuthLoginEventImpl> + implements _$$AuthLoginEventImplCopyWith<$Res> { + __$$AuthLoginEventImplCopyWithImpl( + _$AuthLoginEventImpl _value, $Res Function(_$AuthLoginEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -112,7 +112,7 @@ class __$$AuthLoginEventCopyWithImpl<$Res> Object? roleType = null, Object? tenantId = freezed, }) { - return _then(_$AuthLoginEvent( + return _then(_$AuthLoginEventImpl( userId: null == userId ? _value.userId : userId // ignore: cast_nullable_to_non_nullable @@ -135,8 +135,10 @@ class __$$AuthLoginEventCopyWithImpl<$Res> /// @nodoc -class _$AuthLoginEvent with DiagnosticableTreeMixin implements AuthLoginEvent { - const _$AuthLoginEvent( +class _$AuthLoginEventImpl + with DiagnosticableTreeMixin + implements AuthLoginEvent { + const _$AuthLoginEventImpl( {required this.userId, required this.password, required this.roleType, @@ -168,10 +170,10 @@ class _$AuthLoginEvent with DiagnosticableTreeMixin implements AuthLoginEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$AuthLoginEvent && + other is _$AuthLoginEventImpl && (identical(other.userId, userId) || other.userId == userId) && (identical(other.password, password) || other.password == password) && @@ -188,8 +190,9 @@ class _$AuthLoginEvent with DiagnosticableTreeMixin implements AuthLoginEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$AuthLoginEventCopyWith<_$AuthLoginEvent> get copyWith => - __$$AuthLoginEventCopyWithImpl<_$AuthLoginEvent>(this, _$identity); + _$$AuthLoginEventImplCopyWith<_$AuthLoginEventImpl> get copyWith => + __$$AuthLoginEventImplCopyWithImpl<_$AuthLoginEventImpl>( + this, _$identity); @override @optionalTypeArgs @@ -272,39 +275,39 @@ abstract class AuthLoginEvent implements AuthEvent { {required final String userId, required final String password, required final RoleType roleType, - final String? tenantId}) = _$AuthLoginEvent; + final String? tenantId}) = _$AuthLoginEventImpl; String get userId; String get password; RoleType get roleType; String? get tenantId; @JsonKey(ignore: true) - _$$AuthLoginEventCopyWith<_$AuthLoginEvent> get copyWith => + _$$AuthLoginEventImplCopyWith<_$AuthLoginEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$AuthLogoutEventCopyWith<$Res> { - factory _$$AuthLogoutEventCopyWith( - _$AuthLogoutEvent value, $Res Function(_$AuthLogoutEvent) then) = - __$$AuthLogoutEventCopyWithImpl<$Res>; +abstract class _$$AuthLogoutEventImplCopyWith<$Res> { + factory _$$AuthLogoutEventImplCopyWith(_$AuthLogoutEventImpl value, + $Res Function(_$AuthLogoutEventImpl) then) = + __$$AuthLogoutEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$AuthLogoutEventCopyWithImpl<$Res> - extends _$AuthEventCopyWithImpl<$Res, _$AuthLogoutEvent> - implements _$$AuthLogoutEventCopyWith<$Res> { - __$$AuthLogoutEventCopyWithImpl( - _$AuthLogoutEvent _value, $Res Function(_$AuthLogoutEvent) _then) +class __$$AuthLogoutEventImplCopyWithImpl<$Res> + extends _$AuthEventCopyWithImpl<$Res, _$AuthLogoutEventImpl> + implements _$$AuthLogoutEventImplCopyWith<$Res> { + __$$AuthLogoutEventImplCopyWithImpl( + _$AuthLogoutEventImpl _value, $Res Function(_$AuthLogoutEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$AuthLogoutEvent +class _$AuthLogoutEventImpl with DiagnosticableTreeMixin implements AuthLogoutEvent { - const _$AuthLogoutEvent(); + const _$AuthLogoutEventImpl(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -318,9 +321,9 @@ class _$AuthLogoutEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$AuthLogoutEvent); + (other.runtimeType == runtimeType && other is _$AuthLogoutEventImpl); } @override @@ -403,33 +406,33 @@ class _$AuthLogoutEvent } abstract class AuthLogoutEvent implements AuthEvent { - const factory AuthLogoutEvent() = _$AuthLogoutEvent; + const factory AuthLogoutEvent() = _$AuthLogoutEventImpl; } /// @nodoc -abstract class _$$AuthClearLoggedDetailsEventCopyWith<$Res> { - factory _$$AuthClearLoggedDetailsEventCopyWith( - _$AuthClearLoggedDetailsEvent value, - $Res Function(_$AuthClearLoggedDetailsEvent) then) = - __$$AuthClearLoggedDetailsEventCopyWithImpl<$Res>; +abstract class _$$AuthClearLoggedDetailsEventImplCopyWith<$Res> { + factory _$$AuthClearLoggedDetailsEventImplCopyWith( + _$AuthClearLoggedDetailsEventImpl value, + $Res Function(_$AuthClearLoggedDetailsEventImpl) then) = + __$$AuthClearLoggedDetailsEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$AuthClearLoggedDetailsEventCopyWithImpl<$Res> - extends _$AuthEventCopyWithImpl<$Res, _$AuthClearLoggedDetailsEvent> - implements _$$AuthClearLoggedDetailsEventCopyWith<$Res> { - __$$AuthClearLoggedDetailsEventCopyWithImpl( - _$AuthClearLoggedDetailsEvent _value, - $Res Function(_$AuthClearLoggedDetailsEvent) _then) +class __$$AuthClearLoggedDetailsEventImplCopyWithImpl<$Res> + extends _$AuthEventCopyWithImpl<$Res, _$AuthClearLoggedDetailsEventImpl> + implements _$$AuthClearLoggedDetailsEventImplCopyWith<$Res> { + __$$AuthClearLoggedDetailsEventImplCopyWithImpl( + _$AuthClearLoggedDetailsEventImpl _value, + $Res Function(_$AuthClearLoggedDetailsEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$AuthClearLoggedDetailsEvent +class _$AuthClearLoggedDetailsEventImpl with DiagnosticableTreeMixin implements AuthClearLoggedDetailsEvent { - const _$AuthClearLoggedDetailsEvent(); + const _$AuthClearLoggedDetailsEventImpl(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -444,10 +447,10 @@ class _$AuthClearLoggedDetailsEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$AuthClearLoggedDetailsEvent); + other is _$AuthClearLoggedDetailsEventImpl); } @override @@ -530,7 +533,8 @@ class _$AuthClearLoggedDetailsEvent } abstract class AuthClearLoggedDetailsEvent implements AuthEvent { - const factory AuthClearLoggedDetailsEvent() = _$AuthClearLoggedDetailsEvent; + const factory AuthClearLoggedDetailsEvent() = + _$AuthClearLoggedDetailsEventImpl; } /// @nodoc @@ -611,24 +615,25 @@ class _$AuthStateCopyWithImpl<$Res, $Val extends AuthState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$AuthStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$AuthStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -642,9 +647,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -732,29 +737,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends AuthState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$AuthStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$AuthStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -768,9 +774,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -858,14 +864,15 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends AuthState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call( {UserDetailsModel? userDetailsModel, @@ -876,10 +883,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$AuthStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$AuthStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -889,7 +897,7 @@ class __$$_LoadedCopyWithImpl<$Res> Object? accessToken = freezed, Object? roleType = null, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == userDetailsModel ? _value.userDetailsModel : userDetailsModel // ignore: cast_nullable_to_non_nullable @@ -920,8 +928,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.userDetailsModel, this.accessToken, this.roleType) +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + const _$LoadedImpl(this.userDetailsModel, this.accessToken, this.roleType) : super._(); @override @@ -947,10 +955,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.userDetailsModel, userDetailsModel) || other.userDetailsModel == userDetailsModel) && (identical(other.accessToken, accessToken) || @@ -966,8 +974,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -1052,35 +1060,37 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { abstract class _Loaded extends AuthState { const factory _Loaded(final UserDetailsModel? userDetailsModel, - final String? accessToken, final RoleType roleType) = _$_Loaded; + final String? accessToken, final RoleType roleType) = _$LoadedImpl; const _Loaded._() : super._(); UserDetailsModel? get userDetailsModel; String? get accessToken; RoleType get roleType; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$AuthStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$AuthStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error() : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -1094,9 +1104,9 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Error); + (other.runtimeType == runtimeType && other is _$ErrorImpl); } @override @@ -1184,6 +1194,6 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends AuthState { - const factory _Error() = _$_Error; + const factory _Error() = _$ErrorImpl; const _Error._() : super._(); } diff --git a/frontend/works_shg_app/lib/blocs/auth/otp_bloc.dart b/frontend/works_shg_app/lib/blocs/auth/otp_bloc.dart index 2752208f8a..1af0d28e69 100644 --- a/frontend/works_shg_app/lib/blocs/auth/otp_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/auth/otp_bloc.dart @@ -34,7 +34,7 @@ class OTPBloc extends Bloc { } }); emit(const OTPBlocState.loaded()); - } on DioError catch (e) { + } on DioException catch (e) { emit(const OTPBlocState.error()); } } diff --git a/frontend/works_shg_app/lib/blocs/auth/otp_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/auth/otp_bloc.freezed.dart index bf64e5a727..c3fc6e1b17 100644 --- a/frontend/works_shg_app/lib/blocs/auth/otp_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/auth/otp_bloc.freezed.dart @@ -12,7 +12,7 @@ part of 'otp_bloc.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$OTPBlocEvent { @@ -75,20 +75,20 @@ class _$OTPBlocEventCopyWithImpl<$Res, $Val extends OTPBlocEvent> } /// @nodoc -abstract class _$$OTPSendEventCopyWith<$Res> { - factory _$$OTPSendEventCopyWith( - _$OTPSendEvent value, $Res Function(_$OTPSendEvent) then) = - __$$OTPSendEventCopyWithImpl<$Res>; +abstract class _$$OTPSendEventImplCopyWith<$Res> { + factory _$$OTPSendEventImplCopyWith( + _$OTPSendEventImpl value, $Res Function(_$OTPSendEventImpl) then) = + __$$OTPSendEventImplCopyWithImpl<$Res>; @useResult $Res call({String mobileNumber}); } /// @nodoc -class __$$OTPSendEventCopyWithImpl<$Res> - extends _$OTPBlocEventCopyWithImpl<$Res, _$OTPSendEvent> - implements _$$OTPSendEventCopyWith<$Res> { - __$$OTPSendEventCopyWithImpl( - _$OTPSendEvent _value, $Res Function(_$OTPSendEvent) _then) +class __$$OTPSendEventImplCopyWithImpl<$Res> + extends _$OTPBlocEventCopyWithImpl<$Res, _$OTPSendEventImpl> + implements _$$OTPSendEventImplCopyWith<$Res> { + __$$OTPSendEventImplCopyWithImpl( + _$OTPSendEventImpl _value, $Res Function(_$OTPSendEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -96,7 +96,7 @@ class __$$OTPSendEventCopyWithImpl<$Res> $Res call({ Object? mobileNumber = null, }) { - return _then(_$OTPSendEvent( + return _then(_$OTPSendEventImpl( mobileNumber: null == mobileNumber ? _value.mobileNumber : mobileNumber // ignore: cast_nullable_to_non_nullable @@ -107,8 +107,8 @@ class __$$OTPSendEventCopyWithImpl<$Res> /// @nodoc -class _$OTPSendEvent implements OTPSendEvent { - const _$OTPSendEvent({required this.mobileNumber}); +class _$OTPSendEventImpl implements OTPSendEvent { + const _$OTPSendEventImpl({required this.mobileNumber}); @override final String mobileNumber; @@ -119,10 +119,10 @@ class _$OTPSendEvent implements OTPSendEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$OTPSendEvent && + other is _$OTPSendEventImpl && (identical(other.mobileNumber, mobileNumber) || other.mobileNumber == mobileNumber)); } @@ -133,8 +133,8 @@ class _$OTPSendEvent implements OTPSendEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$OTPSendEventCopyWith<_$OTPSendEvent> get copyWith => - __$$OTPSendEventCopyWithImpl<_$OTPSendEvent>(this, _$identity); + _$$OTPSendEventImplCopyWith<_$OTPSendEventImpl> get copyWith => + __$$OTPSendEventImplCopyWithImpl<_$OTPSendEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -201,34 +201,34 @@ class _$OTPSendEvent implements OTPSendEvent { abstract class OTPSendEvent implements OTPBlocEvent { const factory OTPSendEvent({required final String mobileNumber}) = - _$OTPSendEvent; + _$OTPSendEventImpl; String get mobileNumber; @JsonKey(ignore: true) - _$$OTPSendEventCopyWith<_$OTPSendEvent> get copyWith => + _$$OTPSendEventImplCopyWith<_$OTPSendEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$DisposeOTPEventCopyWith<$Res> { - factory _$$DisposeOTPEventCopyWith( - _$DisposeOTPEvent value, $Res Function(_$DisposeOTPEvent) then) = - __$$DisposeOTPEventCopyWithImpl<$Res>; +abstract class _$$DisposeOTPEventImplCopyWith<$Res> { + factory _$$DisposeOTPEventImplCopyWith(_$DisposeOTPEventImpl value, + $Res Function(_$DisposeOTPEventImpl) then) = + __$$DisposeOTPEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$DisposeOTPEventCopyWithImpl<$Res> - extends _$OTPBlocEventCopyWithImpl<$Res, _$DisposeOTPEvent> - implements _$$DisposeOTPEventCopyWith<$Res> { - __$$DisposeOTPEventCopyWithImpl( - _$DisposeOTPEvent _value, $Res Function(_$DisposeOTPEvent) _then) +class __$$DisposeOTPEventImplCopyWithImpl<$Res> + extends _$OTPBlocEventCopyWithImpl<$Res, _$DisposeOTPEventImpl> + implements _$$DisposeOTPEventImplCopyWith<$Res> { + __$$DisposeOTPEventImplCopyWithImpl( + _$DisposeOTPEventImpl _value, $Res Function(_$DisposeOTPEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$DisposeOTPEvent implements DisposeOTPEvent { - const _$DisposeOTPEvent(); +class _$DisposeOTPEventImpl implements DisposeOTPEvent { + const _$DisposeOTPEventImpl(); @override String toString() { @@ -236,9 +236,9 @@ class _$DisposeOTPEvent implements DisposeOTPEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$DisposeOTPEvent); + (other.runtimeType == runtimeType && other is _$DisposeOTPEventImpl); } @override @@ -308,7 +308,7 @@ class _$DisposeOTPEvent implements DisposeOTPEvent { } abstract class DisposeOTPEvent implements OTPBlocEvent { - const factory DisposeOTPEvent() = _$DisposeOTPEvent; + const factory DisposeOTPEvent() = _$DisposeOTPEventImpl; } /// @nodoc @@ -384,24 +384,25 @@ class _$OTPBlocStateCopyWithImpl<$Res, $Val extends OTPBlocState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$OTPBlocStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$OTPBlocStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -409,9 +410,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -493,29 +494,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends OTPBlocState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$OTPBlocStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$OTPBlocStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -523,9 +525,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -607,28 +609,30 @@ class _$_Loading extends _Loading { } abstract class _Loading extends OTPBlocState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$OTPBlocStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$OTPBlocStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded() : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl() : super._(); @override String toString() { @@ -636,9 +640,9 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loaded); + (other.runtimeType == runtimeType && other is _$LoadedImpl); } @override @@ -720,28 +724,30 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends OTPBlocState { - const factory _Loaded() = _$_Loaded; + const factory _Loaded() = _$LoadedImpl; const _Loaded._() : super._(); } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$OTPBlocStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$OTPBlocStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Error extends _Error { - const _$_Error() : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl() : super._(); @override String toString() { @@ -749,9 +755,9 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Error); + (other.runtimeType == runtimeType && other is _$ErrorImpl); } @override @@ -833,6 +839,6 @@ class _$_Error extends _Error { } abstract class _Error extends OTPBlocState { - const factory _Error() = _$_Error; + const factory _Error() = _$ErrorImpl; const _Error._() : super._(); } diff --git a/frontend/works_shg_app/lib/blocs/employee/emp_hrms/emp_hrms.dart b/frontend/works_shg_app/lib/blocs/employee/emp_hrms/emp_hrms.dart index eb107f4a59..c02e51c43e 100644 --- a/frontend/works_shg_app/lib/blocs/employee/emp_hrms/emp_hrms.dart +++ b/frontend/works_shg_app/lib/blocs/employee/emp_hrms/emp_hrms.dart @@ -40,7 +40,7 @@ class EmpHRMSBloc extends Bloc { res.employees, ), ); - } on DioError catch (e) { + } on DioException catch (e) { emit( EmpHRMsState.error( e.toString(), diff --git a/frontend/works_shg_app/lib/blocs/employee/emp_hrms/emp_hrms.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/emp_hrms/emp_hrms.freezed.dart index 769f3dca98..e83ddee82a 100644 --- a/frontend/works_shg_app/lib/blocs/employee/emp_hrms/emp_hrms.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/employee/emp_hrms/emp_hrms.freezed.dart @@ -12,7 +12,7 @@ part of 'emp_hrms.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$EmpHRMSBlocEvent { @@ -76,20 +76,20 @@ class _$EmpHRMSBlocEventCopyWithImpl<$Res, $Val extends EmpHRMSBlocEvent> } /// @nodoc -abstract class _$$EmpHRMSLoadBlocEventCopyWith<$Res> { - factory _$$EmpHRMSLoadBlocEventCopyWith(_$EmpHRMSLoadBlocEvent value, - $Res Function(_$EmpHRMSLoadBlocEvent) then) = - __$$EmpHRMSLoadBlocEventCopyWithImpl<$Res>; +abstract class _$$EmpHRMSLoadBlocEventImplCopyWith<$Res> { + factory _$$EmpHRMSLoadBlocEventImplCopyWith(_$EmpHRMSLoadBlocEventImpl value, + $Res Function(_$EmpHRMSLoadBlocEventImpl) then) = + __$$EmpHRMSLoadBlocEventImplCopyWithImpl<$Res>; @useResult $Res call({String tenantId, String roles, bool isActive}); } /// @nodoc -class __$$EmpHRMSLoadBlocEventCopyWithImpl<$Res> - extends _$EmpHRMSBlocEventCopyWithImpl<$Res, _$EmpHRMSLoadBlocEvent> - implements _$$EmpHRMSLoadBlocEventCopyWith<$Res> { - __$$EmpHRMSLoadBlocEventCopyWithImpl(_$EmpHRMSLoadBlocEvent _value, - $Res Function(_$EmpHRMSLoadBlocEvent) _then) +class __$$EmpHRMSLoadBlocEventImplCopyWithImpl<$Res> + extends _$EmpHRMSBlocEventCopyWithImpl<$Res, _$EmpHRMSLoadBlocEventImpl> + implements _$$EmpHRMSLoadBlocEventImplCopyWith<$Res> { + __$$EmpHRMSLoadBlocEventImplCopyWithImpl(_$EmpHRMSLoadBlocEventImpl _value, + $Res Function(_$EmpHRMSLoadBlocEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -99,7 +99,7 @@ class __$$EmpHRMSLoadBlocEventCopyWithImpl<$Res> Object? roles = null, Object? isActive = null, }) { - return _then(_$EmpHRMSLoadBlocEvent( + return _then(_$EmpHRMSLoadBlocEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -118,8 +118,8 @@ class __$$EmpHRMSLoadBlocEventCopyWithImpl<$Res> /// @nodoc -class _$EmpHRMSLoadBlocEvent implements EmpHRMSLoadBlocEvent { - const _$EmpHRMSLoadBlocEvent( +class _$EmpHRMSLoadBlocEventImpl implements EmpHRMSLoadBlocEvent { + const _$EmpHRMSLoadBlocEventImpl( {required this.tenantId, required this.roles, required this.isActive}); @override @@ -135,10 +135,10 @@ class _$EmpHRMSLoadBlocEvent implements EmpHRMSLoadBlocEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$EmpHRMSLoadBlocEvent && + other is _$EmpHRMSLoadBlocEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.roles, roles) || other.roles == roles) && @@ -152,9 +152,10 @@ class _$EmpHRMSLoadBlocEvent implements EmpHRMSLoadBlocEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$EmpHRMSLoadBlocEventCopyWith<_$EmpHRMSLoadBlocEvent> get copyWith => - __$$EmpHRMSLoadBlocEventCopyWithImpl<_$EmpHRMSLoadBlocEvent>( - this, _$identity); + _$$EmpHRMSLoadBlocEventImplCopyWith<_$EmpHRMSLoadBlocEventImpl> + get copyWith => + __$$EmpHRMSLoadBlocEventImplCopyWithImpl<_$EmpHRMSLoadBlocEventImpl>( + this, _$identity); @override @optionalTypeArgs @@ -224,36 +225,37 @@ abstract class EmpHRMSLoadBlocEvent implements EmpHRMSBlocEvent { const factory EmpHRMSLoadBlocEvent( {required final String tenantId, required final String roles, - required final bool isActive}) = _$EmpHRMSLoadBlocEvent; + required final bool isActive}) = _$EmpHRMSLoadBlocEventImpl; String get tenantId; String get roles; bool get isActive; @JsonKey(ignore: true) - _$$EmpHRMSLoadBlocEventCopyWith<_$EmpHRMSLoadBlocEvent> get copyWith => - throw _privateConstructorUsedError; + _$$EmpHRMSLoadBlocEventImplCopyWith<_$EmpHRMSLoadBlocEventImpl> + get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$EmpHRMSBlocClearEventCopyWith<$Res> { - factory _$$EmpHRMSBlocClearEventCopyWith(_$EmpHRMSBlocClearEvent value, - $Res Function(_$EmpHRMSBlocClearEvent) then) = - __$$EmpHRMSBlocClearEventCopyWithImpl<$Res>; +abstract class _$$EmpHRMSBlocClearEventImplCopyWith<$Res> { + factory _$$EmpHRMSBlocClearEventImplCopyWith( + _$EmpHRMSBlocClearEventImpl value, + $Res Function(_$EmpHRMSBlocClearEventImpl) then) = + __$$EmpHRMSBlocClearEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$EmpHRMSBlocClearEventCopyWithImpl<$Res> - extends _$EmpHRMSBlocEventCopyWithImpl<$Res, _$EmpHRMSBlocClearEvent> - implements _$$EmpHRMSBlocClearEventCopyWith<$Res> { - __$$EmpHRMSBlocClearEventCopyWithImpl(_$EmpHRMSBlocClearEvent _value, - $Res Function(_$EmpHRMSBlocClearEvent) _then) +class __$$EmpHRMSBlocClearEventImplCopyWithImpl<$Res> + extends _$EmpHRMSBlocEventCopyWithImpl<$Res, _$EmpHRMSBlocClearEventImpl> + implements _$$EmpHRMSBlocClearEventImplCopyWith<$Res> { + __$$EmpHRMSBlocClearEventImplCopyWithImpl(_$EmpHRMSBlocClearEventImpl _value, + $Res Function(_$EmpHRMSBlocClearEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$EmpHRMSBlocClearEvent implements EmpHRMSBlocClearEvent { - const _$EmpHRMSBlocClearEvent(); +class _$EmpHRMSBlocClearEventImpl implements EmpHRMSBlocClearEvent { + const _$EmpHRMSBlocClearEventImpl(); @override String toString() { @@ -261,9 +263,10 @@ class _$EmpHRMSBlocClearEvent implements EmpHRMSBlocClearEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$EmpHRMSBlocClearEvent); + (other.runtimeType == runtimeType && + other is _$EmpHRMSBlocClearEventImpl); } @override @@ -334,7 +337,7 @@ class _$EmpHRMSBlocClearEvent implements EmpHRMSBlocClearEvent { } abstract class EmpHRMSBlocClearEvent implements EmpHRMSBlocEvent { - const factory EmpHRMSBlocClearEvent() = _$EmpHRMSBlocClearEvent; + const factory EmpHRMSBlocClearEvent() = _$EmpHRMSBlocClearEventImpl; } /// @nodoc @@ -410,24 +413,25 @@ class _$EmpHRMsStateCopyWithImpl<$Res, $Val extends EmpHRMsState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$EmpHRMsStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$EmpHRMsStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -435,9 +439,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -519,29 +523,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends EmpHRMsState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$EmpHRMsStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$EmpHRMsStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -549,9 +554,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -633,23 +638,25 @@ class _$_Loading extends _Loading { } abstract class _Loading extends EmpHRMsState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({List? hrmsEmployee}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$EmpHRMsStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$EmpHRMsStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -657,7 +664,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? hrmsEmployee = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == hrmsEmployee ? _value._hrmsEmployee : hrmsEmployee // ignore: cast_nullable_to_non_nullable @@ -668,8 +675,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(final List? hrmsEmployee) +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(final List? hrmsEmployee) : _hrmsEmployee = hrmsEmployee, super._(); @@ -689,10 +696,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && const DeepCollectionEquality() .equals(other._hrmsEmployee, _hrmsEmployee)); } @@ -704,8 +711,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -783,28 +790,30 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends EmpHRMsState { - const factory _Loaded(final List? hrmsEmployee) = _$_Loaded; + const factory _Loaded(final List? hrmsEmployee) = _$LoadedImpl; const _Loaded._() : super._(); List? get hrmsEmployee; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$EmpHRMsStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$EmpHRMsStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -812,7 +821,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -823,8 +832,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -835,10 +844,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -848,8 +857,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -927,11 +936,11 @@ class _$_Error extends _Error { } abstract class _Error extends EmpHRMsState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/employee/estimate/estimate.dart b/frontend/works_shg_app/lib/blocs/employee/estimate/estimate.dart index 9df45c6f24..bf2403c29c 100644 --- a/frontend/works_shg_app/lib/blocs/employee/estimate/estimate.dart +++ b/frontend/works_shg_app/lib/blocs/employee/estimate/estimate.dart @@ -40,7 +40,7 @@ class EstimateBloc extends Bloc { res, ), ); - } on DioError catch (e) { + } on DioException catch (e) { emit( EstimateState.error( e.toString(), diff --git a/frontend/works_shg_app/lib/blocs/employee/estimate/estimate.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/estimate/estimate.freezed.dart index 152fcbe590..65842e26ad 100644 --- a/frontend/works_shg_app/lib/blocs/employee/estimate/estimate.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/employee/estimate/estimate.freezed.dart @@ -12,7 +12,7 @@ part of 'estimate.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$EstimateBlocEvent { @@ -76,20 +76,21 @@ class _$EstimateBlocEventCopyWithImpl<$Res, $Val extends EstimateBlocEvent> } /// @nodoc -abstract class _$$EstimateLoadBlocEventCopyWith<$Res> { - factory _$$EstimateLoadBlocEventCopyWith(_$EstimateLoadBlocEvent value, - $Res Function(_$EstimateLoadBlocEvent) then) = - __$$EstimateLoadBlocEventCopyWithImpl<$Res>; +abstract class _$$EstimateLoadBlocEventImplCopyWith<$Res> { + factory _$$EstimateLoadBlocEventImplCopyWith( + _$EstimateLoadBlocEventImpl value, + $Res Function(_$EstimateLoadBlocEventImpl) then) = + __$$EstimateLoadBlocEventImplCopyWithImpl<$Res>; @useResult $Res call({String tenantId, String roles, bool isActive}); } /// @nodoc -class __$$EstimateLoadBlocEventCopyWithImpl<$Res> - extends _$EstimateBlocEventCopyWithImpl<$Res, _$EstimateLoadBlocEvent> - implements _$$EstimateLoadBlocEventCopyWith<$Res> { - __$$EstimateLoadBlocEventCopyWithImpl(_$EstimateLoadBlocEvent _value, - $Res Function(_$EstimateLoadBlocEvent) _then) +class __$$EstimateLoadBlocEventImplCopyWithImpl<$Res> + extends _$EstimateBlocEventCopyWithImpl<$Res, _$EstimateLoadBlocEventImpl> + implements _$$EstimateLoadBlocEventImplCopyWith<$Res> { + __$$EstimateLoadBlocEventImplCopyWithImpl(_$EstimateLoadBlocEventImpl _value, + $Res Function(_$EstimateLoadBlocEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -99,7 +100,7 @@ class __$$EstimateLoadBlocEventCopyWithImpl<$Res> Object? roles = null, Object? isActive = null, }) { - return _then(_$EstimateLoadBlocEvent( + return _then(_$EstimateLoadBlocEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -118,8 +119,8 @@ class __$$EstimateLoadBlocEventCopyWithImpl<$Res> /// @nodoc -class _$EstimateLoadBlocEvent implements EstimateLoadBlocEvent { - const _$EstimateLoadBlocEvent( +class _$EstimateLoadBlocEventImpl implements EstimateLoadBlocEvent { + const _$EstimateLoadBlocEventImpl( {required this.tenantId, required this.roles, required this.isActive}); @override @@ -135,10 +136,10 @@ class _$EstimateLoadBlocEvent implements EstimateLoadBlocEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$EstimateLoadBlocEvent && + other is _$EstimateLoadBlocEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.roles, roles) || other.roles == roles) && @@ -152,9 +153,9 @@ class _$EstimateLoadBlocEvent implements EstimateLoadBlocEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$EstimateLoadBlocEventCopyWith<_$EstimateLoadBlocEvent> get copyWith => - __$$EstimateLoadBlocEventCopyWithImpl<_$EstimateLoadBlocEvent>( - this, _$identity); + _$$EstimateLoadBlocEventImplCopyWith<_$EstimateLoadBlocEventImpl> + get copyWith => __$$EstimateLoadBlocEventImplCopyWithImpl< + _$EstimateLoadBlocEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -224,36 +225,38 @@ abstract class EstimateLoadBlocEvent implements EstimateBlocEvent { const factory EstimateLoadBlocEvent( {required final String tenantId, required final String roles, - required final bool isActive}) = _$EstimateLoadBlocEvent; + required final bool isActive}) = _$EstimateLoadBlocEventImpl; String get tenantId; String get roles; bool get isActive; @JsonKey(ignore: true) - _$$EstimateLoadBlocEventCopyWith<_$EstimateLoadBlocEvent> get copyWith => - throw _privateConstructorUsedError; + _$$EstimateLoadBlocEventImplCopyWith<_$EstimateLoadBlocEventImpl> + get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$EstimateBlocClearEventCopyWith<$Res> { - factory _$$EstimateBlocClearEventCopyWith(_$EstimateBlocClearEvent value, - $Res Function(_$EstimateBlocClearEvent) then) = - __$$EstimateBlocClearEventCopyWithImpl<$Res>; +abstract class _$$EstimateBlocClearEventImplCopyWith<$Res> { + factory _$$EstimateBlocClearEventImplCopyWith( + _$EstimateBlocClearEventImpl value, + $Res Function(_$EstimateBlocClearEventImpl) then) = + __$$EstimateBlocClearEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$EstimateBlocClearEventCopyWithImpl<$Res> - extends _$EstimateBlocEventCopyWithImpl<$Res, _$EstimateBlocClearEvent> - implements _$$EstimateBlocClearEventCopyWith<$Res> { - __$$EstimateBlocClearEventCopyWithImpl(_$EstimateBlocClearEvent _value, - $Res Function(_$EstimateBlocClearEvent) _then) +class __$$EstimateBlocClearEventImplCopyWithImpl<$Res> + extends _$EstimateBlocEventCopyWithImpl<$Res, _$EstimateBlocClearEventImpl> + implements _$$EstimateBlocClearEventImplCopyWith<$Res> { + __$$EstimateBlocClearEventImplCopyWithImpl( + _$EstimateBlocClearEventImpl _value, + $Res Function(_$EstimateBlocClearEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$EstimateBlocClearEvent implements EstimateBlocClearEvent { - const _$EstimateBlocClearEvent(); +class _$EstimateBlocClearEventImpl implements EstimateBlocClearEvent { + const _$EstimateBlocClearEventImpl(); @override String toString() { @@ -261,9 +264,10 @@ class _$EstimateBlocClearEvent implements EstimateBlocClearEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$EstimateBlocClearEvent); + (other.runtimeType == runtimeType && + other is _$EstimateBlocClearEventImpl); } @override @@ -334,7 +338,7 @@ class _$EstimateBlocClearEvent implements EstimateBlocClearEvent { } abstract class EstimateBlocClearEvent implements EstimateBlocEvent { - const factory EstimateBlocClearEvent() = _$EstimateBlocClearEvent; + const factory EstimateBlocClearEvent() = _$EstimateBlocClearEventImpl; } /// @nodoc @@ -411,24 +415,25 @@ class _$EstimateStateCopyWithImpl<$Res, $Val extends EstimateState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$EstimateStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$EstimateStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -436,9 +441,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -521,29 +526,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends EstimateState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$EstimateStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$EstimateStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -551,9 +557,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -636,14 +642,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends EstimateState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({EstimateDetailResponse? estimateDetailResponse}); @@ -651,10 +658,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$EstimateStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$EstimateStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -662,7 +670,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? estimateDetailResponse = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == estimateDetailResponse ? _value.estimateDetailResponse : estimateDetailResponse // ignore: cast_nullable_to_non_nullable @@ -686,8 +694,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.estimateDetailResponse) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.estimateDetailResponse) : super._(); @override final EstimateDetailResponse? estimateDetailResponse; @@ -698,10 +706,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.estimateDetailResponse, estimateDetailResponse) || other.estimateDetailResponse == estimateDetailResponse)); } @@ -712,8 +720,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -793,28 +801,30 @@ class _$_Loaded extends _Loaded { abstract class _Loaded extends EstimateState { const factory _Loaded(final EstimateDetailResponse? estimateDetailResponse) = - _$_Loaded; + _$LoadedImpl; const _Loaded._() : super._(); EstimateDetailResponse? get estimateDetailResponse; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$EstimateStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$EstimateStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -822,7 +832,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -833,8 +843,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -845,10 +855,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -858,8 +868,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -938,11 +948,11 @@ class _$_Error extends _Error { } abstract class _Error extends EstimateState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_check.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_check.dart index d3b721cea8..00876e6676 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/mb_check.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_check.dart @@ -88,7 +88,7 @@ class MeasurementCheckBloc ), ); } - } on DioError catch (e) { + } on DioException catch (e) { // emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); emit(MeasurementCheckState.error(e.toString())); } on CustomException catch (e) { diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_check.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_check.freezed.dart index 6b7fe44f1a..e4685d9182 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/mb_check.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_check.freezed.dart @@ -12,7 +12,7 @@ part of 'mb_check.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$MeasurementCheckBlocEvent { @@ -82,10 +82,11 @@ class _$MeasurementCheckBlocEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$MeasurementCheckEventCopyWith<$Res> { - factory _$$MeasurementCheckEventCopyWith(_$MeasurementCheckEvent value, - $Res Function(_$MeasurementCheckEvent) then) = - __$$MeasurementCheckEventCopyWithImpl<$Res>; +abstract class _$$MeasurementCheckEventImplCopyWith<$Res> { + factory _$$MeasurementCheckEventImplCopyWith( + _$MeasurementCheckEventImpl value, + $Res Function(_$MeasurementCheckEventImpl) then) = + __$$MeasurementCheckEventImplCopyWithImpl<$Res>; @useResult $Res call( {String tenantId, @@ -95,12 +96,12 @@ abstract class _$$MeasurementCheckEventCopyWith<$Res> { } /// @nodoc -class __$$MeasurementCheckEventCopyWithImpl<$Res> +class __$$MeasurementCheckEventImplCopyWithImpl<$Res> extends _$MeasurementCheckBlocEventCopyWithImpl<$Res, - _$MeasurementCheckEvent> - implements _$$MeasurementCheckEventCopyWith<$Res> { - __$$MeasurementCheckEventCopyWithImpl(_$MeasurementCheckEvent _value, - $Res Function(_$MeasurementCheckEvent) _then) + _$MeasurementCheckEventImpl> + implements _$$MeasurementCheckEventImplCopyWith<$Res> { + __$$MeasurementCheckEventImplCopyWithImpl(_$MeasurementCheckEventImpl _value, + $Res Function(_$MeasurementCheckEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -111,7 +112,7 @@ class __$$MeasurementCheckEventCopyWithImpl<$Res> Object? measurementNumber = null, Object? screenType = null, }) { - return _then(_$MeasurementCheckEvent( + return _then(_$MeasurementCheckEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -134,8 +135,8 @@ class __$$MeasurementCheckEventCopyWithImpl<$Res> /// @nodoc -class _$MeasurementCheckEvent implements MeasurementCheckEvent { - const _$MeasurementCheckEvent( +class _$MeasurementCheckEventImpl implements MeasurementCheckEvent { + const _$MeasurementCheckEventImpl( {required this.tenantId, required this.contractNumber, required this.measurementNumber, @@ -156,10 +157,10 @@ class _$MeasurementCheckEvent implements MeasurementCheckEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$MeasurementCheckEvent && + other is _$MeasurementCheckEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.contractNumber, contractNumber) || @@ -177,9 +178,9 @@ class _$MeasurementCheckEvent implements MeasurementCheckEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$MeasurementCheckEventCopyWith<_$MeasurementCheckEvent> get copyWith => - __$$MeasurementCheckEventCopyWithImpl<_$MeasurementCheckEvent>( - this, _$identity); + _$$MeasurementCheckEventImplCopyWith<_$MeasurementCheckEventImpl> + get copyWith => __$$MeasurementCheckEventImplCopyWithImpl< + _$MeasurementCheckEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -256,41 +257,41 @@ abstract class MeasurementCheckEvent implements MeasurementCheckBlocEvent { {required final String tenantId, required final String contractNumber, required final String measurementNumber, - required final MBScreen screenType}) = _$MeasurementCheckEvent; + required final MBScreen screenType}) = _$MeasurementCheckEventImpl; String get tenantId; String get contractNumber; String get measurementNumber; MBScreen get screenType; @JsonKey(ignore: true) - _$$MeasurementCheckEventCopyWith<_$MeasurementCheckEvent> get copyWith => - throw _privateConstructorUsedError; + _$$MeasurementCheckEventImplCopyWith<_$MeasurementCheckEventImpl> + get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$MeasurementCheckBlocClearEventCopyWith<$Res> { - factory _$$MeasurementCheckBlocClearEventCopyWith( - _$MeasurementCheckBlocClearEvent value, - $Res Function(_$MeasurementCheckBlocClearEvent) then) = - __$$MeasurementCheckBlocClearEventCopyWithImpl<$Res>; +abstract class _$$MeasurementCheckBlocClearEventImplCopyWith<$Res> { + factory _$$MeasurementCheckBlocClearEventImplCopyWith( + _$MeasurementCheckBlocClearEventImpl value, + $Res Function(_$MeasurementCheckBlocClearEventImpl) then) = + __$$MeasurementCheckBlocClearEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$MeasurementCheckBlocClearEventCopyWithImpl<$Res> +class __$$MeasurementCheckBlocClearEventImplCopyWithImpl<$Res> extends _$MeasurementCheckBlocEventCopyWithImpl<$Res, - _$MeasurementCheckBlocClearEvent> - implements _$$MeasurementCheckBlocClearEventCopyWith<$Res> { - __$$MeasurementCheckBlocClearEventCopyWithImpl( - _$MeasurementCheckBlocClearEvent _value, - $Res Function(_$MeasurementCheckBlocClearEvent) _then) + _$MeasurementCheckBlocClearEventImpl> + implements _$$MeasurementCheckBlocClearEventImplCopyWith<$Res> { + __$$MeasurementCheckBlocClearEventImplCopyWithImpl( + _$MeasurementCheckBlocClearEventImpl _value, + $Res Function(_$MeasurementCheckBlocClearEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$MeasurementCheckBlocClearEvent +class _$MeasurementCheckBlocClearEventImpl implements MeasurementCheckBlocClearEvent { - const _$MeasurementCheckBlocClearEvent(); + const _$MeasurementCheckBlocClearEventImpl(); @override String toString() { @@ -298,10 +299,10 @@ class _$MeasurementCheckBlocClearEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$MeasurementCheckBlocClearEvent); + other is _$MeasurementCheckBlocClearEventImpl); } @override @@ -379,7 +380,7 @@ class _$MeasurementCheckBlocClearEvent abstract class MeasurementCheckBlocClearEvent implements MeasurementCheckBlocEvent { const factory MeasurementCheckBlocClearEvent() = - _$MeasurementCheckBlocClearEvent; + _$MeasurementCheckBlocClearEventImpl; } /// @nodoc @@ -462,24 +463,25 @@ class _$MeasurementCheckStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$MeasurementCheckStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$MeasurementCheckStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -487,9 +489,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -577,29 +579,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends MeasurementCheckState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$MeasurementCheckStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$MeasurementCheckStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -607,9 +610,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -697,14 +700,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends MeasurementCheckState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call( {bool? workOrderStatus, @@ -714,10 +718,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$MeasurementCheckStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$MeasurementCheckStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -728,7 +733,7 @@ class __$$_LoadedCopyWithImpl<$Res> Object? existingMB = freezed, Object? workOrderNumber = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == workOrderStatus ? _value.workOrderStatus : workOrderStatus // ignore: cast_nullable_to_non_nullable @@ -751,8 +756,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.workOrderStatus, this.estimateStatus, this.existingMB, +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.workOrderStatus, this.estimateStatus, this.existingMB, this.workOrderNumber) : super._(); @@ -771,10 +776,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.workOrderStatus, workOrderStatus) || other.workOrderStatus == workOrderStatus) && (identical(other.estimateStatus, estimateStatus) || @@ -792,8 +797,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -880,7 +885,7 @@ class _$_Loaded extends _Loaded { abstract class _Loaded extends MeasurementCheckState { const factory _Loaded(final bool? workOrderStatus, final bool? estimateStatus, - final bool? existingMB, final String? workOrderNumber) = _$_Loaded; + final bool? existingMB, final String? workOrderNumber) = _$LoadedImpl; const _Loaded._() : super._(); bool? get workOrderStatus; @@ -888,23 +893,25 @@ abstract class _Loaded extends MeasurementCheckState { bool? get existingMB; String? get workOrderNumber; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$MeasurementCheckStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$MeasurementCheckStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -912,7 +919,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -923,8 +930,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -935,10 +942,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -948,8 +955,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -1033,11 +1040,11 @@ class _$_Error extends _Error { } abstract class _Error extends MeasurementCheckState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart index 0c65554514..d115f008f7 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart @@ -55,7 +55,7 @@ class MeasurementCrudBloc ); emit(MeasurementCrudState.loaded(res)); - } on DioError catch (e) { + } on DioException catch (e) { emit(MeasurementCrudState.error(e.response!.data['Errors'][0]['message'])); } } diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.freezed.dart index 3a26d65c4b..1b7ebd609a 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.freezed.dart @@ -12,7 +12,7 @@ part of 'mb_crud.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$MeasurementCrudBlocEvent { @@ -82,11 +82,11 @@ class _$MeasurementCrudBlocEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$MeasurementUpdateBlocEventCopyWith<$Res> { - factory _$$MeasurementUpdateBlocEventCopyWith( - _$MeasurementUpdateBlocEvent value, - $Res Function(_$MeasurementUpdateBlocEvent) then) = - __$$MeasurementUpdateBlocEventCopyWithImpl<$Res>; +abstract class _$$MeasurementUpdateBlocEventImplCopyWith<$Res> { + factory _$$MeasurementUpdateBlocEventImplCopyWith( + _$MeasurementUpdateBlocEventImpl value, + $Res Function(_$MeasurementUpdateBlocEventImpl) then) = + __$$MeasurementUpdateBlocEventImplCopyWithImpl<$Res>; @useResult $Res call( {String tenantId, @@ -99,13 +99,13 @@ abstract class _$$MeasurementUpdateBlocEventCopyWith<$Res> { } /// @nodoc -class __$$MeasurementUpdateBlocEventCopyWithImpl<$Res> +class __$$MeasurementUpdateBlocEventImplCopyWithImpl<$Res> extends _$MeasurementCrudBlocEventCopyWithImpl<$Res, - _$MeasurementUpdateBlocEvent> - implements _$$MeasurementUpdateBlocEventCopyWith<$Res> { - __$$MeasurementUpdateBlocEventCopyWithImpl( - _$MeasurementUpdateBlocEvent _value, - $Res Function(_$MeasurementUpdateBlocEvent) _then) + _$MeasurementUpdateBlocEventImpl> + implements _$$MeasurementUpdateBlocEventImplCopyWith<$Res> { + __$$MeasurementUpdateBlocEventImplCopyWithImpl( + _$MeasurementUpdateBlocEventImpl _value, + $Res Function(_$MeasurementUpdateBlocEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -116,7 +116,7 @@ class __$$MeasurementUpdateBlocEventCopyWithImpl<$Res> Object? workFlow = null, Object? type = null, }) { - return _then(_$MeasurementUpdateBlocEvent( + return _then(_$MeasurementUpdateBlocEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -155,8 +155,8 @@ class __$$MeasurementUpdateBlocEventCopyWithImpl<$Res> /// @nodoc -class _$MeasurementUpdateBlocEvent implements MeasurementUpdateBlocEvent { - const _$MeasurementUpdateBlocEvent( +class _$MeasurementUpdateBlocEventImpl implements MeasurementUpdateBlocEvent { + const _$MeasurementUpdateBlocEventImpl( {required this.tenantId, required this.measurement, required this.workFlow, @@ -177,10 +177,10 @@ class _$MeasurementUpdateBlocEvent implements MeasurementUpdateBlocEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$MeasurementUpdateBlocEvent && + other is _$MeasurementUpdateBlocEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.measurement, measurement) || @@ -197,9 +197,9 @@ class _$MeasurementUpdateBlocEvent implements MeasurementUpdateBlocEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$MeasurementUpdateBlocEventCopyWith<_$MeasurementUpdateBlocEvent> - get copyWith => __$$MeasurementUpdateBlocEventCopyWithImpl< - _$MeasurementUpdateBlocEvent>(this, _$identity); + _$$MeasurementUpdateBlocEventImplCopyWith<_$MeasurementUpdateBlocEventImpl> + get copyWith => __$$MeasurementUpdateBlocEventImplCopyWithImpl< + _$MeasurementUpdateBlocEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -275,40 +275,41 @@ abstract class MeasurementUpdateBlocEvent implements MeasurementCrudBlocEvent { {required final String tenantId, required final Measurement measurement, required final WorkFlow workFlow, - required final MBScreen type}) = _$MeasurementUpdateBlocEvent; + required final MBScreen type}) = _$MeasurementUpdateBlocEventImpl; String get tenantId; Measurement get measurement; WorkFlow get workFlow; MBScreen get type; @JsonKey(ignore: true) - _$$MeasurementUpdateBlocEventCopyWith<_$MeasurementUpdateBlocEvent> + _$$MeasurementUpdateBlocEventImplCopyWith<_$MeasurementUpdateBlocEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$MeasurementCrudBlocClearEventCopyWith<$Res> { - factory _$$MeasurementCrudBlocClearEventCopyWith( - _$MeasurementCrudBlocClearEvent value, - $Res Function(_$MeasurementCrudBlocClearEvent) then) = - __$$MeasurementCrudBlocClearEventCopyWithImpl<$Res>; +abstract class _$$MeasurementCrudBlocClearEventImplCopyWith<$Res> { + factory _$$MeasurementCrudBlocClearEventImplCopyWith( + _$MeasurementCrudBlocClearEventImpl value, + $Res Function(_$MeasurementCrudBlocClearEventImpl) then) = + __$$MeasurementCrudBlocClearEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$MeasurementCrudBlocClearEventCopyWithImpl<$Res> +class __$$MeasurementCrudBlocClearEventImplCopyWithImpl<$Res> extends _$MeasurementCrudBlocEventCopyWithImpl<$Res, - _$MeasurementCrudBlocClearEvent> - implements _$$MeasurementCrudBlocClearEventCopyWith<$Res> { - __$$MeasurementCrudBlocClearEventCopyWithImpl( - _$MeasurementCrudBlocClearEvent _value, - $Res Function(_$MeasurementCrudBlocClearEvent) _then) + _$MeasurementCrudBlocClearEventImpl> + implements _$$MeasurementCrudBlocClearEventImplCopyWith<$Res> { + __$$MeasurementCrudBlocClearEventImplCopyWithImpl( + _$MeasurementCrudBlocClearEventImpl _value, + $Res Function(_$MeasurementCrudBlocClearEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$MeasurementCrudBlocClearEvent implements MeasurementCrudBlocClearEvent { - const _$MeasurementCrudBlocClearEvent(); +class _$MeasurementCrudBlocClearEventImpl + implements MeasurementCrudBlocClearEvent { + const _$MeasurementCrudBlocClearEventImpl(); @override String toString() { @@ -316,10 +317,10 @@ class _$MeasurementCrudBlocClearEvent implements MeasurementCrudBlocClearEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$MeasurementCrudBlocClearEvent); + other is _$MeasurementCrudBlocClearEventImpl); } @override @@ -397,7 +398,7 @@ class _$MeasurementCrudBlocClearEvent implements MeasurementCrudBlocClearEvent { abstract class MeasurementCrudBlocClearEvent implements MeasurementCrudBlocEvent { const factory MeasurementCrudBlocClearEvent() = - _$MeasurementCrudBlocClearEvent; + _$MeasurementCrudBlocClearEventImpl; } /// @nodoc @@ -474,24 +475,25 @@ class _$MeasurementCrudStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$MeasurementCrudStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$MeasurementCrudStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -499,9 +501,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -583,29 +585,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends MeasurementCrudState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$MeasurementCrudStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$MeasurementCrudStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -613,9 +616,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -697,14 +700,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends MeasurementCrudState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({Measurement? measurement}); @@ -712,10 +716,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$MeasurementCrudStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$MeasurementCrudStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -723,7 +728,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? measurement = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == measurement ? _value.measurement : measurement // ignore: cast_nullable_to_non_nullable @@ -746,8 +751,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.measurement) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.measurement) : super._(); @override final Measurement? measurement; @@ -758,10 +763,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.measurement, measurement) || other.measurement == measurement)); } @@ -772,8 +777,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -851,28 +856,30 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends MeasurementCrudState { - const factory _Loaded(final Measurement? measurement) = _$_Loaded; + const factory _Loaded(final Measurement? measurement) = _$LoadedImpl; const _Loaded._() : super._(); Measurement? get measurement; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$MeasurementCrudStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$MeasurementCrudStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -880,7 +887,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -891,8 +898,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -903,10 +910,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -916,8 +923,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -995,11 +1002,11 @@ class _$_Error extends _Error { } abstract class _Error extends MeasurementCrudState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart index faa328ccc8..e37a9c1c97 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart @@ -155,7 +155,7 @@ class MeasurementDetailBloc sorList.length >= 2 ? getSorted(sorList[1].last, res) : null, ), ); - } on DioError catch (e) { + } on DioException catch (e) { // emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); emit(MeasurementDetailState.error(e.toString())); } @@ -653,7 +653,7 @@ class MeasurementDetailBloc } }, ); - } on DioError catch (e) { + } on DioException catch (e) { // emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); emit(MeasurementDetailState.error(e.toString())); } @@ -708,7 +708,7 @@ class MeasurementDetailBloc ); }, ); - } on DioError catch (e) { + } on DioException catch (e) { // emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); emit(MeasurementDetailState.error(e.toString())); } diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.freezed.dart index 7e84e4efa3..e99b85029e 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.freezed.dart @@ -12,7 +12,7 @@ part of 'mb_detail_view.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$MeasurementDetailBlocEvent { @@ -21,7 +21,8 @@ mixin _$MeasurementDetailBlocEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -52,7 +53,8 @@ mixin _$MeasurementDetailBlocEvent { dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -73,7 +75,8 @@ mixin _$MeasurementDetailBlocEvent { TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -104,7 +107,8 @@ mixin _$MeasurementDetailBlocEvent { dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -125,7 +129,8 @@ mixin _$MeasurementDetailBlocEvent { TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -156,7 +161,8 @@ mixin _$MeasurementDetailBlocEvent { dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -247,23 +253,23 @@ class _$MeasurementDetailBlocEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$MeasurementUploadDocumentBlocEventCopyWith<$Res> { - factory _$$MeasurementUploadDocumentBlocEventCopyWith( - _$MeasurementUploadDocumentBlocEvent value, - $Res Function(_$MeasurementUploadDocumentBlocEvent) then) = - __$$MeasurementUploadDocumentBlocEventCopyWithImpl<$Res>; +abstract class _$$MeasurementUploadDocumentBlocEventImplCopyWith<$Res> { + factory _$$MeasurementUploadDocumentBlocEventImplCopyWith( + _$MeasurementUploadDocumentBlocEventImpl value, + $Res Function(_$MeasurementUploadDocumentBlocEventImpl) then) = + __$$MeasurementUploadDocumentBlocEventImplCopyWithImpl<$Res>; @useResult $Res call({String tenantId, List workflowDocument}); } /// @nodoc -class __$$MeasurementUploadDocumentBlocEventCopyWithImpl<$Res> +class __$$MeasurementUploadDocumentBlocEventImplCopyWithImpl<$Res> extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, - _$MeasurementUploadDocumentBlocEvent> - implements _$$MeasurementUploadDocumentBlocEventCopyWith<$Res> { - __$$MeasurementUploadDocumentBlocEventCopyWithImpl( - _$MeasurementUploadDocumentBlocEvent _value, - $Res Function(_$MeasurementUploadDocumentBlocEvent) _then) + _$MeasurementUploadDocumentBlocEventImpl> + implements _$$MeasurementUploadDocumentBlocEventImplCopyWith<$Res> { + __$$MeasurementUploadDocumentBlocEventImplCopyWithImpl( + _$MeasurementUploadDocumentBlocEventImpl _value, + $Res Function(_$MeasurementUploadDocumentBlocEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -272,7 +278,7 @@ class __$$MeasurementUploadDocumentBlocEventCopyWithImpl<$Res> Object? tenantId = null, Object? workflowDocument = null, }) { - return _then(_$MeasurementUploadDocumentBlocEvent( + return _then(_$MeasurementUploadDocumentBlocEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -287,9 +293,9 @@ class __$$MeasurementUploadDocumentBlocEventCopyWithImpl<$Res> /// @nodoc -class _$MeasurementUploadDocumentBlocEvent +class _$MeasurementUploadDocumentBlocEventImpl implements MeasurementUploadDocumentBlocEvent { - const _$MeasurementUploadDocumentBlocEvent( + const _$MeasurementUploadDocumentBlocEventImpl( {required this.tenantId, required final List workflowDocument}) : _workflowDocument = workflowDocument; @@ -311,10 +317,10 @@ class _$MeasurementUploadDocumentBlocEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$MeasurementUploadDocumentBlocEvent && + other is _$MeasurementUploadDocumentBlocEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && const DeepCollectionEquality() @@ -328,10 +334,10 @@ class _$MeasurementUploadDocumentBlocEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$MeasurementUploadDocumentBlocEventCopyWith< - _$MeasurementUploadDocumentBlocEvent> - get copyWith => __$$MeasurementUploadDocumentBlocEventCopyWithImpl< - _$MeasurementUploadDocumentBlocEvent>(this, _$identity); + _$$MeasurementUploadDocumentBlocEventImplCopyWith< + _$MeasurementUploadDocumentBlocEventImpl> + get copyWith => __$$MeasurementUploadDocumentBlocEventImplCopyWithImpl< + _$MeasurementUploadDocumentBlocEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -339,7 +345,8 @@ class _$MeasurementUploadDocumentBlocEvent required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -370,7 +377,8 @@ class _$MeasurementUploadDocumentBlocEvent dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -394,7 +402,8 @@ class _$MeasurementUploadDocumentBlocEvent TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -425,7 +434,8 @@ class _$MeasurementUploadDocumentBlocEvent dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -449,7 +459,8 @@ class _$MeasurementUploadDocumentBlocEvent TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -480,7 +491,8 @@ class _$MeasurementUploadDocumentBlocEvent dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -571,22 +583,22 @@ abstract class MeasurementUploadDocumentBlocEvent const factory MeasurementUploadDocumentBlocEvent( {required final String tenantId, required final List workflowDocument}) = - _$MeasurementUploadDocumentBlocEvent; + _$MeasurementUploadDocumentBlocEventImpl; String get tenantId; List get workflowDocument; @JsonKey(ignore: true) - _$$MeasurementUploadDocumentBlocEventCopyWith< - _$MeasurementUploadDocumentBlocEvent> + _$$MeasurementUploadDocumentBlocEventImplCopyWith< + _$MeasurementUploadDocumentBlocEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$MeasurementDetailBookBlocEventCopyWith<$Res> { - factory _$$MeasurementDetailBookBlocEventCopyWith( - _$MeasurementDetailBookBlocEvent value, - $Res Function(_$MeasurementDetailBookBlocEvent) then) = - __$$MeasurementDetailBookBlocEventCopyWithImpl<$Res>; +abstract class _$$MeasurementDetailBookBlocEventImplCopyWith<$Res> { + factory _$$MeasurementDetailBookBlocEventImplCopyWith( + _$MeasurementDetailBookBlocEventImpl value, + $Res Function(_$MeasurementDetailBookBlocEventImpl) then) = + __$$MeasurementDetailBookBlocEventImplCopyWithImpl<$Res>; @useResult $Res call( {String tenantId, @@ -596,13 +608,13 @@ abstract class _$$MeasurementDetailBookBlocEventCopyWith<$Res> { } /// @nodoc -class __$$MeasurementDetailBookBlocEventCopyWithImpl<$Res> +class __$$MeasurementDetailBookBlocEventImplCopyWithImpl<$Res> extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, - _$MeasurementDetailBookBlocEvent> - implements _$$MeasurementDetailBookBlocEventCopyWith<$Res> { - __$$MeasurementDetailBookBlocEventCopyWithImpl( - _$MeasurementDetailBookBlocEvent _value, - $Res Function(_$MeasurementDetailBookBlocEvent) _then) + _$MeasurementDetailBookBlocEventImpl> + implements _$$MeasurementDetailBookBlocEventImplCopyWith<$Res> { + __$$MeasurementDetailBookBlocEventImplCopyWithImpl( + _$MeasurementDetailBookBlocEventImpl _value, + $Res Function(_$MeasurementDetailBookBlocEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -613,7 +625,7 @@ class __$$MeasurementDetailBookBlocEventCopyWithImpl<$Res> Object? measurementNumber = null, Object? screenType = null, }) { - return _then(_$MeasurementDetailBookBlocEvent( + return _then(_$MeasurementDetailBookBlocEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -636,9 +648,9 @@ class __$$MeasurementDetailBookBlocEventCopyWithImpl<$Res> /// @nodoc -class _$MeasurementDetailBookBlocEvent +class _$MeasurementDetailBookBlocEventImpl implements MeasurementDetailBookBlocEvent { - const _$MeasurementDetailBookBlocEvent( + const _$MeasurementDetailBookBlocEventImpl( {required this.tenantId, required this.contractNumber, required this.measurementNumber, @@ -659,10 +671,10 @@ class _$MeasurementDetailBookBlocEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$MeasurementDetailBookBlocEvent && + other is _$MeasurementDetailBookBlocEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.contractNumber, contractNumber) || @@ -680,9 +692,10 @@ class _$MeasurementDetailBookBlocEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$MeasurementDetailBookBlocEventCopyWith<_$MeasurementDetailBookBlocEvent> - get copyWith => __$$MeasurementDetailBookBlocEventCopyWithImpl< - _$MeasurementDetailBookBlocEvent>(this, _$identity); + _$$MeasurementDetailBookBlocEventImplCopyWith< + _$MeasurementDetailBookBlocEventImpl> + get copyWith => __$$MeasurementDetailBookBlocEventImplCopyWithImpl< + _$MeasurementDetailBookBlocEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -690,7 +703,8 @@ class _$MeasurementDetailBookBlocEvent required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -721,7 +735,8 @@ class _$MeasurementDetailBookBlocEvent dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -745,7 +760,8 @@ class _$MeasurementDetailBookBlocEvent TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -776,7 +792,8 @@ class _$MeasurementDetailBookBlocEvent dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -801,7 +818,8 @@ class _$MeasurementDetailBookBlocEvent TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -832,7 +850,8 @@ class _$MeasurementDetailBookBlocEvent dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -921,44 +940,46 @@ class _$MeasurementDetailBookBlocEvent abstract class MeasurementDetailBookBlocEvent implements MeasurementDetailBlocEvent { const factory MeasurementDetailBookBlocEvent( - {required final String tenantId, - required final String contractNumber, - required final String measurementNumber, - required final MBScreen screenType}) = _$MeasurementDetailBookBlocEvent; + {required final String tenantId, + required final String contractNumber, + required final String measurementNumber, + required final MBScreen screenType}) = + _$MeasurementDetailBookBlocEventImpl; String get tenantId; String get contractNumber; String get measurementNumber; MBScreen get screenType; @JsonKey(ignore: true) - _$$MeasurementDetailBookBlocEventCopyWith<_$MeasurementDetailBookBlocEvent> + _$$MeasurementDetailBookBlocEventImplCopyWith< + _$MeasurementDetailBookBlocEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$MeasurementDetailBlocClearEventCopyWith<$Res> { - factory _$$MeasurementDetailBlocClearEventCopyWith( - _$MeasurementDetailBlocClearEvent value, - $Res Function(_$MeasurementDetailBlocClearEvent) then) = - __$$MeasurementDetailBlocClearEventCopyWithImpl<$Res>; +abstract class _$$MeasurementDetailBlocClearEventImplCopyWith<$Res> { + factory _$$MeasurementDetailBlocClearEventImplCopyWith( + _$MeasurementDetailBlocClearEventImpl value, + $Res Function(_$MeasurementDetailBlocClearEventImpl) then) = + __$$MeasurementDetailBlocClearEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$MeasurementDetailBlocClearEventCopyWithImpl<$Res> +class __$$MeasurementDetailBlocClearEventImplCopyWithImpl<$Res> extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, - _$MeasurementDetailBlocClearEvent> - implements _$$MeasurementDetailBlocClearEventCopyWith<$Res> { - __$$MeasurementDetailBlocClearEventCopyWithImpl( - _$MeasurementDetailBlocClearEvent _value, - $Res Function(_$MeasurementDetailBlocClearEvent) _then) + _$MeasurementDetailBlocClearEventImpl> + implements _$$MeasurementDetailBlocClearEventImplCopyWith<$Res> { + __$$MeasurementDetailBlocClearEventImplCopyWithImpl( + _$MeasurementDetailBlocClearEventImpl _value, + $Res Function(_$MeasurementDetailBlocClearEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$MeasurementDetailBlocClearEvent +class _$MeasurementDetailBlocClearEventImpl implements MeasurementDetailBlocClearEvent { - const _$MeasurementDetailBlocClearEvent(); + const _$MeasurementDetailBlocClearEventImpl(); @override String toString() { @@ -966,10 +987,10 @@ class _$MeasurementDetailBlocClearEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$MeasurementDetailBlocClearEvent); + other is _$MeasurementDetailBlocClearEventImpl); } @override @@ -981,7 +1002,8 @@ class _$MeasurementDetailBlocClearEvent required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -1012,7 +1034,8 @@ class _$MeasurementDetailBlocClearEvent dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -1036,7 +1059,8 @@ class _$MeasurementDetailBlocClearEvent TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -1067,7 +1091,8 @@ class _$MeasurementDetailBlocClearEvent dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -1091,7 +1116,8 @@ class _$MeasurementDetailBlocClearEvent TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -1122,7 +1148,8 @@ class _$MeasurementDetailBlocClearEvent dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -1211,15 +1238,15 @@ class _$MeasurementDetailBlocClearEvent abstract class MeasurementDetailBlocClearEvent implements MeasurementDetailBlocEvent { const factory MeasurementDetailBlocClearEvent() = - _$MeasurementDetailBlocClearEvent; + _$MeasurementDetailBlocClearEventImpl; } /// @nodoc -abstract class _$$AddToMeasurementLineEventCopyWith<$Res> { - factory _$$AddToMeasurementLineEventCopyWith( - _$AddToMeasurementLineEvent value, - $Res Function(_$AddToMeasurementLineEvent) then) = - __$$AddToMeasurementLineEventCopyWithImpl<$Res>; +abstract class _$$AddToMeasurementLineEventImplCopyWith<$Res> { + factory _$$AddToMeasurementLineEventImplCopyWith( + _$AddToMeasurementLineEventImpl value, + $Res Function(_$AddToMeasurementLineEventImpl) then) = + __$$AddToMeasurementLineEventImplCopyWithImpl<$Res>; @useResult $Res call( {String sorId, @@ -1236,12 +1263,13 @@ abstract class _$$AddToMeasurementLineEventCopyWith<$Res> { } /// @nodoc -class __$$AddToMeasurementLineEventCopyWithImpl<$Res> +class __$$AddToMeasurementLineEventImplCopyWithImpl<$Res> extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, - _$AddToMeasurementLineEvent> - implements _$$AddToMeasurementLineEventCopyWith<$Res> { - __$$AddToMeasurementLineEventCopyWithImpl(_$AddToMeasurementLineEvent _value, - $Res Function(_$AddToMeasurementLineEvent) _then) + _$AddToMeasurementLineEventImpl> + implements _$$AddToMeasurementLineEventImplCopyWith<$Res> { + __$$AddToMeasurementLineEventImplCopyWithImpl( + _$AddToMeasurementLineEventImpl _value, + $Res Function(_$AddToMeasurementLineEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1259,7 +1287,7 @@ class __$$AddToMeasurementLineEventCopyWithImpl<$Res> Object? quantity = freezed, Object? single = null, }) { - return _then(_$AddToMeasurementLineEvent( + return _then(_$AddToMeasurementLineEventImpl( sorId: null == sorId ? _value.sorId : sorId // ignore: cast_nullable_to_non_nullable @@ -1310,8 +1338,8 @@ class __$$AddToMeasurementLineEventCopyWithImpl<$Res> /// @nodoc -class _$AddToMeasurementLineEvent implements AddToMeasurementLineEvent { - const _$AddToMeasurementLineEvent( +class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { + const _$AddToMeasurementLineEventImpl( {required this.sorId, required this.type, this.index, @@ -1353,10 +1381,10 @@ class _$AddToMeasurementLineEvent implements AddToMeasurementLineEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$AddToMeasurementLineEvent && + other is _$AddToMeasurementLineEventImpl && (identical(other.sorId, sorId) || other.sorId == sorId) && (identical(other.type, type) || other.type == type) && (identical(other.index, index) || other.index == index) && @@ -1392,9 +1420,9 @@ class _$AddToMeasurementLineEvent implements AddToMeasurementLineEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$AddToMeasurementLineEventCopyWith<_$AddToMeasurementLineEvent> - get copyWith => __$$AddToMeasurementLineEventCopyWithImpl< - _$AddToMeasurementLineEvent>(this, _$identity); + _$$AddToMeasurementLineEventImplCopyWith<_$AddToMeasurementLineEventImpl> + get copyWith => __$$AddToMeasurementLineEventImplCopyWithImpl< + _$AddToMeasurementLineEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -1402,7 +1430,8 @@ class _$AddToMeasurementLineEvent implements AddToMeasurementLineEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -1433,7 +1462,8 @@ class _$AddToMeasurementLineEvent implements AddToMeasurementLineEvent { dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -1468,7 +1498,8 @@ class _$AddToMeasurementLineEvent implements AddToMeasurementLineEvent { TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -1499,7 +1530,8 @@ class _$AddToMeasurementLineEvent implements AddToMeasurementLineEvent { dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -1534,7 +1566,8 @@ class _$AddToMeasurementLineEvent implements AddToMeasurementLineEvent { TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -1565,7 +1598,8 @@ class _$AddToMeasurementLineEvent implements AddToMeasurementLineEvent { dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -1674,7 +1708,7 @@ abstract class AddToMeasurementLineEvent implements MeasurementDetailBlocEvent { final dynamic length, final dynamic number, final dynamic quantity, - required final bool single}) = _$AddToMeasurementLineEvent; + required final bool single}) = _$AddToMeasurementLineEventImpl; String get sorId; String get type; @@ -1688,16 +1722,16 @@ abstract class AddToMeasurementLineEvent implements MeasurementDetailBlocEvent { dynamic get quantity; bool get single; @JsonKey(ignore: true) - _$$AddToMeasurementLineEventCopyWith<_$AddToMeasurementLineEvent> + _$$AddToMeasurementLineEventImplCopyWith<_$AddToMeasurementLineEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$UpdateToMeasurementLineEventCopyWith<$Res> { - factory _$$UpdateToMeasurementLineEventCopyWith( - _$UpdateToMeasurementLineEvent value, - $Res Function(_$UpdateToMeasurementLineEvent) then) = - __$$UpdateToMeasurementLineEventCopyWithImpl<$Res>; +abstract class _$$UpdateToMeasurementLineEventImplCopyWith<$Res> { + factory _$$UpdateToMeasurementLineEventImplCopyWith( + _$UpdateToMeasurementLineEventImpl value, + $Res Function(_$UpdateToMeasurementLineEventImpl) then) = + __$$UpdateToMeasurementLineEventImplCopyWithImpl<$Res>; @useResult $Res call( {dynamic noOfUnit, @@ -1715,13 +1749,13 @@ abstract class _$$UpdateToMeasurementLineEventCopyWith<$Res> { } /// @nodoc -class __$$UpdateToMeasurementLineEventCopyWithImpl<$Res> +class __$$UpdateToMeasurementLineEventImplCopyWithImpl<$Res> extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, - _$UpdateToMeasurementLineEvent> - implements _$$UpdateToMeasurementLineEventCopyWith<$Res> { - __$$UpdateToMeasurementLineEventCopyWithImpl( - _$UpdateToMeasurementLineEvent _value, - $Res Function(_$UpdateToMeasurementLineEvent) _then) + _$UpdateToMeasurementLineEventImpl> + implements _$$UpdateToMeasurementLineEventImplCopyWith<$Res> { + __$$UpdateToMeasurementLineEventImplCopyWithImpl( + _$UpdateToMeasurementLineEventImpl _value, + $Res Function(_$UpdateToMeasurementLineEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1740,7 +1774,7 @@ class __$$UpdateToMeasurementLineEventCopyWithImpl<$Res> Object? number = freezed, Object? quantity = freezed, }) { - return _then(_$UpdateToMeasurementLineEvent( + return _then(_$UpdateToMeasurementLineEventImpl( noOfUnit: freezed == noOfUnit ? _value.noOfUnit : noOfUnit // ignore: cast_nullable_to_non_nullable @@ -1795,8 +1829,9 @@ class __$$UpdateToMeasurementLineEventCopyWithImpl<$Res> /// @nodoc -class _$UpdateToMeasurementLineEvent implements UpdateToMeasurementLineEvent { - const _$UpdateToMeasurementLineEvent( +class _$UpdateToMeasurementLineEventImpl + implements UpdateToMeasurementLineEvent { + const _$UpdateToMeasurementLineEventImpl( {required this.noOfUnit, required this.cummulativePrevQty, required this.sorId, @@ -1841,10 +1876,10 @@ class _$UpdateToMeasurementLineEvent implements UpdateToMeasurementLineEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$UpdateToMeasurementLineEvent && + other is _$UpdateToMeasurementLineEventImpl && const DeepCollectionEquality().equals(other.noOfUnit, noOfUnit) && const DeepCollectionEquality() .equals(other.cummulativePrevQty, cummulativePrevQty) && @@ -1883,9 +1918,10 @@ class _$UpdateToMeasurementLineEvent implements UpdateToMeasurementLineEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$UpdateToMeasurementLineEventCopyWith<_$UpdateToMeasurementLineEvent> - get copyWith => __$$UpdateToMeasurementLineEventCopyWithImpl< - _$UpdateToMeasurementLineEvent>(this, _$identity); + _$$UpdateToMeasurementLineEventImplCopyWith< + _$UpdateToMeasurementLineEventImpl> + get copyWith => __$$UpdateToMeasurementLineEventImplCopyWithImpl< + _$UpdateToMeasurementLineEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -1893,7 +1929,8 @@ class _$UpdateToMeasurementLineEvent implements UpdateToMeasurementLineEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -1924,7 +1961,8 @@ class _$UpdateToMeasurementLineEvent implements UpdateToMeasurementLineEvent { dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -1960,7 +1998,8 @@ class _$UpdateToMeasurementLineEvent implements UpdateToMeasurementLineEvent { TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -1991,7 +2030,8 @@ class _$UpdateToMeasurementLineEvent implements UpdateToMeasurementLineEvent { dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -2027,7 +2067,8 @@ class _$UpdateToMeasurementLineEvent implements UpdateToMeasurementLineEvent { TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -2058,7 +2099,8 @@ class _$UpdateToMeasurementLineEvent implements UpdateToMeasurementLineEvent { dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -2170,7 +2212,7 @@ abstract class UpdateToMeasurementLineEvent final dynamic width, final dynamic length, final dynamic number, - final dynamic quantity}) = _$UpdateToMeasurementLineEvent; + final dynamic quantity}) = _$UpdateToMeasurementLineEventImpl; dynamic get noOfUnit; dynamic get cummulativePrevQty; @@ -2185,25 +2227,27 @@ abstract class UpdateToMeasurementLineEvent dynamic get number; dynamic get quantity; @JsonKey(ignore: true) - _$$UpdateToMeasurementLineEventCopyWith<_$UpdateToMeasurementLineEvent> + _$$UpdateToMeasurementLineEventImplCopyWith< + _$UpdateToMeasurementLineEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$UpdateViewModeEventCopyWith<$Res> { - factory _$$UpdateViewModeEventCopyWith(_$UpdateViewModeEvent value, - $Res Function(_$UpdateViewModeEvent) then) = - __$$UpdateViewModeEventCopyWithImpl<$Res>; +abstract class _$$UpdateViewModeEventImplCopyWith<$Res> { + factory _$$UpdateViewModeEventImplCopyWith(_$UpdateViewModeEventImpl value, + $Res Function(_$UpdateViewModeEventImpl) then) = + __$$UpdateViewModeEventImplCopyWithImpl<$Res>; @useResult $Res call({bool updateView}); } /// @nodoc -class __$$UpdateViewModeEventCopyWithImpl<$Res> +class __$$UpdateViewModeEventImplCopyWithImpl<$Res> extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, - _$UpdateViewModeEvent> implements _$$UpdateViewModeEventCopyWith<$Res> { - __$$UpdateViewModeEventCopyWithImpl( - _$UpdateViewModeEvent _value, $Res Function(_$UpdateViewModeEvent) _then) + _$UpdateViewModeEventImpl> + implements _$$UpdateViewModeEventImplCopyWith<$Res> { + __$$UpdateViewModeEventImplCopyWithImpl(_$UpdateViewModeEventImpl _value, + $Res Function(_$UpdateViewModeEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -2211,7 +2255,7 @@ class __$$UpdateViewModeEventCopyWithImpl<$Res> $Res call({ Object? updateView = null, }) { - return _then(_$UpdateViewModeEvent( + return _then(_$UpdateViewModeEventImpl( updateView: null == updateView ? _value.updateView : updateView // ignore: cast_nullable_to_non_nullable @@ -2222,8 +2266,8 @@ class __$$UpdateViewModeEventCopyWithImpl<$Res> /// @nodoc -class _$UpdateViewModeEvent implements UpdateViewModeEvent { - const _$UpdateViewModeEvent({required this.updateView}); +class _$UpdateViewModeEventImpl implements UpdateViewModeEvent { + const _$UpdateViewModeEventImpl({required this.updateView}); @override final bool updateView; @@ -2234,10 +2278,10 @@ class _$UpdateViewModeEvent implements UpdateViewModeEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$UpdateViewModeEvent && + other is _$UpdateViewModeEventImpl && (identical(other.updateView, updateView) || other.updateView == updateView)); } @@ -2248,8 +2292,8 @@ class _$UpdateViewModeEvent implements UpdateViewModeEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$UpdateViewModeEventCopyWith<_$UpdateViewModeEvent> get copyWith => - __$$UpdateViewModeEventCopyWithImpl<_$UpdateViewModeEvent>( + _$$UpdateViewModeEventImplCopyWith<_$UpdateViewModeEventImpl> get copyWith => + __$$UpdateViewModeEventImplCopyWithImpl<_$UpdateViewModeEventImpl>( this, _$identity); @override @@ -2258,7 +2302,8 @@ class _$UpdateViewModeEvent implements UpdateViewModeEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -2289,7 +2334,8 @@ class _$UpdateViewModeEvent implements UpdateViewModeEvent { dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -2313,7 +2359,8 @@ class _$UpdateViewModeEvent implements UpdateViewModeEvent { TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -2344,7 +2391,8 @@ class _$UpdateViewModeEvent implements UpdateViewModeEvent { dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -2368,7 +2416,8 @@ class _$UpdateViewModeEvent implements UpdateViewModeEvent { TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -2399,7 +2448,8 @@ class _$UpdateViewModeEvent implements UpdateViewModeEvent { dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -2487,19 +2537,19 @@ class _$UpdateViewModeEvent implements UpdateViewModeEvent { abstract class UpdateViewModeEvent implements MeasurementDetailBlocEvent { const factory UpdateViewModeEvent({required final bool updateView}) = - _$UpdateViewModeEvent; + _$UpdateViewModeEventImpl; bool get updateView; @JsonKey(ignore: true) - _$$UpdateViewModeEventCopyWith<_$UpdateViewModeEvent> get copyWith => + _$$UpdateViewModeEventImplCopyWith<_$UpdateViewModeEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$CancelUpdateEventCopyWith<$Res> { - factory _$$CancelUpdateEventCopyWith( - _$CancelUpdateEvent value, $Res Function(_$CancelUpdateEvent) then) = - __$$CancelUpdateEventCopyWithImpl<$Res>; +abstract class _$$CancelUpdateEventImplCopyWith<$Res> { + factory _$$CancelUpdateEventImplCopyWith(_$CancelUpdateEventImpl value, + $Res Function(_$CancelUpdateEventImpl) then) = + __$$CancelUpdateEventImplCopyWithImpl<$Res>; @useResult $Res call( {bool cancelUpdate, @@ -2509,11 +2559,12 @@ abstract class _$$CancelUpdateEventCopyWith<$Res> { } /// @nodoc -class __$$CancelUpdateEventCopyWithImpl<$Res> - extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, _$CancelUpdateEvent> - implements _$$CancelUpdateEventCopyWith<$Res> { - __$$CancelUpdateEventCopyWithImpl( - _$CancelUpdateEvent _value, $Res Function(_$CancelUpdateEvent) _then) +class __$$CancelUpdateEventImplCopyWithImpl<$Res> + extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, + _$CancelUpdateEventImpl> + implements _$$CancelUpdateEventImplCopyWith<$Res> { + __$$CancelUpdateEventImplCopyWithImpl(_$CancelUpdateEventImpl _value, + $Res Function(_$CancelUpdateEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -2524,7 +2575,7 @@ class __$$CancelUpdateEventCopyWithImpl<$Res> Object? filteredMeasurementsMeasureId = freezed, Object? type = null, }) { - return _then(_$CancelUpdateEvent( + return _then(_$CancelUpdateEventImpl( cancelUpdate: null == cancelUpdate ? _value.cancelUpdate : cancelUpdate // ignore: cast_nullable_to_non_nullable @@ -2547,8 +2598,8 @@ class __$$CancelUpdateEventCopyWithImpl<$Res> /// @nodoc -class _$CancelUpdateEvent implements CancelUpdateEvent { - const _$CancelUpdateEvent( +class _$CancelUpdateEventImpl implements CancelUpdateEvent { + const _$CancelUpdateEventImpl( {required this.cancelUpdate, required this.sorId, required this.filteredMeasurementsMeasureId, @@ -2569,10 +2620,10 @@ class _$CancelUpdateEvent implements CancelUpdateEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$CancelUpdateEvent && + other is _$CancelUpdateEventImpl && (identical(other.cancelUpdate, cancelUpdate) || other.cancelUpdate == cancelUpdate) && (identical(other.sorId, sorId) || other.sorId == sorId) && @@ -2589,8 +2640,9 @@ class _$CancelUpdateEvent implements CancelUpdateEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$CancelUpdateEventCopyWith<_$CancelUpdateEvent> get copyWith => - __$$CancelUpdateEventCopyWithImpl<_$CancelUpdateEvent>(this, _$identity); + _$$CancelUpdateEventImplCopyWith<_$CancelUpdateEventImpl> get copyWith => + __$$CancelUpdateEventImplCopyWithImpl<_$CancelUpdateEventImpl>( + this, _$identity); @override @optionalTypeArgs @@ -2598,7 +2650,8 @@ class _$CancelUpdateEvent implements CancelUpdateEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -2629,7 +2682,8 @@ class _$CancelUpdateEvent implements CancelUpdateEvent { dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -2654,7 +2708,8 @@ class _$CancelUpdateEvent implements CancelUpdateEvent { TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -2685,7 +2740,8 @@ class _$CancelUpdateEvent implements CancelUpdateEvent { dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -2710,7 +2766,8 @@ class _$CancelUpdateEvent implements CancelUpdateEvent { TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -2741,7 +2798,8 @@ class _$CancelUpdateEvent implements CancelUpdateEvent { dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -2833,22 +2891,22 @@ abstract class CancelUpdateEvent implements MeasurementDetailBlocEvent { {required final bool cancelUpdate, required final String sorId, required final dynamic filteredMeasurementsMeasureId, - required final String type}) = _$CancelUpdateEvent; + required final String type}) = _$CancelUpdateEventImpl; bool get cancelUpdate; String get sorId; dynamic get filteredMeasurementsMeasureId; String get type; @JsonKey(ignore: true) - _$$CancelUpdateEventCopyWith<_$CancelUpdateEvent> get copyWith => + _$$CancelUpdateEventImplCopyWith<_$CancelUpdateEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$SubmitLineEventCopyWith<$Res> { - factory _$$SubmitLineEventCopyWith( - _$SubmitLineEvent value, $Res Function(_$SubmitLineEvent) then) = - __$$SubmitLineEventCopyWithImpl<$Res>; +abstract class _$$SubmitLineEventImplCopyWith<$Res> { + factory _$$SubmitLineEventImplCopyWith(_$SubmitLineEventImpl value, + $Res Function(_$SubmitLineEventImpl) then) = + __$$SubmitLineEventImplCopyWithImpl<$Res>; @useResult $Res call( {dynamic noOfUnit, @@ -2861,11 +2919,11 @@ abstract class _$$SubmitLineEventCopyWith<$Res> { } /// @nodoc -class __$$SubmitLineEventCopyWithImpl<$Res> - extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, _$SubmitLineEvent> - implements _$$SubmitLineEventCopyWith<$Res> { - __$$SubmitLineEventCopyWithImpl( - _$SubmitLineEvent _value, $Res Function(_$SubmitLineEvent) _then) +class __$$SubmitLineEventImplCopyWithImpl<$Res> + extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, + _$SubmitLineEventImpl> implements _$$SubmitLineEventImplCopyWith<$Res> { + __$$SubmitLineEventImplCopyWithImpl( + _$SubmitLineEventImpl _value, $Res Function(_$SubmitLineEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -2879,7 +2937,7 @@ class __$$SubmitLineEventCopyWithImpl<$Res> Object? measurementLineIndex = freezed, Object? filteredMeasurementMeasureId = freezed, }) { - return _then(_$SubmitLineEvent( + return _then(_$SubmitLineEventImpl( noOfUnit: freezed == noOfUnit ? _value.noOfUnit : noOfUnit // ignore: cast_nullable_to_non_nullable @@ -2914,8 +2972,8 @@ class __$$SubmitLineEventCopyWithImpl<$Res> /// @nodoc -class _$SubmitLineEvent implements SubmitLineEvent { - const _$SubmitLineEvent( +class _$SubmitLineEventImpl implements SubmitLineEvent { + const _$SubmitLineEventImpl( {required this.noOfUnit, required this.cummulativePrevQty, required this.sorId, @@ -2945,10 +3003,10 @@ class _$SubmitLineEvent implements SubmitLineEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$SubmitLineEvent && + other is _$SubmitLineEventImpl && const DeepCollectionEquality().equals(other.noOfUnit, noOfUnit) && const DeepCollectionEquality() .equals(other.cummulativePrevQty, cummulativePrevQty) && @@ -2977,8 +3035,9 @@ class _$SubmitLineEvent implements SubmitLineEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$SubmitLineEventCopyWith<_$SubmitLineEvent> get copyWith => - __$$SubmitLineEventCopyWithImpl<_$SubmitLineEvent>(this, _$identity); + _$$SubmitLineEventImplCopyWith<_$SubmitLineEventImpl> get copyWith => + __$$SubmitLineEventImplCopyWithImpl<_$SubmitLineEventImpl>( + this, _$identity); @override @optionalTypeArgs @@ -2986,7 +3045,8 @@ class _$SubmitLineEvent implements SubmitLineEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -3017,7 +3077,8 @@ class _$SubmitLineEvent implements SubmitLineEvent { dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -3042,7 +3103,8 @@ class _$SubmitLineEvent implements SubmitLineEvent { TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -3073,7 +3135,8 @@ class _$SubmitLineEvent implements SubmitLineEvent { dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -3098,7 +3161,8 @@ class _$SubmitLineEvent implements SubmitLineEvent { TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -3129,7 +3193,8 @@ class _$SubmitLineEvent implements SubmitLineEvent { dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -3224,7 +3289,7 @@ abstract class SubmitLineEvent implements MeasurementDetailBlocEvent { required final String type, final int? index, final int? measurementLineIndex, - final String? filteredMeasurementMeasureId}) = _$SubmitLineEvent; + final String? filteredMeasurementMeasureId}) = _$SubmitLineEventImpl; dynamic get noOfUnit; dynamic get cummulativePrevQty; @@ -3234,25 +3299,26 @@ abstract class SubmitLineEvent implements MeasurementDetailBlocEvent { int? get measurementLineIndex; String? get filteredMeasurementMeasureId; @JsonKey(ignore: true) - _$$SubmitLineEventCopyWith<_$SubmitLineEvent> get copyWith => + _$$SubmitLineEventImplCopyWith<_$SubmitLineEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$UpdateMsgCodeEventCopyWith<$Res> { - factory _$$UpdateMsgCodeEventCopyWith(_$UpdateMsgCodeEvent value, - $Res Function(_$UpdateMsgCodeEvent) then) = - __$$UpdateMsgCodeEventCopyWithImpl<$Res>; +abstract class _$$UpdateMsgCodeEventImplCopyWith<$Res> { + factory _$$UpdateMsgCodeEventImplCopyWith(_$UpdateMsgCodeEventImpl value, + $Res Function(_$UpdateMsgCodeEventImpl) then) = + __$$UpdateMsgCodeEventImplCopyWithImpl<$Res>; @useResult $Res call({int updateCode}); } /// @nodoc -class __$$UpdateMsgCodeEventCopyWithImpl<$Res> - extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, _$UpdateMsgCodeEvent> - implements _$$UpdateMsgCodeEventCopyWith<$Res> { - __$$UpdateMsgCodeEventCopyWithImpl( - _$UpdateMsgCodeEvent _value, $Res Function(_$UpdateMsgCodeEvent) _then) +class __$$UpdateMsgCodeEventImplCopyWithImpl<$Res> + extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, + _$UpdateMsgCodeEventImpl> + implements _$$UpdateMsgCodeEventImplCopyWith<$Res> { + __$$UpdateMsgCodeEventImplCopyWithImpl(_$UpdateMsgCodeEventImpl _value, + $Res Function(_$UpdateMsgCodeEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -3260,7 +3326,7 @@ class __$$UpdateMsgCodeEventCopyWithImpl<$Res> $Res call({ Object? updateCode = null, }) { - return _then(_$UpdateMsgCodeEvent( + return _then(_$UpdateMsgCodeEventImpl( updateCode: null == updateCode ? _value.updateCode : updateCode // ignore: cast_nullable_to_non_nullable @@ -3271,8 +3337,8 @@ class __$$UpdateMsgCodeEventCopyWithImpl<$Res> /// @nodoc -class _$UpdateMsgCodeEvent implements UpdateMsgCodeEvent { - const _$UpdateMsgCodeEvent({required this.updateCode}); +class _$UpdateMsgCodeEventImpl implements UpdateMsgCodeEvent { + const _$UpdateMsgCodeEventImpl({required this.updateCode}); @override final int updateCode; @@ -3283,10 +3349,10 @@ class _$UpdateMsgCodeEvent implements UpdateMsgCodeEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$UpdateMsgCodeEvent && + other is _$UpdateMsgCodeEventImpl && (identical(other.updateCode, updateCode) || other.updateCode == updateCode)); } @@ -3297,8 +3363,8 @@ class _$UpdateMsgCodeEvent implements UpdateMsgCodeEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$UpdateMsgCodeEventCopyWith<_$UpdateMsgCodeEvent> get copyWith => - __$$UpdateMsgCodeEventCopyWithImpl<_$UpdateMsgCodeEvent>( + _$$UpdateMsgCodeEventImplCopyWith<_$UpdateMsgCodeEventImpl> get copyWith => + __$$UpdateMsgCodeEventImplCopyWithImpl<_$UpdateMsgCodeEventImpl>( this, _$identity); @override @@ -3307,7 +3373,8 @@ class _$UpdateMsgCodeEvent implements UpdateMsgCodeEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -3338,7 +3405,8 @@ class _$UpdateMsgCodeEvent implements UpdateMsgCodeEvent { dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -3362,7 +3430,8 @@ class _$UpdateMsgCodeEvent implements UpdateMsgCodeEvent { TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -3393,7 +3462,8 @@ class _$UpdateMsgCodeEvent implements UpdateMsgCodeEvent { dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -3417,7 +3487,8 @@ class _$UpdateMsgCodeEvent implements UpdateMsgCodeEvent { TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -3448,7 +3519,8 @@ class _$UpdateMsgCodeEvent implements UpdateMsgCodeEvent { dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -3536,20 +3608,20 @@ class _$UpdateMsgCodeEvent implements UpdateMsgCodeEvent { abstract class UpdateMsgCodeEvent implements MeasurementDetailBlocEvent { const factory UpdateMsgCodeEvent({required final int updateCode}) = - _$UpdateMsgCodeEvent; + _$UpdateMsgCodeEventImpl; int get updateCode; @JsonKey(ignore: true) - _$$UpdateMsgCodeEventCopyWith<_$UpdateMsgCodeEvent> get copyWith => + _$$UpdateMsgCodeEventImplCopyWith<_$UpdateMsgCodeEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$DeleteMeasurementLineEventCopyWith<$Res> { - factory _$$DeleteMeasurementLineEventCopyWith( - _$DeleteMeasurementLineEvent value, - $Res Function(_$DeleteMeasurementLineEvent) then) = - __$$DeleteMeasurementLineEventCopyWithImpl<$Res>; +abstract class _$$DeleteMeasurementLineEventImplCopyWith<$Res> { + factory _$$DeleteMeasurementLineEventImplCopyWith( + _$DeleteMeasurementLineEventImpl value, + $Res Function(_$DeleteMeasurementLineEventImpl) then) = + __$$DeleteMeasurementLineEventImplCopyWithImpl<$Res>; @useResult $Res call( {String sorId, @@ -3560,13 +3632,13 @@ abstract class _$$DeleteMeasurementLineEventCopyWith<$Res> { } /// @nodoc -class __$$DeleteMeasurementLineEventCopyWithImpl<$Res> +class __$$DeleteMeasurementLineEventImplCopyWithImpl<$Res> extends _$MeasurementDetailBlocEventCopyWithImpl<$Res, - _$DeleteMeasurementLineEvent> - implements _$$DeleteMeasurementLineEventCopyWith<$Res> { - __$$DeleteMeasurementLineEventCopyWithImpl( - _$DeleteMeasurementLineEvent _value, - $Res Function(_$DeleteMeasurementLineEvent) _then) + _$DeleteMeasurementLineEventImpl> + implements _$$DeleteMeasurementLineEventImplCopyWith<$Res> { + __$$DeleteMeasurementLineEventImplCopyWithImpl( + _$DeleteMeasurementLineEventImpl _value, + $Res Function(_$DeleteMeasurementLineEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -3578,7 +3650,7 @@ class __$$DeleteMeasurementLineEventCopyWithImpl<$Res> Object? measurementLineIndex = null, Object? filteredMeasurementMeasureId = null, }) { - return _then(_$DeleteMeasurementLineEvent( + return _then(_$DeleteMeasurementLineEventImpl( sorId: null == sorId ? _value.sorId : sorId // ignore: cast_nullable_to_non_nullable @@ -3605,8 +3677,8 @@ class __$$DeleteMeasurementLineEventCopyWithImpl<$Res> /// @nodoc -class _$DeleteMeasurementLineEvent implements DeleteMeasurementLineEvent { - const _$DeleteMeasurementLineEvent( +class _$DeleteMeasurementLineEventImpl implements DeleteMeasurementLineEvent { + const _$DeleteMeasurementLineEventImpl( {required this.sorId, required this.type, required this.index, @@ -3630,10 +3702,10 @@ class _$DeleteMeasurementLineEvent implements DeleteMeasurementLineEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$DeleteMeasurementLineEvent && + other is _$DeleteMeasurementLineEventImpl && (identical(other.sorId, sorId) || other.sorId == sorId) && (identical(other.type, type) || other.type == type) && (identical(other.index, index) || other.index == index) && @@ -3652,9 +3724,9 @@ class _$DeleteMeasurementLineEvent implements DeleteMeasurementLineEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$DeleteMeasurementLineEventCopyWith<_$DeleteMeasurementLineEvent> - get copyWith => __$$DeleteMeasurementLineEventCopyWithImpl< - _$DeleteMeasurementLineEvent>(this, _$identity); + _$$DeleteMeasurementLineEventImplCopyWith<_$DeleteMeasurementLineEventImpl> + get copyWith => __$$DeleteMeasurementLineEventImplCopyWithImpl< + _$DeleteMeasurementLineEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -3662,7 +3734,8 @@ class _$DeleteMeasurementLineEvent implements DeleteMeasurementLineEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -3693,7 +3766,8 @@ class _$DeleteMeasurementLineEvent implements DeleteMeasurementLineEvent { dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -3718,7 +3792,8 @@ class _$DeleteMeasurementLineEvent implements DeleteMeasurementLineEvent { TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -3749,7 +3824,8 @@ class _$DeleteMeasurementLineEvent implements DeleteMeasurementLineEvent { dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -3774,7 +3850,8 @@ class _$DeleteMeasurementLineEvent implements DeleteMeasurementLineEvent { TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -3805,7 +3882,8 @@ class _$DeleteMeasurementLineEvent implements DeleteMeasurementLineEvent { dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -3900,7 +3978,7 @@ abstract class DeleteMeasurementLineEvent required final int index, required final int measurementLineIndex, required final String filteredMeasurementMeasureId}) = - _$DeleteMeasurementLineEvent; + _$DeleteMeasurementLineEventImpl; String get sorId; String get type; @@ -3908,7 +3986,7 @@ abstract class DeleteMeasurementLineEvent int get measurementLineIndex; String get filteredMeasurementMeasureId; @JsonKey(ignore: true) - _$$DeleteMeasurementLineEventCopyWith<_$DeleteMeasurementLineEvent> + _$$DeleteMeasurementLineEventImplCopyWith<_$DeleteMeasurementLineEventImpl> get copyWith => throw _privateConstructorUsedError; } @@ -4016,24 +4094,25 @@ class _$MeasurementDetailStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$MeasurementDetailStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$MeasurementDetailStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -4041,9 +4120,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -4155,29 +4234,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends MeasurementDetailState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$MeasurementDetailStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$MeasurementDetailStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -4185,9 +4265,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -4299,14 +4379,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends MeasurementDetailState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call( {int qtyErrorMsg, @@ -4321,10 +4402,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$MeasurementDetailStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$MeasurementDetailStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -4340,7 +4422,7 @@ class __$$_LoadedCopyWithImpl<$Res> Object? preSor = freezed, Object? preNonSor = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( null == qtyErrorMsg ? _value.qtyErrorMsg : qtyErrorMsg // ignore: cast_nullable_to_non_nullable @@ -4383,8 +4465,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded( +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl( this.qtyErrorMsg, this.warningMsg, this.viewStatus, @@ -4463,10 +4545,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.qtyErrorMsg, qtyErrorMsg) || other.qtyErrorMsg == qtyErrorMsg) && (identical(other.warningMsg, warningMsg) || @@ -4498,8 +4580,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -4619,7 +4701,7 @@ abstract class _Loaded extends MeasurementDetailState { final List? sor, final List? nonSor, final List? preSor, - final List? preNonSor) = _$_Loaded; + final List? preNonSor) = _$LoadedImpl; const _Loaded._() : super._(); int get qtyErrorMsg; @@ -4632,23 +4714,25 @@ abstract class _Loaded extends MeasurementDetailState { List? get preSor; List? get preNonSor; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$MeasurementDetailStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$MeasurementDetailStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -4656,7 +4740,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -4667,8 +4751,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -4679,10 +4763,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -4692,8 +4776,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -4801,11 +4885,11 @@ class _$_Error extends _Error { } abstract class _Error extends MeasurementDetailState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.dart b/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.dart index 7da97d61a8..f662d8ad96 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.dart @@ -90,7 +90,7 @@ class MeasurementInboxBloc }, ); } - } on DioError catch (e) { + } on DioException catch (e) { emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); } catch (e) { emit(const MeasurementInboxState.error("CORE_SOMETHING_WENT_WRONG")); @@ -150,7 +150,7 @@ class MeasurementInboxBloc }, ); } - } on DioError catch (e) { + } on DioException catch (e) { emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); } } @@ -205,7 +205,7 @@ class MeasurementInboxBloc ); }, ); - } on DioError catch (e) { + } on DioException catch (e) { emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); } } @@ -254,7 +254,7 @@ class MeasurementInboxBloc value.mbInboxResponse.copyWith(items: itemList))); }, ); - } on DioError catch (e) { + } on DioException catch (e) { emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.freezed.dart index 5c73dbeed7..800940ae28 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/measurement_book.freezed.dart @@ -12,7 +12,7 @@ part of 'measurement_book.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$MeasurementInboxBlocEvent { @@ -136,11 +136,11 @@ class _$MeasurementInboxBlocEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$MeasurementBookInboxBlocEventCopyWith<$Res> { - factory _$$MeasurementBookInboxBlocEventCopyWith( - _$MeasurementBookInboxBlocEvent value, - $Res Function(_$MeasurementBookInboxBlocEvent) then) = - __$$MeasurementBookInboxBlocEventCopyWithImpl<$Res>; +abstract class _$$MeasurementBookInboxBlocEventImplCopyWith<$Res> { + factory _$$MeasurementBookInboxBlocEventImplCopyWith( + _$MeasurementBookInboxBlocEventImpl value, + $Res Function(_$MeasurementBookInboxBlocEventImpl) then) = + __$$MeasurementBookInboxBlocEventImplCopyWithImpl<$Res>; @useResult $Res call( {String tenantId, @@ -151,13 +151,13 @@ abstract class _$$MeasurementBookInboxBlocEventCopyWith<$Res> { } /// @nodoc -class __$$MeasurementBookInboxBlocEventCopyWithImpl<$Res> +class __$$MeasurementBookInboxBlocEventImplCopyWithImpl<$Res> extends _$MeasurementInboxBlocEventCopyWithImpl<$Res, - _$MeasurementBookInboxBlocEvent> - implements _$$MeasurementBookInboxBlocEventCopyWith<$Res> { - __$$MeasurementBookInboxBlocEventCopyWithImpl( - _$MeasurementBookInboxBlocEvent _value, - $Res Function(_$MeasurementBookInboxBlocEvent) _then) + _$MeasurementBookInboxBlocEventImpl> + implements _$$MeasurementBookInboxBlocEventImplCopyWith<$Res> { + __$$MeasurementBookInboxBlocEventImplCopyWithImpl( + _$MeasurementBookInboxBlocEventImpl _value, + $Res Function(_$MeasurementBookInboxBlocEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -169,7 +169,7 @@ class __$$MeasurementBookInboxBlocEventCopyWithImpl<$Res> Object? limit = null, Object? offset = null, }) { - return _then(_$MeasurementBookInboxBlocEvent( + return _then(_$MeasurementBookInboxBlocEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -196,8 +196,9 @@ class __$$MeasurementBookInboxBlocEventCopyWithImpl<$Res> /// @nodoc -class _$MeasurementBookInboxBlocEvent implements MeasurementBookInboxBlocEvent { - const _$MeasurementBookInboxBlocEvent( +class _$MeasurementBookInboxBlocEventImpl + implements MeasurementBookInboxBlocEvent { + const _$MeasurementBookInboxBlocEventImpl( {required this.tenantId, required this.businessService, required this.moduleName, @@ -221,10 +222,10 @@ class _$MeasurementBookInboxBlocEvent implements MeasurementBookInboxBlocEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$MeasurementBookInboxBlocEvent && + other is _$MeasurementBookInboxBlocEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.businessService, businessService) || @@ -242,9 +243,10 @@ class _$MeasurementBookInboxBlocEvent implements MeasurementBookInboxBlocEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$MeasurementBookInboxBlocEventCopyWith<_$MeasurementBookInboxBlocEvent> - get copyWith => __$$MeasurementBookInboxBlocEventCopyWithImpl< - _$MeasurementBookInboxBlocEvent>(this, _$identity); + _$$MeasurementBookInboxBlocEventImplCopyWith< + _$MeasurementBookInboxBlocEventImpl> + get copyWith => __$$MeasurementBookInboxBlocEventImplCopyWithImpl< + _$MeasurementBookInboxBlocEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -376,7 +378,7 @@ abstract class MeasurementBookInboxBlocEvent required final String businessService, required final String moduleName, required final int limit, - required final int offset}) = _$MeasurementBookInboxBlocEvent; + required final int offset}) = _$MeasurementBookInboxBlocEventImpl; String get tenantId; String get businessService; @@ -384,16 +386,17 @@ abstract class MeasurementBookInboxBlocEvent int get limit; int get offset; @JsonKey(ignore: true) - _$$MeasurementBookInboxBlocEventCopyWith<_$MeasurementBookInboxBlocEvent> + _$$MeasurementBookInboxBlocEventImplCopyWith< + _$MeasurementBookInboxBlocEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$MeasurementBookInboxSearchBlocEventCopyWith<$Res> { - factory _$$MeasurementBookInboxSearchBlocEventCopyWith( - _$MeasurementBookInboxSearchBlocEvent value, - $Res Function(_$MeasurementBookInboxSearchBlocEvent) then) = - __$$MeasurementBookInboxSearchBlocEventCopyWithImpl<$Res>; +abstract class _$$MeasurementBookInboxSearchBlocEventImplCopyWith<$Res> { + factory _$$MeasurementBookInboxSearchBlocEventImplCopyWith( + _$MeasurementBookInboxSearchBlocEventImpl value, + $Res Function(_$MeasurementBookInboxSearchBlocEventImpl) then) = + __$$MeasurementBookInboxSearchBlocEventImplCopyWithImpl<$Res>; @useResult $Res call( {List? ward, @@ -407,13 +410,13 @@ abstract class _$$MeasurementBookInboxSearchBlocEventCopyWith<$Res> { } /// @nodoc -class __$$MeasurementBookInboxSearchBlocEventCopyWithImpl<$Res> +class __$$MeasurementBookInboxSearchBlocEventImplCopyWithImpl<$Res> extends _$MeasurementInboxBlocEventCopyWithImpl<$Res, - _$MeasurementBookInboxSearchBlocEvent> - implements _$$MeasurementBookInboxSearchBlocEventCopyWith<$Res> { - __$$MeasurementBookInboxSearchBlocEventCopyWithImpl( - _$MeasurementBookInboxSearchBlocEvent _value, - $Res Function(_$MeasurementBookInboxSearchBlocEvent) _then) + _$MeasurementBookInboxSearchBlocEventImpl> + implements _$$MeasurementBookInboxSearchBlocEventImplCopyWith<$Res> { + __$$MeasurementBookInboxSearchBlocEventImplCopyWithImpl( + _$MeasurementBookInboxSearchBlocEventImpl _value, + $Res Function(_$MeasurementBookInboxSearchBlocEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -428,7 +431,7 @@ class __$$MeasurementBookInboxSearchBlocEventCopyWithImpl<$Res> Object? offset = null, Object? data = null, }) { - return _then(_$MeasurementBookInboxSearchBlocEvent( + return _then(_$MeasurementBookInboxSearchBlocEventImpl( ward: freezed == ward ? _value._ward : ward // ignore: cast_nullable_to_non_nullable @@ -467,9 +470,9 @@ class __$$MeasurementBookInboxSearchBlocEventCopyWithImpl<$Res> /// @nodoc -class _$MeasurementBookInboxSearchBlocEvent +class _$MeasurementBookInboxSearchBlocEventImpl implements MeasurementBookInboxSearchBlocEvent { - const _$MeasurementBookInboxSearchBlocEvent( + const _$MeasurementBookInboxSearchBlocEventImpl( {final List? ward, final List? status, this.projectId, @@ -526,10 +529,10 @@ class _$MeasurementBookInboxSearchBlocEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$MeasurementBookInboxSearchBlocEvent && + other is _$MeasurementBookInboxSearchBlocEventImpl && const DeepCollectionEquality().equals(other._ward, _ward) && const DeepCollectionEquality().equals(other._status, _status) && (identical(other.projectId, projectId) || @@ -558,10 +561,10 @@ class _$MeasurementBookInboxSearchBlocEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$MeasurementBookInboxSearchBlocEventCopyWith< - _$MeasurementBookInboxSearchBlocEvent> - get copyWith => __$$MeasurementBookInboxSearchBlocEventCopyWithImpl< - _$MeasurementBookInboxSearchBlocEvent>(this, _$identity); + _$$MeasurementBookInboxSearchBlocEventImplCopyWith< + _$MeasurementBookInboxSearchBlocEventImpl> + get copyWith => __$$MeasurementBookInboxSearchBlocEventImplCopyWithImpl< + _$MeasurementBookInboxSearchBlocEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -700,7 +703,7 @@ abstract class MeasurementBookInboxSearchBlocEvent required final int limit, required final int offset, required final Map> data}) = - _$MeasurementBookInboxSearchBlocEvent; + _$MeasurementBookInboxSearchBlocEventImpl; List? get ward; List? get status; @@ -711,17 +714,17 @@ abstract class MeasurementBookInboxSearchBlocEvent int get offset; Map> get data; @JsonKey(ignore: true) - _$$MeasurementBookInboxSearchBlocEventCopyWith< - _$MeasurementBookInboxSearchBlocEvent> + _$$MeasurementBookInboxSearchBlocEventImplCopyWith< + _$MeasurementBookInboxSearchBlocEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$MeasurementBookInboxSearchRepeatBlocEventCopyWith<$Res> { - factory _$$MeasurementBookInboxSearchRepeatBlocEventCopyWith( - _$MeasurementBookInboxSearchRepeatBlocEvent value, - $Res Function(_$MeasurementBookInboxSearchRepeatBlocEvent) then) = - __$$MeasurementBookInboxSearchRepeatBlocEventCopyWithImpl<$Res>; +abstract class _$$MeasurementBookInboxSearchRepeatBlocEventImplCopyWith<$Res> { + factory _$$MeasurementBookInboxSearchRepeatBlocEventImplCopyWith( + _$MeasurementBookInboxSearchRepeatBlocEventImpl value, + $Res Function(_$MeasurementBookInboxSearchRepeatBlocEventImpl) then) = + __$$MeasurementBookInboxSearchRepeatBlocEventImplCopyWithImpl<$Res>; @useResult $Res call( {String tenantId, @@ -732,13 +735,13 @@ abstract class _$$MeasurementBookInboxSearchRepeatBlocEventCopyWith<$Res> { } /// @nodoc -class __$$MeasurementBookInboxSearchRepeatBlocEventCopyWithImpl<$Res> +class __$$MeasurementBookInboxSearchRepeatBlocEventImplCopyWithImpl<$Res> extends _$MeasurementInboxBlocEventCopyWithImpl<$Res, - _$MeasurementBookInboxSearchRepeatBlocEvent> - implements _$$MeasurementBookInboxSearchRepeatBlocEventCopyWith<$Res> { - __$$MeasurementBookInboxSearchRepeatBlocEventCopyWithImpl( - _$MeasurementBookInboxSearchRepeatBlocEvent _value, - $Res Function(_$MeasurementBookInboxSearchRepeatBlocEvent) _then) + _$MeasurementBookInboxSearchRepeatBlocEventImpl> + implements _$$MeasurementBookInboxSearchRepeatBlocEventImplCopyWith<$Res> { + __$$MeasurementBookInboxSearchRepeatBlocEventImplCopyWithImpl( + _$MeasurementBookInboxSearchRepeatBlocEventImpl _value, + $Res Function(_$MeasurementBookInboxSearchRepeatBlocEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -750,7 +753,7 @@ class __$$MeasurementBookInboxSearchRepeatBlocEventCopyWithImpl<$Res> Object? limit = null, Object? offset = null, }) { - return _then(_$MeasurementBookInboxSearchRepeatBlocEvent( + return _then(_$MeasurementBookInboxSearchRepeatBlocEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -777,9 +780,9 @@ class __$$MeasurementBookInboxSearchRepeatBlocEventCopyWithImpl<$Res> /// @nodoc -class _$MeasurementBookInboxSearchRepeatBlocEvent +class _$MeasurementBookInboxSearchRepeatBlocEventImpl implements MeasurementBookInboxSearchRepeatBlocEvent { - const _$MeasurementBookInboxSearchRepeatBlocEvent( + const _$MeasurementBookInboxSearchRepeatBlocEventImpl( {required this.tenantId, required this.businessService, required this.moduleName, @@ -803,10 +806,10 @@ class _$MeasurementBookInboxSearchRepeatBlocEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$MeasurementBookInboxSearchRepeatBlocEvent && + other is _$MeasurementBookInboxSearchRepeatBlocEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.businessService, businessService) || @@ -824,10 +827,12 @@ class _$MeasurementBookInboxSearchRepeatBlocEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$MeasurementBookInboxSearchRepeatBlocEventCopyWith< - _$MeasurementBookInboxSearchRepeatBlocEvent> - get copyWith => __$$MeasurementBookInboxSearchRepeatBlocEventCopyWithImpl< - _$MeasurementBookInboxSearchRepeatBlocEvent>(this, _$identity); + _$$MeasurementBookInboxSearchRepeatBlocEventImplCopyWith< + _$MeasurementBookInboxSearchRepeatBlocEventImpl> + get copyWith => + __$$MeasurementBookInboxSearchRepeatBlocEventImplCopyWithImpl< + _$MeasurementBookInboxSearchRepeatBlocEventImpl>( + this, _$identity); @override @optionalTypeArgs @@ -956,11 +961,12 @@ class _$MeasurementBookInboxSearchRepeatBlocEvent abstract class MeasurementBookInboxSearchRepeatBlocEvent implements MeasurementInboxBlocEvent { const factory MeasurementBookInboxSearchRepeatBlocEvent( - {required final String tenantId, - required final String businessService, - required final String moduleName, - required final int limit, - required final int offset}) = _$MeasurementBookInboxSearchRepeatBlocEvent; + {required final String tenantId, + required final String businessService, + required final String moduleName, + required final int limit, + required final int offset}) = + _$MeasurementBookInboxSearchRepeatBlocEventImpl; String get tenantId; String get businessService; @@ -968,29 +974,29 @@ abstract class MeasurementBookInboxSearchRepeatBlocEvent int get limit; int get offset; @JsonKey(ignore: true) - _$$MeasurementBookInboxSearchRepeatBlocEventCopyWith< - _$MeasurementBookInboxSearchRepeatBlocEvent> + _$$MeasurementBookInboxSearchRepeatBlocEventImplCopyWith< + _$MeasurementBookInboxSearchRepeatBlocEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$MeasurementBookInboxSortBlocEventCopyWith<$Res> { - factory _$$MeasurementBookInboxSortBlocEventCopyWith( - _$MeasurementBookInboxSortBlocEvent value, - $Res Function(_$MeasurementBookInboxSortBlocEvent) then) = - __$$MeasurementBookInboxSortBlocEventCopyWithImpl<$Res>; +abstract class _$$MeasurementBookInboxSortBlocEventImplCopyWith<$Res> { + factory _$$MeasurementBookInboxSortBlocEventImplCopyWith( + _$MeasurementBookInboxSortBlocEventImpl value, + $Res Function(_$MeasurementBookInboxSortBlocEventImpl) then) = + __$$MeasurementBookInboxSortBlocEventImplCopyWithImpl<$Res>; @useResult $Res call({int sortCode}); } /// @nodoc -class __$$MeasurementBookInboxSortBlocEventCopyWithImpl<$Res> +class __$$MeasurementBookInboxSortBlocEventImplCopyWithImpl<$Res> extends _$MeasurementInboxBlocEventCopyWithImpl<$Res, - _$MeasurementBookInboxSortBlocEvent> - implements _$$MeasurementBookInboxSortBlocEventCopyWith<$Res> { - __$$MeasurementBookInboxSortBlocEventCopyWithImpl( - _$MeasurementBookInboxSortBlocEvent _value, - $Res Function(_$MeasurementBookInboxSortBlocEvent) _then) + _$MeasurementBookInboxSortBlocEventImpl> + implements _$$MeasurementBookInboxSortBlocEventImplCopyWith<$Res> { + __$$MeasurementBookInboxSortBlocEventImplCopyWithImpl( + _$MeasurementBookInboxSortBlocEventImpl _value, + $Res Function(_$MeasurementBookInboxSortBlocEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -998,7 +1004,7 @@ class __$$MeasurementBookInboxSortBlocEventCopyWithImpl<$Res> $Res call({ Object? sortCode = null, }) { - return _then(_$MeasurementBookInboxSortBlocEvent( + return _then(_$MeasurementBookInboxSortBlocEventImpl( sortCode: null == sortCode ? _value.sortCode : sortCode // ignore: cast_nullable_to_non_nullable @@ -1009,9 +1015,9 @@ class __$$MeasurementBookInboxSortBlocEventCopyWithImpl<$Res> /// @nodoc -class _$MeasurementBookInboxSortBlocEvent +class _$MeasurementBookInboxSortBlocEventImpl implements MeasurementBookInboxSortBlocEvent { - const _$MeasurementBookInboxSortBlocEvent({required this.sortCode}); + const _$MeasurementBookInboxSortBlocEventImpl({required this.sortCode}); @override final int sortCode; @@ -1022,10 +1028,10 @@ class _$MeasurementBookInboxSortBlocEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$MeasurementBookInboxSortBlocEvent && + other is _$MeasurementBookInboxSortBlocEventImpl && (identical(other.sortCode, sortCode) || other.sortCode == sortCode)); } @@ -1036,10 +1042,10 @@ class _$MeasurementBookInboxSortBlocEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$MeasurementBookInboxSortBlocEventCopyWith< - _$MeasurementBookInboxSortBlocEvent> - get copyWith => __$$MeasurementBookInboxSortBlocEventCopyWithImpl< - _$MeasurementBookInboxSortBlocEvent>(this, _$identity); + _$$MeasurementBookInboxSortBlocEventImplCopyWith< + _$MeasurementBookInboxSortBlocEventImpl> + get copyWith => __$$MeasurementBookInboxSortBlocEventImplCopyWithImpl< + _$MeasurementBookInboxSortBlocEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -1167,39 +1173,39 @@ class _$MeasurementBookInboxSortBlocEvent abstract class MeasurementBookInboxSortBlocEvent implements MeasurementInboxBlocEvent { const factory MeasurementBookInboxSortBlocEvent( - {required final int sortCode}) = _$MeasurementBookInboxSortBlocEvent; + {required final int sortCode}) = _$MeasurementBookInboxSortBlocEventImpl; int get sortCode; @JsonKey(ignore: true) - _$$MeasurementBookInboxSortBlocEventCopyWith< - _$MeasurementBookInboxSortBlocEvent> + _$$MeasurementBookInboxSortBlocEventImplCopyWith< + _$MeasurementBookInboxSortBlocEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$MeasurementBookInboxBlocClearEventCopyWith<$Res> { - factory _$$MeasurementBookInboxBlocClearEventCopyWith( - _$MeasurementBookInboxBlocClearEvent value, - $Res Function(_$MeasurementBookInboxBlocClearEvent) then) = - __$$MeasurementBookInboxBlocClearEventCopyWithImpl<$Res>; +abstract class _$$MeasurementBookInboxBlocClearEventImplCopyWith<$Res> { + factory _$$MeasurementBookInboxBlocClearEventImplCopyWith( + _$MeasurementBookInboxBlocClearEventImpl value, + $Res Function(_$MeasurementBookInboxBlocClearEventImpl) then) = + __$$MeasurementBookInboxBlocClearEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$MeasurementBookInboxBlocClearEventCopyWithImpl<$Res> +class __$$MeasurementBookInboxBlocClearEventImplCopyWithImpl<$Res> extends _$MeasurementInboxBlocEventCopyWithImpl<$Res, - _$MeasurementBookInboxBlocClearEvent> - implements _$$MeasurementBookInboxBlocClearEventCopyWith<$Res> { - __$$MeasurementBookInboxBlocClearEventCopyWithImpl( - _$MeasurementBookInboxBlocClearEvent _value, - $Res Function(_$MeasurementBookInboxBlocClearEvent) _then) + _$MeasurementBookInboxBlocClearEventImpl> + implements _$$MeasurementBookInboxBlocClearEventImplCopyWith<$Res> { + __$$MeasurementBookInboxBlocClearEventImplCopyWithImpl( + _$MeasurementBookInboxBlocClearEventImpl _value, + $Res Function(_$MeasurementBookInboxBlocClearEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$MeasurementBookInboxBlocClearEvent +class _$MeasurementBookInboxBlocClearEventImpl implements MeasurementBookInboxBlocClearEvent { - const _$MeasurementBookInboxBlocClearEvent(); + const _$MeasurementBookInboxBlocClearEventImpl(); @override String toString() { @@ -1207,10 +1213,10 @@ class _$MeasurementBookInboxBlocClearEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$MeasurementBookInboxBlocClearEvent); + other is _$MeasurementBookInboxBlocClearEventImpl); } @override @@ -1342,7 +1348,7 @@ class _$MeasurementBookInboxBlocClearEvent abstract class MeasurementBookInboxBlocClearEvent implements MeasurementInboxBlocEvent { const factory MeasurementBookInboxBlocClearEvent() = - _$MeasurementBookInboxBlocClearEvent; + _$MeasurementBookInboxBlocClearEventImpl; } /// @nodoc @@ -1449,24 +1455,25 @@ class _$MeasurementInboxStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$MeasurementInboxStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$MeasurementInboxStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -1474,9 +1481,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -1588,29 +1595,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends MeasurementInboxState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$MeasurementInboxStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$MeasurementInboxStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -1618,9 +1626,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -1732,14 +1740,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends MeasurementInboxState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call( {MBInboxResponse mbInboxResponse, @@ -1756,10 +1765,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$MeasurementInboxStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$MeasurementInboxStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1775,7 +1785,7 @@ class __$$_LoadedCopyWithImpl<$Res> Object? search = null, Object? data = null, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( null == mbInboxResponse ? _value.mbInboxResponse : mbInboxResponse // ignore: cast_nullable_to_non_nullable @@ -1826,8 +1836,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded( +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl( this.mbInboxResponse, this.isLoading, final List? ward, @@ -1888,10 +1898,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.mbInboxResponse, mbInboxResponse) || other.mbInboxResponse == mbInboxResponse) && (identical(other.isLoading, isLoading) || @@ -1924,8 +1934,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -2045,7 +2055,7 @@ abstract class _Loaded extends MeasurementInboxState { final String? mbNumber, final String? projectName, final bool search, - final Map> data) = _$_Loaded; + final Map> data) = _$LoadedImpl; const _Loaded._() : super._(); MBInboxResponse get mbInboxResponse; @@ -2058,23 +2068,25 @@ abstract class _Loaded extends MeasurementInboxState { bool get search; Map> get data; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$MeasurementInboxStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$MeasurementInboxStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -2082,7 +2094,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -2093,8 +2105,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -2105,10 +2117,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -2118,8 +2130,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -2227,11 +2239,11 @@ class _$_Error extends _Error { } abstract class _Error extends MeasurementInboxState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart b/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart index 4ee5a6329b..b969f67163 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart @@ -52,7 +52,7 @@ class ProjectTypeBloc extends Bloc { emit( ProjectTypeState.loaded(res), ); - } on DioError catch (e) { + } on DioException catch (e) { // emit(MeasurementInboxState.error(e.response?.data['Errors'][0]['code'])); emit(ProjectTypeState.error(e.toString())); } diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/project_type.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/mb/project_type.freezed.dart index 023df349f8..30945d6425 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/project_type.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/project_type.freezed.dart @@ -12,7 +12,7 @@ part of 'project_type.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$ProjectTypeBlocEvent { @@ -76,20 +76,20 @@ class _$ProjectTypeBlocEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$ProjectTypeEventCopyWith<$Res> { - factory _$$ProjectTypeEventCopyWith( - _$ProjectTypeEvent value, $Res Function(_$ProjectTypeEvent) then) = - __$$ProjectTypeEventCopyWithImpl<$Res>; +abstract class _$$ProjectTypeEventImplCopyWith<$Res> { + factory _$$ProjectTypeEventImplCopyWith(_$ProjectTypeEventImpl value, + $Res Function(_$ProjectTypeEventImpl) then) = + __$$ProjectTypeEventImplCopyWithImpl<$Res>; @useResult $Res call({String tenantId}); } /// @nodoc -class __$$ProjectTypeEventCopyWithImpl<$Res> - extends _$ProjectTypeBlocEventCopyWithImpl<$Res, _$ProjectTypeEvent> - implements _$$ProjectTypeEventCopyWith<$Res> { - __$$ProjectTypeEventCopyWithImpl( - _$ProjectTypeEvent _value, $Res Function(_$ProjectTypeEvent) _then) +class __$$ProjectTypeEventImplCopyWithImpl<$Res> + extends _$ProjectTypeBlocEventCopyWithImpl<$Res, _$ProjectTypeEventImpl> + implements _$$ProjectTypeEventImplCopyWith<$Res> { + __$$ProjectTypeEventImplCopyWithImpl(_$ProjectTypeEventImpl _value, + $Res Function(_$ProjectTypeEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -97,7 +97,7 @@ class __$$ProjectTypeEventCopyWithImpl<$Res> $Res call({ Object? tenantId = null, }) { - return _then(_$ProjectTypeEvent( + return _then(_$ProjectTypeEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -108,8 +108,8 @@ class __$$ProjectTypeEventCopyWithImpl<$Res> /// @nodoc -class _$ProjectTypeEvent implements ProjectTypeEvent { - const _$ProjectTypeEvent({required this.tenantId}); +class _$ProjectTypeEventImpl implements ProjectTypeEvent { + const _$ProjectTypeEventImpl({required this.tenantId}); @override final String tenantId; @@ -120,10 +120,10 @@ class _$ProjectTypeEvent implements ProjectTypeEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$ProjectTypeEvent && + other is _$ProjectTypeEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId)); } @@ -134,8 +134,9 @@ class _$ProjectTypeEvent implements ProjectTypeEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$ProjectTypeEventCopyWith<_$ProjectTypeEvent> get copyWith => - __$$ProjectTypeEventCopyWithImpl<_$ProjectTypeEvent>(this, _$identity); + _$$ProjectTypeEventImplCopyWith<_$ProjectTypeEventImpl> get copyWith => + __$$ProjectTypeEventImplCopyWithImpl<_$ProjectTypeEventImpl>( + this, _$identity); @override @optionalTypeArgs @@ -202,36 +203,37 @@ class _$ProjectTypeEvent implements ProjectTypeEvent { abstract class ProjectTypeEvent implements ProjectTypeBlocEvent { const factory ProjectTypeEvent({required final String tenantId}) = - _$ProjectTypeEvent; + _$ProjectTypeEventImpl; String get tenantId; @JsonKey(ignore: true) - _$$ProjectTypeEventCopyWith<_$ProjectTypeEvent> get copyWith => + _$$ProjectTypeEventImplCopyWith<_$ProjectTypeEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$ProjectTypeBlocClearEventCopyWith<$Res> { - factory _$$ProjectTypeBlocClearEventCopyWith( - _$ProjectTypeBlocClearEvent value, - $Res Function(_$ProjectTypeBlocClearEvent) then) = - __$$ProjectTypeBlocClearEventCopyWithImpl<$Res>; +abstract class _$$ProjectTypeBlocClearEventImplCopyWith<$Res> { + factory _$$ProjectTypeBlocClearEventImplCopyWith( + _$ProjectTypeBlocClearEventImpl value, + $Res Function(_$ProjectTypeBlocClearEventImpl) then) = + __$$ProjectTypeBlocClearEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$ProjectTypeBlocClearEventCopyWithImpl<$Res> +class __$$ProjectTypeBlocClearEventImplCopyWithImpl<$Res> extends _$ProjectTypeBlocEventCopyWithImpl<$Res, - _$ProjectTypeBlocClearEvent> - implements _$$ProjectTypeBlocClearEventCopyWith<$Res> { - __$$ProjectTypeBlocClearEventCopyWithImpl(_$ProjectTypeBlocClearEvent _value, - $Res Function(_$ProjectTypeBlocClearEvent) _then) + _$ProjectTypeBlocClearEventImpl> + implements _$$ProjectTypeBlocClearEventImplCopyWith<$Res> { + __$$ProjectTypeBlocClearEventImplCopyWithImpl( + _$ProjectTypeBlocClearEventImpl _value, + $Res Function(_$ProjectTypeBlocClearEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$ProjectTypeBlocClearEvent implements ProjectTypeBlocClearEvent { - const _$ProjectTypeBlocClearEvent(); +class _$ProjectTypeBlocClearEventImpl implements ProjectTypeBlocClearEvent { + const _$ProjectTypeBlocClearEventImpl(); @override String toString() { @@ -239,10 +241,10 @@ class _$ProjectTypeBlocClearEvent implements ProjectTypeBlocClearEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$ProjectTypeBlocClearEvent); + other is _$ProjectTypeBlocClearEventImpl); } @override @@ -312,7 +314,7 @@ class _$ProjectTypeBlocClearEvent implements ProjectTypeBlocClearEvent { } abstract class ProjectTypeBlocClearEvent implements ProjectTypeBlocEvent { - const factory ProjectTypeBlocClearEvent() = _$ProjectTypeBlocClearEvent; + const factory ProjectTypeBlocClearEvent() = _$ProjectTypeBlocClearEventImpl; } /// @nodoc @@ -388,24 +390,25 @@ class _$ProjectTypeStateCopyWithImpl<$Res, $Val extends ProjectTypeState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$ProjectTypeStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$ProjectTypeStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -413,9 +416,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -497,29 +500,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends ProjectTypeState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$ProjectTypeStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$ProjectTypeStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -527,9 +531,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -611,14 +615,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends ProjectTypeState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({MBProjectType? mbProjectType}); @@ -626,10 +631,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$ProjectTypeStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$ProjectTypeStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -637,7 +643,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? mbProjectType = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == mbProjectType ? _value.mbProjectType : mbProjectType // ignore: cast_nullable_to_non_nullable @@ -660,8 +666,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.mbProjectType) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.mbProjectType) : super._(); @override final MBProjectType? mbProjectType; @@ -672,10 +678,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.mbProjectType, mbProjectType) || other.mbProjectType == mbProjectType)); } @@ -686,8 +692,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -765,28 +771,30 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends ProjectTypeState { - const factory _Loaded(final MBProjectType? mbProjectType) = _$_Loaded; + const factory _Loaded(final MBProjectType? mbProjectType) = _$LoadedImpl; const _Loaded._() : super._(); MBProjectType? get mbProjectType; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$ProjectTypeStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$ProjectTypeStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -794,7 +802,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -805,8 +813,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -817,10 +825,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -830,8 +838,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -909,11 +917,11 @@ class _$_Error extends _Error { } abstract class _Error extends ProjectTypeState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.dart b/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.dart index 5723cda5b9..46ded332e2 100644 --- a/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.dart +++ b/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.dart @@ -100,7 +100,7 @@ class WorkOrderInboxBloc }, ); } - } on DioError catch (e) { + } on DioException catch (e) { emit(WorkOrderInboxState.error(e.response?.data['Errors'][0]['code'])); } } @@ -147,7 +147,7 @@ class WorkOrderInboxBloc emit(value.copyWith(contracts: itemList)); }, ); - } on DioError catch (e) { + } on DioException catch (e) { emit(WorkOrderInboxState.error(e.response?.data['Errors'][0]['code'])); } } @@ -229,7 +229,7 @@ class WorkOrderInboxBloc }, ); } - } on DioError catch (e) { + } on DioException catch (e) { emit(WorkOrderInboxState.error(e.response?.data['Errors'][0]['code'])); } } @@ -290,7 +290,7 @@ class WorkOrderInboxBloc ); }, ); - } on DioError catch (e) { + } on DioException catch (e) { emit(WorkOrderInboxState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.freezed.dart index 9abe28156b..5f29395997 100644 --- a/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.freezed.dart @@ -12,7 +12,7 @@ part of 'workorder_book.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$WorkOrderInboxBlocEvent { @@ -131,11 +131,11 @@ class _$WorkOrderInboxBlocEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$WorkOrderInboxBlocCreateEventCopyWith<$Res> { - factory _$$WorkOrderInboxBlocCreateEventCopyWith( - _$WorkOrderInboxBlocCreateEvent value, - $Res Function(_$WorkOrderInboxBlocCreateEvent) then) = - __$$WorkOrderInboxBlocCreateEventCopyWithImpl<$Res>; +abstract class _$$WorkOrderInboxBlocCreateEventImplCopyWith<$Res> { + factory _$$WorkOrderInboxBlocCreateEventImplCopyWith( + _$WorkOrderInboxBlocCreateEventImpl value, + $Res Function(_$WorkOrderInboxBlocCreateEventImpl) then) = + __$$WorkOrderInboxBlocCreateEventImplCopyWithImpl<$Res>; @useResult $Res call( {String tenantId, @@ -146,13 +146,13 @@ abstract class _$$WorkOrderInboxBlocCreateEventCopyWith<$Res> { } /// @nodoc -class __$$WorkOrderInboxBlocCreateEventCopyWithImpl<$Res> +class __$$WorkOrderInboxBlocCreateEventImplCopyWithImpl<$Res> extends _$WorkOrderInboxBlocEventCopyWithImpl<$Res, - _$WorkOrderInboxBlocCreateEvent> - implements _$$WorkOrderInboxBlocCreateEventCopyWith<$Res> { - __$$WorkOrderInboxBlocCreateEventCopyWithImpl( - _$WorkOrderInboxBlocCreateEvent _value, - $Res Function(_$WorkOrderInboxBlocCreateEvent) _then) + _$WorkOrderInboxBlocCreateEventImpl> + implements _$$WorkOrderInboxBlocCreateEventImplCopyWith<$Res> { + __$$WorkOrderInboxBlocCreateEventImplCopyWithImpl( + _$WorkOrderInboxBlocCreateEventImpl _value, + $Res Function(_$WorkOrderInboxBlocCreateEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -164,7 +164,7 @@ class __$$WorkOrderInboxBlocCreateEventCopyWithImpl<$Res> Object? limit = null, Object? offset = null, }) { - return _then(_$WorkOrderInboxBlocCreateEvent( + return _then(_$WorkOrderInboxBlocCreateEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -191,8 +191,9 @@ class __$$WorkOrderInboxBlocCreateEventCopyWithImpl<$Res> /// @nodoc -class _$WorkOrderInboxBlocCreateEvent implements WorkOrderInboxBlocCreateEvent { - const _$WorkOrderInboxBlocCreateEvent( +class _$WorkOrderInboxBlocCreateEventImpl + implements WorkOrderInboxBlocCreateEvent { + const _$WorkOrderInboxBlocCreateEventImpl( {required this.tenantId, required this.businessService, required this.moduleName, @@ -216,10 +217,10 @@ class _$WorkOrderInboxBlocCreateEvent implements WorkOrderInboxBlocCreateEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$WorkOrderInboxBlocCreateEvent && + other is _$WorkOrderInboxBlocCreateEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.businessService, businessService) || @@ -237,9 +238,10 @@ class _$WorkOrderInboxBlocCreateEvent implements WorkOrderInboxBlocCreateEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$WorkOrderInboxBlocCreateEventCopyWith<_$WorkOrderInboxBlocCreateEvent> - get copyWith => __$$WorkOrderInboxBlocCreateEventCopyWithImpl< - _$WorkOrderInboxBlocCreateEvent>(this, _$identity); + _$$WorkOrderInboxBlocCreateEventImplCopyWith< + _$WorkOrderInboxBlocCreateEventImpl> + get copyWith => __$$WorkOrderInboxBlocCreateEventImplCopyWithImpl< + _$WorkOrderInboxBlocCreateEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -366,7 +368,7 @@ abstract class WorkOrderInboxBlocCreateEvent required final String businessService, required final String moduleName, required final int limit, - required final int offset}) = _$WorkOrderInboxBlocCreateEvent; + required final int offset}) = _$WorkOrderInboxBlocCreateEventImpl; String get tenantId; String get businessService; @@ -374,28 +376,29 @@ abstract class WorkOrderInboxBlocCreateEvent int get limit; int get offset; @JsonKey(ignore: true) - _$$WorkOrderInboxBlocCreateEventCopyWith<_$WorkOrderInboxBlocCreateEvent> + _$$WorkOrderInboxBlocCreateEventImplCopyWith< + _$WorkOrderInboxBlocCreateEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$WorkOrderInboxSortBlocEventCopyWith<$Res> { - factory _$$WorkOrderInboxSortBlocEventCopyWith( - _$WorkOrderInboxSortBlocEvent value, - $Res Function(_$WorkOrderInboxSortBlocEvent) then) = - __$$WorkOrderInboxSortBlocEventCopyWithImpl<$Res>; +abstract class _$$WorkOrderInboxSortBlocEventImplCopyWith<$Res> { + factory _$$WorkOrderInboxSortBlocEventImplCopyWith( + _$WorkOrderInboxSortBlocEventImpl value, + $Res Function(_$WorkOrderInboxSortBlocEventImpl) then) = + __$$WorkOrderInboxSortBlocEventImplCopyWithImpl<$Res>; @useResult $Res call({int sortCode}); } /// @nodoc -class __$$WorkOrderInboxSortBlocEventCopyWithImpl<$Res> +class __$$WorkOrderInboxSortBlocEventImplCopyWithImpl<$Res> extends _$WorkOrderInboxBlocEventCopyWithImpl<$Res, - _$WorkOrderInboxSortBlocEvent> - implements _$$WorkOrderInboxSortBlocEventCopyWith<$Res> { - __$$WorkOrderInboxSortBlocEventCopyWithImpl( - _$WorkOrderInboxSortBlocEvent _value, - $Res Function(_$WorkOrderInboxSortBlocEvent) _then) + _$WorkOrderInboxSortBlocEventImpl> + implements _$$WorkOrderInboxSortBlocEventImplCopyWith<$Res> { + __$$WorkOrderInboxSortBlocEventImplCopyWithImpl( + _$WorkOrderInboxSortBlocEventImpl _value, + $Res Function(_$WorkOrderInboxSortBlocEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -403,7 +406,7 @@ class __$$WorkOrderInboxSortBlocEventCopyWithImpl<$Res> $Res call({ Object? sortCode = null, }) { - return _then(_$WorkOrderInboxSortBlocEvent( + return _then(_$WorkOrderInboxSortBlocEventImpl( sortCode: null == sortCode ? _value.sortCode : sortCode // ignore: cast_nullable_to_non_nullable @@ -414,8 +417,8 @@ class __$$WorkOrderInboxSortBlocEventCopyWithImpl<$Res> /// @nodoc -class _$WorkOrderInboxSortBlocEvent implements WorkOrderInboxSortBlocEvent { - const _$WorkOrderInboxSortBlocEvent({required this.sortCode}); +class _$WorkOrderInboxSortBlocEventImpl implements WorkOrderInboxSortBlocEvent { + const _$WorkOrderInboxSortBlocEventImpl({required this.sortCode}); @override final int sortCode; @@ -426,10 +429,10 @@ class _$WorkOrderInboxSortBlocEvent implements WorkOrderInboxSortBlocEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$WorkOrderInboxSortBlocEvent && + other is _$WorkOrderInboxSortBlocEventImpl && (identical(other.sortCode, sortCode) || other.sortCode == sortCode)); } @@ -440,9 +443,9 @@ class _$WorkOrderInboxSortBlocEvent implements WorkOrderInboxSortBlocEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$WorkOrderInboxSortBlocEventCopyWith<_$WorkOrderInboxSortBlocEvent> - get copyWith => __$$WorkOrderInboxSortBlocEventCopyWithImpl< - _$WorkOrderInboxSortBlocEvent>(this, _$identity); + _$$WorkOrderInboxSortBlocEventImplCopyWith<_$WorkOrderInboxSortBlocEventImpl> + get copyWith => __$$WorkOrderInboxSortBlocEventImplCopyWithImpl< + _$WorkOrderInboxSortBlocEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -564,20 +567,20 @@ class _$WorkOrderInboxSortBlocEvent implements WorkOrderInboxSortBlocEvent { abstract class WorkOrderInboxSortBlocEvent implements WorkOrderInboxBlocEvent { const factory WorkOrderInboxSortBlocEvent({required final int sortCode}) = - _$WorkOrderInboxSortBlocEvent; + _$WorkOrderInboxSortBlocEventImpl; int get sortCode; @JsonKey(ignore: true) - _$$WorkOrderInboxSortBlocEventCopyWith<_$WorkOrderInboxSortBlocEvent> + _$$WorkOrderInboxSortBlocEventImplCopyWith<_$WorkOrderInboxSortBlocEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$WorkOrderInboxSearchBlocEventCopyWith<$Res> { - factory _$$WorkOrderInboxSearchBlocEventCopyWith( - _$WorkOrderInboxSearchBlocEvent value, - $Res Function(_$WorkOrderInboxSearchBlocEvent) then) = - __$$WorkOrderInboxSearchBlocEventCopyWithImpl<$Res>; +abstract class _$$WorkOrderInboxSearchBlocEventImplCopyWith<$Res> { + factory _$$WorkOrderInboxSearchBlocEventImplCopyWith( + _$WorkOrderInboxSearchBlocEventImpl value, + $Res Function(_$WorkOrderInboxSearchBlocEventImpl) then) = + __$$WorkOrderInboxSearchBlocEventImplCopyWithImpl<$Res>; @useResult $Res call( {List? ward, @@ -590,13 +593,13 @@ abstract class _$$WorkOrderInboxSearchBlocEventCopyWith<$Res> { } /// @nodoc -class __$$WorkOrderInboxSearchBlocEventCopyWithImpl<$Res> +class __$$WorkOrderInboxSearchBlocEventImplCopyWithImpl<$Res> extends _$WorkOrderInboxBlocEventCopyWithImpl<$Res, - _$WorkOrderInboxSearchBlocEvent> - implements _$$WorkOrderInboxSearchBlocEventCopyWith<$Res> { - __$$WorkOrderInboxSearchBlocEventCopyWithImpl( - _$WorkOrderInboxSearchBlocEvent _value, - $Res Function(_$WorkOrderInboxSearchBlocEvent) _then) + _$WorkOrderInboxSearchBlocEventImpl> + implements _$$WorkOrderInboxSearchBlocEventImplCopyWith<$Res> { + __$$WorkOrderInboxSearchBlocEventImplCopyWithImpl( + _$WorkOrderInboxSearchBlocEventImpl _value, + $Res Function(_$WorkOrderInboxSearchBlocEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -610,7 +613,7 @@ class __$$WorkOrderInboxSearchBlocEventCopyWithImpl<$Res> Object? offset = null, Object? data = null, }) { - return _then(_$WorkOrderInboxSearchBlocEvent( + return _then(_$WorkOrderInboxSearchBlocEventImpl( ward: freezed == ward ? _value._ward : ward // ignore: cast_nullable_to_non_nullable @@ -645,8 +648,9 @@ class __$$WorkOrderInboxSearchBlocEventCopyWithImpl<$Res> /// @nodoc -class _$WorkOrderInboxSearchBlocEvent implements WorkOrderInboxSearchBlocEvent { - const _$WorkOrderInboxSearchBlocEvent( +class _$WorkOrderInboxSearchBlocEventImpl + implements WorkOrderInboxSearchBlocEvent { + const _$WorkOrderInboxSearchBlocEventImpl( {final List? ward, this.projectId, this.contractNumber, @@ -691,10 +695,10 @@ class _$WorkOrderInboxSearchBlocEvent implements WorkOrderInboxSearchBlocEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$WorkOrderInboxSearchBlocEvent && + other is _$WorkOrderInboxSearchBlocEventImpl && const DeepCollectionEquality().equals(other._ward, _ward) && (identical(other.projectId, projectId) || other.projectId == projectId) && @@ -721,9 +725,10 @@ class _$WorkOrderInboxSearchBlocEvent implements WorkOrderInboxSearchBlocEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$WorkOrderInboxSearchBlocEventCopyWith<_$WorkOrderInboxSearchBlocEvent> - get copyWith => __$$WorkOrderInboxSearchBlocEventCopyWithImpl< - _$WorkOrderInboxSearchBlocEvent>(this, _$identity); + _$$WorkOrderInboxSearchBlocEventImplCopyWith< + _$WorkOrderInboxSearchBlocEventImpl> + get copyWith => __$$WorkOrderInboxSearchBlocEventImplCopyWithImpl< + _$WorkOrderInboxSearchBlocEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -856,7 +861,7 @@ abstract class WorkOrderInboxSearchBlocEvent required final int limit, required final int offset, required final Map data}) = - _$WorkOrderInboxSearchBlocEvent; + _$WorkOrderInboxSearchBlocEventImpl; List? get ward; String? get projectId; @@ -866,16 +871,17 @@ abstract class WorkOrderInboxSearchBlocEvent int get offset; Map get data; @JsonKey(ignore: true) - _$$WorkOrderInboxSearchBlocEventCopyWith<_$WorkOrderInboxSearchBlocEvent> + _$$WorkOrderInboxSearchBlocEventImplCopyWith< + _$WorkOrderInboxSearchBlocEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$WorkOrderInboxSearchRepeatBlocEventCopyWith<$Res> { - factory _$$WorkOrderInboxSearchRepeatBlocEventCopyWith( - _$WorkOrderInboxSearchRepeatBlocEvent value, - $Res Function(_$WorkOrderInboxSearchRepeatBlocEvent) then) = - __$$WorkOrderInboxSearchRepeatBlocEventCopyWithImpl<$Res>; +abstract class _$$WorkOrderInboxSearchRepeatBlocEventImplCopyWith<$Res> { + factory _$$WorkOrderInboxSearchRepeatBlocEventImplCopyWith( + _$WorkOrderInboxSearchRepeatBlocEventImpl value, + $Res Function(_$WorkOrderInboxSearchRepeatBlocEventImpl) then) = + __$$WorkOrderInboxSearchRepeatBlocEventImplCopyWithImpl<$Res>; @useResult $Res call( {String tenantId, @@ -886,13 +892,13 @@ abstract class _$$WorkOrderInboxSearchRepeatBlocEventCopyWith<$Res> { } /// @nodoc -class __$$WorkOrderInboxSearchRepeatBlocEventCopyWithImpl<$Res> +class __$$WorkOrderInboxSearchRepeatBlocEventImplCopyWithImpl<$Res> extends _$WorkOrderInboxBlocEventCopyWithImpl<$Res, - _$WorkOrderInboxSearchRepeatBlocEvent> - implements _$$WorkOrderInboxSearchRepeatBlocEventCopyWith<$Res> { - __$$WorkOrderInboxSearchRepeatBlocEventCopyWithImpl( - _$WorkOrderInboxSearchRepeatBlocEvent _value, - $Res Function(_$WorkOrderInboxSearchRepeatBlocEvent) _then) + _$WorkOrderInboxSearchRepeatBlocEventImpl> + implements _$$WorkOrderInboxSearchRepeatBlocEventImplCopyWith<$Res> { + __$$WorkOrderInboxSearchRepeatBlocEventImplCopyWithImpl( + _$WorkOrderInboxSearchRepeatBlocEventImpl _value, + $Res Function(_$WorkOrderInboxSearchRepeatBlocEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -904,7 +910,7 @@ class __$$WorkOrderInboxSearchRepeatBlocEventCopyWithImpl<$Res> Object? limit = null, Object? offset = null, }) { - return _then(_$WorkOrderInboxSearchRepeatBlocEvent( + return _then(_$WorkOrderInboxSearchRepeatBlocEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -931,9 +937,9 @@ class __$$WorkOrderInboxSearchRepeatBlocEventCopyWithImpl<$Res> /// @nodoc -class _$WorkOrderInboxSearchRepeatBlocEvent +class _$WorkOrderInboxSearchRepeatBlocEventImpl implements WorkOrderInboxSearchRepeatBlocEvent { - const _$WorkOrderInboxSearchRepeatBlocEvent( + const _$WorkOrderInboxSearchRepeatBlocEventImpl( {required this.tenantId, required this.businessService, required this.moduleName, @@ -957,10 +963,10 @@ class _$WorkOrderInboxSearchRepeatBlocEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$WorkOrderInboxSearchRepeatBlocEvent && + other is _$WorkOrderInboxSearchRepeatBlocEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.businessService, businessService) || @@ -978,10 +984,10 @@ class _$WorkOrderInboxSearchRepeatBlocEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$WorkOrderInboxSearchRepeatBlocEventCopyWith< - _$WorkOrderInboxSearchRepeatBlocEvent> - get copyWith => __$$WorkOrderInboxSearchRepeatBlocEventCopyWithImpl< - _$WorkOrderInboxSearchRepeatBlocEvent>(this, _$identity); + _$$WorkOrderInboxSearchRepeatBlocEventImplCopyWith< + _$WorkOrderInboxSearchRepeatBlocEventImpl> + get copyWith => __$$WorkOrderInboxSearchRepeatBlocEventImplCopyWithImpl< + _$WorkOrderInboxSearchRepeatBlocEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -1109,7 +1115,7 @@ abstract class WorkOrderInboxSearchRepeatBlocEvent required final String businessService, required final String moduleName, required final int limit, - required final int offset}) = _$WorkOrderInboxSearchRepeatBlocEvent; + required final int offset}) = _$WorkOrderInboxSearchRepeatBlocEventImpl; String get tenantId; String get businessService; @@ -1117,34 +1123,35 @@ abstract class WorkOrderInboxSearchRepeatBlocEvent int get limit; int get offset; @JsonKey(ignore: true) - _$$WorkOrderInboxSearchRepeatBlocEventCopyWith< - _$WorkOrderInboxSearchRepeatBlocEvent> + _$$WorkOrderInboxSearchRepeatBlocEventImplCopyWith< + _$WorkOrderInboxSearchRepeatBlocEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$WorkOrderInboxBlocClearEventCopyWith<$Res> { - factory _$$WorkOrderInboxBlocClearEventCopyWith( - _$WorkOrderInboxBlocClearEvent value, - $Res Function(_$WorkOrderInboxBlocClearEvent) then) = - __$$WorkOrderInboxBlocClearEventCopyWithImpl<$Res>; +abstract class _$$WorkOrderInboxBlocClearEventImplCopyWith<$Res> { + factory _$$WorkOrderInboxBlocClearEventImplCopyWith( + _$WorkOrderInboxBlocClearEventImpl value, + $Res Function(_$WorkOrderInboxBlocClearEventImpl) then) = + __$$WorkOrderInboxBlocClearEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$WorkOrderInboxBlocClearEventCopyWithImpl<$Res> +class __$$WorkOrderInboxBlocClearEventImplCopyWithImpl<$Res> extends _$WorkOrderInboxBlocEventCopyWithImpl<$Res, - _$WorkOrderInboxBlocClearEvent> - implements _$$WorkOrderInboxBlocClearEventCopyWith<$Res> { - __$$WorkOrderInboxBlocClearEventCopyWithImpl( - _$WorkOrderInboxBlocClearEvent _value, - $Res Function(_$WorkOrderInboxBlocClearEvent) _then) + _$WorkOrderInboxBlocClearEventImpl> + implements _$$WorkOrderInboxBlocClearEventImplCopyWith<$Res> { + __$$WorkOrderInboxBlocClearEventImplCopyWithImpl( + _$WorkOrderInboxBlocClearEventImpl _value, + $Res Function(_$WorkOrderInboxBlocClearEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$WorkOrderInboxBlocClearEvent implements WorkOrderInboxBlocClearEvent { - const _$WorkOrderInboxBlocClearEvent(); +class _$WorkOrderInboxBlocClearEventImpl + implements WorkOrderInboxBlocClearEvent { + const _$WorkOrderInboxBlocClearEventImpl(); @override String toString() { @@ -1152,10 +1159,10 @@ class _$WorkOrderInboxBlocClearEvent implements WorkOrderInboxBlocClearEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$WorkOrderInboxBlocClearEvent); + other is _$WorkOrderInboxBlocClearEventImpl); } @override @@ -1280,7 +1287,8 @@ class _$WorkOrderInboxBlocClearEvent implements WorkOrderInboxBlocClearEvent { } abstract class WorkOrderInboxBlocClearEvent implements WorkOrderInboxBlocEvent { - const factory WorkOrderInboxBlocClearEvent() = _$WorkOrderInboxBlocClearEvent; + const factory WorkOrderInboxBlocClearEvent() = + _$WorkOrderInboxBlocClearEventImpl; } /// @nodoc @@ -1374,24 +1382,25 @@ class _$WorkOrderInboxStateCopyWithImpl<$Res, $Val extends WorkOrderInboxState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$WorkOrderInboxStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$WorkOrderInboxStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -1399,9 +1408,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -1501,29 +1510,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends WorkOrderInboxState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$WorkOrderInboxStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$WorkOrderInboxStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -1531,9 +1541,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -1633,14 +1643,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends WorkOrderInboxState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call( {WOInboxResponse? mbInboxResponse, @@ -1653,10 +1664,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$WorkOrderInboxStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$WorkOrderInboxStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1668,7 +1680,7 @@ class __$$_LoadedCopyWithImpl<$Res> Object? search = null, Object? searchData = null, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == mbInboxResponse ? _value.mbInboxResponse : mbInboxResponse // ignore: cast_nullable_to_non_nullable @@ -1707,8 +1719,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded( +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl( this.mbInboxResponse, this.isLoading, final List? contracts, @@ -1748,10 +1760,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.mbInboxResponse, mbInboxResponse) || other.mbInboxResponse == mbInboxResponse) && (identical(other.isLoading, isLoading) || @@ -1775,8 +1787,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -1878,7 +1890,7 @@ abstract class _Loaded extends WorkOrderInboxState { final bool isLoading, final List? contracts, final bool search, - final Map searchData) = _$_Loaded; + final Map searchData) = _$LoadedImpl; const _Loaded._() : super._(); WOInboxResponse? get mbInboxResponse; @@ -1887,23 +1899,25 @@ abstract class _Loaded extends WorkOrderInboxState { bool get search; Map get searchData; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$WorkOrderInboxStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$WorkOrderInboxStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1911,7 +1925,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -1922,8 +1936,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -1934,10 +1948,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -1947,8 +1961,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -2044,11 +2058,11 @@ class _$_Error extends _Error { } abstract class _Error extends WorkOrderInboxState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/localization/localization.dart b/frontend/works_shg_app/lib/blocs/localization/localization.dart index d64ec90880..d206b8e797 100644 --- a/frontend/works_shg_app/lib/blocs/localization/localization.dart +++ b/frontend/works_shg_app/lib/blocs/localization/localization.dart @@ -97,7 +97,7 @@ class LocalizationBloc extends Bloc { await _loadLocale(codes, event.locale); // Emit loaded state emit(LocalizationState.loaded(event.languages, module)); - } on DioError catch (e) { + } on DioException catch (e) { LocalizationState.error(e.response?.data['Errors'][0]['code']); } } @@ -251,7 +251,7 @@ class LocalizationBloc extends Bloc { } }, ); - } on DioError catch (e) { + } on DioException catch (e) { // Handle Dio errors and emit error state LocalizationState.error(e.response?.data['Errors'][0]['code']); } diff --git a/frontend/works_shg_app/lib/blocs/localization/localization.freezed.dart b/frontend/works_shg_app/lib/blocs/localization/localization.freezed.dart index 16846349b1..f3883850d5 100644 --- a/frontend/works_shg_app/lib/blocs/localization/localization.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/localization/localization.freezed.dart @@ -12,7 +12,7 @@ part of 'localization.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$LocalizationEvent { @@ -131,11 +131,12 @@ class _$LocalizationEventCopyWithImpl<$Res, $Val extends LocalizationEvent> } /// @nodoc -abstract class _$$OnLoadLocalizationEventCopyWith<$Res> +abstract class _$$OnLoadLocalizationEventImplCopyWith<$Res> implements $LocalizationEventCopyWith<$Res> { - factory _$$OnLoadLocalizationEventCopyWith(_$OnLoadLocalizationEvent value, - $Res Function(_$OnLoadLocalizationEvent) then) = - __$$OnLoadLocalizationEventCopyWithImpl<$Res>; + factory _$$OnLoadLocalizationEventImplCopyWith( + _$OnLoadLocalizationEventImpl value, + $Res Function(_$OnLoadLocalizationEventImpl) then) = + __$$OnLoadLocalizationEventImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -147,11 +148,12 @@ abstract class _$$OnLoadLocalizationEventCopyWith<$Res> } /// @nodoc -class __$$OnLoadLocalizationEventCopyWithImpl<$Res> - extends _$LocalizationEventCopyWithImpl<$Res, _$OnLoadLocalizationEvent> - implements _$$OnLoadLocalizationEventCopyWith<$Res> { - __$$OnLoadLocalizationEventCopyWithImpl(_$OnLoadLocalizationEvent _value, - $Res Function(_$OnLoadLocalizationEvent) _then) +class __$$OnLoadLocalizationEventImplCopyWithImpl<$Res> + extends _$LocalizationEventCopyWithImpl<$Res, _$OnLoadLocalizationEventImpl> + implements _$$OnLoadLocalizationEventImplCopyWith<$Res> { + __$$OnLoadLocalizationEventImplCopyWithImpl( + _$OnLoadLocalizationEventImpl _value, + $Res Function(_$OnLoadLocalizationEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -163,7 +165,7 @@ class __$$OnLoadLocalizationEventCopyWithImpl<$Res> Object? languages = freezed, Object? localizationModules = freezed, }) { - return _then(_$OnLoadLocalizationEvent( + return _then(_$OnLoadLocalizationEventImpl( module: null == module ? _value.module : module // ignore: cast_nullable_to_non_nullable @@ -190,10 +192,10 @@ class __$$OnLoadLocalizationEventCopyWithImpl<$Res> /// @nodoc -class _$OnLoadLocalizationEvent +class _$OnLoadLocalizationEventImpl with DiagnosticableTreeMixin implements OnLoadLocalizationEvent { - const _$OnLoadLocalizationEvent( + const _$OnLoadLocalizationEventImpl( {required this.module, required this.tenantId, required this.locale, @@ -247,10 +249,10 @@ class _$OnLoadLocalizationEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$OnLoadLocalizationEvent && + other is _$OnLoadLocalizationEventImpl && (identical(other.module, module) || other.module == module) && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && @@ -273,9 +275,9 @@ class _$OnLoadLocalizationEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$OnLoadLocalizationEventCopyWith<_$OnLoadLocalizationEvent> get copyWith => - __$$OnLoadLocalizationEventCopyWithImpl<_$OnLoadLocalizationEvent>( - this, _$identity); + _$$OnLoadLocalizationEventImplCopyWith<_$OnLoadLocalizationEventImpl> + get copyWith => __$$OnLoadLocalizationEventImplCopyWithImpl< + _$OnLoadLocalizationEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -374,7 +376,7 @@ abstract class OnLoadLocalizationEvent implements LocalizationEvent { required final String locale, final List? languages, final List? localizationModules}) = - _$OnLoadLocalizationEvent; + _$OnLoadLocalizationEventImpl; @override String get module; @@ -386,30 +388,30 @@ abstract class OnLoadLocalizationEvent implements LocalizationEvent { List? get localizationModules; @override @JsonKey(ignore: true) - _$$OnLoadLocalizationEventCopyWith<_$OnLoadLocalizationEvent> get copyWith => - throw _privateConstructorUsedError; + _$$OnLoadLocalizationEventImplCopyWith<_$OnLoadLocalizationEventImpl> + get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$OnSpecificLoadLocalizationEventCopyWith<$Res> +abstract class _$$OnSpecificLoadLocalizationEventImplCopyWith<$Res> implements $LocalizationEventCopyWith<$Res> { - factory _$$OnSpecificLoadLocalizationEventCopyWith( - _$OnSpecificLoadLocalizationEvent value, - $Res Function(_$OnSpecificLoadLocalizationEvent) then) = - __$$OnSpecificLoadLocalizationEventCopyWithImpl<$Res>; + factory _$$OnSpecificLoadLocalizationEventImplCopyWith( + _$OnSpecificLoadLocalizationEventImpl value, + $Res Function(_$OnSpecificLoadLocalizationEventImpl) then) = + __$$OnSpecificLoadLocalizationEventImplCopyWithImpl<$Res>; @override @useResult $Res call({String module, String tenantId, String locale}); } /// @nodoc -class __$$OnSpecificLoadLocalizationEventCopyWithImpl<$Res> +class __$$OnSpecificLoadLocalizationEventImplCopyWithImpl<$Res> extends _$LocalizationEventCopyWithImpl<$Res, - _$OnSpecificLoadLocalizationEvent> - implements _$$OnSpecificLoadLocalizationEventCopyWith<$Res> { - __$$OnSpecificLoadLocalizationEventCopyWithImpl( - _$OnSpecificLoadLocalizationEvent _value, - $Res Function(_$OnSpecificLoadLocalizationEvent) _then) + _$OnSpecificLoadLocalizationEventImpl> + implements _$$OnSpecificLoadLocalizationEventImplCopyWith<$Res> { + __$$OnSpecificLoadLocalizationEventImplCopyWithImpl( + _$OnSpecificLoadLocalizationEventImpl _value, + $Res Function(_$OnSpecificLoadLocalizationEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -419,7 +421,7 @@ class __$$OnSpecificLoadLocalizationEventCopyWithImpl<$Res> Object? tenantId = null, Object? locale = null, }) { - return _then(_$OnSpecificLoadLocalizationEvent( + return _then(_$OnSpecificLoadLocalizationEventImpl( module: null == module ? _value.module : module // ignore: cast_nullable_to_non_nullable @@ -438,10 +440,10 @@ class __$$OnSpecificLoadLocalizationEventCopyWithImpl<$Res> /// @nodoc -class _$OnSpecificLoadLocalizationEvent +class _$OnSpecificLoadLocalizationEventImpl with DiagnosticableTreeMixin implements OnSpecificLoadLocalizationEvent { - const _$OnSpecificLoadLocalizationEvent( + const _$OnSpecificLoadLocalizationEventImpl( {required this.module, required this.tenantId, required this.locale}); @override @@ -468,10 +470,10 @@ class _$OnSpecificLoadLocalizationEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$OnSpecificLoadLocalizationEvent && + other is _$OnSpecificLoadLocalizationEventImpl && (identical(other.module, module) || other.module == module) && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && @@ -484,9 +486,10 @@ class _$OnSpecificLoadLocalizationEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$OnSpecificLoadLocalizationEventCopyWith<_$OnSpecificLoadLocalizationEvent> - get copyWith => __$$OnSpecificLoadLocalizationEventCopyWithImpl< - _$OnSpecificLoadLocalizationEvent>(this, _$identity); + _$$OnSpecificLoadLocalizationEventImplCopyWith< + _$OnSpecificLoadLocalizationEventImpl> + get copyWith => __$$OnSpecificLoadLocalizationEventImplCopyWithImpl< + _$OnSpecificLoadLocalizationEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -579,7 +582,7 @@ abstract class OnSpecificLoadLocalizationEvent implements LocalizationEvent { const factory OnSpecificLoadLocalizationEvent( {required final String module, required final String tenantId, - required final String locale}) = _$OnSpecificLoadLocalizationEvent; + required final String locale}) = _$OnSpecificLoadLocalizationEventImpl; @override String get module; @@ -589,7 +592,8 @@ abstract class OnSpecificLoadLocalizationEvent implements LocalizationEvent { String get locale; @override @JsonKey(ignore: true) - _$$OnSpecificLoadLocalizationEventCopyWith<_$OnSpecificLoadLocalizationEvent> + _$$OnSpecificLoadLocalizationEventImplCopyWith< + _$OnSpecificLoadLocalizationEventImpl> get copyWith => throw _privateConstructorUsedError; } @@ -672,24 +676,25 @@ class _$LocalizationStateCopyWithImpl<$Res, $Val extends LocalizationState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$LocalizationStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$LocalizationStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -703,9 +708,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -793,29 +798,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends LocalizationState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$LocalizationStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$LocalizationStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -829,9 +835,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -919,23 +925,25 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends LocalizationState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({List? languages, List? moduleStatus}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$LocalizationStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$LocalizationStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -944,7 +952,7 @@ class __$$_LoadedCopyWithImpl<$Res> Object? languages = freezed, Object? moduleStatus = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == languages ? _value._languages : languages // ignore: cast_nullable_to_non_nullable @@ -959,8 +967,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - _$_Loaded( +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + _$LoadedImpl( final List? languages, final List? moduleStatus) : _languages = languages, _moduleStatus = moduleStatus, @@ -1001,10 +1009,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && const DeepCollectionEquality() .equals(other._languages, _languages) && const DeepCollectionEquality() @@ -1020,8 +1028,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -1106,29 +1114,31 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { abstract class _Loaded extends LocalizationState { factory _Loaded(final List? languages, - final List? moduleStatus) = _$_Loaded; + final List? moduleStatus) = _$LoadedImpl; _Loaded._() : super._(); List? get languages; List? get moduleStatus; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$LocalizationStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$LocalizationStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1136,7 +1146,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -1147,8 +1157,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -1167,10 +1177,10 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -1180,8 +1190,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -1265,11 +1275,11 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends LocalizationState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/create_muster.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/create_muster.dart index ca176d4025..fcb2a0055e 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/create_muster.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/create_muster.dart @@ -64,7 +64,7 @@ class MusterCreateBloc extends Bloc { } else { emit(const MusterCreateState.error()); } - } on DioError catch (e) { + } on DioException catch (e) { emit(const MusterCreateState.error()); } } @@ -99,7 +99,7 @@ class MusterCreateBloc extends Bloc { } else { emit(const MusterCreateState.error()); } - } on DioError catch (e) { + } on DioException catch (e) { emit(const MusterCreateState.error()); } } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/create_muster.freezed.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/create_muster.freezed.dart index 2e6ba8805d..e90b409de0 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/create_muster.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/create_muster.freezed.dart @@ -12,7 +12,7 @@ part of 'create_muster.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$MusterCreateEvent { @@ -216,11 +216,11 @@ class _$MusterCreateEventCopyWithImpl<$Res, $Val extends MusterCreateEvent> } /// @nodoc -abstract class _$$CreateMusterEventCopyWith<$Res> +abstract class _$$CreateMusterEventImplCopyWith<$Res> implements $MusterCreateEventCopyWith<$Res> { - factory _$$CreateMusterEventCopyWith( - _$CreateMusterEvent value, $Res Function(_$CreateMusterEvent) then) = - __$$CreateMusterEventCopyWithImpl<$Res>; + factory _$$CreateMusterEventImplCopyWith(_$CreateMusterEventImpl value, + $Res Function(_$CreateMusterEventImpl) then) = + __$$CreateMusterEventImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -245,11 +245,11 @@ abstract class _$$CreateMusterEventCopyWith<$Res> } /// @nodoc -class __$$CreateMusterEventCopyWithImpl<$Res> - extends _$MusterCreateEventCopyWithImpl<$Res, _$CreateMusterEvent> - implements _$$CreateMusterEventCopyWith<$Res> { - __$$CreateMusterEventCopyWithImpl( - _$CreateMusterEvent _value, $Res Function(_$CreateMusterEvent) _then) +class __$$CreateMusterEventImplCopyWithImpl<$Res> + extends _$MusterCreateEventCopyWithImpl<$Res, _$CreateMusterEventImpl> + implements _$$CreateMusterEventImplCopyWith<$Res> { + __$$CreateMusterEventImplCopyWithImpl(_$CreateMusterEventImpl _value, + $Res Function(_$CreateMusterEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -274,7 +274,7 @@ class __$$CreateMusterEventCopyWithImpl<$Res> Object? executingAuthority = freezed, Object? skillsList = freezed, }) { - return _then(_$CreateMusterEvent( + return _then(_$CreateMusterEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -353,8 +353,8 @@ class __$$CreateMusterEventCopyWithImpl<$Res> /// @nodoc -class _$CreateMusterEvent implements CreateMusterEvent { - const _$CreateMusterEvent( +class _$CreateMusterEventImpl implements CreateMusterEvent { + const _$CreateMusterEventImpl( {required this.tenantId, required this.registerId, required this.contractId, @@ -425,10 +425,10 @@ class _$CreateMusterEvent implements CreateMusterEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$CreateMusterEvent && + other is _$CreateMusterEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.registerId, registerId) || @@ -489,8 +489,9 @@ class _$CreateMusterEvent implements CreateMusterEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$CreateMusterEventCopyWith<_$CreateMusterEvent> get copyWith => - __$$CreateMusterEventCopyWithImpl<_$CreateMusterEvent>(this, _$identity); + _$$CreateMusterEventImplCopyWith<_$CreateMusterEventImpl> get copyWith => + __$$CreateMusterEventImplCopyWithImpl<_$CreateMusterEventImpl>( + this, _$identity); @override @optionalTypeArgs @@ -712,7 +713,7 @@ abstract class CreateMusterEvent implements MusterCreateEvent { final String? ward, final int? amount, final String? executingAuthority, - final List>? skillsList}) = _$CreateMusterEvent; + final List>? skillsList}) = _$CreateMusterEventImpl; @override String get tenantId; @@ -740,16 +741,16 @@ abstract class CreateMusterEvent implements MusterCreateEvent { List>? get skillsList; @override @JsonKey(ignore: true) - _$$CreateMusterEventCopyWith<_$CreateMusterEvent> get copyWith => + _$$CreateMusterEventImplCopyWith<_$CreateMusterEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$UpdateMusterEventCopyWith<$Res> +abstract class _$$UpdateMusterEventImplCopyWith<$Res> implements $MusterCreateEventCopyWith<$Res> { - factory _$$UpdateMusterEventCopyWith( - _$UpdateMusterEvent value, $Res Function(_$UpdateMusterEvent) then) = - __$$UpdateMusterEventCopyWithImpl<$Res>; + factory _$$UpdateMusterEventImplCopyWith(_$UpdateMusterEventImpl value, + $Res Function(_$UpdateMusterEventImpl) then) = + __$$UpdateMusterEventImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -764,11 +765,11 @@ abstract class _$$UpdateMusterEventCopyWith<$Res> } /// @nodoc -class __$$UpdateMusterEventCopyWithImpl<$Res> - extends _$MusterCreateEventCopyWithImpl<$Res, _$UpdateMusterEvent> - implements _$$UpdateMusterEventCopyWith<$Res> { - __$$UpdateMusterEventCopyWithImpl( - _$UpdateMusterEvent _value, $Res Function(_$UpdateMusterEvent) _then) +class __$$UpdateMusterEventImplCopyWithImpl<$Res> + extends _$MusterCreateEventCopyWithImpl<$Res, _$UpdateMusterEventImpl> + implements _$$UpdateMusterEventImplCopyWith<$Res> { + __$$UpdateMusterEventImplCopyWithImpl(_$UpdateMusterEventImpl _value, + $Res Function(_$UpdateMusterEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -783,7 +784,7 @@ class __$$UpdateMusterEventCopyWithImpl<$Res> Object? reSubmitAction = freezed, Object? skillsList = freezed, }) { - return _then(_$UpdateMusterEvent( + return _then(_$UpdateMusterEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -822,8 +823,8 @@ class __$$UpdateMusterEventCopyWithImpl<$Res> /// @nodoc -class _$UpdateMusterEvent implements UpdateMusterEvent { - const _$UpdateMusterEvent( +class _$UpdateMusterEventImpl implements UpdateMusterEvent { + const _$UpdateMusterEventImpl( {required this.tenantId, required this.id, required this.orgName, @@ -864,10 +865,10 @@ class _$UpdateMusterEvent implements UpdateMusterEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$UpdateMusterEvent && + other is _$UpdateMusterEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.id, id) || other.id == id) && @@ -899,8 +900,9 @@ class _$UpdateMusterEvent implements UpdateMusterEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$UpdateMusterEventCopyWith<_$UpdateMusterEvent> get copyWith => - __$$UpdateMusterEventCopyWithImpl<_$UpdateMusterEvent>(this, _$identity); + _$$UpdateMusterEventImplCopyWith<_$UpdateMusterEventImpl> get copyWith => + __$$UpdateMusterEventImplCopyWithImpl<_$UpdateMusterEventImpl>( + this, _$identity); @override @optionalTypeArgs @@ -1061,7 +1063,7 @@ abstract class UpdateMusterEvent implements MusterCreateEvent { required final String registerNo, required final String registerName, final String? reSubmitAction, - final List>? skillsList}) = _$UpdateMusterEvent; + final List>? skillsList}) = _$UpdateMusterEventImpl; @override String get tenantId; @@ -1079,7 +1081,7 @@ abstract class UpdateMusterEvent implements MusterCreateEvent { List>? get skillsList; @override @JsonKey(ignore: true) - _$$UpdateMusterEventCopyWith<_$UpdateMusterEvent> get copyWith => + _$$UpdateMusterEventImplCopyWith<_$UpdateMusterEventImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1156,24 +1158,25 @@ class _$MusterCreateStateCopyWithImpl<$Res, $Val extends MusterCreateState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$MusterCreateStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$MusterCreateStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -1181,9 +1184,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -1265,29 +1268,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends MusterCreateState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$MusterCreateStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$MusterCreateStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -1295,9 +1299,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -1379,14 +1383,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends MusterCreateState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({MusterRollsModel? musterRollsModel}); @@ -1394,10 +1399,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$MusterCreateStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$MusterCreateStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1405,7 +1411,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? musterRollsModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == musterRollsModel ? _value.musterRollsModel : musterRollsModel // ignore: cast_nullable_to_non_nullable @@ -1428,8 +1434,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.musterRollsModel) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.musterRollsModel) : super._(); @override final MusterRollsModel? musterRollsModel; @@ -1440,10 +1446,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.musterRollsModel, musterRollsModel) || other.musterRollsModel == musterRollsModel)); } @@ -1454,8 +1460,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -1533,33 +1539,36 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends MusterCreateState { - const factory _Loaded(final MusterRollsModel? musterRollsModel) = _$_Loaded; + const factory _Loaded(final MusterRollsModel? musterRollsModel) = + _$LoadedImpl; const _Loaded._() : super._(); MusterRollsModel? get musterRollsModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$MusterCreateStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$MusterCreateStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Error extends _Error { - const _$_Error() : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl() : super._(); @override String toString() { @@ -1567,9 +1576,9 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Error); + (other.runtimeType == runtimeType && other is _$ErrorImpl); } @override @@ -1651,6 +1660,6 @@ class _$_Error extends _Error { } abstract class _Error extends MusterCreateState { - const factory _Error() = _$_Error; + const factory _Error() = _$ErrorImpl; const _Error._() : super._(); } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/from_to_date_search_muster_roll.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/from_to_date_search_muster_roll.dart index 22b6022044..34a098fbc9 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/from_to_date_search_muster_roll.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/from_to_date_search_muster_roll.dart @@ -46,7 +46,7 @@ class MusterRollFromToDateSearchBloc extends Bloc< })); await Future.delayed(const Duration(seconds: 1)); emit(MusterRollFromToDateSearchState.loaded(musterRollsSearch)); - } on DioError catch (e) { + } on DioException catch (e) { emit(MusterRollFromToDateSearchState.error( e.response?.data['Errors'][0]['code'])); } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/from_to_date_search_muster_roll.freezed.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/from_to_date_search_muster_roll.freezed.dart index b9e446304e..4aab5f30d8 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/from_to_date_search_muster_roll.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/from_to_date_search_muster_roll.freezed.dart @@ -12,7 +12,7 @@ part of 'from_to_date_search_muster_roll.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$MusterRollFromToDateSearchEvent { @@ -117,25 +117,25 @@ class _$MusterRollFromToDateSearchEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$SearchMusterRollFromToDateEventCopyWith<$Res> +abstract class _$$SearchMusterRollFromToDateEventImplCopyWith<$Res> implements $MusterRollFromToDateSearchEventCopyWith<$Res> { - factory _$$SearchMusterRollFromToDateEventCopyWith( - _$SearchMusterRollFromToDateEvent value, - $Res Function(_$SearchMusterRollFromToDateEvent) then) = - __$$SearchMusterRollFromToDateEventCopyWithImpl<$Res>; + factory _$$SearchMusterRollFromToDateEventImplCopyWith( + _$SearchMusterRollFromToDateEventImpl value, + $Res Function(_$SearchMusterRollFromToDateEventImpl) then) = + __$$SearchMusterRollFromToDateEventImplCopyWithImpl<$Res>; @override @useResult $Res call({String registerId, String tenantId, int fromDate, int toDate}); } /// @nodoc -class __$$SearchMusterRollFromToDateEventCopyWithImpl<$Res> +class __$$SearchMusterRollFromToDateEventImplCopyWithImpl<$Res> extends _$MusterRollFromToDateSearchEventCopyWithImpl<$Res, - _$SearchMusterRollFromToDateEvent> - implements _$$SearchMusterRollFromToDateEventCopyWith<$Res> { - __$$SearchMusterRollFromToDateEventCopyWithImpl( - _$SearchMusterRollFromToDateEvent _value, - $Res Function(_$SearchMusterRollFromToDateEvent) _then) + _$SearchMusterRollFromToDateEventImpl> + implements _$$SearchMusterRollFromToDateEventImplCopyWith<$Res> { + __$$SearchMusterRollFromToDateEventImplCopyWithImpl( + _$SearchMusterRollFromToDateEventImpl _value, + $Res Function(_$SearchMusterRollFromToDateEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -146,7 +146,7 @@ class __$$SearchMusterRollFromToDateEventCopyWithImpl<$Res> Object? fromDate = null, Object? toDate = null, }) { - return _then(_$SearchMusterRollFromToDateEvent( + return _then(_$SearchMusterRollFromToDateEventImpl( registerId: null == registerId ? _value.registerId : registerId // ignore: cast_nullable_to_non_nullable @@ -169,10 +169,10 @@ class __$$SearchMusterRollFromToDateEventCopyWithImpl<$Res> /// @nodoc -class _$SearchMusterRollFromToDateEvent +class _$SearchMusterRollFromToDateEventImpl with DiagnosticableTreeMixin implements SearchMusterRollFromToDateEvent { - const _$SearchMusterRollFromToDateEvent( + const _$SearchMusterRollFromToDateEventImpl( {this.registerId = '', this.tenantId = '', this.fromDate = 0, @@ -209,10 +209,10 @@ class _$SearchMusterRollFromToDateEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$SearchMusterRollFromToDateEvent && + other is _$SearchMusterRollFromToDateEventImpl && (identical(other.registerId, registerId) || other.registerId == registerId) && (identical(other.tenantId, tenantId) || @@ -229,9 +229,10 @@ class _$SearchMusterRollFromToDateEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$SearchMusterRollFromToDateEventCopyWith<_$SearchMusterRollFromToDateEvent> - get copyWith => __$$SearchMusterRollFromToDateEventCopyWithImpl< - _$SearchMusterRollFromToDateEvent>(this, _$identity); + _$$SearchMusterRollFromToDateEventImplCopyWith< + _$SearchMusterRollFromToDateEventImpl> + get copyWith => __$$SearchMusterRollFromToDateEventImplCopyWithImpl< + _$SearchMusterRollFromToDateEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -303,7 +304,7 @@ abstract class SearchMusterRollFromToDateEvent {final String registerId, final String tenantId, final int fromDate, - final int toDate}) = _$SearchMusterRollFromToDateEvent; + final int toDate}) = _$SearchMusterRollFromToDateEventImpl; @override String get registerId; @@ -315,7 +316,8 @@ abstract class SearchMusterRollFromToDateEvent int get toDate; @override @JsonKey(ignore: true) - _$$SearchMusterRollFromToDateEventCopyWith<_$SearchMusterRollFromToDateEvent> + _$$SearchMusterRollFromToDateEventImplCopyWith< + _$SearchMusterRollFromToDateEventImpl> get copyWith => throw _privateConstructorUsedError; } @@ -395,24 +397,25 @@ class _$MusterRollFromToDateSearchStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$MusterRollFromToDateSearchStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$MusterRollFromToDateSearchStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -427,9 +430,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -511,29 +514,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends MusterRollFromToDateSearchState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$MusterRollFromToDateSearchStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$MusterRollFromToDateSearchStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -548,9 +552,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -632,14 +636,15 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends MusterRollFromToDateSearchState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({MusterRollsModel? musterRollsModel}); @@ -647,10 +652,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$MusterRollFromToDateSearchStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$MusterRollFromToDateSearchStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -658,7 +664,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? musterRollsModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == musterRollsModel ? _value.musterRollsModel : musterRollsModel // ignore: cast_nullable_to_non_nullable @@ -681,8 +687,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.musterRollsModel) : super._(); +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + const _$LoadedImpl(this.musterRollsModel) : super._(); @override final MusterRollsModel? musterRollsModel; @@ -702,10 +708,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.musterRollsModel, musterRollsModel) || other.musterRollsModel == musterRollsModel)); } @@ -716,8 +722,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -795,28 +801,31 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } abstract class _Loaded extends MusterRollFromToDateSearchState { - const factory _Loaded(final MusterRollsModel? musterRollsModel) = _$_Loaded; + const factory _Loaded(final MusterRollsModel? musterRollsModel) = + _$LoadedImpl; const _Loaded._() : super._(); MusterRollsModel? get musterRollsModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$MusterRollFromToDateSearchStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$MusterRollFromToDateSearchStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -824,7 +833,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -835,8 +844,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -856,10 +865,10 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -869,8 +878,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -948,11 +957,11 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends MusterRollFromToDateSearchState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/get_business_workflow.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/get_business_workflow.dart index cba19e1325..4e302326be 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/get_business_workflow.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/get_business_workflow.dart @@ -39,7 +39,7 @@ class BusinessWorkflowBloc emit(BusinessGetWorkflowState.loaded( businessWorkFlowModel: businessWorkFlowModel, )); - } on DioError catch (e) { + } on DioException catch (e) { emit(const BusinessGetWorkflowState.error()); } } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/get_business_workflow.freezed.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/get_business_workflow.freezed.dart index c5c6a0ae10..fd6d9cc186 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/get_business_workflow.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/get_business_workflow.freezed.dart @@ -12,7 +12,7 @@ part of 'get_business_workflow.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$BusinessWorkflowEvent { @@ -76,21 +76,23 @@ class _$BusinessWorkflowEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$GetBusinessWorkflowEventCopyWith<$Res> { - factory _$$GetBusinessWorkflowEventCopyWith(_$GetBusinessWorkflowEvent value, - $Res Function(_$GetBusinessWorkflowEvent) then) = - __$$GetBusinessWorkflowEventCopyWithImpl<$Res>; +abstract class _$$GetBusinessWorkflowEventImplCopyWith<$Res> { + factory _$$GetBusinessWorkflowEventImplCopyWith( + _$GetBusinessWorkflowEventImpl value, + $Res Function(_$GetBusinessWorkflowEventImpl) then) = + __$$GetBusinessWorkflowEventImplCopyWithImpl<$Res>; @useResult $Res call({String tenantId, String businessService}); } /// @nodoc -class __$$GetBusinessWorkflowEventCopyWithImpl<$Res> +class __$$GetBusinessWorkflowEventImplCopyWithImpl<$Res> extends _$BusinessWorkflowEventCopyWithImpl<$Res, - _$GetBusinessWorkflowEvent> - implements _$$GetBusinessWorkflowEventCopyWith<$Res> { - __$$GetBusinessWorkflowEventCopyWithImpl(_$GetBusinessWorkflowEvent _value, - $Res Function(_$GetBusinessWorkflowEvent) _then) + _$GetBusinessWorkflowEventImpl> + implements _$$GetBusinessWorkflowEventImplCopyWith<$Res> { + __$$GetBusinessWorkflowEventImplCopyWithImpl( + _$GetBusinessWorkflowEventImpl _value, + $Res Function(_$GetBusinessWorkflowEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -99,7 +101,7 @@ class __$$GetBusinessWorkflowEventCopyWithImpl<$Res> Object? tenantId = null, Object? businessService = null, }) { - return _then(_$GetBusinessWorkflowEvent( + return _then(_$GetBusinessWorkflowEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -114,8 +116,8 @@ class __$$GetBusinessWorkflowEventCopyWithImpl<$Res> /// @nodoc -class _$GetBusinessWorkflowEvent implements GetBusinessWorkflowEvent { - const _$GetBusinessWorkflowEvent( +class _$GetBusinessWorkflowEventImpl implements GetBusinessWorkflowEvent { + const _$GetBusinessWorkflowEventImpl( {required this.tenantId, required this.businessService}); @override @@ -129,10 +131,10 @@ class _$GetBusinessWorkflowEvent implements GetBusinessWorkflowEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$GetBusinessWorkflowEvent && + other is _$GetBusinessWorkflowEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.businessService, businessService) || @@ -145,10 +147,9 @@ class _$GetBusinessWorkflowEvent implements GetBusinessWorkflowEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$GetBusinessWorkflowEventCopyWith<_$GetBusinessWorkflowEvent> - get copyWith => - __$$GetBusinessWorkflowEventCopyWithImpl<_$GetBusinessWorkflowEvent>( - this, _$identity); + _$$GetBusinessWorkflowEventImplCopyWith<_$GetBusinessWorkflowEventImpl> + get copyWith => __$$GetBusinessWorkflowEventImplCopyWithImpl< + _$GetBusinessWorkflowEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -216,38 +217,39 @@ class _$GetBusinessWorkflowEvent implements GetBusinessWorkflowEvent { abstract class GetBusinessWorkflowEvent implements BusinessWorkflowEvent { const factory GetBusinessWorkflowEvent( {required final String tenantId, - required final String businessService}) = _$GetBusinessWorkflowEvent; + required final String businessService}) = _$GetBusinessWorkflowEventImpl; String get tenantId; String get businessService; @JsonKey(ignore: true) - _$$GetBusinessWorkflowEventCopyWith<_$GetBusinessWorkflowEvent> + _$$GetBusinessWorkflowEventImplCopyWith<_$GetBusinessWorkflowEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$DisposeBusinessWorkflowEventCopyWith<$Res> { - factory _$$DisposeBusinessWorkflowEventCopyWith( - _$DisposeBusinessWorkflowEvent value, - $Res Function(_$DisposeBusinessWorkflowEvent) then) = - __$$DisposeBusinessWorkflowEventCopyWithImpl<$Res>; +abstract class _$$DisposeBusinessWorkflowEventImplCopyWith<$Res> { + factory _$$DisposeBusinessWorkflowEventImplCopyWith( + _$DisposeBusinessWorkflowEventImpl value, + $Res Function(_$DisposeBusinessWorkflowEventImpl) then) = + __$$DisposeBusinessWorkflowEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$DisposeBusinessWorkflowEventCopyWithImpl<$Res> +class __$$DisposeBusinessWorkflowEventImplCopyWithImpl<$Res> extends _$BusinessWorkflowEventCopyWithImpl<$Res, - _$DisposeBusinessWorkflowEvent> - implements _$$DisposeBusinessWorkflowEventCopyWith<$Res> { - __$$DisposeBusinessWorkflowEventCopyWithImpl( - _$DisposeBusinessWorkflowEvent _value, - $Res Function(_$DisposeBusinessWorkflowEvent) _then) + _$DisposeBusinessWorkflowEventImpl> + implements _$$DisposeBusinessWorkflowEventImplCopyWith<$Res> { + __$$DisposeBusinessWorkflowEventImplCopyWithImpl( + _$DisposeBusinessWorkflowEventImpl _value, + $Res Function(_$DisposeBusinessWorkflowEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$DisposeBusinessWorkflowEvent implements DisposeBusinessWorkflowEvent { - const _$DisposeBusinessWorkflowEvent(); +class _$DisposeBusinessWorkflowEventImpl + implements DisposeBusinessWorkflowEvent { + const _$DisposeBusinessWorkflowEventImpl(); @override String toString() { @@ -255,10 +257,10 @@ class _$DisposeBusinessWorkflowEvent implements DisposeBusinessWorkflowEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$DisposeBusinessWorkflowEvent); + other is _$DisposeBusinessWorkflowEventImpl); } @override @@ -328,7 +330,8 @@ class _$DisposeBusinessWorkflowEvent implements DisposeBusinessWorkflowEvent { } abstract class DisposeBusinessWorkflowEvent implements BusinessWorkflowEvent { - const factory DisposeBusinessWorkflowEvent() = _$DisposeBusinessWorkflowEvent; + const factory DisposeBusinessWorkflowEvent() = + _$DisposeBusinessWorkflowEventImpl; } /// @nodoc @@ -409,24 +412,25 @@ class _$BusinessGetWorkflowStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$BusinessGetWorkflowStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$BusinessGetWorkflowStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -434,9 +438,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -522,29 +526,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends BusinessGetWorkflowState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$BusinessGetWorkflowStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$BusinessGetWorkflowStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -552,9 +557,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -640,14 +645,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends BusinessGetWorkflowState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({BusinessServiceWorkflowModel? businessWorkFlowModel}); @@ -655,10 +661,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$BusinessGetWorkflowStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$BusinessGetWorkflowStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -666,7 +673,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? businessWorkFlowModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( businessWorkFlowModel: freezed == businessWorkFlowModel ? _value.businessWorkFlowModel : businessWorkFlowModel // ignore: cast_nullable_to_non_nullable @@ -690,8 +697,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded({this.businessWorkFlowModel}) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl({this.businessWorkFlowModel}) : super._(); @override final BusinessServiceWorkflowModel? businessWorkFlowModel; @@ -702,10 +709,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.businessWorkFlowModel, businessWorkFlowModel) || other.businessWorkFlowModel == businessWorkFlowModel)); } @@ -716,8 +723,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -800,33 +807,36 @@ class _$_Loaded extends _Loaded { abstract class _Loaded extends BusinessGetWorkflowState { const factory _Loaded( - {final BusinessServiceWorkflowModel? businessWorkFlowModel}) = _$_Loaded; + {final BusinessServiceWorkflowModel? businessWorkFlowModel}) = + _$LoadedImpl; const _Loaded._() : super._(); BusinessServiceWorkflowModel? get businessWorkFlowModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$BusinessGetWorkflowStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$BusinessGetWorkflowStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Error extends _Error { - const _$_Error() : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl() : super._(); @override String toString() { @@ -834,9 +844,9 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Error); + (other.runtimeType == runtimeType && other is _$ErrorImpl); } @override @@ -922,6 +932,6 @@ class _$_Error extends _Error { } abstract class _Error extends BusinessGetWorkflowState { - const factory _Error() = _$_Error; + const factory _Error() = _$ErrorImpl; const _Error._() : super._(); } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/get_muster_workflow.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/get_muster_workflow.dart index 44ea492764..e9e7346392 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/get_muster_workflow.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/get_muster_workflow.dart @@ -46,7 +46,7 @@ class MusterGetWorkflowBloc musterWorkFlowModel: musterWorkFlowModel, isInWorkflow: !(musterWorkFlowModel.processInstances!.isNotEmpty && state!.state == event.musterSentBackCode))); - } on DioError catch (e) { + } on DioException catch (e) { emit(const MusterGetWorkflowState.error()); } } @@ -75,7 +75,7 @@ class MusterGetWorkflowBloc emit(MusterGetWorkflowState.loaded( musterWorkFlowModel: musterWorkFlowModel, isInWorkflow: true)); - } on DioError catch (e) { + } on DioException catch (e) { emit(const MusterGetWorkflowState.error()); } } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/get_muster_workflow.freezed.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/get_muster_workflow.freezed.dart index a60cfcf05c..e92c347387 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/get_muster_workflow.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/get_muster_workflow.freezed.dart @@ -12,7 +12,7 @@ part of 'get_muster_workflow.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$MusterGetWorkflowEvent { @@ -88,21 +88,24 @@ class _$MusterGetWorkflowEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$GetMusterWorkflowEventCopyWith<$Res> { - factory _$$GetMusterWorkflowEventCopyWith(_$GetMusterWorkflowEvent value, - $Res Function(_$GetMusterWorkflowEvent) then) = - __$$GetMusterWorkflowEventCopyWithImpl<$Res>; +abstract class _$$GetMusterWorkflowEventImplCopyWith<$Res> { + factory _$$GetMusterWorkflowEventImplCopyWith( + _$GetMusterWorkflowEventImpl value, + $Res Function(_$GetMusterWorkflowEventImpl) then) = + __$$GetMusterWorkflowEventImplCopyWithImpl<$Res>; @useResult $Res call( {String tenantId, String musterRollNumber, String musterSentBackCode}); } /// @nodoc -class __$$GetMusterWorkflowEventCopyWithImpl<$Res> - extends _$MusterGetWorkflowEventCopyWithImpl<$Res, _$GetMusterWorkflowEvent> - implements _$$GetMusterWorkflowEventCopyWith<$Res> { - __$$GetMusterWorkflowEventCopyWithImpl(_$GetMusterWorkflowEvent _value, - $Res Function(_$GetMusterWorkflowEvent) _then) +class __$$GetMusterWorkflowEventImplCopyWithImpl<$Res> + extends _$MusterGetWorkflowEventCopyWithImpl<$Res, + _$GetMusterWorkflowEventImpl> + implements _$$GetMusterWorkflowEventImplCopyWith<$Res> { + __$$GetMusterWorkflowEventImplCopyWithImpl( + _$GetMusterWorkflowEventImpl _value, + $Res Function(_$GetMusterWorkflowEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -112,7 +115,7 @@ class __$$GetMusterWorkflowEventCopyWithImpl<$Res> Object? musterRollNumber = null, Object? musterSentBackCode = null, }) { - return _then(_$GetMusterWorkflowEvent( + return _then(_$GetMusterWorkflowEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -131,8 +134,8 @@ class __$$GetMusterWorkflowEventCopyWithImpl<$Res> /// @nodoc -class _$GetMusterWorkflowEvent implements GetMusterWorkflowEvent { - const _$GetMusterWorkflowEvent( +class _$GetMusterWorkflowEventImpl implements GetMusterWorkflowEvent { + const _$GetMusterWorkflowEventImpl( {required this.tenantId, required this.musterRollNumber, required this.musterSentBackCode}); @@ -150,10 +153,10 @@ class _$GetMusterWorkflowEvent implements GetMusterWorkflowEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$GetMusterWorkflowEvent && + other is _$GetMusterWorkflowEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.musterRollNumber, musterRollNumber) || @@ -169,9 +172,9 @@ class _$GetMusterWorkflowEvent implements GetMusterWorkflowEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$GetMusterWorkflowEventCopyWith<_$GetMusterWorkflowEvent> get copyWith => - __$$GetMusterWorkflowEventCopyWithImpl<_$GetMusterWorkflowEvent>( - this, _$identity); + _$$GetMusterWorkflowEventImplCopyWith<_$GetMusterWorkflowEventImpl> + get copyWith => __$$GetMusterWorkflowEventImplCopyWithImpl< + _$GetMusterWorkflowEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -252,31 +255,32 @@ abstract class GetMusterWorkflowEvent implements MusterGetWorkflowEvent { const factory GetMusterWorkflowEvent( {required final String tenantId, required final String musterRollNumber, - required final String musterSentBackCode}) = _$GetMusterWorkflowEvent; + required final String musterSentBackCode}) = _$GetMusterWorkflowEventImpl; String get tenantId; String get musterRollNumber; String get musterSentBackCode; @JsonKey(ignore: true) - _$$GetMusterWorkflowEventCopyWith<_$GetMusterWorkflowEvent> get copyWith => - throw _privateConstructorUsedError; + _$$GetMusterWorkflowEventImplCopyWith<_$GetMusterWorkflowEventImpl> + get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$FetchMBWorkFlowEventCopyWith<$Res> { - factory _$$FetchMBWorkFlowEventCopyWith(_$FetchMBWorkFlowEvent value, - $Res Function(_$FetchMBWorkFlowEvent) then) = - __$$FetchMBWorkFlowEventCopyWithImpl<$Res>; +abstract class _$$FetchMBWorkFlowEventImplCopyWith<$Res> { + factory _$$FetchMBWorkFlowEventImplCopyWith(_$FetchMBWorkFlowEventImpl value, + $Res Function(_$FetchMBWorkFlowEventImpl) then) = + __$$FetchMBWorkFlowEventImplCopyWithImpl<$Res>; @useResult $Res call({String tenantId, String mbNumber}); } /// @nodoc -class __$$FetchMBWorkFlowEventCopyWithImpl<$Res> - extends _$MusterGetWorkflowEventCopyWithImpl<$Res, _$FetchMBWorkFlowEvent> - implements _$$FetchMBWorkFlowEventCopyWith<$Res> { - __$$FetchMBWorkFlowEventCopyWithImpl(_$FetchMBWorkFlowEvent _value, - $Res Function(_$FetchMBWorkFlowEvent) _then) +class __$$FetchMBWorkFlowEventImplCopyWithImpl<$Res> + extends _$MusterGetWorkflowEventCopyWithImpl<$Res, + _$FetchMBWorkFlowEventImpl> + implements _$$FetchMBWorkFlowEventImplCopyWith<$Res> { + __$$FetchMBWorkFlowEventImplCopyWithImpl(_$FetchMBWorkFlowEventImpl _value, + $Res Function(_$FetchMBWorkFlowEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -285,7 +289,7 @@ class __$$FetchMBWorkFlowEventCopyWithImpl<$Res> Object? tenantId = null, Object? mbNumber = null, }) { - return _then(_$FetchMBWorkFlowEvent( + return _then(_$FetchMBWorkFlowEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -300,8 +304,8 @@ class __$$FetchMBWorkFlowEventCopyWithImpl<$Res> /// @nodoc -class _$FetchMBWorkFlowEvent implements FetchMBWorkFlowEvent { - const _$FetchMBWorkFlowEvent( +class _$FetchMBWorkFlowEventImpl implements FetchMBWorkFlowEvent { + const _$FetchMBWorkFlowEventImpl( {required this.tenantId, required this.mbNumber}); @override @@ -315,10 +319,10 @@ class _$FetchMBWorkFlowEvent implements FetchMBWorkFlowEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$FetchMBWorkFlowEvent && + other is _$FetchMBWorkFlowEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.mbNumber, mbNumber) || @@ -331,9 +335,10 @@ class _$FetchMBWorkFlowEvent implements FetchMBWorkFlowEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$FetchMBWorkFlowEventCopyWith<_$FetchMBWorkFlowEvent> get copyWith => - __$$FetchMBWorkFlowEventCopyWithImpl<_$FetchMBWorkFlowEvent>( - this, _$identity); + _$$FetchMBWorkFlowEventImplCopyWith<_$FetchMBWorkFlowEventImpl> + get copyWith => + __$$FetchMBWorkFlowEventImplCopyWithImpl<_$FetchMBWorkFlowEventImpl>( + this, _$identity); @override @optionalTypeArgs @@ -413,39 +418,39 @@ class _$FetchMBWorkFlowEvent implements FetchMBWorkFlowEvent { abstract class FetchMBWorkFlowEvent implements MusterGetWorkflowEvent { const factory FetchMBWorkFlowEvent( {required final String tenantId, - required final String mbNumber}) = _$FetchMBWorkFlowEvent; + required final String mbNumber}) = _$FetchMBWorkFlowEventImpl; String get tenantId; String get mbNumber; @JsonKey(ignore: true) - _$$FetchMBWorkFlowEventCopyWith<_$FetchMBWorkFlowEvent> get copyWith => - throw _privateConstructorUsedError; + _$$FetchMBWorkFlowEventImplCopyWith<_$FetchMBWorkFlowEventImpl> + get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$DisposeMusterRollWorkflowEventCopyWith<$Res> { - factory _$$DisposeMusterRollWorkflowEventCopyWith( - _$DisposeMusterRollWorkflowEvent value, - $Res Function(_$DisposeMusterRollWorkflowEvent) then) = - __$$DisposeMusterRollWorkflowEventCopyWithImpl<$Res>; +abstract class _$$DisposeMusterRollWorkflowEventImplCopyWith<$Res> { + factory _$$DisposeMusterRollWorkflowEventImplCopyWith( + _$DisposeMusterRollWorkflowEventImpl value, + $Res Function(_$DisposeMusterRollWorkflowEventImpl) then) = + __$$DisposeMusterRollWorkflowEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$DisposeMusterRollWorkflowEventCopyWithImpl<$Res> +class __$$DisposeMusterRollWorkflowEventImplCopyWithImpl<$Res> extends _$MusterGetWorkflowEventCopyWithImpl<$Res, - _$DisposeMusterRollWorkflowEvent> - implements _$$DisposeMusterRollWorkflowEventCopyWith<$Res> { - __$$DisposeMusterRollWorkflowEventCopyWithImpl( - _$DisposeMusterRollWorkflowEvent _value, - $Res Function(_$DisposeMusterRollWorkflowEvent) _then) + _$DisposeMusterRollWorkflowEventImpl> + implements _$$DisposeMusterRollWorkflowEventImplCopyWith<$Res> { + __$$DisposeMusterRollWorkflowEventImplCopyWithImpl( + _$DisposeMusterRollWorkflowEventImpl _value, + $Res Function(_$DisposeMusterRollWorkflowEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$DisposeMusterRollWorkflowEvent +class _$DisposeMusterRollWorkflowEventImpl implements DisposeMusterRollWorkflowEvent { - const _$DisposeMusterRollWorkflowEvent(); + const _$DisposeMusterRollWorkflowEventImpl(); @override String toString() { @@ -453,10 +458,10 @@ class _$DisposeMusterRollWorkflowEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$DisposeMusterRollWorkflowEvent); + other is _$DisposeMusterRollWorkflowEventImpl); } @override @@ -540,7 +545,7 @@ class _$DisposeMusterRollWorkflowEvent abstract class DisposeMusterRollWorkflowEvent implements MusterGetWorkflowEvent { const factory DisposeMusterRollWorkflowEvent() = - _$DisposeMusterRollWorkflowEvent; + _$DisposeMusterRollWorkflowEventImpl; } /// @nodoc @@ -623,24 +628,25 @@ class _$MusterGetWorkflowStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$MusterGetWorkflowStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$MusterGetWorkflowStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -648,9 +654,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -738,29 +744,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends MusterGetWorkflowState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$MusterGetWorkflowStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$MusterGetWorkflowStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -768,9 +775,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -858,14 +865,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends MusterGetWorkflowState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({MusterWorkFlowModel? musterWorkFlowModel, bool isInWorkflow}); @@ -873,10 +881,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$MusterGetWorkflowStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$MusterGetWorkflowStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -885,7 +894,7 @@ class __$$_LoadedCopyWithImpl<$Res> Object? musterWorkFlowModel = freezed, Object? isInWorkflow = null, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( musterWorkFlowModel: freezed == musterWorkFlowModel ? _value.musterWorkFlowModel : musterWorkFlowModel // ignore: cast_nullable_to_non_nullable @@ -913,8 +922,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded({this.musterWorkFlowModel, this.isInWorkflow = false}) +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl({this.musterWorkFlowModel, this.isInWorkflow = false}) : super._(); @override @@ -929,10 +938,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.musterWorkFlowModel, musterWorkFlowModel) || other.musterWorkFlowModel == musterWorkFlowModel) && (identical(other.isInWorkflow, isInWorkflow) || @@ -946,8 +955,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -1033,34 +1042,36 @@ class _$_Loaded extends _Loaded { abstract class _Loaded extends MusterGetWorkflowState { const factory _Loaded( {final MusterWorkFlowModel? musterWorkFlowModel, - final bool isInWorkflow}) = _$_Loaded; + final bool isInWorkflow}) = _$LoadedImpl; const _Loaded._() : super._(); MusterWorkFlowModel? get musterWorkFlowModel; bool get isInWorkflow; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$MusterGetWorkflowStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$MusterGetWorkflowStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Error extends _Error { - const _$_Error() : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl() : super._(); @override String toString() { @@ -1068,9 +1079,9 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Error); + (other.runtimeType == runtimeType && other is _$ErrorImpl); } @override @@ -1158,6 +1169,6 @@ class _$_Error extends _Error { } abstract class _Error extends MusterGetWorkflowState { - const factory _Error() = _$_Error; + const factory _Error() = _$ErrorImpl; const _Error._() : super._(); } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/muster_inbox_status_bloc.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/muster_inbox_status_bloc.dart index 9445c23df6..504108d907 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/muster_inbox_status_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/muster_inbox_status_bloc.dart @@ -50,7 +50,7 @@ class MusterInboxStatusBloc } else { emit(const MusterInboxStatusState.error('MDMS_CONFIG_MISSING')); } - } on DioError catch (e) { + } on DioException catch (e) { emit(MusterInboxStatusState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/muster_inbox_status_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/muster_inbox_status_bloc.freezed.dart index 1be51ca7e4..985a786a7b 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/muster_inbox_status_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/muster_inbox_status_bloc.freezed.dart @@ -12,7 +12,7 @@ part of 'muster_inbox_status_bloc.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$MusterInboxStatusMDMSEvent { @@ -72,26 +72,28 @@ class _$MusterInboxStatusMDMSEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$MusterInboxStatusEventCopyWith<$Res> { - factory _$$MusterInboxStatusEventCopyWith(_$MusterInboxStatusEvent value, - $Res Function(_$MusterInboxStatusEvent) then) = - __$$MusterInboxStatusEventCopyWithImpl<$Res>; +abstract class _$$MusterInboxStatusEventImplCopyWith<$Res> { + factory _$$MusterInboxStatusEventImplCopyWith( + _$MusterInboxStatusEventImpl value, + $Res Function(_$MusterInboxStatusEventImpl) then) = + __$$MusterInboxStatusEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$MusterInboxStatusEventCopyWithImpl<$Res> +class __$$MusterInboxStatusEventImplCopyWithImpl<$Res> extends _$MusterInboxStatusMDMSEventCopyWithImpl<$Res, - _$MusterInboxStatusEvent> - implements _$$MusterInboxStatusEventCopyWith<$Res> { - __$$MusterInboxStatusEventCopyWithImpl(_$MusterInboxStatusEvent _value, - $Res Function(_$MusterInboxStatusEvent) _then) + _$MusterInboxStatusEventImpl> + implements _$$MusterInboxStatusEventImplCopyWith<$Res> { + __$$MusterInboxStatusEventImplCopyWithImpl( + _$MusterInboxStatusEventImpl _value, + $Res Function(_$MusterInboxStatusEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$MusterInboxStatusEvent implements MusterInboxStatusEvent { - const _$MusterInboxStatusEvent(); +class _$MusterInboxStatusEventImpl implements MusterInboxStatusEvent { + const _$MusterInboxStatusEventImpl(); @override String toString() { @@ -99,9 +101,10 @@ class _$MusterInboxStatusEvent implements MusterInboxStatusEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$MusterInboxStatusEvent); + (other.runtimeType == runtimeType && + other is _$MusterInboxStatusEventImpl); } @override @@ -166,7 +169,7 @@ class _$MusterInboxStatusEvent implements MusterInboxStatusEvent { } abstract class MusterInboxStatusEvent implements MusterInboxStatusMDMSEvent { - const factory MusterInboxStatusEvent() = _$MusterInboxStatusEvent; + const factory MusterInboxStatusEvent() = _$MusterInboxStatusEventImpl; } /// @nodoc @@ -243,24 +246,25 @@ class _$MusterInboxStatusStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$MusterInboxStatusStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$MusterInboxStatusStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -268,9 +272,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -352,29 +356,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends MusterInboxStatusState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$MusterInboxStatusStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$MusterInboxStatusStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -382,9 +387,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -466,23 +471,25 @@ class _$_Loading extends _Loading { } abstract class _Loading extends MusterInboxStatusState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({String? sentBackToCBOCode}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$MusterInboxStatusStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$MusterInboxStatusStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -490,7 +497,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? sentBackToCBOCode = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == sentBackToCBOCode ? _value.sentBackToCBOCode : sentBackToCBOCode // ignore: cast_nullable_to_non_nullable @@ -501,8 +508,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.sentBackToCBOCode) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.sentBackToCBOCode) : super._(); @override final String? sentBackToCBOCode; @@ -513,10 +520,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.sentBackToCBOCode, sentBackToCBOCode) || other.sentBackToCBOCode == sentBackToCBOCode)); } @@ -527,8 +534,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -606,28 +613,30 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends MusterInboxStatusState { - const factory _Loaded(final String? sentBackToCBOCode) = _$_Loaded; + const factory _Loaded(final String? sentBackToCBOCode) = _$LoadedImpl; const _Loaded._() : super._(); String? get sentBackToCBOCode; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$MusterInboxStatusStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$MusterInboxStatusStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -635,7 +644,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -646,8 +655,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -658,10 +667,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -671,8 +680,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -750,11 +759,11 @@ class _$_Error extends _Error { } abstract class _Error extends MusterInboxStatusState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/muster_roll_estimate.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/muster_roll_estimate.dart index 08fe234759..a4729682a6 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/muster_roll_estimate.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/muster_roll_estimate.dart @@ -46,7 +46,7 @@ class MusterRollEstimateBloc })); await Future.delayed(const Duration(seconds: 1)); emit(MusterRollEstimateState.loaded(musterRollsModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(const MusterRollEstimateState.loaded(EstimateMusterRollsModel())); } } @@ -79,7 +79,7 @@ class MusterRollEstimateBloc })); await Future.delayed(const Duration(seconds: 1)); emit(MusterRollEstimateState.loaded(musterRollsModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(MusterRollEstimateState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/muster_roll_estimate.freezed.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/muster_roll_estimate.freezed.dart index 9ca96fc71f..6e6fa310f1 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/muster_roll_estimate.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/muster_roll_estimate.freezed.dart @@ -12,7 +12,7 @@ part of 'muster_roll_estimate.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$MusterRollEstimateEvent { @@ -94,21 +94,23 @@ class _$MusterRollEstimateEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$EstimateMusterRollEventCopyWith<$Res> { - factory _$$EstimateMusterRollEventCopyWith(_$EstimateMusterRollEvent value, - $Res Function(_$EstimateMusterRollEvent) then) = - __$$EstimateMusterRollEventCopyWithImpl<$Res>; +abstract class _$$EstimateMusterRollEventImplCopyWith<$Res> { + factory _$$EstimateMusterRollEventImplCopyWith( + _$EstimateMusterRollEventImpl value, + $Res Function(_$EstimateMusterRollEventImpl) then) = + __$$EstimateMusterRollEventImplCopyWithImpl<$Res>; @useResult $Res call({int startDate, int endDate, String registerId, String tenantId}); } /// @nodoc -class __$$EstimateMusterRollEventCopyWithImpl<$Res> +class __$$EstimateMusterRollEventImplCopyWithImpl<$Res> extends _$MusterRollEstimateEventCopyWithImpl<$Res, - _$EstimateMusterRollEvent> - implements _$$EstimateMusterRollEventCopyWith<$Res> { - __$$EstimateMusterRollEventCopyWithImpl(_$EstimateMusterRollEvent _value, - $Res Function(_$EstimateMusterRollEvent) _then) + _$EstimateMusterRollEventImpl> + implements _$$EstimateMusterRollEventImplCopyWith<$Res> { + __$$EstimateMusterRollEventImplCopyWithImpl( + _$EstimateMusterRollEventImpl _value, + $Res Function(_$EstimateMusterRollEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -119,7 +121,7 @@ class __$$EstimateMusterRollEventCopyWithImpl<$Res> Object? registerId = null, Object? tenantId = null, }) { - return _then(_$EstimateMusterRollEvent( + return _then(_$EstimateMusterRollEventImpl( startDate: null == startDate ? _value.startDate : startDate // ignore: cast_nullable_to_non_nullable @@ -142,8 +144,8 @@ class __$$EstimateMusterRollEventCopyWithImpl<$Res> /// @nodoc -class _$EstimateMusterRollEvent implements EstimateMusterRollEvent { - const _$EstimateMusterRollEvent( +class _$EstimateMusterRollEventImpl implements EstimateMusterRollEvent { + const _$EstimateMusterRollEventImpl( {required this.startDate, required this.endDate, required this.registerId, @@ -164,10 +166,10 @@ class _$EstimateMusterRollEvent implements EstimateMusterRollEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$EstimateMusterRollEvent && + other is _$EstimateMusterRollEventImpl && (identical(other.startDate, startDate) || other.startDate == startDate) && (identical(other.endDate, endDate) || other.endDate == endDate) && @@ -184,9 +186,9 @@ class _$EstimateMusterRollEvent implements EstimateMusterRollEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$EstimateMusterRollEventCopyWith<_$EstimateMusterRollEvent> get copyWith => - __$$EstimateMusterRollEventCopyWithImpl<_$EstimateMusterRollEvent>( - this, _$identity); + _$$EstimateMusterRollEventImplCopyWith<_$EstimateMusterRollEventImpl> + get copyWith => __$$EstimateMusterRollEventImplCopyWithImpl< + _$EstimateMusterRollEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -274,35 +276,35 @@ abstract class EstimateMusterRollEvent implements MusterRollEstimateEvent { {required final int startDate, required final int endDate, required final String registerId, - required final String tenantId}) = _$EstimateMusterRollEvent; + required final String tenantId}) = _$EstimateMusterRollEventImpl; int get startDate; int get endDate; String get registerId; String get tenantId; @JsonKey(ignore: true) - _$$EstimateMusterRollEventCopyWith<_$EstimateMusterRollEvent> get copyWith => - throw _privateConstructorUsedError; + _$$EstimateMusterRollEventImplCopyWith<_$EstimateMusterRollEventImpl> + get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$ViewEstimateMusterRollEventCopyWith<$Res> { - factory _$$ViewEstimateMusterRollEventCopyWith( - _$ViewEstimateMusterRollEvent value, - $Res Function(_$ViewEstimateMusterRollEvent) then) = - __$$ViewEstimateMusterRollEventCopyWithImpl<$Res>; +abstract class _$$ViewEstimateMusterRollEventImplCopyWith<$Res> { + factory _$$ViewEstimateMusterRollEventImplCopyWith( + _$ViewEstimateMusterRollEventImpl value, + $Res Function(_$ViewEstimateMusterRollEventImpl) then) = + __$$ViewEstimateMusterRollEventImplCopyWithImpl<$Res>; @useResult $Res call({int startDate, int endDate, String registerId, String tenantId}); } /// @nodoc -class __$$ViewEstimateMusterRollEventCopyWithImpl<$Res> +class __$$ViewEstimateMusterRollEventImplCopyWithImpl<$Res> extends _$MusterRollEstimateEventCopyWithImpl<$Res, - _$ViewEstimateMusterRollEvent> - implements _$$ViewEstimateMusterRollEventCopyWith<$Res> { - __$$ViewEstimateMusterRollEventCopyWithImpl( - _$ViewEstimateMusterRollEvent _value, - $Res Function(_$ViewEstimateMusterRollEvent) _then) + _$ViewEstimateMusterRollEventImpl> + implements _$$ViewEstimateMusterRollEventImplCopyWith<$Res> { + __$$ViewEstimateMusterRollEventImplCopyWithImpl( + _$ViewEstimateMusterRollEventImpl _value, + $Res Function(_$ViewEstimateMusterRollEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -313,7 +315,7 @@ class __$$ViewEstimateMusterRollEventCopyWithImpl<$Res> Object? registerId = null, Object? tenantId = null, }) { - return _then(_$ViewEstimateMusterRollEvent( + return _then(_$ViewEstimateMusterRollEventImpl( startDate: null == startDate ? _value.startDate : startDate // ignore: cast_nullable_to_non_nullable @@ -336,8 +338,8 @@ class __$$ViewEstimateMusterRollEventCopyWithImpl<$Res> /// @nodoc -class _$ViewEstimateMusterRollEvent implements ViewEstimateMusterRollEvent { - const _$ViewEstimateMusterRollEvent( +class _$ViewEstimateMusterRollEventImpl implements ViewEstimateMusterRollEvent { + const _$ViewEstimateMusterRollEventImpl( {required this.startDate, required this.endDate, required this.registerId, @@ -358,10 +360,10 @@ class _$ViewEstimateMusterRollEvent implements ViewEstimateMusterRollEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$ViewEstimateMusterRollEvent && + other is _$ViewEstimateMusterRollEventImpl && (identical(other.startDate, startDate) || other.startDate == startDate) && (identical(other.endDate, endDate) || other.endDate == endDate) && @@ -378,9 +380,9 @@ class _$ViewEstimateMusterRollEvent implements ViewEstimateMusterRollEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$ViewEstimateMusterRollEventCopyWith<_$ViewEstimateMusterRollEvent> - get copyWith => __$$ViewEstimateMusterRollEventCopyWithImpl< - _$ViewEstimateMusterRollEvent>(this, _$identity); + _$$ViewEstimateMusterRollEventImplCopyWith<_$ViewEstimateMusterRollEventImpl> + get copyWith => __$$ViewEstimateMusterRollEventImplCopyWithImpl< + _$ViewEstimateMusterRollEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -468,41 +470,41 @@ abstract class ViewEstimateMusterRollEvent implements MusterRollEstimateEvent { {required final int startDate, required final int endDate, required final String registerId, - required final String tenantId}) = _$ViewEstimateMusterRollEvent; + required final String tenantId}) = _$ViewEstimateMusterRollEventImpl; int get startDate; int get endDate; String get registerId; String get tenantId; @JsonKey(ignore: true) - _$$ViewEstimateMusterRollEventCopyWith<_$ViewEstimateMusterRollEvent> + _$$ViewEstimateMusterRollEventImplCopyWith<_$ViewEstimateMusterRollEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$DisposeEstimateMusterRollEventCopyWith<$Res> { - factory _$$DisposeEstimateMusterRollEventCopyWith( - _$DisposeEstimateMusterRollEvent value, - $Res Function(_$DisposeEstimateMusterRollEvent) then) = - __$$DisposeEstimateMusterRollEventCopyWithImpl<$Res>; +abstract class _$$DisposeEstimateMusterRollEventImplCopyWith<$Res> { + factory _$$DisposeEstimateMusterRollEventImplCopyWith( + _$DisposeEstimateMusterRollEventImpl value, + $Res Function(_$DisposeEstimateMusterRollEventImpl) then) = + __$$DisposeEstimateMusterRollEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$DisposeEstimateMusterRollEventCopyWithImpl<$Res> +class __$$DisposeEstimateMusterRollEventImplCopyWithImpl<$Res> extends _$MusterRollEstimateEventCopyWithImpl<$Res, - _$DisposeEstimateMusterRollEvent> - implements _$$DisposeEstimateMusterRollEventCopyWith<$Res> { - __$$DisposeEstimateMusterRollEventCopyWithImpl( - _$DisposeEstimateMusterRollEvent _value, - $Res Function(_$DisposeEstimateMusterRollEvent) _then) + _$DisposeEstimateMusterRollEventImpl> + implements _$$DisposeEstimateMusterRollEventImplCopyWith<$Res> { + __$$DisposeEstimateMusterRollEventImplCopyWithImpl( + _$DisposeEstimateMusterRollEventImpl _value, + $Res Function(_$DisposeEstimateMusterRollEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$DisposeEstimateMusterRollEvent +class _$DisposeEstimateMusterRollEventImpl implements DisposeEstimateMusterRollEvent { - const _$DisposeEstimateMusterRollEvent(); + const _$DisposeEstimateMusterRollEventImpl(); @override String toString() { @@ -510,10 +512,10 @@ class _$DisposeEstimateMusterRollEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$DisposeEstimateMusterRollEvent); + other is _$DisposeEstimateMusterRollEventImpl); } @override @@ -603,7 +605,7 @@ class _$DisposeEstimateMusterRollEvent abstract class DisposeEstimateMusterRollEvent implements MusterRollEstimateEvent { const factory DisposeEstimateMusterRollEvent() = - _$DisposeEstimateMusterRollEvent; + _$DisposeEstimateMusterRollEventImpl; } /// @nodoc @@ -681,24 +683,25 @@ class _$MusterRollEstimateStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$MusterRollEstimateStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$MusterRollEstimateStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -706,9 +709,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -791,29 +794,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends MusterRollEstimateState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$MusterRollEstimateStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$MusterRollEstimateStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -821,9 +825,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -906,14 +910,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends MusterRollEstimateState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({EstimateMusterRollsModel? musterRollsModel}); @@ -921,10 +926,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$MusterRollEstimateStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$MusterRollEstimateStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -932,7 +938,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? musterRollsModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == musterRollsModel ? _value.musterRollsModel : musterRollsModel // ignore: cast_nullable_to_non_nullable @@ -956,8 +962,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.musterRollsModel) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.musterRollsModel) : super._(); @override final EstimateMusterRollsModel? musterRollsModel; @@ -968,10 +974,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.musterRollsModel, musterRollsModel) || other.musterRollsModel == musterRollsModel)); } @@ -982,8 +988,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -1063,28 +1069,30 @@ class _$_Loaded extends _Loaded { abstract class _Loaded extends MusterRollEstimateState { const factory _Loaded(final EstimateMusterRollsModel? musterRollsModel) = - _$_Loaded; + _$LoadedImpl; const _Loaded._() : super._(); EstimateMusterRollsModel? get musterRollsModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$MusterRollEstimateStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$MusterRollEstimateStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1092,7 +1100,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -1103,8 +1111,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -1115,10 +1123,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -1128,8 +1136,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -1208,11 +1216,11 @@ class _$_Error extends _Error { } abstract class _Error extends MusterRollEstimateState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/muster_roll_pdf.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/muster_roll_pdf.dart index e5400f9179..32de7254b7 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/muster_roll_pdf.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/muster_roll_pdf.dart @@ -41,7 +41,7 @@ class MusterRollPDFBloc extends Bloc { HttpHeaders.contentTypeHeader: 'application/json', }, responseType: ResponseType.bytes), ); - } on DioError catch (e) { + } on DioException catch (e) { emit(MusterRollPDFState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/muster_roll_pdf.freezed.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/muster_roll_pdf.freezed.dart index 4a9f0d368d..2dc831c77b 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/muster_roll_pdf.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/muster_roll_pdf.freezed.dart @@ -12,7 +12,7 @@ part of 'muster_roll_pdf.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$MusterRollPDFEvent { @@ -98,22 +98,22 @@ class _$MusterRollPDFEventCopyWithImpl<$Res, $Val extends MusterRollPDFEvent> } /// @nodoc -abstract class _$$PDFEventMusterRollCopyWith<$Res> +abstract class _$$PDFEventMusterRollImplCopyWith<$Res> implements $MusterRollPDFEventCopyWith<$Res> { - factory _$$PDFEventMusterRollCopyWith(_$PDFEventMusterRoll value, - $Res Function(_$PDFEventMusterRoll) then) = - __$$PDFEventMusterRollCopyWithImpl<$Res>; + factory _$$PDFEventMusterRollImplCopyWith(_$PDFEventMusterRollImpl value, + $Res Function(_$PDFEventMusterRollImpl) then) = + __$$PDFEventMusterRollImplCopyWithImpl<$Res>; @override @useResult $Res call({String? tenantId, String? musterRollNumber}); } /// @nodoc -class __$$PDFEventMusterRollCopyWithImpl<$Res> - extends _$MusterRollPDFEventCopyWithImpl<$Res, _$PDFEventMusterRoll> - implements _$$PDFEventMusterRollCopyWith<$Res> { - __$$PDFEventMusterRollCopyWithImpl( - _$PDFEventMusterRoll _value, $Res Function(_$PDFEventMusterRoll) _then) +class __$$PDFEventMusterRollImplCopyWithImpl<$Res> + extends _$MusterRollPDFEventCopyWithImpl<$Res, _$PDFEventMusterRollImpl> + implements _$$PDFEventMusterRollImplCopyWith<$Res> { + __$$PDFEventMusterRollImplCopyWithImpl(_$PDFEventMusterRollImpl _value, + $Res Function(_$PDFEventMusterRollImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -122,7 +122,7 @@ class __$$PDFEventMusterRollCopyWithImpl<$Res> Object? tenantId = freezed, Object? musterRollNumber = freezed, }) { - return _then(_$PDFEventMusterRoll( + return _then(_$PDFEventMusterRollImpl( tenantId: freezed == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -137,8 +137,8 @@ class __$$PDFEventMusterRollCopyWithImpl<$Res> /// @nodoc -class _$PDFEventMusterRoll implements PDFEventMusterRoll { - const _$PDFEventMusterRoll({this.tenantId, this.musterRollNumber}); +class _$PDFEventMusterRollImpl implements PDFEventMusterRoll { + const _$PDFEventMusterRollImpl({this.tenantId, this.musterRollNumber}); @override final String? tenantId; @@ -151,10 +151,10 @@ class _$PDFEventMusterRoll implements PDFEventMusterRoll { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$PDFEventMusterRoll && + other is _$PDFEventMusterRollImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.musterRollNumber, musterRollNumber) || @@ -167,8 +167,8 @@ class _$PDFEventMusterRoll implements PDFEventMusterRoll { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$PDFEventMusterRollCopyWith<_$PDFEventMusterRoll> get copyWith => - __$$PDFEventMusterRollCopyWithImpl<_$PDFEventMusterRoll>( + _$$PDFEventMusterRollImplCopyWith<_$PDFEventMusterRollImpl> get copyWith => + __$$PDFEventMusterRollImplCopyWithImpl<_$PDFEventMusterRollImpl>( this, _$identity); @override @@ -234,7 +234,7 @@ class _$PDFEventMusterRoll implements PDFEventMusterRoll { abstract class PDFEventMusterRoll implements MusterRollPDFEvent { const factory PDFEventMusterRoll( {final String? tenantId, - final String? musterRollNumber}) = _$PDFEventMusterRoll; + final String? musterRollNumber}) = _$PDFEventMusterRollImpl; @override String? get tenantId; @@ -242,7 +242,7 @@ abstract class PDFEventMusterRoll implements MusterRollPDFEvent { String? get musterRollNumber; @override @JsonKey(ignore: true) - _$$PDFEventMusterRollCopyWith<_$PDFEventMusterRoll> get copyWith => + _$$PDFEventMusterRollImplCopyWith<_$PDFEventMusterRollImpl> get copyWith => throw _privateConstructorUsedError; } @@ -319,24 +319,25 @@ class _$MusterRollPDFStateCopyWithImpl<$Res, $Val extends MusterRollPDFState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$MusterRollPDFStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$MusterRollPDFStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -344,9 +345,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -428,29 +429,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends MusterRollPDFState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$MusterRollPDFStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$MusterRollPDFStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -458,9 +460,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -542,28 +544,30 @@ class _$_Loading extends _Loading { } abstract class _Loading extends MusterRollPDFState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$MusterRollPDFStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$MusterRollPDFStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded() : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl() : super._(); @override String toString() { @@ -571,9 +575,9 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loaded); + (other.runtimeType == runtimeType && other is _$LoadedImpl); } @override @@ -655,23 +659,25 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends MusterRollPDFState { - const factory _Loaded() = _$_Loaded; + const factory _Loaded() = _$LoadedImpl; const _Loaded._() : super._(); } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$MusterRollPDFStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$MusterRollPDFStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -679,7 +685,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -690,8 +696,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -702,10 +708,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -715,8 +721,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -794,11 +800,11 @@ class _$_Error extends _Error { } abstract class _Error extends MusterRollPDFState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/search_individual_muster_roll.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/search_individual_muster_roll.dart index 76a673a263..77f7fa9c50 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/search_individual_muster_roll.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/search_individual_muster_roll.dart @@ -44,7 +44,7 @@ class IndividualMusterRollSearchBloc extends Bloc< })); await Future.delayed(const Duration(seconds: 1)); emit(IndividualMusterRollSearchState.loaded(individualMuster)); - } on DioError catch (e) { + } on DioException catch (e) { emit(IndividualMusterRollSearchState.error( e.response?.data['Errors'][0]['code'])); } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/search_individual_muster_roll.freezed.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/search_individual_muster_roll.freezed.dart index 3587fa0141..d6d0db8879 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/search_individual_muster_roll.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/search_individual_muster_roll.freezed.dart @@ -12,7 +12,7 @@ part of 'search_individual_muster_roll.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$IndividualMusterRollSearchEvent { @@ -102,25 +102,25 @@ class _$IndividualMusterRollSearchEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$SearchIndividualMusterRollEventCopyWith<$Res> +abstract class _$$SearchIndividualMusterRollEventImplCopyWith<$Res> implements $IndividualMusterRollSearchEventCopyWith<$Res> { - factory _$$SearchIndividualMusterRollEventCopyWith( - _$SearchIndividualMusterRollEvent value, - $Res Function(_$SearchIndividualMusterRollEvent) then) = - __$$SearchIndividualMusterRollEventCopyWithImpl<$Res>; + factory _$$SearchIndividualMusterRollEventImplCopyWith( + _$SearchIndividualMusterRollEventImpl value, + $Res Function(_$SearchIndividualMusterRollEventImpl) then) = + __$$SearchIndividualMusterRollEventImplCopyWithImpl<$Res>; @override @useResult $Res call({String musterRollNumber, String tenantId}); } /// @nodoc -class __$$SearchIndividualMusterRollEventCopyWithImpl<$Res> +class __$$SearchIndividualMusterRollEventImplCopyWithImpl<$Res> extends _$IndividualMusterRollSearchEventCopyWithImpl<$Res, - _$SearchIndividualMusterRollEvent> - implements _$$SearchIndividualMusterRollEventCopyWith<$Res> { - __$$SearchIndividualMusterRollEventCopyWithImpl( - _$SearchIndividualMusterRollEvent _value, - $Res Function(_$SearchIndividualMusterRollEvent) _then) + _$SearchIndividualMusterRollEventImpl> + implements _$$SearchIndividualMusterRollEventImplCopyWith<$Res> { + __$$SearchIndividualMusterRollEventImplCopyWithImpl( + _$SearchIndividualMusterRollEventImpl _value, + $Res Function(_$SearchIndividualMusterRollEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -129,7 +129,7 @@ class __$$SearchIndividualMusterRollEventCopyWithImpl<$Res> Object? musterRollNumber = null, Object? tenantId = null, }) { - return _then(_$SearchIndividualMusterRollEvent( + return _then(_$SearchIndividualMusterRollEventImpl( musterRollNumber: null == musterRollNumber ? _value.musterRollNumber : musterRollNumber // ignore: cast_nullable_to_non_nullable @@ -144,10 +144,10 @@ class __$$SearchIndividualMusterRollEventCopyWithImpl<$Res> /// @nodoc -class _$SearchIndividualMusterRollEvent +class _$SearchIndividualMusterRollEventImpl with DiagnosticableTreeMixin implements SearchIndividualMusterRollEvent { - const _$SearchIndividualMusterRollEvent( + const _$SearchIndividualMusterRollEventImpl( {this.musterRollNumber = '', this.tenantId = ''}); @override @@ -173,10 +173,10 @@ class _$SearchIndividualMusterRollEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$SearchIndividualMusterRollEvent && + other is _$SearchIndividualMusterRollEventImpl && (identical(other.musterRollNumber, musterRollNumber) || other.musterRollNumber == musterRollNumber) && (identical(other.tenantId, tenantId) || @@ -189,9 +189,10 @@ class _$SearchIndividualMusterRollEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$SearchIndividualMusterRollEventCopyWith<_$SearchIndividualMusterRollEvent> - get copyWith => __$$SearchIndividualMusterRollEventCopyWithImpl< - _$SearchIndividualMusterRollEvent>(this, _$identity); + _$$SearchIndividualMusterRollEventImplCopyWith< + _$SearchIndividualMusterRollEventImpl> + get copyWith => __$$SearchIndividualMusterRollEventImplCopyWithImpl< + _$SearchIndividualMusterRollEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -258,7 +259,7 @@ abstract class SearchIndividualMusterRollEvent implements IndividualMusterRollSearchEvent { const factory SearchIndividualMusterRollEvent( {final String musterRollNumber, - final String tenantId}) = _$SearchIndividualMusterRollEvent; + final String tenantId}) = _$SearchIndividualMusterRollEventImpl; @override String get musterRollNumber; @@ -266,7 +267,8 @@ abstract class SearchIndividualMusterRollEvent String get tenantId; @override @JsonKey(ignore: true) - _$$SearchIndividualMusterRollEventCopyWith<_$SearchIndividualMusterRollEvent> + _$$SearchIndividualMusterRollEventImplCopyWith< + _$SearchIndividualMusterRollEventImpl> get copyWith => throw _privateConstructorUsedError; } @@ -346,24 +348,25 @@ class _$IndividualMusterRollSearchStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$IndividualMusterRollSearchStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$IndividualMusterRollSearchStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -378,9 +381,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -462,29 +465,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends IndividualMusterRollSearchState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$IndividualMusterRollSearchStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$IndividualMusterRollSearchStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -499,9 +503,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -583,14 +587,15 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends IndividualMusterRollSearchState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({MusterRollsModel? musterRollsModel}); @@ -598,10 +603,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$IndividualMusterRollSearchStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$IndividualMusterRollSearchStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -609,7 +615,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? musterRollsModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == musterRollsModel ? _value.musterRollsModel : musterRollsModel // ignore: cast_nullable_to_non_nullable @@ -632,8 +638,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.musterRollsModel) : super._(); +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + const _$LoadedImpl(this.musterRollsModel) : super._(); @override final MusterRollsModel? musterRollsModel; @@ -653,10 +659,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.musterRollsModel, musterRollsModel) || other.musterRollsModel == musterRollsModel)); } @@ -667,8 +673,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -746,28 +752,31 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } abstract class _Loaded extends IndividualMusterRollSearchState { - const factory _Loaded(final MusterRollsModel? musterRollsModel) = _$_Loaded; + const factory _Loaded(final MusterRollsModel? musterRollsModel) = + _$LoadedImpl; const _Loaded._() : super._(); MusterRollsModel? get musterRollsModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$IndividualMusterRollSearchStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$IndividualMusterRollSearchStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -775,7 +784,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -786,8 +795,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -807,10 +816,10 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -820,8 +829,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -899,11 +908,11 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends IndividualMusterRollSearchState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/search_muster_roll.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/search_muster_roll.dart index 441c5e5423..326da687a1 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/search_muster_roll.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/search_muster_roll.dart @@ -44,7 +44,7 @@ class MusterRollSearchBloc })); await Future.delayed(const Duration(seconds: 1)); emit(MusterRollSearchState.loaded(musterRollsModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(const MusterRollSearchState.loaded(MusterRollsModel())); } } @@ -70,7 +70,7 @@ class MusterRollSearchBloc })); await Future.delayed(const Duration(seconds: 1)); emit(MusterRollSearchState.loaded(musterRollsModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(const MusterRollSearchState.loaded(MusterRollsModel())); } } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/search_muster_roll.freezed.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/search_muster_roll.freezed.dart index 304775382c..2350198222 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/search_muster_roll.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/search_muster_roll.freezed.dart @@ -12,7 +12,7 @@ part of 'search_muster_roll.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$MusterRollSearchEvent { @@ -77,27 +77,29 @@ class _$MusterRollSearchEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$SearchMusterRollEventCopyWith<$Res> { - factory _$$SearchMusterRollEventCopyWith(_$SearchMusterRollEvent value, - $Res Function(_$SearchMusterRollEvent) then) = - __$$SearchMusterRollEventCopyWithImpl<$Res>; +abstract class _$$SearchMusterRollEventImplCopyWith<$Res> { + factory _$$SearchMusterRollEventImplCopyWith( + _$SearchMusterRollEventImpl value, + $Res Function(_$SearchMusterRollEventImpl) then) = + __$$SearchMusterRollEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$SearchMusterRollEventCopyWithImpl<$Res> - extends _$MusterRollSearchEventCopyWithImpl<$Res, _$SearchMusterRollEvent> - implements _$$SearchMusterRollEventCopyWith<$Res> { - __$$SearchMusterRollEventCopyWithImpl(_$SearchMusterRollEvent _value, - $Res Function(_$SearchMusterRollEvent) _then) +class __$$SearchMusterRollEventImplCopyWithImpl<$Res> + extends _$MusterRollSearchEventCopyWithImpl<$Res, + _$SearchMusterRollEventImpl> + implements _$$SearchMusterRollEventImplCopyWith<$Res> { + __$$SearchMusterRollEventImplCopyWithImpl(_$SearchMusterRollEventImpl _value, + $Res Function(_$SearchMusterRollEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$SearchMusterRollEvent +class _$SearchMusterRollEventImpl with DiagnosticableTreeMixin implements SearchMusterRollEvent { - const _$SearchMusterRollEvent(); + const _$SearchMusterRollEventImpl(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -111,9 +113,10 @@ class _$SearchMusterRollEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$SearchMusterRollEvent); + (other.runtimeType == runtimeType && + other is _$SearchMusterRollEventImpl); } @override @@ -184,24 +187,27 @@ class _$SearchMusterRollEvent } abstract class SearchMusterRollEvent implements MusterRollSearchEvent { - const factory SearchMusterRollEvent() = _$SearchMusterRollEvent; + const factory SearchMusterRollEvent() = _$SearchMusterRollEventImpl; } /// @nodoc -abstract class _$$MbSearchMusterRollEventCopyWith<$Res> { - factory _$$MbSearchMusterRollEventCopyWith(_$MbSearchMusterRollEvent value, - $Res Function(_$MbSearchMusterRollEvent) then) = - __$$MbSearchMusterRollEventCopyWithImpl<$Res>; +abstract class _$$MbSearchMusterRollEventImplCopyWith<$Res> { + factory _$$MbSearchMusterRollEventImplCopyWith( + _$MbSearchMusterRollEventImpl value, + $Res Function(_$MbSearchMusterRollEventImpl) then) = + __$$MbSearchMusterRollEventImplCopyWithImpl<$Res>; @useResult $Res call({String musterRollNumner, String tenantId}); } /// @nodoc -class __$$MbSearchMusterRollEventCopyWithImpl<$Res> - extends _$MusterRollSearchEventCopyWithImpl<$Res, _$MbSearchMusterRollEvent> - implements _$$MbSearchMusterRollEventCopyWith<$Res> { - __$$MbSearchMusterRollEventCopyWithImpl(_$MbSearchMusterRollEvent _value, - $Res Function(_$MbSearchMusterRollEvent) _then) +class __$$MbSearchMusterRollEventImplCopyWithImpl<$Res> + extends _$MusterRollSearchEventCopyWithImpl<$Res, + _$MbSearchMusterRollEventImpl> + implements _$$MbSearchMusterRollEventImplCopyWith<$Res> { + __$$MbSearchMusterRollEventImplCopyWithImpl( + _$MbSearchMusterRollEventImpl _value, + $Res Function(_$MbSearchMusterRollEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -210,7 +216,7 @@ class __$$MbSearchMusterRollEventCopyWithImpl<$Res> Object? musterRollNumner = null, Object? tenantId = null, }) { - return _then(_$MbSearchMusterRollEvent( + return _then(_$MbSearchMusterRollEventImpl( musterRollNumner: null == musterRollNumner ? _value.musterRollNumner : musterRollNumner // ignore: cast_nullable_to_non_nullable @@ -225,10 +231,10 @@ class __$$MbSearchMusterRollEventCopyWithImpl<$Res> /// @nodoc -class _$MbSearchMusterRollEvent +class _$MbSearchMusterRollEventImpl with DiagnosticableTreeMixin implements MbSearchMusterRollEvent { - const _$MbSearchMusterRollEvent( + const _$MbSearchMusterRollEventImpl( {required this.musterRollNumner, required this.tenantId}); @override @@ -251,10 +257,10 @@ class _$MbSearchMusterRollEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$MbSearchMusterRollEvent && + other is _$MbSearchMusterRollEventImpl && (identical(other.musterRollNumner, musterRollNumner) || other.musterRollNumner == musterRollNumner) && (identical(other.tenantId, tenantId) || @@ -267,9 +273,9 @@ class _$MbSearchMusterRollEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$MbSearchMusterRollEventCopyWith<_$MbSearchMusterRollEvent> get copyWith => - __$$MbSearchMusterRollEventCopyWithImpl<_$MbSearchMusterRollEvent>( - this, _$identity); + _$$MbSearchMusterRollEventImplCopyWith<_$MbSearchMusterRollEventImpl> + get copyWith => __$$MbSearchMusterRollEventImplCopyWithImpl< + _$MbSearchMusterRollEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -338,13 +344,13 @@ class _$MbSearchMusterRollEvent abstract class MbSearchMusterRollEvent implements MusterRollSearchEvent { const factory MbSearchMusterRollEvent( {required final String musterRollNumner, - required final String tenantId}) = _$MbSearchMusterRollEvent; + required final String tenantId}) = _$MbSearchMusterRollEventImpl; String get musterRollNumner; String get tenantId; @JsonKey(ignore: true) - _$$MbSearchMusterRollEventCopyWith<_$MbSearchMusterRollEvent> get copyWith => - throw _privateConstructorUsedError; + _$$MbSearchMusterRollEventImplCopyWith<_$MbSearchMusterRollEventImpl> + get copyWith => throw _privateConstructorUsedError; } /// @nodoc @@ -421,24 +427,25 @@ class _$MusterRollSearchStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$MusterRollSearchStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$MusterRollSearchStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -453,9 +460,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -537,29 +544,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends MusterRollSearchState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$MusterRollSearchStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$MusterRollSearchStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -574,9 +582,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -658,14 +666,15 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends MusterRollSearchState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({MusterRollsModel? musterRollsModel}); @@ -673,10 +682,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$MusterRollSearchStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$MusterRollSearchStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -684,7 +694,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? musterRollsModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == musterRollsModel ? _value.musterRollsModel : musterRollsModel // ignore: cast_nullable_to_non_nullable @@ -707,8 +717,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.musterRollsModel) : super._(); +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + const _$LoadedImpl(this.musterRollsModel) : super._(); @override final MusterRollsModel? musterRollsModel; @@ -727,10 +737,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.musterRollsModel, musterRollsModel) || other.musterRollsModel == musterRollsModel)); } @@ -741,8 +751,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -820,28 +830,31 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } abstract class _Loaded extends MusterRollSearchState { - const factory _Loaded(final MusterRollsModel? musterRollsModel) = _$_Loaded; + const factory _Loaded(final MusterRollsModel? musterRollsModel) = + _$LoadedImpl; const _Loaded._() : super._(); MusterRollsModel? get musterRollsModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$MusterRollSearchStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$MusterRollSearchStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -849,7 +862,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -860,8 +873,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -880,10 +893,10 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -893,8 +906,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -972,11 +985,11 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends MusterRollSearchState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/my_bills/my_bills_inbox_bloc.dart b/frontend/works_shg_app/lib/blocs/my_bills/my_bills_inbox_bloc.dart index 7ec1da55dc..15792e58fe 100644 --- a/frontend/works_shg_app/lib/blocs/my_bills/my_bills_inbox_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/my_bills/my_bills_inbox_bloc.dart @@ -50,7 +50,7 @@ class MyBillInboxBloc extends Bloc { } else { emit(const MyBillsInboxState.error('MDMS_CONFIG_MISSING')); } - } on DioError catch (e) { + } on DioException catch (e) { emit(MyBillsInboxState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/my_bills/my_bills_inbox_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/my_bills/my_bills_inbox_bloc.freezed.dart index bef3d5d76e..4c1762158c 100644 --- a/frontend/works_shg_app/lib/blocs/my_bills/my_bills_inbox_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/my_bills/my_bills_inbox_bloc.freezed.dart @@ -12,7 +12,7 @@ part of 'my_bills_inbox_bloc.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$MyBillsInboxMDMSEvent { @@ -70,25 +70,25 @@ class _$MyBillsInboxMDMSEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$BillsInboxEventCopyWith<$Res> { - factory _$$BillsInboxEventCopyWith( - _$BillsInboxEvent value, $Res Function(_$BillsInboxEvent) then) = - __$$BillsInboxEventCopyWithImpl<$Res>; +abstract class _$$BillsInboxEventImplCopyWith<$Res> { + factory _$$BillsInboxEventImplCopyWith(_$BillsInboxEventImpl value, + $Res Function(_$BillsInboxEventImpl) then) = + __$$BillsInboxEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$BillsInboxEventCopyWithImpl<$Res> - extends _$MyBillsInboxMDMSEventCopyWithImpl<$Res, _$BillsInboxEvent> - implements _$$BillsInboxEventCopyWith<$Res> { - __$$BillsInboxEventCopyWithImpl( - _$BillsInboxEvent _value, $Res Function(_$BillsInboxEvent) _then) +class __$$BillsInboxEventImplCopyWithImpl<$Res> + extends _$MyBillsInboxMDMSEventCopyWithImpl<$Res, _$BillsInboxEventImpl> + implements _$$BillsInboxEventImplCopyWith<$Res> { + __$$BillsInboxEventImplCopyWithImpl( + _$BillsInboxEventImpl _value, $Res Function(_$BillsInboxEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$BillsInboxEvent implements BillsInboxEvent { - const _$BillsInboxEvent(); +class _$BillsInboxEventImpl implements BillsInboxEvent { + const _$BillsInboxEventImpl(); @override String toString() { @@ -96,9 +96,9 @@ class _$BillsInboxEvent implements BillsInboxEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$BillsInboxEvent); + (other.runtimeType == runtimeType && other is _$BillsInboxEventImpl); } @override @@ -162,7 +162,7 @@ class _$BillsInboxEvent implements BillsInboxEvent { } abstract class BillsInboxEvent implements MyBillsInboxMDMSEvent { - const factory BillsInboxEvent() = _$BillsInboxEvent; + const factory BillsInboxEvent() = _$BillsInboxEventImpl; } /// @nodoc @@ -238,24 +238,25 @@ class _$MyBillsInboxStateCopyWithImpl<$Res, $Val extends MyBillsInboxState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$MyBillsInboxStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$MyBillsInboxStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -263,9 +264,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -347,29 +348,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends MyBillsInboxState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$MyBillsInboxStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$MyBillsInboxStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -377,9 +379,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -461,23 +463,25 @@ class _$_Loading extends _Loading { } abstract class _Loading extends MyBillsInboxState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({String? rejectCode, String? approvedCode}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$MyBillsInboxStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$MyBillsInboxStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -486,7 +490,7 @@ class __$$_LoadedCopyWithImpl<$Res> Object? rejectCode = freezed, Object? approvedCode = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == rejectCode ? _value.rejectCode : rejectCode // ignore: cast_nullable_to_non_nullable @@ -501,8 +505,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.rejectCode, this.approvedCode) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.rejectCode, this.approvedCode) : super._(); @override final String? rejectCode; @@ -515,10 +519,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.rejectCode, rejectCode) || other.rejectCode == rejectCode) && (identical(other.approvedCode, approvedCode) || @@ -531,8 +535,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -611,29 +615,31 @@ class _$_Loaded extends _Loaded { abstract class _Loaded extends MyBillsInboxState { const factory _Loaded(final String? rejectCode, final String? approvedCode) = - _$_Loaded; + _$LoadedImpl; const _Loaded._() : super._(); String? get rejectCode; String? get approvedCode; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$MyBillsInboxStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$MyBillsInboxStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -641,7 +647,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -652,8 +658,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -664,10 +670,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -677,8 +683,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -756,11 +762,11 @@ class _$_Error extends _Error { } abstract class _Error extends MyBillsInboxState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/my_bills/search_my_bills.dart b/frontend/works_shg_app/lib/blocs/my_bills/search_my_bills.dart index dbc0c583ea..dd53b98953 100644 --- a/frontend/works_shg_app/lib/blocs/my_bills/search_my_bills.dart +++ b/frontend/works_shg_app/lib/blocs/my_bills/search_my_bills.dart @@ -52,7 +52,7 @@ class SearchMyBillsBloc extends Bloc { })); await Future.delayed(const Duration(seconds: 1)); emit(SearchMyBillsState.loaded(billsModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(SearchMyBillsState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/my_bills/search_my_bills.freezed.dart b/frontend/works_shg_app/lib/blocs/my_bills/search_my_bills.freezed.dart index 4d79a29b6e..452ba4309d 100644 --- a/frontend/works_shg_app/lib/blocs/my_bills/search_my_bills.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/my_bills/search_my_bills.freezed.dart @@ -12,7 +12,7 @@ part of 'search_my_bills.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$SearchMyBillsEvent { @@ -69,27 +69,27 @@ class _$SearchMyBillsEventCopyWithImpl<$Res, $Val extends SearchMyBillsEvent> } /// @nodoc -abstract class _$$MyBillsSearchEventCopyWith<$Res> { - factory _$$MyBillsSearchEventCopyWith(_$MyBillsSearchEvent value, - $Res Function(_$MyBillsSearchEvent) then) = - __$$MyBillsSearchEventCopyWithImpl<$Res>; +abstract class _$$MyBillsSearchEventImplCopyWith<$Res> { + factory _$$MyBillsSearchEventImplCopyWith(_$MyBillsSearchEventImpl value, + $Res Function(_$MyBillsSearchEventImpl) then) = + __$$MyBillsSearchEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$MyBillsSearchEventCopyWithImpl<$Res> - extends _$SearchMyBillsEventCopyWithImpl<$Res, _$MyBillsSearchEvent> - implements _$$MyBillsSearchEventCopyWith<$Res> { - __$$MyBillsSearchEventCopyWithImpl( - _$MyBillsSearchEvent _value, $Res Function(_$MyBillsSearchEvent) _then) +class __$$MyBillsSearchEventImplCopyWithImpl<$Res> + extends _$SearchMyBillsEventCopyWithImpl<$Res, _$MyBillsSearchEventImpl> + implements _$$MyBillsSearchEventImplCopyWith<$Res> { + __$$MyBillsSearchEventImplCopyWithImpl(_$MyBillsSearchEventImpl _value, + $Res Function(_$MyBillsSearchEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$MyBillsSearchEvent +class _$MyBillsSearchEventImpl with DiagnosticableTreeMixin implements MyBillsSearchEvent { - const _$MyBillsSearchEvent(); + const _$MyBillsSearchEventImpl(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -103,9 +103,9 @@ class _$MyBillsSearchEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$MyBillsSearchEvent); + (other.runtimeType == runtimeType && other is _$MyBillsSearchEventImpl); } @override @@ -169,7 +169,7 @@ class _$MyBillsSearchEvent } abstract class MyBillsSearchEvent implements SearchMyBillsEvent { - const factory MyBillsSearchEvent() = _$MyBillsSearchEvent; + const factory MyBillsSearchEvent() = _$MyBillsSearchEventImpl; } /// @nodoc @@ -245,24 +245,25 @@ class _$SearchMyBillsStateCopyWithImpl<$Res, $Val extends SearchMyBillsState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$SearchMyBillsStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$SearchMyBillsStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -276,9 +277,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -360,29 +361,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends SearchMyBillsState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$SearchMyBillsStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$SearchMyBillsStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -396,9 +398,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -480,23 +482,25 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends SearchMyBillsState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({MyBillsListModel? contractsModel}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$SearchMyBillsStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$SearchMyBillsStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -504,7 +508,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? contractsModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == contractsModel ? _value.contractsModel : contractsModel // ignore: cast_nullable_to_non_nullable @@ -515,8 +519,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.contractsModel) : super._(); +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + const _$LoadedImpl(this.contractsModel) : super._(); @override final MyBillsListModel? contractsModel; @@ -535,10 +539,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.contractsModel, contractsModel) || other.contractsModel == contractsModel)); } @@ -549,8 +553,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -628,28 +632,30 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } abstract class _Loaded extends SearchMyBillsState { - const factory _Loaded(final MyBillsListModel? contractsModel) = _$_Loaded; + const factory _Loaded(final MyBillsListModel? contractsModel) = _$LoadedImpl; const _Loaded._() : super._(); MyBillsListModel? get contractsModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$SearchMyBillsStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$SearchMyBillsStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -657,7 +663,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -668,8 +674,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -688,10 +694,10 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -701,8 +707,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -780,11 +786,11 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends SearchMyBillsState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/organisation/org_financial_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/organisation/org_financial_bloc.freezed.dart index 8c69738992..9762aad789 100644 --- a/frontend/works_shg_app/lib/blocs/organisation/org_financial_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/organisation/org_financial_bloc.freezed.dart @@ -12,7 +12,7 @@ part of 'org_financial_bloc.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$ORGFinanceEvent { @@ -95,22 +95,22 @@ class _$ORGFinanceEventCopyWithImpl<$Res, $Val extends ORGFinanceEvent> } /// @nodoc -abstract class _$$FinanceORGEventCopyWith<$Res> +abstract class _$$FinanceORGEventImplCopyWith<$Res> implements $ORGFinanceEventCopyWith<$Res> { - factory _$$FinanceORGEventCopyWith( - _$FinanceORGEvent value, $Res Function(_$FinanceORGEvent) then) = - __$$FinanceORGEventCopyWithImpl<$Res>; + factory _$$FinanceORGEventImplCopyWith(_$FinanceORGEventImpl value, + $Res Function(_$FinanceORGEventImpl) then) = + __$$FinanceORGEventImplCopyWithImpl<$Res>; @override @useResult $Res call({String referenceId, String tenantId}); } /// @nodoc -class __$$FinanceORGEventCopyWithImpl<$Res> - extends _$ORGFinanceEventCopyWithImpl<$Res, _$FinanceORGEvent> - implements _$$FinanceORGEventCopyWith<$Res> { - __$$FinanceORGEventCopyWithImpl( - _$FinanceORGEvent _value, $Res Function(_$FinanceORGEvent) _then) +class __$$FinanceORGEventImplCopyWithImpl<$Res> + extends _$ORGFinanceEventCopyWithImpl<$Res, _$FinanceORGEventImpl> + implements _$$FinanceORGEventImplCopyWith<$Res> { + __$$FinanceORGEventImplCopyWithImpl( + _$FinanceORGEventImpl _value, $Res Function(_$FinanceORGEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -119,7 +119,7 @@ class __$$FinanceORGEventCopyWithImpl<$Res> Object? referenceId = null, Object? tenantId = null, }) { - return _then(_$FinanceORGEvent( + return _then(_$FinanceORGEventImpl( null == referenceId ? _value.referenceId : referenceId // ignore: cast_nullable_to_non_nullable @@ -134,10 +134,10 @@ class __$$FinanceORGEventCopyWithImpl<$Res> /// @nodoc -class _$FinanceORGEvent +class _$FinanceORGEventImpl with DiagnosticableTreeMixin implements FinanceORGEvent { - const _$FinanceORGEvent(this.referenceId, this.tenantId); + const _$FinanceORGEventImpl(this.referenceId, this.tenantId); @override final String referenceId; @@ -159,10 +159,10 @@ class _$FinanceORGEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$FinanceORGEvent && + other is _$FinanceORGEventImpl && (identical(other.referenceId, referenceId) || other.referenceId == referenceId) && (identical(other.tenantId, tenantId) || @@ -175,8 +175,9 @@ class _$FinanceORGEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$FinanceORGEventCopyWith<_$FinanceORGEvent> get copyWith => - __$$FinanceORGEventCopyWithImpl<_$FinanceORGEvent>(this, _$identity); + _$$FinanceORGEventImplCopyWith<_$FinanceORGEventImpl> get copyWith => + __$$FinanceORGEventImplCopyWithImpl<_$FinanceORGEventImpl>( + this, _$identity); @override @optionalTypeArgs @@ -237,7 +238,7 @@ class _$FinanceORGEvent abstract class FinanceORGEvent implements ORGFinanceEvent { const factory FinanceORGEvent( - final String referenceId, final String tenantId) = _$FinanceORGEvent; + final String referenceId, final String tenantId) = _$FinanceORGEventImpl; @override String get referenceId; @@ -245,7 +246,7 @@ abstract class FinanceORGEvent implements ORGFinanceEvent { String get tenantId; @override @JsonKey(ignore: true) - _$$FinanceORGEventCopyWith<_$FinanceORGEvent> get copyWith => + _$$FinanceORGEventImplCopyWith<_$FinanceORGEventImpl> get copyWith => throw _privateConstructorUsedError; } @@ -322,24 +323,25 @@ class _$ORGFinanceStateCopyWithImpl<$Res, $Val extends ORGFinanceState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$ORGFinanceStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$ORGFinanceStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -353,9 +355,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -437,29 +439,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends ORGFinanceState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$ORGFinanceStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$ORGFinanceStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -473,9 +476,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -557,23 +560,25 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends ORGFinanceState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({BankingDetailsModel? bankingDetailsModel}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$ORGFinanceStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$ORGFinanceStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -581,7 +586,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? bankingDetailsModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == bankingDetailsModel ? _value.bankingDetailsModel : bankingDetailsModel // ignore: cast_nullable_to_non_nullable @@ -592,8 +597,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.bankingDetailsModel) : super._(); +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + const _$LoadedImpl(this.bankingDetailsModel) : super._(); @override final BankingDetailsModel? bankingDetailsModel; @@ -612,10 +617,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.bankingDetailsModel, bankingDetailsModel) || other.bankingDetailsModel == bankingDetailsModel)); } @@ -626,8 +631,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -706,33 +711,35 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { abstract class _Loaded extends ORGFinanceState { const factory _Loaded(final BankingDetailsModel? bankingDetailsModel) = - _$_Loaded; + _$LoadedImpl; const _Loaded._() : super._(); BankingDetailsModel? get bankingDetailsModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$ORGFinanceStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$ORGFinanceStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error() : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -746,9 +753,9 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Error); + (other.runtimeType == runtimeType && other is _$ErrorImpl); } @override @@ -830,6 +837,6 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends ORGFinanceState { - const factory _Error() = _$_Error; + const factory _Error() = _$ErrorImpl; const _Error._() : super._(); } diff --git a/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.dart b/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.dart index e869e1af02..7d37f1f7fa 100644 --- a/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.dart @@ -35,7 +35,7 @@ class ORGSearchBloc extends Bloc { GlobalVariables.tenantId=organisationListModel.organisations?.first.tenantId??GlobalVariables.tenantId; await Future.delayed(const Duration(seconds: 1)); emit(ORGSearchState.loaded(organisationListModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(ORGSearchState.error(e.response?.data['Errors'][0]['code'])); } } @@ -55,7 +55,7 @@ class ORGSearchBloc extends Bloc { GlobalVariables.tenantId=organisationListModel.organisations?.first.tenantId??GlobalVariables.tenantId; await Future.delayed(const Duration(seconds: 1)); emit(ORGSearchState.loaded(organisationListModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(ORGSearchState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.freezed.dart index 6e49b4cd9d..63da39d07d 100644 --- a/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.freezed.dart @@ -12,7 +12,7 @@ part of 'org_search_bloc.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$ORGSearchEvent { @@ -75,20 +75,20 @@ class _$ORGSearchEventCopyWithImpl<$Res, $Val extends ORGSearchEvent> } /// @nodoc -abstract class _$$SearchORGEventCopyWith<$Res> { - factory _$$SearchORGEventCopyWith( - _$SearchORGEvent value, $Res Function(_$SearchORGEvent) then) = - __$$SearchORGEventCopyWithImpl<$Res>; +abstract class _$$SearchORGEventImplCopyWith<$Res> { + factory _$$SearchORGEventImplCopyWith(_$SearchORGEventImpl value, + $Res Function(_$SearchORGEventImpl) then) = + __$$SearchORGEventImplCopyWithImpl<$Res>; @useResult $Res call({String mobileNumber}); } /// @nodoc -class __$$SearchORGEventCopyWithImpl<$Res> - extends _$ORGSearchEventCopyWithImpl<$Res, _$SearchORGEvent> - implements _$$SearchORGEventCopyWith<$Res> { - __$$SearchORGEventCopyWithImpl( - _$SearchORGEvent _value, $Res Function(_$SearchORGEvent) _then) +class __$$SearchORGEventImplCopyWithImpl<$Res> + extends _$ORGSearchEventCopyWithImpl<$Res, _$SearchORGEventImpl> + implements _$$SearchORGEventImplCopyWith<$Res> { + __$$SearchORGEventImplCopyWithImpl( + _$SearchORGEventImpl _value, $Res Function(_$SearchORGEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -96,7 +96,7 @@ class __$$SearchORGEventCopyWithImpl<$Res> $Res call({ Object? mobileNumber = null, }) { - return _then(_$SearchORGEvent( + return _then(_$SearchORGEventImpl( null == mobileNumber ? _value.mobileNumber : mobileNumber // ignore: cast_nullable_to_non_nullable @@ -107,8 +107,10 @@ class __$$SearchORGEventCopyWithImpl<$Res> /// @nodoc -class _$SearchORGEvent with DiagnosticableTreeMixin implements SearchORGEvent { - const _$SearchORGEvent(this.mobileNumber); +class _$SearchORGEventImpl + with DiagnosticableTreeMixin + implements SearchORGEvent { + const _$SearchORGEventImpl(this.mobileNumber); @override final String mobileNumber; @@ -127,10 +129,10 @@ class _$SearchORGEvent with DiagnosticableTreeMixin implements SearchORGEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$SearchORGEvent && + other is _$SearchORGEventImpl && (identical(other.mobileNumber, mobileNumber) || other.mobileNumber == mobileNumber)); } @@ -141,8 +143,9 @@ class _$SearchORGEvent with DiagnosticableTreeMixin implements SearchORGEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$SearchORGEventCopyWith<_$SearchORGEvent> get copyWith => - __$$SearchORGEventCopyWithImpl<_$SearchORGEvent>(this, _$identity); + _$$SearchORGEventImplCopyWith<_$SearchORGEventImpl> get copyWith => + __$$SearchORGEventImplCopyWithImpl<_$SearchORGEventImpl>( + this, _$identity); @override @optionalTypeArgs @@ -208,29 +211,30 @@ class _$SearchORGEvent with DiagnosticableTreeMixin implements SearchORGEvent { } abstract class SearchORGEvent implements ORGSearchEvent { - const factory SearchORGEvent(final String mobileNumber) = _$SearchORGEvent; + const factory SearchORGEvent(final String mobileNumber) = + _$SearchORGEventImpl; String get mobileNumber; @JsonKey(ignore: true) - _$$SearchORGEventCopyWith<_$SearchORGEvent> get copyWith => + _$$SearchORGEventImplCopyWith<_$SearchORGEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$SearchMbORGEventCopyWith<$Res> { - factory _$$SearchMbORGEventCopyWith( - _$SearchMbORGEvent value, $Res Function(_$SearchMbORGEvent) then) = - __$$SearchMbORGEventCopyWithImpl<$Res>; +abstract class _$$SearchMbORGEventImplCopyWith<$Res> { + factory _$$SearchMbORGEventImplCopyWith(_$SearchMbORGEventImpl value, + $Res Function(_$SearchMbORGEventImpl) then) = + __$$SearchMbORGEventImplCopyWithImpl<$Res>; @useResult $Res call({String tenantId}); } /// @nodoc -class __$$SearchMbORGEventCopyWithImpl<$Res> - extends _$ORGSearchEventCopyWithImpl<$Res, _$SearchMbORGEvent> - implements _$$SearchMbORGEventCopyWith<$Res> { - __$$SearchMbORGEventCopyWithImpl( - _$SearchMbORGEvent _value, $Res Function(_$SearchMbORGEvent) _then) +class __$$SearchMbORGEventImplCopyWithImpl<$Res> + extends _$ORGSearchEventCopyWithImpl<$Res, _$SearchMbORGEventImpl> + implements _$$SearchMbORGEventImplCopyWith<$Res> { + __$$SearchMbORGEventImplCopyWithImpl(_$SearchMbORGEventImpl _value, + $Res Function(_$SearchMbORGEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -238,7 +242,7 @@ class __$$SearchMbORGEventCopyWithImpl<$Res> $Res call({ Object? tenantId = null, }) { - return _then(_$SearchMbORGEvent( + return _then(_$SearchMbORGEventImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -249,10 +253,10 @@ class __$$SearchMbORGEventCopyWithImpl<$Res> /// @nodoc -class _$SearchMbORGEvent +class _$SearchMbORGEventImpl with DiagnosticableTreeMixin implements SearchMbORGEvent { - const _$SearchMbORGEvent({required this.tenantId}); + const _$SearchMbORGEventImpl({required this.tenantId}); @override final String tenantId; @@ -271,10 +275,10 @@ class _$SearchMbORGEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$SearchMbORGEvent && + other is _$SearchMbORGEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId)); } @@ -285,8 +289,9 @@ class _$SearchMbORGEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$SearchMbORGEventCopyWith<_$SearchMbORGEvent> get copyWith => - __$$SearchMbORGEventCopyWithImpl<_$SearchMbORGEvent>(this, _$identity); + _$$SearchMbORGEventImplCopyWith<_$SearchMbORGEventImpl> get copyWith => + __$$SearchMbORGEventImplCopyWithImpl<_$SearchMbORGEventImpl>( + this, _$identity); @override @optionalTypeArgs @@ -353,11 +358,11 @@ class _$SearchMbORGEvent abstract class SearchMbORGEvent implements ORGSearchEvent { const factory SearchMbORGEvent({required final String tenantId}) = - _$SearchMbORGEvent; + _$SearchMbORGEventImpl; String get tenantId; @JsonKey(ignore: true) - _$$SearchMbORGEventCopyWith<_$SearchMbORGEvent> get copyWith => + _$$SearchMbORGEventImplCopyWith<_$SearchMbORGEventImpl> get copyWith => throw _privateConstructorUsedError; } @@ -435,24 +440,25 @@ class _$ORGSearchStateCopyWithImpl<$Res, $Val extends ORGSearchState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$ORGSearchStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$ORGSearchStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -466,9 +472,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -551,29 +557,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends ORGSearchState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$ORGSearchStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$ORGSearchStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -587,9 +594,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -672,14 +679,15 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends ORGSearchState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({OrganisationListModel? organisationListModel}); @@ -687,10 +695,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$ORGSearchStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$ORGSearchStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -698,7 +707,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? organisationListModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == organisationListModel ? _value.organisationListModel : organisationListModel // ignore: cast_nullable_to_non_nullable @@ -722,8 +731,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.organisationListModel) : super._(); +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + const _$LoadedImpl(this.organisationListModel) : super._(); @override final OrganisationListModel? organisationListModel; @@ -743,10 +752,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.organisationListModel, organisationListModel) || other.organisationListModel == organisationListModel)); } @@ -757,8 +766,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -838,28 +847,30 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { abstract class _Loaded extends ORGSearchState { const factory _Loaded(final OrganisationListModel? organisationListModel) = - _$_Loaded; + _$LoadedImpl; const _Loaded._() : super._(); OrganisationListModel? get organisationListModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$ORGSearchStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$ORGSearchStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -867,7 +878,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -878,8 +889,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -898,10 +909,10 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -911,8 +922,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -991,11 +1002,11 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends ORGSearchState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/time_extension_request/create_time_extension_request.dart b/frontend/works_shg_app/lib/blocs/time_extension_request/create_time_extension_request.dart index 251c158750..af013a5361 100644 --- a/frontend/works_shg_app/lib/blocs/time_extension_request/create_time_extension_request.dart +++ b/frontend/works_shg_app/lib/blocs/time_extension_request/create_time_extension_request.dart @@ -57,7 +57,7 @@ class CreateTimeExtensionRequestBloc extends Bloc< })); await Future.delayed(const Duration(seconds: 1)); emit(CreateTimeExtensionRequestState.loaded(timeExtensions)); - } on DioError catch (e) { + } on DioException catch (e) { emit(CreateTimeExtensionRequestState.error( e.response?.data['Errors'][0]['code'])); } diff --git a/frontend/works_shg_app/lib/blocs/time_extension_request/create_time_extension_request.freezed.dart b/frontend/works_shg_app/lib/blocs/time_extension_request/create_time_extension_request.freezed.dart index e3a632b396..e3b9fe2122 100644 --- a/frontend/works_shg_app/lib/blocs/time_extension_request/create_time_extension_request.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/time_extension_request/create_time_extension_request.freezed.dart @@ -12,7 +12,7 @@ part of 'create_time_extension_request.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$CreateTimeExtensionRequestEvent { @@ -84,11 +84,11 @@ class _$CreateTimeExtensionRequestEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$TimeExtensionRequestEventCopyWith<$Res> { - factory _$$TimeExtensionRequestEventCopyWith( - _$TimeExtensionRequestEvent value, - $Res Function(_$TimeExtensionRequestEvent) then) = - __$$TimeExtensionRequestEventCopyWithImpl<$Res>; +abstract class _$$TimeExtensionRequestEventImplCopyWith<$Res> { + factory _$$TimeExtensionRequestEventImplCopyWith( + _$TimeExtensionRequestEventImpl value, + $Res Function(_$TimeExtensionRequestEventImpl) then) = + __$$TimeExtensionRequestEventImplCopyWithImpl<$Res>; @useResult $Res call( {Contracts? contractsModel, @@ -100,12 +100,13 @@ abstract class _$$TimeExtensionRequestEventCopyWith<$Res> { } /// @nodoc -class __$$TimeExtensionRequestEventCopyWithImpl<$Res> +class __$$TimeExtensionRequestEventImplCopyWithImpl<$Res> extends _$CreateTimeExtensionRequestEventCopyWithImpl<$Res, - _$TimeExtensionRequestEvent> - implements _$$TimeExtensionRequestEventCopyWith<$Res> { - __$$TimeExtensionRequestEventCopyWithImpl(_$TimeExtensionRequestEvent _value, - $Res Function(_$TimeExtensionRequestEvent) _then) + _$TimeExtensionRequestEventImpl> + implements _$$TimeExtensionRequestEventImplCopyWith<$Res> { + __$$TimeExtensionRequestEventImplCopyWithImpl( + _$TimeExtensionRequestEventImpl _value, + $Res Function(_$TimeExtensionRequestEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -118,7 +119,7 @@ class __$$TimeExtensionRequestEventCopyWithImpl<$Res> Object? isEdit = null, Object? reason = null, }) { - return _then(_$TimeExtensionRequestEvent( + return _then(_$TimeExtensionRequestEventImpl( contractsModel: freezed == contractsModel ? _value.contractsModel : contractsModel // ignore: cast_nullable_to_non_nullable @@ -149,10 +150,10 @@ class __$$TimeExtensionRequestEventCopyWithImpl<$Res> /// @nodoc -class _$TimeExtensionRequestEvent +class _$TimeExtensionRequestEventImpl with DiagnosticableTreeMixin implements TimeExtensionRequestEvent { - const _$TimeExtensionRequestEvent( + const _$TimeExtensionRequestEventImpl( {required this.contractsModel, required this.extensionDays, required this.extensionDate, @@ -194,10 +195,10 @@ class _$TimeExtensionRequestEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$TimeExtensionRequestEvent && + other is _$TimeExtensionRequestEventImpl && (identical(other.contractsModel, contractsModel) || other.contractsModel == contractsModel) && (identical(other.extensionDays, extensionDays) || @@ -216,9 +217,9 @@ class _$TimeExtensionRequestEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$TimeExtensionRequestEventCopyWith<_$TimeExtensionRequestEvent> - get copyWith => __$$TimeExtensionRequestEventCopyWithImpl< - _$TimeExtensionRequestEvent>(this, _$identity); + _$$TimeExtensionRequestEventImplCopyWith<_$TimeExtensionRequestEventImpl> + get copyWith => __$$TimeExtensionRequestEventImplCopyWithImpl< + _$TimeExtensionRequestEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -300,7 +301,7 @@ abstract class TimeExtensionRequestEvent required final int extensionDate, required final String action, required final bool isEdit, - final String reason}) = _$TimeExtensionRequestEvent; + final String reason}) = _$TimeExtensionRequestEventImpl; Contracts? get contractsModel; String get extensionDays; @@ -309,35 +310,35 @@ abstract class TimeExtensionRequestEvent bool get isEdit; String get reason; @JsonKey(ignore: true) - _$$TimeExtensionRequestEventCopyWith<_$TimeExtensionRequestEvent> + _$$TimeExtensionRequestEventImplCopyWith<_$TimeExtensionRequestEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$TimeExtensionRequestDisposeEventCopyWith<$Res> { - factory _$$TimeExtensionRequestDisposeEventCopyWith( - _$TimeExtensionRequestDisposeEvent value, - $Res Function(_$TimeExtensionRequestDisposeEvent) then) = - __$$TimeExtensionRequestDisposeEventCopyWithImpl<$Res>; +abstract class _$$TimeExtensionRequestDisposeEventImplCopyWith<$Res> { + factory _$$TimeExtensionRequestDisposeEventImplCopyWith( + _$TimeExtensionRequestDisposeEventImpl value, + $Res Function(_$TimeExtensionRequestDisposeEventImpl) then) = + __$$TimeExtensionRequestDisposeEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$TimeExtensionRequestDisposeEventCopyWithImpl<$Res> +class __$$TimeExtensionRequestDisposeEventImplCopyWithImpl<$Res> extends _$CreateTimeExtensionRequestEventCopyWithImpl<$Res, - _$TimeExtensionRequestDisposeEvent> - implements _$$TimeExtensionRequestDisposeEventCopyWith<$Res> { - __$$TimeExtensionRequestDisposeEventCopyWithImpl( - _$TimeExtensionRequestDisposeEvent _value, - $Res Function(_$TimeExtensionRequestDisposeEvent) _then) + _$TimeExtensionRequestDisposeEventImpl> + implements _$$TimeExtensionRequestDisposeEventImplCopyWith<$Res> { + __$$TimeExtensionRequestDisposeEventImplCopyWithImpl( + _$TimeExtensionRequestDisposeEventImpl _value, + $Res Function(_$TimeExtensionRequestDisposeEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$TimeExtensionRequestDisposeEvent +class _$TimeExtensionRequestDisposeEventImpl with DiagnosticableTreeMixin implements TimeExtensionRequestDisposeEvent { - const _$TimeExtensionRequestDisposeEvent(); + const _$TimeExtensionRequestDisposeEventImpl(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -352,10 +353,10 @@ class _$TimeExtensionRequestDisposeEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$TimeExtensionRequestDisposeEvent); + other is _$TimeExtensionRequestDisposeEventImpl); } @override @@ -433,7 +434,7 @@ class _$TimeExtensionRequestDisposeEvent abstract class TimeExtensionRequestDisposeEvent implements CreateTimeExtensionRequestEvent { const factory TimeExtensionRequestDisposeEvent() = - _$TimeExtensionRequestDisposeEvent; + _$TimeExtensionRequestDisposeEventImpl; } /// @nodoc @@ -512,24 +513,25 @@ class _$CreateTimeExtensionRequestStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$CreateTimeExtensionRequestStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$CreateTimeExtensionRequestStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -544,9 +546,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -628,29 +630,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends CreateTimeExtensionRequestState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$CreateTimeExtensionRequestStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$CreateTimeExtensionRequestStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -665,9 +668,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -749,23 +752,25 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends CreateTimeExtensionRequestState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({ContractsModel? contractsModel}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$CreateTimeExtensionRequestStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$CreateTimeExtensionRequestStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -773,7 +778,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? contractsModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == contractsModel ? _value.contractsModel : contractsModel // ignore: cast_nullable_to_non_nullable @@ -784,8 +789,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.contractsModel) : super._(); +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + const _$LoadedImpl(this.contractsModel) : super._(); @override final ContractsModel? contractsModel; @@ -805,10 +810,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.contractsModel, contractsModel) || other.contractsModel == contractsModel)); } @@ -819,8 +824,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -898,28 +903,30 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } abstract class _Loaded extends CreateTimeExtensionRequestState { - const factory _Loaded(final ContractsModel? contractsModel) = _$_Loaded; + const factory _Loaded(final ContractsModel? contractsModel) = _$LoadedImpl; const _Loaded._() : super._(); ContractsModel? get contractsModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$CreateTimeExtensionRequestStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$CreateTimeExtensionRequestStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -927,7 +934,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -938,8 +945,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -959,10 +966,10 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -972,8 +979,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -1051,11 +1058,11 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends CreateTimeExtensionRequestState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/time_extension_request/my_service_requests_bloc.dart b/frontend/works_shg_app/lib/blocs/time_extension_request/my_service_requests_bloc.dart index 021084abe2..e0034e4fe2 100644 --- a/frontend/works_shg_app/lib/blocs/time_extension_request/my_service_requests_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/time_extension_request/my_service_requests_bloc.dart @@ -52,7 +52,7 @@ class SearchMyServiceRequestsBloc })); await Future.delayed(const Duration(seconds: 1)); emit(SearchMyServiceRequestsState.loaded(contractsModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(SearchMyServiceRequestsState.error( e.response?.data['Errors'][0]['code'])); } diff --git a/frontend/works_shg_app/lib/blocs/time_extension_request/my_service_requests_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/time_extension_request/my_service_requests_bloc.freezed.dart index cf437ed277..e723f24b84 100644 --- a/frontend/works_shg_app/lib/blocs/time_extension_request/my_service_requests_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/time_extension_request/my_service_requests_bloc.freezed.dart @@ -12,7 +12,7 @@ part of 'my_service_requests_bloc.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$SearchMyServiceRequestsEvent { @@ -92,25 +92,25 @@ class _$SearchMyServiceRequestsEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$MyServiceRequestsSearchEventCopyWith<$Res> +abstract class _$$MyServiceRequestsSearchEventImplCopyWith<$Res> implements $SearchMyServiceRequestsEventCopyWith<$Res> { - factory _$$MyServiceRequestsSearchEventCopyWith( - _$MyServiceRequestsSearchEvent value, - $Res Function(_$MyServiceRequestsSearchEvent) then) = - __$$MyServiceRequestsSearchEventCopyWithImpl<$Res>; + factory _$$MyServiceRequestsSearchEventImplCopyWith( + _$MyServiceRequestsSearchEventImpl value, + $Res Function(_$MyServiceRequestsSearchEventImpl) then) = + __$$MyServiceRequestsSearchEventImplCopyWithImpl<$Res>; @override @useResult $Res call({String? businessService}); } /// @nodoc -class __$$MyServiceRequestsSearchEventCopyWithImpl<$Res> +class __$$MyServiceRequestsSearchEventImplCopyWithImpl<$Res> extends _$SearchMyServiceRequestsEventCopyWithImpl<$Res, - _$MyServiceRequestsSearchEvent> - implements _$$MyServiceRequestsSearchEventCopyWith<$Res> { - __$$MyServiceRequestsSearchEventCopyWithImpl( - _$MyServiceRequestsSearchEvent _value, - $Res Function(_$MyServiceRequestsSearchEvent) _then) + _$MyServiceRequestsSearchEventImpl> + implements _$$MyServiceRequestsSearchEventImplCopyWith<$Res> { + __$$MyServiceRequestsSearchEventImplCopyWithImpl( + _$MyServiceRequestsSearchEventImpl _value, + $Res Function(_$MyServiceRequestsSearchEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -118,7 +118,7 @@ class __$$MyServiceRequestsSearchEventCopyWithImpl<$Res> $Res call({ Object? businessService = freezed, }) { - return _then(_$MyServiceRequestsSearchEvent( + return _then(_$MyServiceRequestsSearchEventImpl( businessService: freezed == businessService ? _value.businessService : businessService // ignore: cast_nullable_to_non_nullable @@ -129,8 +129,9 @@ class __$$MyServiceRequestsSearchEventCopyWithImpl<$Res> /// @nodoc -class _$MyServiceRequestsSearchEvent implements MyServiceRequestsSearchEvent { - const _$MyServiceRequestsSearchEvent({this.businessService}); +class _$MyServiceRequestsSearchEventImpl + implements MyServiceRequestsSearchEvent { + const _$MyServiceRequestsSearchEventImpl({this.businessService}); @override final String? businessService; @@ -141,10 +142,10 @@ class _$MyServiceRequestsSearchEvent implements MyServiceRequestsSearchEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$MyServiceRequestsSearchEvent && + other is _$MyServiceRequestsSearchEventImpl && (identical(other.businessService, businessService) || other.businessService == businessService)); } @@ -155,9 +156,10 @@ class _$MyServiceRequestsSearchEvent implements MyServiceRequestsSearchEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$MyServiceRequestsSearchEventCopyWith<_$MyServiceRequestsSearchEvent> - get copyWith => __$$MyServiceRequestsSearchEventCopyWithImpl< - _$MyServiceRequestsSearchEvent>(this, _$identity); + _$$MyServiceRequestsSearchEventImplCopyWith< + _$MyServiceRequestsSearchEventImpl> + get copyWith => __$$MyServiceRequestsSearchEventImplCopyWithImpl< + _$MyServiceRequestsSearchEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -219,13 +221,14 @@ class _$MyServiceRequestsSearchEvent implements MyServiceRequestsSearchEvent { abstract class MyServiceRequestsSearchEvent implements SearchMyServiceRequestsEvent { const factory MyServiceRequestsSearchEvent({final String? businessService}) = - _$MyServiceRequestsSearchEvent; + _$MyServiceRequestsSearchEventImpl; @override String? get businessService; @override @JsonKey(ignore: true) - _$$MyServiceRequestsSearchEventCopyWith<_$MyServiceRequestsSearchEvent> + _$$MyServiceRequestsSearchEventImplCopyWith< + _$MyServiceRequestsSearchEventImpl> get copyWith => throw _privateConstructorUsedError; } @@ -305,24 +308,25 @@ class _$SearchMyServiceRequestsStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$SearchMyServiceRequestsStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$SearchMyServiceRequestsStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -330,9 +334,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -414,29 +418,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends SearchMyServiceRequestsState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$SearchMyServiceRequestsStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$SearchMyServiceRequestsStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -444,9 +449,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -528,23 +533,25 @@ class _$_Loading extends _Loading { } abstract class _Loading extends SearchMyServiceRequestsState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({ContractsModel? contractsModel}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$SearchMyServiceRequestsStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$SearchMyServiceRequestsStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -552,7 +559,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? contractsModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == contractsModel ? _value.contractsModel : contractsModel // ignore: cast_nullable_to_non_nullable @@ -563,8 +570,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.contractsModel) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.contractsModel) : super._(); @override final ContractsModel? contractsModel; @@ -575,10 +582,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.contractsModel, contractsModel) || other.contractsModel == contractsModel)); } @@ -589,8 +596,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -668,28 +675,30 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends SearchMyServiceRequestsState { - const factory _Loaded(final ContractsModel? contractsModel) = _$_Loaded; + const factory _Loaded(final ContractsModel? contractsModel) = _$LoadedImpl; const _Loaded._() : super._(); ContractsModel? get contractsModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$SearchMyServiceRequestsStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$SearchMyServiceRequestsStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -697,7 +706,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -708,8 +717,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -720,10 +729,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -733,8 +742,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -812,11 +821,11 @@ class _$_Error extends _Error { } abstract class _Error extends SearchMyServiceRequestsState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/time_extension_request/service_requests_config.dart b/frontend/works_shg_app/lib/blocs/time_extension_request/service_requests_config.dart index 506f23f058..c732ae989c 100644 --- a/frontend/works_shg_app/lib/blocs/time_extension_request/service_requests_config.dart +++ b/frontend/works_shg_app/lib/blocs/time_extension_request/service_requests_config.dart @@ -47,7 +47,7 @@ class ServiceRequestsConfigBloc extends Bloc(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$ServiceRequestsConfigBlocEvent { @@ -73,28 +73,29 @@ class _$ServiceRequestsConfigBlocEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$GetServiceRequestsConfigEventCopyWith<$Res> { - factory _$$GetServiceRequestsConfigEventCopyWith( - _$GetServiceRequestsConfigEvent value, - $Res Function(_$GetServiceRequestsConfigEvent) then) = - __$$GetServiceRequestsConfigEventCopyWithImpl<$Res>; +abstract class _$$GetServiceRequestsConfigEventImplCopyWith<$Res> { + factory _$$GetServiceRequestsConfigEventImplCopyWith( + _$GetServiceRequestsConfigEventImpl value, + $Res Function(_$GetServiceRequestsConfigEventImpl) then) = + __$$GetServiceRequestsConfigEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$GetServiceRequestsConfigEventCopyWithImpl<$Res> +class __$$GetServiceRequestsConfigEventImplCopyWithImpl<$Res> extends _$ServiceRequestsConfigBlocEventCopyWithImpl<$Res, - _$GetServiceRequestsConfigEvent> - implements _$$GetServiceRequestsConfigEventCopyWith<$Res> { - __$$GetServiceRequestsConfigEventCopyWithImpl( - _$GetServiceRequestsConfigEvent _value, - $Res Function(_$GetServiceRequestsConfigEvent) _then) + _$GetServiceRequestsConfigEventImpl> + implements _$$GetServiceRequestsConfigEventImplCopyWith<$Res> { + __$$GetServiceRequestsConfigEventImplCopyWithImpl( + _$GetServiceRequestsConfigEventImpl _value, + $Res Function(_$GetServiceRequestsConfigEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$GetServiceRequestsConfigEvent implements GetServiceRequestsConfigEvent { - const _$GetServiceRequestsConfigEvent(); +class _$GetServiceRequestsConfigEventImpl + implements GetServiceRequestsConfigEvent { + const _$GetServiceRequestsConfigEventImpl(); @override String toString() { @@ -102,10 +103,10 @@ class _$GetServiceRequestsConfigEvent implements GetServiceRequestsConfigEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$GetServiceRequestsConfigEvent); + other is _$GetServiceRequestsConfigEventImpl); } @override @@ -172,7 +173,7 @@ class _$GetServiceRequestsConfigEvent implements GetServiceRequestsConfigEvent { abstract class GetServiceRequestsConfigEvent implements ServiceRequestsConfigBlocEvent { const factory GetServiceRequestsConfigEvent() = - _$GetServiceRequestsConfigEvent; + _$GetServiceRequestsConfigEventImpl; } /// @nodoc @@ -255,24 +256,25 @@ class _$ServiceRequestsConfigBlocStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$ServiceRequestsConfigBlocStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$ServiceRequestsConfigBlocStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -280,9 +282,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -368,29 +370,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends ServiceRequestsConfigBlocState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$ServiceRequestsConfigBlocStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$ServiceRequestsConfigBlocStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -398,9 +401,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -486,14 +489,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends ServiceRequestsConfigBlocState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({CBOMyServiceRequestsConfig? cboMyServiceRequestsConfig}); @@ -501,10 +505,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$ServiceRequestsConfigBlocStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$ServiceRequestsConfigBlocStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -512,7 +517,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? cboMyServiceRequestsConfig = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == cboMyServiceRequestsConfig ? _value.cboMyServiceRequestsConfig : cboMyServiceRequestsConfig // ignore: cast_nullable_to_non_nullable @@ -536,8 +541,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.cboMyServiceRequestsConfig) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.cboMyServiceRequestsConfig) : super._(); @override final CBOMyServiceRequestsConfig? cboMyServiceRequestsConfig; @@ -548,10 +553,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.cboMyServiceRequestsConfig, cboMyServiceRequestsConfig) || other.cboMyServiceRequestsConfig == @@ -564,8 +569,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -648,28 +653,31 @@ class _$_Loaded extends _Loaded { abstract class _Loaded extends ServiceRequestsConfigBlocState { const factory _Loaded( - final CBOMyServiceRequestsConfig? cboMyServiceRequestsConfig) = _$_Loaded; + final CBOMyServiceRequestsConfig? cboMyServiceRequestsConfig) = + _$LoadedImpl; const _Loaded._() : super._(); CBOMyServiceRequestsConfig? get cboMyServiceRequestsConfig; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$ServiceRequestsConfigBlocStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$ServiceRequestsConfigBlocStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -677,7 +685,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -688,8 +696,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -700,10 +708,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -713,8 +721,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -796,11 +804,11 @@ class _$_Error extends _Error { } abstract class _Error extends ServiceRequestsConfigBlocState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/time_extension_request/valid_time_extension.dart b/frontend/works_shg_app/lib/blocs/time_extension_request/valid_time_extension.dart index 1f24452ffa..b9ff940576 100644 --- a/frontend/works_shg_app/lib/blocs/time_extension_request/valid_time_extension.dart +++ b/frontend/works_shg_app/lib/blocs/time_extension_request/valid_time_extension.dart @@ -61,7 +61,7 @@ class ValidTimeExtCreationsSearchBloc extends Bloc< emit(ValidTimeExtCreationsSearchState.loaded(contractsModel.contracts ?.firstWhere((c) => c.status != Constants.inActive))); } - } on DioError catch (e) { + } on DioException catch (e) { emit(ValidTimeExtCreationsSearchState.error( e.response?.data['Errors'][0]['code'])); } diff --git a/frontend/works_shg_app/lib/blocs/time_extension_request/valid_time_extension.freezed.dart b/frontend/works_shg_app/lib/blocs/time_extension_request/valid_time_extension.freezed.dart index b0c8e53a1e..84c4a18376 100644 --- a/frontend/works_shg_app/lib/blocs/time_extension_request/valid_time_extension.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/time_extension_request/valid_time_extension.freezed.dart @@ -12,7 +12,7 @@ part of 'valid_time_extension.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$ValidTimeExtCreationsSearchEvent { @@ -121,12 +121,12 @@ class _$ValidTimeExtCreationsSearchEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$SearchValidTimeExtCreationsEventCopyWith<$Res> +abstract class _$$SearchValidTimeExtCreationsEventImplCopyWith<$Res> implements $ValidTimeExtCreationsSearchEventCopyWith<$Res> { - factory _$$SearchValidTimeExtCreationsEventCopyWith( - _$SearchValidTimeExtCreationsEvent value, - $Res Function(_$SearchValidTimeExtCreationsEvent) then) = - __$$SearchValidTimeExtCreationsEventCopyWithImpl<$Res>; + factory _$$SearchValidTimeExtCreationsEventImplCopyWith( + _$SearchValidTimeExtCreationsEventImpl value, + $Res Function(_$SearchValidTimeExtCreationsEventImpl) then) = + __$$SearchValidTimeExtCreationsEventImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -137,13 +137,13 @@ abstract class _$$SearchValidTimeExtCreationsEventCopyWith<$Res> } /// @nodoc -class __$$SearchValidTimeExtCreationsEventCopyWithImpl<$Res> +class __$$SearchValidTimeExtCreationsEventImplCopyWithImpl<$Res> extends _$ValidTimeExtCreationsSearchEventCopyWithImpl<$Res, - _$SearchValidTimeExtCreationsEvent> - implements _$$SearchValidTimeExtCreationsEventCopyWith<$Res> { - __$$SearchValidTimeExtCreationsEventCopyWithImpl( - _$SearchValidTimeExtCreationsEvent _value, - $Res Function(_$SearchValidTimeExtCreationsEvent) _then) + _$SearchValidTimeExtCreationsEventImpl> + implements _$$SearchValidTimeExtCreationsEventImplCopyWith<$Res> { + __$$SearchValidTimeExtCreationsEventImplCopyWithImpl( + _$SearchValidTimeExtCreationsEventImpl _value, + $Res Function(_$SearchValidTimeExtCreationsEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -154,7 +154,7 @@ class __$$SearchValidTimeExtCreationsEventCopyWithImpl<$Res> Object? status = freezed, Object? contract = freezed, }) { - return _then(_$SearchValidTimeExtCreationsEvent( + return _then(_$SearchValidTimeExtCreationsEventImpl( contractNo: null == contractNo ? _value.contractNo : contractNo // ignore: cast_nullable_to_non_nullable @@ -177,10 +177,10 @@ class __$$SearchValidTimeExtCreationsEventCopyWithImpl<$Res> /// @nodoc -class _$SearchValidTimeExtCreationsEvent +class _$SearchValidTimeExtCreationsEventImpl with DiagnosticableTreeMixin implements SearchValidTimeExtCreationsEvent { - const _$SearchValidTimeExtCreationsEvent( + const _$SearchValidTimeExtCreationsEventImpl( {this.contractNo = '', this.tenantId = '', this.status, this.contract}); @override @@ -212,10 +212,10 @@ class _$SearchValidTimeExtCreationsEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$SearchValidTimeExtCreationsEvent && + other is _$SearchValidTimeExtCreationsEventImpl && (identical(other.contractNo, contractNo) || other.contractNo == contractNo) && (identical(other.tenantId, tenantId) || @@ -232,10 +232,10 @@ class _$SearchValidTimeExtCreationsEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$SearchValidTimeExtCreationsEventCopyWith< - _$SearchValidTimeExtCreationsEvent> - get copyWith => __$$SearchValidTimeExtCreationsEventCopyWithImpl< - _$SearchValidTimeExtCreationsEvent>(this, _$identity); + _$$SearchValidTimeExtCreationsEventImplCopyWith< + _$SearchValidTimeExtCreationsEventImpl> + get copyWith => __$$SearchValidTimeExtCreationsEventImplCopyWithImpl< + _$SearchValidTimeExtCreationsEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -307,7 +307,7 @@ abstract class SearchValidTimeExtCreationsEvent {final String contractNo, final String tenantId, final String? status, - final Contracts? contract}) = _$SearchValidTimeExtCreationsEvent; + final Contracts? contract}) = _$SearchValidTimeExtCreationsEventImpl; @override String get contractNo; @@ -319,8 +319,8 @@ abstract class SearchValidTimeExtCreationsEvent Contracts? get contract; @override @JsonKey(ignore: true) - _$$SearchValidTimeExtCreationsEventCopyWith< - _$SearchValidTimeExtCreationsEvent> + _$$SearchValidTimeExtCreationsEventImplCopyWith< + _$SearchValidTimeExtCreationsEventImpl> get copyWith => throw _privateConstructorUsedError; } @@ -400,24 +400,25 @@ class _$ValidTimeExtCreationsSearchStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$ValidTimeExtCreationsSearchStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$ValidTimeExtCreationsSearchStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -432,9 +433,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -516,29 +517,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends ValidTimeExtCreationsSearchState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$ValidTimeExtCreationsSearchStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$ValidTimeExtCreationsSearchStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -553,9 +555,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -637,23 +639,25 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends ValidTimeExtCreationsSearchState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({Contracts? contracts}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$ValidTimeExtCreationsSearchStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$ValidTimeExtCreationsSearchStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -661,7 +665,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? contracts = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == contracts ? _value.contracts : contracts // ignore: cast_nullable_to_non_nullable @@ -672,8 +676,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.contracts) : super._(); +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + const _$LoadedImpl(this.contracts) : super._(); @override final Contracts? contracts; @@ -693,10 +697,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.contracts, contracts) || other.contracts == contracts)); } @@ -707,8 +711,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -786,28 +790,30 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } abstract class _Loaded extends ValidTimeExtCreationsSearchState { - const factory _Loaded(final Contracts? contracts) = _$_Loaded; + const factory _Loaded(final Contracts? contracts) = _$LoadedImpl; const _Loaded._() : super._(); Contracts? get contracts; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$ValidTimeExtCreationsSearchStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$ValidTimeExtCreationsSearchStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -815,7 +821,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -826,8 +832,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -847,10 +853,10 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -860,8 +866,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -939,11 +945,11 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends ValidTimeExtCreationsSearchState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/user/user_search.freezed.dart b/frontend/works_shg_app/lib/blocs/user/user_search.freezed.dart index e5b40855ef..6cf5f73160 100644 --- a/frontend/works_shg_app/lib/blocs/user/user_search.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/user/user_search.freezed.dart @@ -12,7 +12,7 @@ part of 'user_search.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$UserSearchEvent { @@ -69,27 +69,27 @@ class _$UserSearchEventCopyWithImpl<$Res, $Val extends UserSearchEvent> } /// @nodoc -abstract class _$$SearchUserEventCopyWith<$Res> { - factory _$$SearchUserEventCopyWith( - _$SearchUserEvent value, $Res Function(_$SearchUserEvent) then) = - __$$SearchUserEventCopyWithImpl<$Res>; +abstract class _$$SearchUserEventImplCopyWith<$Res> { + factory _$$SearchUserEventImplCopyWith(_$SearchUserEventImpl value, + $Res Function(_$SearchUserEventImpl) then) = + __$$SearchUserEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$SearchUserEventCopyWithImpl<$Res> - extends _$UserSearchEventCopyWithImpl<$Res, _$SearchUserEvent> - implements _$$SearchUserEventCopyWith<$Res> { - __$$SearchUserEventCopyWithImpl( - _$SearchUserEvent _value, $Res Function(_$SearchUserEvent) _then) +class __$$SearchUserEventImplCopyWithImpl<$Res> + extends _$UserSearchEventCopyWithImpl<$Res, _$SearchUserEventImpl> + implements _$$SearchUserEventImplCopyWith<$Res> { + __$$SearchUserEventImplCopyWithImpl( + _$SearchUserEventImpl _value, $Res Function(_$SearchUserEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$SearchUserEvent +class _$SearchUserEventImpl with DiagnosticableTreeMixin implements SearchUserEvent { - const _$SearchUserEvent(); + const _$SearchUserEventImpl(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -103,9 +103,9 @@ class _$SearchUserEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$SearchUserEvent); + (other.runtimeType == runtimeType && other is _$SearchUserEventImpl); } @override @@ -169,7 +169,7 @@ class _$SearchUserEvent } abstract class SearchUserEvent implements UserSearchEvent { - const factory SearchUserEvent() = _$SearchUserEvent; + const factory SearchUserEvent() = _$SearchUserEventImpl; } /// @nodoc @@ -235,11 +235,11 @@ class _$UserSearchStateCopyWithImpl<$Res, $Val extends UserSearchState> } /// @nodoc -abstract class _$$_UserSearchStateCopyWith<$Res> +abstract class _$$UserSearchStateImplCopyWith<$Res> implements $UserSearchStateCopyWith<$Res> { - factory _$$_UserSearchStateCopyWith( - _$_UserSearchState value, $Res Function(_$_UserSearchState) then) = - __$$_UserSearchStateCopyWithImpl<$Res>; + factory _$$UserSearchStateImplCopyWith(_$UserSearchStateImpl value, + $Res Function(_$UserSearchStateImpl) then) = + __$$UserSearchStateImplCopyWithImpl<$Res>; @override @useResult $Res call({bool loading, UserSearchModel? userSearchModel}); @@ -249,11 +249,11 @@ abstract class _$$_UserSearchStateCopyWith<$Res> } /// @nodoc -class __$$_UserSearchStateCopyWithImpl<$Res> - extends _$UserSearchStateCopyWithImpl<$Res, _$_UserSearchState> - implements _$$_UserSearchStateCopyWith<$Res> { - __$$_UserSearchStateCopyWithImpl( - _$_UserSearchState _value, $Res Function(_$_UserSearchState) _then) +class __$$UserSearchStateImplCopyWithImpl<$Res> + extends _$UserSearchStateCopyWithImpl<$Res, _$UserSearchStateImpl> + implements _$$UserSearchStateImplCopyWith<$Res> { + __$$UserSearchStateImplCopyWithImpl( + _$UserSearchStateImpl _value, $Res Function(_$UserSearchStateImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -262,7 +262,7 @@ class __$$_UserSearchStateCopyWithImpl<$Res> Object? loading = null, Object? userSearchModel = freezed, }) { - return _then(_$_UserSearchState( + return _then(_$UserSearchStateImpl( loading: null == loading ? _value.loading : loading // ignore: cast_nullable_to_non_nullable @@ -277,8 +277,9 @@ class __$$_UserSearchStateCopyWithImpl<$Res> /// @nodoc -class _$_UserSearchState extends _UserSearchState with DiagnosticableTreeMixin { - const _$_UserSearchState({this.loading = false, this.userSearchModel}) +class _$UserSearchStateImpl extends _UserSearchState + with DiagnosticableTreeMixin { + const _$UserSearchStateImpl({this.loading = false, this.userSearchModel}) : super._(); @override @@ -302,10 +303,10 @@ class _$_UserSearchState extends _UserSearchState with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_UserSearchState && + other is _$UserSearchStateImpl && (identical(other.loading, loading) || other.loading == loading) && (identical(other.userSearchModel, userSearchModel) || other.userSearchModel == userSearchModel)); @@ -317,14 +318,15 @@ class _$_UserSearchState extends _UserSearchState with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_UserSearchStateCopyWith<_$_UserSearchState> get copyWith => - __$$_UserSearchStateCopyWithImpl<_$_UserSearchState>(this, _$identity); + _$$UserSearchStateImplCopyWith<_$UserSearchStateImpl> get copyWith => + __$$UserSearchStateImplCopyWithImpl<_$UserSearchStateImpl>( + this, _$identity); } abstract class _UserSearchState extends UserSearchState { const factory _UserSearchState( {final bool loading, - final UserSearchModel? userSearchModel}) = _$_UserSearchState; + final UserSearchModel? userSearchModel}) = _$UserSearchStateImpl; const _UserSearchState._() : super._(); @override @@ -333,6 +335,6 @@ abstract class _UserSearchState extends UserSearchState { UserSearchModel? get userSearchModel; @override @JsonKey(ignore: true) - _$$_UserSearchStateCopyWith<_$_UserSearchState> get copyWith => + _$$UserSearchStateImplCopyWith<_$UserSearchStateImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_bank_create.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_bank_create.dart index 5b1089834a..7b915b047a 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_bank_create.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_bank_create.dart @@ -61,7 +61,7 @@ class WageSeekerBankCreateBloc bankingDetailsModel, bankingDetailsModel.bankAccounts?.first .copyWith(indID: event.indId))); - } on DioError catch (e) { + } on DioException catch (e) { emit(WageSeekerBankCreateState.error( e.response?.data['Errors'][0]['code'])); } diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_bank_create.freezed.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_bank_create.freezed.dart index 6e8830a6d4..1e0d590056 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_bank_create.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_bank_create.freezed.dart @@ -12,7 +12,7 @@ part of 'wage_seeker_bank_create.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$WageSeekerBankCreateEvent { @@ -103,11 +103,11 @@ class _$WageSeekerBankCreateEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$CreateBankWageSeekerEventCopyWith<$Res> { - factory _$$CreateBankWageSeekerEventCopyWith( - _$CreateBankWageSeekerEvent value, - $Res Function(_$CreateBankWageSeekerEvent) then) = - __$$CreateBankWageSeekerEventCopyWithImpl<$Res>; +abstract class _$$CreateBankWageSeekerEventImplCopyWith<$Res> { + factory _$$CreateBankWageSeekerEventImplCopyWith( + _$CreateBankWageSeekerEventImpl value, + $Res Function(_$CreateBankWageSeekerEventImpl) then) = + __$$CreateBankWageSeekerEventImplCopyWithImpl<$Res>; @useResult $Res call( {String? tenantId, @@ -121,12 +121,13 @@ abstract class _$$CreateBankWageSeekerEventCopyWith<$Res> { } /// @nodoc -class __$$CreateBankWageSeekerEventCopyWithImpl<$Res> +class __$$CreateBankWageSeekerEventImplCopyWithImpl<$Res> extends _$WageSeekerBankCreateEventCopyWithImpl<$Res, - _$CreateBankWageSeekerEvent> - implements _$$CreateBankWageSeekerEventCopyWith<$Res> { - __$$CreateBankWageSeekerEventCopyWithImpl(_$CreateBankWageSeekerEvent _value, - $Res Function(_$CreateBankWageSeekerEvent) _then) + _$CreateBankWageSeekerEventImpl> + implements _$$CreateBankWageSeekerEventImplCopyWith<$Res> { + __$$CreateBankWageSeekerEventImplCopyWithImpl( + _$CreateBankWageSeekerEventImpl _value, + $Res Function(_$CreateBankWageSeekerEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -141,7 +142,7 @@ class __$$CreateBankWageSeekerEventCopyWithImpl<$Res> Object? indId = freezed, Object? bankName = freezed, }) { - return _then(_$CreateBankWageSeekerEvent( + return _then(_$CreateBankWageSeekerEventImpl( tenantId: freezed == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -180,8 +181,8 @@ class __$$CreateBankWageSeekerEventCopyWithImpl<$Res> /// @nodoc -class _$CreateBankWageSeekerEvent implements CreateBankWageSeekerEvent { - const _$CreateBankWageSeekerEvent( +class _$CreateBankWageSeekerEventImpl implements CreateBankWageSeekerEvent { + const _$CreateBankWageSeekerEventImpl( {this.tenantId, this.accountHolderName, this.accountNo, @@ -214,10 +215,10 @@ class _$CreateBankWageSeekerEvent implements CreateBankWageSeekerEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$CreateBankWageSeekerEvent && + other is _$CreateBankWageSeekerEventImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.accountHolderName, accountHolderName) || @@ -242,9 +243,9 @@ class _$CreateBankWageSeekerEvent implements CreateBankWageSeekerEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$CreateBankWageSeekerEventCopyWith<_$CreateBankWageSeekerEvent> - get copyWith => __$$CreateBankWageSeekerEventCopyWithImpl< - _$CreateBankWageSeekerEvent>(this, _$identity); + _$$CreateBankWageSeekerEventImplCopyWith<_$CreateBankWageSeekerEventImpl> + get copyWith => __$$CreateBankWageSeekerEventImplCopyWithImpl< + _$CreateBankWageSeekerEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -348,7 +349,7 @@ abstract class CreateBankWageSeekerEvent implements WageSeekerBankCreateEvent { final String? ifscCode, final String? referenceId, final String? indId, - final String? bankName}) = _$CreateBankWageSeekerEvent; + final String? bankName}) = _$CreateBankWageSeekerEventImpl; String? get tenantId; String? get accountHolderName; @@ -359,34 +360,34 @@ abstract class CreateBankWageSeekerEvent implements WageSeekerBankCreateEvent { String? get indId; String? get bankName; @JsonKey(ignore: true) - _$$CreateBankWageSeekerEventCopyWith<_$CreateBankWageSeekerEvent> + _$$CreateBankWageSeekerEventImplCopyWith<_$CreateBankWageSeekerEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$CreateBankWageSeekerDisposeEventCopyWith<$Res> { - factory _$$CreateBankWageSeekerDisposeEventCopyWith( - _$CreateBankWageSeekerDisposeEvent value, - $Res Function(_$CreateBankWageSeekerDisposeEvent) then) = - __$$CreateBankWageSeekerDisposeEventCopyWithImpl<$Res>; +abstract class _$$CreateBankWageSeekerDisposeEventImplCopyWith<$Res> { + factory _$$CreateBankWageSeekerDisposeEventImplCopyWith( + _$CreateBankWageSeekerDisposeEventImpl value, + $Res Function(_$CreateBankWageSeekerDisposeEventImpl) then) = + __$$CreateBankWageSeekerDisposeEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$CreateBankWageSeekerDisposeEventCopyWithImpl<$Res> +class __$$CreateBankWageSeekerDisposeEventImplCopyWithImpl<$Res> extends _$WageSeekerBankCreateEventCopyWithImpl<$Res, - _$CreateBankWageSeekerDisposeEvent> - implements _$$CreateBankWageSeekerDisposeEventCopyWith<$Res> { - __$$CreateBankWageSeekerDisposeEventCopyWithImpl( - _$CreateBankWageSeekerDisposeEvent _value, - $Res Function(_$CreateBankWageSeekerDisposeEvent) _then) + _$CreateBankWageSeekerDisposeEventImpl> + implements _$$CreateBankWageSeekerDisposeEventImplCopyWith<$Res> { + __$$CreateBankWageSeekerDisposeEventImplCopyWithImpl( + _$CreateBankWageSeekerDisposeEventImpl _value, + $Res Function(_$CreateBankWageSeekerDisposeEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$CreateBankWageSeekerDisposeEvent +class _$CreateBankWageSeekerDisposeEventImpl implements CreateBankWageSeekerDisposeEvent { - const _$CreateBankWageSeekerDisposeEvent(); + const _$CreateBankWageSeekerDisposeEventImpl(); @override String toString() { @@ -394,10 +395,10 @@ class _$CreateBankWageSeekerDisposeEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$CreateBankWageSeekerDisposeEvent); + other is _$CreateBankWageSeekerDisposeEventImpl); } @override @@ -496,7 +497,7 @@ class _$CreateBankWageSeekerDisposeEvent abstract class CreateBankWageSeekerDisposeEvent implements WageSeekerBankCreateEvent { const factory CreateBankWageSeekerDisposeEvent() = - _$CreateBankWageSeekerDisposeEvent; + _$CreateBankWageSeekerDisposeEventImpl; } /// @nodoc @@ -579,24 +580,25 @@ class _$WageSeekerBankCreateStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$WageSeekerBankCreateStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$WageSeekerBankCreateStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -604,9 +606,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -694,29 +696,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends WageSeekerBankCreateState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$WageSeekerBankCreateStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$WageSeekerBankCreateStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -724,9 +727,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -814,24 +817,26 @@ class _$_Loading extends _Loading { } abstract class _Loading extends WageSeekerBankCreateState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call( {BankingDetailsModel? bankingDetailsModel, BankAccounts? bankAccounts}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$WageSeekerBankCreateStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$WageSeekerBankCreateStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -840,7 +845,7 @@ class __$$_LoadedCopyWithImpl<$Res> Object? bankingDetailsModel = freezed, Object? bankAccounts = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == bankingDetailsModel ? _value.bankingDetailsModel : bankingDetailsModel // ignore: cast_nullable_to_non_nullable @@ -855,8 +860,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.bankingDetailsModel, this.bankAccounts) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.bankingDetailsModel, this.bankAccounts) : super._(); @override final BankingDetailsModel? bankingDetailsModel; @@ -869,10 +874,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.bankingDetailsModel, bankingDetailsModel) || other.bankingDetailsModel == bankingDetailsModel) && (identical(other.bankAccounts, bankAccounts) || @@ -886,8 +891,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -972,29 +977,31 @@ class _$_Loaded extends _Loaded { abstract class _Loaded extends WageSeekerBankCreateState { const factory _Loaded(final BankingDetailsModel? bankingDetailsModel, - final BankAccounts? bankAccounts) = _$_Loaded; + final BankAccounts? bankAccounts) = _$LoadedImpl; const _Loaded._() : super._(); BankingDetailsModel? get bankingDetailsModel; BankAccounts? get bankAccounts; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$WageSeekerBankCreateStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$WageSeekerBankCreateStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1002,7 +1009,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -1013,8 +1020,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -1025,10 +1032,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -1038,8 +1045,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -1123,11 +1130,11 @@ class _$_Error extends _Error { } abstract class _Error extends WageSeekerBankCreateState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.dart index 84a1f967d1..100735fdf4 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.dart @@ -150,7 +150,7 @@ class WageSeekerCreateBloc }); await Future.delayed(const Duration(seconds: 1)); emit(WageSeekerCreateState.loaded(individualListModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(WageSeekerCreateState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.freezed.dart index d7cdfec31d..d761b21c8c 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.freezed.dart @@ -12,7 +12,7 @@ part of 'wage_seeker_create_bloc.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$WageSeekerCreateEvent { @@ -97,10 +97,11 @@ class _$WageSeekerCreateEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$CreateWageSeekerEventCopyWith<$Res> { - factory _$$CreateWageSeekerEventCopyWith(_$CreateWageSeekerEvent value, - $Res Function(_$CreateWageSeekerEvent) then) = - __$$CreateWageSeekerEventCopyWithImpl<$Res>; +abstract class _$$CreateWageSeekerEventImplCopyWith<$Res> { + factory _$$CreateWageSeekerEventImplCopyWith( + _$CreateWageSeekerEventImpl value, + $Res Function(_$CreateWageSeekerEventImpl) then) = + __$$CreateWageSeekerEventImplCopyWithImpl<$Res>; @useResult $Res call( {IndividualDetails? individualDetails, @@ -110,11 +111,12 @@ abstract class _$$CreateWageSeekerEventCopyWith<$Res> { } /// @nodoc -class __$$CreateWageSeekerEventCopyWithImpl<$Res> - extends _$WageSeekerCreateEventCopyWithImpl<$Res, _$CreateWageSeekerEvent> - implements _$$CreateWageSeekerEventCopyWith<$Res> { - __$$CreateWageSeekerEventCopyWithImpl(_$CreateWageSeekerEvent _value, - $Res Function(_$CreateWageSeekerEvent) _then) +class __$$CreateWageSeekerEventImplCopyWithImpl<$Res> + extends _$WageSeekerCreateEventCopyWithImpl<$Res, + _$CreateWageSeekerEventImpl> + implements _$$CreateWageSeekerEventImplCopyWith<$Res> { + __$$CreateWageSeekerEventImplCopyWithImpl(_$CreateWageSeekerEventImpl _value, + $Res Function(_$CreateWageSeekerEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -125,7 +127,7 @@ class __$$CreateWageSeekerEventCopyWithImpl<$Res> Object? locationDetails = freezed, Object? financialDetails = freezed, }) { - return _then(_$CreateWageSeekerEvent( + return _then(_$CreateWageSeekerEventImpl( individualDetails: freezed == individualDetails ? _value.individualDetails : individualDetails // ignore: cast_nullable_to_non_nullable @@ -148,8 +150,8 @@ class __$$CreateWageSeekerEventCopyWithImpl<$Res> /// @nodoc -class _$CreateWageSeekerEvent implements CreateWageSeekerEvent { - const _$CreateWageSeekerEvent( +class _$CreateWageSeekerEventImpl implements CreateWageSeekerEvent { + const _$CreateWageSeekerEventImpl( {this.individualDetails, this.skillDetails, this.locationDetails, @@ -170,10 +172,10 @@ class _$CreateWageSeekerEvent implements CreateWageSeekerEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$CreateWageSeekerEvent && + other is _$CreateWageSeekerEventImpl && (identical(other.individualDetails, individualDetails) || other.individualDetails == individualDetails) && (identical(other.skillDetails, skillDetails) || @@ -191,9 +193,9 @@ class _$CreateWageSeekerEvent implements CreateWageSeekerEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$CreateWageSeekerEventCopyWith<_$CreateWageSeekerEvent> get copyWith => - __$$CreateWageSeekerEventCopyWithImpl<_$CreateWageSeekerEvent>( - this, _$identity); + _$$CreateWageSeekerEventImplCopyWith<_$CreateWageSeekerEventImpl> + get copyWith => __$$CreateWageSeekerEventImplCopyWithImpl< + _$CreateWageSeekerEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -287,32 +289,32 @@ abstract class CreateWageSeekerEvent implements WageSeekerCreateEvent { {final IndividualDetails? individualDetails, final SkillDetails? skillDetails, final LocationDetails? locationDetails, - final FinancialDetails? financialDetails}) = _$CreateWageSeekerEvent; + final FinancialDetails? financialDetails}) = _$CreateWageSeekerEventImpl; IndividualDetails? get individualDetails; SkillDetails? get skillDetails; LocationDetails? get locationDetails; FinancialDetails? get financialDetails; @JsonKey(ignore: true) - _$$CreateWageSeekerEventCopyWith<_$CreateWageSeekerEvent> get copyWith => - throw _privateConstructorUsedError; + _$$CreateWageSeekerEventImplCopyWith<_$CreateWageSeekerEventImpl> + get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$VerifyAdharEventCopyWith<$Res> { - factory _$$VerifyAdharEventCopyWith( - _$VerifyAdharEvent value, $Res Function(_$VerifyAdharEvent) then) = - __$$VerifyAdharEventCopyWithImpl<$Res>; +abstract class _$$VerifyAdharEventImplCopyWith<$Res> { + factory _$$VerifyAdharEventImplCopyWith(_$VerifyAdharEventImpl value, + $Res Function(_$VerifyAdharEventImpl) then) = + __$$VerifyAdharEventImplCopyWithImpl<$Res>; @useResult $Res call({String name, String uid}); } /// @nodoc -class __$$VerifyAdharEventCopyWithImpl<$Res> - extends _$WageSeekerCreateEventCopyWithImpl<$Res, _$VerifyAdharEvent> - implements _$$VerifyAdharEventCopyWith<$Res> { - __$$VerifyAdharEventCopyWithImpl( - _$VerifyAdharEvent _value, $Res Function(_$VerifyAdharEvent) _then) +class __$$VerifyAdharEventImplCopyWithImpl<$Res> + extends _$WageSeekerCreateEventCopyWithImpl<$Res, _$VerifyAdharEventImpl> + implements _$$VerifyAdharEventImplCopyWith<$Res> { + __$$VerifyAdharEventImplCopyWithImpl(_$VerifyAdharEventImpl _value, + $Res Function(_$VerifyAdharEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -321,7 +323,7 @@ class __$$VerifyAdharEventCopyWithImpl<$Res> Object? name = null, Object? uid = null, }) { - return _then(_$VerifyAdharEvent( + return _then(_$VerifyAdharEventImpl( name: null == name ? _value.name : name // ignore: cast_nullable_to_non_nullable @@ -336,8 +338,8 @@ class __$$VerifyAdharEventCopyWithImpl<$Res> /// @nodoc -class _$VerifyAdharEvent implements VerifyAdharEvent { - const _$VerifyAdharEvent({required this.name, required this.uid}); +class _$VerifyAdharEventImpl implements VerifyAdharEvent { + const _$VerifyAdharEventImpl({required this.name, required this.uid}); @override final String name; @@ -350,10 +352,10 @@ class _$VerifyAdharEvent implements VerifyAdharEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$VerifyAdharEvent && + other is _$VerifyAdharEventImpl && (identical(other.name, name) || other.name == name) && (identical(other.uid, uid) || other.uid == uid)); } @@ -364,8 +366,9 @@ class _$VerifyAdharEvent implements VerifyAdharEvent { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$VerifyAdharEventCopyWith<_$VerifyAdharEvent> get copyWith => - __$$VerifyAdharEventCopyWithImpl<_$VerifyAdharEvent>(this, _$identity); + _$$VerifyAdharEventImplCopyWith<_$VerifyAdharEventImpl> get copyWith => + __$$VerifyAdharEventImplCopyWithImpl<_$VerifyAdharEventImpl>( + this, _$identity); @override @optionalTypeArgs @@ -454,38 +457,39 @@ class _$VerifyAdharEvent implements VerifyAdharEvent { abstract class VerifyAdharEvent implements WageSeekerCreateEvent { const factory VerifyAdharEvent( {required final String name, - required final String uid}) = _$VerifyAdharEvent; + required final String uid}) = _$VerifyAdharEventImpl; String get name; String get uid; @JsonKey(ignore: true) - _$$VerifyAdharEventCopyWith<_$VerifyAdharEvent> get copyWith => + _$$VerifyAdharEventImplCopyWith<_$VerifyAdharEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$CreateWageSeekerDisposeEventCopyWith<$Res> { - factory _$$CreateWageSeekerDisposeEventCopyWith( - _$CreateWageSeekerDisposeEvent value, - $Res Function(_$CreateWageSeekerDisposeEvent) then) = - __$$CreateWageSeekerDisposeEventCopyWithImpl<$Res>; +abstract class _$$CreateWageSeekerDisposeEventImplCopyWith<$Res> { + factory _$$CreateWageSeekerDisposeEventImplCopyWith( + _$CreateWageSeekerDisposeEventImpl value, + $Res Function(_$CreateWageSeekerDisposeEventImpl) then) = + __$$CreateWageSeekerDisposeEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$CreateWageSeekerDisposeEventCopyWithImpl<$Res> +class __$$CreateWageSeekerDisposeEventImplCopyWithImpl<$Res> extends _$WageSeekerCreateEventCopyWithImpl<$Res, - _$CreateWageSeekerDisposeEvent> - implements _$$CreateWageSeekerDisposeEventCopyWith<$Res> { - __$$CreateWageSeekerDisposeEventCopyWithImpl( - _$CreateWageSeekerDisposeEvent _value, - $Res Function(_$CreateWageSeekerDisposeEvent) _then) + _$CreateWageSeekerDisposeEventImpl> + implements _$$CreateWageSeekerDisposeEventImplCopyWith<$Res> { + __$$CreateWageSeekerDisposeEventImplCopyWithImpl( + _$CreateWageSeekerDisposeEventImpl _value, + $Res Function(_$CreateWageSeekerDisposeEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$CreateWageSeekerDisposeEvent implements CreateWageSeekerDisposeEvent { - const _$CreateWageSeekerDisposeEvent(); +class _$CreateWageSeekerDisposeEventImpl + implements CreateWageSeekerDisposeEvent { + const _$CreateWageSeekerDisposeEventImpl(); @override String toString() { @@ -493,10 +497,10 @@ class _$CreateWageSeekerDisposeEvent implements CreateWageSeekerDisposeEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$CreateWageSeekerDisposeEvent); + other is _$CreateWageSeekerDisposeEventImpl); } @override @@ -587,7 +591,8 @@ class _$CreateWageSeekerDisposeEvent implements CreateWageSeekerDisposeEvent { } abstract class CreateWageSeekerDisposeEvent implements WageSeekerCreateEvent { - const factory CreateWageSeekerDisposeEvent() = _$CreateWageSeekerDisposeEvent; + const factory CreateWageSeekerDisposeEvent() = + _$CreateWageSeekerDisposeEventImpl; } /// @nodoc @@ -671,24 +676,25 @@ class _$WageSeekerCreateStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$WageSeekerCreateStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$WageSeekerCreateStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -696,9 +702,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -787,29 +793,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends WageSeekerCreateState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$WageSeekerCreateStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$WageSeekerCreateStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -817,9 +824,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -908,23 +915,25 @@ class _$_Loading extends _Loading { } abstract class _Loading extends WageSeekerCreateState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({SingleIndividualModel? individualListModel}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$WageSeekerCreateStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$WageSeekerCreateStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -932,7 +941,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? individualListModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == individualListModel ? _value.individualListModel : individualListModel // ignore: cast_nullable_to_non_nullable @@ -943,8 +952,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.individualListModel) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.individualListModel) : super._(); @override final SingleIndividualModel? individualListModel; @@ -955,10 +964,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.individualListModel, individualListModel) || other.individualListModel == individualListModel)); } @@ -969,8 +978,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -1056,20 +1065,20 @@ class _$_Loaded extends _Loaded { abstract class _Loaded extends WageSeekerCreateState { const factory _Loaded(final SingleIndividualModel? individualListModel) = - _$_Loaded; + _$LoadedImpl; const _Loaded._() : super._(); SingleIndividualModel? get individualListModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_VerifiedCopyWith<$Res> { - factory _$$_VerifiedCopyWith( - _$_Verified value, $Res Function(_$_Verified) then) = - __$$_VerifiedCopyWithImpl<$Res>; +abstract class _$$VerifiedImplCopyWith<$Res> { + factory _$$VerifiedImplCopyWith( + _$VerifiedImpl value, $Res Function(_$VerifiedImpl) then) = + __$$VerifiedImplCopyWithImpl<$Res>; @useResult $Res call({AdharCardResponse? adharCardResponse}); @@ -1077,11 +1086,11 @@ abstract class _$$_VerifiedCopyWith<$Res> { } /// @nodoc -class __$$_VerifiedCopyWithImpl<$Res> - extends _$WageSeekerCreateStateCopyWithImpl<$Res, _$_Verified> - implements _$$_VerifiedCopyWith<$Res> { - __$$_VerifiedCopyWithImpl( - _$_Verified _value, $Res Function(_$_Verified) _then) +class __$$VerifiedImplCopyWithImpl<$Res> + extends _$WageSeekerCreateStateCopyWithImpl<$Res, _$VerifiedImpl> + implements _$$VerifiedImplCopyWith<$Res> { + __$$VerifiedImplCopyWithImpl( + _$VerifiedImpl _value, $Res Function(_$VerifiedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1089,7 +1098,7 @@ class __$$_VerifiedCopyWithImpl<$Res> $Res call({ Object? adharCardResponse = freezed, }) { - return _then(_$_Verified( + return _then(_$VerifiedImpl( freezed == adharCardResponse ? _value.adharCardResponse : adharCardResponse // ignore: cast_nullable_to_non_nullable @@ -1112,8 +1121,8 @@ class __$$_VerifiedCopyWithImpl<$Res> /// @nodoc -class _$_Verified extends _Verified { - const _$_Verified(this.adharCardResponse) : super._(); +class _$VerifiedImpl extends _Verified { + const _$VerifiedImpl(this.adharCardResponse) : super._(); @override final AdharCardResponse? adharCardResponse; @@ -1124,10 +1133,10 @@ class _$_Verified extends _Verified { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Verified && + other is _$VerifiedImpl && (identical(other.adharCardResponse, adharCardResponse) || other.adharCardResponse == adharCardResponse)); } @@ -1138,8 +1147,8 @@ class _$_Verified extends _Verified { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_VerifiedCopyWith<_$_Verified> get copyWith => - __$$_VerifiedCopyWithImpl<_$_Verified>(this, _$identity); + _$$VerifiedImplCopyWith<_$VerifiedImpl> get copyWith => + __$$VerifiedImplCopyWithImpl<_$VerifiedImpl>(this, _$identity); @override @optionalTypeArgs @@ -1225,28 +1234,30 @@ class _$_Verified extends _Verified { abstract class _Verified extends WageSeekerCreateState { const factory _Verified(final AdharCardResponse? adharCardResponse) = - _$_Verified; + _$VerifiedImpl; const _Verified._() : super._(); AdharCardResponse? get adharCardResponse; @JsonKey(ignore: true) - _$$_VerifiedCopyWith<_$_Verified> get copyWith => + _$$VerifiedImplCopyWith<_$VerifiedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$WageSeekerCreateStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$WageSeekerCreateStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1254,7 +1265,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -1265,8 +1276,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -1277,10 +1288,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -1290,8 +1301,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -1376,11 +1387,11 @@ class _$_Error extends _Error { } abstract class _Error extends WageSeekerCreateState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_locality_bloc.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_locality_bloc.dart index 5e3c9e23f0..eefc49157b 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_locality_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_locality_bloc.dart @@ -39,7 +39,7 @@ class WageSeekerLocalityBloc if (result != null) { emit(WageSeekerLocalityState.loaded(result)); } - } on DioError catch (e) { + } on DioException catch (e) { emit( WageSeekerLocalityState.error(e.response?.data['Errors'][0]['code'])); } diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_locality_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_locality_bloc.freezed.dart index e1f9fc9d0d..106b15e60b 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_locality_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_locality_bloc.freezed.dart @@ -12,7 +12,7 @@ part of 'wage_seeker_locality_bloc.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$WageSeekerLocalityEvent { @@ -91,23 +91,25 @@ class _$WageSeekerLocalityEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$LocalityEventWageSeekerCopyWith<$Res> +abstract class _$$LocalityEventWageSeekerImplCopyWith<$Res> implements $WageSeekerLocalityEventCopyWith<$Res> { - factory _$$LocalityEventWageSeekerCopyWith(_$LocalityEventWageSeeker value, - $Res Function(_$LocalityEventWageSeeker) then) = - __$$LocalityEventWageSeekerCopyWithImpl<$Res>; + factory _$$LocalityEventWageSeekerImplCopyWith( + _$LocalityEventWageSeekerImpl value, + $Res Function(_$LocalityEventWageSeekerImpl) then) = + __$$LocalityEventWageSeekerImplCopyWithImpl<$Res>; @override @useResult $Res call({String? tenantId}); } /// @nodoc -class __$$LocalityEventWageSeekerCopyWithImpl<$Res> +class __$$LocalityEventWageSeekerImplCopyWithImpl<$Res> extends _$WageSeekerLocalityEventCopyWithImpl<$Res, - _$LocalityEventWageSeeker> - implements _$$LocalityEventWageSeekerCopyWith<$Res> { - __$$LocalityEventWageSeekerCopyWithImpl(_$LocalityEventWageSeeker _value, - $Res Function(_$LocalityEventWageSeeker) _then) + _$LocalityEventWageSeekerImpl> + implements _$$LocalityEventWageSeekerImplCopyWith<$Res> { + __$$LocalityEventWageSeekerImplCopyWithImpl( + _$LocalityEventWageSeekerImpl _value, + $Res Function(_$LocalityEventWageSeekerImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -115,7 +117,7 @@ class __$$LocalityEventWageSeekerCopyWithImpl<$Res> $Res call({ Object? tenantId = freezed, }) { - return _then(_$LocalityEventWageSeeker( + return _then(_$LocalityEventWageSeekerImpl( tenantId: freezed == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -126,8 +128,8 @@ class __$$LocalityEventWageSeekerCopyWithImpl<$Res> /// @nodoc -class _$LocalityEventWageSeeker implements LocalityEventWageSeeker { - const _$LocalityEventWageSeeker({this.tenantId}); +class _$LocalityEventWageSeekerImpl implements LocalityEventWageSeeker { + const _$LocalityEventWageSeekerImpl({this.tenantId}); @override final String? tenantId; @@ -138,10 +140,10 @@ class _$LocalityEventWageSeeker implements LocalityEventWageSeeker { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$LocalityEventWageSeeker && + other is _$LocalityEventWageSeekerImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId)); } @@ -152,9 +154,9 @@ class _$LocalityEventWageSeeker implements LocalityEventWageSeeker { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$LocalityEventWageSeekerCopyWith<_$LocalityEventWageSeeker> get copyWith => - __$$LocalityEventWageSeekerCopyWithImpl<_$LocalityEventWageSeeker>( - this, _$identity); + _$$LocalityEventWageSeekerImplCopyWith<_$LocalityEventWageSeekerImpl> + get copyWith => __$$LocalityEventWageSeekerImplCopyWithImpl< + _$LocalityEventWageSeekerImpl>(this, _$identity); @override @optionalTypeArgs @@ -216,14 +218,14 @@ class _$LocalityEventWageSeeker implements LocalityEventWageSeeker { abstract class LocalityEventWageSeeker implements WageSeekerLocalityEvent { const factory LocalityEventWageSeeker({final String? tenantId}) = - _$LocalityEventWageSeeker; + _$LocalityEventWageSeekerImpl; @override String? get tenantId; @override @JsonKey(ignore: true) - _$$LocalityEventWageSeekerCopyWith<_$LocalityEventWageSeeker> get copyWith => - throw _privateConstructorUsedError; + _$$LocalityEventWageSeekerImplCopyWith<_$LocalityEventWageSeekerImpl> + get copyWith => throw _privateConstructorUsedError; } /// @nodoc @@ -300,24 +302,25 @@ class _$WageSeekerLocalityStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$WageSeekerLocalityStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$WageSeekerLocalityStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -325,9 +328,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -409,29 +412,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends WageSeekerLocalityState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$WageSeekerLocalityStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$WageSeekerLocalityStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -439,9 +443,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -523,14 +527,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends WageSeekerLocalityState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({Location? locality}); @@ -538,10 +543,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$WageSeekerLocalityStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$WageSeekerLocalityStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -549,7 +555,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? locality = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == locality ? _value.locality : locality // ignore: cast_nullable_to_non_nullable @@ -572,8 +578,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.locality) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.locality) : super._(); @override final Location? locality; @@ -584,10 +590,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.locality, locality) || other.locality == locality)); } @@ -598,8 +604,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -677,28 +683,30 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends WageSeekerLocalityState { - const factory _Loaded(final Location? locality) = _$_Loaded; + const factory _Loaded(final Location? locality) = _$LoadedImpl; const _Loaded._() : super._(); Location? get locality; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$WageSeekerLocalityStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$WageSeekerLocalityStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -706,7 +714,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -717,8 +725,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -729,10 +737,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -742,8 +750,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -821,11 +829,11 @@ class _$_Error extends _Error { } abstract class _Error extends WageSeekerLocalityState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_location_bloc.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_location_bloc.dart index b7d6f7eb89..89f1d37d75 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_location_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_location_bloc.dart @@ -39,7 +39,7 @@ class WageSeekerLocationBloc if (result != null) { emit(WageSeekerLocationState.loaded(result)); } - } on DioError catch (e) { + } on DioException catch (e) { emit( WageSeekerLocationState.error(e.response?.data['Errors'][0]['code'])); } diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_location_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_location_bloc.freezed.dart index 30ecfc0413..226bffd21f 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_location_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_location_bloc.freezed.dart @@ -12,7 +12,7 @@ part of 'wage_seeker_location_bloc.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$WageSeekerLocationEvent { @@ -91,23 +91,25 @@ class _$WageSeekerLocationEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$LocationEventWageSeekerCopyWith<$Res> +abstract class _$$LocationEventWageSeekerImplCopyWith<$Res> implements $WageSeekerLocationEventCopyWith<$Res> { - factory _$$LocationEventWageSeekerCopyWith(_$LocationEventWageSeeker value, - $Res Function(_$LocationEventWageSeeker) then) = - __$$LocationEventWageSeekerCopyWithImpl<$Res>; + factory _$$LocationEventWageSeekerImplCopyWith( + _$LocationEventWageSeekerImpl value, + $Res Function(_$LocationEventWageSeekerImpl) then) = + __$$LocationEventWageSeekerImplCopyWithImpl<$Res>; @override @useResult $Res call({String? tenantId}); } /// @nodoc -class __$$LocationEventWageSeekerCopyWithImpl<$Res> +class __$$LocationEventWageSeekerImplCopyWithImpl<$Res> extends _$WageSeekerLocationEventCopyWithImpl<$Res, - _$LocationEventWageSeeker> - implements _$$LocationEventWageSeekerCopyWith<$Res> { - __$$LocationEventWageSeekerCopyWithImpl(_$LocationEventWageSeeker _value, - $Res Function(_$LocationEventWageSeeker) _then) + _$LocationEventWageSeekerImpl> + implements _$$LocationEventWageSeekerImplCopyWith<$Res> { + __$$LocationEventWageSeekerImplCopyWithImpl( + _$LocationEventWageSeekerImpl _value, + $Res Function(_$LocationEventWageSeekerImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -115,7 +117,7 @@ class __$$LocationEventWageSeekerCopyWithImpl<$Res> $Res call({ Object? tenantId = freezed, }) { - return _then(_$LocationEventWageSeeker( + return _then(_$LocationEventWageSeekerImpl( tenantId: freezed == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -126,8 +128,8 @@ class __$$LocationEventWageSeekerCopyWithImpl<$Res> /// @nodoc -class _$LocationEventWageSeeker implements LocationEventWageSeeker { - const _$LocationEventWageSeeker({this.tenantId}); +class _$LocationEventWageSeekerImpl implements LocationEventWageSeeker { + const _$LocationEventWageSeekerImpl({this.tenantId}); @override final String? tenantId; @@ -138,10 +140,10 @@ class _$LocationEventWageSeeker implements LocationEventWageSeeker { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$LocationEventWageSeeker && + other is _$LocationEventWageSeekerImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId)); } @@ -152,9 +154,9 @@ class _$LocationEventWageSeeker implements LocationEventWageSeeker { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$LocationEventWageSeekerCopyWith<_$LocationEventWageSeeker> get copyWith => - __$$LocationEventWageSeekerCopyWithImpl<_$LocationEventWageSeeker>( - this, _$identity); + _$$LocationEventWageSeekerImplCopyWith<_$LocationEventWageSeekerImpl> + get copyWith => __$$LocationEventWageSeekerImplCopyWithImpl< + _$LocationEventWageSeekerImpl>(this, _$identity); @override @optionalTypeArgs @@ -216,14 +218,14 @@ class _$LocationEventWageSeeker implements LocationEventWageSeeker { abstract class LocationEventWageSeeker implements WageSeekerLocationEvent { const factory LocationEventWageSeeker({final String? tenantId}) = - _$LocationEventWageSeeker; + _$LocationEventWageSeekerImpl; @override String? get tenantId; @override @JsonKey(ignore: true) - _$$LocationEventWageSeekerCopyWith<_$LocationEventWageSeeker> get copyWith => - throw _privateConstructorUsedError; + _$$LocationEventWageSeekerImplCopyWith<_$LocationEventWageSeekerImpl> + get copyWith => throw _privateConstructorUsedError; } /// @nodoc @@ -300,24 +302,25 @@ class _$WageSeekerLocationStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$WageSeekerLocationStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$WageSeekerLocationStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -325,9 +328,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -409,29 +412,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends WageSeekerLocationState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$WageSeekerLocationStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$WageSeekerLocationStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -439,9 +443,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -523,14 +527,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends WageSeekerLocationState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({Location? location}); @@ -538,10 +543,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$WageSeekerLocationStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$WageSeekerLocationStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -549,7 +555,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? location = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == location ? _value.location : location // ignore: cast_nullable_to_non_nullable @@ -572,8 +578,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.location) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.location) : super._(); @override final Location? location; @@ -584,10 +590,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.location, location) || other.location == location)); } @@ -598,8 +604,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -677,28 +683,30 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends WageSeekerLocationState { - const factory _Loaded(final Location? location) = _$_Loaded; + const factory _Loaded(final Location? location) = _$LoadedImpl; const _Loaded._() : super._(); Location? get location; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$WageSeekerLocationStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$WageSeekerLocationStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -706,7 +714,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -717,8 +725,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -729,10 +737,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -742,8 +750,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -821,11 +829,11 @@ class _$_Error extends _Error { } abstract class _Error extends WageSeekerLocationState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_mdms_bloc.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_mdms_bloc.dart index 5e5f4bd09a..b9c3762f9e 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_mdms_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_mdms_bloc.dart @@ -85,7 +85,7 @@ class WageSeekerMDMSBloc if (updatedCommonMDMS != null) { emit(WageSeekerMDMSState.loaded(updatedCommonMDMS)); } - } on DioError catch (e) { + } on DioException catch (e) { emit(WageSeekerMDMSState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_mdms_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_mdms_bloc.freezed.dart index 493b4cc791..76285d1ac3 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_mdms_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_mdms_bloc.freezed.dart @@ -12,7 +12,7 @@ part of 'wage_seeker_mdms_bloc.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$WageSeekerMDMSMDMSEvent { @@ -70,25 +70,26 @@ class _$WageSeekerMDMSMDMSEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$WageSeekerMDMSEventCopyWith<$Res> { - factory _$$WageSeekerMDMSEventCopyWith(_$WageSeekerMDMSEvent value, - $Res Function(_$WageSeekerMDMSEvent) then) = - __$$WageSeekerMDMSEventCopyWithImpl<$Res>; +abstract class _$$WageSeekerMDMSEventImplCopyWith<$Res> { + factory _$$WageSeekerMDMSEventImplCopyWith(_$WageSeekerMDMSEventImpl value, + $Res Function(_$WageSeekerMDMSEventImpl) then) = + __$$WageSeekerMDMSEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$WageSeekerMDMSEventCopyWithImpl<$Res> - extends _$WageSeekerMDMSMDMSEventCopyWithImpl<$Res, _$WageSeekerMDMSEvent> - implements _$$WageSeekerMDMSEventCopyWith<$Res> { - __$$WageSeekerMDMSEventCopyWithImpl( - _$WageSeekerMDMSEvent _value, $Res Function(_$WageSeekerMDMSEvent) _then) +class __$$WageSeekerMDMSEventImplCopyWithImpl<$Res> + extends _$WageSeekerMDMSMDMSEventCopyWithImpl<$Res, + _$WageSeekerMDMSEventImpl> + implements _$$WageSeekerMDMSEventImplCopyWith<$Res> { + __$$WageSeekerMDMSEventImplCopyWithImpl(_$WageSeekerMDMSEventImpl _value, + $Res Function(_$WageSeekerMDMSEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$WageSeekerMDMSEvent implements WageSeekerMDMSEvent { - const _$WageSeekerMDMSEvent(); +class _$WageSeekerMDMSEventImpl implements WageSeekerMDMSEvent { + const _$WageSeekerMDMSEventImpl(); @override String toString() { @@ -96,9 +97,10 @@ class _$WageSeekerMDMSEvent implements WageSeekerMDMSEvent { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$WageSeekerMDMSEvent); + (other.runtimeType == runtimeType && + other is _$WageSeekerMDMSEventImpl); } @override @@ -162,7 +164,7 @@ class _$WageSeekerMDMSEvent implements WageSeekerMDMSEvent { } abstract class WageSeekerMDMSEvent implements WageSeekerMDMSMDMSEvent { - const factory WageSeekerMDMSEvent() = _$WageSeekerMDMSEvent; + const factory WageSeekerMDMSEvent() = _$WageSeekerMDMSEventImpl; } /// @nodoc @@ -238,24 +240,25 @@ class _$WageSeekerMDMSStateCopyWithImpl<$Res, $Val extends WageSeekerMDMSState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$WageSeekerMDMSStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$WageSeekerMDMSStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -263,9 +266,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -347,29 +350,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends WageSeekerMDMSState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$WageSeekerMDMSStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$WageSeekerMDMSStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -377,9 +381,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -461,14 +465,15 @@ class _$_Loading extends _Loading { } abstract class _Loading extends WageSeekerMDMSState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({WageSeekerMDMS? wageSeekerMDMS}); @@ -476,10 +481,11 @@ abstract class _$$_LoadedCopyWith<$Res> { } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$WageSeekerMDMSStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$WageSeekerMDMSStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -487,7 +493,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? wageSeekerMDMS = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == wageSeekerMDMS ? _value.wageSeekerMDMS : wageSeekerMDMS // ignore: cast_nullable_to_non_nullable @@ -510,8 +516,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(this.wageSeekerMDMS) : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(this.wageSeekerMDMS) : super._(); @override final WageSeekerMDMS? wageSeekerMDMS; @@ -522,10 +528,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.wageSeekerMDMS, wageSeekerMDMS) || other.wageSeekerMDMS == wageSeekerMDMS)); } @@ -536,8 +542,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -615,28 +621,30 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends WageSeekerMDMSState { - const factory _Loaded(final WageSeekerMDMS? wageSeekerMDMS) = _$_Loaded; + const factory _Loaded(final WageSeekerMDMS? wageSeekerMDMS) = _$LoadedImpl; const _Loaded._() : super._(); WageSeekerMDMS? get wageSeekerMDMS; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$WageSeekerMDMSStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$WageSeekerMDMSStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -644,7 +652,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -655,8 +663,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -667,10 +675,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -680,8 +688,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -759,11 +767,11 @@ class _$_Error extends _Error { } abstract class _Error extends WageSeekerMDMSState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_registration_bloc.freezed.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_registration_bloc.freezed.dart index e9560f47d6..bdec061e8b 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_registration_bloc.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_registration_bloc.freezed.dart @@ -12,7 +12,7 @@ part of 'wage_seeker_registration_bloc.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$WageSeekerBlocEvent { @@ -152,10 +152,11 @@ class _$WageSeekerBlocEventCopyWithImpl<$Res, $Val extends WageSeekerBlocEvent> } /// @nodoc -abstract class _$$WageSeekerCreateEventCopyWith<$Res> { - factory _$$WageSeekerCreateEventCopyWith(_$WageSeekerCreateEvent value, - $Res Function(_$WageSeekerCreateEvent) then) = - __$$WageSeekerCreateEventCopyWithImpl<$Res>; +abstract class _$$WageSeekerCreateEventImplCopyWith<$Res> { + factory _$$WageSeekerCreateEventImplCopyWith( + _$WageSeekerCreateEventImpl value, + $Res Function(_$WageSeekerCreateEventImpl) then) = + __$$WageSeekerCreateEventImplCopyWithImpl<$Res>; @useResult $Res call( {IndividualDetails? individualDetails, @@ -165,11 +166,11 @@ abstract class _$$WageSeekerCreateEventCopyWith<$Res> { } /// @nodoc -class __$$WageSeekerCreateEventCopyWithImpl<$Res> - extends _$WageSeekerBlocEventCopyWithImpl<$Res, _$WageSeekerCreateEvent> - implements _$$WageSeekerCreateEventCopyWith<$Res> { - __$$WageSeekerCreateEventCopyWithImpl(_$WageSeekerCreateEvent _value, - $Res Function(_$WageSeekerCreateEvent) _then) +class __$$WageSeekerCreateEventImplCopyWithImpl<$Res> + extends _$WageSeekerBlocEventCopyWithImpl<$Res, _$WageSeekerCreateEventImpl> + implements _$$WageSeekerCreateEventImplCopyWith<$Res> { + __$$WageSeekerCreateEventImplCopyWithImpl(_$WageSeekerCreateEventImpl _value, + $Res Function(_$WageSeekerCreateEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -180,7 +181,7 @@ class __$$WageSeekerCreateEventCopyWithImpl<$Res> Object? locationDetails = freezed, Object? financialDetails = freezed, }) { - return _then(_$WageSeekerCreateEvent( + return _then(_$WageSeekerCreateEventImpl( individualDetails: freezed == individualDetails ? _value.individualDetails : individualDetails // ignore: cast_nullable_to_non_nullable @@ -203,10 +204,10 @@ class __$$WageSeekerCreateEventCopyWithImpl<$Res> /// @nodoc -class _$WageSeekerCreateEvent +class _$WageSeekerCreateEventImpl with DiagnosticableTreeMixin implements WageSeekerCreateEvent { - const _$WageSeekerCreateEvent( + const _$WageSeekerCreateEventImpl( {this.individualDetails, this.skillDetails, this.locationDetails, @@ -238,10 +239,10 @@ class _$WageSeekerCreateEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$WageSeekerCreateEvent && + other is _$WageSeekerCreateEventImpl && (identical(other.individualDetails, individualDetails) || other.individualDetails == individualDetails) && (identical(other.skillDetails, skillDetails) || @@ -259,9 +260,9 @@ class _$WageSeekerCreateEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$WageSeekerCreateEventCopyWith<_$WageSeekerCreateEvent> get copyWith => - __$$WageSeekerCreateEventCopyWithImpl<_$WageSeekerCreateEvent>( - this, _$identity); + _$$WageSeekerCreateEventImplCopyWith<_$WageSeekerCreateEventImpl> + get copyWith => __$$WageSeekerCreateEventImplCopyWithImpl< + _$WageSeekerCreateEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -411,23 +412,23 @@ abstract class WageSeekerCreateEvent implements WageSeekerBlocEvent { {final IndividualDetails? individualDetails, final SkillDetails? skillDetails, final LocationDetails? locationDetails, - final FinancialDetails? financialDetails}) = _$WageSeekerCreateEvent; + final FinancialDetails? financialDetails}) = _$WageSeekerCreateEventImpl; IndividualDetails? get individualDetails; SkillDetails? get skillDetails; LocationDetails? get locationDetails; FinancialDetails? get financialDetails; @JsonKey(ignore: true) - _$$WageSeekerCreateEventCopyWith<_$WageSeekerCreateEvent> get copyWith => - throw _privateConstructorUsedError; + _$$WageSeekerCreateEventImplCopyWith<_$WageSeekerCreateEventImpl> + get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$WageSeekerIdentificationCreateEventCopyWith<$Res> { - factory _$$WageSeekerIdentificationCreateEventCopyWith( - _$WageSeekerIdentificationCreateEvent value, - $Res Function(_$WageSeekerIdentificationCreateEvent) then) = - __$$WageSeekerIdentificationCreateEventCopyWithImpl<$Res>; +abstract class _$$WageSeekerIdentificationCreateEventImplCopyWith<$Res> { + factory _$$WageSeekerIdentificationCreateEventImplCopyWith( + _$WageSeekerIdentificationCreateEventImpl value, + $Res Function(_$WageSeekerIdentificationCreateEventImpl) then) = + __$$WageSeekerIdentificationCreateEventImplCopyWithImpl<$Res>; @useResult $Res call( {String documentType, @@ -441,13 +442,13 @@ abstract class _$$WageSeekerIdentificationCreateEventCopyWith<$Res> { } /// @nodoc -class __$$WageSeekerIdentificationCreateEventCopyWithImpl<$Res> +class __$$WageSeekerIdentificationCreateEventImplCopyWithImpl<$Res> extends _$WageSeekerBlocEventCopyWithImpl<$Res, - _$WageSeekerIdentificationCreateEvent> - implements _$$WageSeekerIdentificationCreateEventCopyWith<$Res> { - __$$WageSeekerIdentificationCreateEventCopyWithImpl( - _$WageSeekerIdentificationCreateEvent _value, - $Res Function(_$WageSeekerIdentificationCreateEvent) _then) + _$WageSeekerIdentificationCreateEventImpl> + implements _$$WageSeekerIdentificationCreateEventImplCopyWith<$Res> { + __$$WageSeekerIdentificationCreateEventImplCopyWithImpl( + _$WageSeekerIdentificationCreateEventImpl _value, + $Res Function(_$WageSeekerIdentificationCreateEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -460,7 +461,7 @@ class __$$WageSeekerIdentificationCreateEventCopyWithImpl<$Res> Object? timeStamp = null, Object? adharCardResponse = freezed, }) { - return _then(_$WageSeekerIdentificationCreateEvent( + return _then(_$WageSeekerIdentificationCreateEventImpl( documentType: null == documentType ? _value.documentType : documentType // ignore: cast_nullable_to_non_nullable @@ -503,10 +504,10 @@ class __$$WageSeekerIdentificationCreateEventCopyWithImpl<$Res> /// @nodoc -class _$WageSeekerIdentificationCreateEvent +class _$WageSeekerIdentificationCreateEventImpl with DiagnosticableTreeMixin implements WageSeekerIdentificationCreateEvent { - const _$WageSeekerIdentificationCreateEvent( + const _$WageSeekerIdentificationCreateEventImpl( {required this.documentType, required this.number, required this.name, @@ -547,10 +548,10 @@ class _$WageSeekerIdentificationCreateEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$WageSeekerIdentificationCreateEvent && + other is _$WageSeekerIdentificationCreateEventImpl && (identical(other.documentType, documentType) || other.documentType == documentType) && (identical(other.number, number) || other.number == number) && @@ -570,10 +571,10 @@ class _$WageSeekerIdentificationCreateEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$WageSeekerIdentificationCreateEventCopyWith< - _$WageSeekerIdentificationCreateEvent> - get copyWith => __$$WageSeekerIdentificationCreateEventCopyWithImpl< - _$WageSeekerIdentificationCreateEvent>(this, _$identity); + _$$WageSeekerIdentificationCreateEventImplCopyWith< + _$WageSeekerIdentificationCreateEventImpl> + get copyWith => __$$WageSeekerIdentificationCreateEventImplCopyWithImpl< + _$WageSeekerIdentificationCreateEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -727,7 +728,7 @@ abstract class WageSeekerIdentificationCreateEvent required final bool adharVerified, required final int timeStamp, final AdharCardResponse? adharCardResponse}) = - _$WageSeekerIdentificationCreateEvent; + _$WageSeekerIdentificationCreateEventImpl; String get documentType; String get number; @@ -736,17 +737,17 @@ abstract class WageSeekerIdentificationCreateEvent int get timeStamp; AdharCardResponse? get adharCardResponse; @JsonKey(ignore: true) - _$$WageSeekerIdentificationCreateEventCopyWith< - _$WageSeekerIdentificationCreateEvent> + _$$WageSeekerIdentificationCreateEventImplCopyWith< + _$WageSeekerIdentificationCreateEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$WageSeekerDetailsCreateEventCopyWith<$Res> { - factory _$$WageSeekerDetailsCreateEventCopyWith( - _$WageSeekerDetailsCreateEvent value, - $Res Function(_$WageSeekerDetailsCreateEvent) then) = - __$$WageSeekerDetailsCreateEventCopyWithImpl<$Res>; +abstract class _$$WageSeekerDetailsCreateEventImplCopyWith<$Res> { + factory _$$WageSeekerDetailsCreateEventImplCopyWith( + _$WageSeekerDetailsCreateEventImpl value, + $Res Function(_$WageSeekerDetailsCreateEventImpl) then) = + __$$WageSeekerDetailsCreateEventImplCopyWithImpl<$Res>; @useResult $Res call( {String fatherName, @@ -758,13 +759,13 @@ abstract class _$$WageSeekerDetailsCreateEventCopyWith<$Res> { } /// @nodoc -class __$$WageSeekerDetailsCreateEventCopyWithImpl<$Res> +class __$$WageSeekerDetailsCreateEventImplCopyWithImpl<$Res> extends _$WageSeekerBlocEventCopyWithImpl<$Res, - _$WageSeekerDetailsCreateEvent> - implements _$$WageSeekerDetailsCreateEventCopyWith<$Res> { - __$$WageSeekerDetailsCreateEventCopyWithImpl( - _$WageSeekerDetailsCreateEvent _value, - $Res Function(_$WageSeekerDetailsCreateEvent) _then) + _$WageSeekerDetailsCreateEventImpl> + implements _$$WageSeekerDetailsCreateEventImplCopyWith<$Res> { + __$$WageSeekerDetailsCreateEventImplCopyWithImpl( + _$WageSeekerDetailsCreateEventImpl _value, + $Res Function(_$WageSeekerDetailsCreateEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -777,7 +778,7 @@ class __$$WageSeekerDetailsCreateEventCopyWithImpl<$Res> Object? socialCategory = null, Object? mobileNumber = null, }) { - return _then(_$WageSeekerDetailsCreateEvent( + return _then(_$WageSeekerDetailsCreateEventImpl( fatherName: null == fatherName ? _value.fatherName : fatherName // ignore: cast_nullable_to_non_nullable @@ -808,10 +809,10 @@ class __$$WageSeekerDetailsCreateEventCopyWithImpl<$Res> /// @nodoc -class _$WageSeekerDetailsCreateEvent +class _$WageSeekerDetailsCreateEventImpl with DiagnosticableTreeMixin implements WageSeekerDetailsCreateEvent { - const _$WageSeekerDetailsCreateEvent( + const _$WageSeekerDetailsCreateEventImpl( {required this.fatherName, required this.dob, required this.relationShip, @@ -851,10 +852,10 @@ class _$WageSeekerDetailsCreateEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$WageSeekerDetailsCreateEvent && + other is _$WageSeekerDetailsCreateEventImpl && (identical(other.fatherName, fatherName) || other.fatherName == fatherName) && (identical(other.dob, dob) || other.dob == dob) && @@ -874,9 +875,10 @@ class _$WageSeekerDetailsCreateEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$WageSeekerDetailsCreateEventCopyWith<_$WageSeekerDetailsCreateEvent> - get copyWith => __$$WageSeekerDetailsCreateEventCopyWithImpl< - _$WageSeekerDetailsCreateEvent>(this, _$identity); + _$$WageSeekerDetailsCreateEventImplCopyWith< + _$WageSeekerDetailsCreateEventImpl> + get copyWith => __$$WageSeekerDetailsCreateEventImplCopyWithImpl< + _$WageSeekerDetailsCreateEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -1028,7 +1030,7 @@ abstract class WageSeekerDetailsCreateEvent implements WageSeekerBlocEvent { required final String relationShip, required final String gender, required final String socialCategory, - required final String mobileNumber}) = _$WageSeekerDetailsCreateEvent; + required final String mobileNumber}) = _$WageSeekerDetailsCreateEventImpl; String get fatherName; DateTime get dob; @@ -1037,28 +1039,29 @@ abstract class WageSeekerDetailsCreateEvent implements WageSeekerBlocEvent { String get socialCategory; String get mobileNumber; @JsonKey(ignore: true) - _$$WageSeekerDetailsCreateEventCopyWith<_$WageSeekerDetailsCreateEvent> + _$$WageSeekerDetailsCreateEventImplCopyWith< + _$WageSeekerDetailsCreateEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$WageSeekerSkillCreateEventCopyWith<$Res> { - factory _$$WageSeekerSkillCreateEventCopyWith( - _$WageSeekerSkillCreateEvent value, - $Res Function(_$WageSeekerSkillCreateEvent) then) = - __$$WageSeekerSkillCreateEventCopyWithImpl<$Res>; +abstract class _$$WageSeekerSkillCreateEventImplCopyWith<$Res> { + factory _$$WageSeekerSkillCreateEventImplCopyWith( + _$WageSeekerSkillCreateEventImpl value, + $Res Function(_$WageSeekerSkillCreateEventImpl) then) = + __$$WageSeekerSkillCreateEventImplCopyWithImpl<$Res>; @useResult $Res call({SkillDetails skillDetails}); } /// @nodoc -class __$$WageSeekerSkillCreateEventCopyWithImpl<$Res> +class __$$WageSeekerSkillCreateEventImplCopyWithImpl<$Res> extends _$WageSeekerBlocEventCopyWithImpl<$Res, - _$WageSeekerSkillCreateEvent> - implements _$$WageSeekerSkillCreateEventCopyWith<$Res> { - __$$WageSeekerSkillCreateEventCopyWithImpl( - _$WageSeekerSkillCreateEvent _value, - $Res Function(_$WageSeekerSkillCreateEvent) _then) + _$WageSeekerSkillCreateEventImpl> + implements _$$WageSeekerSkillCreateEventImplCopyWith<$Res> { + __$$WageSeekerSkillCreateEventImplCopyWithImpl( + _$WageSeekerSkillCreateEventImpl _value, + $Res Function(_$WageSeekerSkillCreateEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1066,7 +1069,7 @@ class __$$WageSeekerSkillCreateEventCopyWithImpl<$Res> $Res call({ Object? skillDetails = null, }) { - return _then(_$WageSeekerSkillCreateEvent( + return _then(_$WageSeekerSkillCreateEventImpl( skillDetails: null == skillDetails ? _value.skillDetails : skillDetails // ignore: cast_nullable_to_non_nullable @@ -1077,10 +1080,10 @@ class __$$WageSeekerSkillCreateEventCopyWithImpl<$Res> /// @nodoc -class _$WageSeekerSkillCreateEvent +class _$WageSeekerSkillCreateEventImpl with DiagnosticableTreeMixin implements WageSeekerSkillCreateEvent { - const _$WageSeekerSkillCreateEvent({required this.skillDetails}); + const _$WageSeekerSkillCreateEventImpl({required this.skillDetails}); @override final SkillDetails skillDetails; @@ -1099,10 +1102,10 @@ class _$WageSeekerSkillCreateEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$WageSeekerSkillCreateEvent && + other is _$WageSeekerSkillCreateEventImpl && (identical(other.skillDetails, skillDetails) || other.skillDetails == skillDetails)); } @@ -1113,9 +1116,9 @@ class _$WageSeekerSkillCreateEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$WageSeekerSkillCreateEventCopyWith<_$WageSeekerSkillCreateEvent> - get copyWith => __$$WageSeekerSkillCreateEventCopyWithImpl< - _$WageSeekerSkillCreateEvent>(this, _$identity); + _$$WageSeekerSkillCreateEventImplCopyWith<_$WageSeekerSkillCreateEventImpl> + get copyWith => __$$WageSeekerSkillCreateEventImplCopyWithImpl< + _$WageSeekerSkillCreateEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -1260,32 +1263,32 @@ class _$WageSeekerSkillCreateEvent abstract class WageSeekerSkillCreateEvent implements WageSeekerBlocEvent { const factory WageSeekerSkillCreateEvent( {required final SkillDetails skillDetails}) = - _$WageSeekerSkillCreateEvent; + _$WageSeekerSkillCreateEventImpl; SkillDetails get skillDetails; @JsonKey(ignore: true) - _$$WageSeekerSkillCreateEventCopyWith<_$WageSeekerSkillCreateEvent> + _$$WageSeekerSkillCreateEventImplCopyWith<_$WageSeekerSkillCreateEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$WageSeekerPhotoCreateEventCopyWith<$Res> { - factory _$$WageSeekerPhotoCreateEventCopyWith( - _$WageSeekerPhotoCreateEvent value, - $Res Function(_$WageSeekerPhotoCreateEvent) then) = - __$$WageSeekerPhotoCreateEventCopyWithImpl<$Res>; +abstract class _$$WageSeekerPhotoCreateEventImplCopyWith<$Res> { + factory _$$WageSeekerPhotoCreateEventImplCopyWith( + _$WageSeekerPhotoCreateEventImpl value, + $Res Function(_$WageSeekerPhotoCreateEventImpl) then) = + __$$WageSeekerPhotoCreateEventImplCopyWithImpl<$Res>; @useResult $Res call({File? imageFile, Uint8List? bytes, String? photo}); } /// @nodoc -class __$$WageSeekerPhotoCreateEventCopyWithImpl<$Res> +class __$$WageSeekerPhotoCreateEventImplCopyWithImpl<$Res> extends _$WageSeekerBlocEventCopyWithImpl<$Res, - _$WageSeekerPhotoCreateEvent> - implements _$$WageSeekerPhotoCreateEventCopyWith<$Res> { - __$$WageSeekerPhotoCreateEventCopyWithImpl( - _$WageSeekerPhotoCreateEvent _value, - $Res Function(_$WageSeekerPhotoCreateEvent) _then) + _$WageSeekerPhotoCreateEventImpl> + implements _$$WageSeekerPhotoCreateEventImplCopyWith<$Res> { + __$$WageSeekerPhotoCreateEventImplCopyWithImpl( + _$WageSeekerPhotoCreateEventImpl _value, + $Res Function(_$WageSeekerPhotoCreateEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1295,7 +1298,7 @@ class __$$WageSeekerPhotoCreateEventCopyWithImpl<$Res> Object? bytes = freezed, Object? photo = freezed, }) { - return _then(_$WageSeekerPhotoCreateEvent( + return _then(_$WageSeekerPhotoCreateEventImpl( imageFile: freezed == imageFile ? _value.imageFile : imageFile // ignore: cast_nullable_to_non_nullable @@ -1314,10 +1317,11 @@ class __$$WageSeekerPhotoCreateEventCopyWithImpl<$Res> /// @nodoc -class _$WageSeekerPhotoCreateEvent +class _$WageSeekerPhotoCreateEventImpl with DiagnosticableTreeMixin implements WageSeekerPhotoCreateEvent { - const _$WageSeekerPhotoCreateEvent({this.imageFile, this.bytes, this.photo}); + const _$WageSeekerPhotoCreateEventImpl( + {this.imageFile, this.bytes, this.photo}); @override final File? imageFile; @@ -1342,10 +1346,10 @@ class _$WageSeekerPhotoCreateEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$WageSeekerPhotoCreateEvent && + other is _$WageSeekerPhotoCreateEventImpl && (identical(other.imageFile, imageFile) || other.imageFile == imageFile) && const DeepCollectionEquality().equals(other.bytes, bytes) && @@ -1359,9 +1363,9 @@ class _$WageSeekerPhotoCreateEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$WageSeekerPhotoCreateEventCopyWith<_$WageSeekerPhotoCreateEvent> - get copyWith => __$$WageSeekerPhotoCreateEventCopyWithImpl< - _$WageSeekerPhotoCreateEvent>(this, _$identity); + _$$WageSeekerPhotoCreateEventImplCopyWith<_$WageSeekerPhotoCreateEventImpl> + get copyWith => __$$WageSeekerPhotoCreateEventImplCopyWithImpl< + _$WageSeekerPhotoCreateEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -1507,38 +1511,38 @@ abstract class WageSeekerPhotoCreateEvent implements WageSeekerBlocEvent { const factory WageSeekerPhotoCreateEvent( {final File? imageFile, final Uint8List? bytes, - final String? photo}) = _$WageSeekerPhotoCreateEvent; + final String? photo}) = _$WageSeekerPhotoCreateEventImpl; File? get imageFile; Uint8List? get bytes; String? get photo; @JsonKey(ignore: true) - _$$WageSeekerPhotoCreateEventCopyWith<_$WageSeekerPhotoCreateEvent> + _$$WageSeekerPhotoCreateEventImplCopyWith<_$WageSeekerPhotoCreateEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$WageSeekerClearEventCopyWith<$Res> { - factory _$$WageSeekerClearEventCopyWith(_$WageSeekerClearEvent value, - $Res Function(_$WageSeekerClearEvent) then) = - __$$WageSeekerClearEventCopyWithImpl<$Res>; +abstract class _$$WageSeekerClearEventImplCopyWith<$Res> { + factory _$$WageSeekerClearEventImplCopyWith(_$WageSeekerClearEventImpl value, + $Res Function(_$WageSeekerClearEventImpl) then) = + __$$WageSeekerClearEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$WageSeekerClearEventCopyWithImpl<$Res> - extends _$WageSeekerBlocEventCopyWithImpl<$Res, _$WageSeekerClearEvent> - implements _$$WageSeekerClearEventCopyWith<$Res> { - __$$WageSeekerClearEventCopyWithImpl(_$WageSeekerClearEvent _value, - $Res Function(_$WageSeekerClearEvent) _then) +class __$$WageSeekerClearEventImplCopyWithImpl<$Res> + extends _$WageSeekerBlocEventCopyWithImpl<$Res, _$WageSeekerClearEventImpl> + implements _$$WageSeekerClearEventImplCopyWith<$Res> { + __$$WageSeekerClearEventImplCopyWithImpl(_$WageSeekerClearEventImpl _value, + $Res Function(_$WageSeekerClearEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$WageSeekerClearEvent +class _$WageSeekerClearEventImpl with DiagnosticableTreeMixin implements WageSeekerClearEvent { - const _$WageSeekerClearEvent(); + const _$WageSeekerClearEventImpl(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -1552,9 +1556,10 @@ class _$WageSeekerClearEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$WageSeekerClearEvent); + (other.runtimeType == runtimeType && + other is _$WageSeekerClearEventImpl); } @override @@ -1701,7 +1706,7 @@ class _$WageSeekerClearEvent } abstract class WageSeekerClearEvent implements WageSeekerBlocEvent { - const factory WageSeekerClearEvent() = _$WageSeekerClearEvent; + const factory WageSeekerClearEvent() = _$WageSeekerClearEventImpl; } /// @nodoc @@ -1838,11 +1843,11 @@ class _$WageSeekerBlocStateCopyWithImpl<$Res, $Val extends WageSeekerBlocState> } /// @nodoc -abstract class _$$_CreateWageSeekerCopyWith<$Res> +abstract class _$$CreateWageSeekerImplCopyWith<$Res> implements $WageSeekerBlocStateCopyWith<$Res> { - factory _$$_CreateWageSeekerCopyWith( - _$_CreateWageSeeker value, $Res Function(_$_CreateWageSeeker) then) = - __$$_CreateWageSeekerCopyWithImpl<$Res>; + factory _$$CreateWageSeekerImplCopyWith(_$CreateWageSeekerImpl value, + $Res Function(_$CreateWageSeekerImpl) then) = + __$$CreateWageSeekerImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1853,11 +1858,11 @@ abstract class _$$_CreateWageSeekerCopyWith<$Res> } /// @nodoc -class __$$_CreateWageSeekerCopyWithImpl<$Res> - extends _$WageSeekerBlocStateCopyWithImpl<$Res, _$_CreateWageSeeker> - implements _$$_CreateWageSeekerCopyWith<$Res> { - __$$_CreateWageSeekerCopyWithImpl( - _$_CreateWageSeeker _value, $Res Function(_$_CreateWageSeeker) _then) +class __$$CreateWageSeekerImplCopyWithImpl<$Res> + extends _$WageSeekerBlocStateCopyWithImpl<$Res, _$CreateWageSeekerImpl> + implements _$$CreateWageSeekerImplCopyWith<$Res> { + __$$CreateWageSeekerImplCopyWithImpl(_$CreateWageSeekerImpl _value, + $Res Function(_$CreateWageSeekerImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1868,7 +1873,7 @@ class __$$_CreateWageSeekerCopyWithImpl<$Res> Object? locationDetails = freezed, Object? financialDetails = freezed, }) { - return _then(_$_CreateWageSeeker( + return _then(_$CreateWageSeekerImpl( individualDetails: freezed == individualDetails ? _value.individualDetails : individualDetails // ignore: cast_nullable_to_non_nullable @@ -1891,9 +1896,9 @@ class __$$_CreateWageSeekerCopyWithImpl<$Res> /// @nodoc -class _$_CreateWageSeeker extends _CreateWageSeeker +class _$CreateWageSeekerImpl extends _CreateWageSeeker with DiagnosticableTreeMixin { - const _$_CreateWageSeeker( + const _$CreateWageSeekerImpl( {this.individualDetails, this.skillDetails, this.locationDetails, @@ -1926,10 +1931,10 @@ class _$_CreateWageSeeker extends _CreateWageSeeker } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_CreateWageSeeker && + other is _$CreateWageSeekerImpl && (identical(other.individualDetails, individualDetails) || other.individualDetails == individualDetails) && (identical(other.skillDetails, skillDetails) || @@ -1947,8 +1952,9 @@ class _$_CreateWageSeeker extends _CreateWageSeeker @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_CreateWageSeekerCopyWith<_$_CreateWageSeeker> get copyWith => - __$$_CreateWageSeekerCopyWithImpl<_$_CreateWageSeeker>(this, _$identity); + _$$CreateWageSeekerImplCopyWith<_$CreateWageSeekerImpl> get copyWith => + __$$CreateWageSeekerImplCopyWithImpl<_$CreateWageSeekerImpl>( + this, _$identity); @override @optionalTypeArgs @@ -2051,7 +2057,7 @@ abstract class _CreateWageSeeker extends WageSeekerBlocState { {final IndividualDetails? individualDetails, final SkillDetails? skillDetails, final LocationDetails? locationDetails, - final FinancialDetails? financialDetails}) = _$_CreateWageSeeker; + final FinancialDetails? financialDetails}) = _$CreateWageSeekerImpl; const _CreateWageSeeker._() : super._(); @override @@ -2064,16 +2070,16 @@ abstract class _CreateWageSeeker extends WageSeekerBlocState { FinancialDetails? get financialDetails; @override @JsonKey(ignore: true) - _$$_CreateWageSeekerCopyWith<_$_CreateWageSeeker> get copyWith => + _$$CreateWageSeekerImplCopyWith<_$CreateWageSeekerImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_EditWageSeekerCopyWith<$Res> +abstract class _$$EditWageSeekerImplCopyWith<$Res> implements $WageSeekerBlocStateCopyWith<$Res> { - factory _$$_EditWageSeekerCopyWith( - _$_EditWageSeeker value, $Res Function(_$_EditWageSeeker) then) = - __$$_EditWageSeekerCopyWithImpl<$Res>; + factory _$$EditWageSeekerImplCopyWith(_$EditWageSeekerImpl value, + $Res Function(_$EditWageSeekerImpl) then) = + __$$EditWageSeekerImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -2084,11 +2090,11 @@ abstract class _$$_EditWageSeekerCopyWith<$Res> } /// @nodoc -class __$$_EditWageSeekerCopyWithImpl<$Res> - extends _$WageSeekerBlocStateCopyWithImpl<$Res, _$_EditWageSeeker> - implements _$$_EditWageSeekerCopyWith<$Res> { - __$$_EditWageSeekerCopyWithImpl( - _$_EditWageSeeker _value, $Res Function(_$_EditWageSeeker) _then) +class __$$EditWageSeekerImplCopyWithImpl<$Res> + extends _$WageSeekerBlocStateCopyWithImpl<$Res, _$EditWageSeekerImpl> + implements _$$EditWageSeekerImplCopyWith<$Res> { + __$$EditWageSeekerImplCopyWithImpl( + _$EditWageSeekerImpl _value, $Res Function(_$EditWageSeekerImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -2099,7 +2105,7 @@ class __$$_EditWageSeekerCopyWithImpl<$Res> Object? locationDetails = freezed, Object? financialDetails = freezed, }) { - return _then(_$_EditWageSeeker( + return _then(_$EditWageSeekerImpl( individualDetails: freezed == individualDetails ? _value.individualDetails : individualDetails // ignore: cast_nullable_to_non_nullable @@ -2122,8 +2128,9 @@ class __$$_EditWageSeekerCopyWithImpl<$Res> /// @nodoc -class _$_EditWageSeeker extends _EditWageSeeker with DiagnosticableTreeMixin { - const _$_EditWageSeeker( +class _$EditWageSeekerImpl extends _EditWageSeeker + with DiagnosticableTreeMixin { + const _$EditWageSeekerImpl( {this.individualDetails, this.skillDetails, this.locationDetails, @@ -2156,10 +2163,10 @@ class _$_EditWageSeeker extends _EditWageSeeker with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_EditWageSeeker && + other is _$EditWageSeekerImpl && (identical(other.individualDetails, individualDetails) || other.individualDetails == individualDetails) && (identical(other.skillDetails, skillDetails) || @@ -2177,8 +2184,9 @@ class _$_EditWageSeeker extends _EditWageSeeker with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_EditWageSeekerCopyWith<_$_EditWageSeeker> get copyWith => - __$$_EditWageSeekerCopyWithImpl<_$_EditWageSeeker>(this, _$identity); + _$$EditWageSeekerImplCopyWith<_$EditWageSeekerImpl> get copyWith => + __$$EditWageSeekerImplCopyWithImpl<_$EditWageSeekerImpl>( + this, _$identity); @override @optionalTypeArgs @@ -2281,7 +2289,7 @@ abstract class _EditWageSeeker extends WageSeekerBlocState { {final IndividualDetails? individualDetails, final SkillDetails? skillDetails, final LocationDetails? locationDetails, - final FinancialDetails? financialDetails}) = _$_EditWageSeeker; + final FinancialDetails? financialDetails}) = _$EditWageSeekerImpl; const _EditWageSeeker._() : super._(); @override @@ -2294,6 +2302,6 @@ abstract class _EditWageSeeker extends WageSeekerBlocState { FinancialDetails? get financialDetails; @override @JsonKey(ignore: true) - _$$_EditWageSeekerCopyWith<_$_EditWageSeeker> get copyWith => + _$$EditWageSeekerImplCopyWith<_$EditWageSeekerImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/work_orders/accept_work_order.dart b/frontend/works_shg_app/lib/blocs/work_orders/accept_work_order.dart index 26dab07b7d..6c5e7cabbf 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/accept_work_order.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/accept_work_order.dart @@ -55,7 +55,7 @@ class AcceptWorkOrderBloc })); await Future.delayed(const Duration(seconds: 1)); emit(AcceptWorkOrderState.loaded(acceptedContracts)); - } on DioError catch (e) { + } on DioException catch (e) { emit(AcceptWorkOrderState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/work_orders/accept_work_order.freezed.dart b/frontend/works_shg_app/lib/blocs/work_orders/accept_work_order.freezed.dart index 9f0ba153d3..f3e29ae429 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/accept_work_order.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/accept_work_order.freezed.dart @@ -12,7 +12,7 @@ part of 'accept_work_order.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$AcceptWorkOrderEvent { @@ -82,21 +82,21 @@ class _$AcceptWorkOrderEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$WorkOrderAcceptEventCopyWith<$Res> { - factory _$$WorkOrderAcceptEventCopyWith(_$WorkOrderAcceptEvent value, - $Res Function(_$WorkOrderAcceptEvent) then) = - __$$WorkOrderAcceptEventCopyWithImpl<$Res>; +abstract class _$$WorkOrderAcceptEventImplCopyWith<$Res> { + factory _$$WorkOrderAcceptEventImplCopyWith(_$WorkOrderAcceptEventImpl value, + $Res Function(_$WorkOrderAcceptEventImpl) then) = + __$$WorkOrderAcceptEventImplCopyWithImpl<$Res>; @useResult $Res call( {Map? contractsModel, String action, String comments}); } /// @nodoc -class __$$WorkOrderAcceptEventCopyWithImpl<$Res> - extends _$AcceptWorkOrderEventCopyWithImpl<$Res, _$WorkOrderAcceptEvent> - implements _$$WorkOrderAcceptEventCopyWith<$Res> { - __$$WorkOrderAcceptEventCopyWithImpl(_$WorkOrderAcceptEvent _value, - $Res Function(_$WorkOrderAcceptEvent) _then) +class __$$WorkOrderAcceptEventImplCopyWithImpl<$Res> + extends _$AcceptWorkOrderEventCopyWithImpl<$Res, _$WorkOrderAcceptEventImpl> + implements _$$WorkOrderAcceptEventImplCopyWith<$Res> { + __$$WorkOrderAcceptEventImplCopyWithImpl(_$WorkOrderAcceptEventImpl _value, + $Res Function(_$WorkOrderAcceptEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -106,7 +106,7 @@ class __$$WorkOrderAcceptEventCopyWithImpl<$Res> Object? action = null, Object? comments = null, }) { - return _then(_$WorkOrderAcceptEvent( + return _then(_$WorkOrderAcceptEventImpl( contractsModel: freezed == contractsModel ? _value._contractsModel : contractsModel // ignore: cast_nullable_to_non_nullable @@ -125,10 +125,10 @@ class __$$WorkOrderAcceptEventCopyWithImpl<$Res> /// @nodoc -class _$WorkOrderAcceptEvent +class _$WorkOrderAcceptEventImpl with DiagnosticableTreeMixin implements WorkOrderAcceptEvent { - const _$WorkOrderAcceptEvent( + const _$WorkOrderAcceptEventImpl( {required final Map? contractsModel, required this.action, this.comments = ''}) @@ -166,10 +166,10 @@ class _$WorkOrderAcceptEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$WorkOrderAcceptEvent && + other is _$WorkOrderAcceptEventImpl && const DeepCollectionEquality() .equals(other._contractsModel, _contractsModel) && (identical(other.action, action) || other.action == action) && @@ -184,9 +184,10 @@ class _$WorkOrderAcceptEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$WorkOrderAcceptEventCopyWith<_$WorkOrderAcceptEvent> get copyWith => - __$$WorkOrderAcceptEventCopyWithImpl<_$WorkOrderAcceptEvent>( - this, _$identity); + _$$WorkOrderAcceptEventImplCopyWith<_$WorkOrderAcceptEventImpl> + get copyWith => + __$$WorkOrderAcceptEventImplCopyWithImpl<_$WorkOrderAcceptEventImpl>( + this, _$identity); @override @optionalTypeArgs @@ -261,38 +262,40 @@ abstract class WorkOrderAcceptEvent implements AcceptWorkOrderEvent { const factory WorkOrderAcceptEvent( {required final Map? contractsModel, required final String action, - final String comments}) = _$WorkOrderAcceptEvent; + final String comments}) = _$WorkOrderAcceptEventImpl; Map? get contractsModel; String get action; String get comments; @JsonKey(ignore: true) - _$$WorkOrderAcceptEventCopyWith<_$WorkOrderAcceptEvent> get copyWith => - throw _privateConstructorUsedError; + _$$WorkOrderAcceptEventImplCopyWith<_$WorkOrderAcceptEventImpl> + get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$WorkOrderDisposeEventCopyWith<$Res> { - factory _$$WorkOrderDisposeEventCopyWith(_$WorkOrderDisposeEvent value, - $Res Function(_$WorkOrderDisposeEvent) then) = - __$$WorkOrderDisposeEventCopyWithImpl<$Res>; +abstract class _$$WorkOrderDisposeEventImplCopyWith<$Res> { + factory _$$WorkOrderDisposeEventImplCopyWith( + _$WorkOrderDisposeEventImpl value, + $Res Function(_$WorkOrderDisposeEventImpl) then) = + __$$WorkOrderDisposeEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$WorkOrderDisposeEventCopyWithImpl<$Res> - extends _$AcceptWorkOrderEventCopyWithImpl<$Res, _$WorkOrderDisposeEvent> - implements _$$WorkOrderDisposeEventCopyWith<$Res> { - __$$WorkOrderDisposeEventCopyWithImpl(_$WorkOrderDisposeEvent _value, - $Res Function(_$WorkOrderDisposeEvent) _then) +class __$$WorkOrderDisposeEventImplCopyWithImpl<$Res> + extends _$AcceptWorkOrderEventCopyWithImpl<$Res, + _$WorkOrderDisposeEventImpl> + implements _$$WorkOrderDisposeEventImplCopyWith<$Res> { + __$$WorkOrderDisposeEventImplCopyWithImpl(_$WorkOrderDisposeEventImpl _value, + $Res Function(_$WorkOrderDisposeEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$WorkOrderDisposeEvent +class _$WorkOrderDisposeEventImpl with DiagnosticableTreeMixin implements WorkOrderDisposeEvent { - const _$WorkOrderDisposeEvent(); + const _$WorkOrderDisposeEventImpl(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -306,9 +309,10 @@ class _$WorkOrderDisposeEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$WorkOrderDisposeEvent); + (other.runtimeType == runtimeType && + other is _$WorkOrderDisposeEventImpl); } @override @@ -384,7 +388,7 @@ class _$WorkOrderDisposeEvent } abstract class WorkOrderDisposeEvent implements AcceptWorkOrderEvent { - const factory WorkOrderDisposeEvent() = _$WorkOrderDisposeEvent; + const factory WorkOrderDisposeEvent() = _$WorkOrderDisposeEventImpl; } /// @nodoc @@ -461,24 +465,25 @@ class _$AcceptWorkOrderStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$AcceptWorkOrderStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$AcceptWorkOrderStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -492,9 +497,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -576,29 +581,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends AcceptWorkOrderState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$AcceptWorkOrderStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$AcceptWorkOrderStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -612,9 +618,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -696,23 +702,25 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends AcceptWorkOrderState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({ContractsModel? contractsModel}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$AcceptWorkOrderStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$AcceptWorkOrderStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -720,7 +728,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? contractsModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == contractsModel ? _value.contractsModel : contractsModel // ignore: cast_nullable_to_non_nullable @@ -731,8 +739,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.contractsModel) : super._(); +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + const _$LoadedImpl(this.contractsModel) : super._(); @override final ContractsModel? contractsModel; @@ -751,10 +759,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.contractsModel, contractsModel) || other.contractsModel == contractsModel)); } @@ -765,8 +773,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -844,28 +852,30 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } abstract class _Loaded extends AcceptWorkOrderState { - const factory _Loaded(final ContractsModel? contractsModel) = _$_Loaded; + const factory _Loaded(final ContractsModel? contractsModel) = _$LoadedImpl; const _Loaded._() : super._(); ContractsModel? get contractsModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$AcceptWorkOrderStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$AcceptWorkOrderStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -873,7 +883,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -884,8 +894,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -904,10 +914,10 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -917,8 +927,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -996,11 +1006,11 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends AcceptWorkOrderState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/work_orders/decline_work_order.dart b/frontend/works_shg_app/lib/blocs/work_orders/decline_work_order.dart index 94a9a0e408..cad9d65128 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/decline_work_order.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/decline_work_order.dart @@ -52,7 +52,7 @@ class DeclineWorkOrderBloc })); await Future.delayed(const Duration(seconds: 1)); emit(DeclineWorkOrderState.loaded(contractsModel)); - } on DioError catch (e) { + } on DioException catch (e) { emit(DeclineWorkOrderState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/work_orders/decline_work_order.freezed.dart b/frontend/works_shg_app/lib/blocs/work_orders/decline_work_order.freezed.dart index 6643096d89..02f16380e6 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/decline_work_order.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/decline_work_order.freezed.dart @@ -12,7 +12,7 @@ part of 'decline_work_order.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$DeclineWorkOrderEvent { @@ -82,21 +82,23 @@ class _$DeclineWorkOrderEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$WorkOrderDeclineEventCopyWith<$Res> { - factory _$$WorkOrderDeclineEventCopyWith(_$WorkOrderDeclineEvent value, - $Res Function(_$WorkOrderDeclineEvent) then) = - __$$WorkOrderDeclineEventCopyWithImpl<$Res>; +abstract class _$$WorkOrderDeclineEventImplCopyWith<$Res> { + factory _$$WorkOrderDeclineEventImplCopyWith( + _$WorkOrderDeclineEventImpl value, + $Res Function(_$WorkOrderDeclineEventImpl) then) = + __$$WorkOrderDeclineEventImplCopyWithImpl<$Res>; @useResult $Res call( {Map? contractsModel, String action, String comments}); } /// @nodoc -class __$$WorkOrderDeclineEventCopyWithImpl<$Res> - extends _$DeclineWorkOrderEventCopyWithImpl<$Res, _$WorkOrderDeclineEvent> - implements _$$WorkOrderDeclineEventCopyWith<$Res> { - __$$WorkOrderDeclineEventCopyWithImpl(_$WorkOrderDeclineEvent _value, - $Res Function(_$WorkOrderDeclineEvent) _then) +class __$$WorkOrderDeclineEventImplCopyWithImpl<$Res> + extends _$DeclineWorkOrderEventCopyWithImpl<$Res, + _$WorkOrderDeclineEventImpl> + implements _$$WorkOrderDeclineEventImplCopyWith<$Res> { + __$$WorkOrderDeclineEventImplCopyWithImpl(_$WorkOrderDeclineEventImpl _value, + $Res Function(_$WorkOrderDeclineEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -106,7 +108,7 @@ class __$$WorkOrderDeclineEventCopyWithImpl<$Res> Object? action = null, Object? comments = null, }) { - return _then(_$WorkOrderDeclineEvent( + return _then(_$WorkOrderDeclineEventImpl( contractsModel: freezed == contractsModel ? _value._contractsModel : contractsModel // ignore: cast_nullable_to_non_nullable @@ -125,10 +127,10 @@ class __$$WorkOrderDeclineEventCopyWithImpl<$Res> /// @nodoc -class _$WorkOrderDeclineEvent +class _$WorkOrderDeclineEventImpl with DiagnosticableTreeMixin implements WorkOrderDeclineEvent { - const _$WorkOrderDeclineEvent( + const _$WorkOrderDeclineEventImpl( {required final Map? contractsModel, required this.action, this.comments = ''}) @@ -166,10 +168,10 @@ class _$WorkOrderDeclineEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$WorkOrderDeclineEvent && + other is _$WorkOrderDeclineEventImpl && const DeepCollectionEquality() .equals(other._contractsModel, _contractsModel) && (identical(other.action, action) || other.action == action) && @@ -184,9 +186,9 @@ class _$WorkOrderDeclineEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$WorkOrderDeclineEventCopyWith<_$WorkOrderDeclineEvent> get copyWith => - __$$WorkOrderDeclineEventCopyWithImpl<_$WorkOrderDeclineEvent>( - this, _$identity); + _$$WorkOrderDeclineEventImplCopyWith<_$WorkOrderDeclineEventImpl> + get copyWith => __$$WorkOrderDeclineEventImplCopyWithImpl< + _$WorkOrderDeclineEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -261,38 +263,38 @@ abstract class WorkOrderDeclineEvent implements DeclineWorkOrderEvent { const factory WorkOrderDeclineEvent( {required final Map? contractsModel, required final String action, - final String comments}) = _$WorkOrderDeclineEvent; + final String comments}) = _$WorkOrderDeclineEventImpl; Map? get contractsModel; String get action; String get comments; @JsonKey(ignore: true) - _$$WorkOrderDeclineEventCopyWith<_$WorkOrderDeclineEvent> get copyWith => - throw _privateConstructorUsedError; + _$$WorkOrderDeclineEventImplCopyWith<_$WorkOrderDeclineEventImpl> + get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$DisposeDeclineEventCopyWith<$Res> { - factory _$$DisposeDeclineEventCopyWith(_$DisposeDeclineEvent value, - $Res Function(_$DisposeDeclineEvent) then) = - __$$DisposeDeclineEventCopyWithImpl<$Res>; +abstract class _$$DisposeDeclineEventImplCopyWith<$Res> { + factory _$$DisposeDeclineEventImplCopyWith(_$DisposeDeclineEventImpl value, + $Res Function(_$DisposeDeclineEventImpl) then) = + __$$DisposeDeclineEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$DisposeDeclineEventCopyWithImpl<$Res> - extends _$DeclineWorkOrderEventCopyWithImpl<$Res, _$DisposeDeclineEvent> - implements _$$DisposeDeclineEventCopyWith<$Res> { - __$$DisposeDeclineEventCopyWithImpl( - _$DisposeDeclineEvent _value, $Res Function(_$DisposeDeclineEvent) _then) +class __$$DisposeDeclineEventImplCopyWithImpl<$Res> + extends _$DeclineWorkOrderEventCopyWithImpl<$Res, _$DisposeDeclineEventImpl> + implements _$$DisposeDeclineEventImplCopyWith<$Res> { + __$$DisposeDeclineEventImplCopyWithImpl(_$DisposeDeclineEventImpl _value, + $Res Function(_$DisposeDeclineEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$DisposeDeclineEvent +class _$DisposeDeclineEventImpl with DiagnosticableTreeMixin implements DisposeDeclineEvent { - const _$DisposeDeclineEvent(); + const _$DisposeDeclineEventImpl(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -307,9 +309,10 @@ class _$DisposeDeclineEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$DisposeDeclineEvent); + (other.runtimeType == runtimeType && + other is _$DisposeDeclineEventImpl); } @override @@ -385,7 +388,7 @@ class _$DisposeDeclineEvent } abstract class DisposeDeclineEvent implements DeclineWorkOrderEvent { - const factory DisposeDeclineEvent() = _$DisposeDeclineEvent; + const factory DisposeDeclineEvent() = _$DisposeDeclineEventImpl; } /// @nodoc @@ -462,24 +465,25 @@ class _$DeclineWorkOrderStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$DeclineWorkOrderStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$DeclineWorkOrderStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -494,9 +498,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -578,29 +582,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends DeclineWorkOrderState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$DeclineWorkOrderStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$DeclineWorkOrderStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -615,9 +620,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -699,23 +704,25 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends DeclineWorkOrderState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({ContractsModel? contractsModel}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$DeclineWorkOrderStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$DeclineWorkOrderStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -723,7 +730,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? contractsModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == contractsModel ? _value.contractsModel : contractsModel // ignore: cast_nullable_to_non_nullable @@ -734,8 +741,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.contractsModel) : super._(); +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + const _$LoadedImpl(this.contractsModel) : super._(); @override final ContractsModel? contractsModel; @@ -754,10 +761,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.contractsModel, contractsModel) || other.contractsModel == contractsModel)); } @@ -768,8 +775,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -847,28 +854,30 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } abstract class _Loaded extends DeclineWorkOrderState { - const factory _Loaded(final ContractsModel? contractsModel) = _$_Loaded; + const factory _Loaded(final ContractsModel? contractsModel) = _$LoadedImpl; const _Loaded._() : super._(); ContractsModel? get contractsModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$DeclineWorkOrderStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$DeclineWorkOrderStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -876,7 +885,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -887,8 +896,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -907,10 +916,10 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -920,8 +929,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -999,11 +1008,11 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends DeclineWorkOrderState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/work_orders/my_works_search_criteria.dart b/frontend/works_shg_app/lib/blocs/work_orders/my_works_search_criteria.dart index 539cc26882..c5ea3d2f59 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/my_works_search_criteria.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/my_works_search_criteria.dart @@ -49,7 +49,7 @@ class MyWorksSearchCriteriaBloc extends Bloc(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$MyWorksSearchCriteriaBlocEvent { @@ -75,29 +75,29 @@ class _$MyWorksSearchCriteriaBlocEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$GetMyWorksSearchCriteriaConfigEventCopyWith<$Res> { - factory _$$GetMyWorksSearchCriteriaConfigEventCopyWith( - _$GetMyWorksSearchCriteriaConfigEvent value, - $Res Function(_$GetMyWorksSearchCriteriaConfigEvent) then) = - __$$GetMyWorksSearchCriteriaConfigEventCopyWithImpl<$Res>; +abstract class _$$GetMyWorksSearchCriteriaConfigEventImplCopyWith<$Res> { + factory _$$GetMyWorksSearchCriteriaConfigEventImplCopyWith( + _$GetMyWorksSearchCriteriaConfigEventImpl value, + $Res Function(_$GetMyWorksSearchCriteriaConfigEventImpl) then) = + __$$GetMyWorksSearchCriteriaConfigEventImplCopyWithImpl<$Res>; } /// @nodoc -class __$$GetMyWorksSearchCriteriaConfigEventCopyWithImpl<$Res> +class __$$GetMyWorksSearchCriteriaConfigEventImplCopyWithImpl<$Res> extends _$MyWorksSearchCriteriaBlocEventCopyWithImpl<$Res, - _$GetMyWorksSearchCriteriaConfigEvent> - implements _$$GetMyWorksSearchCriteriaConfigEventCopyWith<$Res> { - __$$GetMyWorksSearchCriteriaConfigEventCopyWithImpl( - _$GetMyWorksSearchCriteriaConfigEvent _value, - $Res Function(_$GetMyWorksSearchCriteriaConfigEvent) _then) + _$GetMyWorksSearchCriteriaConfigEventImpl> + implements _$$GetMyWorksSearchCriteriaConfigEventImplCopyWith<$Res> { + __$$GetMyWorksSearchCriteriaConfigEventImplCopyWithImpl( + _$GetMyWorksSearchCriteriaConfigEventImpl _value, + $Res Function(_$GetMyWorksSearchCriteriaConfigEventImpl) _then) : super(_value, _then); } /// @nodoc -class _$GetMyWorksSearchCriteriaConfigEvent +class _$GetMyWorksSearchCriteriaConfigEventImpl implements GetMyWorksSearchCriteriaConfigEvent { - const _$GetMyWorksSearchCriteriaConfigEvent(); + const _$GetMyWorksSearchCriteriaConfigEventImpl(); @override String toString() { @@ -105,10 +105,10 @@ class _$GetMyWorksSearchCriteriaConfigEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$GetMyWorksSearchCriteriaConfigEvent); + other is _$GetMyWorksSearchCriteriaConfigEventImpl); } @override @@ -177,7 +177,7 @@ class _$GetMyWorksSearchCriteriaConfigEvent abstract class GetMyWorksSearchCriteriaConfigEvent implements MyWorksSearchCriteriaBlocEvent { const factory GetMyWorksSearchCriteriaConfigEvent() = - _$GetMyWorksSearchCriteriaConfigEvent; + _$GetMyWorksSearchCriteriaConfigEventImpl; } /// @nodoc @@ -257,24 +257,25 @@ class _$MyWorksSearchCriteriaBlocStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$MyWorksSearchCriteriaBlocStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$MyWorksSearchCriteriaBlocStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -282,9 +283,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -367,29 +368,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends MyWorksSearchCriteriaBlocState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$MyWorksSearchCriteriaBlocStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$MyWorksSearchCriteriaBlocStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -397,9 +399,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -482,23 +484,25 @@ class _$_Loading extends _Loading { } abstract class _Loading extends MyWorksSearchCriteriaBlocState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({List? searchCriteria, String? acceptCode}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$MyWorksSearchCriteriaBlocStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$MyWorksSearchCriteriaBlocStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -507,7 +511,7 @@ class __$$_LoadedCopyWithImpl<$Res> Object? searchCriteria = freezed, Object? acceptCode = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == searchCriteria ? _value._searchCriteria : searchCriteria // ignore: cast_nullable_to_non_nullable @@ -522,8 +526,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded(final List? searchCriteria, this.acceptCode) +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl(final List? searchCriteria, this.acceptCode) : _searchCriteria = searchCriteria, super._(); @@ -546,10 +550,10 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && const DeepCollectionEquality() .equals(other._searchCriteria, _searchCriteria) && (identical(other.acceptCode, acceptCode) || @@ -563,8 +567,8 @@ class _$_Loaded extends _Loaded { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -644,29 +648,32 @@ class _$_Loaded extends _Loaded { abstract class _Loaded extends MyWorksSearchCriteriaBlocState { const factory _Loaded( - final List? searchCriteria, final String? acceptCode) = _$_Loaded; + final List? searchCriteria, final String? acceptCode) = + _$LoadedImpl; const _Loaded._() : super._(); List? get searchCriteria; String? get acceptCode; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$MyWorksSearchCriteriaBlocStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$MyWorksSearchCriteriaBlocStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -674,7 +681,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -685,8 +692,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -697,10 +704,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -710,8 +717,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -790,11 +797,11 @@ class _$_Error extends _Error { } abstract class _Error extends MyWorksSearchCriteriaBlocState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/work_orders/search_individual_work.dart b/frontend/works_shg_app/lib/blocs/work_orders/search_individual_work.dart index ef737babfd..32d5c63ae8 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/search_individual_work.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/search_individual_work.dart @@ -67,7 +67,7 @@ class SearchIndividualWorkBloc contracts: contractsModel.contracts ))); } - } on DioError catch (e) { + } on DioException catch (e) { emit(SearchIndividualWorkState.error( e.response?.data['Errors'][0]['code'])); } diff --git a/frontend/works_shg_app/lib/blocs/work_orders/search_individual_work.freezed.dart b/frontend/works_shg_app/lib/blocs/work_orders/search_individual_work.freezed.dart index 27322697c0..e52f2f450d 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/search_individual_work.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/search_individual_work.freezed.dart @@ -12,7 +12,7 @@ part of 'search_individual_work.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$SearchIndividualWorkEvent { @@ -80,22 +80,23 @@ class _$SearchIndividualWorkEventCopyWithImpl<$Res, } /// @nodoc -abstract class _$$IndividualWorkSearchEventCopyWith<$Res> { - factory _$$IndividualWorkSearchEventCopyWith( - _$IndividualWorkSearchEvent value, - $Res Function(_$IndividualWorkSearchEvent) then) = - __$$IndividualWorkSearchEventCopyWithImpl<$Res>; +abstract class _$$IndividualWorkSearchEventImplCopyWith<$Res> { + factory _$$IndividualWorkSearchEventImplCopyWith( + _$IndividualWorkSearchEventImpl value, + $Res Function(_$IndividualWorkSearchEventImpl) then) = + __$$IndividualWorkSearchEventImplCopyWithImpl<$Res>; @useResult $Res call({String? contractNumber, Map? body}); } /// @nodoc -class __$$IndividualWorkSearchEventCopyWithImpl<$Res> +class __$$IndividualWorkSearchEventImplCopyWithImpl<$Res> extends _$SearchIndividualWorkEventCopyWithImpl<$Res, - _$IndividualWorkSearchEvent> - implements _$$IndividualWorkSearchEventCopyWith<$Res> { - __$$IndividualWorkSearchEventCopyWithImpl(_$IndividualWorkSearchEvent _value, - $Res Function(_$IndividualWorkSearchEvent) _then) + _$IndividualWorkSearchEventImpl> + implements _$$IndividualWorkSearchEventImplCopyWith<$Res> { + __$$IndividualWorkSearchEventImplCopyWithImpl( + _$IndividualWorkSearchEventImpl _value, + $Res Function(_$IndividualWorkSearchEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -104,7 +105,7 @@ class __$$IndividualWorkSearchEventCopyWithImpl<$Res> Object? contractNumber = freezed, Object? body = freezed, }) { - return _then(_$IndividualWorkSearchEvent( + return _then(_$IndividualWorkSearchEventImpl( contractNumber: freezed == contractNumber ? _value.contractNumber : contractNumber // ignore: cast_nullable_to_non_nullable @@ -119,10 +120,10 @@ class __$$IndividualWorkSearchEventCopyWithImpl<$Res> /// @nodoc -class _$IndividualWorkSearchEvent +class _$IndividualWorkSearchEventImpl with DiagnosticableTreeMixin implements IndividualWorkSearchEvent { - const _$IndividualWorkSearchEvent( + const _$IndividualWorkSearchEventImpl( {this.contractNumber = '', final Map? body}) : _body = body; @@ -154,10 +155,10 @@ class _$IndividualWorkSearchEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$IndividualWorkSearchEvent && + other is _$IndividualWorkSearchEventImpl && (identical(other.contractNumber, contractNumber) || other.contractNumber == contractNumber) && const DeepCollectionEquality().equals(other._body, _body)); @@ -170,9 +171,9 @@ class _$IndividualWorkSearchEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$IndividualWorkSearchEventCopyWith<_$IndividualWorkSearchEvent> - get copyWith => __$$IndividualWorkSearchEventCopyWithImpl< - _$IndividualWorkSearchEvent>(this, _$identity); + _$$IndividualWorkSearchEventImplCopyWith<_$IndividualWorkSearchEventImpl> + get copyWith => __$$IndividualWorkSearchEventImplCopyWithImpl< + _$IndividualWorkSearchEventImpl>(this, _$identity); @override @optionalTypeArgs @@ -244,39 +245,40 @@ class _$IndividualWorkSearchEvent abstract class IndividualWorkSearchEvent implements SearchIndividualWorkEvent { const factory IndividualWorkSearchEvent( {final String? contractNumber, - final Map? body}) = _$IndividualWorkSearchEvent; + final Map? body}) = _$IndividualWorkSearchEventImpl; String? get contractNumber; Map? get body; @JsonKey(ignore: true) - _$$IndividualWorkSearchEventCopyWith<_$IndividualWorkSearchEvent> + _$$IndividualWorkSearchEventImplCopyWith<_$IndividualWorkSearchEventImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$DisposeIndividualContractCopyWith<$Res> { - factory _$$DisposeIndividualContractCopyWith( - _$DisposeIndividualContract value, - $Res Function(_$DisposeIndividualContract) then) = - __$$DisposeIndividualContractCopyWithImpl<$Res>; +abstract class _$$DisposeIndividualContractImplCopyWith<$Res> { + factory _$$DisposeIndividualContractImplCopyWith( + _$DisposeIndividualContractImpl value, + $Res Function(_$DisposeIndividualContractImpl) then) = + __$$DisposeIndividualContractImplCopyWithImpl<$Res>; } /// @nodoc -class __$$DisposeIndividualContractCopyWithImpl<$Res> +class __$$DisposeIndividualContractImplCopyWithImpl<$Res> extends _$SearchIndividualWorkEventCopyWithImpl<$Res, - _$DisposeIndividualContract> - implements _$$DisposeIndividualContractCopyWith<$Res> { - __$$DisposeIndividualContractCopyWithImpl(_$DisposeIndividualContract _value, - $Res Function(_$DisposeIndividualContract) _then) + _$DisposeIndividualContractImpl> + implements _$$DisposeIndividualContractImplCopyWith<$Res> { + __$$DisposeIndividualContractImplCopyWithImpl( + _$DisposeIndividualContractImpl _value, + $Res Function(_$DisposeIndividualContractImpl) _then) : super(_value, _then); } /// @nodoc -class _$DisposeIndividualContract +class _$DisposeIndividualContractImpl with DiagnosticableTreeMixin implements DisposeIndividualContract { - const _$DisposeIndividualContract(); + const _$DisposeIndividualContractImpl(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -291,10 +293,10 @@ class _$DisposeIndividualContract } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$DisposeIndividualContract); + other is _$DisposeIndividualContractImpl); } @override @@ -368,7 +370,7 @@ class _$DisposeIndividualContract } abstract class DisposeIndividualContract implements SearchIndividualWorkEvent { - const factory DisposeIndividualContract() = _$DisposeIndividualContract; + const factory DisposeIndividualContract() = _$DisposeIndividualContractImpl; } /// @nodoc @@ -445,24 +447,25 @@ class _$SearchIndividualWorkStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$SearchIndividualWorkStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$SearchIndividualWorkStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -477,9 +480,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -561,29 +564,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends SearchIndividualWorkState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$SearchIndividualWorkStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$SearchIndividualWorkStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -598,9 +602,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -682,23 +686,25 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends SearchIndividualWorkState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({ContractsModel? contractsModel}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$SearchIndividualWorkStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$SearchIndividualWorkStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -706,7 +712,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? contractsModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == contractsModel ? _value.contractsModel : contractsModel // ignore: cast_nullable_to_non_nullable @@ -717,8 +723,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.contractsModel) : super._(); +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + const _$LoadedImpl(this.contractsModel) : super._(); @override final ContractsModel? contractsModel; @@ -737,10 +743,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.contractsModel, contractsModel) || other.contractsModel == contractsModel)); } @@ -751,8 +757,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -830,28 +836,30 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } abstract class _Loaded extends SearchIndividualWorkState { - const factory _Loaded(final ContractsModel? contractsModel) = _$_Loaded; + const factory _Loaded(final ContractsModel? contractsModel) = _$LoadedImpl; const _Loaded._() : super._(); ContractsModel? get contractsModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$SearchIndividualWorkStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$SearchIndividualWorkStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -859,7 +867,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -870,8 +878,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -890,10 +898,10 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -903,8 +911,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -982,11 +990,11 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends SearchIndividualWorkState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/work_orders/search_my_works.dart b/frontend/works_shg_app/lib/blocs/work_orders/search_my_works.dart index d2ce775a15..ddfa20ecbe 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/search_my_works.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/search_my_works.dart @@ -6,12 +6,10 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:works_shg_app/data/repositories/work_order_repository/my_works_repository.dart'; import 'package:works_shg_app/services/urls.dart'; -import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import '../../data/remote_client.dart'; import '../../models/works/contracts_model.dart'; -import '../../utils/constants.dart'; part 'search_my_works.freezed.dart'; @@ -55,7 +53,7 @@ class SearchMyWorksBloc extends Bloc { emit(SearchMyWorksState.loaded(ContractsModel( contracts: contractsModel.contracts ))); - } on DioError catch (e) { + } on DioException catch (e) { emit(SearchMyWorksState.error(e.response?.data['Errors'][0]['code'])); } } diff --git a/frontend/works_shg_app/lib/blocs/work_orders/search_my_works.freezed.dart b/frontend/works_shg_app/lib/blocs/work_orders/search_my_works.freezed.dart index 4ce9a6cdb0..8dc327790a 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/search_my_works.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/search_my_works.freezed.dart @@ -12,7 +12,7 @@ part of 'search_my_works.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$SearchMyWorksEvent { @@ -89,22 +89,22 @@ class _$SearchMyWorksEventCopyWithImpl<$Res, $Val extends SearchMyWorksEvent> } /// @nodoc -abstract class _$$MyWorksSearchEventCopyWith<$Res> +abstract class _$$MyWorksSearchEventImplCopyWith<$Res> implements $SearchMyWorksEventCopyWith<$Res> { - factory _$$MyWorksSearchEventCopyWith(_$MyWorksSearchEvent value, - $Res Function(_$MyWorksSearchEvent) then) = - __$$MyWorksSearchEventCopyWithImpl<$Res>; + factory _$$MyWorksSearchEventImplCopyWith(_$MyWorksSearchEventImpl value, + $Res Function(_$MyWorksSearchEventImpl) then) = + __$$MyWorksSearchEventImplCopyWithImpl<$Res>; @override @useResult $Res call({List? searchCriteria}); } /// @nodoc -class __$$MyWorksSearchEventCopyWithImpl<$Res> - extends _$SearchMyWorksEventCopyWithImpl<$Res, _$MyWorksSearchEvent> - implements _$$MyWorksSearchEventCopyWith<$Res> { - __$$MyWorksSearchEventCopyWithImpl( - _$MyWorksSearchEvent _value, $Res Function(_$MyWorksSearchEvent) _then) +class __$$MyWorksSearchEventImplCopyWithImpl<$Res> + extends _$SearchMyWorksEventCopyWithImpl<$Res, _$MyWorksSearchEventImpl> + implements _$$MyWorksSearchEventImplCopyWith<$Res> { + __$$MyWorksSearchEventImplCopyWithImpl(_$MyWorksSearchEventImpl _value, + $Res Function(_$MyWorksSearchEventImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -112,7 +112,7 @@ class __$$MyWorksSearchEventCopyWithImpl<$Res> $Res call({ Object? searchCriteria = freezed, }) { - return _then(_$MyWorksSearchEvent( + return _then(_$MyWorksSearchEventImpl( freezed == searchCriteria ? _value._searchCriteria : searchCriteria // ignore: cast_nullable_to_non_nullable @@ -123,10 +123,10 @@ class __$$MyWorksSearchEventCopyWithImpl<$Res> /// @nodoc -class _$MyWorksSearchEvent +class _$MyWorksSearchEventImpl with DiagnosticableTreeMixin implements MyWorksSearchEvent { - const _$MyWorksSearchEvent(final List? searchCriteria) + const _$MyWorksSearchEventImpl(final List? searchCriteria) : _searchCriteria = searchCriteria; final List? _searchCriteria; @@ -153,10 +153,10 @@ class _$MyWorksSearchEvent } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$MyWorksSearchEvent && + other is _$MyWorksSearchEventImpl && const DeepCollectionEquality() .equals(other._searchCriteria, _searchCriteria)); } @@ -168,8 +168,8 @@ class _$MyWorksSearchEvent @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$MyWorksSearchEventCopyWith<_$MyWorksSearchEvent> get copyWith => - __$$MyWorksSearchEventCopyWithImpl<_$MyWorksSearchEvent>( + _$$MyWorksSearchEventImplCopyWith<_$MyWorksSearchEventImpl> get copyWith => + __$$MyWorksSearchEventImplCopyWithImpl<_$MyWorksSearchEventImpl>( this, _$identity); @override @@ -231,13 +231,13 @@ class _$MyWorksSearchEvent abstract class MyWorksSearchEvent implements SearchMyWorksEvent { const factory MyWorksSearchEvent(final List? searchCriteria) = - _$MyWorksSearchEvent; + _$MyWorksSearchEventImpl; @override List? get searchCriteria; @override @JsonKey(ignore: true) - _$$MyWorksSearchEventCopyWith<_$MyWorksSearchEvent> get copyWith => + _$$MyWorksSearchEventImplCopyWith<_$MyWorksSearchEventImpl> get copyWith => throw _privateConstructorUsedError; } @@ -314,24 +314,25 @@ class _$SearchMyWorksStateCopyWithImpl<$Res, $Val extends SearchMyWorksState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$SearchMyWorksStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$SearchMyWorksStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial with DiagnosticableTreeMixin { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial with DiagnosticableTreeMixin { + const _$InitialImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -345,9 +346,9 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -429,29 +430,30 @@ class _$_Initial extends _Initial with DiagnosticableTreeMixin { } abstract class _Initial extends SearchMyWorksState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$SearchMyWorksStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$SearchMyWorksStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading with DiagnosticableTreeMixin { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading with DiagnosticableTreeMixin { + const _$LoadingImpl() : super._(); @override String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) { @@ -465,9 +467,9 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -549,23 +551,25 @@ class _$_Loading extends _Loading with DiagnosticableTreeMixin { } abstract class _Loading extends SearchMyWorksState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; @useResult $Res call({ContractsModel? contractsModel}); } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$SearchMyWorksStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$SearchMyWorksStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -573,7 +577,7 @@ class __$$_LoadedCopyWithImpl<$Res> $Res call({ Object? contractsModel = freezed, }) { - return _then(_$_Loaded( + return _then(_$LoadedImpl( freezed == contractsModel ? _value.contractsModel : contractsModel // ignore: cast_nullable_to_non_nullable @@ -584,8 +588,8 @@ class __$$_LoadedCopyWithImpl<$Res> /// @nodoc -class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { - const _$_Loaded(this.contractsModel) : super._(); +class _$LoadedImpl extends _Loaded with DiagnosticableTreeMixin { + const _$LoadedImpl(this.contractsModel) : super._(); @override final ContractsModel? contractsModel; @@ -604,10 +608,10 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Loaded && + other is _$LoadedImpl && (identical(other.contractsModel, contractsModel) || other.contractsModel == contractsModel)); } @@ -618,8 +622,8 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LoadedCopyWith<_$_Loaded> get copyWith => - __$$_LoadedCopyWithImpl<_$_Loaded>(this, _$identity); + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => + __$$LoadedImplCopyWithImpl<_$LoadedImpl>(this, _$identity); @override @optionalTypeArgs @@ -697,28 +701,30 @@ class _$_Loaded extends _Loaded with DiagnosticableTreeMixin { } abstract class _Loaded extends SearchMyWorksState { - const factory _Loaded(final ContractsModel? contractsModel) = _$_Loaded; + const factory _Loaded(final ContractsModel? contractsModel) = _$LoadedImpl; const _Loaded._() : super._(); ContractsModel? get contractsModel; @JsonKey(ignore: true) - _$$_LoadedCopyWith<_$_Loaded> get copyWith => + _$$LoadedImplCopyWith<_$LoadedImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$SearchMyWorksStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$SearchMyWorksStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -726,7 +732,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -737,8 +743,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error with DiagnosticableTreeMixin { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error with DiagnosticableTreeMixin { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -757,10 +763,10 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -770,8 +776,8 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -849,11 +855,11 @@ class _$_Error extends _Error with DiagnosticableTreeMixin { } abstract class _Error extends SearchMyWorksState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart b/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart index ef3151d719..804945461f 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.dart @@ -5,7 +5,6 @@ import 'dart:io'; import 'package:dio/dio.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; -import 'package:intl/intl.dart'; import 'package:works_shg_app/services/urls.dart'; import 'package:works_shg_app/utils/global_variables.dart'; @@ -45,7 +44,7 @@ class WorkOrderPDFBloc extends Bloc { HttpHeaders.contentTypeHeader: 'application/json', }, responseType: ResponseType.bytes), ); - } on DioError catch (e) { + } on DioException catch (e) { emit(WorkOrderPDFState.error(e.response?.data['Errors'][0]['code'])); } } @@ -85,11 +84,10 @@ String convertString(String input) { HttpHeaders.contentTypeHeader: 'application/json', }, responseType: ResponseType.bytes), ); - } on DioError catch (e) { + } on DioException catch (e) { if (e.response != null) { final responseData = e.response?.data; - final statusCode = e.response?.statusCode; // Logging the error for debugging purposes diff --git a/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.freezed.dart b/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.freezed.dart index ac6129b102..0344474c8d 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/work_order_pdf.freezed.dart @@ -12,7 +12,7 @@ part of 'work_order_pdf.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); /// @nodoc mixin _$WorkOrderPDFEvent { @@ -100,22 +100,22 @@ class _$WorkOrderPDFEventCopyWithImpl<$Res, $Val extends WorkOrderPDFEvent> } /// @nodoc -abstract class _$$PDFEventWorkOrderCopyWith<$Res> +abstract class _$$PDFEventWorkOrderImplCopyWith<$Res> implements $WorkOrderPDFEventCopyWith<$Res> { - factory _$$PDFEventWorkOrderCopyWith( - _$PDFEventWorkOrder value, $Res Function(_$PDFEventWorkOrder) then) = - __$$PDFEventWorkOrderCopyWithImpl<$Res>; + factory _$$PDFEventWorkOrderImplCopyWith(_$PDFEventWorkOrderImpl value, + $Res Function(_$PDFEventWorkOrderImpl) then) = + __$$PDFEventWorkOrderImplCopyWithImpl<$Res>; @override @useResult $Res call({String? tenantId, String? contractId}); } /// @nodoc -class __$$PDFEventWorkOrderCopyWithImpl<$Res> - extends _$WorkOrderPDFEventCopyWithImpl<$Res, _$PDFEventWorkOrder> - implements _$$PDFEventWorkOrderCopyWith<$Res> { - __$$PDFEventWorkOrderCopyWithImpl( - _$PDFEventWorkOrder _value, $Res Function(_$PDFEventWorkOrder) _then) +class __$$PDFEventWorkOrderImplCopyWithImpl<$Res> + extends _$WorkOrderPDFEventCopyWithImpl<$Res, _$PDFEventWorkOrderImpl> + implements _$$PDFEventWorkOrderImplCopyWith<$Res> { + __$$PDFEventWorkOrderImplCopyWithImpl(_$PDFEventWorkOrderImpl _value, + $Res Function(_$PDFEventWorkOrderImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -124,7 +124,7 @@ class __$$PDFEventWorkOrderCopyWithImpl<$Res> Object? tenantId = freezed, Object? contractId = freezed, }) { - return _then(_$PDFEventWorkOrder( + return _then(_$PDFEventWorkOrderImpl( tenantId: freezed == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -139,8 +139,8 @@ class __$$PDFEventWorkOrderCopyWithImpl<$Res> /// @nodoc -class _$PDFEventWorkOrder implements PDFEventWorkOrder { - const _$PDFEventWorkOrder({this.tenantId, this.contractId}); +class _$PDFEventWorkOrderImpl implements PDFEventWorkOrder { + const _$PDFEventWorkOrderImpl({this.tenantId, this.contractId}); @override final String? tenantId; @@ -153,10 +153,10 @@ class _$PDFEventWorkOrder implements PDFEventWorkOrder { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$PDFEventWorkOrder && + other is _$PDFEventWorkOrderImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.contractId, contractId) || @@ -169,8 +169,9 @@ class _$PDFEventWorkOrder implements PDFEventWorkOrder { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$PDFEventWorkOrderCopyWith<_$PDFEventWorkOrder> get copyWith => - __$$PDFEventWorkOrderCopyWithImpl<_$PDFEventWorkOrder>(this, _$identity); + _$$PDFEventWorkOrderImplCopyWith<_$PDFEventWorkOrderImpl> get copyWith => + __$$PDFEventWorkOrderImplCopyWithImpl<_$PDFEventWorkOrderImpl>( + this, _$identity); @override @optionalTypeArgs @@ -242,34 +243,35 @@ class _$PDFEventWorkOrder implements PDFEventWorkOrder { abstract class PDFEventWorkOrder implements WorkOrderPDFEvent { const factory PDFEventWorkOrder( - {final String? tenantId, final String? contractId}) = _$PDFEventWorkOrder; + {final String? tenantId, + final String? contractId}) = _$PDFEventWorkOrderImpl; @override String? get tenantId; String? get contractId; @override @JsonKey(ignore: true) - _$$PDFEventWorkOrderCopyWith<_$PDFEventWorkOrder> get copyWith => + _$$PDFEventWorkOrderImplCopyWith<_$PDFEventWorkOrderImpl> get copyWith => throw _privateConstructorUsedError; } /// @nodoc -abstract class _$$PDFEventAnalysisCopyWith<$Res> +abstract class _$$PDFEventAnalysisImplCopyWith<$Res> implements $WorkOrderPDFEventCopyWith<$Res> { - factory _$$PDFEventAnalysisCopyWith( - _$PDFEventAnalysis value, $Res Function(_$PDFEventAnalysis) then) = - __$$PDFEventAnalysisCopyWithImpl<$Res>; + factory _$$PDFEventAnalysisImplCopyWith(_$PDFEventAnalysisImpl value, + $Res Function(_$PDFEventAnalysisImpl) then) = + __$$PDFEventAnalysisImplCopyWithImpl<$Res>; @override @useResult $Res call({String? tenantId, String? estimateId, String? workorder}); } /// @nodoc -class __$$PDFEventAnalysisCopyWithImpl<$Res> - extends _$WorkOrderPDFEventCopyWithImpl<$Res, _$PDFEventAnalysis> - implements _$$PDFEventAnalysisCopyWith<$Res> { - __$$PDFEventAnalysisCopyWithImpl( - _$PDFEventAnalysis _value, $Res Function(_$PDFEventAnalysis) _then) +class __$$PDFEventAnalysisImplCopyWithImpl<$Res> + extends _$WorkOrderPDFEventCopyWithImpl<$Res, _$PDFEventAnalysisImpl> + implements _$$PDFEventAnalysisImplCopyWith<$Res> { + __$$PDFEventAnalysisImplCopyWithImpl(_$PDFEventAnalysisImpl _value, + $Res Function(_$PDFEventAnalysisImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -279,7 +281,7 @@ class __$$PDFEventAnalysisCopyWithImpl<$Res> Object? estimateId = freezed, Object? workorder = freezed, }) { - return _then(_$PDFEventAnalysis( + return _then(_$PDFEventAnalysisImpl( tenantId: freezed == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -298,8 +300,9 @@ class __$$PDFEventAnalysisCopyWithImpl<$Res> /// @nodoc -class _$PDFEventAnalysis implements PDFEventAnalysis { - const _$PDFEventAnalysis({this.tenantId, this.estimateId, this.workorder}); +class _$PDFEventAnalysisImpl implements PDFEventAnalysis { + const _$PDFEventAnalysisImpl( + {this.tenantId, this.estimateId, this.workorder}); @override final String? tenantId; @@ -314,10 +317,10 @@ class _$PDFEventAnalysis implements PDFEventAnalysis { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$PDFEventAnalysis && + other is _$PDFEventAnalysisImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.estimateId, estimateId) || @@ -332,8 +335,9 @@ class _$PDFEventAnalysis implements PDFEventAnalysis { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$PDFEventAnalysisCopyWith<_$PDFEventAnalysis> get copyWith => - __$$PDFEventAnalysisCopyWithImpl<_$PDFEventAnalysis>(this, _$identity); + _$$PDFEventAnalysisImplCopyWith<_$PDFEventAnalysisImpl> get copyWith => + __$$PDFEventAnalysisImplCopyWithImpl<_$PDFEventAnalysisImpl>( + this, _$identity); @override @optionalTypeArgs @@ -407,7 +411,7 @@ abstract class PDFEventAnalysis implements WorkOrderPDFEvent { const factory PDFEventAnalysis( {final String? tenantId, final String? estimateId, - final String? workorder}) = _$PDFEventAnalysis; + final String? workorder}) = _$PDFEventAnalysisImpl; @override String? get tenantId; @@ -415,7 +419,7 @@ abstract class PDFEventAnalysis implements WorkOrderPDFEvent { String? get workorder; @override @JsonKey(ignore: true) - _$$PDFEventAnalysisCopyWith<_$PDFEventAnalysis> get copyWith => + _$$PDFEventAnalysisImplCopyWith<_$PDFEventAnalysisImpl> get copyWith => throw _privateConstructorUsedError; } @@ -492,24 +496,25 @@ class _$WorkOrderPDFStateCopyWithImpl<$Res, $Val extends WorkOrderPDFState> } /// @nodoc -abstract class _$$_InitialCopyWith<$Res> { - factory _$$_InitialCopyWith( - _$_Initial value, $Res Function(_$_Initial) then) = - __$$_InitialCopyWithImpl<$Res>; +abstract class _$$InitialImplCopyWith<$Res> { + factory _$$InitialImplCopyWith( + _$InitialImpl value, $Res Function(_$InitialImpl) then) = + __$$InitialImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_InitialCopyWithImpl<$Res> - extends _$WorkOrderPDFStateCopyWithImpl<$Res, _$_Initial> - implements _$$_InitialCopyWith<$Res> { - __$$_InitialCopyWithImpl(_$_Initial _value, $Res Function(_$_Initial) _then) +class __$$InitialImplCopyWithImpl<$Res> + extends _$WorkOrderPDFStateCopyWithImpl<$Res, _$InitialImpl> + implements _$$InitialImplCopyWith<$Res> { + __$$InitialImplCopyWithImpl( + _$InitialImpl _value, $Res Function(_$InitialImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Initial extends _Initial { - const _$_Initial() : super._(); +class _$InitialImpl extends _Initial { + const _$InitialImpl() : super._(); @override String toString() { @@ -517,9 +522,9 @@ class _$_Initial extends _Initial { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Initial); + (other.runtimeType == runtimeType && other is _$InitialImpl); } @override @@ -601,29 +606,30 @@ class _$_Initial extends _Initial { } abstract class _Initial extends WorkOrderPDFState { - const factory _Initial() = _$_Initial; + const factory _Initial() = _$InitialImpl; const _Initial._() : super._(); } /// @nodoc -abstract class _$$_LoadingCopyWith<$Res> { - factory _$$_LoadingCopyWith( - _$_Loading value, $Res Function(_$_Loading) then) = - __$$_LoadingCopyWithImpl<$Res>; +abstract class _$$LoadingImplCopyWith<$Res> { + factory _$$LoadingImplCopyWith( + _$LoadingImpl value, $Res Function(_$LoadingImpl) then) = + __$$LoadingImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadingCopyWithImpl<$Res> - extends _$WorkOrderPDFStateCopyWithImpl<$Res, _$_Loading> - implements _$$_LoadingCopyWith<$Res> { - __$$_LoadingCopyWithImpl(_$_Loading _value, $Res Function(_$_Loading) _then) +class __$$LoadingImplCopyWithImpl<$Res> + extends _$WorkOrderPDFStateCopyWithImpl<$Res, _$LoadingImpl> + implements _$$LoadingImplCopyWith<$Res> { + __$$LoadingImplCopyWithImpl( + _$LoadingImpl _value, $Res Function(_$LoadingImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loading extends _Loading { - const _$_Loading() : super._(); +class _$LoadingImpl extends _Loading { + const _$LoadingImpl() : super._(); @override String toString() { @@ -631,9 +637,9 @@ class _$_Loading extends _Loading { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loading); + (other.runtimeType == runtimeType && other is _$LoadingImpl); } @override @@ -715,28 +721,30 @@ class _$_Loading extends _Loading { } abstract class _Loading extends WorkOrderPDFState { - const factory _Loading() = _$_Loading; + const factory _Loading() = _$LoadingImpl; const _Loading._() : super._(); } /// @nodoc -abstract class _$$_LoadedCopyWith<$Res> { - factory _$$_LoadedCopyWith(_$_Loaded value, $Res Function(_$_Loaded) then) = - __$$_LoadedCopyWithImpl<$Res>; +abstract class _$$LoadedImplCopyWith<$Res> { + factory _$$LoadedImplCopyWith( + _$LoadedImpl value, $Res Function(_$LoadedImpl) then) = + __$$LoadedImplCopyWithImpl<$Res>; } /// @nodoc -class __$$_LoadedCopyWithImpl<$Res> - extends _$WorkOrderPDFStateCopyWithImpl<$Res, _$_Loaded> - implements _$$_LoadedCopyWith<$Res> { - __$$_LoadedCopyWithImpl(_$_Loaded _value, $Res Function(_$_Loaded) _then) +class __$$LoadedImplCopyWithImpl<$Res> + extends _$WorkOrderPDFStateCopyWithImpl<$Res, _$LoadedImpl> + implements _$$LoadedImplCopyWith<$Res> { + __$$LoadedImplCopyWithImpl( + _$LoadedImpl _value, $Res Function(_$LoadedImpl) _then) : super(_value, _then); } /// @nodoc -class _$_Loaded extends _Loaded { - const _$_Loaded() : super._(); +class _$LoadedImpl extends _Loaded { + const _$LoadedImpl() : super._(); @override String toString() { @@ -744,9 +752,9 @@ class _$_Loaded extends _Loaded { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || - (other.runtimeType == runtimeType && other is _$_Loaded); + (other.runtimeType == runtimeType && other is _$LoadedImpl); } @override @@ -828,23 +836,25 @@ class _$_Loaded extends _Loaded { } abstract class _Loaded extends WorkOrderPDFState { - const factory _Loaded() = _$_Loaded; + const factory _Loaded() = _$LoadedImpl; const _Loaded._() : super._(); } /// @nodoc -abstract class _$$_ErrorCopyWith<$Res> { - factory _$$_ErrorCopyWith(_$_Error value, $Res Function(_$_Error) then) = - __$$_ErrorCopyWithImpl<$Res>; +abstract class _$$ErrorImplCopyWith<$Res> { + factory _$$ErrorImplCopyWith( + _$ErrorImpl value, $Res Function(_$ErrorImpl) then) = + __$$ErrorImplCopyWithImpl<$Res>; @useResult $Res call({String? error}); } /// @nodoc -class __$$_ErrorCopyWithImpl<$Res> - extends _$WorkOrderPDFStateCopyWithImpl<$Res, _$_Error> - implements _$$_ErrorCopyWith<$Res> { - __$$_ErrorCopyWithImpl(_$_Error _value, $Res Function(_$_Error) _then) +class __$$ErrorImplCopyWithImpl<$Res> + extends _$WorkOrderPDFStateCopyWithImpl<$Res, _$ErrorImpl> + implements _$$ErrorImplCopyWith<$Res> { + __$$ErrorImplCopyWithImpl( + _$ErrorImpl _value, $Res Function(_$ErrorImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -852,7 +862,7 @@ class __$$_ErrorCopyWithImpl<$Res> $Res call({ Object? error = freezed, }) { - return _then(_$_Error( + return _then(_$ErrorImpl( freezed == error ? _value.error : error // ignore: cast_nullable_to_non_nullable @@ -863,8 +873,8 @@ class __$$_ErrorCopyWithImpl<$Res> /// @nodoc -class _$_Error extends _Error { - const _$_Error(this.error) : super._(); +class _$ErrorImpl extends _Error { + const _$ErrorImpl(this.error) : super._(); @override final String? error; @@ -875,10 +885,10 @@ class _$_Error extends _Error { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Error && + other is _$ErrorImpl && (identical(other.error, error) || other.error == error)); } @@ -888,8 +898,8 @@ class _$_Error extends _Error { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ErrorCopyWith<_$_Error> get copyWith => - __$$_ErrorCopyWithImpl<_$_Error>(this, _$identity); + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => + __$$ErrorImplCopyWithImpl<_$ErrorImpl>(this, _$identity); @override @optionalTypeArgs @@ -967,11 +977,11 @@ class _$_Error extends _Error { } abstract class _Error extends WorkOrderPDFState { - const factory _Error(final String? error) = _$_Error; + const factory _Error(final String? error) = _$ErrorImpl; const _Error._() : super._(); String? get error; @JsonKey(ignore: true) - _$$_ErrorCopyWith<_$_Error> get copyWith => + _$$ErrorImplCopyWith<_$ErrorImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/data/init_client.dart b/frontend/works_shg_app/lib/data/init_client.dart index 56b6a7d1f1..41e4dba2bd 100644 --- a/frontend/works_shg_app/lib/data/init_client.dart +++ b/frontend/works_shg_app/lib/data/init_client.dart @@ -49,9 +49,9 @@ class ApiInterceptors extends Interceptor { } @override - void onError(DioError err, ErrorInterceptorHandler handler) async { + void onError(DioException err, ErrorInterceptorHandler handler) async { // ignore: no-empty-block - if (err.type == DioErrorType.response && err.response?.statusCode == 500) { + if (err.type == DioExceptionType.badResponse && err.response?.statusCode == 500) { scaffoldMessengerKey.currentContext! .read() .add(const AuthLogoutEvent()); diff --git a/frontend/works_shg_app/lib/data/remote/localization_client.g.dart b/frontend/works_shg_app/lib/data/remote/localization_client.g.dart index d1d7539991..30615bf114 100644 --- a/frontend/works_shg_app/lib/data/remote/localization_client.g.dart +++ b/frontend/works_shg_app/lib/data/remote/localization_client.g.dart @@ -6,7 +6,7 @@ part of 'localization_client.dart'; // RetrofitGenerator // ************************************************************************** -// ignore_for_file: unnecessary_brace_in_string_interps,no_leading_underscores_for_local_identifiers +// ignore_for_file: unnecessary_brace_in_string_interps,no_leading_underscores_for_local_identifiers,unused_element class _LocalizationClient implements LocalizationClient { _LocalizationClient( @@ -22,18 +22,18 @@ class _LocalizationClient implements LocalizationClient { @override Future search( - module, - locale, - tenantId, + String module, + String locale, + String tenantId, ) async { - const _extra = {}; + final _extra = {}; final queryParameters = { r'module': module, r'locale': locale, r'tenantId': tenantId, }; final _headers = {}; - final _data = {}; + const Map? _data = null; final _result = await _dio .fetch?>(_setStreamType(Options( method: 'POST', @@ -46,10 +46,14 @@ class _LocalizationClient implements LocalizationClient { queryParameters: queryParameters, data: _data, ) - .copyWith(baseUrl: baseUrl ?? _dio.options.baseUrl))); - final value = + .copyWith( + baseUrl: _combineBaseUrls( + _dio.options.baseUrl, + baseUrl, + )))); + final _value = _result.data == null ? null : LocalizationModel.fromJson(_result.data!); - return value; + return _value; } RequestOptions _setStreamType(RequestOptions requestOptions) { @@ -64,4 +68,21 @@ class _LocalizationClient implements LocalizationClient { } return requestOptions; } + + String _combineBaseUrls( + String dioBaseUrl, + String? baseUrl, + ) { + if (baseUrl == null || baseUrl.trim().isEmpty) { + return dioBaseUrl; + } + + final url = Uri.parse(baseUrl); + + if (url.isAbsolute) { + return url.toString(); + } + + return Uri.parse(dioBaseUrl).resolveUri(url).toString(); + } } diff --git a/frontend/works_shg_app/lib/data/remote_client.dart b/frontend/works_shg_app/lib/data/remote_client.dart index 34a22b1d06..c1f51a07a4 100644 --- a/frontend/works_shg_app/lib/data/remote_client.dart +++ b/frontend/works_shg_app/lib/data/remote_client.dart @@ -52,7 +52,7 @@ class ApiInterceptors extends Interceptor { } @override - void onError(DioError err, ErrorInterceptorHandler handler) async { + void onError(DioException err, ErrorInterceptorHandler handler) async { // ignore: no-empty-block if (err.response?.statusCode == 500) { scaffoldMessengerKey.currentContext! diff --git a/frontend/works_shg_app/lib/data/repositories/attendance_mdms.dart b/frontend/works_shg_app/lib/data/repositories/attendance_mdms.dart index 54ce63ec8b..328b473e18 100644 --- a/frontend/works_shg_app/lib/data/repositories/attendance_mdms.dart +++ b/frontend/works_shg_app/lib/data/repositories/attendance_mdms.dart @@ -25,7 +25,7 @@ class AttendanceMDMSRepository { return SkillsList.fromJson( json.decode(response.toString())['MdmsRes']['WORKS-SOR'], ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/data/repositories/attendence_repository/attendence_register.dart b/frontend/works_shg_app/lib/data/repositories/attendence_repository/attendence_register.dart index c55ac64066..c270f56068 100644 --- a/frontend/works_shg_app/lib/data/repositories/attendence_repository/attendence_register.dart +++ b/frontend/works_shg_app/lib/data/repositories/attendence_repository/attendence_register.dart @@ -20,7 +20,7 @@ class AttendanceRegisterRepository { return AttendanceRegistersModel.fromJson( json.decode(response.toString()), ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -35,7 +35,7 @@ class AttendanceRegisterRepository { return AttendeeModel.fromJson( json.decode(response.toString()), ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -50,7 +50,7 @@ class AttendanceRegisterRepository { return AttendeeModel.fromJson( json.decode(response.toString()), ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -74,8 +74,8 @@ class AttendanceRegisterRepository { return AttendanceRegistersModel.fromJson( json.decode(response.toString()), ); - } on DioError catch (ex) { - print(ex); + } on DioException catch (ex) { + // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -90,8 +90,8 @@ class AttendanceRegisterRepository { return AttendanceRegistersModel.fromJson( json.decode(response.toString()), ); - } on DioError catch (ex) { - print(ex); + } on DioException catch (ex) { + // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/data/repositories/attendence_repository/individual_repository.dart b/frontend/works_shg_app/lib/data/repositories/attendence_repository/individual_repository.dart index 76a5d7bce2..7678ce8841 100644 --- a/frontend/works_shg_app/lib/data/repositories/attendence_repository/individual_repository.dart +++ b/frontend/works_shg_app/lib/data/repositories/attendence_repository/individual_repository.dart @@ -3,7 +3,6 @@ import 'dart:async'; import 'package:dio/dio.dart'; -import 'dart:convert'; import '../../../models/attendance/individual_list_model.dart'; import '../../../utils/global_variables.dart'; @@ -28,7 +27,7 @@ class IndividualRepository { return IndividualListModelMapper.fromMap( response.data as Map); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -70,7 +69,7 @@ class IndividualRepository { return WMSIndividualListModelMapper.fromMap( responseData); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/data/repositories/auth_repository/auth.dart b/frontend/works_shg_app/lib/data/repositories/auth_repository/auth.dart index 473f00559a..0cad66a770 100644 --- a/frontend/works_shg_app/lib/data/repositories/auth_repository/auth.dart +++ b/frontend/works_shg_app/lib/data/repositories/auth_repository/auth.dart @@ -35,7 +35,7 @@ class AuthRepository { return UserDetailsModel.fromJson( json.decode(response.toString()), ); - } on DioError catch (ex) { + } on DioException catch (ex) { rethrow; // Assuming there will be an errorMessage property in the JSON object } @@ -49,7 +49,7 @@ class AuthRepository { try { await _client.post(url, queryParameters: queryParameters, data: body ?? {}); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -63,7 +63,7 @@ class AuthRepository { try { await _client.post(url, queryParameters: queryParameters, data: body ?? {}, options: options); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/data/repositories/common_repository/common_repository.dart b/frontend/works_shg_app/lib/data/repositories/common_repository/common_repository.dart index cc2bbf69dc..08427f58ad 100644 --- a/frontend/works_shg_app/lib/data/repositories/common_repository/common_repository.dart +++ b/frontend/works_shg_app/lib/data/repositories/common_repository/common_repository.dart @@ -32,7 +32,7 @@ class CommonRepository { return Location.fromJson( json.decode(response.toString()), ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -54,7 +54,7 @@ class CommonRepository { return HomeScreenConfigModel.fromJson( json.decode(response.toString())['MdmsRes'], ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -89,7 +89,7 @@ class CommonRepository { }); return HomeConfigModel.fromJson(response.data); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -112,7 +112,7 @@ class CommonRepository { json.decode(response.toString())['MdmsRes']['common-masters'] ['AppVersion'][0], ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -131,7 +131,7 @@ class CommonRepository { return BusinessServiceWorkflowModel.fromJson( json.decode(response.toString()), ); - } on DioError catch (e) { + } on DioException catch (e) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -153,7 +153,7 @@ class CommonRepository { } else { throw Exception('Failed to download file.'); } - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/data/repositories/employee_repository/emp_hrms.dart b/frontend/works_shg_app/lib/data/repositories/employee_repository/emp_hrms.dart index 8bbc98e192..205d738044 100644 --- a/frontend/works_shg_app/lib/data/repositories/employee_repository/emp_hrms.dart +++ b/frontend/works_shg_app/lib/data/repositories/employee_repository/emp_hrms.dart @@ -26,7 +26,7 @@ class EmpHRMSRepository { return HRMSResponse.fromJson(res.data); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/data/repositories/employee_repository/estimate.dart b/frontend/works_shg_app/lib/data/repositories/employee_repository/estimate.dart index a77ce3f5b8..a99647b5dc 100644 --- a/frontend/works_shg_app/lib/data/repositories/employee_repository/estimate.dart +++ b/frontend/works_shg_app/lib/data/repositories/employee_repository/estimate.dart @@ -25,7 +25,7 @@ class EstimateRepository { return EstimateDetailResponse.fromJson(res.data); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/data/repositories/employee_repository/mb.dart b/frontend/works_shg_app/lib/data/repositories/employee_repository/mb.dart index 23375b300e..189ce21e07 100644 --- a/frontend/works_shg_app/lib/data/repositories/employee_repository/mb.dart +++ b/frontend/works_shg_app/lib/data/repositories/employee_repository/mb.dart @@ -30,7 +30,7 @@ class MBRepository { // return res.data; return MBInboxResponse.fromJson(res.data); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -54,7 +54,7 @@ class MBRepository { ); return MBDetailResponse.fromJson(res.data); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -77,7 +77,7 @@ class MBRepository { ); return Measurement.fromJson(res.data['measurements'][0]); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/data/repositories/employee_repository/mdms.dart b/frontend/works_shg_app/lib/data/repositories/employee_repository/mdms.dart index 64aaa7cd6d..f17851e9c5 100644 --- a/frontend/works_shg_app/lib/data/repositories/employee_repository/mdms.dart +++ b/frontend/works_shg_app/lib/data/repositories/employee_repository/mdms.dart @@ -28,7 +28,7 @@ class MBMDMSRepository { return MBProjectType.fromJson(res.data); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/data/repositories/employee_repository/work_order.dart b/frontend/works_shg_app/lib/data/repositories/employee_repository/work_order.dart index 977567f1a9..c428da0923 100644 --- a/frontend/works_shg_app/lib/data/repositories/employee_repository/work_order.dart +++ b/frontend/works_shg_app/lib/data/repositories/employee_repository/work_order.dart @@ -30,7 +30,7 @@ class WORepository { return WOInboxResponse.fromJson(res.data); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/data/repositories/muster_roll_repository/muster_roll.dart b/frontend/works_shg_app/lib/data/repositories/muster_roll_repository/muster_roll.dart index ab6e1c207a..52576a702e 100644 --- a/frontend/works_shg_app/lib/data/repositories/muster_roll_repository/muster_roll.dart +++ b/frontend/works_shg_app/lib/data/repositories/muster_roll_repository/muster_roll.dart @@ -25,7 +25,7 @@ class MusterRollRepository { return MusterRollsModel.fromJson( json.decode(response.toString()), ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -45,7 +45,7 @@ class MusterRollRepository { return EstimateMusterRollsModel.fromJson( json.decode(response.toString()), ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -65,7 +65,7 @@ class MusterRollRepository { return MusterRollsModel.fromJson( json.decode(response.toString()), ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/data/repositories/my_bills_repository/my_bills_repo.dart b/frontend/works_shg_app/lib/data/repositories/my_bills_repository/my_bills_repo.dart index 4e17a3a2ee..443f6dfc57 100644 --- a/frontend/works_shg_app/lib/data/repositories/my_bills_repository/my_bills_repo.dart +++ b/frontend/works_shg_app/lib/data/repositories/my_bills_repository/my_bills_repo.dart @@ -23,7 +23,7 @@ class MyBillsRepository { queryParameters: queryParameters, data: body ?? {}, options: options); return MyBillsListModelMapper.fromMap( response.data as Map); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -45,7 +45,7 @@ class MyBillsRepository { return MyBillsInboxConfigList.fromJson( json.decode(response.toString())['MdmsRes']['commonUiConfig'], ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/data/repositories/org_repository/org_repository.dart b/frontend/works_shg_app/lib/data/repositories/org_repository/org_repository.dart index e3691d2b5c..1b44f8f2bf 100644 --- a/frontend/works_shg_app/lib/data/repositories/org_repository/org_repository.dart +++ b/frontend/works_shg_app/lib/data/repositories/org_repository/org_repository.dart @@ -29,7 +29,7 @@ class ORGRepository { return OrganisationListModel.fromJson( json.decode(response.toString()), ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -51,7 +51,7 @@ class ORGRepository { return BankingDetailsModelMapper.fromMap( response.data as Map); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/data/repositories/remote/getGlobalConfig_repo.dart b/frontend/works_shg_app/lib/data/repositories/remote/getGlobalConfig_repo.dart index 86868b73af..75cdbce4df 100644 --- a/frontend/works_shg_app/lib/data/repositories/remote/getGlobalConfig_repo.dart +++ b/frontend/works_shg_app/lib/data/repositories/remote/getGlobalConfig_repo.dart @@ -30,7 +30,7 @@ class GetGlobalConfig { return GlobalConfigModel.fromJson( response.data, ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/data/repositories/remote/localization.dart b/frontend/works_shg_app/lib/data/repositories/remote/localization.dart index a7f80a4253..23d59035b3 100644 --- a/frontend/works_shg_app/lib/data/repositories/remote/localization.dart +++ b/frontend/works_shg_app/lib/data/repositories/remote/localization.dart @@ -21,7 +21,7 @@ class LocalizationRepository { return LocalizationModel.fromJson( json.decode(response.toString()), ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object throw Exception(ex); } diff --git a/frontend/works_shg_app/lib/data/repositories/remote/mdms.dart b/frontend/works_shg_app/lib/data/repositories/remote/mdms.dart index 603a1fdf3e..5816dace46 100644 --- a/frontend/works_shg_app/lib/data/repositories/remote/mdms.dart +++ b/frontend/works_shg_app/lib/data/repositories/remote/mdms.dart @@ -31,7 +31,7 @@ class MdmsRepository { return InitMdmsModel.fromJson( json.decode(response.toString())['MdmsRes'], ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object throw Exception(ex); } @@ -53,7 +53,7 @@ class MdmsRepository { return MusterInboxStatusList.fromJson( json.decode(response.toString())['MdmsRes']['commonUiConfig'], ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -75,7 +75,7 @@ class MdmsRepository { return MusterSubmissionList.fromJson( json.decode(response.toString())['MdmsRes']['commonUiConfig'], ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -97,7 +97,7 @@ class MdmsRepository { return AttendanceHoursList.fromJson( json.decode(response.toString())['MdmsRes']['common-masters'], ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -119,7 +119,7 @@ class MdmsRepository { return WageSeekerMDMS.fromJson( json.decode(response.toString())['MdmsRes'], ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -144,7 +144,7 @@ Future> skillsMDMS({ return SkillsList.fromJson( json.decode(response.toString())['MdmsRes']['WORKS-SOR'], ).wageSeekerSkills??[]; - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/data/repositories/user_search_repository/user_search.dart b/frontend/works_shg_app/lib/data/repositories/user_search_repository/user_search.dart index 1626b61d4e..3babf52c7b 100644 --- a/frontend/works_shg_app/lib/data/repositories/user_search_repository/user_search.dart +++ b/frontend/works_shg_app/lib/data/repositories/user_search_repository/user_search.dart @@ -29,7 +29,7 @@ class UserSearchRepository { return UserSearchModel.fromJson( json.decode(response.toString()), ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/data/repositories/wage_seeker_repository/wage_seeker_repository.dart b/frontend/works_shg_app/lib/data/repositories/wage_seeker_repository/wage_seeker_repository.dart index 6f64f4cd36..3b59da4f33 100644 --- a/frontend/works_shg_app/lib/data/repositories/wage_seeker_repository/wage_seeker_repository.dart +++ b/frontend/works_shg_app/lib/data/repositories/wage_seeker_repository/wage_seeker_repository.dart @@ -29,7 +29,7 @@ class WageSeekerRepository { return SingleIndividualModelMapper.fromMap( response.data as Map); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -51,7 +51,7 @@ class WageSeekerRepository { return BankingDetailsModelMapper.fromMap( response.data as Map); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -71,7 +71,7 @@ class WageSeekerRepository { ); dio.close(); return AdharCardResponse.fromJson(jsonDecode(response.data)); - } on DioError catch (ex) { + } on DioException catch (ex) { dio.close(); // Assuming there will be an errorMessage property in the JSON object rethrow; diff --git a/frontend/works_shg_app/lib/data/repositories/work_order_repository/my_works_repository.dart b/frontend/works_shg_app/lib/data/repositories/work_order_repository/my_works_repository.dart index bbd3ee9fcd..c4d51801fb 100644 --- a/frontend/works_shg_app/lib/data/repositories/work_order_repository/my_works_repository.dart +++ b/frontend/works_shg_app/lib/data/repositories/work_order_repository/my_works_repository.dart @@ -24,7 +24,7 @@ class MyWorksRepository { return ContractsModelMapper.fromMap( response.data as Map); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -43,7 +43,7 @@ class MyWorksRepository { return ContractsModelMapper.fromMap( response.data as Map); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } @@ -65,7 +65,7 @@ class MyWorksRepository { return MyWorksSearchCriteriaModel.fromJson( json.decode(response.toString())['MdmsRes'], ); - } on DioError catch (ex) { + } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/data/repositories/workflow_repository/workflow.dart b/frontend/works_shg_app/lib/data/repositories/workflow_repository/workflow.dart index caaad7e5ce..b505cf1638 100644 --- a/frontend/works_shg_app/lib/data/repositories/workflow_repository/workflow.dart +++ b/frontend/works_shg_app/lib/data/repositories/workflow_repository/workflow.dart @@ -23,7 +23,7 @@ class WorkFlowRepository { return MusterWorkFlowModel.fromJson( json.decode(response.toString()), ); - } on DioError catch (e) { + } on DioException catch (e) { // Assuming there will be an errorMessage property in the JSON object rethrow; } diff --git a/frontend/works_shg_app/lib/main.dart b/frontend/works_shg_app/lib/main.dart index ed3bb5dbbc..4c8a983c21 100644 --- a/frontend/works_shg_app/lib/main.dart +++ b/frontend/works_shg_app/lib/main.dart @@ -353,11 +353,11 @@ class _MainApplicationState extends State { navigatorObservers: () => [AppRouterObserver()], routes: (handler) => [ authState.maybeWhen( - initial: () => const UnauthenticatedRouteWrapper(), + initial: () => const UnauthenticatedWrapperRoute(), loaded: (UserDetailsModel? userDetailsModel, String? accessToken, RoleType? roleType) => - const AuthenticatedRouteWrapper(), - orElse: () => const UnauthenticatedRouteWrapper()) + const AuthenticatedWrapperRoute(), + orElse: () => const UnauthenticatedWrapperRoute()) ], ), ); diff --git a/frontend/works_shg_app/lib/models/adharModel/adhar_response.freezed.dart b/frontend/works_shg_app/lib/models/adharModel/adhar_response.freezed.dart index 760efdf3f9..1a3e4ccaff 100644 --- a/frontend/works_shg_app/lib/models/adharModel/adhar_response.freezed.dart +++ b/frontend/works_shg_app/lib/models/adharModel/adhar_response.freezed.dart @@ -12,7 +12,7 @@ part of 'adhar_response.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); AdharCardResponse _$AdharCardResponseFromJson(Map json) { return _AdharCardResponse.fromJson(json); @@ -128,11 +128,11 @@ class _$AdharCardResponseCopyWithImpl<$Res, $Val extends AdharCardResponse> } /// @nodoc -abstract class _$$_AdharCardResponseCopyWith<$Res> +abstract class _$$AdharCardResponseImplCopyWith<$Res> implements $AdharCardResponseCopyWith<$Res> { - factory _$$_AdharCardResponseCopyWith(_$_AdharCardResponse value, - $Res Function(_$_AdharCardResponse) then) = - __$$_AdharCardResponseCopyWithImpl<$Res>; + factory _$$AdharCardResponseImplCopyWith(_$AdharCardResponseImpl value, + $Res Function(_$AdharCardResponseImpl) then) = + __$$AdharCardResponseImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -148,11 +148,11 @@ abstract class _$$_AdharCardResponseCopyWith<$Res> } /// @nodoc -class __$$_AdharCardResponseCopyWithImpl<$Res> - extends _$AdharCardResponseCopyWithImpl<$Res, _$_AdharCardResponse> - implements _$$_AdharCardResponseCopyWith<$Res> { - __$$_AdharCardResponseCopyWithImpl( - _$_AdharCardResponse _value, $Res Function(_$_AdharCardResponse) _then) +class __$$AdharCardResponseImplCopyWithImpl<$Res> + extends _$AdharCardResponseCopyWithImpl<$Res, _$AdharCardResponseImpl> + implements _$$AdharCardResponseImplCopyWith<$Res> { + __$$AdharCardResponseImplCopyWithImpl(_$AdharCardResponseImpl _value, + $Res Function(_$AdharCardResponseImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -168,7 +168,7 @@ class __$$_AdharCardResponseCopyWithImpl<$Res> Object? mobileNumber = freezed, Object? email = freezed, }) { - return _then(_$_AdharCardResponse( + return _then(_$AdharCardResponseImpl( status: freezed == status ? _value.status : status // ignore: cast_nullable_to_non_nullable @@ -211,8 +211,8 @@ class __$$_AdharCardResponseCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AdharCardResponse implements _AdharCardResponse { - const _$_AdharCardResponse( +class _$AdharCardResponseImpl implements _AdharCardResponse { + const _$AdharCardResponseImpl( {@JsonKey(name: 'status') this.status, @JsonKey(name: 'txn') this.txn, @JsonKey(name: 'ret') this.ret, @@ -223,8 +223,8 @@ class _$_AdharCardResponse implements _AdharCardResponse { @JsonKey(name: 'mobileNumber') this.mobileNumber, @JsonKey(name: 'email') this.email}); - factory _$_AdharCardResponse.fromJson(Map json) => - _$$_AdharCardResponseFromJson(json); + factory _$AdharCardResponseImpl.fromJson(Map json) => + _$$AdharCardResponseImplFromJson(json); @override @JsonKey(name: 'status') @@ -260,10 +260,10 @@ class _$_AdharCardResponse implements _AdharCardResponse { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AdharCardResponse && + other is _$AdharCardResponseImpl && (identical(other.status, status) || other.status == status) && (identical(other.txn, txn) || other.txn == txn) && (identical(other.ret, ret) || other.ret == ret) && @@ -286,13 +286,13 @@ class _$_AdharCardResponse implements _AdharCardResponse { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AdharCardResponseCopyWith<_$_AdharCardResponse> get copyWith => - __$$_AdharCardResponseCopyWithImpl<_$_AdharCardResponse>( + _$$AdharCardResponseImplCopyWith<_$AdharCardResponseImpl> get copyWith => + __$$AdharCardResponseImplCopyWithImpl<_$AdharCardResponseImpl>( this, _$identity); @override Map toJson() { - return _$$_AdharCardResponseToJson( + return _$$AdharCardResponseImplToJson( this, ); } @@ -308,10 +308,10 @@ abstract class _AdharCardResponse implements AdharCardResponse { @JsonKey(name: 'responseCode') final String? responseCode, @JsonKey(name: 'uidToken') final String? uidToken, @JsonKey(name: 'mobileNumber') final String? mobileNumber, - @JsonKey(name: 'email') final String? email}) = _$_AdharCardResponse; + @JsonKey(name: 'email') final String? email}) = _$AdharCardResponseImpl; factory _AdharCardResponse.fromJson(Map json) = - _$_AdharCardResponse.fromJson; + _$AdharCardResponseImpl.fromJson; @override @JsonKey(name: 'status') @@ -342,6 +342,6 @@ abstract class _AdharCardResponse implements AdharCardResponse { String? get email; @override @JsonKey(ignore: true) - _$$_AdharCardResponseCopyWith<_$_AdharCardResponse> get copyWith => + _$$AdharCardResponseImplCopyWith<_$AdharCardResponseImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/adharModel/adhar_response.g.dart b/frontend/works_shg_app/lib/models/adharModel/adhar_response.g.dart index 1cfddbb1f9..0bd7c973c6 100644 --- a/frontend/works_shg_app/lib/models/adharModel/adhar_response.g.dart +++ b/frontend/works_shg_app/lib/models/adharModel/adhar_response.g.dart @@ -6,8 +6,9 @@ part of 'adhar_response.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_AdharCardResponse _$$_AdharCardResponseFromJson(Map json) => - _$_AdharCardResponse( +_$AdharCardResponseImpl _$$AdharCardResponseImplFromJson( + Map json) => + _$AdharCardResponseImpl( status: json['status'] as String?, txn: json['txn'] as String?, ret: json['ret'] as String?, @@ -19,8 +20,8 @@ _$_AdharCardResponse _$$_AdharCardResponseFromJson(Map json) => email: json['email'] as String?, ); -Map _$$_AdharCardResponseToJson( - _$_AdharCardResponse instance) => +Map _$$AdharCardResponseImplToJson( + _$AdharCardResponseImpl instance) => { 'status': instance.status, 'txn': instance.txn, diff --git a/frontend/works_shg_app/lib/models/app_config/app_config_model.freezed.dart b/frontend/works_shg_app/lib/models/app_config/app_config_model.freezed.dart index c465970ed8..cfee02c9c1 100644 --- a/frontend/works_shg_app/lib/models/app_config/app_config_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/app_config/app_config_model.freezed.dart @@ -12,7 +12,7 @@ part of 'app_config_model.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); AppConfigModel _$AppConfigModelFromJson(Map json) { return _AppConfigModel.fromJson(json); @@ -89,11 +89,11 @@ class _$AppConfigModelCopyWithImpl<$Res, $Val extends AppConfigModel> } /// @nodoc -abstract class _$$_AppConfigModelCopyWith<$Res> +abstract class _$$AppConfigModelImplCopyWith<$Res> implements $AppConfigModelCopyWith<$Res> { - factory _$$_AppConfigModelCopyWith( - _$_AppConfigModel value, $Res Function(_$_AppConfigModel) then) = - __$$_AppConfigModelCopyWithImpl<$Res>; + factory _$$AppConfigModelImplCopyWith(_$AppConfigModelImpl value, + $Res Function(_$AppConfigModelImpl) then) = + __$$AppConfigModelImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -104,11 +104,11 @@ abstract class _$$_AppConfigModelCopyWith<$Res> } /// @nodoc -class __$$_AppConfigModelCopyWithImpl<$Res> - extends _$AppConfigModelCopyWithImpl<$Res, _$_AppConfigModel> - implements _$$_AppConfigModelCopyWith<$Res> { - __$$_AppConfigModelCopyWithImpl( - _$_AppConfigModel _value, $Res Function(_$_AppConfigModel) _then) +class __$$AppConfigModelImplCopyWithImpl<$Res> + extends _$AppConfigModelCopyWithImpl<$Res, _$AppConfigModelImpl> + implements _$$AppConfigModelImplCopyWith<$Res> { + __$$AppConfigModelImplCopyWithImpl( + _$AppConfigModelImpl _value, $Res Function(_$AppConfigModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -118,7 +118,7 @@ class __$$_AppConfigModelCopyWithImpl<$Res> Object? moduleName = null, Object? configuration = freezed, }) { - return _then(_$_AppConfigModel( + return _then(_$AppConfigModelImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -137,12 +137,12 @@ class __$$_AppConfigModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AppConfigModel implements _AppConfigModel { - const _$_AppConfigModel( +class _$AppConfigModelImpl implements _AppConfigModel { + const _$AppConfigModelImpl( {required this.tenantId, required this.moduleName, this.configuration}); - factory _$_AppConfigModel.fromJson(Map json) => - _$$_AppConfigModelFromJson(json); + factory _$AppConfigModelImpl.fromJson(Map json) => + _$$AppConfigModelImplFromJson(json); @override final String tenantId; @@ -157,10 +157,10 @@ class _$_AppConfigModel implements _AppConfigModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AppConfigModel && + other is _$AppConfigModelImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.moduleName, moduleName) || @@ -177,12 +177,13 @@ class _$_AppConfigModel implements _AppConfigModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AppConfigModelCopyWith<_$_AppConfigModel> get copyWith => - __$$_AppConfigModelCopyWithImpl<_$_AppConfigModel>(this, _$identity); + _$$AppConfigModelImplCopyWith<_$AppConfigModelImpl> get copyWith => + __$$AppConfigModelImplCopyWithImpl<_$AppConfigModelImpl>( + this, _$identity); @override Map toJson() { - return _$$_AppConfigModelToJson( + return _$$AppConfigModelImplToJson( this, ); } @@ -192,10 +193,10 @@ abstract class _AppConfigModel implements AppConfigModel { const factory _AppConfigModel( {required final String tenantId, required final String moduleName, - final ConfigurationModel? configuration}) = _$_AppConfigModel; + final ConfigurationModel? configuration}) = _$AppConfigModelImpl; factory _AppConfigModel.fromJson(Map json) = - _$_AppConfigModel.fromJson; + _$AppConfigModelImpl.fromJson; @override String get tenantId; @@ -205,7 +206,7 @@ abstract class _AppConfigModel implements AppConfigModel { ConfigurationModel? get configuration; @override @JsonKey(ignore: true) - _$$_AppConfigModelCopyWith<_$_AppConfigModel> get copyWith => + _$$AppConfigModelImplCopyWith<_$AppConfigModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -273,11 +274,11 @@ class _$ConfigurationModelCopyWithImpl<$Res, $Val extends ConfigurationModel> } /// @nodoc -abstract class _$$_ConfigurationModelCopyWith<$Res> +abstract class _$$ConfigurationModelImplCopyWith<$Res> implements $ConfigurationModelCopyWith<$Res> { - factory _$$_ConfigurationModelCopyWith(_$_ConfigurationModel value, - $Res Function(_$_ConfigurationModel) then) = - __$$_ConfigurationModelCopyWithImpl<$Res>; + factory _$$ConfigurationModelImplCopyWith(_$ConfigurationModelImpl value, + $Res Function(_$ConfigurationModelImpl) then) = + __$$ConfigurationModelImplCopyWithImpl<$Res>; @override @useResult $Res call({int configVersion, AppConfig appConfig}); @@ -287,11 +288,11 @@ abstract class _$$_ConfigurationModelCopyWith<$Res> } /// @nodoc -class __$$_ConfigurationModelCopyWithImpl<$Res> - extends _$ConfigurationModelCopyWithImpl<$Res, _$_ConfigurationModel> - implements _$$_ConfigurationModelCopyWith<$Res> { - __$$_ConfigurationModelCopyWithImpl( - _$_ConfigurationModel _value, $Res Function(_$_ConfigurationModel) _then) +class __$$ConfigurationModelImplCopyWithImpl<$Res> + extends _$ConfigurationModelCopyWithImpl<$Res, _$ConfigurationModelImpl> + implements _$$ConfigurationModelImplCopyWith<$Res> { + __$$ConfigurationModelImplCopyWithImpl(_$ConfigurationModelImpl _value, + $Res Function(_$ConfigurationModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -300,7 +301,7 @@ class __$$_ConfigurationModelCopyWithImpl<$Res> Object? configVersion = null, Object? appConfig = null, }) { - return _then(_$_ConfigurationModel( + return _then(_$ConfigurationModelImpl( configVersion: null == configVersion ? _value.configVersion : configVersion // ignore: cast_nullable_to_non_nullable @@ -315,12 +316,12 @@ class __$$_ConfigurationModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_ConfigurationModel implements _ConfigurationModel { - const _$_ConfigurationModel( +class _$ConfigurationModelImpl implements _ConfigurationModel { + const _$ConfigurationModelImpl( {required this.configVersion, required this.appConfig}); - factory _$_ConfigurationModel.fromJson(Map json) => - _$$_ConfigurationModelFromJson(json); + factory _$ConfigurationModelImpl.fromJson(Map json) => + _$$ConfigurationModelImplFromJson(json); @override final int configVersion; @@ -333,10 +334,10 @@ class _$_ConfigurationModel implements _ConfigurationModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_ConfigurationModel && + other is _$ConfigurationModelImpl && (identical(other.configVersion, configVersion) || other.configVersion == configVersion) && (identical(other.appConfig, appConfig) || @@ -350,13 +351,13 @@ class _$_ConfigurationModel implements _ConfigurationModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ConfigurationModelCopyWith<_$_ConfigurationModel> get copyWith => - __$$_ConfigurationModelCopyWithImpl<_$_ConfigurationModel>( + _$$ConfigurationModelImplCopyWith<_$ConfigurationModelImpl> get copyWith => + __$$ConfigurationModelImplCopyWithImpl<_$ConfigurationModelImpl>( this, _$identity); @override Map toJson() { - return _$$_ConfigurationModelToJson( + return _$$ConfigurationModelImplToJson( this, ); } @@ -365,10 +366,10 @@ class _$_ConfigurationModel implements _ConfigurationModel { abstract class _ConfigurationModel implements ConfigurationModel { const factory _ConfigurationModel( {required final int configVersion, - required final AppConfig appConfig}) = _$_ConfigurationModel; + required final AppConfig appConfig}) = _$ConfigurationModelImpl; factory _ConfigurationModel.fromJson(Map json) = - _$_ConfigurationModel.fromJson; + _$ConfigurationModelImpl.fromJson; @override int get configVersion; @@ -376,7 +377,7 @@ abstract class _ConfigurationModel implements ConfigurationModel { AppConfig get appConfig; @override @JsonKey(ignore: true) - _$$_ConfigurationModelCopyWith<_$_ConfigurationModel> get copyWith => + _$$ConfigurationModelImplCopyWith<_$ConfigurationModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -404,10 +405,9 @@ abstract class $AppConfigCopyWith<$Res> { _$AppConfigCopyWithImpl<$Res, AppConfig>; @useResult $Res call( - {@JsonKey(name: 'LANGUAGES') - List languages, + {@JsonKey(name: 'LANGUAGES') List languages, @JsonKey(name: 'LOCALIZATION_MODULES') - List? localizationModules}); + List? localizationModules}); } /// @nodoc @@ -440,25 +440,25 @@ class _$AppConfigCopyWithImpl<$Res, $Val extends AppConfig> } /// @nodoc -abstract class _$$_AppConfigCopyWith<$Res> implements $AppConfigCopyWith<$Res> { - factory _$$_AppConfigCopyWith( - _$_AppConfig value, $Res Function(_$_AppConfig) then) = - __$$_AppConfigCopyWithImpl<$Res>; +abstract class _$$AppConfigImplCopyWith<$Res> + implements $AppConfigCopyWith<$Res> { + factory _$$AppConfigImplCopyWith( + _$AppConfigImpl value, $Res Function(_$AppConfigImpl) then) = + __$$AppConfigImplCopyWithImpl<$Res>; @override @useResult $Res call( - {@JsonKey(name: 'LANGUAGES') - List languages, + {@JsonKey(name: 'LANGUAGES') List languages, @JsonKey(name: 'LOCALIZATION_MODULES') - List? localizationModules}); + List? localizationModules}); } /// @nodoc -class __$$_AppConfigCopyWithImpl<$Res> - extends _$AppConfigCopyWithImpl<$Res, _$_AppConfig> - implements _$$_AppConfigCopyWith<$Res> { - __$$_AppConfigCopyWithImpl( - _$_AppConfig _value, $Res Function(_$_AppConfig) _then) +class __$$AppConfigImplCopyWithImpl<$Res> + extends _$AppConfigCopyWithImpl<$Res, _$AppConfigImpl> + implements _$$AppConfigImplCopyWith<$Res> { + __$$AppConfigImplCopyWithImpl( + _$AppConfigImpl _value, $Res Function(_$AppConfigImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -467,7 +467,7 @@ class __$$_AppConfigCopyWithImpl<$Res> Object? languages = null, Object? localizationModules = freezed, }) { - return _then(_$_AppConfig( + return _then(_$AppConfigImpl( languages: null == languages ? _value._languages : languages // ignore: cast_nullable_to_non_nullable @@ -482,17 +482,16 @@ class __$$_AppConfigCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AppConfig implements _AppConfig { - _$_AppConfig( - {@JsonKey(name: 'LANGUAGES') - required final List languages, +class _$AppConfigImpl implements _AppConfig { + _$AppConfigImpl( + {@JsonKey(name: 'LANGUAGES') required final List languages, @JsonKey(name: 'LOCALIZATION_MODULES') - required final List? localizationModules}) + required final List? localizationModules}) : _languages = languages, _localizationModules = localizationModules; - factory _$_AppConfig.fromJson(Map json) => - _$$_AppConfigFromJson(json); + factory _$AppConfigImpl.fromJson(Map json) => + _$$AppConfigImplFromJson(json); final List _languages; @override @@ -521,10 +520,10 @@ class _$_AppConfig implements _AppConfig { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AppConfig && + other is _$AppConfigImpl && const DeepCollectionEquality() .equals(other._languages, _languages) && const DeepCollectionEquality() @@ -541,12 +540,12 @@ class _$_AppConfig implements _AppConfig { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AppConfigCopyWith<_$_AppConfig> get copyWith => - __$$_AppConfigCopyWithImpl<_$_AppConfig>(this, _$identity); + _$$AppConfigImplCopyWith<_$AppConfigImpl> get copyWith => + __$$AppConfigImplCopyWithImpl<_$AppConfigImpl>(this, _$identity); @override Map toJson() { - return _$$_AppConfigToJson( + return _$$AppConfigImplToJson( this, ); } @@ -554,14 +553,13 @@ class _$_AppConfig implements _AppConfig { abstract class _AppConfig implements AppConfig { factory _AppConfig( - {@JsonKey(name: 'LANGUAGES') - required final List languages, + {@JsonKey(name: 'LANGUAGES') required final List languages, @JsonKey(name: 'LOCALIZATION_MODULES') - required final List? localizationModules}) = - _$_AppConfig; + required final List? localizationModules}) = + _$AppConfigImpl; factory _AppConfig.fromJson(Map json) = - _$_AppConfig.fromJson; + _$AppConfigImpl.fromJson; @override @JsonKey(name: 'LANGUAGES') @@ -571,7 +569,7 @@ abstract class _AppConfig implements AppConfig { List? get localizationModules; @override @JsonKey(ignore: true) - _$$_AppConfigCopyWith<_$_AppConfig> get copyWith => + _$$AppConfigImplCopyWith<_$AppConfigImpl> get copyWith => throw _privateConstructorUsedError; } @@ -624,22 +622,22 @@ class _$LanguagesListCopyWithImpl<$Res, $Val extends LanguagesList> } /// @nodoc -abstract class _$$_LanguagesListCopyWith<$Res> +abstract class _$$LanguagesListImplCopyWith<$Res> implements $LanguagesListCopyWith<$Res> { - factory _$$_LanguagesListCopyWith( - _$_LanguagesList value, $Res Function(_$_LanguagesList) then) = - __$$_LanguagesListCopyWithImpl<$Res>; + factory _$$LanguagesListImplCopyWith( + _$LanguagesListImpl value, $Res Function(_$LanguagesListImpl) then) = + __$$LanguagesListImplCopyWithImpl<$Res>; @override @useResult $Res call({@JsonKey(name: 'languages') List? languages}); } /// @nodoc -class __$$_LanguagesListCopyWithImpl<$Res> - extends _$LanguagesListCopyWithImpl<$Res, _$_LanguagesList> - implements _$$_LanguagesListCopyWith<$Res> { - __$$_LanguagesListCopyWithImpl( - _$_LanguagesList _value, $Res Function(_$_LanguagesList) _then) +class __$$LanguagesListImplCopyWithImpl<$Res> + extends _$LanguagesListCopyWithImpl<$Res, _$LanguagesListImpl> + implements _$$LanguagesListImplCopyWith<$Res> { + __$$LanguagesListImplCopyWithImpl( + _$LanguagesListImpl _value, $Res Function(_$LanguagesListImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -647,7 +645,7 @@ class __$$_LanguagesListCopyWithImpl<$Res> $Res call({ Object? languages = freezed, }) { - return _then(_$_LanguagesList( + return _then(_$LanguagesListImpl( languages: freezed == languages ? _value._languages : languages // ignore: cast_nullable_to_non_nullable @@ -658,13 +656,13 @@ class __$$_LanguagesListCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_LanguagesList implements _LanguagesList { - _$_LanguagesList( +class _$LanguagesListImpl implements _LanguagesList { + _$LanguagesListImpl( {@JsonKey(name: 'languages') required final List? languages}) : _languages = languages; - factory _$_LanguagesList.fromJson(Map json) => - _$$_LanguagesListFromJson(json); + factory _$LanguagesListImpl.fromJson(Map json) => + _$$LanguagesListImplFromJson(json); final List? _languages; @override @@ -683,10 +681,10 @@ class _$_LanguagesList implements _LanguagesList { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_LanguagesList && + other is _$LanguagesListImpl && const DeepCollectionEquality() .equals(other._languages, _languages)); } @@ -699,12 +697,12 @@ class _$_LanguagesList implements _LanguagesList { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LanguagesListCopyWith<_$_LanguagesList> get copyWith => - __$$_LanguagesListCopyWithImpl<_$_LanguagesList>(this, _$identity); + _$$LanguagesListImplCopyWith<_$LanguagesListImpl> get copyWith => + __$$LanguagesListImplCopyWithImpl<_$LanguagesListImpl>(this, _$identity); @override Map toJson() { - return _$$_LanguagesListToJson( + return _$$LanguagesListImplToJson( this, ); } @@ -713,17 +711,17 @@ class _$_LanguagesList implements _LanguagesList { abstract class _LanguagesList implements LanguagesList { factory _LanguagesList( {@JsonKey(name: 'languages') - required final List? languages}) = _$_LanguagesList; + required final List? languages}) = _$LanguagesListImpl; factory _LanguagesList.fromJson(Map json) = - _$_LanguagesList.fromJson; + _$LanguagesListImpl.fromJson; @override @JsonKey(name: 'languages') List? get languages; @override @JsonKey(ignore: true) - _$$_LanguagesListCopyWith<_$_LanguagesList> get copyWith => + _$$LanguagesListImplCopyWith<_$LanguagesListImpl> get copyWith => throw _privateConstructorUsedError; } @@ -786,21 +784,22 @@ class _$LanguagesCopyWithImpl<$Res, $Val extends Languages> } /// @nodoc -abstract class _$$_LanguagesCopyWith<$Res> implements $LanguagesCopyWith<$Res> { - factory _$$_LanguagesCopyWith( - _$_Languages value, $Res Function(_$_Languages) then) = - __$$_LanguagesCopyWithImpl<$Res>; +abstract class _$$LanguagesImplCopyWith<$Res> + implements $LanguagesCopyWith<$Res> { + factory _$$LanguagesImplCopyWith( + _$LanguagesImpl value, $Res Function(_$LanguagesImpl) then) = + __$$LanguagesImplCopyWithImpl<$Res>; @override @useResult $Res call({String label, String value, bool isSelected}); } /// @nodoc -class __$$_LanguagesCopyWithImpl<$Res> - extends _$LanguagesCopyWithImpl<$Res, _$_Languages> - implements _$$_LanguagesCopyWith<$Res> { - __$$_LanguagesCopyWithImpl( - _$_Languages _value, $Res Function(_$_Languages) _then) +class __$$LanguagesImplCopyWithImpl<$Res> + extends _$LanguagesCopyWithImpl<$Res, _$LanguagesImpl> + implements _$$LanguagesImplCopyWith<$Res> { + __$$LanguagesImplCopyWithImpl( + _$LanguagesImpl _value, $Res Function(_$LanguagesImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -810,7 +809,7 @@ class __$$_LanguagesCopyWithImpl<$Res> Object? value = null, Object? isSelected = null, }) { - return _then(_$_Languages( + return _then(_$LanguagesImpl( label: null == label ? _value.label : label // ignore: cast_nullable_to_non_nullable @@ -829,12 +828,12 @@ class __$$_LanguagesCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_Languages implements _Languages { - _$_Languages( +class _$LanguagesImpl implements _Languages { + _$LanguagesImpl( {required this.label, required this.value, this.isSelected = false}); - factory _$_Languages.fromJson(Map json) => - _$$_LanguagesFromJson(json); + factory _$LanguagesImpl.fromJson(Map json) => + _$$LanguagesImplFromJson(json); @override final String label; @@ -850,10 +849,10 @@ class _$_Languages implements _Languages { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Languages && + other is _$LanguagesImpl && (identical(other.label, label) || other.label == label) && (identical(other.value, value) || other.value == value) && (identical(other.isSelected, isSelected) || @@ -867,12 +866,12 @@ class _$_Languages implements _Languages { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LanguagesCopyWith<_$_Languages> get copyWith => - __$$_LanguagesCopyWithImpl<_$_Languages>(this, _$identity); + _$$LanguagesImplCopyWith<_$LanguagesImpl> get copyWith => + __$$LanguagesImplCopyWithImpl<_$LanguagesImpl>(this, _$identity); @override Map toJson() { - return _$$_LanguagesToJson( + return _$$LanguagesImplToJson( this, ); } @@ -882,10 +881,10 @@ abstract class _Languages implements Languages { factory _Languages( {required final String label, required final String value, - final bool isSelected}) = _$_Languages; + final bool isSelected}) = _$LanguagesImpl; factory _Languages.fromJson(Map json) = - _$_Languages.fromJson; + _$LanguagesImpl.fromJson; @override String get label; @@ -895,7 +894,7 @@ abstract class _Languages implements Languages { bool get isSelected; @override @JsonKey(ignore: true) - _$$_LanguagesCopyWith<_$_Languages> get copyWith => + _$$LanguagesImplCopyWith<_$LanguagesImpl> get copyWith => throw _privateConstructorUsedError; } @@ -953,22 +952,22 @@ class _$LocalizationModulesCopyWithImpl<$Res, $Val extends LocalizationModules> } /// @nodoc -abstract class _$$_LocalizationModulesCopyWith<$Res> +abstract class _$$LocalizationModulesImplCopyWith<$Res> implements $LocalizationModulesCopyWith<$Res> { - factory _$$_LocalizationModulesCopyWith(_$_LocalizationModules value, - $Res Function(_$_LocalizationModules) then) = - __$$_LocalizationModulesCopyWithImpl<$Res>; + factory _$$LocalizationModulesImplCopyWith(_$LocalizationModulesImpl value, + $Res Function(_$LocalizationModulesImpl) then) = + __$$LocalizationModulesImplCopyWithImpl<$Res>; @override @useResult $Res call({String label, String value}); } /// @nodoc -class __$$_LocalizationModulesCopyWithImpl<$Res> - extends _$LocalizationModulesCopyWithImpl<$Res, _$_LocalizationModules> - implements _$$_LocalizationModulesCopyWith<$Res> { - __$$_LocalizationModulesCopyWithImpl(_$_LocalizationModules _value, - $Res Function(_$_LocalizationModules) _then) +class __$$LocalizationModulesImplCopyWithImpl<$Res> + extends _$LocalizationModulesCopyWithImpl<$Res, _$LocalizationModulesImpl> + implements _$$LocalizationModulesImplCopyWith<$Res> { + __$$LocalizationModulesImplCopyWithImpl(_$LocalizationModulesImpl _value, + $Res Function(_$LocalizationModulesImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -977,7 +976,7 @@ class __$$_LocalizationModulesCopyWithImpl<$Res> Object? label = null, Object? value = null, }) { - return _then(_$_LocalizationModules( + return _then(_$LocalizationModulesImpl( label: null == label ? _value.label : label // ignore: cast_nullable_to_non_nullable @@ -992,11 +991,11 @@ class __$$_LocalizationModulesCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_LocalizationModules implements _LocalizationModules { - _$_LocalizationModules({required this.label, required this.value}); +class _$LocalizationModulesImpl implements _LocalizationModules { + _$LocalizationModulesImpl({required this.label, required this.value}); - factory _$_LocalizationModules.fromJson(Map json) => - _$$_LocalizationModulesFromJson(json); + factory _$LocalizationModulesImpl.fromJson(Map json) => + _$$LocalizationModulesImplFromJson(json); @override final String label; @@ -1009,10 +1008,10 @@ class _$_LocalizationModules implements _LocalizationModules { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_LocalizationModules && + other is _$LocalizationModulesImpl && (identical(other.label, label) || other.label == label) && (identical(other.value, value) || other.value == value)); } @@ -1024,13 +1023,13 @@ class _$_LocalizationModules implements _LocalizationModules { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LocalizationModulesCopyWith<_$_LocalizationModules> get copyWith => - __$$_LocalizationModulesCopyWithImpl<_$_LocalizationModules>( + _$$LocalizationModulesImplCopyWith<_$LocalizationModulesImpl> get copyWith => + __$$LocalizationModulesImplCopyWithImpl<_$LocalizationModulesImpl>( this, _$identity); @override Map toJson() { - return _$$_LocalizationModulesToJson( + return _$$LocalizationModulesImplToJson( this, ); } @@ -1039,10 +1038,10 @@ class _$_LocalizationModules implements _LocalizationModules { abstract class _LocalizationModules implements LocalizationModules { factory _LocalizationModules( {required final String label, - required final String value}) = _$_LocalizationModules; + required final String value}) = _$LocalizationModulesImpl; factory _LocalizationModules.fromJson(Map json) = - _$_LocalizationModules.fromJson; + _$LocalizationModulesImpl.fromJson; @override String get label; @@ -1050,6 +1049,6 @@ abstract class _LocalizationModules implements LocalizationModules { String get value; @override @JsonKey(ignore: true) - _$$_LocalizationModulesCopyWith<_$_LocalizationModules> get copyWith => + _$$LocalizationModulesImplCopyWith<_$LocalizationModulesImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/app_config/app_config_model.g.dart b/frontend/works_shg_app/lib/models/app_config/app_config_model.g.dart index bb394bfc3d..06cca6dbb4 100644 --- a/frontend/works_shg_app/lib/models/app_config/app_config_model.g.dart +++ b/frontend/works_shg_app/lib/models/app_config/app_config_model.g.dart @@ -6,8 +6,8 @@ part of 'app_config_model.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_AppConfigModel _$$_AppConfigModelFromJson(Map json) => - _$_AppConfigModel( +_$AppConfigModelImpl _$$AppConfigModelImplFromJson(Map json) => + _$AppConfigModelImpl( tenantId: json['tenantId'] as String, moduleName: json['moduleName'] as String, configuration: json['configuration'] == null @@ -16,28 +16,30 @@ _$_AppConfigModel _$$_AppConfigModelFromJson(Map json) => json['configuration'] as Map), ); -Map _$$_AppConfigModelToJson(_$_AppConfigModel instance) => +Map _$$AppConfigModelImplToJson( + _$AppConfigModelImpl instance) => { 'tenantId': instance.tenantId, 'moduleName': instance.moduleName, 'configuration': instance.configuration, }; -_$_ConfigurationModel _$$_ConfigurationModelFromJson( +_$ConfigurationModelImpl _$$ConfigurationModelImplFromJson( Map json) => - _$_ConfigurationModel( - configVersion: json['configVersion'] as int, + _$ConfigurationModelImpl( + configVersion: (json['configVersion'] as num).toInt(), appConfig: AppConfig.fromJson(json['appConfig'] as Map), ); -Map _$$_ConfigurationModelToJson( - _$_ConfigurationModel instance) => +Map _$$ConfigurationModelImplToJson( + _$ConfigurationModelImpl instance) => { 'configVersion': instance.configVersion, 'appConfig': instance.appConfig, }; -_$_AppConfig _$$_AppConfigFromJson(Map json) => _$_AppConfig( +_$AppConfigImpl _$$AppConfigImplFromJson(Map json) => + _$AppConfigImpl( languages: (json['LANGUAGES'] as List) .map((e) => Languages.fromJson(e as Map)) .toList(), @@ -46,46 +48,47 @@ _$_AppConfig _$$_AppConfigFromJson(Map json) => _$_AppConfig( .toList(), ); -Map _$$_AppConfigToJson(_$_AppConfig instance) => +Map _$$AppConfigImplToJson(_$AppConfigImpl instance) => { 'LANGUAGES': instance.languages, 'LOCALIZATION_MODULES': instance.localizationModules, }; -_$_LanguagesList _$$_LanguagesListFromJson(Map json) => - _$_LanguagesList( +_$LanguagesListImpl _$$LanguagesListImplFromJson(Map json) => + _$LanguagesListImpl( languages: (json['languages'] as List?) ?.map((e) => Languages.fromJson(e as Map)) .toList(), ); -Map _$$_LanguagesListToJson(_$_LanguagesList instance) => +Map _$$LanguagesListImplToJson(_$LanguagesListImpl instance) => { 'languages': instance.languages, }; -_$_Languages _$$_LanguagesFromJson(Map json) => _$_Languages( +_$LanguagesImpl _$$LanguagesImplFromJson(Map json) => + _$LanguagesImpl( label: json['label'] as String, value: json['value'] as String, isSelected: json['isSelected'] as bool? ?? false, ); -Map _$$_LanguagesToJson(_$_Languages instance) => +Map _$$LanguagesImplToJson(_$LanguagesImpl instance) => { 'label': instance.label, 'value': instance.value, 'isSelected': instance.isSelected, }; -_$_LocalizationModules _$$_LocalizationModulesFromJson( +_$LocalizationModulesImpl _$$LocalizationModulesImplFromJson( Map json) => - _$_LocalizationModules( + _$LocalizationModulesImpl( label: json['label'] as String, value: json['value'] as String, ); -Map _$$_LocalizationModulesToJson( - _$_LocalizationModules instance) => +Map _$$LocalizationModulesImplToJson( + _$LocalizationModulesImpl instance) => { 'label': instance.label, 'value': instance.value, diff --git a/frontend/works_shg_app/lib/models/attendance/attendance_registry_model.freezed.dart b/frontend/works_shg_app/lib/models/attendance/attendance_registry_model.freezed.dart index 35c40b5a26..13f832c610 100644 --- a/frontend/works_shg_app/lib/models/attendance/attendance_registry_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/attendance/attendance_registry_model.freezed.dart @@ -12,7 +12,7 @@ part of 'attendance_registry_model.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); AttendanceRegistersModel _$AttendanceRegistersModelFromJson( Map json) { @@ -39,7 +39,7 @@ abstract class $AttendanceRegistersModelCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'attendanceRegister') - List? attendanceRegister}); + List? attendanceRegister}); } /// @nodoc @@ -68,26 +68,27 @@ class _$AttendanceRegistersModelCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_AttendanceRegistersModelCopyWith<$Res> +abstract class _$$AttendanceRegistersModelImplCopyWith<$Res> implements $AttendanceRegistersModelCopyWith<$Res> { - factory _$$_AttendanceRegistersModelCopyWith( - _$_AttendanceRegistersModel value, - $Res Function(_$_AttendanceRegistersModel) then) = - __$$_AttendanceRegistersModelCopyWithImpl<$Res>; + factory _$$AttendanceRegistersModelImplCopyWith( + _$AttendanceRegistersModelImpl value, + $Res Function(_$AttendanceRegistersModelImpl) then) = + __$$AttendanceRegistersModelImplCopyWithImpl<$Res>; @override @useResult $Res call( {@JsonKey(name: 'attendanceRegister') - List? attendanceRegister}); + List? attendanceRegister}); } /// @nodoc -class __$$_AttendanceRegistersModelCopyWithImpl<$Res> +class __$$AttendanceRegistersModelImplCopyWithImpl<$Res> extends _$AttendanceRegistersModelCopyWithImpl<$Res, - _$_AttendanceRegistersModel> - implements _$$_AttendanceRegistersModelCopyWith<$Res> { - __$$_AttendanceRegistersModelCopyWithImpl(_$_AttendanceRegistersModel _value, - $Res Function(_$_AttendanceRegistersModel) _then) + _$AttendanceRegistersModelImpl> + implements _$$AttendanceRegistersModelImplCopyWith<$Res> { + __$$AttendanceRegistersModelImplCopyWithImpl( + _$AttendanceRegistersModelImpl _value, + $Res Function(_$AttendanceRegistersModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -95,7 +96,7 @@ class __$$_AttendanceRegistersModelCopyWithImpl<$Res> $Res call({ Object? attendanceRegister = freezed, }) { - return _then(_$_AttendanceRegistersModel( + return _then(_$AttendanceRegistersModelImpl( attendanceRegister: freezed == attendanceRegister ? _value._attendanceRegister : attendanceRegister // ignore: cast_nullable_to_non_nullable @@ -106,14 +107,14 @@ class __$$_AttendanceRegistersModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AttendanceRegistersModel implements _AttendanceRegistersModel { - const _$_AttendanceRegistersModel( +class _$AttendanceRegistersModelImpl implements _AttendanceRegistersModel { + const _$AttendanceRegistersModelImpl( {@JsonKey(name: 'attendanceRegister') - final List? attendanceRegister}) + final List? attendanceRegister}) : _attendanceRegister = attendanceRegister; - factory _$_AttendanceRegistersModel.fromJson(Map json) => - _$$_AttendanceRegistersModelFromJson(json); + factory _$AttendanceRegistersModelImpl.fromJson(Map json) => + _$$AttendanceRegistersModelImplFromJson(json); final List? _attendanceRegister; @override @@ -133,10 +134,10 @@ class _$_AttendanceRegistersModel implements _AttendanceRegistersModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AttendanceRegistersModel && + other is _$AttendanceRegistersModelImpl && const DeepCollectionEquality() .equals(other._attendanceRegister, _attendanceRegister)); } @@ -149,13 +150,13 @@ class _$_AttendanceRegistersModel implements _AttendanceRegistersModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AttendanceRegistersModelCopyWith<_$_AttendanceRegistersModel> - get copyWith => __$$_AttendanceRegistersModelCopyWithImpl< - _$_AttendanceRegistersModel>(this, _$identity); + _$$AttendanceRegistersModelImplCopyWith<_$AttendanceRegistersModelImpl> + get copyWith => __$$AttendanceRegistersModelImplCopyWithImpl< + _$AttendanceRegistersModelImpl>(this, _$identity); @override Map toJson() { - return _$$_AttendanceRegistersModelToJson( + return _$$AttendanceRegistersModelImplToJson( this, ); } @@ -164,18 +165,18 @@ class _$_AttendanceRegistersModel implements _AttendanceRegistersModel { abstract class _AttendanceRegistersModel implements AttendanceRegistersModel { const factory _AttendanceRegistersModel( {@JsonKey(name: 'attendanceRegister') - final List? attendanceRegister}) = - _$_AttendanceRegistersModel; + final List? attendanceRegister}) = + _$AttendanceRegistersModelImpl; factory _AttendanceRegistersModel.fromJson(Map json) = - _$_AttendanceRegistersModel.fromJson; + _$AttendanceRegistersModelImpl.fromJson; @override @JsonKey(name: 'attendanceRegister') List? get attendanceRegister; @override @JsonKey(ignore: true) - _$$_AttendanceRegistersModelCopyWith<_$_AttendanceRegistersModel> + _$$AttendanceRegistersModelImplCopyWith<_$AttendanceRegistersModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -230,14 +231,10 @@ abstract class $AttendanceRegisterCopyWith<$Res> { int? endDate, String? status, @JsonKey(name: 'additionalDetails') - AttendanceRegisterAdditionalDetails? - attendanceRegisterAdditionalDetails, - @JsonKey(name: 'staff') - List? staffEntries, - @JsonKey(name: 'auditDetails') - RegisterAuditDetails? registerAuditDetails, - @JsonKey(name: 'attendees') - List? attendeesEntries}); + AttendanceRegisterAdditionalDetails? attendanceRegisterAdditionalDetails, + @JsonKey(name: 'staff') List? staffEntries, + @JsonKey(name: 'auditDetails') RegisterAuditDetails? registerAuditDetails, + @JsonKey(name: 'attendees') List? attendeesEntries}); $AttendanceRegisterAdditionalDetailsCopyWith<$Res>? get attendanceRegisterAdditionalDetails; @@ -358,11 +355,11 @@ class _$AttendanceRegisterCopyWithImpl<$Res, $Val extends AttendanceRegister> } /// @nodoc -abstract class _$$_AttendanceRegisterCopyWith<$Res> +abstract class _$$AttendanceRegisterImplCopyWith<$Res> implements $AttendanceRegisterCopyWith<$Res> { - factory _$$_AttendanceRegisterCopyWith(_$_AttendanceRegister value, - $Res Function(_$_AttendanceRegister) then) = - __$$_AttendanceRegisterCopyWithImpl<$Res>; + factory _$$AttendanceRegisterImplCopyWith(_$AttendanceRegisterImpl value, + $Res Function(_$AttendanceRegisterImpl) then) = + __$$AttendanceRegisterImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -376,14 +373,10 @@ abstract class _$$_AttendanceRegisterCopyWith<$Res> int? endDate, String? status, @JsonKey(name: 'additionalDetails') - AttendanceRegisterAdditionalDetails? - attendanceRegisterAdditionalDetails, - @JsonKey(name: 'staff') - List? staffEntries, - @JsonKey(name: 'auditDetails') - RegisterAuditDetails? registerAuditDetails, - @JsonKey(name: 'attendees') - List? attendeesEntries}); + AttendanceRegisterAdditionalDetails? attendanceRegisterAdditionalDetails, + @JsonKey(name: 'staff') List? staffEntries, + @JsonKey(name: 'auditDetails') RegisterAuditDetails? registerAuditDetails, + @JsonKey(name: 'attendees') List? attendeesEntries}); @override $AttendanceRegisterAdditionalDetailsCopyWith<$Res>? @@ -393,11 +386,11 @@ abstract class _$$_AttendanceRegisterCopyWith<$Res> } /// @nodoc -class __$$_AttendanceRegisterCopyWithImpl<$Res> - extends _$AttendanceRegisterCopyWithImpl<$Res, _$_AttendanceRegister> - implements _$$_AttendanceRegisterCopyWith<$Res> { - __$$_AttendanceRegisterCopyWithImpl( - _$_AttendanceRegister _value, $Res Function(_$_AttendanceRegister) _then) +class __$$AttendanceRegisterImplCopyWithImpl<$Res> + extends _$AttendanceRegisterCopyWithImpl<$Res, _$AttendanceRegisterImpl> + implements _$$AttendanceRegisterImplCopyWith<$Res> { + __$$AttendanceRegisterImplCopyWithImpl(_$AttendanceRegisterImpl _value, + $Res Function(_$AttendanceRegisterImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -417,7 +410,7 @@ class __$$_AttendanceRegisterCopyWithImpl<$Res> Object? registerAuditDetails = freezed, Object? attendeesEntries = freezed, }) { - return _then(_$_AttendanceRegister( + return _then(_$AttendanceRegisterImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -477,8 +470,8 @@ class __$$_AttendanceRegisterCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AttendanceRegister implements _AttendanceRegister { - const _$_AttendanceRegister( +class _$AttendanceRegisterImpl implements _AttendanceRegister { + const _$AttendanceRegisterImpl( {this.id, required this.tenantId, this.registerNumber, @@ -489,18 +482,16 @@ class _$_AttendanceRegister implements _AttendanceRegister { this.endDate, this.status, @JsonKey(name: 'additionalDetails') - this.attendanceRegisterAdditionalDetails, - @JsonKey(name: 'staff') - final List? staffEntries, - @JsonKey(name: 'auditDetails') - this.registerAuditDetails, + this.attendanceRegisterAdditionalDetails, + @JsonKey(name: 'staff') final List? staffEntries, + @JsonKey(name: 'auditDetails') this.registerAuditDetails, @JsonKey(name: 'attendees') - final List? attendeesEntries}) + final List? attendeesEntries}) : _staffEntries = staffEntries, _attendeesEntries = attendeesEntries; - factory _$_AttendanceRegister.fromJson(Map json) => - _$$_AttendanceRegisterFromJson(json); + factory _$AttendanceRegisterImpl.fromJson(Map json) => + _$$AttendanceRegisterImplFromJson(json); @override final String? id; @@ -556,10 +547,10 @@ class _$_AttendanceRegister implements _AttendanceRegister { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AttendanceRegister && + other is _$AttendanceRegisterImpl && (identical(other.id, id) || other.id == id) && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && @@ -607,13 +598,13 @@ class _$_AttendanceRegister implements _AttendanceRegister { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AttendanceRegisterCopyWith<_$_AttendanceRegister> get copyWith => - __$$_AttendanceRegisterCopyWithImpl<_$_AttendanceRegister>( + _$$AttendanceRegisterImplCopyWith<_$AttendanceRegisterImpl> get copyWith => + __$$AttendanceRegisterImplCopyWithImpl<_$AttendanceRegisterImpl>( this, _$identity); @override Map toJson() { - return _$$_AttendanceRegisterToJson( + return _$$AttendanceRegisterImplToJson( this, ); } @@ -631,18 +622,17 @@ abstract class _AttendanceRegister implements AttendanceRegister { final int? endDate, final String? status, @JsonKey(name: 'additionalDetails') - final AttendanceRegisterAdditionalDetails? - attendanceRegisterAdditionalDetails, - @JsonKey(name: 'staff') - final List? staffEntries, + final AttendanceRegisterAdditionalDetails? + attendanceRegisterAdditionalDetails, + @JsonKey(name: 'staff') final List? staffEntries, @JsonKey(name: 'auditDetails') - final RegisterAuditDetails? registerAuditDetails, + final RegisterAuditDetails? registerAuditDetails, @JsonKey(name: 'attendees') - final List? attendeesEntries}) = - _$_AttendanceRegister; + final List? attendeesEntries}) = + _$AttendanceRegisterImpl; factory _AttendanceRegister.fromJson(Map json) = - _$_AttendanceRegister.fromJson; + _$AttendanceRegisterImpl.fromJson; @override String? get id; @@ -676,7 +666,7 @@ abstract class _AttendanceRegister implements AttendanceRegister { List? get attendeesEntries; @override @JsonKey(ignore: true) - _$$_AttendanceRegisterCopyWith<_$_AttendanceRegister> get copyWith => + _$$AttendanceRegisterImplCopyWith<_$AttendanceRegisterImpl> get copyWith => throw _privateConstructorUsedError; } @@ -804,12 +794,12 @@ class _$AttendanceRegisterAdditionalDetailsCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_AttendanceRegisterAdditionalDetailsCopyWith<$Res> +abstract class _$$AttendanceRegisterAdditionalDetailsImplCopyWith<$Res> implements $AttendanceRegisterAdditionalDetailsCopyWith<$Res> { - factory _$$_AttendanceRegisterAdditionalDetailsCopyWith( - _$_AttendanceRegisterAdditionalDetails value, - $Res Function(_$_AttendanceRegisterAdditionalDetails) then) = - __$$_AttendanceRegisterAdditionalDetailsCopyWithImpl<$Res>; + factory _$$AttendanceRegisterAdditionalDetailsImplCopyWith( + _$AttendanceRegisterAdditionalDetailsImpl value, + $Res Function(_$AttendanceRegisterAdditionalDetailsImpl) then) = + __$$AttendanceRegisterAdditionalDetailsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -827,13 +817,13 @@ abstract class _$$_AttendanceRegisterAdditionalDetailsCopyWith<$Res> } /// @nodoc -class __$$_AttendanceRegisterAdditionalDetailsCopyWithImpl<$Res> +class __$$AttendanceRegisterAdditionalDetailsImplCopyWithImpl<$Res> extends _$AttendanceRegisterAdditionalDetailsCopyWithImpl<$Res, - _$_AttendanceRegisterAdditionalDetails> - implements _$$_AttendanceRegisterAdditionalDetailsCopyWith<$Res> { - __$$_AttendanceRegisterAdditionalDetailsCopyWithImpl( - _$_AttendanceRegisterAdditionalDetails _value, - $Res Function(_$_AttendanceRegisterAdditionalDetails) _then) + _$AttendanceRegisterAdditionalDetailsImpl> + implements _$$AttendanceRegisterAdditionalDetailsImplCopyWith<$Res> { + __$$AttendanceRegisterAdditionalDetailsImplCopyWithImpl( + _$AttendanceRegisterAdditionalDetailsImpl _value, + $Res Function(_$AttendanceRegisterAdditionalDetailsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -851,7 +841,7 @@ class __$$_AttendanceRegisterAdditionalDetailsCopyWithImpl<$Res> Object? ward = freezed, Object? amount = freezed, }) { - return _then(_$_AttendanceRegisterAdditionalDetails( + return _then(_$AttendanceRegisterAdditionalDetailsImpl( contractId: freezed == contractId ? _value.contractId : contractId // ignore: cast_nullable_to_non_nullable @@ -902,9 +892,9 @@ class __$$_AttendanceRegisterAdditionalDetailsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AttendanceRegisterAdditionalDetails +class _$AttendanceRegisterAdditionalDetailsImpl implements _AttendanceRegisterAdditionalDetails { - const _$_AttendanceRegisterAdditionalDetails( + const _$AttendanceRegisterAdditionalDetailsImpl( {this.contractId, this.orgName, this.officerInCharge, @@ -917,9 +907,9 @@ class _$_AttendanceRegisterAdditionalDetails this.ward, this.amount}); - factory _$_AttendanceRegisterAdditionalDetails.fromJson( + factory _$AttendanceRegisterAdditionalDetailsImpl.fromJson( Map json) => - _$$_AttendanceRegisterAdditionalDetailsFromJson(json); + _$$AttendanceRegisterAdditionalDetailsImplFromJson(json); @override final String? contractId; @@ -950,10 +940,10 @@ class _$_AttendanceRegisterAdditionalDetails } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AttendanceRegisterAdditionalDetails && + other is _$AttendanceRegisterAdditionalDetailsImpl && (identical(other.contractId, contractId) || other.contractId == contractId) && (identical(other.orgName, orgName) || other.orgName == orgName) && @@ -994,14 +984,14 @@ class _$_AttendanceRegisterAdditionalDetails @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AttendanceRegisterAdditionalDetailsCopyWith< - _$_AttendanceRegisterAdditionalDetails> - get copyWith => __$$_AttendanceRegisterAdditionalDetailsCopyWithImpl< - _$_AttendanceRegisterAdditionalDetails>(this, _$identity); + _$$AttendanceRegisterAdditionalDetailsImplCopyWith< + _$AttendanceRegisterAdditionalDetailsImpl> + get copyWith => __$$AttendanceRegisterAdditionalDetailsImplCopyWithImpl< + _$AttendanceRegisterAdditionalDetailsImpl>(this, _$identity); @override Map toJson() { - return _$$_AttendanceRegisterAdditionalDetailsToJson( + return _$$AttendanceRegisterAdditionalDetailsImplToJson( this, ); } @@ -1020,11 +1010,11 @@ abstract class _AttendanceRegisterAdditionalDetails final String? projectDesc, final String? locality, final String? ward, - final int? amount}) = _$_AttendanceRegisterAdditionalDetails; + final int? amount}) = _$AttendanceRegisterAdditionalDetailsImpl; factory _AttendanceRegisterAdditionalDetails.fromJson( Map json) = - _$_AttendanceRegisterAdditionalDetails.fromJson; + _$AttendanceRegisterAdditionalDetailsImpl.fromJson; @override String? get contractId; @@ -1050,8 +1040,8 @@ abstract class _AttendanceRegisterAdditionalDetails int? get amount; @override @JsonKey(ignore: true) - _$$_AttendanceRegisterAdditionalDetailsCopyWith< - _$_AttendanceRegisterAdditionalDetails> + _$$AttendanceRegisterAdditionalDetailsImplCopyWith< + _$AttendanceRegisterAdditionalDetailsImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1126,11 +1116,11 @@ class _$RegisterAuditDetailsCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_RegisterAuditDetailsCopyWith<$Res> +abstract class _$$RegisterAuditDetailsImplCopyWith<$Res> implements $RegisterAuditDetailsCopyWith<$Res> { - factory _$$_RegisterAuditDetailsCopyWith(_$_RegisterAuditDetails value, - $Res Function(_$_RegisterAuditDetails) then) = - __$$_RegisterAuditDetailsCopyWithImpl<$Res>; + factory _$$RegisterAuditDetailsImplCopyWith(_$RegisterAuditDetailsImpl value, + $Res Function(_$RegisterAuditDetailsImpl) then) = + __$$RegisterAuditDetailsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1141,11 +1131,11 @@ abstract class _$$_RegisterAuditDetailsCopyWith<$Res> } /// @nodoc -class __$$_RegisterAuditDetailsCopyWithImpl<$Res> - extends _$RegisterAuditDetailsCopyWithImpl<$Res, _$_RegisterAuditDetails> - implements _$$_RegisterAuditDetailsCopyWith<$Res> { - __$$_RegisterAuditDetailsCopyWithImpl(_$_RegisterAuditDetails _value, - $Res Function(_$_RegisterAuditDetails) _then) +class __$$RegisterAuditDetailsImplCopyWithImpl<$Res> + extends _$RegisterAuditDetailsCopyWithImpl<$Res, _$RegisterAuditDetailsImpl> + implements _$$RegisterAuditDetailsImplCopyWith<$Res> { + __$$RegisterAuditDetailsImplCopyWithImpl(_$RegisterAuditDetailsImpl _value, + $Res Function(_$RegisterAuditDetailsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1156,7 +1146,7 @@ class __$$_RegisterAuditDetailsCopyWithImpl<$Res> Object? createdTime = freezed, Object? lastModifiedTime = freezed, }) { - return _then(_$_RegisterAuditDetails( + return _then(_$RegisterAuditDetailsImpl( createdBy: freezed == createdBy ? _value.createdBy : createdBy // ignore: cast_nullable_to_non_nullable @@ -1179,15 +1169,15 @@ class __$$_RegisterAuditDetailsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_RegisterAuditDetails implements _RegisterAuditDetails { - const _$_RegisterAuditDetails( +class _$RegisterAuditDetailsImpl implements _RegisterAuditDetails { + const _$RegisterAuditDetailsImpl( {this.createdBy, this.lastModifiedBy, this.createdTime, this.lastModifiedTime}); - factory _$_RegisterAuditDetails.fromJson(Map json) => - _$$_RegisterAuditDetailsFromJson(json); + factory _$RegisterAuditDetailsImpl.fromJson(Map json) => + _$$RegisterAuditDetailsImplFromJson(json); @override final String? createdBy; @@ -1204,10 +1194,10 @@ class _$_RegisterAuditDetails implements _RegisterAuditDetails { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_RegisterAuditDetails && + other is _$RegisterAuditDetailsImpl && (identical(other.createdBy, createdBy) || other.createdBy == createdBy) && (identical(other.lastModifiedBy, lastModifiedBy) || @@ -1226,13 +1216,14 @@ class _$_RegisterAuditDetails implements _RegisterAuditDetails { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_RegisterAuditDetailsCopyWith<_$_RegisterAuditDetails> get copyWith => - __$$_RegisterAuditDetailsCopyWithImpl<_$_RegisterAuditDetails>( - this, _$identity); + _$$RegisterAuditDetailsImplCopyWith<_$RegisterAuditDetailsImpl> + get copyWith => + __$$RegisterAuditDetailsImplCopyWithImpl<_$RegisterAuditDetailsImpl>( + this, _$identity); @override Map toJson() { - return _$$_RegisterAuditDetailsToJson( + return _$$RegisterAuditDetailsImplToJson( this, ); } @@ -1243,10 +1234,10 @@ abstract class _RegisterAuditDetails implements RegisterAuditDetails { {final String? createdBy, final String? lastModifiedBy, final int? createdTime, - final int? lastModifiedTime}) = _$_RegisterAuditDetails; + final int? lastModifiedTime}) = _$RegisterAuditDetailsImpl; factory _RegisterAuditDetails.fromJson(Map json) = - _$_RegisterAuditDetails.fromJson; + _$RegisterAuditDetailsImpl.fromJson; @override String? get createdBy; @@ -1258,8 +1249,8 @@ abstract class _RegisterAuditDetails implements RegisterAuditDetails { int? get lastModifiedTime; @override @JsonKey(ignore: true) - _$$_RegisterAuditDetailsCopyWith<_$_RegisterAuditDetails> get copyWith => - throw _privateConstructorUsedError; + _$$RegisterAuditDetailsImplCopyWith<_$RegisterAuditDetailsImpl> + get copyWith => throw _privateConstructorUsedError; } StaffEntries _$StaffEntriesFromJson(Map json) { @@ -1329,11 +1320,11 @@ class _$StaffEntriesCopyWithImpl<$Res, $Val extends StaffEntries> } /// @nodoc -abstract class _$$_StaffEntriesCopyWith<$Res> +abstract class _$$StaffEntriesImplCopyWith<$Res> implements $StaffEntriesCopyWith<$Res> { - factory _$$_StaffEntriesCopyWith( - _$_StaffEntries value, $Res Function(_$_StaffEntries) then) = - __$$_StaffEntriesCopyWithImpl<$Res>; + factory _$$StaffEntriesImplCopyWith( + _$StaffEntriesImpl value, $Res Function(_$StaffEntriesImpl) then) = + __$$StaffEntriesImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1341,11 +1332,11 @@ abstract class _$$_StaffEntriesCopyWith<$Res> } /// @nodoc -class __$$_StaffEntriesCopyWithImpl<$Res> - extends _$StaffEntriesCopyWithImpl<$Res, _$_StaffEntries> - implements _$$_StaffEntriesCopyWith<$Res> { - __$$_StaffEntriesCopyWithImpl( - _$_StaffEntries _value, $Res Function(_$_StaffEntries) _then) +class __$$StaffEntriesImplCopyWithImpl<$Res> + extends _$StaffEntriesCopyWithImpl<$Res, _$StaffEntriesImpl> + implements _$$StaffEntriesImplCopyWith<$Res> { + __$$StaffEntriesImplCopyWithImpl( + _$StaffEntriesImpl _value, $Res Function(_$StaffEntriesImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1356,7 +1347,7 @@ class __$$_StaffEntriesCopyWithImpl<$Res> Object? registerId = freezed, Object? enrollmentDate = freezed, }) { - return _then(_$_StaffEntries( + return _then(_$StaffEntriesImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -1379,12 +1370,12 @@ class __$$_StaffEntriesCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_StaffEntries implements _StaffEntries { - const _$_StaffEntries( +class _$StaffEntriesImpl implements _StaffEntries { + const _$StaffEntriesImpl( {this.id, this.userId, this.registerId, this.enrollmentDate}); - factory _$_StaffEntries.fromJson(Map json) => - _$$_StaffEntriesFromJson(json); + factory _$StaffEntriesImpl.fromJson(Map json) => + _$$StaffEntriesImplFromJson(json); @override final String? id; @@ -1401,10 +1392,10 @@ class _$_StaffEntries implements _StaffEntries { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_StaffEntries && + other is _$StaffEntriesImpl && (identical(other.id, id) || other.id == id) && (identical(other.userId, userId) || other.userId == userId) && (identical(other.registerId, registerId) || @@ -1421,12 +1412,12 @@ class _$_StaffEntries implements _StaffEntries { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_StaffEntriesCopyWith<_$_StaffEntries> get copyWith => - __$$_StaffEntriesCopyWithImpl<_$_StaffEntries>(this, _$identity); + _$$StaffEntriesImplCopyWith<_$StaffEntriesImpl> get copyWith => + __$$StaffEntriesImplCopyWithImpl<_$StaffEntriesImpl>(this, _$identity); @override Map toJson() { - return _$$_StaffEntriesToJson( + return _$$StaffEntriesImplToJson( this, ); } @@ -1437,10 +1428,10 @@ abstract class _StaffEntries implements StaffEntries { {final String? id, final String? userId, final String? registerId, - final int? enrollmentDate}) = _$_StaffEntries; + final int? enrollmentDate}) = _$StaffEntriesImpl; factory _StaffEntries.fromJson(Map json) = - _$_StaffEntries.fromJson; + _$StaffEntriesImpl.fromJson; @override String? get id; @@ -1452,7 +1443,7 @@ abstract class _StaffEntries implements StaffEntries { int? get enrollmentDate; @override @JsonKey(ignore: true) - _$$_StaffEntriesCopyWith<_$_StaffEntries> get copyWith => + _$$StaffEntriesImplCopyWith<_$StaffEntriesImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1492,7 +1483,7 @@ abstract class $AttendeesEntriesCopyWith<$Res> { int? enrollmentDate, int? denrollmentDate, @JsonKey(name: 'additionalDetails') - AttendeesAdditionalDetails? additionalDetails}); + AttendeesAdditionalDetails? additionalDetails}); $AttendeesAdditionalDetailsCopyWith<$Res>? get additionalDetails; } @@ -1565,11 +1556,11 @@ class _$AttendeesEntriesCopyWithImpl<$Res, $Val extends AttendeesEntries> } /// @nodoc -abstract class _$$_AttendeesEntriesCopyWith<$Res> +abstract class _$$AttendeesEntriesImplCopyWith<$Res> implements $AttendeesEntriesCopyWith<$Res> { - factory _$$_AttendeesEntriesCopyWith( - _$_AttendeesEntries value, $Res Function(_$_AttendeesEntries) then) = - __$$_AttendeesEntriesCopyWithImpl<$Res>; + factory _$$AttendeesEntriesImplCopyWith(_$AttendeesEntriesImpl value, + $Res Function(_$AttendeesEntriesImpl) then) = + __$$AttendeesEntriesImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1580,18 +1571,18 @@ abstract class _$$_AttendeesEntriesCopyWith<$Res> int? enrollmentDate, int? denrollmentDate, @JsonKey(name: 'additionalDetails') - AttendeesAdditionalDetails? additionalDetails}); + AttendeesAdditionalDetails? additionalDetails}); @override $AttendeesAdditionalDetailsCopyWith<$Res>? get additionalDetails; } /// @nodoc -class __$$_AttendeesEntriesCopyWithImpl<$Res> - extends _$AttendeesEntriesCopyWithImpl<$Res, _$_AttendeesEntries> - implements _$$_AttendeesEntriesCopyWith<$Res> { - __$$_AttendeesEntriesCopyWithImpl( - _$_AttendeesEntries _value, $Res Function(_$_AttendeesEntries) _then) +class __$$AttendeesEntriesImplCopyWithImpl<$Res> + extends _$AttendeesEntriesCopyWithImpl<$Res, _$AttendeesEntriesImpl> + implements _$$AttendeesEntriesImplCopyWith<$Res> { + __$$AttendeesEntriesImplCopyWithImpl(_$AttendeesEntriesImpl _value, + $Res Function(_$AttendeesEntriesImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1605,7 +1596,7 @@ class __$$_AttendeesEntriesCopyWithImpl<$Res> Object? denrollmentDate = freezed, Object? additionalDetails = freezed, }) { - return _then(_$_AttendeesEntries( + return _then(_$AttendeesEntriesImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -1640,8 +1631,8 @@ class __$$_AttendeesEntriesCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AttendeesEntries implements _AttendeesEntries { - const _$_AttendeesEntries( +class _$AttendeesEntriesImpl implements _AttendeesEntries { + const _$AttendeesEntriesImpl( {this.id, required this.tenantId, this.registerId, @@ -1650,8 +1641,8 @@ class _$_AttendeesEntries implements _AttendeesEntries { this.denrollmentDate, @JsonKey(name: 'additionalDetails') this.additionalDetails}); - factory _$_AttendeesEntries.fromJson(Map json) => - _$$_AttendeesEntriesFromJson(json); + factory _$AttendeesEntriesImpl.fromJson(Map json) => + _$$AttendeesEntriesImplFromJson(json); @override final String? id; @@ -1675,10 +1666,10 @@ class _$_AttendeesEntries implements _AttendeesEntries { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AttendeesEntries && + other is _$AttendeesEntriesImpl && (identical(other.id, id) || other.id == id) && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && @@ -1702,12 +1693,13 @@ class _$_AttendeesEntries implements _AttendeesEntries { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AttendeesEntriesCopyWith<_$_AttendeesEntries> get copyWith => - __$$_AttendeesEntriesCopyWithImpl<_$_AttendeesEntries>(this, _$identity); + _$$AttendeesEntriesImplCopyWith<_$AttendeesEntriesImpl> get copyWith => + __$$AttendeesEntriesImplCopyWithImpl<_$AttendeesEntriesImpl>( + this, _$identity); @override Map toJson() { - return _$$_AttendeesEntriesToJson( + return _$$AttendeesEntriesImplToJson( this, ); } @@ -1722,11 +1714,11 @@ abstract class _AttendeesEntries implements AttendeesEntries { final int? enrollmentDate, final int? denrollmentDate, @JsonKey(name: 'additionalDetails') - final AttendeesAdditionalDetails? additionalDetails}) = - _$_AttendeesEntries; + final AttendeesAdditionalDetails? additionalDetails}) = + _$AttendeesEntriesImpl; factory _AttendeesEntries.fromJson(Map json) = - _$_AttendeesEntries.fromJson; + _$AttendeesEntriesImpl.fromJson; @override String? get id; @@ -1745,7 +1737,7 @@ abstract class _AttendeesEntries implements AttendeesEntries { AttendeesAdditionalDetails? get additionalDetails; @override @JsonKey(ignore: true) - _$$_AttendeesEntriesCopyWith<_$_AttendeesEntries> get copyWith => + _$$AttendeesEntriesImplCopyWith<_$AttendeesEntriesImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1836,12 +1828,12 @@ class _$AttendeesAdditionalDetailsCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_AttendeesAdditionalDetailsCopyWith<$Res> +abstract class _$$AttendeesAdditionalDetailsImplCopyWith<$Res> implements $AttendeesAdditionalDetailsCopyWith<$Res> { - factory _$$_AttendeesAdditionalDetailsCopyWith( - _$_AttendeesAdditionalDetails value, - $Res Function(_$_AttendeesAdditionalDetails) then) = - __$$_AttendeesAdditionalDetailsCopyWithImpl<$Res>; + factory _$$AttendeesAdditionalDetailsImplCopyWith( + _$AttendeesAdditionalDetailsImpl value, + $Res Function(_$AttendeesAdditionalDetailsImpl) then) = + __$$AttendeesAdditionalDetailsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1854,13 +1846,13 @@ abstract class _$$_AttendeesAdditionalDetailsCopyWith<$Res> } /// @nodoc -class __$$_AttendeesAdditionalDetailsCopyWithImpl<$Res> +class __$$AttendeesAdditionalDetailsImplCopyWithImpl<$Res> extends _$AttendeesAdditionalDetailsCopyWithImpl<$Res, - _$_AttendeesAdditionalDetails> - implements _$$_AttendeesAdditionalDetailsCopyWith<$Res> { - __$$_AttendeesAdditionalDetailsCopyWithImpl( - _$_AttendeesAdditionalDetails _value, - $Res Function(_$_AttendeesAdditionalDetails) _then) + _$AttendeesAdditionalDetailsImpl> + implements _$$AttendeesAdditionalDetailsImplCopyWith<$Res> { + __$$AttendeesAdditionalDetailsImplCopyWithImpl( + _$AttendeesAdditionalDetailsImpl _value, + $Res Function(_$AttendeesAdditionalDetailsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1873,7 +1865,7 @@ class __$$_AttendeesAdditionalDetailsCopyWithImpl<$Res> Object? identifierId = freezed, Object? bankNumber = freezed, }) { - return _then(_$_AttendeesAdditionalDetails( + return _then(_$AttendeesAdditionalDetailsImpl( individualName: freezed == individualName ? _value.individualName : individualName // ignore: cast_nullable_to_non_nullable @@ -1904,8 +1896,8 @@ class __$$_AttendeesAdditionalDetailsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AttendeesAdditionalDetails implements _AttendeesAdditionalDetails { - const _$_AttendeesAdditionalDetails( +class _$AttendeesAdditionalDetailsImpl implements _AttendeesAdditionalDetails { + const _$AttendeesAdditionalDetailsImpl( {this.individualName, this.gender, this.individualGaurdianName, @@ -1913,8 +1905,9 @@ class _$_AttendeesAdditionalDetails implements _AttendeesAdditionalDetails { this.identifierId, this.bankNumber}); - factory _$_AttendeesAdditionalDetails.fromJson(Map json) => - _$$_AttendeesAdditionalDetailsFromJson(json); + factory _$AttendeesAdditionalDetailsImpl.fromJson( + Map json) => + _$$AttendeesAdditionalDetailsImplFromJson(json); @override final String? individualName; @@ -1935,10 +1928,10 @@ class _$_AttendeesAdditionalDetails implements _AttendeesAdditionalDetails { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AttendeesAdditionalDetails && + other is _$AttendeesAdditionalDetailsImpl && (identical(other.individualName, individualName) || other.individualName == individualName) && (identical(other.gender, gender) || other.gender == gender) && @@ -1960,13 +1953,13 @@ class _$_AttendeesAdditionalDetails implements _AttendeesAdditionalDetails { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AttendeesAdditionalDetailsCopyWith<_$_AttendeesAdditionalDetails> - get copyWith => __$$_AttendeesAdditionalDetailsCopyWithImpl< - _$_AttendeesAdditionalDetails>(this, _$identity); + _$$AttendeesAdditionalDetailsImplCopyWith<_$AttendeesAdditionalDetailsImpl> + get copyWith => __$$AttendeesAdditionalDetailsImplCopyWithImpl< + _$AttendeesAdditionalDetailsImpl>(this, _$identity); @override Map toJson() { - return _$$_AttendeesAdditionalDetailsToJson( + return _$$AttendeesAdditionalDetailsImplToJson( this, ); } @@ -1980,10 +1973,10 @@ abstract class _AttendeesAdditionalDetails final String? individualGaurdianName, final String? individualID, final String? identifierId, - final String? bankNumber}) = _$_AttendeesAdditionalDetails; + final String? bankNumber}) = _$AttendeesAdditionalDetailsImpl; factory _AttendeesAdditionalDetails.fromJson(Map json) = - _$_AttendeesAdditionalDetails.fromJson; + _$AttendeesAdditionalDetailsImpl.fromJson; @override String? get individualName; @@ -1999,6 +1992,6 @@ abstract class _AttendeesAdditionalDetails String? get bankNumber; @override @JsonKey(ignore: true) - _$$_AttendeesAdditionalDetailsCopyWith<_$_AttendeesAdditionalDetails> + _$$AttendeesAdditionalDetailsImplCopyWith<_$AttendeesAdditionalDetailsImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/attendance/attendance_registry_model.g.dart b/frontend/works_shg_app/lib/models/attendance/attendance_registry_model.g.dart index 79192d52cc..70496e476d 100644 --- a/frontend/works_shg_app/lib/models/attendance/attendance_registry_model.g.dart +++ b/frontend/works_shg_app/lib/models/attendance/attendance_registry_model.g.dart @@ -6,31 +6,31 @@ part of 'attendance_registry_model.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_AttendanceRegistersModel _$$_AttendanceRegistersModelFromJson( +_$AttendanceRegistersModelImpl _$$AttendanceRegistersModelImplFromJson( Map json) => - _$_AttendanceRegistersModel( + _$AttendanceRegistersModelImpl( attendanceRegister: (json['attendanceRegister'] as List?) ?.map((e) => AttendanceRegister.fromJson(e as Map)) .toList(), ); -Map _$$_AttendanceRegistersModelToJson( - _$_AttendanceRegistersModel instance) => +Map _$$AttendanceRegistersModelImplToJson( + _$AttendanceRegistersModelImpl instance) => { 'attendanceRegister': instance.attendanceRegister, }; -_$_AttendanceRegister _$$_AttendanceRegisterFromJson( +_$AttendanceRegisterImpl _$$AttendanceRegisterImplFromJson( Map json) => - _$_AttendanceRegister( + _$AttendanceRegisterImpl( id: json['id'] as String?, tenantId: json['tenantId'] as String, registerNumber: json['registerNumber'] as String?, serviceCode: json['serviceCode'] as String?, referenceId: json['referenceId'] as String?, name: json['name'] as String?, - startDate: json['startDate'] as int?, - endDate: json['endDate'] as int?, + startDate: (json['startDate'] as num?)?.toInt(), + endDate: (json['endDate'] as num?)?.toInt(), status: json['status'] as String?, attendanceRegisterAdditionalDetails: json['additionalDetails'] == null ? null @@ -48,8 +48,8 @@ _$_AttendanceRegister _$$_AttendanceRegisterFromJson( .toList(), ); -Map _$$_AttendanceRegisterToJson( - _$_AttendanceRegister instance) => +Map _$$AttendanceRegisterImplToJson( + _$AttendanceRegisterImpl instance) => { 'id': instance.id, 'tenantId': instance.tenantId, @@ -66,10 +66,10 @@ Map _$$_AttendanceRegisterToJson( 'attendees': instance.attendeesEntries, }; -_$_AttendanceRegisterAdditionalDetails - _$$_AttendanceRegisterAdditionalDetailsFromJson( +_$AttendanceRegisterAdditionalDetailsImpl + _$$AttendanceRegisterAdditionalDetailsImplFromJson( Map json) => - _$_AttendanceRegisterAdditionalDetails( + _$AttendanceRegisterAdditionalDetailsImpl( contractId: json['contractId'] as String?, orgName: json['orgName'] as String?, officerInCharge: json['officerInCharge'] as String?, @@ -80,11 +80,11 @@ _$_AttendanceRegisterAdditionalDetails projectDesc: json['projectDesc'] as String?, locality: json['locality'] as String?, ward: json['ward'] as String?, - amount: json['amount'] as int?, + amount: (json['amount'] as num?)?.toInt(), ); -Map _$$_AttendanceRegisterAdditionalDetailsToJson( - _$_AttendanceRegisterAdditionalDetails instance) => +Map _$$AttendanceRegisterAdditionalDetailsImplToJson( + _$AttendanceRegisterAdditionalDetailsImpl instance) => { 'contractId': instance.contractId, 'orgName': instance.orgName, @@ -99,17 +99,17 @@ Map _$$_AttendanceRegisterAdditionalDetailsToJson( 'amount': instance.amount, }; -_$_RegisterAuditDetails _$$_RegisterAuditDetailsFromJson( +_$RegisterAuditDetailsImpl _$$RegisterAuditDetailsImplFromJson( Map json) => - _$_RegisterAuditDetails( + _$RegisterAuditDetailsImpl( createdBy: json['createdBy'] as String?, lastModifiedBy: json['lastModifiedBy'] as String?, - createdTime: json['createdTime'] as int?, - lastModifiedTime: json['lastModifiedTime'] as int?, + createdTime: (json['createdTime'] as num?)?.toInt(), + lastModifiedTime: (json['lastModifiedTime'] as num?)?.toInt(), ); -Map _$$_RegisterAuditDetailsToJson( - _$_RegisterAuditDetails instance) => +Map _$$RegisterAuditDetailsImplToJson( + _$RegisterAuditDetailsImpl instance) => { 'createdBy': instance.createdBy, 'lastModifiedBy': instance.lastModifiedBy, @@ -117,15 +117,15 @@ Map _$$_RegisterAuditDetailsToJson( 'lastModifiedTime': instance.lastModifiedTime, }; -_$_StaffEntries _$$_StaffEntriesFromJson(Map json) => - _$_StaffEntries( +_$StaffEntriesImpl _$$StaffEntriesImplFromJson(Map json) => + _$StaffEntriesImpl( id: json['id'] as String?, userId: json['userId'] as String?, registerId: json['registerId'] as String?, - enrollmentDate: json['enrollmentDate'] as int?, + enrollmentDate: (json['enrollmentDate'] as num?)?.toInt(), ); -Map _$$_StaffEntriesToJson(_$_StaffEntries instance) => +Map _$$StaffEntriesImplToJson(_$StaffEntriesImpl instance) => { 'id': instance.id, 'userId': instance.userId, @@ -133,21 +133,23 @@ Map _$$_StaffEntriesToJson(_$_StaffEntries instance) => 'enrollmentDate': instance.enrollmentDate, }; -_$_AttendeesEntries _$$_AttendeesEntriesFromJson(Map json) => - _$_AttendeesEntries( +_$AttendeesEntriesImpl _$$AttendeesEntriesImplFromJson( + Map json) => + _$AttendeesEntriesImpl( id: json['id'] as String?, tenantId: json['tenantId'] as String, registerId: json['registerId'] as String?, individualId: json['individualId'] as String?, - enrollmentDate: json['enrollmentDate'] as int?, - denrollmentDate: json['denrollmentDate'] as int?, + enrollmentDate: (json['enrollmentDate'] as num?)?.toInt(), + denrollmentDate: (json['denrollmentDate'] as num?)?.toInt(), additionalDetails: json['additionalDetails'] == null ? null : AttendeesAdditionalDetails.fromJson( json['additionalDetails'] as Map), ); -Map _$$_AttendeesEntriesToJson(_$_AttendeesEntries instance) => +Map _$$AttendeesEntriesImplToJson( + _$AttendeesEntriesImpl instance) => { 'id': instance.id, 'tenantId': instance.tenantId, @@ -158,9 +160,9 @@ Map _$$_AttendeesEntriesToJson(_$_AttendeesEntries instance) => 'additionalDetails': instance.additionalDetails, }; -_$_AttendeesAdditionalDetails _$$_AttendeesAdditionalDetailsFromJson( +_$AttendeesAdditionalDetailsImpl _$$AttendeesAdditionalDetailsImplFromJson( Map json) => - _$_AttendeesAdditionalDetails( + _$AttendeesAdditionalDetailsImpl( individualName: json['individualName'] as String?, gender: json['gender'] as String?, individualGaurdianName: json['individualGaurdianName'] as String?, @@ -169,8 +171,8 @@ _$_AttendeesAdditionalDetails _$$_AttendeesAdditionalDetailsFromJson( bankNumber: json['bankNumber'] as String?, ); -Map _$$_AttendeesAdditionalDetailsToJson( - _$_AttendeesAdditionalDetails instance) => +Map _$$AttendeesAdditionalDetailsImplToJson( + _$AttendeesAdditionalDetailsImpl instance) => { 'individualName': instance.individualName, 'gender': instance.gender, diff --git a/frontend/works_shg_app/lib/models/attendance/attendee_model.freezed.dart b/frontend/works_shg_app/lib/models/attendance/attendee_model.freezed.dart index d98cf80028..5666c2b6f4 100644 --- a/frontend/works_shg_app/lib/models/attendance/attendee_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/attendance/attendee_model.freezed.dart @@ -12,7 +12,7 @@ part of 'attendee_model.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); AttendeeModel _$AttendeeModelFromJson(Map json) { return _AttendeeModel.fromJson(json); @@ -38,7 +38,7 @@ abstract class $AttendeeModelCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'attendanceRegister') - List? attendanceRegister}); + List? attendanceRegister}); } /// @nodoc @@ -66,24 +66,24 @@ class _$AttendeeModelCopyWithImpl<$Res, $Val extends AttendeeModel> } /// @nodoc -abstract class _$$_AttendeeModelCopyWith<$Res> +abstract class _$$AttendeeModelImplCopyWith<$Res> implements $AttendeeModelCopyWith<$Res> { - factory _$$_AttendeeModelCopyWith( - _$_AttendeeModel value, $Res Function(_$_AttendeeModel) then) = - __$$_AttendeeModelCopyWithImpl<$Res>; + factory _$$AttendeeModelImplCopyWith( + _$AttendeeModelImpl value, $Res Function(_$AttendeeModelImpl) then) = + __$$AttendeeModelImplCopyWithImpl<$Res>; @override @useResult $Res call( {@JsonKey(name: 'attendanceRegister') - List? attendanceRegister}); + List? attendanceRegister}); } /// @nodoc -class __$$_AttendeeModelCopyWithImpl<$Res> - extends _$AttendeeModelCopyWithImpl<$Res, _$_AttendeeModel> - implements _$$_AttendeeModelCopyWith<$Res> { - __$$_AttendeeModelCopyWithImpl( - _$_AttendeeModel _value, $Res Function(_$_AttendeeModel) _then) +class __$$AttendeeModelImplCopyWithImpl<$Res> + extends _$AttendeeModelCopyWithImpl<$Res, _$AttendeeModelImpl> + implements _$$AttendeeModelImplCopyWith<$Res> { + __$$AttendeeModelImplCopyWithImpl( + _$AttendeeModelImpl _value, $Res Function(_$AttendeeModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -91,7 +91,7 @@ class __$$_AttendeeModelCopyWithImpl<$Res> $Res call({ Object? attendanceRegister = freezed, }) { - return _then(_$_AttendeeModel( + return _then(_$AttendeeModelImpl( attendanceRegister: freezed == attendanceRegister ? _value._attendanceRegister : attendanceRegister // ignore: cast_nullable_to_non_nullable @@ -102,14 +102,14 @@ class __$$_AttendeeModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AttendeeModel implements _AttendeeModel { - const _$_AttendeeModel( +class _$AttendeeModelImpl implements _AttendeeModel { + const _$AttendeeModelImpl( {@JsonKey(name: 'attendanceRegister') - final List? attendanceRegister}) + final List? attendanceRegister}) : _attendanceRegister = attendanceRegister; - factory _$_AttendeeModel.fromJson(Map json) => - _$$_AttendeeModelFromJson(json); + factory _$AttendeeModelImpl.fromJson(Map json) => + _$$AttendeeModelImplFromJson(json); final List? _attendanceRegister; @override @@ -129,10 +129,10 @@ class _$_AttendeeModel implements _AttendeeModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AttendeeModel && + other is _$AttendeeModelImpl && const DeepCollectionEquality() .equals(other._attendanceRegister, _attendanceRegister)); } @@ -145,12 +145,12 @@ class _$_AttendeeModel implements _AttendeeModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AttendeeModelCopyWith<_$_AttendeeModel> get copyWith => - __$$_AttendeeModelCopyWithImpl<_$_AttendeeModel>(this, _$identity); + _$$AttendeeModelImplCopyWith<_$AttendeeModelImpl> get copyWith => + __$$AttendeeModelImplCopyWithImpl<_$AttendeeModelImpl>(this, _$identity); @override Map toJson() { - return _$$_AttendeeModelToJson( + return _$$AttendeeModelImplToJson( this, ); } @@ -159,18 +159,18 @@ class _$_AttendeeModel implements _AttendeeModel { abstract class _AttendeeModel implements AttendeeModel { const factory _AttendeeModel( {@JsonKey(name: 'attendanceRegister') - final List? attendanceRegister}) = - _$_AttendeeModel; + final List? attendanceRegister}) = + _$AttendeeModelImpl; factory _AttendeeModel.fromJson(Map json) = - _$_AttendeeModel.fromJson; + _$AttendeeModelImpl.fromJson; @override @JsonKey(name: 'attendanceRegister') List? get attendanceRegister; @override @JsonKey(ignore: true) - _$$_AttendeeModelCopyWith<_$_AttendeeModel> get copyWith => + _$$AttendeeModelImplCopyWith<_$AttendeeModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -226,23 +226,25 @@ class _$AttendeeTrackListModelCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_AttendeeTrackListModelCopyWith<$Res> +abstract class _$$AttendeeTrackListModelImplCopyWith<$Res> implements $AttendeeTrackListModelCopyWith<$Res> { - factory _$$_AttendeeTrackListModelCopyWith(_$_AttendeeTrackListModel value, - $Res Function(_$_AttendeeTrackListModel) then) = - __$$_AttendeeTrackListModelCopyWithImpl<$Res>; + factory _$$AttendeeTrackListModelImplCopyWith( + _$AttendeeTrackListModelImpl value, + $Res Function(_$AttendeeTrackListModelImpl) then) = + __$$AttendeeTrackListModelImplCopyWithImpl<$Res>; @override @useResult $Res call({@JsonKey(ignore: true) List? attendeeList}); } /// @nodoc -class __$$_AttendeeTrackListModelCopyWithImpl<$Res> +class __$$AttendeeTrackListModelImplCopyWithImpl<$Res> extends _$AttendeeTrackListModelCopyWithImpl<$Res, - _$_AttendeeTrackListModel> - implements _$$_AttendeeTrackListModelCopyWith<$Res> { - __$$_AttendeeTrackListModelCopyWithImpl(_$_AttendeeTrackListModel _value, - $Res Function(_$_AttendeeTrackListModel) _then) + _$AttendeeTrackListModelImpl> + implements _$$AttendeeTrackListModelImplCopyWith<$Res> { + __$$AttendeeTrackListModelImplCopyWithImpl( + _$AttendeeTrackListModelImpl _value, + $Res Function(_$AttendeeTrackListModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -250,7 +252,7 @@ class __$$_AttendeeTrackListModelCopyWithImpl<$Res> $Res call({ Object? attendeeList = freezed, }) { - return _then(_$_AttendeeTrackListModel( + return _then(_$AttendeeTrackListModelImpl( attendeeList: freezed == attendeeList ? _value._attendeeList : attendeeList // ignore: cast_nullable_to_non_nullable @@ -261,14 +263,14 @@ class __$$_AttendeeTrackListModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AttendeeTrackListModel implements _AttendeeTrackListModel { - const _$_AttendeeTrackListModel( +class _$AttendeeTrackListModelImpl implements _AttendeeTrackListModel { + const _$AttendeeTrackListModelImpl( {@JsonKey(ignore: true) - final List? attendeeList = const []}) + final List? attendeeList = const []}) : _attendeeList = attendeeList; - factory _$_AttendeeTrackListModel.fromJson(Map json) => - _$$_AttendeeTrackListModelFromJson(json); + factory _$AttendeeTrackListModelImpl.fromJson(Map json) => + _$$AttendeeTrackListModelImplFromJson(json); final List? _attendeeList; @override @@ -287,10 +289,10 @@ class _$_AttendeeTrackListModel implements _AttendeeTrackListModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AttendeeTrackListModel && + other is _$AttendeeTrackListModelImpl && const DeepCollectionEquality() .equals(other._attendeeList, _attendeeList)); } @@ -303,13 +305,13 @@ class _$_AttendeeTrackListModel implements _AttendeeTrackListModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AttendeeTrackListModelCopyWith<_$_AttendeeTrackListModel> get copyWith => - __$$_AttendeeTrackListModelCopyWithImpl<_$_AttendeeTrackListModel>( - this, _$identity); + _$$AttendeeTrackListModelImplCopyWith<_$AttendeeTrackListModelImpl> + get copyWith => __$$AttendeeTrackListModelImplCopyWithImpl< + _$AttendeeTrackListModelImpl>(this, _$identity); @override Map toJson() { - return _$$_AttendeeTrackListModelToJson( + return _$$AttendeeTrackListModelImplToJson( this, ); } @@ -318,19 +320,19 @@ class _$_AttendeeTrackListModel implements _AttendeeTrackListModel { abstract class _AttendeeTrackListModel implements AttendeeTrackListModel { const factory _AttendeeTrackListModel( {@JsonKey(ignore: true) - final List? attendeeList}) = - _$_AttendeeTrackListModel; + final List? attendeeList}) = + _$AttendeeTrackListModelImpl; factory _AttendeeTrackListModel.fromJson(Map json) = - _$_AttendeeTrackListModel.fromJson; + _$AttendeeTrackListModelImpl.fromJson; @override @JsonKey(ignore: true) List? get attendeeList; @override @JsonKey(ignore: true) - _$$_AttendeeTrackListModelCopyWith<_$_AttendeeTrackListModel> get copyWith => - throw _privateConstructorUsedError; + _$$AttendeeTrackListModelImplCopyWith<_$AttendeeTrackListModelImpl> + get copyWith => throw _privateConstructorUsedError; } AttendeesTrackList _$AttendeesTrackListFromJson(Map json) { @@ -600,11 +602,11 @@ class _$AttendeesTrackListCopyWithImpl<$Res, $Val extends AttendeesTrackList> } /// @nodoc -abstract class _$$_AttendeesTrackListCopyWith<$Res> +abstract class _$$AttendeesTrackListImplCopyWith<$Res> implements $AttendeesTrackListCopyWith<$Res> { - factory _$$_AttendeesTrackListCopyWith(_$_AttendeesTrackList value, - $Res Function(_$_AttendeesTrackList) then) = - __$$_AttendeesTrackListCopyWithImpl<$Res>; + factory _$$AttendeesTrackListImplCopyWith(_$AttendeesTrackListImpl value, + $Res Function(_$AttendeesTrackListImpl) then) = + __$$AttendeesTrackListImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -644,11 +646,11 @@ abstract class _$$_AttendeesTrackListCopyWith<$Res> } /// @nodoc -class __$$_AttendeesTrackListCopyWithImpl<$Res> - extends _$AttendeesTrackListCopyWithImpl<$Res, _$_AttendeesTrackList> - implements _$$_AttendeesTrackListCopyWith<$Res> { - __$$_AttendeesTrackListCopyWithImpl( - _$_AttendeesTrackList _value, $Res Function(_$_AttendeesTrackList) _then) +class __$$AttendeesTrackListImplCopyWithImpl<$Res> + extends _$AttendeesTrackListCopyWithImpl<$Res, _$AttendeesTrackListImpl> + implements _$$AttendeesTrackListImplCopyWith<$Res> { + __$$AttendeesTrackListImplCopyWithImpl(_$AttendeesTrackListImpl _value, + $Res Function(_$AttendeesTrackListImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -685,7 +687,7 @@ class __$$_AttendeesTrackListCopyWithImpl<$Res> Object? sunIndex = freezed, Object? auditDetails = freezed, }) { - return _then(_$_AttendeesTrackList( + return _then(_$AttendeesTrackListImpl( name: freezed == name ? _value.name : name // ignore: cast_nullable_to_non_nullable @@ -812,8 +814,8 @@ class __$$_AttendeesTrackListCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AttendeesTrackList implements _AttendeesTrackList { - const _$_AttendeesTrackList( +class _$AttendeesTrackListImpl implements _AttendeesTrackList { + const _$AttendeesTrackListImpl( {this.name, this.aadhaar, this.gender, @@ -846,8 +848,8 @@ class _$_AttendeesTrackList implements _AttendeesTrackList { @JsonKey(name: 'auditDetails') this.auditDetails}) : _skillCodeList = skillCodeList; - factory _$_AttendeesTrackList.fromJson(Map json) => - _$$_AttendeesTrackListFromJson(json); + factory _$AttendeesTrackListImpl.fromJson(Map json) => + _$$AttendeesTrackListImplFromJson(json); @override final String? name; @@ -932,10 +934,10 @@ class _$_AttendeesTrackList implements _AttendeesTrackList { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AttendeesTrackList && + other is _$AttendeesTrackListImpl && (identical(other.name, name) || other.name == name) && (identical(other.aadhaar, aadhaar) || other.aadhaar == aadhaar) && (identical(other.gender, gender) || other.gender == gender) && @@ -1032,13 +1034,13 @@ class _$_AttendeesTrackList implements _AttendeesTrackList { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AttendeesTrackListCopyWith<_$_AttendeesTrackList> get copyWith => - __$$_AttendeesTrackListCopyWithImpl<_$_AttendeesTrackList>( + _$$AttendeesTrackListImplCopyWith<_$AttendeesTrackListImpl> get copyWith => + __$$AttendeesTrackListImplCopyWithImpl<_$AttendeesTrackListImpl>( this, _$identity); @override Map toJson() { - return _$$_AttendeesTrackListToJson( + return _$$AttendeesTrackListImplToJson( this, ); } @@ -1076,10 +1078,10 @@ abstract class _AttendeesTrackList implements AttendeesTrackList { final String? sunExitId, final double? sunIndex, @JsonKey(name: 'auditDetails') final AuditDetails? auditDetails}) = - _$_AttendeesTrackList; + _$AttendeesTrackListImpl; factory _AttendeesTrackList.fromJson(Map json) = - _$_AttendeesTrackList.fromJson; + _$AttendeesTrackListImpl.fromJson; @override String? get name; @@ -1144,7 +1146,7 @@ abstract class _AttendeesTrackList implements AttendeesTrackList { AuditDetails? get auditDetails; @override @JsonKey(ignore: true) - _$$_AttendeesTrackListCopyWith<_$_AttendeesTrackList> get copyWith => + _$$AttendeesTrackListImplCopyWith<_$AttendeesTrackListImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1219,11 +1221,11 @@ class _$AttendeeAuditDetailsCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_AttendeeAuditDetailsCopyWith<$Res> +abstract class _$$AttendeeAuditDetailsImplCopyWith<$Res> implements $AttendeeAuditDetailsCopyWith<$Res> { - factory _$$_AttendeeAuditDetailsCopyWith(_$_AttendeeAuditDetails value, - $Res Function(_$_AttendeeAuditDetails) then) = - __$$_AttendeeAuditDetailsCopyWithImpl<$Res>; + factory _$$AttendeeAuditDetailsImplCopyWith(_$AttendeeAuditDetailsImpl value, + $Res Function(_$AttendeeAuditDetailsImpl) then) = + __$$AttendeeAuditDetailsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1234,11 +1236,11 @@ abstract class _$$_AttendeeAuditDetailsCopyWith<$Res> } /// @nodoc -class __$$_AttendeeAuditDetailsCopyWithImpl<$Res> - extends _$AttendeeAuditDetailsCopyWithImpl<$Res, _$_AttendeeAuditDetails> - implements _$$_AttendeeAuditDetailsCopyWith<$Res> { - __$$_AttendeeAuditDetailsCopyWithImpl(_$_AttendeeAuditDetails _value, - $Res Function(_$_AttendeeAuditDetails) _then) +class __$$AttendeeAuditDetailsImplCopyWithImpl<$Res> + extends _$AttendeeAuditDetailsCopyWithImpl<$Res, _$AttendeeAuditDetailsImpl> + implements _$$AttendeeAuditDetailsImplCopyWith<$Res> { + __$$AttendeeAuditDetailsImplCopyWithImpl(_$AttendeeAuditDetailsImpl _value, + $Res Function(_$AttendeeAuditDetailsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1249,7 +1251,7 @@ class __$$_AttendeeAuditDetailsCopyWithImpl<$Res> Object? createdTime = freezed, Object? lastModifiedTime = freezed, }) { - return _then(_$_AttendeeAuditDetails( + return _then(_$AttendeeAuditDetailsImpl( createdBy: freezed == createdBy ? _value.createdBy : createdBy // ignore: cast_nullable_to_non_nullable @@ -1272,15 +1274,15 @@ class __$$_AttendeeAuditDetailsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AttendeeAuditDetails implements _AttendeeAuditDetails { - const _$_AttendeeAuditDetails( +class _$AttendeeAuditDetailsImpl implements _AttendeeAuditDetails { + const _$AttendeeAuditDetailsImpl( {this.createdBy, this.lastModifiedBy, this.createdTime, this.lastModifiedTime}); - factory _$_AttendeeAuditDetails.fromJson(Map json) => - _$$_AttendeeAuditDetailsFromJson(json); + factory _$AttendeeAuditDetailsImpl.fromJson(Map json) => + _$$AttendeeAuditDetailsImplFromJson(json); @override final String? createdBy; @@ -1297,10 +1299,10 @@ class _$_AttendeeAuditDetails implements _AttendeeAuditDetails { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AttendeeAuditDetails && + other is _$AttendeeAuditDetailsImpl && (identical(other.createdBy, createdBy) || other.createdBy == createdBy) && (identical(other.lastModifiedBy, lastModifiedBy) || @@ -1319,13 +1321,14 @@ class _$_AttendeeAuditDetails implements _AttendeeAuditDetails { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AttendeeAuditDetailsCopyWith<_$_AttendeeAuditDetails> get copyWith => - __$$_AttendeeAuditDetailsCopyWithImpl<_$_AttendeeAuditDetails>( - this, _$identity); + _$$AttendeeAuditDetailsImplCopyWith<_$AttendeeAuditDetailsImpl> + get copyWith => + __$$AttendeeAuditDetailsImplCopyWithImpl<_$AttendeeAuditDetailsImpl>( + this, _$identity); @override Map toJson() { - return _$$_AttendeeAuditDetailsToJson( + return _$$AttendeeAuditDetailsImplToJson( this, ); } @@ -1336,10 +1339,10 @@ abstract class _AttendeeAuditDetails implements AttendeeAuditDetails { {final String? createdBy, final String? lastModifiedBy, final int? createdTime, - final int? lastModifiedTime}) = _$_AttendeeAuditDetails; + final int? lastModifiedTime}) = _$AttendeeAuditDetailsImpl; factory _AttendeeAuditDetails.fromJson(Map json) = - _$_AttendeeAuditDetails.fromJson; + _$AttendeeAuditDetailsImpl.fromJson; @override String? get createdBy; @@ -1351,6 +1354,6 @@ abstract class _AttendeeAuditDetails implements AttendeeAuditDetails { int? get lastModifiedTime; @override @JsonKey(ignore: true) - _$$_AttendeeAuditDetailsCopyWith<_$_AttendeeAuditDetails> get copyWith => - throw _privateConstructorUsedError; + _$$AttendeeAuditDetailsImplCopyWith<_$AttendeeAuditDetailsImpl> + get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/attendance/attendee_model.g.dart b/frontend/works_shg_app/lib/models/attendance/attendee_model.g.dart index caeae6acdd..855a40abcb 100644 --- a/frontend/works_shg_app/lib/models/attendance/attendee_model.g.dart +++ b/frontend/works_shg_app/lib/models/attendance/attendee_model.g.dart @@ -6,29 +6,29 @@ part of 'attendee_model.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_AttendeeModel _$$_AttendeeModelFromJson(Map json) => - _$_AttendeeModel( +_$AttendeeModelImpl _$$AttendeeModelImplFromJson(Map json) => + _$AttendeeModelImpl( attendanceRegister: (json['attendanceRegister'] as List?) ?.map((e) => AttendanceRegister.fromJson(e as Map)) .toList(), ); -Map _$$_AttendeeModelToJson(_$_AttendeeModel instance) => +Map _$$AttendeeModelImplToJson(_$AttendeeModelImpl instance) => { 'attendanceRegister': instance.attendanceRegister, }; -_$_AttendeeTrackListModel _$$_AttendeeTrackListModelFromJson( +_$AttendeeTrackListModelImpl _$$AttendeeTrackListModelImplFromJson( Map json) => - _$_AttendeeTrackListModel(); + _$AttendeeTrackListModelImpl(); -Map _$$_AttendeeTrackListModelToJson( - _$_AttendeeTrackListModel instance) => +Map _$$AttendeeTrackListModelImplToJson( + _$AttendeeTrackListModelImpl instance) => {}; -_$_AttendeesTrackList _$$_AttendeesTrackListFromJson( +_$AttendeesTrackListImpl _$$AttendeesTrackListImplFromJson( Map json) => - _$_AttendeesTrackList( + _$AttendeesTrackListImpl( name: json['name'] as String?, aadhaar: json['aadhaar'] as String?, gender: json['gender'] as String?, @@ -65,8 +65,8 @@ _$_AttendeesTrackList _$$_AttendeesTrackListFromJson( : AuditDetails.fromJson(json['auditDetails'] as Map), ); -Map _$$_AttendeesTrackListToJson( - _$_AttendeesTrackList instance) => +Map _$$AttendeesTrackListImplToJson( + _$AttendeesTrackListImpl instance) => { 'name': instance.name, 'aadhaar': instance.aadhaar, @@ -100,17 +100,17 @@ Map _$$_AttendeesTrackListToJson( 'auditDetails': instance.auditDetails, }; -_$_AttendeeAuditDetails _$$_AttendeeAuditDetailsFromJson( +_$AttendeeAuditDetailsImpl _$$AttendeeAuditDetailsImplFromJson( Map json) => - _$_AttendeeAuditDetails( + _$AttendeeAuditDetailsImpl( createdBy: json['createdBy'] as String?, lastModifiedBy: json['lastModifiedBy'] as String?, - createdTime: json['createdTime'] as int?, - lastModifiedTime: json['lastModifiedTime'] as int?, + createdTime: (json['createdTime'] as num?)?.toInt(), + lastModifiedTime: (json['lastModifiedTime'] as num?)?.toInt(), ); -Map _$$_AttendeeAuditDetailsToJson( - _$_AttendeeAuditDetails instance) => +Map _$$AttendeeAuditDetailsImplToJson( + _$AttendeeAuditDetailsImpl instance) => { 'createdBy': instance.createdBy, 'lastModifiedBy': instance.lastModifiedBy, diff --git a/frontend/works_shg_app/lib/models/attendance/individual_list_model.mapper.dart b/frontend/works_shg_app/lib/models/attendance/individual_list_model.mapper.dart index 00b84637a1..b2b7b55cc3 100644 --- a/frontend/works_shg_app/lib/models/attendance/individual_list_model.mapper.dart +++ b/frontend/works_shg_app/lib/models/attendance/individual_list_model.mapper.dart @@ -1,624 +1,332 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element +// ignore_for_file: unused_element, unnecessary_cast, override_on_non_overriding_member +// ignore_for_file: strict_raw_type, inference_failure_on_untyped_parameter part of 'individual_list_model.dart'; -class IndividualListModelMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {IndividualListModelMapper()}, - )..linkAll({IndividualModelMapper.container}); +class IndividualListModelMapper extends ClassMapperBase { + IndividualListModelMapper._(); - @override - IndividualListModelMapperElement createElement(MapperContainer container) { - return IndividualListModelMapperElement._(this, container); + static IndividualListModelMapper? _instance; + static IndividualListModelMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = IndividualListModelMapper._()); + IndividualModelMapper.ensureInitialized(); + } + return _instance!; } @override - String get id => 'IndividualListModel'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + final String id = 'IndividualListModel'; -class IndividualListModelMapperElement - extends MapperElementBase { - IndividualListModelMapperElement._(super.mapper, super.container); + static List? _$Individual(IndividualListModel v) => + v.Individual; + static const Field> _f$Individual = + Field('Individual', _$Individual, opt: true); @override - Function get decoder => decode; - IndividualListModel decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - IndividualListModel fromMap(Map map) => - IndividualListModel(Individual: container.$getOpt(map, 'Individual')); + final MappableFields fields = const { + #Individual: _f$Individual, + }; - @override - Function get encoder => encode; - dynamic encode(IndividualListModel v) => toMap(v); - Map toMap(IndividualListModel i) => - {'Individual': container.$enc(i.Individual, 'Individual')}; + static IndividualListModel _instantiate(DecodingData data) { + return IndividualListModel(Individual: data.dec(_f$Individual)); + } @override - String stringify(IndividualListModel self) => - 'IndividualListModel(Individual: ${container.asString(self.Individual)})'; - @override - int hash(IndividualListModel self) => container.hash(self.Individual); - @override - bool equals(IndividualListModel self, IndividualListModel other) => - container.isEqual(self.Individual, other.Individual); + final Function instantiate = _instantiate; + + static IndividualListModel fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static IndividualListModel fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin IndividualListModelMappable { - String toJson() => - IndividualListModelMapper.container.toJson(this as IndividualListModel); - Map toMap() => - IndividualListModelMapper.container.toMap(this as IndividualListModel); + String toJson() { + return IndividualListModelMapper.ensureInitialized() + .encodeJson(this as IndividualListModel); + } + + Map toMap() { + return IndividualListModelMapper.ensureInitialized() + .encodeMap(this as IndividualListModel); + } + IndividualListModelCopyWith get copyWith => _IndividualListModelCopyWithImpl( this as IndividualListModel, $identity, $identity); @override - String toString() => IndividualListModelMapper.container.asString(this); + String toString() { + return IndividualListModelMapper.ensureInitialized() + .stringifyValue(this as IndividualListModel); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - IndividualListModelMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return IndividualListModelMapper.ensureInitialized() + .equalsValue(this as IndividualListModel, other); + } + @override - int get hashCode => IndividualListModelMapper.container.hash(this); + int get hashCode { + return IndividualListModelMapper.ensureInitialized() + .hashValue(this as IndividualListModel); + } } -extension IndividualListModelValueCopy<$R, $Out extends IndividualListModel> +extension IndividualListModelValueCopy<$R, $Out> on ObjectCopyWith<$R, IndividualListModel, $Out> { IndividualListModelCopyWith<$R, IndividualListModel, $Out> - get asIndividualListModel => - base.as((v, t, t2) => _IndividualListModelCopyWithImpl(v, t, t2)); + get $asIndividualListModel => + $base.as((v, t, t2) => _IndividualListModelCopyWithImpl(v, t, t2)); } -typedef IndividualListModelCopyWithBound = IndividualListModel; - abstract class IndividualListModelCopyWith<$R, $In extends IndividualListModel, - $Out extends IndividualListModel> implements ObjectCopyWith<$R, $In, $Out> { - IndividualListModelCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends IndividualListModel>( - Then t, Then<$Out2, $R2> t2); + $Out> implements ClassCopyWith<$R, $In, $Out> { ListCopyWith<$R, IndividualModel, IndividualModelCopyWith<$R, IndividualModel, IndividualModel>>? get Individual; $R call({List? Individual}); + IndividualListModelCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _IndividualListModelCopyWithImpl<$R, $Out extends IndividualListModel> - extends CopyWithBase<$R, IndividualListModel, $Out> +class _IndividualListModelCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, IndividualListModel, $Out> implements IndividualListModelCopyWith<$R, IndividualListModel, $Out> { _IndividualListModelCopyWithImpl(super.value, super.then, super.then2); - @override - IndividualListModelCopyWith<$R2, IndividualListModel, $Out2> - chain<$R2, $Out2 extends IndividualListModel>( - Then t, Then<$Out2, $R2> t2) => - _IndividualListModelCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + IndividualListModelMapper.ensureInitialized(); @override ListCopyWith<$R, IndividualModel, IndividualModelCopyWith<$R, IndividualModel, IndividualModel>>? get Individual => $value.Individual != null - ? ListCopyWith( - $value.Individual!, - (v, t) => v.copyWith.chain<$R, IndividualModel>($identity, t), + ? ListCopyWith($value.Individual!, (v, t) => v.copyWith.$chain(t), (v) => call(Individual: v)) : null; @override - $R call({Object? Individual = $none}) => - $then(IndividualListModel(Individual: or(Individual, $value.Individual))); -} - -class SingleIndividualModelMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {SingleIndividualModelMapper()}, - )..linkAll({IndividualModelMapper.container}); - - @override - SingleIndividualModelMapperElement createElement(MapperContainer container) { - return SingleIndividualModelMapperElement._(this, container); - } - - @override - String get id => 'SingleIndividualModel'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} - -class SingleIndividualModelMapperElement - extends MapperElementBase { - SingleIndividualModelMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - SingleIndividualModel decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - SingleIndividualModel fromMap(Map map) => - SingleIndividualModel(Individual: container.$getOpt(map, 'Individual')); - - @override - Function get encoder => encode; - dynamic encode(SingleIndividualModel v) => toMap(v); - Map toMap(SingleIndividualModel s) => - {'Individual': container.$enc(s.Individual, 'Individual')}; - - @override - String stringify(SingleIndividualModel self) => - 'SingleIndividualModel(Individual: ${container.asString(self.Individual)})'; - @override - int hash(SingleIndividualModel self) => container.hash(self.Individual); - @override - bool equals(SingleIndividualModel self, SingleIndividualModel other) => - container.isEqual(self.Individual, other.Individual); -} - -mixin SingleIndividualModelMappable { - String toJson() => SingleIndividualModelMapper.container - .toJson(this as SingleIndividualModel); - Map toMap() => SingleIndividualModelMapper.container - .toMap(this as SingleIndividualModel); - SingleIndividualModelCopyWith - get copyWith => _SingleIndividualModelCopyWithImpl( - this as SingleIndividualModel, $identity, $identity); - @override - String toString() => SingleIndividualModelMapper.container.asString(this); - @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - SingleIndividualModelMapper.container.isEqual(this, other)); - @override - int get hashCode => SingleIndividualModelMapper.container.hash(this); -} - -extension SingleIndividualModelValueCopy<$R, $Out extends SingleIndividualModel> - on ObjectCopyWith<$R, SingleIndividualModel, $Out> { - SingleIndividualModelCopyWith<$R, SingleIndividualModel, $Out> - get asSingleIndividualModel => - base.as((v, t, t2) => _SingleIndividualModelCopyWithImpl(v, t, t2)); -} - -typedef SingleIndividualModelCopyWithBound = SingleIndividualModel; - -abstract class SingleIndividualModelCopyWith<$R, - $In extends SingleIndividualModel, $Out extends SingleIndividualModel> - implements ObjectCopyWith<$R, $In, $Out> { - SingleIndividualModelCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends SingleIndividualModel>( - Then t, Then<$Out2, $R2> t2); - IndividualModelCopyWith<$R, IndividualModel, IndividualModel>? get Individual; - $R call({IndividualModel? Individual}); -} - -class _SingleIndividualModelCopyWithImpl<$R, $Out extends SingleIndividualModel> - extends CopyWithBase<$R, SingleIndividualModel, $Out> - implements SingleIndividualModelCopyWith<$R, SingleIndividualModel, $Out> { - _SingleIndividualModelCopyWithImpl(super.value, super.then, super.then2); - @override - SingleIndividualModelCopyWith<$R2, SingleIndividualModel, $Out2> - chain<$R2, $Out2 extends SingleIndividualModel>( - Then t, Then<$Out2, $R2> t2) => - _SingleIndividualModelCopyWithImpl($value, t, t2); - - @override - IndividualModelCopyWith<$R, IndividualModel, IndividualModel>? - get Individual => $value.Individual?.copyWith - .chain($identity, (v) => call(Individual: v)); + $R call({Object? Individual = $none}) => $apply( + FieldCopyWithData({if (Individual != $none) #Individual: Individual})); @override - $R call({Object? Individual = $none}) => $then( - SingleIndividualModel(Individual: or(Individual, $value.Individual))); -} - -class WMSIndividualListModelMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {WMSIndividualListModelMapper()}, - )..linkAll({SingleWMSIndividualModelMapper.container}); + IndividualListModel $make(CopyWithData data) => IndividualListModel( + Individual: data.get(#Individual, or: $value.Individual)); @override - WMSIndividualListModelMapperElement createElement(MapperContainer container) { - return WMSIndividualListModelMapperElement._(this, container); + IndividualListModelCopyWith<$R2, IndividualListModel, $Out2> + $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _IndividualListModelCopyWithImpl($value, $cast, t); +} + +class IndividualModelMapper extends ClassMapperBase { + IndividualModelMapper._(); + + static IndividualModelMapper? _instance; + static IndividualModelMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = IndividualModelMapper._()); + IndividualNameMapper.ensureInitialized(); + CommonAuditDetailsMapper.ensureInitialized(); + IndividualSkillsMapper.ensureInitialized(); + IndividualAdditionalFieldsMapper.ensureInitialized(); + IndividualAddressMapper.ensureInitialized(); + IndividualIdentifiersMapper.ensureInitialized(); + } + return _instance!; } @override - String get id => 'WMSIndividualListModel'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} - -class WMSIndividualListModelMapperElement - extends MapperElementBase { - WMSIndividualListModelMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - WMSIndividualListModel decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - WMSIndividualListModel fromMap(Map map) => - WMSIndividualListModel(items: container.$getOpt(map, 'items')); - - @override - Function get encoder => encode; - dynamic encode(WMSIndividualListModel v) => toMap(v); - Map toMap(WMSIndividualListModel w) => - {'items': container.$enc(w.items, 'items')}; - - @override - String stringify(WMSIndividualListModel self) => - 'WMSIndividualListModel(items: ${container.asString(self.items)})'; - @override - int hash(WMSIndividualListModel self) => container.hash(self.items); - @override - bool equals(WMSIndividualListModel self, WMSIndividualListModel other) => - container.isEqual(self.items, other.items); -} - -mixin WMSIndividualListModelMappable { - String toJson() => WMSIndividualListModelMapper.container - .toJson(this as WMSIndividualListModel); - Map toMap() => WMSIndividualListModelMapper.container - .toMap(this as WMSIndividualListModel); - WMSIndividualListModelCopyWith - get copyWith => _WMSIndividualListModelCopyWithImpl( - this as WMSIndividualListModel, $identity, $identity); - @override - String toString() => WMSIndividualListModelMapper.container.asString(this); - @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - WMSIndividualListModelMapper.container.isEqual(this, other)); - @override - int get hashCode => WMSIndividualListModelMapper.container.hash(this); -} - -extension WMSIndividualListModelValueCopy<$R, - $Out extends WMSIndividualListModel> - on ObjectCopyWith<$R, WMSIndividualListModel, $Out> { - WMSIndividualListModelCopyWith<$R, WMSIndividualListModel, $Out> - get asWMSIndividualListModel => - base.as((v, t, t2) => _WMSIndividualListModelCopyWithImpl(v, t, t2)); -} - -typedef WMSIndividualListModelCopyWithBound = WMSIndividualListModel; - -abstract class WMSIndividualListModelCopyWith<$R, - $In extends WMSIndividualListModel, $Out extends WMSIndividualListModel> - implements ObjectCopyWith<$R, $In, $Out> { - WMSIndividualListModelCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends WMSIndividualListModel>( - Then t, Then<$Out2, $R2> t2); - ListCopyWith< - $R, - SingleWMSIndividualModel, - SingleWMSIndividualModelCopyWith<$R, SingleWMSIndividualModel, - SingleWMSIndividualModel>>? get items; - $R call({List? items}); -} - -class _WMSIndividualListModelCopyWithImpl<$R, - $Out extends WMSIndividualListModel> - extends CopyWithBase<$R, WMSIndividualListModel, $Out> - implements - WMSIndividualListModelCopyWith<$R, WMSIndividualListModel, $Out> { - _WMSIndividualListModelCopyWithImpl(super.value, super.then, super.then2); - @override - WMSIndividualListModelCopyWith<$R2, WMSIndividualListModel, $Out2> - chain<$R2, $Out2 extends WMSIndividualListModel>( - Then t, Then<$Out2, $R2> t2) => - _WMSIndividualListModelCopyWithImpl($value, t, t2); - - @override - ListCopyWith< - $R, - SingleWMSIndividualModel, - SingleWMSIndividualModelCopyWith<$R, SingleWMSIndividualModel, - SingleWMSIndividualModel>>? get items => $value.items != null - ? ListCopyWith( - $value.items!, - (v, t) => - v.copyWith.chain<$R, SingleWMSIndividualModel>($identity, t), - (v) => call(items: v)) - : null; - @override - $R call({Object? items = $none}) => - $then(WMSIndividualListModel(items: or(items, $value.items))); -} - -class SingleWMSIndividualModelMapper - extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {SingleWMSIndividualModelMapper()}, - )..linkAll({IndividualModelMapper.container}); - - @override - SingleWMSIndividualModelMapperElement createElement( - MapperContainer container) { - return SingleWMSIndividualModelMapperElement._(this, container); + final String id = 'IndividualModel'; + + static String? _$id(IndividualModel v) => v.id; + static const Field _f$id = + Field('id', _$id, opt: true); + static IndividualName? _$name(IndividualModel v) => v.name; + static const Field _f$name = + Field('name', _$name, opt: true); + static String _$tenantId(IndividualModel v) => v.tenantId; + static const Field _f$tenantId = + Field('tenantId', _$tenantId); + static CommonAuditDetails? _$auditDetails(IndividualModel v) => + v.auditDetails; + static const Field _f$auditDetails = + Field('auditDetails', _$auditDetails, opt: true); + static List? _$skills(IndividualModel v) => v.skills; + static const Field> _f$skills = + Field('skills', _$skills, opt: true); + static String? _$mobileNumber(IndividualModel v) => v.mobileNumber; + static const Field _f$mobileNumber = + Field('mobileNumber', _$mobileNumber, opt: true); + static String? _$individualId(IndividualModel v) => v.individualId; + static const Field _f$individualId = + Field('individualId', _$individualId, opt: true); + static String? _$gender(IndividualModel v) => v.gender; + static const Field _f$gender = + Field('gender', _$gender, opt: true); + static String? _$userId(IndividualModel v) => v.userId; + static const Field _f$userId = + Field('userId', _$userId, opt: true); + static IndividualAdditionalFields? _$additionalFields(IndividualModel v) => + v.additionalFields; + static const Field + _f$additionalFields = + Field('additionalFields', _$additionalFields, opt: true); + static List? _$address(IndividualModel v) => v.address; + static const Field> _f$address = + Field('address', _$address, opt: true); + static String? _$altContactNumber(IndividualModel v) => v.altContactNumber; + static const Field _f$altContactNumber = + Field('altContactNumber', _$altContactNumber, opt: true); + static String? _$bloodGroup(IndividualModel v) => v.bloodGroup; + static const Field _f$bloodGroup = + Field('bloodGroup', _$bloodGroup, opt: true); + static String? _$clientReferenceId(IndividualModel v) => v.clientReferenceId; + static const Field _f$clientReferenceId = + Field('clientReferenceId', _$clientReferenceId, opt: true); + static String? _$dateOfBirth(IndividualModel v) => v.dateOfBirth; + static const Field _f$dateOfBirth = + Field('dateOfBirth', _$dateOfBirth, opt: true); + static String? _$email(IndividualModel v) => v.email; + static const Field _f$email = + Field('email', _$email, opt: true); + static String? _$fatherName(IndividualModel v) => v.fatherName; + static const Field _f$fatherName = + Field('fatherName', _$fatherName, opt: true); + static String? _$husbandName(IndividualModel v) => v.husbandName; + static const Field _f$husbandName = + Field('husbandName', _$husbandName, opt: true); + static List? _$identifiers(IndividualModel v) => + v.identifiers; + static const Field> + _f$identifiers = Field('identifiers', _$identifiers, opt: true); + static bool? _$isDeleted(IndividualModel v) => v.isDeleted; + static const Field _f$isDeleted = + Field('isDeleted', _$isDeleted, opt: true); + static String? _$photo(IndividualModel v) => v.photo; + static const Field _f$photo = + Field('photo', _$photo, opt: true); + static String? _$relationship(IndividualModel v) => v.relationship; + static const Field _f$relationship = + Field('relationship', _$relationship, opt: true); + static int? _$rowVersion(IndividualModel v) => v.rowVersion; + static const Field _f$rowVersion = + Field('rowVersion', _$rowVersion, opt: true); + + @override + final MappableFields fields = const { + #id: _f$id, + #name: _f$name, + #tenantId: _f$tenantId, + #auditDetails: _f$auditDetails, + #skills: _f$skills, + #mobileNumber: _f$mobileNumber, + #individualId: _f$individualId, + #gender: _f$gender, + #userId: _f$userId, + #additionalFields: _f$additionalFields, + #address: _f$address, + #altContactNumber: _f$altContactNumber, + #bloodGroup: _f$bloodGroup, + #clientReferenceId: _f$clientReferenceId, + #dateOfBirth: _f$dateOfBirth, + #email: _f$email, + #fatherName: _f$fatherName, + #husbandName: _f$husbandName, + #identifiers: _f$identifiers, + #isDeleted: _f$isDeleted, + #photo: _f$photo, + #relationship: _f$relationship, + #rowVersion: _f$rowVersion, + }; + + static IndividualModel _instantiate(DecodingData data) { + return IndividualModel( + id: data.dec(_f$id), + name: data.dec(_f$name), + tenantId: data.dec(_f$tenantId), + auditDetails: data.dec(_f$auditDetails), + skills: data.dec(_f$skills), + mobileNumber: data.dec(_f$mobileNumber), + individualId: data.dec(_f$individualId), + gender: data.dec(_f$gender), + userId: data.dec(_f$userId), + additionalFields: data.dec(_f$additionalFields), + address: data.dec(_f$address), + altContactNumber: data.dec(_f$altContactNumber), + bloodGroup: data.dec(_f$bloodGroup), + clientReferenceId: data.dec(_f$clientReferenceId), + dateOfBirth: data.dec(_f$dateOfBirth), + email: data.dec(_f$email), + fatherName: data.dec(_f$fatherName), + husbandName: data.dec(_f$husbandName), + identifiers: data.dec(_f$identifiers), + isDeleted: data.dec(_f$isDeleted), + photo: data.dec(_f$photo), + relationship: data.dec(_f$relationship), + rowVersion: data.dec(_f$rowVersion)); } @override - String get id => 'SingleWMSIndividualModel'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} - -class SingleWMSIndividualModelMapperElement - extends MapperElementBase { - SingleWMSIndividualModelMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - SingleWMSIndividualModel decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - SingleWMSIndividualModel fromMap(Map map) => - SingleWMSIndividualModel( - businessObject: container.$getOpt(map, 'businessObject')); - - @override - Function get encoder => encode; - dynamic encode(SingleWMSIndividualModel v) => toMap(v); - Map toMap(SingleWMSIndividualModel s) => - {'businessObject': container.$enc(s.businessObject, 'businessObject')}; - - @override - String stringify(SingleWMSIndividualModel self) => - 'SingleWMSIndividualModel(businessObject: ${container.asString(self.businessObject)})'; - @override - int hash(SingleWMSIndividualModel self) => - container.hash(self.businessObject); - @override - bool equals(SingleWMSIndividualModel self, SingleWMSIndividualModel other) => - container.isEqual(self.businessObject, other.businessObject); -} - -mixin SingleWMSIndividualModelMappable { - String toJson() => SingleWMSIndividualModelMapper.container - .toJson(this as SingleWMSIndividualModel); - Map toMap() => SingleWMSIndividualModelMapper.container - .toMap(this as SingleWMSIndividualModel); - SingleWMSIndividualModelCopyWith - get copyWith => _SingleWMSIndividualModelCopyWithImpl( - this as SingleWMSIndividualModel, $identity, $identity); - @override - String toString() => SingleWMSIndividualModelMapper.container.asString(this); - @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - SingleWMSIndividualModelMapper.container.isEqual(this, other)); - @override - int get hashCode => SingleWMSIndividualModelMapper.container.hash(this); -} + final Function instantiate = _instantiate; -extension SingleWMSIndividualModelValueCopy<$R, - $Out extends SingleWMSIndividualModel> - on ObjectCopyWith<$R, SingleWMSIndividualModel, $Out> { - SingleWMSIndividualModelCopyWith<$R, SingleWMSIndividualModel, $Out> - get asSingleWMSIndividualModel => base - .as((v, t, t2) => _SingleWMSIndividualModelCopyWithImpl(v, t, t2)); -} - -typedef SingleWMSIndividualModelCopyWithBound = SingleWMSIndividualModel; + static IndividualModel fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } -abstract class SingleWMSIndividualModelCopyWith< - $R, - $In extends SingleWMSIndividualModel, - $Out extends SingleWMSIndividualModel> - implements ObjectCopyWith<$R, $In, $Out> { - SingleWMSIndividualModelCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends SingleWMSIndividualModel>( - Then t, Then<$Out2, $R2> t2); - IndividualModelCopyWith<$R, IndividualModel, IndividualModel>? - get businessObject; - $R call({IndividualModel? businessObject}); + static IndividualModel fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -class _SingleWMSIndividualModelCopyWithImpl<$R, - $Out extends SingleWMSIndividualModel> - extends CopyWithBase<$R, SingleWMSIndividualModel, $Out> - implements - SingleWMSIndividualModelCopyWith<$R, SingleWMSIndividualModel, $Out> { - _SingleWMSIndividualModelCopyWithImpl(super.value, super.then, super.then2); - @override - SingleWMSIndividualModelCopyWith<$R2, SingleWMSIndividualModel, $Out2> - chain<$R2, $Out2 extends SingleWMSIndividualModel>( - Then t, Then<$Out2, $R2> t2) => - _SingleWMSIndividualModelCopyWithImpl($value, t, t2); +mixin IndividualModelMappable { + String toJson() { + return IndividualModelMapper.ensureInitialized() + .encodeJson(this as IndividualModel); + } - @override - IndividualModelCopyWith<$R, IndividualModel, IndividualModel>? - get businessObject => $value.businessObject?.copyWith - .chain($identity, (v) => call(businessObject: v)); - @override - $R call({Object? businessObject = $none}) => $then(SingleWMSIndividualModel( - businessObject: or(businessObject, $value.businessObject))); -} - -class IndividualModelMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {IndividualModelMapper()}, - )..linkAll({ - IndividualNameMapper.container, - CommonAuditDetailsMapper.container, - IndividualSkillsMapper.container, - IndividualAdditionalFieldsMapper.container, - IndividualAddressMapper.container, - IndividualIdentifiersMapper.container, - }); - - @override - IndividualModelMapperElement createElement(MapperContainer container) { - return IndividualModelMapperElement._(this, container); - } - - @override - String get id => 'IndividualModel'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} - -class IndividualModelMapperElement extends MapperElementBase { - IndividualModelMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - IndividualModel decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - IndividualModel fromMap(Map map) => IndividualModel( - id: container.$getOpt(map, 'id'), - name: container.$getOpt(map, 'name'), - tenantId: container.$get(map, 'tenantId'), - auditDetails: container.$getOpt(map, 'auditDetails'), - skills: container.$getOpt(map, 'skills'), - mobileNumber: container.$getOpt(map, 'mobileNumber'), - individualId: container.$getOpt(map, 'individualId'), - gender: container.$getOpt(map, 'gender'), - userId: container.$getOpt(map, 'userId'), - additionalFields: container.$getOpt(map, 'additionalFields'), - address: container.$getOpt(map, 'address'), - altContactNumber: container.$getOpt(map, 'altContactNumber'), - bloodGroup: container.$getOpt(map, 'bloodGroup'), - clientReferenceId: container.$getOpt(map, 'clientReferenceId'), - dateOfBirth: container.$getOpt(map, 'dateOfBirth'), - email: container.$getOpt(map, 'email'), - fatherName: container.$getOpt(map, 'fatherName'), - husbandName: container.$getOpt(map, 'husbandName'), - identifiers: container.$getOpt(map, 'identifiers'), - isDeleted: container.$getOpt(map, 'isDeleted'), - photo: container.$getOpt(map, 'photo'), - relationship: container.$getOpt(map, 'relationship'), - rowVersion: container.$getOpt(map, 'rowVersion')); - - @override - Function get encoder => encode; - dynamic encode(IndividualModel v) => toMap(v); - Map toMap(IndividualModel i) => { - 'id': container.$enc(i.id, 'id'), - 'name': container.$enc(i.name, 'name'), - 'tenantId': container.$enc(i.tenantId, 'tenantId'), - 'auditDetails': container.$enc(i.auditDetails, 'auditDetails'), - 'skills': container.$enc(i.skills, 'skills'), - 'mobileNumber': container.$enc(i.mobileNumber, 'mobileNumber'), - 'individualId': container.$enc(i.individualId, 'individualId'), - 'gender': container.$enc(i.gender, 'gender'), - 'userId': container.$enc(i.userId, 'userId'), - 'additionalFields': - container.$enc(i.additionalFields, 'additionalFields'), - 'address': container.$enc(i.address, 'address'), - 'altContactNumber': - container.$enc(i.altContactNumber, 'altContactNumber'), - 'bloodGroup': container.$enc(i.bloodGroup, 'bloodGroup'), - 'clientReferenceId': - container.$enc(i.clientReferenceId, 'clientReferenceId'), - 'dateOfBirth': container.$enc(i.dateOfBirth, 'dateOfBirth'), - 'email': container.$enc(i.email, 'email'), - 'fatherName': container.$enc(i.fatherName, 'fatherName'), - 'husbandName': container.$enc(i.husbandName, 'husbandName'), - 'identifiers': container.$enc(i.identifiers, 'identifiers'), - 'isDeleted': container.$enc(i.isDeleted, 'isDeleted'), - 'photo': container.$enc(i.photo, 'photo'), - 'relationship': container.$enc(i.relationship, 'relationship'), - 'rowVersion': container.$enc(i.rowVersion, 'rowVersion') - }; - - @override - String stringify(IndividualModel self) => - 'IndividualModel(id: ${container.asString(self.id)}, individualId: ${container.asString(self.individualId)}, tenantId: ${container.asString(self.tenantId)}, clientReferenceId: ${container.asString(self.clientReferenceId)}, userId: ${container.asString(self.userId)}, name: ${container.asString(self.name)}, dateOfBirth: ${container.asString(self.dateOfBirth)}, gender: ${container.asString(self.gender)}, bloodGroup: ${container.asString(self.bloodGroup)}, mobileNumber: ${container.asString(self.mobileNumber)}, altContactNumber: ${container.asString(self.altContactNumber)}, email: ${container.asString(self.email)}, address: ${container.asString(self.address)}, fatherName: ${container.asString(self.fatherName)}, husbandName: ${container.asString(self.husbandName)}, relationship: ${container.asString(self.relationship)}, identifiers: ${container.asString(self.identifiers)}, skills: ${container.asString(self.skills)}, photo: ${container.asString(self.photo)}, additionalFields: ${container.asString(self.additionalFields)}, isDeleted: ${container.asString(self.isDeleted)}, rowVersion: ${container.asString(self.rowVersion)}, auditDetails: ${container.asString(self.auditDetails)})'; - @override - int hash(IndividualModel self) => - container.hash(self.id) ^ - container.hash(self.individualId) ^ - container.hash(self.tenantId) ^ - container.hash(self.clientReferenceId) ^ - container.hash(self.userId) ^ - container.hash(self.name) ^ - container.hash(self.dateOfBirth) ^ - container.hash(self.gender) ^ - container.hash(self.bloodGroup) ^ - container.hash(self.mobileNumber) ^ - container.hash(self.altContactNumber) ^ - container.hash(self.email) ^ - container.hash(self.address) ^ - container.hash(self.fatherName) ^ - container.hash(self.husbandName) ^ - container.hash(self.relationship) ^ - container.hash(self.identifiers) ^ - container.hash(self.skills) ^ - container.hash(self.photo) ^ - container.hash(self.additionalFields) ^ - container.hash(self.isDeleted) ^ - container.hash(self.rowVersion) ^ - container.hash(self.auditDetails); - @override - bool equals(IndividualModel self, IndividualModel other) => - container.isEqual(self.id, other.id) && - container.isEqual(self.individualId, other.individualId) && - container.isEqual(self.tenantId, other.tenantId) && - container.isEqual(self.clientReferenceId, other.clientReferenceId) && - container.isEqual(self.userId, other.userId) && - container.isEqual(self.name, other.name) && - container.isEqual(self.dateOfBirth, other.dateOfBirth) && - container.isEqual(self.gender, other.gender) && - container.isEqual(self.bloodGroup, other.bloodGroup) && - container.isEqual(self.mobileNumber, other.mobileNumber) && - container.isEqual(self.altContactNumber, other.altContactNumber) && - container.isEqual(self.email, other.email) && - container.isEqual(self.address, other.address) && - container.isEqual(self.fatherName, other.fatherName) && - container.isEqual(self.husbandName, other.husbandName) && - container.isEqual(self.relationship, other.relationship) && - container.isEqual(self.identifiers, other.identifiers) && - container.isEqual(self.skills, other.skills) && - container.isEqual(self.photo, other.photo) && - container.isEqual(self.additionalFields, other.additionalFields) && - container.isEqual(self.isDeleted, other.isDeleted) && - container.isEqual(self.rowVersion, other.rowVersion) && - container.isEqual(self.auditDetails, other.auditDetails); -} + Map toMap() { + return IndividualModelMapper.ensureInitialized() + .encodeMap(this as IndividualModel); + } -mixin IndividualModelMappable { - String toJson() => - IndividualModelMapper.container.toJson(this as IndividualModel); - Map toMap() => - IndividualModelMapper.container.toMap(this as IndividualModel); IndividualModelCopyWith get copyWith => _IndividualModelCopyWithImpl( this as IndividualModel, $identity, $identity); @override - String toString() => IndividualModelMapper.container.asString(this); + String toString() { + return IndividualModelMapper.ensureInitialized() + .stringifyValue(this as IndividualModel); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - IndividualModelMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return IndividualModelMapper.ensureInitialized() + .equalsValue(this as IndividualModel, other); + } + @override - int get hashCode => IndividualModelMapper.container.hash(this); + int get hashCode { + return IndividualModelMapper.ensureInitialized() + .hashValue(this as IndividualModel); + } } -extension IndividualModelValueCopy<$R, $Out extends IndividualModel> +extension IndividualModelValueCopy<$R, $Out> on ObjectCopyWith<$R, IndividualModel, $Out> { - IndividualModelCopyWith<$R, IndividualModel, $Out> get asIndividualModel => - base.as((v, t, t2) => _IndividualModelCopyWithImpl(v, t, t2)); + IndividualModelCopyWith<$R, IndividualModel, $Out> get $asIndividualModel => + $base.as((v, t, t2) => _IndividualModelCopyWithImpl(v, t, t2)); } -typedef IndividualModelCopyWithBound = IndividualModel; - -abstract class IndividualModelCopyWith<$R, $In extends IndividualModel, - $Out extends IndividualModel> implements ObjectCopyWith<$R, $In, $Out> { - IndividualModelCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends IndividualModel>( - Then t, Then<$Out2, $R2> t2); +abstract class IndividualModelCopyWith<$R, $In extends IndividualModel, $Out> + implements ClassCopyWith<$R, $In, $Out> { IndividualNameCopyWith<$R, IndividualName, IndividualName>? get name; CommonAuditDetailsCopyWith<$R, CommonAuditDetails, CommonAuditDetails>? get auditDetails; @@ -659,46 +367,42 @@ abstract class IndividualModelCopyWith<$R, $In extends IndividualModel, String? photo, String? relationship, int? rowVersion}); + IndividualModelCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _IndividualModelCopyWithImpl<$R, $Out extends IndividualModel> - extends CopyWithBase<$R, IndividualModel, $Out> +class _IndividualModelCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, IndividualModel, $Out> implements IndividualModelCopyWith<$R, IndividualModel, $Out> { _IndividualModelCopyWithImpl(super.value, super.then, super.then2); - @override - IndividualModelCopyWith<$R2, IndividualModel, $Out2> - chain<$R2, $Out2 extends IndividualModel>( - Then t, Then<$Out2, $R2> t2) => - _IndividualModelCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + IndividualModelMapper.ensureInitialized(); @override IndividualNameCopyWith<$R, IndividualName, IndividualName>? get name => - $value.name?.copyWith.chain($identity, (v) => call(name: v)); + $value.name?.copyWith.$chain((v) => call(name: v)); @override CommonAuditDetailsCopyWith<$R, CommonAuditDetails, CommonAuditDetails>? - get auditDetails => $value.auditDetails?.copyWith - .chain($identity, (v) => call(auditDetails: v)); + get auditDetails => + $value.auditDetails?.copyWith.$chain((v) => call(auditDetails: v)); @override ListCopyWith<$R, IndividualSkills, IndividualSkillsCopyWith<$R, IndividualSkills, IndividualSkills>>? get skills => $value.skills != null - ? ListCopyWith( - $value.skills!, - (v, t) => v.copyWith.chain<$R, IndividualSkills>($identity, t), + ? ListCopyWith($value.skills!, (v, t) => v.copyWith.$chain(t), (v) => call(skills: v)) : null; @override IndividualAdditionalFieldsCopyWith<$R, IndividualAdditionalFields, IndividualAdditionalFields>? get additionalFields => $value.additionalFields?.copyWith - .chain($identity, (v) => call(additionalFields: v)); + .$chain((v) => call(additionalFields: v)); @override ListCopyWith<$R, IndividualAddress, IndividualAddressCopyWith<$R, IndividualAddress, IndividualAddress>>? get address => $value.address != null - ? ListCopyWith( - $value.address!, - (v, t) => v.copyWith.chain<$R, IndividualAddress>($identity, t), + ? ListCopyWith($value.address!, (v, t) => v.copyWith.$chain(t), (v) => call(address: v)) : null; @override @@ -707,9 +411,7 @@ class _IndividualModelCopyWithImpl<$R, $Out extends IndividualModel> IndividualIdentifiers, IndividualIdentifiersCopyWith<$R, IndividualIdentifiers, IndividualIdentifiers>>? get identifiers => $value.identifiers != null - ? ListCopyWith( - $value.identifiers!, - (v, t) => v.copyWith.chain<$R, IndividualIdentifiers>($identity, t), + ? ListCopyWith($value.identifiers!, (v, t) => v.copyWith.$chain(t), (v) => call(identifiers: v)) : null; @override @@ -737,654 +439,452 @@ class _IndividualModelCopyWithImpl<$R, $Out extends IndividualModel> Object? photo = $none, Object? relationship = $none, Object? rowVersion = $none}) => - $then(IndividualModel( - id: or(id, $value.id), - name: or(name, $value.name), - tenantId: tenantId ?? $value.tenantId, - auditDetails: or(auditDetails, $value.auditDetails), - skills: or(skills, $value.skills), - mobileNumber: or(mobileNumber, $value.mobileNumber), - individualId: or(individualId, $value.individualId), - gender: or(gender, $value.gender), - userId: or(userId, $value.userId), - additionalFields: or(additionalFields, $value.additionalFields), - address: or(address, $value.address), - altContactNumber: or(altContactNumber, $value.altContactNumber), - bloodGroup: or(bloodGroup, $value.bloodGroup), - clientReferenceId: or(clientReferenceId, $value.clientReferenceId), - dateOfBirth: or(dateOfBirth, $value.dateOfBirth), - email: or(email, $value.email), - fatherName: or(fatherName, $value.fatherName), - husbandName: or(husbandName, $value.husbandName), - identifiers: or(identifiers, $value.identifiers), - isDeleted: or(isDeleted, $value.isDeleted), - photo: or(photo, $value.photo), - relationship: or(relationship, $value.relationship), - rowVersion: or(rowVersion, $value.rowVersion))); -} - -class IndividualAddressMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {IndividualAddressMapper()}, - )..linkAll({ - CommonAuditDetailsMapper.container, - AddressWardMapper.container, - AddressLocalityMapper.container, - }); - - @override - IndividualAddressMapperElement createElement(MapperContainer container) { - return IndividualAddressMapperElement._(this, container); - } - - @override - String get id => 'IndividualAddress'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} - -class IndividualAddressMapperElement - extends MapperElementBase { - IndividualAddressMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - IndividualAddress decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - IndividualAddress fromMap(Map map) => IndividualAddress( - id: container.$getOpt(map, 'id'), - tenantId: container.$getOpt(map, 'tenantId'), - auditDetails: container.$getOpt(map, 'auditDetails'), - isDeleted: container.$getOpt(map, 'isDeleted'), - clientReferenceId: container.$getOpt(map, 'clientReferenceId'), - individualId: container.$getOpt(map, 'individualId'), - ward: container.$getOpt(map, 'ward'), - type: container.$getOpt(map, 'type'), - addressLine1: container.$getOpt(map, 'addressLine1'), - addressLine2: container.$getOpt(map, 'addressLine2'), - buildingName: container.$getOpt(map, 'buildingName'), - city: container.$getOpt(map, 'city'), - doorNo: container.$getOpt(map, 'doorNo'), - landmark: container.$getOpt(map, 'landmark'), - latitude: container.$getOpt(map, 'latitude'), - locality: container.$getOpt(map, 'locality'), - locationAccuracy: container.$getOpt(map, 'locationAccuracy'), - longitude: container.$getOpt(map, 'longitude'), - pincode: container.$getOpt(map, 'pincode'), - street: container.$getOpt(map, 'street')); - - @override - Function get encoder => encode; - dynamic encode(IndividualAddress v) => toMap(v); - Map toMap(IndividualAddress i) => { - 'id': container.$enc(i.id, 'id'), - 'tenantId': container.$enc(i.tenantId, 'tenantId'), - 'auditDetails': container.$enc(i.auditDetails, 'auditDetails'), - 'isDeleted': container.$enc(i.isDeleted, 'isDeleted'), - 'clientReferenceId': - container.$enc(i.clientReferenceId, 'clientReferenceId'), - 'individualId': container.$enc(i.individualId, 'individualId'), - 'ward': container.$enc(i.ward, 'ward'), - 'type': container.$enc(i.type, 'type'), - 'addressLine1': container.$enc(i.addressLine1, 'addressLine1'), - 'addressLine2': container.$enc(i.addressLine2, 'addressLine2'), - 'buildingName': container.$enc(i.buildingName, 'buildingName'), - 'city': container.$enc(i.city, 'city'), - 'doorNo': container.$enc(i.doorNo, 'doorNo'), - 'landmark': container.$enc(i.landmark, 'landmark'), - 'latitude': container.$enc(i.latitude, 'latitude'), - 'locality': container.$enc(i.locality, 'locality'), - 'locationAccuracy': - container.$enc(i.locationAccuracy, 'locationAccuracy'), - 'longitude': container.$enc(i.longitude, 'longitude'), - 'pincode': container.$enc(i.pincode, 'pincode'), - 'street': container.$enc(i.street, 'street') - }; - - @override - String stringify(IndividualAddress self) => - 'IndividualAddress(id: ${container.asString(self.id)}, clientReferenceId: ${container.asString(self.clientReferenceId)}, individualId: ${container.asString(self.individualId)}, tenantId: ${container.asString(self.tenantId)}, doorNo: ${container.asString(self.doorNo)}, latitude: ${container.asString(self.latitude)}, longitude: ${container.asString(self.longitude)}, locationAccuracy: ${container.asString(self.locationAccuracy)}, type: ${container.asString(self.type)}, addressLine1: ${container.asString(self.addressLine1)}, addressLine2: ${container.asString(self.addressLine2)}, landmark: ${container.asString(self.landmark)}, city: ${container.asString(self.city)}, pincode: ${container.asString(self.pincode)}, buildingName: ${container.asString(self.buildingName)}, street: ${container.asString(self.street)}, locality: ${container.asString(self.locality)}, ward: ${container.asString(self.ward)}, isDeleted: ${container.asString(self.isDeleted)}, auditDetails: ${container.asString(self.auditDetails)})'; - @override - int hash(IndividualAddress self) => - container.hash(self.id) ^ - container.hash(self.clientReferenceId) ^ - container.hash(self.individualId) ^ - container.hash(self.tenantId) ^ - container.hash(self.doorNo) ^ - container.hash(self.latitude) ^ - container.hash(self.longitude) ^ - container.hash(self.locationAccuracy) ^ - container.hash(self.type) ^ - container.hash(self.addressLine1) ^ - container.hash(self.addressLine2) ^ - container.hash(self.landmark) ^ - container.hash(self.city) ^ - container.hash(self.pincode) ^ - container.hash(self.buildingName) ^ - container.hash(self.street) ^ - container.hash(self.locality) ^ - container.hash(self.ward) ^ - container.hash(self.isDeleted) ^ - container.hash(self.auditDetails); - @override - bool equals(IndividualAddress self, IndividualAddress other) => - container.isEqual(self.id, other.id) && - container.isEqual(self.clientReferenceId, other.clientReferenceId) && - container.isEqual(self.individualId, other.individualId) && - container.isEqual(self.tenantId, other.tenantId) && - container.isEqual(self.doorNo, other.doorNo) && - container.isEqual(self.latitude, other.latitude) && - container.isEqual(self.longitude, other.longitude) && - container.isEqual(self.locationAccuracy, other.locationAccuracy) && - container.isEqual(self.type, other.type) && - container.isEqual(self.addressLine1, other.addressLine1) && - container.isEqual(self.addressLine2, other.addressLine2) && - container.isEqual(self.landmark, other.landmark) && - container.isEqual(self.city, other.city) && - container.isEqual(self.pincode, other.pincode) && - container.isEqual(self.buildingName, other.buildingName) && - container.isEqual(self.street, other.street) && - container.isEqual(self.locality, other.locality) && - container.isEqual(self.ward, other.ward) && - container.isEqual(self.isDeleted, other.isDeleted) && - container.isEqual(self.auditDetails, other.auditDetails); -} + $apply(FieldCopyWithData({ + if (id != $none) #id: id, + if (name != $none) #name: name, + if (tenantId != null) #tenantId: tenantId, + if (auditDetails != $none) #auditDetails: auditDetails, + if (skills != $none) #skills: skills, + if (mobileNumber != $none) #mobileNumber: mobileNumber, + if (individualId != $none) #individualId: individualId, + if (gender != $none) #gender: gender, + if (userId != $none) #userId: userId, + if (additionalFields != $none) #additionalFields: additionalFields, + if (address != $none) #address: address, + if (altContactNumber != $none) #altContactNumber: altContactNumber, + if (bloodGroup != $none) #bloodGroup: bloodGroup, + if (clientReferenceId != $none) #clientReferenceId: clientReferenceId, + if (dateOfBirth != $none) #dateOfBirth: dateOfBirth, + if (email != $none) #email: email, + if (fatherName != $none) #fatherName: fatherName, + if (husbandName != $none) #husbandName: husbandName, + if (identifiers != $none) #identifiers: identifiers, + if (isDeleted != $none) #isDeleted: isDeleted, + if (photo != $none) #photo: photo, + if (relationship != $none) #relationship: relationship, + if (rowVersion != $none) #rowVersion: rowVersion + })); + @override + IndividualModel $make(CopyWithData data) => IndividualModel( + id: data.get(#id, or: $value.id), + name: data.get(#name, or: $value.name), + tenantId: data.get(#tenantId, or: $value.tenantId), + auditDetails: data.get(#auditDetails, or: $value.auditDetails), + skills: data.get(#skills, or: $value.skills), + mobileNumber: data.get(#mobileNumber, or: $value.mobileNumber), + individualId: data.get(#individualId, or: $value.individualId), + gender: data.get(#gender, or: $value.gender), + userId: data.get(#userId, or: $value.userId), + additionalFields: + data.get(#additionalFields, or: $value.additionalFields), + address: data.get(#address, or: $value.address), + altContactNumber: + data.get(#altContactNumber, or: $value.altContactNumber), + bloodGroup: data.get(#bloodGroup, or: $value.bloodGroup), + clientReferenceId: + data.get(#clientReferenceId, or: $value.clientReferenceId), + dateOfBirth: data.get(#dateOfBirth, or: $value.dateOfBirth), + email: data.get(#email, or: $value.email), + fatherName: data.get(#fatherName, or: $value.fatherName), + husbandName: data.get(#husbandName, or: $value.husbandName), + identifiers: data.get(#identifiers, or: $value.identifiers), + isDeleted: data.get(#isDeleted, or: $value.isDeleted), + photo: data.get(#photo, or: $value.photo), + relationship: data.get(#relationship, or: $value.relationship), + rowVersion: data.get(#rowVersion, or: $value.rowVersion)); + + @override + IndividualModelCopyWith<$R2, IndividualModel, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _IndividualModelCopyWithImpl($value, $cast, t); +} + +class IndividualNameMapper extends ClassMapperBase { + IndividualNameMapper._(); + + static IndividualNameMapper? _instance; + static IndividualNameMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = IndividualNameMapper._()); + } + return _instance!; + } -mixin IndividualAddressMappable { - String toJson() => - IndividualAddressMapper.container.toJson(this as IndividualAddress); - Map toMap() => - IndividualAddressMapper.container.toMap(this as IndividualAddress); - IndividualAddressCopyWith - get copyWith => _IndividualAddressCopyWithImpl( - this as IndividualAddress, $identity, $identity); @override - String toString() => IndividualAddressMapper.container.asString(this); + final String id = 'IndividualName'; + + static String? _$familyName(IndividualName v) => v.familyName; + static const Field _f$familyName = + Field('familyName', _$familyName, opt: true); + static String? _$givenName(IndividualName v) => v.givenName; + static const Field _f$givenName = + Field('givenName', _$givenName, opt: true); + static String? _$otherNames(IndividualName v) => v.otherNames; + static const Field _f$otherNames = + Field('otherNames', _$otherNames, opt: true); + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - IndividualAddressMapper.container.isEqual(this, other)); + final MappableFields fields = const { + #familyName: _f$familyName, + #givenName: _f$givenName, + #otherNames: _f$otherNames, + }; + + static IndividualName _instantiate(DecodingData data) { + return IndividualName( + familyName: data.dec(_f$familyName), + givenName: data.dec(_f$givenName), + otherNames: data.dec(_f$otherNames)); + } + @override - int get hashCode => IndividualAddressMapper.container.hash(this); -} + final Function instantiate = _instantiate; -extension IndividualAddressValueCopy<$R, $Out extends IndividualAddress> - on ObjectCopyWith<$R, IndividualAddress, $Out> { - IndividualAddressCopyWith<$R, IndividualAddress, $Out> - get asIndividualAddress => - base.as((v, t, t2) => _IndividualAddressCopyWithImpl(v, t, t2)); + static IndividualName fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static IndividualName fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -typedef IndividualAddressCopyWithBound = IndividualAddress; +mixin IndividualNameMappable { + String toJson() { + return IndividualNameMapper.ensureInitialized() + .encodeJson(this as IndividualName); + } -abstract class IndividualAddressCopyWith<$R, $In extends IndividualAddress, - $Out extends IndividualAddress> implements ObjectCopyWith<$R, $In, $Out> { - IndividualAddressCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends IndividualAddress>( - Then t, Then<$Out2, $R2> t2); - CommonAuditDetailsCopyWith<$R, CommonAuditDetails, CommonAuditDetails>? - get auditDetails; - AddressWardCopyWith<$R, AddressWard, AddressWard>? get ward; - AddressLocalityCopyWith<$R, AddressLocality, AddressLocality>? get locality; - $R call( - {String? id, - String? tenantId, - CommonAuditDetails? auditDetails, - bool? isDeleted, - String? clientReferenceId, - String? individualId, - AddressWard? ward, - String? type, - String? addressLine1, - String? addressLine2, - String? buildingName, - String? city, - String? doorNo, - String? landmark, - double? latitude, - AddressLocality? locality, - double? locationAccuracy, - double? longitude, - String? pincode, - String? street}); -} + Map toMap() { + return IndividualNameMapper.ensureInitialized() + .encodeMap(this as IndividualName); + } -class _IndividualAddressCopyWithImpl<$R, $Out extends IndividualAddress> - extends CopyWithBase<$R, IndividualAddress, $Out> - implements IndividualAddressCopyWith<$R, IndividualAddress, $Out> { - _IndividualAddressCopyWithImpl(super.value, super.then, super.then2); + IndividualNameCopyWith + get copyWith => _IndividualNameCopyWithImpl( + this as IndividualName, $identity, $identity); @override - IndividualAddressCopyWith<$R2, IndividualAddress, $Out2> - chain<$R2, $Out2 extends IndividualAddress>( - Then t, Then<$Out2, $R2> t2) => - _IndividualAddressCopyWithImpl($value, t, t2); + String toString() { + return IndividualNameMapper.ensureInitialized() + .stringifyValue(this as IndividualName); + } @override - CommonAuditDetailsCopyWith<$R, CommonAuditDetails, CommonAuditDetails>? - get auditDetails => $value.auditDetails?.copyWith - .chain($identity, (v) => call(auditDetails: v)); + bool operator ==(Object other) { + return IndividualNameMapper.ensureInitialized() + .equalsValue(this as IndividualName, other); + } + @override - AddressWardCopyWith<$R, AddressWard, AddressWard>? get ward => - $value.ward?.copyWith.chain($identity, (v) => call(ward: v)); + int get hashCode { + return IndividualNameMapper.ensureInitialized() + .hashValue(this as IndividualName); + } +} + +extension IndividualNameValueCopy<$R, $Out> + on ObjectCopyWith<$R, IndividualName, $Out> { + IndividualNameCopyWith<$R, IndividualName, $Out> get $asIndividualName => + $base.as((v, t, t2) => _IndividualNameCopyWithImpl(v, t, t2)); +} + +abstract class IndividualNameCopyWith<$R, $In extends IndividualName, $Out> + implements ClassCopyWith<$R, $In, $Out> { + $R call({String? familyName, String? givenName, String? otherNames}); + IndividualNameCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); +} + +class _IndividualNameCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, IndividualName, $Out> + implements IndividualNameCopyWith<$R, IndividualName, $Out> { + _IndividualNameCopyWithImpl(super.value, super.then, super.then2); + @override - AddressLocalityCopyWith<$R, AddressLocality, AddressLocality>? get locality => - $value.locality?.copyWith.chain($identity, (v) => call(locality: v)); + late final ClassMapperBase $mapper = + IndividualNameMapper.ensureInitialized(); @override $R call( - {Object? id = $none, - Object? tenantId = $none, - Object? auditDetails = $none, - Object? isDeleted = $none, - Object? clientReferenceId = $none, - Object? individualId = $none, - Object? ward = $none, - Object? type = $none, - Object? addressLine1 = $none, - Object? addressLine2 = $none, - Object? buildingName = $none, - Object? city = $none, - Object? doorNo = $none, - Object? landmark = $none, - Object? latitude = $none, - Object? locality = $none, - Object? locationAccuracy = $none, - Object? longitude = $none, - Object? pincode = $none, - Object? street = $none}) => - $then(IndividualAddress( - id: or(id, $value.id), - tenantId: or(tenantId, $value.tenantId), - auditDetails: or(auditDetails, $value.auditDetails), - isDeleted: or(isDeleted, $value.isDeleted), - clientReferenceId: or(clientReferenceId, $value.clientReferenceId), - individualId: or(individualId, $value.individualId), - ward: or(ward, $value.ward), - type: or(type, $value.type), - addressLine1: or(addressLine1, $value.addressLine1), - addressLine2: or(addressLine2, $value.addressLine2), - buildingName: or(buildingName, $value.buildingName), - city: or(city, $value.city), - doorNo: or(doorNo, $value.doorNo), - landmark: or(landmark, $value.landmark), - latitude: or(latitude, $value.latitude), - locality: or(locality, $value.locality), - locationAccuracy: or(locationAccuracy, $value.locationAccuracy), - longitude: or(longitude, $value.longitude), - pincode: or(pincode, $value.pincode), - street: or(street, $value.street))); -} - -class IndividualNameMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {IndividualNameMapper()}, - ); - + {Object? familyName = $none, + Object? givenName = $none, + Object? otherNames = $none}) => + $apply(FieldCopyWithData({ + if (familyName != $none) #familyName: familyName, + if (givenName != $none) #givenName: givenName, + if (otherNames != $none) #otherNames: otherNames + })); @override - IndividualNameMapperElement createElement(MapperContainer container) { - return IndividualNameMapperElement._(this, container); - } + IndividualName $make(CopyWithData data) => IndividualName( + familyName: data.get(#familyName, or: $value.familyName), + givenName: data.get(#givenName, or: $value.givenName), + otherNames: data.get(#otherNames, or: $value.otherNames)); @override - String get id => 'IndividualName'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; + IndividualNameCopyWith<$R2, IndividualName, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _IndividualNameCopyWithImpl($value, $cast, t); } -class IndividualNameMapperElement extends MapperElementBase { - IndividualNameMapperElement._(super.mapper, super.container); +class CommonAuditDetailsMapper extends ClassMapperBase { + CommonAuditDetailsMapper._(); - @override - Function get decoder => decode; - IndividualName decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - IndividualName fromMap(Map map) => IndividualName( - familyName: container.$getOpt(map, 'familyName'), - givenName: container.$getOpt(map, 'givenName'), - otherNames: container.$getOpt(map, 'otherNames')); + static CommonAuditDetailsMapper? _instance; + static CommonAuditDetailsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = CommonAuditDetailsMapper._()); + } + return _instance!; + } @override - Function get encoder => encode; - dynamic encode(IndividualName v) => toMap(v); - Map toMap(IndividualName i) => { - 'familyName': container.$enc(i.familyName, 'familyName'), - 'givenName': container.$enc(i.givenName, 'givenName'), - 'otherNames': container.$enc(i.otherNames, 'otherNames') - }; + final String id = 'CommonAuditDetails'; + + static int? _$createdTime(CommonAuditDetails v) => v.createdTime; + static const Field _f$createdTime = + Field('createdTime', _$createdTime, opt: true); + static int? _$lastModifiedTime(CommonAuditDetails v) => v.lastModifiedTime; + static const Field _f$lastModifiedTime = + Field('lastModifiedTime', _$lastModifiedTime, opt: true); + static String? _$createdBy(CommonAuditDetails v) => v.createdBy; + static const Field _f$createdBy = + Field('createdBy', _$createdBy, opt: true); + static String? _$lastModifiedBy(CommonAuditDetails v) => v.lastModifiedBy; + static const Field _f$lastModifiedBy = + Field('lastModifiedBy', _$lastModifiedBy, opt: true); + + @override + final MappableFields fields = const { + #createdTime: _f$createdTime, + #lastModifiedTime: _f$lastModifiedTime, + #createdBy: _f$createdBy, + #lastModifiedBy: _f$lastModifiedBy, + }; + + static CommonAuditDetails _instantiate(DecodingData data) { + return CommonAuditDetails( + createdTime: data.dec(_f$createdTime), + lastModifiedTime: data.dec(_f$lastModifiedTime), + createdBy: data.dec(_f$createdBy), + lastModifiedBy: data.dec(_f$lastModifiedBy)); + } @override - String stringify(IndividualName self) => - 'IndividualName(givenName: ${container.asString(self.givenName)}, familyName: ${container.asString(self.familyName)}, otherNames: ${container.asString(self.otherNames)})'; - @override - int hash(IndividualName self) => - container.hash(self.givenName) ^ - container.hash(self.familyName) ^ - container.hash(self.otherNames); - @override - bool equals(IndividualName self, IndividualName other) => - container.isEqual(self.givenName, other.givenName) && - container.isEqual(self.familyName, other.familyName) && - container.isEqual(self.otherNames, other.otherNames); -} + final Function instantiate = _instantiate; -mixin IndividualNameMappable { - String toJson() => - IndividualNameMapper.container.toJson(this as IndividualName); - Map toMap() => - IndividualNameMapper.container.toMap(this as IndividualName); - IndividualNameCopyWith - get copyWith => _IndividualNameCopyWithImpl( - this as IndividualName, $identity, $identity); - @override - String toString() => IndividualNameMapper.container.asString(this); - @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - IndividualNameMapper.container.isEqual(this, other)); - @override - int get hashCode => IndividualNameMapper.container.hash(this); -} + static CommonAuditDetails fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } -extension IndividualNameValueCopy<$R, $Out extends IndividualName> - on ObjectCopyWith<$R, IndividualName, $Out> { - IndividualNameCopyWith<$R, IndividualName, $Out> get asIndividualName => - base.as((v, t, t2) => _IndividualNameCopyWithImpl(v, t, t2)); + static CommonAuditDetails fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -typedef IndividualNameCopyWithBound = IndividualName; +mixin CommonAuditDetailsMappable { + String toJson() { + return CommonAuditDetailsMapper.ensureInitialized() + .encodeJson(this as CommonAuditDetails); + } -abstract class IndividualNameCopyWith<$R, $In extends IndividualName, - $Out extends IndividualName> implements ObjectCopyWith<$R, $In, $Out> { - IndividualNameCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends IndividualName>( - Then t, Then<$Out2, $R2> t2); - $R call({String? familyName, String? givenName, String? otherNames}); -} + Map toMap() { + return CommonAuditDetailsMapper.ensureInitialized() + .encodeMap(this as CommonAuditDetails); + } -class _IndividualNameCopyWithImpl<$R, $Out extends IndividualName> - extends CopyWithBase<$R, IndividualName, $Out> - implements IndividualNameCopyWith<$R, IndividualName, $Out> { - _IndividualNameCopyWithImpl(super.value, super.then, super.then2); + CommonAuditDetailsCopyWith + get copyWith => _CommonAuditDetailsCopyWithImpl( + this as CommonAuditDetails, $identity, $identity); @override - IndividualNameCopyWith<$R2, IndividualName, $Out2> - chain<$R2, $Out2 extends IndividualName>( - Then t, Then<$Out2, $R2> t2) => - _IndividualNameCopyWithImpl($value, t, t2); + String toString() { + return CommonAuditDetailsMapper.ensureInitialized() + .stringifyValue(this as CommonAuditDetails); + } @override - $R call( - {Object? familyName = $none, - Object? givenName = $none, - Object? otherNames = $none}) => - $then(IndividualName( - familyName: or(familyName, $value.familyName), - givenName: or(givenName, $value.givenName), - otherNames: or(otherNames, $value.otherNames))); -} - -class IndividualIdentifiersMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {IndividualIdentifiersMapper()}, - )..linkAll({CommonAuditDetailsMapper.container}); + bool operator ==(Object other) { + return CommonAuditDetailsMapper.ensureInitialized() + .equalsValue(this as CommonAuditDetails, other); + } @override - IndividualIdentifiersMapperElement createElement(MapperContainer container) { - return IndividualIdentifiersMapperElement._(this, container); + int get hashCode { + return CommonAuditDetailsMapper.ensureInitialized() + .hashValue(this as CommonAuditDetails); } +} - @override - String get id => 'IndividualIdentifiers'; +extension CommonAuditDetailsValueCopy<$R, $Out> + on ObjectCopyWith<$R, CommonAuditDetails, $Out> { + CommonAuditDetailsCopyWith<$R, CommonAuditDetails, $Out> + get $asCommonAuditDetails => + $base.as((v, t, t2) => _CommonAuditDetailsCopyWithImpl(v, t, t2)); +} - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; +abstract class CommonAuditDetailsCopyWith<$R, $In extends CommonAuditDetails, + $Out> implements ClassCopyWith<$R, $In, $Out> { + $R call( + {int? createdTime, + int? lastModifiedTime, + String? createdBy, + String? lastModifiedBy}); + CommonAuditDetailsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class IndividualIdentifiersMapperElement - extends MapperElementBase { - IndividualIdentifiersMapperElement._(super.mapper, super.container); +class _CommonAuditDetailsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, CommonAuditDetails, $Out> + implements CommonAuditDetailsCopyWith<$R, CommonAuditDetails, $Out> { + _CommonAuditDetailsCopyWithImpl(super.value, super.then, super.then2); @override - Function get decoder => decode; - IndividualIdentifiers decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - IndividualIdentifiers fromMap(Map map) => - IndividualIdentifiers( - individualId: container.$getOpt(map, 'individualId'), - clientReferenceId: container.$getOpt(map, 'clientReferenceId'), - isDeleted: container.$getOpt(map, 'isDeleted'), - id: container.$getOpt(map, 'id'), - auditDetails: container.$getOpt(map, 'auditDetails'), - identifierId: container.$getOpt(map, 'identifierId'), - identifierType: container.$getOpt(map, 'identifierType')); - + late final ClassMapperBase $mapper = + CommonAuditDetailsMapper.ensureInitialized(); @override - Function get encoder => encode; - dynamic encode(IndividualIdentifiers v) => toMap(v); - Map toMap(IndividualIdentifiers i) => { - 'individualId': container.$enc(i.individualId, 'individualId'), - 'clientReferenceId': - container.$enc(i.clientReferenceId, 'clientReferenceId'), - 'isDeleted': container.$enc(i.isDeleted, 'isDeleted'), - 'id': container.$enc(i.id, 'id'), - 'auditDetails': container.$enc(i.auditDetails, 'auditDetails'), - 'identifierId': container.$enc(i.identifierId, 'identifierId'), - 'identifierType': container.$enc(i.identifierType, 'identifierType') - }; + $R call( + {Object? createdTime = $none, + Object? lastModifiedTime = $none, + Object? createdBy = $none, + Object? lastModifiedBy = $none}) => + $apply(FieldCopyWithData({ + if (createdTime != $none) #createdTime: createdTime, + if (lastModifiedTime != $none) #lastModifiedTime: lastModifiedTime, + if (createdBy != $none) #createdBy: createdBy, + if (lastModifiedBy != $none) #lastModifiedBy: lastModifiedBy + })); + @override + CommonAuditDetails $make(CopyWithData data) => CommonAuditDetails( + createdTime: data.get(#createdTime, or: $value.createdTime), + lastModifiedTime: + data.get(#lastModifiedTime, or: $value.lastModifiedTime), + createdBy: data.get(#createdBy, or: $value.createdBy), + lastModifiedBy: data.get(#lastModifiedBy, or: $value.lastModifiedBy)); + + @override + CommonAuditDetailsCopyWith<$R2, CommonAuditDetails, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _CommonAuditDetailsCopyWithImpl($value, $cast, t); +} + +class IndividualSkillsMapper extends ClassMapperBase { + IndividualSkillsMapper._(); + + static IndividualSkillsMapper? _instance; + static IndividualSkillsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = IndividualSkillsMapper._()); + CommonAuditDetailsMapper.ensureInitialized(); + } + return _instance!; + } @override - String stringify(IndividualIdentifiers self) => - 'IndividualIdentifiers(id: ${container.asString(self.id)}, clientReferenceId: ${container.asString(self.clientReferenceId)}, individualId: ${container.asString(self.individualId)}, identifierType: ${container.asString(self.identifierType)}, identifierId: ${container.asString(self.identifierId)}, isDeleted: ${container.asString(self.isDeleted)}, auditDetails: ${container.asString(self.auditDetails)})'; - @override - int hash(IndividualIdentifiers self) => - container.hash(self.id) ^ - container.hash(self.clientReferenceId) ^ - container.hash(self.individualId) ^ - container.hash(self.identifierType) ^ - container.hash(self.identifierId) ^ - container.hash(self.isDeleted) ^ - container.hash(self.auditDetails); - @override - bool equals(IndividualIdentifiers self, IndividualIdentifiers other) => - container.isEqual(self.id, other.id) && - container.isEqual(self.clientReferenceId, other.clientReferenceId) && - container.isEqual(self.individualId, other.individualId) && - container.isEqual(self.identifierType, other.identifierType) && - container.isEqual(self.identifierId, other.identifierId) && - container.isEqual(self.isDeleted, other.isDeleted) && - container.isEqual(self.auditDetails, other.auditDetails); -} + final String id = 'IndividualSkills'; + + static String? _$individualId(IndividualSkills v) => v.individualId; + static const Field _f$individualId = + Field('individualId', _$individualId, opt: true); + static String? _$clientReferenceId(IndividualSkills v) => v.clientReferenceId; + static const Field _f$clientReferenceId = + Field('clientReferenceId', _$clientReferenceId, opt: true); + static bool? _$isDeleted(IndividualSkills v) => v.isDeleted; + static const Field _f$isDeleted = + Field('isDeleted', _$isDeleted, opt: true); + static String? _$id(IndividualSkills v) => v.id; + static const Field _f$id = + Field('id', _$id, opt: true); + static CommonAuditDetails? _$auditDetails(IndividualSkills v) => + v.auditDetails; + static const Field _f$auditDetails = + Field('auditDetails', _$auditDetails, opt: true); + static String? _$type(IndividualSkills v) => v.type; + static const Field _f$type = + Field('type', _$type, opt: true); + static String? _$experience(IndividualSkills v) => v.experience; + static const Field _f$experience = + Field('experience', _$experience, opt: true); + static String? _$level(IndividualSkills v) => v.level; + static const Field _f$level = + Field('level', _$level, opt: true); + + @override + final MappableFields fields = const { + #individualId: _f$individualId, + #clientReferenceId: _f$clientReferenceId, + #isDeleted: _f$isDeleted, + #id: _f$id, + #auditDetails: _f$auditDetails, + #type: _f$type, + #experience: _f$experience, + #level: _f$level, + }; + + static IndividualSkills _instantiate(DecodingData data) { + return IndividualSkills( + individualId: data.dec(_f$individualId), + clientReferenceId: data.dec(_f$clientReferenceId), + isDeleted: data.dec(_f$isDeleted), + id: data.dec(_f$id), + auditDetails: data.dec(_f$auditDetails), + type: data.dec(_f$type), + experience: data.dec(_f$experience), + level: data.dec(_f$level)); + } -mixin IndividualIdentifiersMappable { - String toJson() => IndividualIdentifiersMapper.container - .toJson(this as IndividualIdentifiers); - Map toMap() => IndividualIdentifiersMapper.container - .toMap(this as IndividualIdentifiers); - IndividualIdentifiersCopyWith - get copyWith => _IndividualIdentifiersCopyWithImpl( - this as IndividualIdentifiers, $identity, $identity); - @override - String toString() => IndividualIdentifiersMapper.container.asString(this); @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - IndividualIdentifiersMapper.container.isEqual(this, other)); - @override - int get hashCode => IndividualIdentifiersMapper.container.hash(this); -} + final Function instantiate = _instantiate; -extension IndividualIdentifiersValueCopy<$R, $Out extends IndividualIdentifiers> - on ObjectCopyWith<$R, IndividualIdentifiers, $Out> { - IndividualIdentifiersCopyWith<$R, IndividualIdentifiers, $Out> - get asIndividualIdentifiers => - base.as((v, t, t2) => _IndividualIdentifiersCopyWithImpl(v, t, t2)); -} - -typedef IndividualIdentifiersCopyWithBound = IndividualIdentifiers; + static IndividualSkills fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } -abstract class IndividualIdentifiersCopyWith<$R, - $In extends IndividualIdentifiers, $Out extends IndividualIdentifiers> - implements ObjectCopyWith<$R, $In, $Out> { - IndividualIdentifiersCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends IndividualIdentifiers>( - Then t, Then<$Out2, $R2> t2); - CommonAuditDetailsCopyWith<$R, CommonAuditDetails, CommonAuditDetails>? - get auditDetails; - $R call( - {String? individualId, - String? clientReferenceId, - bool? isDeleted, - String? id, - CommonAuditDetails? auditDetails, - String? identifierId, - String? identifierType}); + static IndividualSkills fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -class _IndividualIdentifiersCopyWithImpl<$R, $Out extends IndividualIdentifiers> - extends CopyWithBase<$R, IndividualIdentifiers, $Out> - implements IndividualIdentifiersCopyWith<$R, IndividualIdentifiers, $Out> { - _IndividualIdentifiersCopyWithImpl(super.value, super.then, super.then2); - @override - IndividualIdentifiersCopyWith<$R2, IndividualIdentifiers, $Out2> - chain<$R2, $Out2 extends IndividualIdentifiers>( - Then t, Then<$Out2, $R2> t2) => - _IndividualIdentifiersCopyWithImpl($value, t, t2); +mixin IndividualSkillsMappable { + String toJson() { + return IndividualSkillsMapper.ensureInitialized() + .encodeJson(this as IndividualSkills); + } - @override - CommonAuditDetailsCopyWith<$R, CommonAuditDetails, CommonAuditDetails>? - get auditDetails => $value.auditDetails?.copyWith - .chain($identity, (v) => call(auditDetails: v)); - @override - $R call( - {Object? individualId = $none, - Object? clientReferenceId = $none, - Object? isDeleted = $none, - Object? id = $none, - Object? auditDetails = $none, - Object? identifierId = $none, - Object? identifierType = $none}) => - $then(IndividualIdentifiers( - individualId: or(individualId, $value.individualId), - clientReferenceId: or(clientReferenceId, $value.clientReferenceId), - isDeleted: or(isDeleted, $value.isDeleted), - id: or(id, $value.id), - auditDetails: or(auditDetails, $value.auditDetails), - identifierId: or(identifierId, $value.identifierId), - identifierType: or(identifierType, $value.identifierType))); -} - -class IndividualSkillsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {IndividualSkillsMapper()}, - )..linkAll({CommonAuditDetailsMapper.container}); - - @override - IndividualSkillsMapperElement createElement(MapperContainer container) { - return IndividualSkillsMapperElement._(this, container); - } - - @override - String get id => 'IndividualSkills'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} - -class IndividualSkillsMapperElement - extends MapperElementBase { - IndividualSkillsMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - IndividualSkills decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - IndividualSkills fromMap(Map map) => IndividualSkills( - individualId: container.$getOpt(map, 'individualId'), - clientReferenceId: container.$getOpt(map, 'clientReferenceId'), - isDeleted: container.$getOpt(map, 'isDeleted'), - id: container.$getOpt(map, 'id'), - auditDetails: container.$getOpt(map, 'auditDetails'), - type: container.$getOpt(map, 'type'), - experience: container.$getOpt(map, 'experience'), - level: container.$getOpt(map, 'level')); - - @override - Function get encoder => encode; - dynamic encode(IndividualSkills v) => toMap(v); - Map toMap(IndividualSkills i) => { - 'individualId': container.$enc(i.individualId, 'individualId'), - 'clientReferenceId': - container.$enc(i.clientReferenceId, 'clientReferenceId'), - 'isDeleted': container.$enc(i.isDeleted, 'isDeleted'), - 'id': container.$enc(i.id, 'id'), - 'auditDetails': container.$enc(i.auditDetails, 'auditDetails'), - 'type': container.$enc(i.type, 'type'), - 'experience': container.$enc(i.experience, 'experience'), - 'level': container.$enc(i.level, 'level') - }; - - @override - String stringify(IndividualSkills self) => - 'IndividualSkills(id: ${container.asString(self.id)}, clientReferenceId: ${container.asString(self.clientReferenceId)}, individualId: ${container.asString(self.individualId)}, type: ${container.asString(self.type)}, level: ${container.asString(self.level)}, experience: ${container.asString(self.experience)}, isDeleted: ${container.asString(self.isDeleted)}, auditDetails: ${container.asString(self.auditDetails)})'; - @override - int hash(IndividualSkills self) => - container.hash(self.id) ^ - container.hash(self.clientReferenceId) ^ - container.hash(self.individualId) ^ - container.hash(self.type) ^ - container.hash(self.level) ^ - container.hash(self.experience) ^ - container.hash(self.isDeleted) ^ - container.hash(self.auditDetails); - @override - bool equals(IndividualSkills self, IndividualSkills other) => - container.isEqual(self.id, other.id) && - container.isEqual(self.clientReferenceId, other.clientReferenceId) && - container.isEqual(self.individualId, other.individualId) && - container.isEqual(self.type, other.type) && - container.isEqual(self.level, other.level) && - container.isEqual(self.experience, other.experience) && - container.isEqual(self.isDeleted, other.isDeleted) && - container.isEqual(self.auditDetails, other.auditDetails); -} + Map toMap() { + return IndividualSkillsMapper.ensureInitialized() + .encodeMap(this as IndividualSkills); + } -mixin IndividualSkillsMappable { - String toJson() => - IndividualSkillsMapper.container.toJson(this as IndividualSkills); - Map toMap() => - IndividualSkillsMapper.container.toMap(this as IndividualSkills); IndividualSkillsCopyWith get copyWith => _IndividualSkillsCopyWithImpl( this as IndividualSkills, $identity, $identity); @override - String toString() => IndividualSkillsMapper.container.asString(this); + String toString() { + return IndividualSkillsMapper.ensureInitialized() + .stringifyValue(this as IndividualSkills); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - IndividualSkillsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return IndividualSkillsMapper.ensureInitialized() + .equalsValue(this as IndividualSkills, other); + } + @override - int get hashCode => IndividualSkillsMapper.container.hash(this); + int get hashCode { + return IndividualSkillsMapper.ensureInitialized() + .hashValue(this as IndividualSkills); + } } -extension IndividualSkillsValueCopy<$R, $Out extends IndividualSkills> +extension IndividualSkillsValueCopy<$R, $Out> on ObjectCopyWith<$R, IndividualSkills, $Out> { - IndividualSkillsCopyWith<$R, IndividualSkills, $Out> get asIndividualSkills => - base.as((v, t, t2) => _IndividualSkillsCopyWithImpl(v, t, t2)); + IndividualSkillsCopyWith<$R, IndividualSkills, $Out> + get $asIndividualSkills => + $base.as((v, t, t2) => _IndividualSkillsCopyWithImpl(v, t, t2)); } -typedef IndividualSkillsCopyWithBound = IndividualSkills; - -abstract class IndividualSkillsCopyWith<$R, $In extends IndividualSkills, - $Out extends IndividualSkills> implements ObjectCopyWith<$R, $In, $Out> { - IndividualSkillsCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends IndividualSkills>( - Then t, Then<$Out2, $R2> t2); +abstract class IndividualSkillsCopyWith<$R, $In extends IndividualSkills, $Out> + implements ClassCopyWith<$R, $In, $Out> { CommonAuditDetailsCopyWith<$R, CommonAuditDetails, CommonAuditDetails>? get auditDetails; $R call( @@ -1396,22 +896,22 @@ abstract class IndividualSkillsCopyWith<$R, $In extends IndividualSkills, String? type, String? experience, String? level}); + IndividualSkillsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _IndividualSkillsCopyWithImpl<$R, $Out extends IndividualSkills> - extends CopyWithBase<$R, IndividualSkills, $Out> +class _IndividualSkillsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, IndividualSkills, $Out> implements IndividualSkillsCopyWith<$R, IndividualSkills, $Out> { _IndividualSkillsCopyWithImpl(super.value, super.then, super.then2); - @override - IndividualSkillsCopyWith<$R2, IndividualSkills, $Out2> - chain<$R2, $Out2 extends IndividualSkills>( - Then t, Then<$Out2, $R2> t2) => - _IndividualSkillsCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + IndividualSkillsMapper.ensureInitialized(); @override CommonAuditDetailsCopyWith<$R, CommonAuditDetails, CommonAuditDetails>? - get auditDetails => $value.auditDetails?.copyWith - .chain($identity, (v) => call(auditDetails: v)); + get auditDetails => + $value.auditDetails?.copyWith.$chain((v) => call(auditDetails: v)); @override $R call( {Object? individualId = $none, @@ -1422,253 +922,157 @@ class _IndividualSkillsCopyWithImpl<$R, $Out extends IndividualSkills> Object? type = $none, Object? experience = $none, Object? level = $none}) => - $then(IndividualSkills( - individualId: or(individualId, $value.individualId), - clientReferenceId: or(clientReferenceId, $value.clientReferenceId), - isDeleted: or(isDeleted, $value.isDeleted), - id: or(id, $value.id), - auditDetails: or(auditDetails, $value.auditDetails), - type: or(type, $value.type), - experience: or(experience, $value.experience), - level: or(level, $value.level))); + $apply(FieldCopyWithData({ + if (individualId != $none) #individualId: individualId, + if (clientReferenceId != $none) #clientReferenceId: clientReferenceId, + if (isDeleted != $none) #isDeleted: isDeleted, + if (id != $none) #id: id, + if (auditDetails != $none) #auditDetails: auditDetails, + if (type != $none) #type: type, + if (experience != $none) #experience: experience, + if (level != $none) #level: level + })); + @override + IndividualSkills $make(CopyWithData data) => IndividualSkills( + individualId: data.get(#individualId, or: $value.individualId), + clientReferenceId: + data.get(#clientReferenceId, or: $value.clientReferenceId), + isDeleted: data.get(#isDeleted, or: $value.isDeleted), + id: data.get(#id, or: $value.id), + auditDetails: data.get(#auditDetails, or: $value.auditDetails), + type: data.get(#type, or: $value.type), + experience: data.get(#experience, or: $value.experience), + level: data.get(#level, or: $value.level)); + + @override + IndividualSkillsCopyWith<$R2, IndividualSkills, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _IndividualSkillsCopyWithImpl($value, $cast, t); } -class CommonAuditDetailsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {CommonAuditDetailsMapper()}, - ); - - @override - CommonAuditDetailsMapperElement createElement(MapperContainer container) { - return CommonAuditDetailsMapperElement._(this, container); +class IndividualAdditionalFieldsMapper + extends ClassMapperBase { + IndividualAdditionalFieldsMapper._(); + + static IndividualAdditionalFieldsMapper? _instance; + static IndividualAdditionalFieldsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals + .use(_instance = IndividualAdditionalFieldsMapper._()); + AdditionalIndividualFieldsMapper.ensureInitialized(); + } + return _instance!; } @override - String get id => 'CommonAuditDetails'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} - -class CommonAuditDetailsMapperElement - extends MapperElementBase { - CommonAuditDetailsMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - CommonAuditDetails decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - CommonAuditDetails fromMap(Map map) => CommonAuditDetails( - createdTime: container.$getOpt(map, 'createdTime'), - lastModifiedTime: container.$getOpt(map, 'lastModifiedTime'), - createdBy: container.$getOpt(map, 'createdBy'), - lastModifiedBy: container.$getOpt(map, 'lastModifiedBy')); - - @override - Function get encoder => encode; - dynamic encode(CommonAuditDetails v) => toMap(v); - Map toMap(CommonAuditDetails c) => { - 'createdTime': container.$enc(c.createdTime, 'createdTime'), - 'lastModifiedTime': - container.$enc(c.lastModifiedTime, 'lastModifiedTime'), - 'createdBy': container.$enc(c.createdBy, 'createdBy'), - 'lastModifiedBy': container.$enc(c.lastModifiedBy, 'lastModifiedBy') - }; - - @override - String stringify(CommonAuditDetails self) => - 'CommonAuditDetails(createdBy: ${container.asString(self.createdBy)}, lastModifiedBy: ${container.asString(self.lastModifiedBy)}, createdTime: ${container.asString(self.createdTime)}, lastModifiedTime: ${container.asString(self.lastModifiedTime)})'; - @override - int hash(CommonAuditDetails self) => - container.hash(self.createdBy) ^ - container.hash(self.lastModifiedBy) ^ - container.hash(self.createdTime) ^ - container.hash(self.lastModifiedTime); - @override - bool equals(CommonAuditDetails self, CommonAuditDetails other) => - container.isEqual(self.createdBy, other.createdBy) && - container.isEqual(self.lastModifiedBy, other.lastModifiedBy) && - container.isEqual(self.createdTime, other.createdTime) && - container.isEqual(self.lastModifiedTime, other.lastModifiedTime); -} - -mixin CommonAuditDetailsMappable { - String toJson() => - CommonAuditDetailsMapper.container.toJson(this as CommonAuditDetails); - Map toMap() => - CommonAuditDetailsMapper.container.toMap(this as CommonAuditDetails); - CommonAuditDetailsCopyWith - get copyWith => _CommonAuditDetailsCopyWithImpl( - this as CommonAuditDetails, $identity, $identity); - @override - String toString() => CommonAuditDetailsMapper.container.asString(this); - @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - CommonAuditDetailsMapper.container.isEqual(this, other)); - @override - int get hashCode => CommonAuditDetailsMapper.container.hash(this); -} - -extension CommonAuditDetailsValueCopy<$R, $Out extends CommonAuditDetails> - on ObjectCopyWith<$R, CommonAuditDetails, $Out> { - CommonAuditDetailsCopyWith<$R, CommonAuditDetails, $Out> - get asCommonAuditDetails => - base.as((v, t, t2) => _CommonAuditDetailsCopyWithImpl(v, t, t2)); -} - -typedef CommonAuditDetailsCopyWithBound = CommonAuditDetails; - -abstract class CommonAuditDetailsCopyWith<$R, $In extends CommonAuditDetails, - $Out extends CommonAuditDetails> implements ObjectCopyWith<$R, $In, $Out> { - CommonAuditDetailsCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends CommonAuditDetails>( - Then t, Then<$Out2, $R2> t2); - $R call( - {int? createdTime, - int? lastModifiedTime, - String? createdBy, - String? lastModifiedBy}); -} - -class _CommonAuditDetailsCopyWithImpl<$R, $Out extends CommonAuditDetails> - extends CopyWithBase<$R, CommonAuditDetails, $Out> - implements CommonAuditDetailsCopyWith<$R, CommonAuditDetails, $Out> { - _CommonAuditDetailsCopyWithImpl(super.value, super.then, super.then2); - @override - CommonAuditDetailsCopyWith<$R2, CommonAuditDetails, $Out2> - chain<$R2, $Out2 extends CommonAuditDetails>( - Then t, Then<$Out2, $R2> t2) => - _CommonAuditDetailsCopyWithImpl($value, t, t2); + final String id = 'IndividualAdditionalFields'; + + static String? _$status(IndividualAdditionalFields v) => v.status; + static const Field _f$status = + Field('status', _$status, opt: true); + static String? _$version(IndividualAdditionalFields v) => v.version; + static const Field _f$version = + Field('version', _$version, opt: true); + static String? _$documentType(IndividualAdditionalFields v) => v.documentType; + static const Field _f$documentType = + Field('documentType', _$documentType, opt: true); + static List? _$fields( + IndividualAdditionalFields v) => + v.fields; + static const Field> _f$fields = + Field('fields', _$fields, opt: true); + static String? _$documentUid(IndividualAdditionalFields v) => v.documentUid; + static const Field _f$documentUid = + Field('documentUid', _$documentUid, opt: true); + static String? _$fileStore(IndividualAdditionalFields v) => v.fileStore; + static const Field _f$fileStore = + Field('fileStore', _$fileStore, opt: true); + static String? _$schema(IndividualAdditionalFields v) => v.schema; + static const Field _f$schema = + Field('schema', _$schema, opt: true); + + @override + final MappableFields fields = const { + #status: _f$status, + #version: _f$version, + #documentType: _f$documentType, + #fields: _f$fields, + #documentUid: _f$documentUid, + #fileStore: _f$fileStore, + #schema: _f$schema, + }; + + static IndividualAdditionalFields _instantiate(DecodingData data) { + return IndividualAdditionalFields( + status: data.dec(_f$status), + version: data.dec(_f$version), + documentType: data.dec(_f$documentType), + fields: data.dec(_f$fields), + documentUid: data.dec(_f$documentUid), + fileStore: data.dec(_f$fileStore), + schema: data.dec(_f$schema)); + } @override - $R call( - {Object? createdTime = $none, - Object? lastModifiedTime = $none, - Object? createdBy = $none, - Object? lastModifiedBy = $none}) => - $then(CommonAuditDetails( - createdTime: or(createdTime, $value.createdTime), - lastModifiedTime: or(lastModifiedTime, $value.lastModifiedTime), - createdBy: or(createdBy, $value.createdBy), - lastModifiedBy: or(lastModifiedBy, $value.lastModifiedBy))); -} - -class IndividualAdditionalFieldsMapper - extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {IndividualAdditionalFieldsMapper()}, - )..linkAll({AdditionalIndividualFieldsMapper.container}); + final Function instantiate = _instantiate; - @override - IndividualAdditionalFieldsMapperElement createElement( - MapperContainer container) { - return IndividualAdditionalFieldsMapperElement._(this, container); + static IndividualAdditionalFields fromMap(Map map) { + return ensureInitialized().decodeMap(map); } - @override - String get id => 'IndividualAdditionalFields'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; + static IndividualAdditionalFields fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -class IndividualAdditionalFieldsMapperElement - extends MapperElementBase { - IndividualAdditionalFieldsMapperElement._(super.mapper, super.container); +mixin IndividualAdditionalFieldsMappable { + String toJson() { + return IndividualAdditionalFieldsMapper.ensureInitialized() + .encodeJson( + this as IndividualAdditionalFields); + } - @override - Function get decoder => decode; - IndividualAdditionalFields decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - IndividualAdditionalFields fromMap(Map map) => - IndividualAdditionalFields( - status: container.$getOpt(map, 'status'), - version: container.$getOpt(map, 'version'), - documentType: container.$getOpt(map, 'documentType'), - fields: container.$getOpt(map, 'fields'), - documentUid: container.$getOpt(map, 'documentUid'), - fileStore: container.$getOpt(map, 'fileStore'), - schema: container.$getOpt(map, 'schema')); - - @override - Function get encoder => encode; - dynamic encode(IndividualAdditionalFields v) => toMap(v); - Map toMap(IndividualAdditionalFields i) => { - 'status': container.$enc(i.status, 'status'), - 'version': container.$enc(i.version, 'version'), - 'documentType': container.$enc(i.documentType, 'documentType'), - 'fields': container.$enc(i.fields, 'fields'), - 'documentUid': container.$enc(i.documentUid, 'documentUid'), - 'fileStore': container.$enc(i.fileStore, 'fileStore'), - 'schema': container.$enc(i.schema, 'schema') - }; - - @override - String stringify(IndividualAdditionalFields self) => - 'IndividualAdditionalFields(schema: ${container.asString(self.schema)}, version: ${container.asString(self.version)}, fields: ${container.asString(self.fields)}, documentType: ${container.asString(self.documentType)}, fileStore: ${container.asString(self.fileStore)}, documentUid: ${container.asString(self.documentUid)}, status: ${container.asString(self.status)})'; - @override - int hash(IndividualAdditionalFields self) => - container.hash(self.schema) ^ - container.hash(self.version) ^ - container.hash(self.fields) ^ - container.hash(self.documentType) ^ - container.hash(self.fileStore) ^ - container.hash(self.documentUid) ^ - container.hash(self.status); - @override - bool equals( - IndividualAdditionalFields self, IndividualAdditionalFields other) => - container.isEqual(self.schema, other.schema) && - container.isEqual(self.version, other.version) && - container.isEqual(self.fields, other.fields) && - container.isEqual(self.documentType, other.documentType) && - container.isEqual(self.fileStore, other.fileStore) && - container.isEqual(self.documentUid, other.documentUid) && - container.isEqual(self.status, other.status); -} + Map toMap() { + return IndividualAdditionalFieldsMapper.ensureInitialized() + .encodeMap( + this as IndividualAdditionalFields); + } -mixin IndividualAdditionalFieldsMappable { - String toJson() => IndividualAdditionalFieldsMapper.container - .toJson(this as IndividualAdditionalFields); - Map toMap() => IndividualAdditionalFieldsMapper.container - .toMap(this as IndividualAdditionalFields); IndividualAdditionalFieldsCopyWith get copyWith => _IndividualAdditionalFieldsCopyWithImpl( this as IndividualAdditionalFields, $identity, $identity); @override - String toString() => - IndividualAdditionalFieldsMapper.container.asString(this); + String toString() { + return IndividualAdditionalFieldsMapper.ensureInitialized() + .stringifyValue(this as IndividualAdditionalFields); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - IndividualAdditionalFieldsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return IndividualAdditionalFieldsMapper.ensureInitialized() + .equalsValue(this as IndividualAdditionalFields, other); + } + @override - int get hashCode => IndividualAdditionalFieldsMapper.container.hash(this); + int get hashCode { + return IndividualAdditionalFieldsMapper.ensureInitialized() + .hashValue(this as IndividualAdditionalFields); + } } -extension IndividualAdditionalFieldsValueCopy<$R, - $Out extends IndividualAdditionalFields> +extension IndividualAdditionalFieldsValueCopy<$R, $Out> on ObjectCopyWith<$R, IndividualAdditionalFields, $Out> { IndividualAdditionalFieldsCopyWith<$R, IndividualAdditionalFields, $Out> - get asIndividualAdditionalFields => base + get $asIndividualAdditionalFields => $base .as((v, t, t2) => _IndividualAdditionalFieldsCopyWithImpl(v, t, t2)); } -typedef IndividualAdditionalFieldsCopyWithBound = IndividualAdditionalFields; - abstract class IndividualAdditionalFieldsCopyWith< - $R, - $In extends IndividualAdditionalFields, - $Out extends IndividualAdditionalFields> - implements ObjectCopyWith<$R, $In, $Out> { - IndividualAdditionalFieldsCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends IndividualAdditionalFields>( - Then t, Then<$Out2, $R2> t2); + $R, + $In extends IndividualAdditionalFields, + $Out> implements ClassCopyWith<$R, $In, $Out> { ListCopyWith< $R, AdditionalIndividualFields, @@ -1682,31 +1086,27 @@ abstract class IndividualAdditionalFieldsCopyWith< String? documentUid, String? fileStore, String? schema}); + IndividualAdditionalFieldsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _IndividualAdditionalFieldsCopyWithImpl<$R, - $Out extends IndividualAdditionalFields> - extends CopyWithBase<$R, IndividualAdditionalFields, $Out> +class _IndividualAdditionalFieldsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, IndividualAdditionalFields, $Out> implements IndividualAdditionalFieldsCopyWith<$R, IndividualAdditionalFields, $Out> { _IndividualAdditionalFieldsCopyWithImpl(super.value, super.then, super.then2); - @override - IndividualAdditionalFieldsCopyWith<$R2, IndividualAdditionalFields, $Out2> - chain<$R2, $Out2 extends IndividualAdditionalFields>( - Then t, Then<$Out2, $R2> t2) => - _IndividualAdditionalFieldsCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + IndividualAdditionalFieldsMapper.ensureInitialized(); @override ListCopyWith< $R, AdditionalIndividualFields, AdditionalIndividualFieldsCopyWith<$R, AdditionalIndividualFields, AdditionalIndividualFields>>? get fields => $value.fields != null - ? ListCopyWith( - $value.fields!, - (v, t) => - v.copyWith.chain<$R, AdditionalIndividualFields>($identity, t), + ? ListCopyWith($value.fields!, (v, t) => v.copyWith.$chain(t), (v) => call(fields: v)) : null; @override @@ -1718,245 +1118,565 @@ class _IndividualAdditionalFieldsCopyWithImpl<$R, Object? documentUid = $none, Object? fileStore = $none, Object? schema = $none}) => - $then(IndividualAdditionalFields( - status: or(status, $value.status), - version: or(version, $value.version), - documentType: or(documentType, $value.documentType), - fields: or(fields, $value.fields), - documentUid: or(documentUid, $value.documentUid), - fileStore: or(fileStore, $value.fileStore), - schema: or(schema, $value.schema))); + $apply(FieldCopyWithData({ + if (status != $none) #status: status, + if (version != $none) #version: version, + if (documentType != $none) #documentType: documentType, + if (fields != $none) #fields: fields, + if (documentUid != $none) #documentUid: documentUid, + if (fileStore != $none) #fileStore: fileStore, + if (schema != $none) #schema: schema + })); + @override + IndividualAdditionalFields $make(CopyWithData data) => + IndividualAdditionalFields( + status: data.get(#status, or: $value.status), + version: data.get(#version, or: $value.version), + documentType: data.get(#documentType, or: $value.documentType), + fields: data.get(#fields, or: $value.fields), + documentUid: data.get(#documentUid, or: $value.documentUid), + fileStore: data.get(#fileStore, or: $value.fileStore), + schema: data.get(#schema, or: $value.schema)); + + @override + IndividualAdditionalFieldsCopyWith<$R2, IndividualAdditionalFields, $Out2> + $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _IndividualAdditionalFieldsCopyWithImpl($value, $cast, t); } -class AddressLocalityMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {AddressLocalityMapper()}, - ); +class AdditionalIndividualFieldsMapper + extends ClassMapperBase { + AdditionalIndividualFieldsMapper._(); + + static AdditionalIndividualFieldsMapper? _instance; + static AdditionalIndividualFieldsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals + .use(_instance = AdditionalIndividualFieldsMapper._()); + } + return _instance!; + } + + @override + final String id = 'AdditionalIndividualFields'; + + static String? _$key(AdditionalIndividualFields v) => v.key; + static const Field _f$key = + Field('key', _$key, opt: true); + static String? _$value(AdditionalIndividualFields v) => v.value; + static const Field _f$value = + Field('value', _$value, opt: true); @override - AddressLocalityMapperElement createElement(MapperContainer container) { - return AddressLocalityMapperElement._(this, container); + final MappableFields fields = const { + #key: _f$key, + #value: _f$value, + }; + + static AdditionalIndividualFields _instantiate(DecodingData data) { + return AdditionalIndividualFields( + key: data.dec(_f$key), value: data.dec(_f$value)); } @override - String get id => 'AddressLocality'; + final Function instantiate = _instantiate; + + static AdditionalIndividualFields fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; + static AdditionalIndividualFields fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -class AddressLocalityMapperElement extends MapperElementBase { - AddressLocalityMapperElement._(super.mapper, super.container); +mixin AdditionalIndividualFieldsMappable { + String toJson() { + return AdditionalIndividualFieldsMapper.ensureInitialized() + .encodeJson( + this as AdditionalIndividualFields); + } - @override - Function get decoder => decode; - AddressLocality decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - AddressLocality fromMap(Map map) => AddressLocality( - code: container.$getOpt(map, 'code'), - name: container.$getOpt(map, 'name'), - label: container.$getOpt(map, 'label'), - latitude: container.$getOpt(map, 'latitude'), - longitude: container.$getOpt(map, 'longitude'), - materializedPath: container.$getOpt(map, 'materializedPath')); + Map toMap() { + return AdditionalIndividualFieldsMapper.ensureInitialized() + .encodeMap( + this as AdditionalIndividualFields); + } + AdditionalIndividualFieldsCopyWith + get copyWith => _AdditionalIndividualFieldsCopyWithImpl( + this as AdditionalIndividualFields, $identity, $identity); @override - Function get encoder => encode; - dynamic encode(AddressLocality v) => toMap(v); - Map toMap(AddressLocality a) => { - 'code': container.$enc(a.code, 'code'), - 'name': container.$enc(a.name, 'name'), - 'label': container.$enc(a.label, 'label'), - 'latitude': container.$enc(a.latitude, 'latitude'), - 'longitude': container.$enc(a.longitude, 'longitude'), - 'materializedPath': - container.$enc(a.materializedPath, 'materializedPath') - }; + String toString() { + return AdditionalIndividualFieldsMapper.ensureInitialized() + .stringifyValue(this as AdditionalIndividualFields); + } @override - String stringify(AddressLocality self) => - 'AddressLocality(code: ${container.asString(self.code)}, name: ${container.asString(self.name)}, label: ${container.asString(self.label)}, latitude: ${container.asString(self.latitude)}, longitude: ${container.asString(self.longitude)}, materializedPath: ${container.asString(self.materializedPath)})'; - @override - int hash(AddressLocality self) => - container.hash(self.code) ^ - container.hash(self.name) ^ - container.hash(self.label) ^ - container.hash(self.latitude) ^ - container.hash(self.longitude) ^ - container.hash(self.materializedPath); + bool operator ==(Object other) { + return AdditionalIndividualFieldsMapper.ensureInitialized() + .equalsValue(this as AdditionalIndividualFields, other); + } + @override - bool equals(AddressLocality self, AddressLocality other) => - container.isEqual(self.code, other.code) && - container.isEqual(self.name, other.name) && - container.isEqual(self.label, other.label) && - container.isEqual(self.latitude, other.latitude) && - container.isEqual(self.longitude, other.longitude) && - container.isEqual(self.materializedPath, other.materializedPath); + int get hashCode { + return AdditionalIndividualFieldsMapper.ensureInitialized() + .hashValue(this as AdditionalIndividualFields); + } } -mixin AddressLocalityMappable { - String toJson() => - AddressLocalityMapper.container.toJson(this as AddressLocality); - Map toMap() => - AddressLocalityMapper.container.toMap(this as AddressLocality); - AddressLocalityCopyWith - get copyWith => _AddressLocalityCopyWithImpl( - this as AddressLocality, $identity, $identity); - @override - String toString() => AddressLocalityMapper.container.asString(this); - @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - AddressLocalityMapper.container.isEqual(this, other)); - @override - int get hashCode => AddressLocalityMapper.container.hash(this); +extension AdditionalIndividualFieldsValueCopy<$R, $Out> + on ObjectCopyWith<$R, AdditionalIndividualFields, $Out> { + AdditionalIndividualFieldsCopyWith<$R, AdditionalIndividualFields, $Out> + get $asAdditionalIndividualFields => $base + .as((v, t, t2) => _AdditionalIndividualFieldsCopyWithImpl(v, t, t2)); } -extension AddressLocalityValueCopy<$R, $Out extends AddressLocality> - on ObjectCopyWith<$R, AddressLocality, $Out> { - AddressLocalityCopyWith<$R, AddressLocality, $Out> get asAddressLocality => - base.as((v, t, t2) => _AddressLocalityCopyWithImpl(v, t, t2)); +abstract class AdditionalIndividualFieldsCopyWith< + $R, + $In extends AdditionalIndividualFields, + $Out> implements ClassCopyWith<$R, $In, $Out> { + $R call({String? key, String? value}); + AdditionalIndividualFieldsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -typedef AddressLocalityCopyWithBound = AddressLocality; +class _AdditionalIndividualFieldsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, AdditionalIndividualFields, $Out> + implements + AdditionalIndividualFieldsCopyWith<$R, AdditionalIndividualFields, + $Out> { + _AdditionalIndividualFieldsCopyWithImpl(super.value, super.then, super.then2); -abstract class AddressLocalityCopyWith<$R, $In extends AddressLocality, - $Out extends AddressLocality> implements ObjectCopyWith<$R, $In, $Out> { - AddressLocalityCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends AddressLocality>( - Then t, Then<$Out2, $R2> t2); - $R call( - {String? code, - String? name, - String? label, - double? latitude, - double? longitude, - String? materializedPath}); -} + @override + late final ClassMapperBase $mapper = + AdditionalIndividualFieldsMapper.ensureInitialized(); + @override + $R call({Object? key = $none, Object? value = $none}) => + $apply(FieldCopyWithData( + {if (key != $none) #key: key, if (value != $none) #value: value})); + @override + AdditionalIndividualFields $make(CopyWithData data) => + AdditionalIndividualFields( + key: data.get(#key, or: $value.key), + value: data.get(#value, or: $value.value)); -class _AddressLocalityCopyWithImpl<$R, $Out extends AddressLocality> - extends CopyWithBase<$R, AddressLocality, $Out> - implements AddressLocalityCopyWith<$R, AddressLocality, $Out> { - _AddressLocalityCopyWithImpl(super.value, super.then, super.then2); @override - AddressLocalityCopyWith<$R2, AddressLocality, $Out2> - chain<$R2, $Out2 extends AddressLocality>( - Then t, Then<$Out2, $R2> t2) => - _AddressLocalityCopyWithImpl($value, t, t2); + AdditionalIndividualFieldsCopyWith<$R2, AdditionalIndividualFields, $Out2> + $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _AdditionalIndividualFieldsCopyWithImpl($value, $cast, t); +} + +class IndividualAddressMapper extends ClassMapperBase { + IndividualAddressMapper._(); + + static IndividualAddressMapper? _instance; + static IndividualAddressMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = IndividualAddressMapper._()); + CommonAuditDetailsMapper.ensureInitialized(); + AddressWardMapper.ensureInitialized(); + AddressLocalityMapper.ensureInitialized(); + } + return _instance!; + } @override - $R call( - {Object? code = $none, - Object? name = $none, - Object? label = $none, - Object? latitude = $none, - Object? longitude = $none, - Object? materializedPath = $none}) => - $then(AddressLocality( - code: or(code, $value.code), - name: or(name, $value.name), - label: or(label, $value.label), - latitude: or(latitude, $value.latitude), - longitude: or(longitude, $value.longitude), - materializedPath: or(materializedPath, $value.materializedPath))); + final String id = 'IndividualAddress'; + + static String? _$id(IndividualAddress v) => v.id; + static const Field _f$id = + Field('id', _$id, opt: true); + static String? _$tenantId(IndividualAddress v) => v.tenantId; + static const Field _f$tenantId = + Field('tenantId', _$tenantId, opt: true); + static CommonAuditDetails? _$auditDetails(IndividualAddress v) => + v.auditDetails; + static const Field _f$auditDetails = + Field('auditDetails', _$auditDetails, opt: true); + static bool? _$isDeleted(IndividualAddress v) => v.isDeleted; + static const Field _f$isDeleted = + Field('isDeleted', _$isDeleted, opt: true); + static String? _$clientReferenceId(IndividualAddress v) => + v.clientReferenceId; + static const Field _f$clientReferenceId = + Field('clientReferenceId', _$clientReferenceId, opt: true); + static String? _$individualId(IndividualAddress v) => v.individualId; + static const Field _f$individualId = + Field('individualId', _$individualId, opt: true); + static AddressWard? _$ward(IndividualAddress v) => v.ward; + static const Field _f$ward = + Field('ward', _$ward, opt: true); + static String? _$type(IndividualAddress v) => v.type; + static const Field _f$type = + Field('type', _$type, opt: true); + static String? _$addressLine1(IndividualAddress v) => v.addressLine1; + static const Field _f$addressLine1 = + Field('addressLine1', _$addressLine1, opt: true); + static String? _$addressLine2(IndividualAddress v) => v.addressLine2; + static const Field _f$addressLine2 = + Field('addressLine2', _$addressLine2, opt: true); + static String? _$buildingName(IndividualAddress v) => v.buildingName; + static const Field _f$buildingName = + Field('buildingName', _$buildingName, opt: true); + static String? _$city(IndividualAddress v) => v.city; + static const Field _f$city = + Field('city', _$city, opt: true); + static String? _$doorNo(IndividualAddress v) => v.doorNo; + static const Field _f$doorNo = + Field('doorNo', _$doorNo, opt: true); + static String? _$landmark(IndividualAddress v) => v.landmark; + static const Field _f$landmark = + Field('landmark', _$landmark, opt: true); + static double? _$latitude(IndividualAddress v) => v.latitude; + static const Field _f$latitude = + Field('latitude', _$latitude, opt: true); + static AddressLocality? _$locality(IndividualAddress v) => v.locality; + static const Field _f$locality = + Field('locality', _$locality, opt: true); + static double? _$locationAccuracy(IndividualAddress v) => v.locationAccuracy; + static const Field _f$locationAccuracy = + Field('locationAccuracy', _$locationAccuracy, opt: true); + static double? _$longitude(IndividualAddress v) => v.longitude; + static const Field _f$longitude = + Field('longitude', _$longitude, opt: true); + static String? _$pincode(IndividualAddress v) => v.pincode; + static const Field _f$pincode = + Field('pincode', _$pincode, opt: true); + static String? _$street(IndividualAddress v) => v.street; + static const Field _f$street = + Field('street', _$street, opt: true); + + @override + final MappableFields fields = const { + #id: _f$id, + #tenantId: _f$tenantId, + #auditDetails: _f$auditDetails, + #isDeleted: _f$isDeleted, + #clientReferenceId: _f$clientReferenceId, + #individualId: _f$individualId, + #ward: _f$ward, + #type: _f$type, + #addressLine1: _f$addressLine1, + #addressLine2: _f$addressLine2, + #buildingName: _f$buildingName, + #city: _f$city, + #doorNo: _f$doorNo, + #landmark: _f$landmark, + #latitude: _f$latitude, + #locality: _f$locality, + #locationAccuracy: _f$locationAccuracy, + #longitude: _f$longitude, + #pincode: _f$pincode, + #street: _f$street, + }; + + static IndividualAddress _instantiate(DecodingData data) { + return IndividualAddress( + id: data.dec(_f$id), + tenantId: data.dec(_f$tenantId), + auditDetails: data.dec(_f$auditDetails), + isDeleted: data.dec(_f$isDeleted), + clientReferenceId: data.dec(_f$clientReferenceId), + individualId: data.dec(_f$individualId), + ward: data.dec(_f$ward), + type: data.dec(_f$type), + addressLine1: data.dec(_f$addressLine1), + addressLine2: data.dec(_f$addressLine2), + buildingName: data.dec(_f$buildingName), + city: data.dec(_f$city), + doorNo: data.dec(_f$doorNo), + landmark: data.dec(_f$landmark), + latitude: data.dec(_f$latitude), + locality: data.dec(_f$locality), + locationAccuracy: data.dec(_f$locationAccuracy), + longitude: data.dec(_f$longitude), + pincode: data.dec(_f$pincode), + street: data.dec(_f$street)); + } + + @override + final Function instantiate = _instantiate; + + static IndividualAddress fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static IndividualAddress fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -class AddressWardMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {AddressWardMapper()}, - ); +mixin IndividualAddressMappable { + String toJson() { + return IndividualAddressMapper.ensureInitialized() + .encodeJson(this as IndividualAddress); + } + Map toMap() { + return IndividualAddressMapper.ensureInitialized() + .encodeMap(this as IndividualAddress); + } + + IndividualAddressCopyWith + get copyWith => _IndividualAddressCopyWithImpl( + this as IndividualAddress, $identity, $identity); @override - AddressWardMapperElement createElement(MapperContainer container) { - return AddressWardMapperElement._(this, container); + String toString() { + return IndividualAddressMapper.ensureInitialized() + .stringifyValue(this as IndividualAddress); } @override - String get id => 'AddressWard'; + bool operator ==(Object other) { + return IndividualAddressMapper.ensureInitialized() + .equalsValue(this as IndividualAddress, other); + } - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; + @override + int get hashCode { + return IndividualAddressMapper.ensureInitialized() + .hashValue(this as IndividualAddress); + } } -class AddressWardMapperElement extends MapperElementBase { - AddressWardMapperElement._(super.mapper, super.container); +extension IndividualAddressValueCopy<$R, $Out> + on ObjectCopyWith<$R, IndividualAddress, $Out> { + IndividualAddressCopyWith<$R, IndividualAddress, $Out> + get $asIndividualAddress => + $base.as((v, t, t2) => _IndividualAddressCopyWithImpl(v, t, t2)); +} - @override - Function get decoder => decode; - AddressWard decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - AddressWard fromMap(Map map) => AddressWard( - code: container.$getOpt(map, 'code'), - name: container.$getOpt(map, 'name'), - label: container.$getOpt(map, 'label'), - latitude: container.$getOpt(map, 'latitude'), - longitude: container.$getOpt(map, 'longitude'), - materializedPath: container.$getOpt(map, 'materializedPath')); +abstract class IndividualAddressCopyWith<$R, $In extends IndividualAddress, + $Out> implements ClassCopyWith<$R, $In, $Out> { + CommonAuditDetailsCopyWith<$R, CommonAuditDetails, CommonAuditDetails>? + get auditDetails; + AddressWardCopyWith<$R, AddressWard, AddressWard>? get ward; + AddressLocalityCopyWith<$R, AddressLocality, AddressLocality>? get locality; + $R call( + {String? id, + String? tenantId, + CommonAuditDetails? auditDetails, + bool? isDeleted, + String? clientReferenceId, + String? individualId, + AddressWard? ward, + String? type, + String? addressLine1, + String? addressLine2, + String? buildingName, + String? city, + String? doorNo, + String? landmark, + double? latitude, + AddressLocality? locality, + double? locationAccuracy, + double? longitude, + String? pincode, + String? street}); + IndividualAddressCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); +} - @override - Function get encoder => encode; - dynamic encode(AddressWard v) => toMap(v); - Map toMap(AddressWard a) => { - 'code': container.$enc(a.code, 'code'), - 'name': container.$enc(a.name, 'name'), - 'label': container.$enc(a.label, 'label'), - 'latitude': container.$enc(a.latitude, 'latitude'), - 'longitude': container.$enc(a.longitude, 'longitude'), - 'materializedPath': - container.$enc(a.materializedPath, 'materializedPath') - }; +class _IndividualAddressCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, IndividualAddress, $Out> + implements IndividualAddressCopyWith<$R, IndividualAddress, $Out> { + _IndividualAddressCopyWithImpl(super.value, super.then, super.then2); @override - String stringify(AddressWard self) => - 'AddressWard(code: ${container.asString(self.code)}, name: ${container.asString(self.name)}, label: ${container.asString(self.label)}, latitude: ${container.asString(self.latitude)}, longitude: ${container.asString(self.longitude)}, materializedPath: ${container.asString(self.materializedPath)})'; + late final ClassMapperBase $mapper = + IndividualAddressMapper.ensureInitialized(); + @override + CommonAuditDetailsCopyWith<$R, CommonAuditDetails, CommonAuditDetails>? + get auditDetails => + $value.auditDetails?.copyWith.$chain((v) => call(auditDetails: v)); + @override + AddressWardCopyWith<$R, AddressWard, AddressWard>? get ward => + $value.ward?.copyWith.$chain((v) => call(ward: v)); + @override + AddressLocalityCopyWith<$R, AddressLocality, AddressLocality>? get locality => + $value.locality?.copyWith.$chain((v) => call(locality: v)); + @override + $R call( + {Object? id = $none, + Object? tenantId = $none, + Object? auditDetails = $none, + Object? isDeleted = $none, + Object? clientReferenceId = $none, + Object? individualId = $none, + Object? ward = $none, + Object? type = $none, + Object? addressLine1 = $none, + Object? addressLine2 = $none, + Object? buildingName = $none, + Object? city = $none, + Object? doorNo = $none, + Object? landmark = $none, + Object? latitude = $none, + Object? locality = $none, + Object? locationAccuracy = $none, + Object? longitude = $none, + Object? pincode = $none, + Object? street = $none}) => + $apply(FieldCopyWithData({ + if (id != $none) #id: id, + if (tenantId != $none) #tenantId: tenantId, + if (auditDetails != $none) #auditDetails: auditDetails, + if (isDeleted != $none) #isDeleted: isDeleted, + if (clientReferenceId != $none) #clientReferenceId: clientReferenceId, + if (individualId != $none) #individualId: individualId, + if (ward != $none) #ward: ward, + if (type != $none) #type: type, + if (addressLine1 != $none) #addressLine1: addressLine1, + if (addressLine2 != $none) #addressLine2: addressLine2, + if (buildingName != $none) #buildingName: buildingName, + if (city != $none) #city: city, + if (doorNo != $none) #doorNo: doorNo, + if (landmark != $none) #landmark: landmark, + if (latitude != $none) #latitude: latitude, + if (locality != $none) #locality: locality, + if (locationAccuracy != $none) #locationAccuracy: locationAccuracy, + if (longitude != $none) #longitude: longitude, + if (pincode != $none) #pincode: pincode, + if (street != $none) #street: street + })); + @override + IndividualAddress $make(CopyWithData data) => IndividualAddress( + id: data.get(#id, or: $value.id), + tenantId: data.get(#tenantId, or: $value.tenantId), + auditDetails: data.get(#auditDetails, or: $value.auditDetails), + isDeleted: data.get(#isDeleted, or: $value.isDeleted), + clientReferenceId: + data.get(#clientReferenceId, or: $value.clientReferenceId), + individualId: data.get(#individualId, or: $value.individualId), + ward: data.get(#ward, or: $value.ward), + type: data.get(#type, or: $value.type), + addressLine1: data.get(#addressLine1, or: $value.addressLine1), + addressLine2: data.get(#addressLine2, or: $value.addressLine2), + buildingName: data.get(#buildingName, or: $value.buildingName), + city: data.get(#city, or: $value.city), + doorNo: data.get(#doorNo, or: $value.doorNo), + landmark: data.get(#landmark, or: $value.landmark), + latitude: data.get(#latitude, or: $value.latitude), + locality: data.get(#locality, or: $value.locality), + locationAccuracy: + data.get(#locationAccuracy, or: $value.locationAccuracy), + longitude: data.get(#longitude, or: $value.longitude), + pincode: data.get(#pincode, or: $value.pincode), + street: data.get(#street, or: $value.street)); + + @override + IndividualAddressCopyWith<$R2, IndividualAddress, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _IndividualAddressCopyWithImpl($value, $cast, t); +} + +class AddressWardMapper extends ClassMapperBase { + AddressWardMapper._(); + + static AddressWardMapper? _instance; + static AddressWardMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = AddressWardMapper._()); + } + return _instance!; + } + @override - int hash(AddressWard self) => - container.hash(self.code) ^ - container.hash(self.name) ^ - container.hash(self.label) ^ - container.hash(self.latitude) ^ - container.hash(self.longitude) ^ - container.hash(self.materializedPath); + final String id = 'AddressWard'; + + static String? _$code(AddressWard v) => v.code; + static const Field _f$code = + Field('code', _$code, opt: true); + static String? _$name(AddressWard v) => v.name; + static const Field _f$name = + Field('name', _$name, opt: true); + static String? _$label(AddressWard v) => v.label; + static const Field _f$label = + Field('label', _$label, opt: true); + static double? _$latitude(AddressWard v) => v.latitude; + static const Field _f$latitude = + Field('latitude', _$latitude, opt: true); + static double? _$longitude(AddressWard v) => v.longitude; + static const Field _f$longitude = + Field('longitude', _$longitude, opt: true); + static String? _$materializedPath(AddressWard v) => v.materializedPath; + static const Field _f$materializedPath = + Field('materializedPath', _$materializedPath, opt: true); + + @override + final MappableFields fields = const { + #code: _f$code, + #name: _f$name, + #label: _f$label, + #latitude: _f$latitude, + #longitude: _f$longitude, + #materializedPath: _f$materializedPath, + }; + + static AddressWard _instantiate(DecodingData data) { + return AddressWard( + code: data.dec(_f$code), + name: data.dec(_f$name), + label: data.dec(_f$label), + latitude: data.dec(_f$latitude), + longitude: data.dec(_f$longitude), + materializedPath: data.dec(_f$materializedPath)); + } + @override - bool equals(AddressWard self, AddressWard other) => - container.isEqual(self.code, other.code) && - container.isEqual(self.name, other.name) && - container.isEqual(self.label, other.label) && - container.isEqual(self.latitude, other.latitude) && - container.isEqual(self.longitude, other.longitude) && - container.isEqual(self.materializedPath, other.materializedPath); + final Function instantiate = _instantiate; + + static AddressWard fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static AddressWard fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin AddressWardMappable { - String toJson() => AddressWardMapper.container.toJson(this as AddressWard); - Map toMap() => - AddressWardMapper.container.toMap(this as AddressWard); + String toJson() { + return AddressWardMapper.ensureInitialized() + .encodeJson(this as AddressWard); + } + + Map toMap() { + return AddressWardMapper.ensureInitialized() + .encodeMap(this as AddressWard); + } + AddressWardCopyWith get copyWith => _AddressWardCopyWithImpl(this as AddressWard, $identity, $identity); @override - String toString() => AddressWardMapper.container.asString(this); + String toString() { + return AddressWardMapper.ensureInitialized() + .stringifyValue(this as AddressWard); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - AddressWardMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return AddressWardMapper.ensureInitialized() + .equalsValue(this as AddressWard, other); + } + @override - int get hashCode => AddressWardMapper.container.hash(this); + int get hashCode { + return AddressWardMapper.ensureInitialized().hashValue(this as AddressWard); + } } -extension AddressWardValueCopy<$R, $Out extends AddressWard> +extension AddressWardValueCopy<$R, $Out> on ObjectCopyWith<$R, AddressWard, $Out> { - AddressWardCopyWith<$R, AddressWard, $Out> get asAddressWard => - base.as((v, t, t2) => _AddressWardCopyWithImpl(v, t, t2)); + AddressWardCopyWith<$R, AddressWard, $Out> get $asAddressWard => + $base.as((v, t, t2) => _AddressWardCopyWithImpl(v, t, t2)); } -typedef AddressWardCopyWithBound = AddressWard; - -abstract class AddressWardCopyWith<$R, $In extends AddressWard, - $Out extends AddressWard> implements ObjectCopyWith<$R, $In, $Out> { - AddressWardCopyWith<$R2, $In, $Out2> chain<$R2, $Out2 extends AddressWard>( - Then t, Then<$Out2, $R2> t2); +abstract class AddressWardCopyWith<$R, $In extends AddressWard, $Out> + implements ClassCopyWith<$R, $In, $Out> { $R call( {String? code, String? name, @@ -1964,18 +1684,174 @@ abstract class AddressWardCopyWith<$R, $In extends AddressWard, double? latitude, double? longitude, String? materializedPath}); + AddressWardCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); } -class _AddressWardCopyWithImpl<$R, $Out extends AddressWard> - extends CopyWithBase<$R, AddressWard, $Out> +class _AddressWardCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, AddressWard, $Out> implements AddressWardCopyWith<$R, AddressWard, $Out> { _AddressWardCopyWithImpl(super.value, super.then, super.then2); + + @override + late final ClassMapperBase $mapper = + AddressWardMapper.ensureInitialized(); + @override + $R call( + {Object? code = $none, + Object? name = $none, + Object? label = $none, + Object? latitude = $none, + Object? longitude = $none, + Object? materializedPath = $none}) => + $apply(FieldCopyWithData({ + if (code != $none) #code: code, + if (name != $none) #name: name, + if (label != $none) #label: label, + if (latitude != $none) #latitude: latitude, + if (longitude != $none) #longitude: longitude, + if (materializedPath != $none) #materializedPath: materializedPath + })); + @override + AddressWard $make(CopyWithData data) => AddressWard( + code: data.get(#code, or: $value.code), + name: data.get(#name, or: $value.name), + label: data.get(#label, or: $value.label), + latitude: data.get(#latitude, or: $value.latitude), + longitude: data.get(#longitude, or: $value.longitude), + materializedPath: + data.get(#materializedPath, or: $value.materializedPath)); + + @override + AddressWardCopyWith<$R2, AddressWard, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _AddressWardCopyWithImpl($value, $cast, t); +} + +class AddressLocalityMapper extends ClassMapperBase { + AddressLocalityMapper._(); + + static AddressLocalityMapper? _instance; + static AddressLocalityMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = AddressLocalityMapper._()); + } + return _instance!; + } + + @override + final String id = 'AddressLocality'; + + static String? _$code(AddressLocality v) => v.code; + static const Field _f$code = + Field('code', _$code, opt: true); + static String? _$name(AddressLocality v) => v.name; + static const Field _f$name = + Field('name', _$name, opt: true); + static String? _$label(AddressLocality v) => v.label; + static const Field _f$label = + Field('label', _$label, opt: true); + static double? _$latitude(AddressLocality v) => v.latitude; + static const Field _f$latitude = + Field('latitude', _$latitude, opt: true); + static double? _$longitude(AddressLocality v) => v.longitude; + static const Field _f$longitude = + Field('longitude', _$longitude, opt: true); + static String? _$materializedPath(AddressLocality v) => v.materializedPath; + static const Field _f$materializedPath = + Field('materializedPath', _$materializedPath, opt: true); + + @override + final MappableFields fields = const { + #code: _f$code, + #name: _f$name, + #label: _f$label, + #latitude: _f$latitude, + #longitude: _f$longitude, + #materializedPath: _f$materializedPath, + }; + + static AddressLocality _instantiate(DecodingData data) { + return AddressLocality( + code: data.dec(_f$code), + name: data.dec(_f$name), + label: data.dec(_f$label), + latitude: data.dec(_f$latitude), + longitude: data.dec(_f$longitude), + materializedPath: data.dec(_f$materializedPath)); + } + + @override + final Function instantiate = _instantiate; + + static AddressLocality fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static AddressLocality fromJson(String json) { + return ensureInitialized().decodeJson(json); + } +} + +mixin AddressLocalityMappable { + String toJson() { + return AddressLocalityMapper.ensureInitialized() + .encodeJson(this as AddressLocality); + } + + Map toMap() { + return AddressLocalityMapper.ensureInitialized() + .encodeMap(this as AddressLocality); + } + + AddressLocalityCopyWith + get copyWith => _AddressLocalityCopyWithImpl( + this as AddressLocality, $identity, $identity); + @override + String toString() { + return AddressLocalityMapper.ensureInitialized() + .stringifyValue(this as AddressLocality); + } + @override - AddressWardCopyWith<$R2, AddressWard, $Out2> - chain<$R2, $Out2 extends AddressWard>( - Then t, Then<$Out2, $R2> t2) => - _AddressWardCopyWithImpl($value, t, t2); + bool operator ==(Object other) { + return AddressLocalityMapper.ensureInitialized() + .equalsValue(this as AddressLocality, other); + } + @override + int get hashCode { + return AddressLocalityMapper.ensureInitialized() + .hashValue(this as AddressLocality); + } +} + +extension AddressLocalityValueCopy<$R, $Out> + on ObjectCopyWith<$R, AddressLocality, $Out> { + AddressLocalityCopyWith<$R, AddressLocality, $Out> get $asAddressLocality => + $base.as((v, t, t2) => _AddressLocalityCopyWithImpl(v, t, t2)); +} + +abstract class AddressLocalityCopyWith<$R, $In extends AddressLocality, $Out> + implements ClassCopyWith<$R, $In, $Out> { + $R call( + {String? code, + String? name, + String? label, + double? latitude, + double? longitude, + String? materializedPath}); + AddressLocalityCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); +} + +class _AddressLocalityCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, AddressLocality, $Out> + implements AddressLocalityCopyWith<$R, AddressLocality, $Out> { + _AddressLocalityCopyWithImpl(super.value, super.then, super.then2); + + @override + late final ClassMapperBase $mapper = + AddressLocalityMapper.ensureInitialized(); @override $R call( {Object? code = $none, @@ -1984,125 +1860,573 @@ class _AddressWardCopyWithImpl<$R, $Out extends AddressWard> Object? latitude = $none, Object? longitude = $none, Object? materializedPath = $none}) => - $then(AddressWard( - code: or(code, $value.code), - name: or(name, $value.name), - label: or(label, $value.label), - latitude: or(latitude, $value.latitude), - longitude: or(longitude, $value.longitude), - materializedPath: or(materializedPath, $value.materializedPath))); + $apply(FieldCopyWithData({ + if (code != $none) #code: code, + if (name != $none) #name: name, + if (label != $none) #label: label, + if (latitude != $none) #latitude: latitude, + if (longitude != $none) #longitude: longitude, + if (materializedPath != $none) #materializedPath: materializedPath + })); + @override + AddressLocality $make(CopyWithData data) => AddressLocality( + code: data.get(#code, or: $value.code), + name: data.get(#name, or: $value.name), + label: data.get(#label, or: $value.label), + latitude: data.get(#latitude, or: $value.latitude), + longitude: data.get(#longitude, or: $value.longitude), + materializedPath: + data.get(#materializedPath, or: $value.materializedPath)); + + @override + AddressLocalityCopyWith<$R2, AddressLocality, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _AddressLocalityCopyWithImpl($value, $cast, t); +} + +class IndividualIdentifiersMapper + extends ClassMapperBase { + IndividualIdentifiersMapper._(); + + static IndividualIdentifiersMapper? _instance; + static IndividualIdentifiersMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = IndividualIdentifiersMapper._()); + CommonAuditDetailsMapper.ensureInitialized(); + } + return _instance!; + } + + @override + final String id = 'IndividualIdentifiers'; + + static String? _$individualId(IndividualIdentifiers v) => v.individualId; + static const Field _f$individualId = + Field('individualId', _$individualId, opt: true); + static String? _$clientReferenceId(IndividualIdentifiers v) => + v.clientReferenceId; + static const Field _f$clientReferenceId = + Field('clientReferenceId', _$clientReferenceId, opt: true); + static bool? _$isDeleted(IndividualIdentifiers v) => v.isDeleted; + static const Field _f$isDeleted = + Field('isDeleted', _$isDeleted, opt: true); + static String? _$id(IndividualIdentifiers v) => v.id; + static const Field _f$id = + Field('id', _$id, opt: true); + static CommonAuditDetails? _$auditDetails(IndividualIdentifiers v) => + v.auditDetails; + static const Field + _f$auditDetails = Field('auditDetails', _$auditDetails, opt: true); + static String? _$identifierId(IndividualIdentifiers v) => v.identifierId; + static const Field _f$identifierId = + Field('identifierId', _$identifierId, opt: true); + static String? _$identifierType(IndividualIdentifiers v) => v.identifierType; + static const Field _f$identifierType = + Field('identifierType', _$identifierType, opt: true); + + @override + final MappableFields fields = const { + #individualId: _f$individualId, + #clientReferenceId: _f$clientReferenceId, + #isDeleted: _f$isDeleted, + #id: _f$id, + #auditDetails: _f$auditDetails, + #identifierId: _f$identifierId, + #identifierType: _f$identifierType, + }; + + static IndividualIdentifiers _instantiate(DecodingData data) { + return IndividualIdentifiers( + individualId: data.dec(_f$individualId), + clientReferenceId: data.dec(_f$clientReferenceId), + isDeleted: data.dec(_f$isDeleted), + id: data.dec(_f$id), + auditDetails: data.dec(_f$auditDetails), + identifierId: data.dec(_f$identifierId), + identifierType: data.dec(_f$identifierType)); + } + + @override + final Function instantiate = _instantiate; + + static IndividualIdentifiers fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static IndividualIdentifiers fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -class AdditionalIndividualFieldsMapper - extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {AdditionalIndividualFieldsMapper()}, - ); +mixin IndividualIdentifiersMappable { + String toJson() { + return IndividualIdentifiersMapper.ensureInitialized() + .encodeJson(this as IndividualIdentifiers); + } + Map toMap() { + return IndividualIdentifiersMapper.ensureInitialized() + .encodeMap(this as IndividualIdentifiers); + } + + IndividualIdentifiersCopyWith + get copyWith => _IndividualIdentifiersCopyWithImpl( + this as IndividualIdentifiers, $identity, $identity); @override - AdditionalIndividualFieldsMapperElement createElement( - MapperContainer container) { - return AdditionalIndividualFieldsMapperElement._(this, container); + String toString() { + return IndividualIdentifiersMapper.ensureInitialized() + .stringifyValue(this as IndividualIdentifiers); } @override - String get id => 'AdditionalIndividualFields'; + bool operator ==(Object other) { + return IndividualIdentifiersMapper.ensureInitialized() + .equalsValue(this as IndividualIdentifiers, other); + } - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; + @override + int get hashCode { + return IndividualIdentifiersMapper.ensureInitialized() + .hashValue(this as IndividualIdentifiers); + } } -class AdditionalIndividualFieldsMapperElement - extends MapperElementBase { - AdditionalIndividualFieldsMapperElement._(super.mapper, super.container); +extension IndividualIdentifiersValueCopy<$R, $Out> + on ObjectCopyWith<$R, IndividualIdentifiers, $Out> { + IndividualIdentifiersCopyWith<$R, IndividualIdentifiers, $Out> + get $asIndividualIdentifiers => + $base.as((v, t, t2) => _IndividualIdentifiersCopyWithImpl(v, t, t2)); +} + +abstract class IndividualIdentifiersCopyWith< + $R, + $In extends IndividualIdentifiers, + $Out> implements ClassCopyWith<$R, $In, $Out> { + CommonAuditDetailsCopyWith<$R, CommonAuditDetails, CommonAuditDetails>? + get auditDetails; + $R call( + {String? individualId, + String? clientReferenceId, + bool? isDeleted, + String? id, + CommonAuditDetails? auditDetails, + String? identifierId, + String? identifierType}); + IndividualIdentifiersCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); +} + +class _IndividualIdentifiersCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, IndividualIdentifiers, $Out> + implements IndividualIdentifiersCopyWith<$R, IndividualIdentifiers, $Out> { + _IndividualIdentifiersCopyWithImpl(super.value, super.then, super.then2); @override - Function get decoder => decode; - AdditionalIndividualFields decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - AdditionalIndividualFields fromMap(Map map) => - AdditionalIndividualFields( - key: container.$getOpt(map, 'key'), - value: container.$getOpt(map, 'value')); + late final ClassMapperBase $mapper = + IndividualIdentifiersMapper.ensureInitialized(); + @override + CommonAuditDetailsCopyWith<$R, CommonAuditDetails, CommonAuditDetails>? + get auditDetails => + $value.auditDetails?.copyWith.$chain((v) => call(auditDetails: v)); + @override + $R call( + {Object? individualId = $none, + Object? clientReferenceId = $none, + Object? isDeleted = $none, + Object? id = $none, + Object? auditDetails = $none, + Object? identifierId = $none, + Object? identifierType = $none}) => + $apply(FieldCopyWithData({ + if (individualId != $none) #individualId: individualId, + if (clientReferenceId != $none) #clientReferenceId: clientReferenceId, + if (isDeleted != $none) #isDeleted: isDeleted, + if (id != $none) #id: id, + if (auditDetails != $none) #auditDetails: auditDetails, + if (identifierId != $none) #identifierId: identifierId, + if (identifierType != $none) #identifierType: identifierType + })); + @override + IndividualIdentifiers $make(CopyWithData data) => IndividualIdentifiers( + individualId: data.get(#individualId, or: $value.individualId), + clientReferenceId: + data.get(#clientReferenceId, or: $value.clientReferenceId), + isDeleted: data.get(#isDeleted, or: $value.isDeleted), + id: data.get(#id, or: $value.id), + auditDetails: data.get(#auditDetails, or: $value.auditDetails), + identifierId: data.get(#identifierId, or: $value.identifierId), + identifierType: data.get(#identifierType, or: $value.identifierType)); @override - Function get encoder => encode; - dynamic encode(AdditionalIndividualFields v) => toMap(v); - Map toMap(AdditionalIndividualFields a) => { - 'key': container.$enc(a.key, 'key'), - 'value': container.$enc(a.value, 'value') - }; + IndividualIdentifiersCopyWith<$R2, IndividualIdentifiers, $Out2> + $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _IndividualIdentifiersCopyWithImpl($value, $cast, t); +} + +class SingleIndividualModelMapper + extends ClassMapperBase { + SingleIndividualModelMapper._(); + + static SingleIndividualModelMapper? _instance; + static SingleIndividualModelMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = SingleIndividualModelMapper._()); + IndividualModelMapper.ensureInitialized(); + } + return _instance!; + } @override - String stringify(AdditionalIndividualFields self) => - 'AdditionalIndividualFields(key: ${container.asString(self.key)}, value: ${container.asString(self.value)})'; + final String id = 'SingleIndividualModel'; + + static IndividualModel? _$Individual(SingleIndividualModel v) => v.Individual; + static const Field _f$Individual = + Field('Individual', _$Individual, opt: true); + @override - int hash(AdditionalIndividualFields self) => - container.hash(self.key) ^ container.hash(self.value); + final MappableFields fields = const { + #Individual: _f$Individual, + }; + + static SingleIndividualModel _instantiate(DecodingData data) { + return SingleIndividualModel(Individual: data.dec(_f$Individual)); + } + @override - bool equals( - AdditionalIndividualFields self, AdditionalIndividualFields other) => - container.isEqual(self.key, other.key) && - container.isEqual(self.value, other.value); + final Function instantiate = _instantiate; + + static SingleIndividualModel fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static SingleIndividualModel fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -mixin AdditionalIndividualFieldsMappable { - String toJson() => AdditionalIndividualFieldsMapper.container - .toJson(this as AdditionalIndividualFields); - Map toMap() => AdditionalIndividualFieldsMapper.container - .toMap(this as AdditionalIndividualFields); - AdditionalIndividualFieldsCopyWith - get copyWith => _AdditionalIndividualFieldsCopyWithImpl( - this as AdditionalIndividualFields, $identity, $identity); +mixin SingleIndividualModelMappable { + String toJson() { + return SingleIndividualModelMapper.ensureInitialized() + .encodeJson(this as SingleIndividualModel); + } + + Map toMap() { + return SingleIndividualModelMapper.ensureInitialized() + .encodeMap(this as SingleIndividualModel); + } + + SingleIndividualModelCopyWith + get copyWith => _SingleIndividualModelCopyWithImpl( + this as SingleIndividualModel, $identity, $identity); @override - String toString() => - AdditionalIndividualFieldsMapper.container.asString(this); + String toString() { + return SingleIndividualModelMapper.ensureInitialized() + .stringifyValue(this as SingleIndividualModel); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - AdditionalIndividualFieldsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return SingleIndividualModelMapper.ensureInitialized() + .equalsValue(this as SingleIndividualModel, other); + } + @override - int get hashCode => AdditionalIndividualFieldsMapper.container.hash(this); + int get hashCode { + return SingleIndividualModelMapper.ensureInitialized() + .hashValue(this as SingleIndividualModel); + } } -extension AdditionalIndividualFieldsValueCopy<$R, - $Out extends AdditionalIndividualFields> - on ObjectCopyWith<$R, AdditionalIndividualFields, $Out> { - AdditionalIndividualFieldsCopyWith<$R, AdditionalIndividualFields, $Out> - get asAdditionalIndividualFields => base - .as((v, t, t2) => _AdditionalIndividualFieldsCopyWithImpl(v, t, t2)); +extension SingleIndividualModelValueCopy<$R, $Out> + on ObjectCopyWith<$R, SingleIndividualModel, $Out> { + SingleIndividualModelCopyWith<$R, SingleIndividualModel, $Out> + get $asSingleIndividualModel => + $base.as((v, t, t2) => _SingleIndividualModelCopyWithImpl(v, t, t2)); } -typedef AdditionalIndividualFieldsCopyWithBound = AdditionalIndividualFields; +abstract class SingleIndividualModelCopyWith< + $R, + $In extends SingleIndividualModel, + $Out> implements ClassCopyWith<$R, $In, $Out> { + IndividualModelCopyWith<$R, IndividualModel, IndividualModel>? get Individual; + $R call({IndividualModel? Individual}); + SingleIndividualModelCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); +} -abstract class AdditionalIndividualFieldsCopyWith< - $R, - $In extends AdditionalIndividualFields, - $Out extends AdditionalIndividualFields> - implements ObjectCopyWith<$R, $In, $Out> { - AdditionalIndividualFieldsCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends AdditionalIndividualFields>( - Then t, Then<$Out2, $R2> t2); - $R call({String? key, String? value}); +class _SingleIndividualModelCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, SingleIndividualModel, $Out> + implements SingleIndividualModelCopyWith<$R, SingleIndividualModel, $Out> { + _SingleIndividualModelCopyWithImpl(super.value, super.then, super.then2); + + @override + late final ClassMapperBase $mapper = + SingleIndividualModelMapper.ensureInitialized(); + @override + IndividualModelCopyWith<$R, IndividualModel, IndividualModel>? + get Individual => + $value.Individual?.copyWith.$chain((v) => call(Individual: v)); + @override + $R call({Object? Individual = $none}) => $apply( + FieldCopyWithData({if (Individual != $none) #Individual: Individual})); + @override + SingleIndividualModel $make(CopyWithData data) => SingleIndividualModel( + Individual: data.get(#Individual, or: $value.Individual)); + + @override + SingleIndividualModelCopyWith<$R2, SingleIndividualModel, $Out2> + $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _SingleIndividualModelCopyWithImpl($value, $cast, t); } -class _AdditionalIndividualFieldsCopyWithImpl<$R, - $Out extends AdditionalIndividualFields> - extends CopyWithBase<$R, AdditionalIndividualFields, $Out> +class WMSIndividualListModelMapper + extends ClassMapperBase { + WMSIndividualListModelMapper._(); + + static WMSIndividualListModelMapper? _instance; + static WMSIndividualListModelMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = WMSIndividualListModelMapper._()); + SingleWMSIndividualModelMapper.ensureInitialized(); + } + return _instance!; + } + + @override + final String id = 'WMSIndividualListModel'; + + static List? _$items(WMSIndividualListModel v) => + v.items; + static const Field> + _f$items = Field('items', _$items, opt: true); + + @override + final MappableFields fields = const { + #items: _f$items, + }; + + static WMSIndividualListModel _instantiate(DecodingData data) { + return WMSIndividualListModel(items: data.dec(_f$items)); + } + + @override + final Function instantiate = _instantiate; + + static WMSIndividualListModel fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static WMSIndividualListModel fromJson(String json) { + return ensureInitialized().decodeJson(json); + } +} + +mixin WMSIndividualListModelMappable { + String toJson() { + return WMSIndividualListModelMapper.ensureInitialized() + .encodeJson(this as WMSIndividualListModel); + } + + Map toMap() { + return WMSIndividualListModelMapper.ensureInitialized() + .encodeMap(this as WMSIndividualListModel); + } + + WMSIndividualListModelCopyWith + get copyWith => _WMSIndividualListModelCopyWithImpl( + this as WMSIndividualListModel, $identity, $identity); + @override + String toString() { + return WMSIndividualListModelMapper.ensureInitialized() + .stringifyValue(this as WMSIndividualListModel); + } + + @override + bool operator ==(Object other) { + return WMSIndividualListModelMapper.ensureInitialized() + .equalsValue(this as WMSIndividualListModel, other); + } + + @override + int get hashCode { + return WMSIndividualListModelMapper.ensureInitialized() + .hashValue(this as WMSIndividualListModel); + } +} + +extension WMSIndividualListModelValueCopy<$R, $Out> + on ObjectCopyWith<$R, WMSIndividualListModel, $Out> { + WMSIndividualListModelCopyWith<$R, WMSIndividualListModel, $Out> + get $asWMSIndividualListModel => + $base.as((v, t, t2) => _WMSIndividualListModelCopyWithImpl(v, t, t2)); +} + +abstract class WMSIndividualListModelCopyWith< + $R, + $In extends WMSIndividualListModel, + $Out> implements ClassCopyWith<$R, $In, $Out> { + ListCopyWith< + $R, + SingleWMSIndividualModel, + SingleWMSIndividualModelCopyWith<$R, SingleWMSIndividualModel, + SingleWMSIndividualModel>>? get items; + $R call({List? items}); + WMSIndividualListModelCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); +} + +class _WMSIndividualListModelCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, WMSIndividualListModel, $Out> implements - AdditionalIndividualFieldsCopyWith<$R, AdditionalIndividualFields, - $Out> { - _AdditionalIndividualFieldsCopyWithImpl(super.value, super.then, super.then2); + WMSIndividualListModelCopyWith<$R, WMSIndividualListModel, $Out> { + _WMSIndividualListModelCopyWithImpl(super.value, super.then, super.then2); + @override - AdditionalIndividualFieldsCopyWith<$R2, AdditionalIndividualFields, $Out2> - chain<$R2, $Out2 extends AdditionalIndividualFields>( - Then t, Then<$Out2, $R2> t2) => - _AdditionalIndividualFieldsCopyWithImpl($value, t, t2); + late final ClassMapperBase $mapper = + WMSIndividualListModelMapper.ensureInitialized(); + @override + ListCopyWith< + $R, + SingleWMSIndividualModel, + SingleWMSIndividualModelCopyWith<$R, SingleWMSIndividualModel, + SingleWMSIndividualModel>>? get items => $value.items != null + ? ListCopyWith( + $value.items!, (v, t) => v.copyWith.$chain(t), (v) => call(items: v)) + : null; + @override + $R call({Object? items = $none}) => + $apply(FieldCopyWithData({if (items != $none) #items: items})); + @override + WMSIndividualListModel $make(CopyWithData data) => + WMSIndividualListModel(items: data.get(#items, or: $value.items)); @override - $R call({Object? key = $none, Object? value = $none}) => - $then(AdditionalIndividualFields( - key: or(key, $value.key), value: or(value, $value.value))); + WMSIndividualListModelCopyWith<$R2, WMSIndividualListModel, $Out2> + $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _WMSIndividualListModelCopyWithImpl($value, $cast, t); +} + +class SingleWMSIndividualModelMapper + extends ClassMapperBase { + SingleWMSIndividualModelMapper._(); + + static SingleWMSIndividualModelMapper? _instance; + static SingleWMSIndividualModelMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals + .use(_instance = SingleWMSIndividualModelMapper._()); + IndividualModelMapper.ensureInitialized(); + } + return _instance!; + } + + @override + final String id = 'SingleWMSIndividualModel'; + + static IndividualModel? _$businessObject(SingleWMSIndividualModel v) => + v.businessObject; + static const Field + _f$businessObject = Field('businessObject', _$businessObject, opt: true); + + @override + final MappableFields fields = const { + #businessObject: _f$businessObject, + }; + + static SingleWMSIndividualModel _instantiate(DecodingData data) { + return SingleWMSIndividualModel( + businessObject: data.dec(_f$businessObject)); + } + + @override + final Function instantiate = _instantiate; + + static SingleWMSIndividualModel fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static SingleWMSIndividualModel fromJson(String json) { + return ensureInitialized().decodeJson(json); + } +} + +mixin SingleWMSIndividualModelMappable { + String toJson() { + return SingleWMSIndividualModelMapper.ensureInitialized() + .encodeJson(this as SingleWMSIndividualModel); + } + + Map toMap() { + return SingleWMSIndividualModelMapper.ensureInitialized() + .encodeMap(this as SingleWMSIndividualModel); + } + + SingleWMSIndividualModelCopyWith + get copyWith => _SingleWMSIndividualModelCopyWithImpl( + this as SingleWMSIndividualModel, $identity, $identity); + @override + String toString() { + return SingleWMSIndividualModelMapper.ensureInitialized() + .stringifyValue(this as SingleWMSIndividualModel); + } + + @override + bool operator ==(Object other) { + return SingleWMSIndividualModelMapper.ensureInitialized() + .equalsValue(this as SingleWMSIndividualModel, other); + } + + @override + int get hashCode { + return SingleWMSIndividualModelMapper.ensureInitialized() + .hashValue(this as SingleWMSIndividualModel); + } +} + +extension SingleWMSIndividualModelValueCopy<$R, $Out> + on ObjectCopyWith<$R, SingleWMSIndividualModel, $Out> { + SingleWMSIndividualModelCopyWith<$R, SingleWMSIndividualModel, $Out> + get $asSingleWMSIndividualModel => $base + .as((v, t, t2) => _SingleWMSIndividualModelCopyWithImpl(v, t, t2)); +} + +abstract class SingleWMSIndividualModelCopyWith< + $R, + $In extends SingleWMSIndividualModel, + $Out> implements ClassCopyWith<$R, $In, $Out> { + IndividualModelCopyWith<$R, IndividualModel, IndividualModel>? + get businessObject; + $R call({IndividualModel? businessObject}); + SingleWMSIndividualModelCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); +} + +class _SingleWMSIndividualModelCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, SingleWMSIndividualModel, $Out> + implements + SingleWMSIndividualModelCopyWith<$R, SingleWMSIndividualModel, $Out> { + _SingleWMSIndividualModelCopyWithImpl(super.value, super.then, super.then2); + + @override + late final ClassMapperBase $mapper = + SingleWMSIndividualModelMapper.ensureInitialized(); + @override + IndividualModelCopyWith<$R, IndividualModel, IndividualModel>? + get businessObject => $value.businessObject?.copyWith + .$chain((v) => call(businessObject: v)); + @override + $R call({Object? businessObject = $none}) => $apply(FieldCopyWithData( + {if (businessObject != $none) #businessObject: businessObject})); + @override + SingleWMSIndividualModel $make(CopyWithData data) => SingleWMSIndividualModel( + businessObject: data.get(#businessObject, or: $value.businessObject)); + + @override + SingleWMSIndividualModelCopyWith<$R2, SingleWMSIndividualModel, $Out2> + $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _SingleWMSIndividualModelCopyWithImpl($value, $cast, t); } diff --git a/frontend/works_shg_app/lib/models/attendance/muster_submission.freezed.dart b/frontend/works_shg_app/lib/models/attendance/muster_submission.freezed.dart index cd8124c343..ba48118cb9 100644 --- a/frontend/works_shg_app/lib/models/attendance/muster_submission.freezed.dart +++ b/frontend/works_shg_app/lib/models/attendance/muster_submission.freezed.dart @@ -12,7 +12,7 @@ part of 'muster_submission.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); MusterSubmissionList _$MusterSubmissionListFromJson(Map json) { return _MusterSubmissionList.fromJson(json); @@ -38,7 +38,7 @@ abstract class $MusterSubmissionListCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'CBOMusterSubmission') - List? musterSubmission}); + List? musterSubmission}); } /// @nodoc @@ -67,24 +67,24 @@ class _$MusterSubmissionListCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_MusterSubmissionListCopyWith<$Res> +abstract class _$$MusterSubmissionListImplCopyWith<$Res> implements $MusterSubmissionListCopyWith<$Res> { - factory _$$_MusterSubmissionListCopyWith(_$_MusterSubmissionList value, - $Res Function(_$_MusterSubmissionList) then) = - __$$_MusterSubmissionListCopyWithImpl<$Res>; + factory _$$MusterSubmissionListImplCopyWith(_$MusterSubmissionListImpl value, + $Res Function(_$MusterSubmissionListImpl) then) = + __$$MusterSubmissionListImplCopyWithImpl<$Res>; @override @useResult $Res call( {@JsonKey(name: 'CBOMusterSubmission') - List? musterSubmission}); + List? musterSubmission}); } /// @nodoc -class __$$_MusterSubmissionListCopyWithImpl<$Res> - extends _$MusterSubmissionListCopyWithImpl<$Res, _$_MusterSubmissionList> - implements _$$_MusterSubmissionListCopyWith<$Res> { - __$$_MusterSubmissionListCopyWithImpl(_$_MusterSubmissionList _value, - $Res Function(_$_MusterSubmissionList) _then) +class __$$MusterSubmissionListImplCopyWithImpl<$Res> + extends _$MusterSubmissionListCopyWithImpl<$Res, _$MusterSubmissionListImpl> + implements _$$MusterSubmissionListImplCopyWith<$Res> { + __$$MusterSubmissionListImplCopyWithImpl(_$MusterSubmissionListImpl _value, + $Res Function(_$MusterSubmissionListImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -92,7 +92,7 @@ class __$$_MusterSubmissionListCopyWithImpl<$Res> $Res call({ Object? musterSubmission = freezed, }) { - return _then(_$_MusterSubmissionList( + return _then(_$MusterSubmissionListImpl( musterSubmission: freezed == musterSubmission ? _value._musterSubmission : musterSubmission // ignore: cast_nullable_to_non_nullable @@ -103,14 +103,14 @@ class __$$_MusterSubmissionListCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MusterSubmissionList implements _MusterSubmissionList { - const _$_MusterSubmissionList( +class _$MusterSubmissionListImpl implements _MusterSubmissionList { + const _$MusterSubmissionListImpl( {@JsonKey(name: 'CBOMusterSubmission') - final List? musterSubmission}) + final List? musterSubmission}) : _musterSubmission = musterSubmission; - factory _$_MusterSubmissionList.fromJson(Map json) => - _$$_MusterSubmissionListFromJson(json); + factory _$MusterSubmissionListImpl.fromJson(Map json) => + _$$MusterSubmissionListImplFromJson(json); final List? _musterSubmission; @override @@ -130,10 +130,10 @@ class _$_MusterSubmissionList implements _MusterSubmissionList { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MusterSubmissionList && + other is _$MusterSubmissionListImpl && const DeepCollectionEquality() .equals(other._musterSubmission, _musterSubmission)); } @@ -146,13 +146,14 @@ class _$_MusterSubmissionList implements _MusterSubmissionList { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MusterSubmissionListCopyWith<_$_MusterSubmissionList> get copyWith => - __$$_MusterSubmissionListCopyWithImpl<_$_MusterSubmissionList>( - this, _$identity); + _$$MusterSubmissionListImplCopyWith<_$MusterSubmissionListImpl> + get copyWith => + __$$MusterSubmissionListImplCopyWithImpl<_$MusterSubmissionListImpl>( + this, _$identity); @override Map toJson() { - return _$$_MusterSubmissionListToJson( + return _$$MusterSubmissionListImplToJson( this, ); } @@ -161,19 +162,19 @@ class _$_MusterSubmissionList implements _MusterSubmissionList { abstract class _MusterSubmissionList implements MusterSubmissionList { const factory _MusterSubmissionList( {@JsonKey(name: 'CBOMusterSubmission') - final List? musterSubmission}) = - _$_MusterSubmissionList; + final List? musterSubmission}) = + _$MusterSubmissionListImpl; factory _MusterSubmissionList.fromJson(Map json) = - _$_MusterSubmissionList.fromJson; + _$MusterSubmissionListImpl.fromJson; @override @JsonKey(name: 'CBOMusterSubmission') List? get musterSubmission; @override @JsonKey(ignore: true) - _$$_MusterSubmissionListCopyWith<_$_MusterSubmissionList> get copyWith => - throw _privateConstructorUsedError; + _$$MusterSubmissionListImplCopyWith<_$MusterSubmissionListImpl> + get copyWith => throw _privateConstructorUsedError; } MusterSubmission _$MusterSubmissionFromJson(Map json) { @@ -236,22 +237,22 @@ class _$MusterSubmissionCopyWithImpl<$Res, $Val extends MusterSubmission> } /// @nodoc -abstract class _$$_MusterSubmissionCopyWith<$Res> +abstract class _$$MusterSubmissionImplCopyWith<$Res> implements $MusterSubmissionCopyWith<$Res> { - factory _$$_MusterSubmissionCopyWith( - _$_MusterSubmission value, $Res Function(_$_MusterSubmission) then) = - __$$_MusterSubmissionCopyWithImpl<$Res>; + factory _$$MusterSubmissionImplCopyWith(_$MusterSubmissionImpl value, + $Res Function(_$MusterSubmissionImpl) then) = + __$$MusterSubmissionImplCopyWithImpl<$Res>; @override @useResult $Res call({String code, String value, bool active}); } /// @nodoc -class __$$_MusterSubmissionCopyWithImpl<$Res> - extends _$MusterSubmissionCopyWithImpl<$Res, _$_MusterSubmission> - implements _$$_MusterSubmissionCopyWith<$Res> { - __$$_MusterSubmissionCopyWithImpl( - _$_MusterSubmission _value, $Res Function(_$_MusterSubmission) _then) +class __$$MusterSubmissionImplCopyWithImpl<$Res> + extends _$MusterSubmissionCopyWithImpl<$Res, _$MusterSubmissionImpl> + implements _$$MusterSubmissionImplCopyWith<$Res> { + __$$MusterSubmissionImplCopyWithImpl(_$MusterSubmissionImpl _value, + $Res Function(_$MusterSubmissionImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -261,7 +262,7 @@ class __$$_MusterSubmissionCopyWithImpl<$Res> Object? value = null, Object? active = null, }) { - return _then(_$_MusterSubmission( + return _then(_$MusterSubmissionImpl( code: null == code ? _value.code : code // ignore: cast_nullable_to_non_nullable @@ -280,12 +281,12 @@ class __$$_MusterSubmissionCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MusterSubmission implements _MusterSubmission { - const _$_MusterSubmission( +class _$MusterSubmissionImpl implements _MusterSubmission { + const _$MusterSubmissionImpl( {required this.code, required this.value, required this.active}); - factory _$_MusterSubmission.fromJson(Map json) => - _$$_MusterSubmissionFromJson(json); + factory _$MusterSubmissionImpl.fromJson(Map json) => + _$$MusterSubmissionImplFromJson(json); @override final String code; @@ -300,10 +301,10 @@ class _$_MusterSubmission implements _MusterSubmission { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MusterSubmission && + other is _$MusterSubmissionImpl && (identical(other.code, code) || other.code == code) && (identical(other.value, value) || other.value == value) && (identical(other.active, active) || other.active == active)); @@ -316,12 +317,13 @@ class _$_MusterSubmission implements _MusterSubmission { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MusterSubmissionCopyWith<_$_MusterSubmission> get copyWith => - __$$_MusterSubmissionCopyWithImpl<_$_MusterSubmission>(this, _$identity); + _$$MusterSubmissionImplCopyWith<_$MusterSubmissionImpl> get copyWith => + __$$MusterSubmissionImplCopyWithImpl<_$MusterSubmissionImpl>( + this, _$identity); @override Map toJson() { - return _$$_MusterSubmissionToJson( + return _$$MusterSubmissionImplToJson( this, ); } @@ -331,10 +333,10 @@ abstract class _MusterSubmission implements MusterSubmission { const factory _MusterSubmission( {required final String code, required final String value, - required final bool active}) = _$_MusterSubmission; + required final bool active}) = _$MusterSubmissionImpl; factory _MusterSubmission.fromJson(Map json) = - _$_MusterSubmission.fromJson; + _$MusterSubmissionImpl.fromJson; @override String get code; @@ -344,6 +346,6 @@ abstract class _MusterSubmission implements MusterSubmission { bool get active; @override @JsonKey(ignore: true) - _$$_MusterSubmissionCopyWith<_$_MusterSubmission> get copyWith => + _$$MusterSubmissionImplCopyWith<_$MusterSubmissionImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/attendance/muster_submission.g.dart b/frontend/works_shg_app/lib/models/attendance/muster_submission.g.dart index ea25fca990..bfe0676214 100644 --- a/frontend/works_shg_app/lib/models/attendance/muster_submission.g.dart +++ b/frontend/works_shg_app/lib/models/attendance/muster_submission.g.dart @@ -6,28 +6,30 @@ part of 'muster_submission.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_MusterSubmissionList _$$_MusterSubmissionListFromJson( +_$MusterSubmissionListImpl _$$MusterSubmissionListImplFromJson( Map json) => - _$_MusterSubmissionList( + _$MusterSubmissionListImpl( musterSubmission: (json['CBOMusterSubmission'] as List?) ?.map((e) => MusterSubmission.fromJson(e as Map)) .toList(), ); -Map _$$_MusterSubmissionListToJson( - _$_MusterSubmissionList instance) => +Map _$$MusterSubmissionListImplToJson( + _$MusterSubmissionListImpl instance) => { 'CBOMusterSubmission': instance.musterSubmission, }; -_$_MusterSubmission _$$_MusterSubmissionFromJson(Map json) => - _$_MusterSubmission( +_$MusterSubmissionImpl _$$MusterSubmissionImplFromJson( + Map json) => + _$MusterSubmissionImpl( code: json['code'] as String, value: json['value'] as String, active: json['active'] as bool, ); -Map _$$_MusterSubmissionToJson(_$_MusterSubmission instance) => +Map _$$MusterSubmissionImplToJson( + _$MusterSubmissionImpl instance) => { 'code': instance.code, 'value': instance.value, diff --git a/frontend/works_shg_app/lib/models/employee/estimate/estimate_model.freezed.dart b/frontend/works_shg_app/lib/models/employee/estimate/estimate_model.freezed.dart index 58b9ebcf8a..73c6c6c0f1 100644 --- a/frontend/works_shg_app/lib/models/employee/estimate/estimate_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/employee/estimate/estimate_model.freezed.dart @@ -12,7 +12,7 @@ part of 'estimate_model.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); EstimateDetailResponse _$EstimateDetailResponseFromJson( Map json) { @@ -74,11 +74,12 @@ class _$EstimateDetailResponseCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_EstimateDetailResponseCopyWith<$Res> +abstract class _$$EstimateDetailResponseImplCopyWith<$Res> implements $EstimateDetailResponseCopyWith<$Res> { - factory _$$_EstimateDetailResponseCopyWith(_$_EstimateDetailResponse value, - $Res Function(_$_EstimateDetailResponse) then) = - __$$_EstimateDetailResponseCopyWithImpl<$Res>; + factory _$$EstimateDetailResponseImplCopyWith( + _$EstimateDetailResponseImpl value, + $Res Function(_$EstimateDetailResponseImpl) then) = + __$$EstimateDetailResponseImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -87,12 +88,13 @@ abstract class _$$_EstimateDetailResponseCopyWith<$Res> } /// @nodoc -class __$$_EstimateDetailResponseCopyWithImpl<$Res> +class __$$EstimateDetailResponseImplCopyWithImpl<$Res> extends _$EstimateDetailResponseCopyWithImpl<$Res, - _$_EstimateDetailResponse> - implements _$$_EstimateDetailResponseCopyWith<$Res> { - __$$_EstimateDetailResponseCopyWithImpl(_$_EstimateDetailResponse _value, - $Res Function(_$_EstimateDetailResponse) _then) + _$EstimateDetailResponseImpl> + implements _$$EstimateDetailResponseImplCopyWith<$Res> { + __$$EstimateDetailResponseImplCopyWithImpl( + _$EstimateDetailResponseImpl _value, + $Res Function(_$EstimateDetailResponseImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -101,7 +103,7 @@ class __$$_EstimateDetailResponseCopyWithImpl<$Res> Object? estimates = freezed, Object? totalCount = freezed, }) { - return _then(_$_EstimateDetailResponse( + return _then(_$EstimateDetailResponseImpl( estimates: freezed == estimates ? _value._estimates : estimates // ignore: cast_nullable_to_non_nullable @@ -116,14 +118,14 @@ class __$$_EstimateDetailResponseCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_EstimateDetailResponse implements _EstimateDetailResponse { - const _$_EstimateDetailResponse( +class _$EstimateDetailResponseImpl implements _EstimateDetailResponse { + const _$EstimateDetailResponseImpl( {@JsonKey(name: 'estimates') final List? estimates, @JsonKey(name: 'TotalCount') this.totalCount}) : _estimates = estimates; - factory _$_EstimateDetailResponse.fromJson(Map json) => - _$$_EstimateDetailResponseFromJson(json); + factory _$EstimateDetailResponseImpl.fromJson(Map json) => + _$$EstimateDetailResponseImplFromJson(json); final List? _estimates; @override @@ -146,10 +148,10 @@ class _$_EstimateDetailResponse implements _EstimateDetailResponse { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_EstimateDetailResponse && + other is _$EstimateDetailResponseImpl && const DeepCollectionEquality() .equals(other._estimates, _estimates) && (identical(other.totalCount, totalCount) || @@ -164,13 +166,13 @@ class _$_EstimateDetailResponse implements _EstimateDetailResponse { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_EstimateDetailResponseCopyWith<_$_EstimateDetailResponse> get copyWith => - __$$_EstimateDetailResponseCopyWithImpl<_$_EstimateDetailResponse>( - this, _$identity); + _$$EstimateDetailResponseImplCopyWith<_$EstimateDetailResponseImpl> + get copyWith => __$$EstimateDetailResponseImplCopyWithImpl< + _$EstimateDetailResponseImpl>(this, _$identity); @override Map toJson() { - return _$$_EstimateDetailResponseToJson( + return _$$EstimateDetailResponseImplToJson( this, ); } @@ -180,10 +182,10 @@ abstract class _EstimateDetailResponse implements EstimateDetailResponse { const factory _EstimateDetailResponse( {@JsonKey(name: 'estimates') final List? estimates, @JsonKey(name: 'TotalCount') final int? totalCount}) = - _$_EstimateDetailResponse; + _$EstimateDetailResponseImpl; factory _EstimateDetailResponse.fromJson(Map json) = - _$_EstimateDetailResponse.fromJson; + _$EstimateDetailResponseImpl.fromJson; @override @JsonKey(name: 'estimates') @@ -193,6 +195,6 @@ abstract class _EstimateDetailResponse implements EstimateDetailResponse { int? get totalCount; @override @JsonKey(ignore: true) - _$$_EstimateDetailResponseCopyWith<_$_EstimateDetailResponse> get copyWith => - throw _privateConstructorUsedError; + _$$EstimateDetailResponseImplCopyWith<_$EstimateDetailResponseImpl> + get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/employee/estimate/estimate_model.g.dart b/frontend/works_shg_app/lib/models/employee/estimate/estimate_model.g.dart index a4385c9653..4d8957b40b 100644 --- a/frontend/works_shg_app/lib/models/employee/estimate/estimate_model.g.dart +++ b/frontend/works_shg_app/lib/models/employee/estimate/estimate_model.g.dart @@ -6,17 +6,17 @@ part of 'estimate_model.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_EstimateDetailResponse _$$_EstimateDetailResponseFromJson( +_$EstimateDetailResponseImpl _$$EstimateDetailResponseImplFromJson( Map json) => - _$_EstimateDetailResponse( + _$EstimateDetailResponseImpl( estimates: (json['estimates'] as List?) ?.map((e) => Estimate.fromJson(e as Map)) .toList(), - totalCount: json['TotalCount'] as int?, + totalCount: (json['TotalCount'] as num?)?.toInt(), ); -Map _$$_EstimateDetailResponseToJson( - _$_EstimateDetailResponse instance) => +Map _$$EstimateDetailResponseImplToJson( + _$EstimateDetailResponseImpl instance) => { 'estimates': instance.estimates, 'TotalCount': instance.totalCount, diff --git a/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.freezed.dart b/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.freezed.dart index f2b65e6169..07314e8a2f 100644 --- a/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.freezed.dart +++ b/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.freezed.dart @@ -12,7 +12,7 @@ part of 'homeConfigModel.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); HomeConfigModel _$HomeConfigModelFromJson(Map json) { return _HomeConfigModel.fromJson(json); @@ -63,22 +63,22 @@ class _$HomeConfigModelCopyWithImpl<$Res, $Val extends HomeConfigModel> } /// @nodoc -abstract class _$$_HomeConfigModelCopyWith<$Res> +abstract class _$$HomeConfigModelImplCopyWith<$Res> implements $HomeConfigModelCopyWith<$Res> { - factory _$$_HomeConfigModelCopyWith( - _$_HomeConfigModel value, $Res Function(_$_HomeConfigModel) then) = - __$$_HomeConfigModelCopyWithImpl<$Res>; + factory _$$HomeConfigModelImplCopyWith(_$HomeConfigModelImpl value, + $Res Function(_$HomeConfigModelImpl) then) = + __$$HomeConfigModelImplCopyWithImpl<$Res>; @override @useResult $Res call({@JsonKey(name: 'actions') List homeActions}); } /// @nodoc -class __$$_HomeConfigModelCopyWithImpl<$Res> - extends _$HomeConfigModelCopyWithImpl<$Res, _$_HomeConfigModel> - implements _$$_HomeConfigModelCopyWith<$Res> { - __$$_HomeConfigModelCopyWithImpl( - _$_HomeConfigModel _value, $Res Function(_$_HomeConfigModel) _then) +class __$$HomeConfigModelImplCopyWithImpl<$Res> + extends _$HomeConfigModelCopyWithImpl<$Res, _$HomeConfigModelImpl> + implements _$$HomeConfigModelImplCopyWith<$Res> { + __$$HomeConfigModelImplCopyWithImpl( + _$HomeConfigModelImpl _value, $Res Function(_$HomeConfigModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -86,7 +86,7 @@ class __$$_HomeConfigModelCopyWithImpl<$Res> $Res call({ Object? homeActions = null, }) { - return _then(_$_HomeConfigModel( + return _then(_$HomeConfigModelImpl( homeActions: null == homeActions ? _value._homeActions : homeActions // ignore: cast_nullable_to_non_nullable @@ -97,13 +97,13 @@ class __$$_HomeConfigModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_HomeConfigModel implements _HomeConfigModel { - _$_HomeConfigModel( +class _$HomeConfigModelImpl implements _HomeConfigModel { + _$HomeConfigModelImpl( {@JsonKey(name: 'actions') required final List homeActions}) : _homeActions = homeActions; - factory _$_HomeConfigModel.fromJson(Map json) => - _$$_HomeConfigModelFromJson(json); + factory _$HomeConfigModelImpl.fromJson(Map json) => + _$$HomeConfigModelImplFromJson(json); final List _homeActions; @override @@ -120,10 +120,10 @@ class _$_HomeConfigModel implements _HomeConfigModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_HomeConfigModel && + other is _$HomeConfigModelImpl && const DeepCollectionEquality() .equals(other._homeActions, _homeActions)); } @@ -136,12 +136,13 @@ class _$_HomeConfigModel implements _HomeConfigModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_HomeConfigModelCopyWith<_$_HomeConfigModel> get copyWith => - __$$_HomeConfigModelCopyWithImpl<_$_HomeConfigModel>(this, _$identity); + _$$HomeConfigModelImplCopyWith<_$HomeConfigModelImpl> get copyWith => + __$$HomeConfigModelImplCopyWithImpl<_$HomeConfigModelImpl>( + this, _$identity); @override Map toJson() { - return _$$_HomeConfigModelToJson( + return _$$HomeConfigModelImplToJson( this, ); } @@ -150,17 +151,17 @@ class _$_HomeConfigModel implements _HomeConfigModel { abstract class _HomeConfigModel implements HomeConfigModel { factory _HomeConfigModel( {@JsonKey(name: 'actions') - required final List homeActions}) = _$_HomeConfigModel; + required final List homeActions}) = _$HomeConfigModelImpl; factory _HomeConfigModel.fromJson(Map json) = - _$_HomeConfigModel.fromJson; + _$HomeConfigModelImpl.fromJson; @override @JsonKey(name: 'actions') List get homeActions; @override @JsonKey(ignore: true) - _$$_HomeConfigModelCopyWith<_$_HomeConfigModel> get copyWith => + _$$HomeConfigModelImplCopyWith<_$HomeConfigModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -254,11 +255,11 @@ class _$HomeActionCopyWithImpl<$Res, $Val extends HomeAction> } /// @nodoc -abstract class _$$_HomeActionCopyWith<$Res> +abstract class _$$HomeActionImplCopyWith<$Res> implements $HomeActionCopyWith<$Res> { - factory _$$_HomeActionCopyWith( - _$_HomeAction value, $Res Function(_$_HomeAction) then) = - __$$_HomeActionCopyWithImpl<$Res>; + factory _$$HomeActionImplCopyWith( + _$HomeActionImpl value, $Res Function(_$HomeActionImpl) then) = + __$$HomeActionImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -271,11 +272,11 @@ abstract class _$$_HomeActionCopyWith<$Res> } /// @nodoc -class __$$_HomeActionCopyWithImpl<$Res> - extends _$HomeActionCopyWithImpl<$Res, _$_HomeAction> - implements _$$_HomeActionCopyWith<$Res> { - __$$_HomeActionCopyWithImpl( - _$_HomeAction _value, $Res Function(_$_HomeAction) _then) +class __$$HomeActionImplCopyWithImpl<$Res> + extends _$HomeActionCopyWithImpl<$Res, _$HomeActionImpl> + implements _$$HomeActionImplCopyWith<$Res> { + __$$HomeActionImplCopyWithImpl( + _$HomeActionImpl _value, $Res Function(_$HomeActionImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -288,7 +289,7 @@ class __$$_HomeActionCopyWithImpl<$Res> Object? tenantId = null, Object? url = null, }) { - return _then(_$_HomeAction( + return _then(_$HomeActionImpl( id: null == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -319,8 +320,8 @@ class __$$_HomeActionCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_HomeAction implements _HomeAction { - const _$_HomeAction( +class _$HomeActionImpl implements _HomeAction { + const _$HomeActionImpl( {@JsonKey(name: 'id') required this.id, @JsonKey(name: 'displayName') required this.displayName, @JsonKey(name: 'parentModule') required this.parentModule, @@ -328,8 +329,8 @@ class _$_HomeAction implements _HomeAction { @JsonKey(name: 'tenantId') required this.tenantId, @JsonKey(name: 'url') required this.url}); - factory _$_HomeAction.fromJson(Map json) => - _$$_HomeActionFromJson(json); + factory _$HomeActionImpl.fromJson(Map json) => + _$$HomeActionImplFromJson(json); @override @JsonKey(name: 'id') @@ -356,10 +357,10 @@ class _$_HomeAction implements _HomeAction { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_HomeAction && + other is _$HomeActionImpl && (identical(other.id, id) || other.id == id) && (identical(other.displayName, displayName) || other.displayName == displayName) && @@ -379,12 +380,12 @@ class _$_HomeAction implements _HomeAction { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_HomeActionCopyWith<_$_HomeAction> get copyWith => - __$$_HomeActionCopyWithImpl<_$_HomeAction>(this, _$identity); + _$$HomeActionImplCopyWith<_$HomeActionImpl> get copyWith => + __$$HomeActionImplCopyWithImpl<_$HomeActionImpl>(this, _$identity); @override Map toJson() { - return _$$_HomeActionToJson( + return _$$HomeActionImplToJson( this, ); } @@ -397,10 +398,10 @@ abstract class _HomeAction implements HomeAction { @JsonKey(name: 'parentModule') required final String parentModule, @JsonKey(name: 'enabled') required final bool enabled, @JsonKey(name: 'tenantId') required final String tenantId, - @JsonKey(name: 'url') required final String url}) = _$_HomeAction; + @JsonKey(name: 'url') required final String url}) = _$HomeActionImpl; factory _HomeAction.fromJson(Map json) = - _$_HomeAction.fromJson; + _$HomeActionImpl.fromJson; @override @JsonKey(name: 'id') @@ -422,6 +423,6 @@ abstract class _HomeAction implements HomeAction { String get url; @override @JsonKey(ignore: true) - _$$_HomeActionCopyWith<_$_HomeAction> get copyWith => + _$$HomeActionImplCopyWith<_$HomeActionImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.g.dart b/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.g.dart index f24630a646..d6b0c7b479 100644 --- a/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.g.dart +++ b/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.g.dart @@ -6,21 +6,23 @@ part of 'homeConfigModel.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_HomeConfigModel _$$_HomeConfigModelFromJson(Map json) => - _$_HomeConfigModel( +_$HomeConfigModelImpl _$$HomeConfigModelImplFromJson( + Map json) => + _$HomeConfigModelImpl( homeActions: (json['actions'] as List) .map((e) => HomeAction.fromJson(e as Map)) .toList(), ); -Map _$$_HomeConfigModelToJson(_$_HomeConfigModel instance) => +Map _$$HomeConfigModelImplToJson( + _$HomeConfigModelImpl instance) => { 'actions': instance.homeActions, }; -_$_HomeAction _$$_HomeActionFromJson(Map json) => - _$_HomeAction( - id: json['id'] as int, +_$HomeActionImpl _$$HomeActionImplFromJson(Map json) => + _$HomeActionImpl( + id: (json['id'] as num).toInt(), displayName: json['displayName'] as String, parentModule: json['parentModule'] as String, enabled: json['enabled'] as bool, @@ -28,7 +30,7 @@ _$_HomeAction _$$_HomeActionFromJson(Map json) => url: json['url'] as String, ); -Map _$$_HomeActionToJson(_$_HomeAction instance) => +Map _$$HomeActionImplToJson(_$HomeActionImpl instance) => { 'id': instance.id, 'displayName': instance.displayName, diff --git a/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.freezed.dart b/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.freezed.dart index 032967d3e3..9dae703e8c 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.freezed.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.freezed.dart @@ -12,7 +12,7 @@ part of 'filtered_Measures.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); FilteredMeasurements _$FilteredMeasurementsFromJson(Map json) { return _FilteredMeasurements.fromJson(json); @@ -163,11 +163,11 @@ class _$FilteredMeasurementsCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_FilteredMeasurementsCopyWith<$Res> +abstract class _$$FilteredMeasurementsImplCopyWith<$Res> implements $FilteredMeasurementsCopyWith<$Res> { - factory _$$_FilteredMeasurementsCopyWith(_$_FilteredMeasurements value, - $Res Function(_$_FilteredMeasurements) then) = - __$$_FilteredMeasurementsCopyWithImpl<$Res>; + factory _$$FilteredMeasurementsImplCopyWith(_$FilteredMeasurementsImpl value, + $Res Function(_$FilteredMeasurementsImpl) then) = + __$$FilteredMeasurementsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -189,11 +189,11 @@ abstract class _$$_FilteredMeasurementsCopyWith<$Res> } /// @nodoc -class __$$_FilteredMeasurementsCopyWithImpl<$Res> - extends _$FilteredMeasurementsCopyWithImpl<$Res, _$_FilteredMeasurements> - implements _$$_FilteredMeasurementsCopyWith<$Res> { - __$$_FilteredMeasurementsCopyWithImpl(_$_FilteredMeasurements _value, - $Res Function(_$_FilteredMeasurements) _then) +class __$$FilteredMeasurementsImplCopyWithImpl<$Res> + extends _$FilteredMeasurementsCopyWithImpl<$Res, _$FilteredMeasurementsImpl> + implements _$$FilteredMeasurementsImplCopyWith<$Res> { + __$$FilteredMeasurementsImplCopyWithImpl(_$FilteredMeasurementsImpl _value, + $Res Function(_$FilteredMeasurementsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -215,7 +215,7 @@ class __$$_FilteredMeasurementsCopyWithImpl<$Res> Object? measures = freezed, Object? documents = freezed, }) { - return _then(_$_FilteredMeasurements( + return _then(_$FilteredMeasurementsImpl( totalSorAmount: freezed == totalSorAmount ? _value.totalSorAmount : totalSorAmount // ignore: cast_nullable_to_non_nullable @@ -282,8 +282,8 @@ class __$$_FilteredMeasurementsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_FilteredMeasurements implements _FilteredMeasurements { - const _$_FilteredMeasurements( +class _$FilteredMeasurementsImpl implements _FilteredMeasurements { + const _$FilteredMeasurementsImpl( {this.totalSorAmount, this.totalNorSorAmount, this.totalAmount, @@ -302,8 +302,8 @@ class _$_FilteredMeasurements implements _FilteredMeasurements { : _measures = measures, _documents = documents; - factory _$_FilteredMeasurements.fromJson(Map json) => - _$$_FilteredMeasurementsFromJson(json); + factory _$FilteredMeasurementsImpl.fromJson(Map json) => + _$$FilteredMeasurementsImplFromJson(json); @override final double? totalSorAmount; @@ -357,10 +357,10 @@ class _$_FilteredMeasurements implements _FilteredMeasurements { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_FilteredMeasurements && + other is _$FilteredMeasurementsImpl && (identical(other.totalSorAmount, totalSorAmount) || other.totalSorAmount == totalSorAmount) && (identical(other.totalNorSorAmount, totalNorSorAmount) || @@ -413,13 +413,14 @@ class _$_FilteredMeasurements implements _FilteredMeasurements { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_FilteredMeasurementsCopyWith<_$_FilteredMeasurements> get copyWith => - __$$_FilteredMeasurementsCopyWithImpl<_$_FilteredMeasurements>( - this, _$identity); + _$$FilteredMeasurementsImplCopyWith<_$FilteredMeasurementsImpl> + get copyWith => + __$$FilteredMeasurementsImplCopyWithImpl<_$FilteredMeasurementsImpl>( + this, _$identity); @override Map toJson() { - return _$$_FilteredMeasurementsToJson( + return _$$FilteredMeasurementsImplToJson( this, ); } @@ -441,10 +442,10 @@ abstract class _FilteredMeasurements implements FilteredMeasurements { final String? id, final String? physicalRefNumber, final List? measures, - final List? documents}) = _$_FilteredMeasurements; + final List? documents}) = _$FilteredMeasurementsImpl; factory _FilteredMeasurements.fromJson(Map json) = - _$_FilteredMeasurements.fromJson; + _$FilteredMeasurementsImpl.fromJson; @override double? get totalSorAmount; @@ -478,8 +479,8 @@ abstract class _FilteredMeasurements implements FilteredMeasurements { List? get documents; @override @JsonKey(ignore: true) - _$$_FilteredMeasurementsCopyWith<_$_FilteredMeasurements> get copyWith => - throw _privateConstructorUsedError; + _$$FilteredMeasurementsImplCopyWith<_$FilteredMeasurementsImpl> + get copyWith => throw _privateConstructorUsedError; } FilteredMeasurementsMeasure _$FilteredMeasurementsMeasureFromJson( @@ -635,12 +636,12 @@ class _$FilteredMeasurementsMeasureCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_FilteredMeasurementsMeasureCopyWith<$Res> +abstract class _$$FilteredMeasurementsMeasureImplCopyWith<$Res> implements $FilteredMeasurementsMeasureCopyWith<$Res> { - factory _$$_FilteredMeasurementsMeasureCopyWith( - _$_FilteredMeasurementsMeasure value, - $Res Function(_$_FilteredMeasurementsMeasure) then) = - __$$_FilteredMeasurementsMeasureCopyWithImpl<$Res>; + factory _$$FilteredMeasurementsMeasureImplCopyWith( + _$FilteredMeasurementsMeasureImpl value, + $Res Function(_$FilteredMeasurementsMeasureImpl) then) = + __$$FilteredMeasurementsMeasureImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -662,13 +663,13 @@ abstract class _$$_FilteredMeasurementsMeasureCopyWith<$Res> } /// @nodoc -class __$$_FilteredMeasurementsMeasureCopyWithImpl<$Res> +class __$$FilteredMeasurementsMeasureImplCopyWithImpl<$Res> extends _$FilteredMeasurementsMeasureCopyWithImpl<$Res, - _$_FilteredMeasurementsMeasure> - implements _$$_FilteredMeasurementsMeasureCopyWith<$Res> { - __$$_FilteredMeasurementsMeasureCopyWithImpl( - _$_FilteredMeasurementsMeasure _value, - $Res Function(_$_FilteredMeasurementsMeasure) _then) + _$FilteredMeasurementsMeasureImpl> + implements _$$FilteredMeasurementsMeasureImplCopyWith<$Res> { + __$$FilteredMeasurementsMeasureImplCopyWithImpl( + _$FilteredMeasurementsMeasureImpl _value, + $Res Function(_$FilteredMeasurementsMeasureImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -690,7 +691,7 @@ class __$$_FilteredMeasurementsMeasureCopyWithImpl<$Res> Object? measureLineItems = freezed, Object? contracts = freezed, }) { - return _then(_$_FilteredMeasurementsMeasure( + return _then(_$FilteredMeasurementsMeasureImpl( length: freezed == length ? _value.length : length // ignore: cast_nullable_to_non_nullable @@ -757,8 +758,9 @@ class __$$_FilteredMeasurementsMeasureCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_FilteredMeasurementsMeasure implements _FilteredMeasurementsMeasure { - const _$_FilteredMeasurementsMeasure( +class _$FilteredMeasurementsMeasureImpl + implements _FilteredMeasurementsMeasure { + const _$FilteredMeasurementsMeasureImpl( {this.length, this.breath, this.height, @@ -777,8 +779,9 @@ class _$_FilteredMeasurementsMeasure implements _FilteredMeasurementsMeasure { : _measureLineItems = measureLineItems, _contracts = contracts; - factory _$_FilteredMeasurementsMeasure.fromJson(Map json) => - _$$_FilteredMeasurementsMeasureFromJson(json); + factory _$FilteredMeasurementsMeasureImpl.fromJson( + Map json) => + _$$FilteredMeasurementsMeasureImplFromJson(json); @override final double? length; @@ -833,10 +836,10 @@ class _$_FilteredMeasurementsMeasure implements _FilteredMeasurementsMeasure { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_FilteredMeasurementsMeasure && + other is _$FilteredMeasurementsMeasureImpl && (identical(other.length, length) || other.length == length) && (identical(other.breath, breath) || other.breath == breath) && (identical(other.height, height) || other.height == height) && @@ -887,13 +890,13 @@ class _$_FilteredMeasurementsMeasure implements _FilteredMeasurementsMeasure { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_FilteredMeasurementsMeasureCopyWith<_$_FilteredMeasurementsMeasure> - get copyWith => __$$_FilteredMeasurementsMeasureCopyWithImpl< - _$_FilteredMeasurementsMeasure>(this, _$identity); + _$$FilteredMeasurementsMeasureImplCopyWith<_$FilteredMeasurementsMeasureImpl> + get copyWith => __$$FilteredMeasurementsMeasureImplCopyWithImpl< + _$FilteredMeasurementsMeasureImpl>(this, _$identity); @override Map toJson() { - return _$$_FilteredMeasurementsMeasureToJson( + return _$$FilteredMeasurementsMeasureImplToJson( this, ); } @@ -917,10 +920,10 @@ abstract class _FilteredMeasurementsMeasure final String? referenceId, final List? measureLineItems, final List? contracts}) = - _$_FilteredMeasurementsMeasure; + _$FilteredMeasurementsMeasureImpl; factory _FilteredMeasurementsMeasure.fromJson(Map json) = - _$_FilteredMeasurementsMeasure.fromJson; + _$FilteredMeasurementsMeasureImpl.fromJson; @override double? get length; @@ -954,7 +957,7 @@ abstract class _FilteredMeasurementsMeasure List? get contracts; @override @JsonKey(ignore: true) - _$$_FilteredMeasurementsMeasureCopyWith<_$_FilteredMeasurementsMeasure> + _$$FilteredMeasurementsMeasureImplCopyWith<_$FilteredMeasurementsMeasureImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1077,12 +1080,12 @@ class _$FilteredMeasurementsContractCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_FilteredMeasurementsContractCopyWith<$Res> +abstract class _$$FilteredMeasurementsContractImplCopyWith<$Res> implements $FilteredMeasurementsContractCopyWith<$Res> { - factory _$$_FilteredMeasurementsContractCopyWith( - _$_FilteredMeasurementsContract value, - $Res Function(_$_FilteredMeasurementsContract) then) = - __$$_FilteredMeasurementsContractCopyWithImpl<$Res>; + factory _$$FilteredMeasurementsContractImplCopyWith( + _$FilteredMeasurementsContractImpl value, + $Res Function(_$FilteredMeasurementsContractImpl) then) = + __$$FilteredMeasurementsContractImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1100,13 +1103,13 @@ abstract class _$$_FilteredMeasurementsContractCopyWith<$Res> } /// @nodoc -class __$$_FilteredMeasurementsContractCopyWithImpl<$Res> +class __$$FilteredMeasurementsContractImplCopyWithImpl<$Res> extends _$FilteredMeasurementsContractCopyWithImpl<$Res, - _$_FilteredMeasurementsContract> - implements _$$_FilteredMeasurementsContractCopyWith<$Res> { - __$$_FilteredMeasurementsContractCopyWithImpl( - _$_FilteredMeasurementsContract _value, - $Res Function(_$_FilteredMeasurementsContract) _then) + _$FilteredMeasurementsContractImpl> + implements _$$FilteredMeasurementsContractImplCopyWith<$Res> { + __$$FilteredMeasurementsContractImplCopyWithImpl( + _$FilteredMeasurementsContractImpl _value, + $Res Function(_$FilteredMeasurementsContractImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1121,7 +1124,7 @@ class __$$_FilteredMeasurementsContractCopyWithImpl<$Res> Object? contractAdditionalDetails = freezed, Object? estimates = freezed, }) { - return _then(_$_FilteredMeasurementsContract( + return _then(_$FilteredMeasurementsContractImpl( estimateId: freezed == estimateId ? _value.estimateId : estimateId // ignore: cast_nullable_to_non_nullable @@ -1160,8 +1163,9 @@ class __$$_FilteredMeasurementsContractCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_FilteredMeasurementsContract implements _FilteredMeasurementsContract { - const _$_FilteredMeasurementsContract( +class _$FilteredMeasurementsContractImpl + implements _FilteredMeasurementsContract { + const _$FilteredMeasurementsContractImpl( {this.estimateId, this.estimateLineItemId, this.contractLineItemRef, @@ -1172,8 +1176,9 @@ class _$_FilteredMeasurementsContract implements _FilteredMeasurementsContract { final List? estimates}) : _estimates = estimates; - factory _$_FilteredMeasurementsContract.fromJson(Map json) => - _$$_FilteredMeasurementsContractFromJson(json); + factory _$FilteredMeasurementsContractImpl.fromJson( + Map json) => + _$$FilteredMeasurementsContractImplFromJson(json); @override final String? estimateId; @@ -1205,10 +1210,10 @@ class _$_FilteredMeasurementsContract implements _FilteredMeasurementsContract { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_FilteredMeasurementsContract && + other is _$FilteredMeasurementsContractImpl && (identical(other.estimateId, estimateId) || other.estimateId == estimateId) && (identical(other.estimateLineItemId, estimateLineItemId) || @@ -1243,13 +1248,14 @@ class _$_FilteredMeasurementsContract implements _FilteredMeasurementsContract { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_FilteredMeasurementsContractCopyWith<_$_FilteredMeasurementsContract> - get copyWith => __$$_FilteredMeasurementsContractCopyWithImpl< - _$_FilteredMeasurementsContract>(this, _$identity); + _$$FilteredMeasurementsContractImplCopyWith< + _$FilteredMeasurementsContractImpl> + get copyWith => __$$FilteredMeasurementsContractImplCopyWithImpl< + _$FilteredMeasurementsContractImpl>(this, _$identity); @override Map toJson() { - return _$$_FilteredMeasurementsContractToJson( + return _$$FilteredMeasurementsContractImplToJson( this, ); } @@ -1266,10 +1272,10 @@ abstract class _FilteredMeasurementsContract final String? wfStatus, final ContractAdditionalDetails? contractAdditionalDetails, final List? estimates}) = - _$_FilteredMeasurementsContract; + _$FilteredMeasurementsContractImpl; factory _FilteredMeasurementsContract.fromJson(Map json) = - _$_FilteredMeasurementsContract.fromJson; + _$FilteredMeasurementsContractImpl.fromJson; @override String? get estimateId; @@ -1289,7 +1295,8 @@ abstract class _FilteredMeasurementsContract List? get estimates; @override @JsonKey(ignore: true) - _$$_FilteredMeasurementsContractCopyWith<_$_FilteredMeasurementsContract> + _$$FilteredMeasurementsContractImplCopyWith< + _$FilteredMeasurementsContractImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1444,12 +1451,12 @@ class _$FilteredMeasurementsEstimateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_FilteredMeasurementsEstimateCopyWith<$Res> +abstract class _$$FilteredMeasurementsEstimateImplCopyWith<$Res> implements $FilteredMeasurementsEstimateCopyWith<$Res> { - factory _$$_FilteredMeasurementsEstimateCopyWith( - _$_FilteredMeasurementsEstimate value, - $Res Function(_$_FilteredMeasurementsEstimate) then) = - __$$_FilteredMeasurementsEstimateCopyWithImpl<$Res>; + factory _$$FilteredMeasurementsEstimateImplCopyWith( + _$FilteredMeasurementsEstimateImpl value, + $Res Function(_$FilteredMeasurementsEstimateImpl) then) = + __$$FilteredMeasurementsEstimateImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1471,13 +1478,13 @@ abstract class _$$_FilteredMeasurementsEstimateCopyWith<$Res> } /// @nodoc -class __$$_FilteredMeasurementsEstimateCopyWithImpl<$Res> +class __$$FilteredMeasurementsEstimateImplCopyWithImpl<$Res> extends _$FilteredMeasurementsEstimateCopyWithImpl<$Res, - _$_FilteredMeasurementsEstimate> - implements _$$_FilteredMeasurementsEstimateCopyWith<$Res> { - __$$_FilteredMeasurementsEstimateCopyWithImpl( - _$_FilteredMeasurementsEstimate _value, - $Res Function(_$_FilteredMeasurementsEstimate) _then) + _$FilteredMeasurementsEstimateImpl> + implements _$$FilteredMeasurementsEstimateImplCopyWith<$Res> { + __$$FilteredMeasurementsEstimateImplCopyWithImpl( + _$FilteredMeasurementsEstimateImpl _value, + $Res Function(_$FilteredMeasurementsEstimateImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1499,7 +1506,7 @@ class __$$_FilteredMeasurementsEstimateCopyWithImpl<$Res> Object? wfStatus = freezed, Object? status = freezed, }) { - return _then(_$_FilteredMeasurementsEstimate( + return _then(_$FilteredMeasurementsEstimateImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -1566,8 +1573,9 @@ class __$$_FilteredMeasurementsEstimateCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_FilteredMeasurementsEstimate implements _FilteredMeasurementsEstimate { - const _$_FilteredMeasurementsEstimate( +class _$FilteredMeasurementsEstimateImpl + implements _FilteredMeasurementsEstimate { + const _$FilteredMeasurementsEstimateImpl( {this.id, this.sorId, this.category, @@ -1584,8 +1592,9 @@ class _$_FilteredMeasurementsEstimate implements _FilteredMeasurementsEstimate { this.wfStatus, this.status}); - factory _$_FilteredMeasurementsEstimate.fromJson(Map json) => - _$$_FilteredMeasurementsEstimateFromJson(json); + factory _$FilteredMeasurementsEstimateImpl.fromJson( + Map json) => + _$$FilteredMeasurementsEstimateImplFromJson(json); @override final String? id; @@ -1624,10 +1633,10 @@ class _$_FilteredMeasurementsEstimate implements _FilteredMeasurementsEstimate { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_FilteredMeasurementsEstimate && + other is _$FilteredMeasurementsEstimateImpl && (identical(other.id, id) || other.id == id) && (identical(other.sorId, sorId) || other.sorId == sorId) && (identical(other.category, category) || @@ -1673,13 +1682,14 @@ class _$_FilteredMeasurementsEstimate implements _FilteredMeasurementsEstimate { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_FilteredMeasurementsEstimateCopyWith<_$_FilteredMeasurementsEstimate> - get copyWith => __$$_FilteredMeasurementsEstimateCopyWithImpl< - _$_FilteredMeasurementsEstimate>(this, _$identity); + _$$FilteredMeasurementsEstimateImplCopyWith< + _$FilteredMeasurementsEstimateImpl> + get copyWith => __$$FilteredMeasurementsEstimateImplCopyWithImpl< + _$FilteredMeasurementsEstimateImpl>(this, _$identity); @override Map toJson() { - return _$$_FilteredMeasurementsEstimateToJson( + return _$$FilteredMeasurementsEstimateImplToJson( this, ); } @@ -1702,10 +1712,10 @@ abstract class _FilteredMeasurementsEstimate final dynamic quantity, final bool? isDeduction, final String? wfStatus, - final String? status}) = _$_FilteredMeasurementsEstimate; + final String? status}) = _$FilteredMeasurementsEstimateImpl; factory _FilteredMeasurementsEstimate.fromJson(Map json) = - _$_FilteredMeasurementsEstimate.fromJson; + _$FilteredMeasurementsEstimateImpl.fromJson; @override String? get id; @@ -1739,6 +1749,7 @@ abstract class _FilteredMeasurementsEstimate String? get status; @override @JsonKey(ignore: true) - _$$_FilteredMeasurementsEstimateCopyWith<_$_FilteredMeasurementsEstimate> + _$$FilteredMeasurementsEstimateImplCopyWith< + _$FilteredMeasurementsEstimateImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.g.dart b/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.g.dart index 5287b16ae0..b9ced8c973 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.g.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.g.dart @@ -6,9 +6,9 @@ part of 'filtered_Measures.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_FilteredMeasurements _$$_FilteredMeasurementsFromJson( +_$FilteredMeasurementsImpl _$$FilteredMeasurementsImplFromJson( Map json) => - _$_FilteredMeasurements( + _$FilteredMeasurementsImpl( totalSorAmount: (json['totalSorAmount'] as num?)?.toDouble(), totalNorSorAmount: (json['totalNorSorAmount'] as num?)?.toDouble(), totalAmount: (json['totalAmount'] as num?)?.toDouble(), @@ -16,9 +16,9 @@ _$_FilteredMeasurements _$$_FilteredMeasurementsFromJson( mbNumber: json['mbNumber'] as String?, wfStatus: json['wfStatus'] as String?, tenantId: json['tenantId'] as String?, - endDate: json['endDate'] as int?, - startDate: json['startDate'] as int?, - entryDate: json['entryDate'] as int?, + endDate: (json['endDate'] as num?)?.toInt(), + startDate: (json['startDate'] as num?)?.toInt(), + entryDate: (json['entryDate'] as num?)?.toInt(), referenceId: json['referenceId'] as String?, id: json['id'] as String?, physicalRefNumber: json['physicalRefNumber'] as String?, @@ -31,8 +31,8 @@ _$_FilteredMeasurements _$$_FilteredMeasurementsFromJson( .toList(), ); -Map _$$_FilteredMeasurementsToJson( - _$_FilteredMeasurements instance) => +Map _$$FilteredMeasurementsImplToJson( + _$FilteredMeasurementsImpl instance) => { 'totalSorAmount': instance.totalSorAmount, 'totalNorSorAmount': instance.totalNorSorAmount, @@ -51,9 +51,9 @@ Map _$$_FilteredMeasurementsToJson( 'documents': instance.documents, }; -_$_FilteredMeasurementsMeasure _$$_FilteredMeasurementsMeasureFromJson( +_$FilteredMeasurementsMeasureImpl _$$FilteredMeasurementsMeasureImplFromJson( Map json) => - _$_FilteredMeasurementsMeasure( + _$FilteredMeasurementsMeasureImpl( length: (json['length'] as num?)?.toDouble(), breath: (json['breath'] as num?)?.toDouble(), height: (json['height'] as num?)?.toDouble(), @@ -76,8 +76,8 @@ _$_FilteredMeasurementsMeasure _$$_FilteredMeasurementsMeasureFromJson( .toList(), ); -Map _$$_FilteredMeasurementsMeasureToJson( - _$_FilteredMeasurementsMeasure instance) => +Map _$$FilteredMeasurementsMeasureImplToJson( + _$FilteredMeasurementsMeasureImpl instance) => { 'length': instance.length, 'breath': instance.breath, @@ -96,9 +96,9 @@ Map _$$_FilteredMeasurementsMeasureToJson( 'contracts': instance.contracts, }; -_$_FilteredMeasurementsContract _$$_FilteredMeasurementsContractFromJson( +_$FilteredMeasurementsContractImpl _$$FilteredMeasurementsContractImplFromJson( Map json) => - _$_FilteredMeasurementsContract( + _$FilteredMeasurementsContractImpl( estimateId: json['estimateId'] as String?, estimateLineItemId: json['estimateLineItemId'] as String?, contractLineItemRef: json['contractLineItemRef'] as String?, @@ -115,8 +115,8 @@ _$_FilteredMeasurementsContract _$$_FilteredMeasurementsContractFromJson( .toList(), ); -Map _$$_FilteredMeasurementsContractToJson( - _$_FilteredMeasurementsContract instance) => +Map _$$FilteredMeasurementsContractImplToJson( + _$FilteredMeasurementsContractImpl instance) => { 'estimateId': instance.estimateId, 'estimateLineItemId': instance.estimateLineItemId, @@ -128,9 +128,9 @@ Map _$$_FilteredMeasurementsContractToJson( 'estimates': instance.estimates, }; -_$_FilteredMeasurementsEstimate _$$_FilteredMeasurementsEstimateFromJson( +_$FilteredMeasurementsEstimateImpl _$$FilteredMeasurementsEstimateImplFromJson( Map json) => - _$_FilteredMeasurementsEstimate( + _$FilteredMeasurementsEstimateImpl( id: json['id'] as String?, sorId: json['sorId'] as String?, category: json['category'] as String?, @@ -148,8 +148,8 @@ _$_FilteredMeasurementsEstimate _$$_FilteredMeasurementsEstimateFromJson( status: json['status'] as String?, ); -Map _$$_FilteredMeasurementsEstimateToJson( - _$_FilteredMeasurementsEstimate instance) => +Map _$$FilteredMeasurementsEstimateImplToJson( + _$FilteredMeasurementsEstimateImpl instance) => { 'id': instance.id, 'sorId': instance.sorId, diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.freezed.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.freezed.dart index fde005170f..f23f127de2 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.freezed.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.freezed.dart @@ -12,7 +12,7 @@ part of 'mb_detail_response.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); MBDetailResponse _$MBDetailResponseFromJson(Map json) { return _MBDetailResponse.fromJson(json); @@ -157,11 +157,11 @@ class _$MBDetailResponseCopyWithImpl<$Res, $Val extends MBDetailResponse> } /// @nodoc -abstract class _$$_MBDetailResponseCopyWith<$Res> +abstract class _$$MBDetailResponseImplCopyWith<$Res> implements $MBDetailResponseCopyWith<$Res> { - factory _$$_MBDetailResponseCopyWith( - _$_MBDetailResponse value, $Res Function(_$_MBDetailResponse) then) = - __$$_MBDetailResponseCopyWithImpl<$Res>; + factory _$$MBDetailResponseImplCopyWith(_$MBDetailResponseImpl value, + $Res Function(_$MBDetailResponseImpl) then) = + __$$MBDetailResponseImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -183,11 +183,11 @@ abstract class _$$_MBDetailResponseCopyWith<$Res> } /// @nodoc -class __$$_MBDetailResponseCopyWithImpl<$Res> - extends _$MBDetailResponseCopyWithImpl<$Res, _$_MBDetailResponse> - implements _$$_MBDetailResponseCopyWith<$Res> { - __$$_MBDetailResponseCopyWithImpl( - _$_MBDetailResponse _value, $Res Function(_$_MBDetailResponse) _then) +class __$$MBDetailResponseImplCopyWithImpl<$Res> + extends _$MBDetailResponseCopyWithImpl<$Res, _$MBDetailResponseImpl> + implements _$$MBDetailResponseImplCopyWith<$Res> { + __$$MBDetailResponseImplCopyWithImpl(_$MBDetailResponseImpl _value, + $Res Function(_$MBDetailResponseImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -200,7 +200,7 @@ class __$$_MBDetailResponseCopyWithImpl<$Res> Object? measurement = freezed, Object? musterRolls = freezed, }) { - return _then(_$_MBDetailResponse( + return _then(_$MBDetailResponseImpl( contract: freezed == contract ? _value.contract : contract // ignore: cast_nullable_to_non_nullable @@ -231,8 +231,8 @@ class __$$_MBDetailResponseCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MBDetailResponse implements _MBDetailResponse { - const _$_MBDetailResponse( +class _$MBDetailResponseImpl implements _MBDetailResponse { + const _$MBDetailResponseImpl( {@JsonKey(name: 'contract') this.contract, @JsonKey(name: 'estimate') this.estimate, @JsonKey(name: 'period') this.period, @@ -240,8 +240,8 @@ class _$_MBDetailResponse implements _MBDetailResponse { @JsonKey(name: 'measurement') this.measurement, @JsonKey(name: 'musterRolls') this.musterRolls}); - factory _$_MBDetailResponse.fromJson(Map json) => - _$$_MBDetailResponseFromJson(json); + factory _$MBDetailResponseImpl.fromJson(Map json) => + _$$MBDetailResponseImplFromJson(json); @override @JsonKey(name: 'contract') @@ -268,10 +268,10 @@ class _$_MBDetailResponse implements _MBDetailResponse { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MBDetailResponse && + other is _$MBDetailResponseImpl && (identical(other.contract, contract) || other.contract == contract) && (identical(other.estimate, estimate) || @@ -299,12 +299,13 @@ class _$_MBDetailResponse implements _MBDetailResponse { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MBDetailResponseCopyWith<_$_MBDetailResponse> get copyWith => - __$$_MBDetailResponseCopyWithImpl<_$_MBDetailResponse>(this, _$identity); + _$$MBDetailResponseImplCopyWith<_$MBDetailResponseImpl> get copyWith => + __$$MBDetailResponseImplCopyWithImpl<_$MBDetailResponseImpl>( + this, _$identity); @override Map toJson() { - return _$$_MBDetailResponseToJson( + return _$$MBDetailResponseImplToJson( this, ); } @@ -318,10 +319,10 @@ abstract class _MBDetailResponse implements MBDetailResponse { @JsonKey(name: 'allMeasurements') final dynamic allMeasurements, @JsonKey(name: 'measurement') final Measurement? measurement, @JsonKey(name: 'musterRolls') final dynamic musterRolls}) = - _$_MBDetailResponse; + _$MBDetailResponseImpl; factory _MBDetailResponse.fromJson(Map json) = - _$_MBDetailResponse.fromJson; + _$MBDetailResponseImpl.fromJson; @override @JsonKey(name: 'contract') @@ -343,7 +344,7 @@ abstract class _MBDetailResponse implements MBDetailResponse { dynamic get musterRolls; @override @JsonKey(ignore: true) - _$$_MBDetailResponseCopyWith<_$_MBDetailResponse> get copyWith => + _$$MBDetailResponseImplCopyWith<_$MBDetailResponseImpl> get copyWith => throw _privateConstructorUsedError; } @@ -421,10 +422,11 @@ class _$WorkFlowCopyWithImpl<$Res, $Val extends WorkFlow> } /// @nodoc -abstract class _$$_WorkFlowCopyWith<$Res> implements $WorkFlowCopyWith<$Res> { - factory _$$_WorkFlowCopyWith( - _$_WorkFlow value, $Res Function(_$_WorkFlow) then) = - __$$_WorkFlowCopyWithImpl<$Res>; +abstract class _$$WorkFlowImplCopyWith<$Res> + implements $WorkFlowCopyWith<$Res> { + factory _$$WorkFlowImplCopyWith( + _$WorkFlowImpl value, $Res Function(_$WorkFlowImpl) then) = + __$$WorkFlowImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -435,11 +437,11 @@ abstract class _$$_WorkFlowCopyWith<$Res> implements $WorkFlowCopyWith<$Res> { } /// @nodoc -class __$$_WorkFlowCopyWithImpl<$Res> - extends _$WorkFlowCopyWithImpl<$Res, _$_WorkFlow> - implements _$$_WorkFlowCopyWith<$Res> { - __$$_WorkFlowCopyWithImpl( - _$_WorkFlow _value, $Res Function(_$_WorkFlow) _then) +class __$$WorkFlowImplCopyWithImpl<$Res> + extends _$WorkFlowCopyWithImpl<$Res, _$WorkFlowImpl> + implements _$$WorkFlowImplCopyWith<$Res> { + __$$WorkFlowImplCopyWithImpl( + _$WorkFlowImpl _value, $Res Function(_$WorkFlowImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -450,7 +452,7 @@ class __$$_WorkFlowCopyWithImpl<$Res> Object? assignees = freezed, Object? documents = freezed, }) { - return _then(_$_WorkFlow( + return _then(_$WorkFlowImpl( action: freezed == action ? _value.action : action // ignore: cast_nullable_to_non_nullable @@ -473,21 +475,18 @@ class __$$_WorkFlowCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_WorkFlow implements _WorkFlow { - const _$_WorkFlow( - {@JsonKey(name: 'action') - this.action, - @JsonKey(name: 'comment') - this.comment, - @JsonKey(name: 'assignees') - final List? assignees, +class _$WorkFlowImpl implements _WorkFlow { + const _$WorkFlowImpl( + {@JsonKey(name: 'action') this.action, + @JsonKey(name: 'comment') this.comment, + @JsonKey(name: 'assignees') final List? assignees, @JsonKey(name: 'documents') - final List? documents}) + final List? documents}) : _assignees = assignees, _documents = documents; - factory _$_WorkFlow.fromJson(Map json) => - _$$_WorkFlowFromJson(json); + factory _$WorkFlowImpl.fromJson(Map json) => + _$$WorkFlowImplFromJson(json); @override @JsonKey(name: 'action') @@ -523,10 +522,10 @@ class _$_WorkFlow implements _WorkFlow { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_WorkFlow && + other is _$WorkFlowImpl && (identical(other.action, action) || other.action == action) && (identical(other.comment, comment) || other.comment == comment) && const DeepCollectionEquality() @@ -547,12 +546,12 @@ class _$_WorkFlow implements _WorkFlow { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_WorkFlowCopyWith<_$_WorkFlow> get copyWith => - __$$_WorkFlowCopyWithImpl<_$_WorkFlow>(this, _$identity); + _$$WorkFlowImplCopyWith<_$WorkFlowImpl> get copyWith => + __$$WorkFlowImplCopyWithImpl<_$WorkFlowImpl>(this, _$identity); @override Map toJson() { - return _$$_WorkFlowToJson( + return _$$WorkFlowImplToJson( this, ); } @@ -560,16 +559,14 @@ class _$_WorkFlow implements _WorkFlow { abstract class _WorkFlow implements WorkFlow { const factory _WorkFlow( - {@JsonKey(name: 'action') - final String? action, - @JsonKey(name: 'comment') - final String? comment, - @JsonKey(name: 'assignees') - final List? assignees, + {@JsonKey(name: 'action') final String? action, + @JsonKey(name: 'comment') final String? comment, + @JsonKey(name: 'assignees') final List? assignees, @JsonKey(name: 'documents') - final List? documents}) = _$_WorkFlow; + final List? documents}) = _$WorkFlowImpl; - factory _WorkFlow.fromJson(Map json) = _$_WorkFlow.fromJson; + factory _WorkFlow.fromJson(Map json) = + _$WorkFlowImpl.fromJson; @override @JsonKey(name: 'action') @@ -585,7 +582,7 @@ abstract class _WorkFlow implements WorkFlow { List? get documents; @override @JsonKey(ignore: true) - _$$_WorkFlowCopyWith<_$_WorkFlow> get copyWith => + _$$WorkFlowImplCopyWith<_$WorkFlowImpl> get copyWith => throw _privateConstructorUsedError; } @@ -673,11 +670,12 @@ class _$WorkFlowSupportDocumentCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_WorkFlowSupportDocumentCopyWith<$Res> +abstract class _$$WorkFlowSupportDocumentImplCopyWith<$Res> implements $WorkFlowSupportDocumentCopyWith<$Res> { - factory _$$_WorkFlowSupportDocumentCopyWith(_$_WorkFlowSupportDocument value, - $Res Function(_$_WorkFlowSupportDocument) then) = - __$$_WorkFlowSupportDocumentCopyWithImpl<$Res>; + factory _$$WorkFlowSupportDocumentImplCopyWith( + _$WorkFlowSupportDocumentImpl value, + $Res Function(_$WorkFlowSupportDocumentImpl) then) = + __$$WorkFlowSupportDocumentImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -689,12 +687,13 @@ abstract class _$$_WorkFlowSupportDocumentCopyWith<$Res> } /// @nodoc -class __$$_WorkFlowSupportDocumentCopyWithImpl<$Res> +class __$$WorkFlowSupportDocumentImplCopyWithImpl<$Res> extends _$WorkFlowSupportDocumentCopyWithImpl<$Res, - _$_WorkFlowSupportDocument> - implements _$$_WorkFlowSupportDocumentCopyWith<$Res> { - __$$_WorkFlowSupportDocumentCopyWithImpl(_$_WorkFlowSupportDocument _value, - $Res Function(_$_WorkFlowSupportDocument) _then) + _$WorkFlowSupportDocumentImpl> + implements _$$WorkFlowSupportDocumentImplCopyWith<$Res> { + __$$WorkFlowSupportDocumentImplCopyWithImpl( + _$WorkFlowSupportDocumentImpl _value, + $Res Function(_$WorkFlowSupportDocumentImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -706,7 +705,7 @@ class __$$_WorkFlowSupportDocumentCopyWithImpl<$Res> Object? fileStoreId = freezed, Object? tenantId = freezed, }) { - return _then(_$_WorkFlowSupportDocument( + return _then(_$WorkFlowSupportDocumentImpl( documentType: freezed == documentType ? _value.documentType : documentType // ignore: cast_nullable_to_non_nullable @@ -733,16 +732,16 @@ class __$$_WorkFlowSupportDocumentCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_WorkFlowSupportDocument implements _WorkFlowSupportDocument { - const _$_WorkFlowSupportDocument( +class _$WorkFlowSupportDocumentImpl implements _WorkFlowSupportDocument { + const _$WorkFlowSupportDocumentImpl( {@JsonKey(name: 'documentType') this.documentType, @JsonKey(name: 'documentUid') this.documentUid, @JsonKey(name: 'fileName') this.fileName, @JsonKey(name: 'fileStoreId') this.fileStoreId, @JsonKey(name: 'tenantId') this.tenantId}); - factory _$_WorkFlowSupportDocument.fromJson(Map json) => - _$$_WorkFlowSupportDocumentFromJson(json); + factory _$WorkFlowSupportDocumentImpl.fromJson(Map json) => + _$$WorkFlowSupportDocumentImplFromJson(json); @override @JsonKey(name: 'documentType') @@ -766,10 +765,10 @@ class _$_WorkFlowSupportDocument implements _WorkFlowSupportDocument { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_WorkFlowSupportDocument && + other is _$WorkFlowSupportDocumentImpl && (identical(other.documentType, documentType) || other.documentType == documentType) && (identical(other.documentUid, documentUid) || @@ -790,14 +789,13 @@ class _$_WorkFlowSupportDocument implements _WorkFlowSupportDocument { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_WorkFlowSupportDocumentCopyWith<_$_WorkFlowSupportDocument> - get copyWith => - __$$_WorkFlowSupportDocumentCopyWithImpl<_$_WorkFlowSupportDocument>( - this, _$identity); + _$$WorkFlowSupportDocumentImplCopyWith<_$WorkFlowSupportDocumentImpl> + get copyWith => __$$WorkFlowSupportDocumentImplCopyWithImpl< + _$WorkFlowSupportDocumentImpl>(this, _$identity); @override Map toJson() { - return _$$_WorkFlowSupportDocumentToJson( + return _$$WorkFlowSupportDocumentImplToJson( this, ); } @@ -810,10 +808,10 @@ abstract class _WorkFlowSupportDocument implements WorkFlowSupportDocument { @JsonKey(name: 'fileName') final String? fileName, @JsonKey(name: 'fileStoreId') final String? fileStoreId, @JsonKey(name: 'tenantId') final String? tenantId}) = - _$_WorkFlowSupportDocument; + _$WorkFlowSupportDocumentImpl; factory _WorkFlowSupportDocument.fromJson(Map json) = - _$_WorkFlowSupportDocument.fromJson; + _$WorkFlowSupportDocumentImpl.fromJson; @override @JsonKey(name: 'documentType') @@ -832,7 +830,7 @@ abstract class _WorkFlowSupportDocument implements WorkFlowSupportDocument { String? get tenantId; @override @JsonKey(ignore: true) - _$$_WorkFlowSupportDocumentCopyWith<_$_WorkFlowSupportDocument> + _$$WorkFlowSupportDocumentImplCopyWith<_$WorkFlowSupportDocumentImpl> get copyWith => throw _privateConstructorUsedError; } @@ -881,30 +879,19 @@ abstract class $MusterRollCopyWith<$Res> { _$MusterRollCopyWithImpl<$Res, MusterRoll>; @useResult $Res call( - {@JsonKey(name: 'id') - String? id, - @JsonKey(name: 'tenantId') - String? tenantId, - @JsonKey(name: 'musterRollNumber') - dynamic musterRollNumber, - @JsonKey(name: 'registerId') - String? registerId, - @JsonKey(name: 'status') - String? status, - @JsonKey(name: 'musterRollStatus') - String? musterRollStatus, - @JsonKey(name: 'startDate') - int? startDate, - @JsonKey(name: 'endDate') - int? endDate, - @JsonKey(name: 'referenceId') - String? referenceId, - @JsonKey(name: 'serviceCode') - String? serviceCode, - @JsonKey(name: 'auditDetails') - AuditDetails? auditDetails, + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'musterRollNumber') dynamic musterRollNumber, + @JsonKey(name: 'registerId') String? registerId, + @JsonKey(name: 'status') String? status, + @JsonKey(name: 'musterRollStatus') String? musterRollStatus, + @JsonKey(name: 'startDate') int? startDate, + @JsonKey(name: 'endDate') int? endDate, + @JsonKey(name: 'referenceId') String? referenceId, + @JsonKey(name: 'serviceCode') String? serviceCode, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - MusterRollAdditionalDetails? additional}); + MusterRollAdditionalDetails? additional}); $AuditDetailsCopyWith<$Res>? get auditDetails; $MusterRollAdditionalDetailsCopyWith<$Res>? get additional; @@ -1015,38 +1002,27 @@ class _$MusterRollCopyWithImpl<$Res, $Val extends MusterRoll> } /// @nodoc -abstract class _$$_MusterRollCopyWith<$Res> +abstract class _$$MusterRollImplCopyWith<$Res> implements $MusterRollCopyWith<$Res> { - factory _$$_MusterRollCopyWith( - _$_MusterRoll value, $Res Function(_$_MusterRoll) then) = - __$$_MusterRollCopyWithImpl<$Res>; + factory _$$MusterRollImplCopyWith( + _$MusterRollImpl value, $Res Function(_$MusterRollImpl) then) = + __$$MusterRollImplCopyWithImpl<$Res>; @override @useResult $Res call( - {@JsonKey(name: 'id') - String? id, - @JsonKey(name: 'tenantId') - String? tenantId, - @JsonKey(name: 'musterRollNumber') - dynamic musterRollNumber, - @JsonKey(name: 'registerId') - String? registerId, - @JsonKey(name: 'status') - String? status, - @JsonKey(name: 'musterRollStatus') - String? musterRollStatus, - @JsonKey(name: 'startDate') - int? startDate, - @JsonKey(name: 'endDate') - int? endDate, - @JsonKey(name: 'referenceId') - String? referenceId, - @JsonKey(name: 'serviceCode') - String? serviceCode, - @JsonKey(name: 'auditDetails') - AuditDetails? auditDetails, + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'musterRollNumber') dynamic musterRollNumber, + @JsonKey(name: 'registerId') String? registerId, + @JsonKey(name: 'status') String? status, + @JsonKey(name: 'musterRollStatus') String? musterRollStatus, + @JsonKey(name: 'startDate') int? startDate, + @JsonKey(name: 'endDate') int? endDate, + @JsonKey(name: 'referenceId') String? referenceId, + @JsonKey(name: 'serviceCode') String? serviceCode, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - MusterRollAdditionalDetails? additional}); + MusterRollAdditionalDetails? additional}); @override $AuditDetailsCopyWith<$Res>? get auditDetails; @@ -1055,11 +1031,11 @@ abstract class _$$_MusterRollCopyWith<$Res> } /// @nodoc -class __$$_MusterRollCopyWithImpl<$Res> - extends _$MusterRollCopyWithImpl<$Res, _$_MusterRoll> - implements _$$_MusterRollCopyWith<$Res> { - __$$_MusterRollCopyWithImpl( - _$_MusterRoll _value, $Res Function(_$_MusterRoll) _then) +class __$$MusterRollImplCopyWithImpl<$Res> + extends _$MusterRollCopyWithImpl<$Res, _$MusterRollImpl> + implements _$$MusterRollImplCopyWith<$Res> { + __$$MusterRollImplCopyWithImpl( + _$MusterRollImpl _value, $Res Function(_$MusterRollImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1078,7 +1054,7 @@ class __$$_MusterRollCopyWithImpl<$Res> Object? auditDetails = freezed, Object? additional = freezed, }) { - return _then(_$_MusterRoll( + return _then(_$MusterRollImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -1133,8 +1109,8 @@ class __$$_MusterRollCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MusterRoll implements _MusterRoll { - const _$_MusterRoll( +class _$MusterRollImpl implements _MusterRoll { + const _$MusterRollImpl( {@JsonKey(name: 'id') this.id, @JsonKey(name: 'tenantId') this.tenantId, @JsonKey(name: 'musterRollNumber') this.musterRollNumber, @@ -1148,8 +1124,8 @@ class _$_MusterRoll implements _MusterRoll { @JsonKey(name: 'auditDetails') this.auditDetails, @JsonKey(name: 'additionalDetails') this.additional}); - factory _$_MusterRoll.fromJson(Map json) => - _$$_MusterRollFromJson(json); + factory _$MusterRollImpl.fromJson(Map json) => + _$$MusterRollImplFromJson(json); @override @JsonKey(name: 'id') @@ -1194,10 +1170,10 @@ class _$_MusterRoll implements _MusterRoll { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MusterRoll && + other is _$MusterRollImpl && (identical(other.id, id) || other.id == id) && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && @@ -1241,12 +1217,12 @@ class _$_MusterRoll implements _MusterRoll { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MusterRollCopyWith<_$_MusterRoll> get copyWith => - __$$_MusterRollCopyWithImpl<_$_MusterRoll>(this, _$identity); + _$$MusterRollImplCopyWith<_$MusterRollImpl> get copyWith => + __$$MusterRollImplCopyWithImpl<_$MusterRollImpl>(this, _$identity); @override Map toJson() { - return _$$_MusterRollToJson( + return _$$MusterRollImplToJson( this, ); } @@ -1254,33 +1230,22 @@ class _$_MusterRoll implements _MusterRoll { abstract class _MusterRoll implements MusterRoll { const factory _MusterRoll( - {@JsonKey(name: 'id') - final String? id, - @JsonKey(name: 'tenantId') - final String? tenantId, - @JsonKey(name: 'musterRollNumber') - final dynamic musterRollNumber, - @JsonKey(name: 'registerId') - final String? registerId, - @JsonKey(name: 'status') - final String? status, - @JsonKey(name: 'musterRollStatus') - final String? musterRollStatus, - @JsonKey(name: 'startDate') - final int? startDate, - @JsonKey(name: 'endDate') - final int? endDate, - @JsonKey(name: 'referenceId') - final String? referenceId, - @JsonKey(name: 'serviceCode') - final String? serviceCode, - @JsonKey(name: 'auditDetails') - final AuditDetails? auditDetails, + {@JsonKey(name: 'id') final String? id, + @JsonKey(name: 'tenantId') final String? tenantId, + @JsonKey(name: 'musterRollNumber') final dynamic musterRollNumber, + @JsonKey(name: 'registerId') final String? registerId, + @JsonKey(name: 'status') final String? status, + @JsonKey(name: 'musterRollStatus') final String? musterRollStatus, + @JsonKey(name: 'startDate') final int? startDate, + @JsonKey(name: 'endDate') final int? endDate, + @JsonKey(name: 'referenceId') final String? referenceId, + @JsonKey(name: 'serviceCode') final String? serviceCode, + @JsonKey(name: 'auditDetails') final AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - final MusterRollAdditionalDetails? additional}) = _$_MusterRoll; + final MusterRollAdditionalDetails? additional}) = _$MusterRollImpl; factory _MusterRoll.fromJson(Map json) = - _$_MusterRoll.fromJson; + _$MusterRollImpl.fromJson; @override @JsonKey(name: 'id') @@ -1320,7 +1285,7 @@ abstract class _MusterRoll implements MusterRoll { MusterRollAdditionalDetails? get additional; @override @JsonKey(ignore: true) - _$$_MusterRollCopyWith<_$_MusterRoll> get copyWith => + _$$MusterRollImplCopyWith<_$MusterRollImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1474,12 +1439,12 @@ class _$MusterRollAdditionalDetailsCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_MusterRollAdditionalDetailsCopyWith<$Res> +abstract class _$$MusterRollAdditionalDetailsImplCopyWith<$Res> implements $MusterRollAdditionalDetailsCopyWith<$Res> { - factory _$$_MusterRollAdditionalDetailsCopyWith( - _$_MusterRollAdditionalDetails value, - $Res Function(_$_MusterRollAdditionalDetails) then) = - __$$_MusterRollAdditionalDetailsCopyWithImpl<$Res>; + factory _$$MusterRollAdditionalDetailsImplCopyWith( + _$MusterRollAdditionalDetailsImpl value, + $Res Function(_$MusterRollAdditionalDetailsImpl) then) = + __$$MusterRollAdditionalDetailsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1499,13 +1464,13 @@ abstract class _$$_MusterRollAdditionalDetailsCopyWith<$Res> } /// @nodoc -class __$$_MusterRollAdditionalDetailsCopyWithImpl<$Res> +class __$$MusterRollAdditionalDetailsImplCopyWithImpl<$Res> extends _$MusterRollAdditionalDetailsCopyWithImpl<$Res, - _$_MusterRollAdditionalDetails> - implements _$$_MusterRollAdditionalDetailsCopyWith<$Res> { - __$$_MusterRollAdditionalDetailsCopyWithImpl( - _$_MusterRollAdditionalDetails _value, - $Res Function(_$_MusterRollAdditionalDetails) _then) + _$MusterRollAdditionalDetailsImpl> + implements _$$MusterRollAdditionalDetailsImplCopyWith<$Res> { + __$$MusterRollAdditionalDetailsImplCopyWithImpl( + _$MusterRollAdditionalDetailsImpl _value, + $Res Function(_$MusterRollAdditionalDetailsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1525,7 +1490,7 @@ class __$$_MusterRollAdditionalDetailsCopyWithImpl<$Res> Object? attendanceRegisterNo = freezed, Object? attendanceRegisterName = freezed, }) { - return _then(_$_MusterRollAdditionalDetails( + return _then(_$MusterRollAdditionalDetailsImpl( ward: freezed == ward ? _value.ward : ward // ignore: cast_nullable_to_non_nullable @@ -1584,8 +1549,9 @@ class __$$_MusterRollAdditionalDetailsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MusterRollAdditionalDetails implements _MusterRollAdditionalDetails { - const _$_MusterRollAdditionalDetails( +class _$MusterRollAdditionalDetailsImpl + implements _MusterRollAdditionalDetails { + const _$MusterRollAdditionalDetailsImpl( {@JsonKey(name: 'ward') this.ward, @JsonKey(name: 'orgId') this.orgId, @JsonKey(name: 'amount') this.amount, @@ -1600,8 +1566,9 @@ class _$_MusterRollAdditionalDetails implements _MusterRollAdditionalDetails { @JsonKey(name: 'attendanceRegisterNo') this.attendanceRegisterNo, @JsonKey(name: 'attendanceRegisterName') this.attendanceRegisterName}); - factory _$_MusterRollAdditionalDetails.fromJson(Map json) => - _$$_MusterRollAdditionalDetailsFromJson(json); + factory _$MusterRollAdditionalDetailsImpl.fromJson( + Map json) => + _$$MusterRollAdditionalDetailsImplFromJson(json); @override @JsonKey(name: 'ward') @@ -1649,10 +1616,10 @@ class _$_MusterRollAdditionalDetails implements _MusterRollAdditionalDetails { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MusterRollAdditionalDetails && + other is _$MusterRollAdditionalDetailsImpl && (identical(other.ward, ward) || other.ward == ward) && (identical(other.orgId, orgId) || other.orgId == orgId) && (identical(other.amount, amount) || other.amount == amount) && @@ -1698,13 +1665,13 @@ class _$_MusterRollAdditionalDetails implements _MusterRollAdditionalDetails { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MusterRollAdditionalDetailsCopyWith<_$_MusterRollAdditionalDetails> - get copyWith => __$$_MusterRollAdditionalDetailsCopyWithImpl< - _$_MusterRollAdditionalDetails>(this, _$identity); + _$$MusterRollAdditionalDetailsImplCopyWith<_$MusterRollAdditionalDetailsImpl> + get copyWith => __$$MusterRollAdditionalDetailsImplCopyWithImpl< + _$MusterRollAdditionalDetailsImpl>(this, _$identity); @override Map toJson() { - return _$$_MusterRollAdditionalDetailsToJson( + return _$$MusterRollAdditionalDetailsImplToJson( this, ); } @@ -1713,36 +1680,24 @@ class _$_MusterRollAdditionalDetails implements _MusterRollAdditionalDetails { abstract class _MusterRollAdditionalDetails implements MusterRollAdditionalDetails { const factory _MusterRollAdditionalDetails( - {@JsonKey(name: 'ward') - final String? ward, - @JsonKey(name: 'orgId') - final String? orgId, - @JsonKey(name: 'amount') - final double? amount, - @JsonKey(name: 'orgName') - final String? orgName, - @JsonKey(name: 'locality') - final String? locality, - @JsonKey(name: 'projectId') - final String? projectId, - @JsonKey(name: 'contractId') - final String? contractId, - @JsonKey(name: 'projectDesc') - final String? projectDesc, - @JsonKey(name: 'projectName') - final String? projectName, - @JsonKey(name: 'projectType') - final String? projectType, - @JsonKey(name: 'executingAuthority') - final String? executingAuthority, - @JsonKey(name: 'attendanceRegisterNo') - final String? attendanceRegisterNo, - @JsonKey(name: 'attendanceRegisterName') - final String? attendanceRegisterName}) = - _$_MusterRollAdditionalDetails; + {@JsonKey(name: 'ward') final String? ward, + @JsonKey(name: 'orgId') final String? orgId, + @JsonKey(name: 'amount') final double? amount, + @JsonKey(name: 'orgName') final String? orgName, + @JsonKey(name: 'locality') final String? locality, + @JsonKey(name: 'projectId') final String? projectId, + @JsonKey(name: 'contractId') final String? contractId, + @JsonKey(name: 'projectDesc') final String? projectDesc, + @JsonKey(name: 'projectName') final String? projectName, + @JsonKey(name: 'projectType') final String? projectType, + @JsonKey(name: 'executingAuthority') final String? executingAuthority, + @JsonKey(name: 'attendanceRegisterNo') final String? attendanceRegisterNo, + @JsonKey(name: 'attendanceRegisterName') + final String? + attendanceRegisterName}) = _$MusterRollAdditionalDetailsImpl; factory _MusterRollAdditionalDetails.fromJson(Map json) = - _$_MusterRollAdditionalDetails.fromJson; + _$MusterRollAdditionalDetailsImpl.fromJson; @override @JsonKey(name: 'ward') @@ -1785,7 +1740,7 @@ abstract class _MusterRollAdditionalDetails String? get attendanceRegisterName; @override @JsonKey(ignore: true) - _$$_MusterRollAdditionalDetailsCopyWith<_$_MusterRollAdditionalDetails> + _$$MusterRollAdditionalDetailsImplCopyWith<_$MusterRollAdditionalDetailsImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1836,32 +1791,20 @@ abstract class $MeasurementCopyWith<$Res> { _$MeasurementCopyWithImpl<$Res, Measurement>; @useResult $Res call( - {@JsonKey(name: 'id') - String? id, - @JsonKey(name: 'tenantId') - String? tenantId, - @JsonKey(name: 'measurementNumber') - String? measurementNumber, - @JsonKey(name: 'physicalRefNumber') - String? physicalRefNumber, - @JsonKey(name: 'referenceId') - String? referenceId, - @JsonKey(name: 'entryDate') - int? entryDate, - @JsonKey(name: 'isActive') - bool? isActive, - @JsonKey(name: 'wfStatus') - String? wfStatus, - @JsonKey(name: 'workflow') - WorkFlow? workflow, - @JsonKey(name: 'auditDetails') - AuditDetails? auditDetails, + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'measurementNumber') String? measurementNumber, + @JsonKey(name: 'physicalRefNumber') String? physicalRefNumber, + @JsonKey(name: 'referenceId') String? referenceId, + @JsonKey(name: 'entryDate') int? entryDate, + @JsonKey(name: 'isActive') bool? isActive, + @JsonKey(name: 'wfStatus') String? wfStatus, + @JsonKey(name: 'workflow') WorkFlow? workflow, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - MeasurementAdditionalDetail? additionalDetail, - @JsonKey(name: 'measures') - List? measures, - @JsonKey(name: 'documents') - List? documents}); + MeasurementAdditionalDetail? additionalDetail, + @JsonKey(name: 'measures') List? measures, + @JsonKey(name: 'documents') List? documents}); $WorkFlowCopyWith<$Res>? get workflow; $AuditDetailsCopyWith<$Res>? get auditDetails; @@ -1990,40 +1933,28 @@ class _$MeasurementCopyWithImpl<$Res, $Val extends Measurement> } /// @nodoc -abstract class _$$_MeasurementCopyWith<$Res> +abstract class _$$MeasurementImplCopyWith<$Res> implements $MeasurementCopyWith<$Res> { - factory _$$_MeasurementCopyWith( - _$_Measurement value, $Res Function(_$_Measurement) then) = - __$$_MeasurementCopyWithImpl<$Res>; + factory _$$MeasurementImplCopyWith( + _$MeasurementImpl value, $Res Function(_$MeasurementImpl) then) = + __$$MeasurementImplCopyWithImpl<$Res>; @override @useResult $Res call( - {@JsonKey(name: 'id') - String? id, - @JsonKey(name: 'tenantId') - String? tenantId, - @JsonKey(name: 'measurementNumber') - String? measurementNumber, - @JsonKey(name: 'physicalRefNumber') - String? physicalRefNumber, - @JsonKey(name: 'referenceId') - String? referenceId, - @JsonKey(name: 'entryDate') - int? entryDate, - @JsonKey(name: 'isActive') - bool? isActive, - @JsonKey(name: 'wfStatus') - String? wfStatus, - @JsonKey(name: 'workflow') - WorkFlow? workflow, - @JsonKey(name: 'auditDetails') - AuditDetails? auditDetails, + {@JsonKey(name: 'id') String? id, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'measurementNumber') String? measurementNumber, + @JsonKey(name: 'physicalRefNumber') String? physicalRefNumber, + @JsonKey(name: 'referenceId') String? referenceId, + @JsonKey(name: 'entryDate') int? entryDate, + @JsonKey(name: 'isActive') bool? isActive, + @JsonKey(name: 'wfStatus') String? wfStatus, + @JsonKey(name: 'workflow') WorkFlow? workflow, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - MeasurementAdditionalDetail? additionalDetail, - @JsonKey(name: 'measures') - List? measures, - @JsonKey(name: 'documents') - List? documents}); + MeasurementAdditionalDetail? additionalDetail, + @JsonKey(name: 'measures') List? measures, + @JsonKey(name: 'documents') List? documents}); @override $WorkFlowCopyWith<$Res>? get workflow; @@ -2034,11 +1965,11 @@ abstract class _$$_MeasurementCopyWith<$Res> } /// @nodoc -class __$$_MeasurementCopyWithImpl<$Res> - extends _$MeasurementCopyWithImpl<$Res, _$_Measurement> - implements _$$_MeasurementCopyWith<$Res> { - __$$_MeasurementCopyWithImpl( - _$_Measurement _value, $Res Function(_$_Measurement) _then) +class __$$MeasurementImplCopyWithImpl<$Res> + extends _$MeasurementCopyWithImpl<$Res, _$MeasurementImpl> + implements _$$MeasurementImplCopyWith<$Res> { + __$$MeasurementImplCopyWithImpl( + _$MeasurementImpl _value, $Res Function(_$MeasurementImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -2058,7 +1989,7 @@ class __$$_MeasurementCopyWithImpl<$Res> Object? measures = freezed, Object? documents = freezed, }) { - return _then(_$_Measurement( + return _then(_$MeasurementImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -2117,8 +2048,8 @@ class __$$_MeasurementCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_Measurement implements _Measurement { - const _$_Measurement( +class _$MeasurementImpl implements _Measurement { + const _$MeasurementImpl( {@JsonKey(name: 'id') this.id, @JsonKey(name: 'tenantId') this.tenantId, @JsonKey(name: 'measurementNumber') this.measurementNumber, @@ -2135,8 +2066,8 @@ class _$_Measurement implements _Measurement { : _measures = measures, _documents = documents; - factory _$_Measurement.fromJson(Map json) => - _$$_MeasurementFromJson(json); + factory _$MeasurementImpl.fromJson(Map json) => + _$$MeasurementImplFromJson(json); @override @JsonKey(name: 'id') @@ -2199,10 +2130,10 @@ class _$_Measurement implements _Measurement { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Measurement && + other is _$MeasurementImpl && (identical(other.id, id) || other.id == id) && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && @@ -2250,12 +2181,12 @@ class _$_Measurement implements _Measurement { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MeasurementCopyWith<_$_Measurement> get copyWith => - __$$_MeasurementCopyWithImpl<_$_Measurement>(this, _$identity); + _$$MeasurementImplCopyWith<_$MeasurementImpl> get copyWith => + __$$MeasurementImplCopyWithImpl<_$MeasurementImpl>(this, _$identity); @override Map toJson() { - return _$$_MeasurementToJson( + return _$$MeasurementImplToJson( this, ); } @@ -2263,35 +2194,24 @@ class _$_Measurement implements _Measurement { abstract class _Measurement implements Measurement { const factory _Measurement( - {@JsonKey(name: 'id') - final String? id, - @JsonKey(name: 'tenantId') - final String? tenantId, - @JsonKey(name: 'measurementNumber') - final String? measurementNumber, - @JsonKey(name: 'physicalRefNumber') - final String? physicalRefNumber, - @JsonKey(name: 'referenceId') - final String? referenceId, - @JsonKey(name: 'entryDate') - final int? entryDate, - @JsonKey(name: 'isActive') - final bool? isActive, - @JsonKey(name: 'wfStatus') - final String? wfStatus, - @JsonKey(name: 'workflow') - final WorkFlow? workflow, - @JsonKey(name: 'auditDetails') - final AuditDetails? auditDetails, + {@JsonKey(name: 'id') final String? id, + @JsonKey(name: 'tenantId') final String? tenantId, + @JsonKey(name: 'measurementNumber') final String? measurementNumber, + @JsonKey(name: 'physicalRefNumber') final String? physicalRefNumber, + @JsonKey(name: 'referenceId') final String? referenceId, + @JsonKey(name: 'entryDate') final int? entryDate, + @JsonKey(name: 'isActive') final bool? isActive, + @JsonKey(name: 'wfStatus') final String? wfStatus, + @JsonKey(name: 'workflow') final WorkFlow? workflow, + @JsonKey(name: 'auditDetails') final AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - final MeasurementAdditionalDetail? additionalDetail, - @JsonKey(name: 'measures') - final List? measures, + final MeasurementAdditionalDetail? additionalDetail, + @JsonKey(name: 'measures') final List? measures, @JsonKey(name: 'documents') - final List? documents}) = _$_Measurement; + final List? documents}) = _$MeasurementImpl; factory _Measurement.fromJson(Map json) = - _$_Measurement.fromJson; + _$MeasurementImpl.fromJson; @override @JsonKey(name: 'id') @@ -2334,7 +2254,7 @@ abstract class _Measurement implements Measurement { List? get documents; @override @JsonKey(ignore: true) - _$$_MeasurementCopyWith<_$_Measurement> get copyWith => + _$$MeasurementImplCopyWith<_$MeasurementImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2432,12 +2352,12 @@ class _$MeasurementAdditionalDetailCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_MeasurementAdditionalDetailCopyWith<$Res> +abstract class _$$MeasurementAdditionalDetailImplCopyWith<$Res> implements $MeasurementAdditionalDetailCopyWith<$Res> { - factory _$$_MeasurementAdditionalDetailCopyWith( - _$_MeasurementAdditionalDetail value, - $Res Function(_$_MeasurementAdditionalDetail) then) = - __$$_MeasurementAdditionalDetailCopyWithImpl<$Res>; + factory _$$MeasurementAdditionalDetailImplCopyWith( + _$MeasurementAdditionalDetailImpl value, + $Res Function(_$MeasurementAdditionalDetailImpl) then) = + __$$MeasurementAdditionalDetailImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -2450,13 +2370,13 @@ abstract class _$$_MeasurementAdditionalDetailCopyWith<$Res> } /// @nodoc -class __$$_MeasurementAdditionalDetailCopyWithImpl<$Res> +class __$$MeasurementAdditionalDetailImplCopyWithImpl<$Res> extends _$MeasurementAdditionalDetailCopyWithImpl<$Res, - _$_MeasurementAdditionalDetail> - implements _$$_MeasurementAdditionalDetailCopyWith<$Res> { - __$$_MeasurementAdditionalDetailCopyWithImpl( - _$_MeasurementAdditionalDetail _value, - $Res Function(_$_MeasurementAdditionalDetail) _then) + _$MeasurementAdditionalDetailImpl> + implements _$$MeasurementAdditionalDetailImplCopyWith<$Res> { + __$$MeasurementAdditionalDetailImplCopyWithImpl( + _$MeasurementAdditionalDetailImpl _value, + $Res Function(_$MeasurementAdditionalDetailImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -2469,7 +2389,7 @@ class __$$_MeasurementAdditionalDetailCopyWithImpl<$Res> Object? nonSorAmount = freezed, Object? musterRollNumber = freezed, }) { - return _then(_$_MeasurementAdditionalDetail( + return _then(_$MeasurementAdditionalDetailImpl( endDate: freezed == endDate ? _value.endDate : endDate // ignore: cast_nullable_to_non_nullable @@ -2500,8 +2420,9 @@ class __$$_MeasurementAdditionalDetailCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MeasurementAdditionalDetail implements _MeasurementAdditionalDetail { - const _$_MeasurementAdditionalDetail( +class _$MeasurementAdditionalDetailImpl + implements _MeasurementAdditionalDetail { + const _$MeasurementAdditionalDetailImpl( {@JsonKey(name: 'endDate') this.endDate, @JsonKey(name: 'sorAmount') this.sorAmount, @JsonKey(name: 'startDate') this.startDate, @@ -2509,8 +2430,9 @@ class _$_MeasurementAdditionalDetail implements _MeasurementAdditionalDetail { @JsonKey(name: 'nonSorAmount') this.nonSorAmount, @JsonKey(name: 'musterRollNumber') this.musterRollNumber}); - factory _$_MeasurementAdditionalDetail.fromJson(Map json) => - _$$_MeasurementAdditionalDetailFromJson(json); + factory _$MeasurementAdditionalDetailImpl.fromJson( + Map json) => + _$$MeasurementAdditionalDetailImplFromJson(json); @override @JsonKey(name: 'endDate') @@ -2537,10 +2459,10 @@ class _$_MeasurementAdditionalDetail implements _MeasurementAdditionalDetail { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MeasurementAdditionalDetail && + other is _$MeasurementAdditionalDetailImpl && (identical(other.endDate, endDate) || other.endDate == endDate) && (identical(other.sorAmount, sorAmount) || other.sorAmount == sorAmount) && @@ -2568,13 +2490,13 @@ class _$_MeasurementAdditionalDetail implements _MeasurementAdditionalDetail { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MeasurementAdditionalDetailCopyWith<_$_MeasurementAdditionalDetail> - get copyWith => __$$_MeasurementAdditionalDetailCopyWithImpl< - _$_MeasurementAdditionalDetail>(this, _$identity); + _$$MeasurementAdditionalDetailImplCopyWith<_$MeasurementAdditionalDetailImpl> + get copyWith => __$$MeasurementAdditionalDetailImplCopyWithImpl< + _$MeasurementAdditionalDetailImpl>(this, _$identity); @override Map toJson() { - return _$$_MeasurementAdditionalDetailToJson( + return _$$MeasurementAdditionalDetailImplToJson( this, ); } @@ -2589,10 +2511,10 @@ abstract class _MeasurementAdditionalDetail @JsonKey(name: 'totalAmount') final double? totalAmount, @JsonKey(name: 'nonSorAmount') final double? nonSorAmount, @JsonKey(name: 'musterRollNumber') final dynamic musterRollNumber}) = - _$_MeasurementAdditionalDetail; + _$MeasurementAdditionalDetailImpl; factory _MeasurementAdditionalDetail.fromJson(Map json) = - _$_MeasurementAdditionalDetail.fromJson; + _$MeasurementAdditionalDetailImpl.fromJson; @override @JsonKey(name: 'endDate') @@ -2614,7 +2536,7 @@ abstract class _MeasurementAdditionalDetail dynamic get musterRollNumber; @override @JsonKey(ignore: true) - _$$_MeasurementAdditionalDetailCopyWith<_$_MeasurementAdditionalDetail> + _$$MeasurementAdditionalDetailImplCopyWith<_$MeasurementAdditionalDetailImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2690,9 +2612,10 @@ class _$PeriodCopyWithImpl<$Res, $Val extends Period> } /// @nodoc -abstract class _$$_PeriodCopyWith<$Res> implements $PeriodCopyWith<$Res> { - factory _$$_PeriodCopyWith(_$_Period value, $Res Function(_$_Period) then) = - __$$_PeriodCopyWithImpl<$Res>; +abstract class _$$PeriodImplCopyWith<$Res> implements $PeriodCopyWith<$Res> { + factory _$$PeriodImplCopyWith( + _$PeriodImpl value, $Res Function(_$PeriodImpl) then) = + __$$PeriodImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -2703,10 +2626,11 @@ abstract class _$$_PeriodCopyWith<$Res> implements $PeriodCopyWith<$Res> { } /// @nodoc -class __$$_PeriodCopyWithImpl<$Res> - extends _$PeriodCopyWithImpl<$Res, _$_Period> - implements _$$_PeriodCopyWith<$Res> { - __$$_PeriodCopyWithImpl(_$_Period _value, $Res Function(_$_Period) _then) +class __$$PeriodImplCopyWithImpl<$Res> + extends _$PeriodCopyWithImpl<$Res, _$PeriodImpl> + implements _$$PeriodImplCopyWith<$Res> { + __$$PeriodImplCopyWithImpl( + _$PeriodImpl _value, $Res Function(_$PeriodImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -2717,7 +2641,7 @@ class __$$_PeriodCopyWithImpl<$Res> Object? message = freezed, Object? type = freezed, }) { - return _then(_$_Period( + return _then(_$PeriodImpl( startDate: freezed == startDate ? _value.startDate : startDate // ignore: cast_nullable_to_non_nullable @@ -2740,15 +2664,15 @@ class __$$_PeriodCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_Period implements _Period { - const _$_Period( +class _$PeriodImpl implements _Period { + const _$PeriodImpl( {@JsonKey(name: 'startDate') this.startDate, @JsonKey(name: 'endDate') this.endDate, @JsonKey(name: 'message') this.message, @JsonKey(name: 'type') this.type}); - factory _$_Period.fromJson(Map json) => - _$$_PeriodFromJson(json); + factory _$PeriodImpl.fromJson(Map json) => + _$$PeriodImplFromJson(json); @override @JsonKey(name: 'startDate') @@ -2769,10 +2693,10 @@ class _$_Period implements _Period { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Period && + other is _$PeriodImpl && (identical(other.startDate, startDate) || other.startDate == startDate) && (identical(other.endDate, endDate) || other.endDate == endDate) && @@ -2788,12 +2712,12 @@ class _$_Period implements _Period { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_PeriodCopyWith<_$_Period> get copyWith => - __$$_PeriodCopyWithImpl<_$_Period>(this, _$identity); + _$$PeriodImplCopyWith<_$PeriodImpl> get copyWith => + __$$PeriodImplCopyWithImpl<_$PeriodImpl>(this, _$identity); @override Map toJson() { - return _$$_PeriodToJson( + return _$$PeriodImplToJson( this, ); } @@ -2804,9 +2728,9 @@ abstract class _Period implements Period { {@JsonKey(name: 'startDate') final int? startDate, @JsonKey(name: 'endDate') final int? endDate, @JsonKey(name: 'message') final String? message, - @JsonKey(name: 'type') final String? type}) = _$_Period; + @JsonKey(name: 'type') final String? type}) = _$PeriodImpl; - factory _Period.fromJson(Map json) = _$_Period.fromJson; + factory _Period.fromJson(Map json) = _$PeriodImpl.fromJson; @override @JsonKey(name: 'startDate') @@ -2822,7 +2746,7 @@ abstract class _Period implements Period { String? get type; @override @JsonKey(ignore: true) - _$$_PeriodCopyWith<_$_Period> get copyWith => + _$$PeriodImplCopyWith<_$PeriodImpl> get copyWith => throw _privateConstructorUsedError; } @@ -3039,10 +2963,11 @@ class _$EstimateCopyWithImpl<$Res, $Val extends Estimate> } /// @nodoc -abstract class _$$_EstimateCopyWith<$Res> implements $EstimateCopyWith<$Res> { - factory _$$_EstimateCopyWith( - _$_Estimate value, $Res Function(_$_Estimate) then) = - __$$_EstimateCopyWithImpl<$Res>; +abstract class _$$EstimateImplCopyWith<$Res> + implements $EstimateCopyWith<$Res> { + factory _$$EstimateImplCopyWith( + _$EstimateImpl value, $Res Function(_$EstimateImpl) then) = + __$$EstimateImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -3072,11 +2997,11 @@ abstract class _$$_EstimateCopyWith<$Res> implements $EstimateCopyWith<$Res> { } /// @nodoc -class __$$_EstimateCopyWithImpl<$Res> - extends _$EstimateCopyWithImpl<$Res, _$_Estimate> - implements _$$_EstimateCopyWith<$Res> { - __$$_EstimateCopyWithImpl( - _$_Estimate _value, $Res Function(_$_Estimate) _then) +class __$$EstimateImplCopyWithImpl<$Res> + extends _$EstimateCopyWithImpl<$Res, _$EstimateImpl> + implements _$$EstimateImplCopyWith<$Res> { + __$$EstimateImplCopyWithImpl( + _$EstimateImpl _value, $Res Function(_$EstimateImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -3101,7 +3026,7 @@ class __$$_EstimateCopyWithImpl<$Res> Object? estimateDetails = freezed, Object? auditDetails = freezed, }) { - return _then(_$_Estimate( + return _then(_$EstimateImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -3180,48 +3105,31 @@ class __$$_EstimateCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_Estimate implements _Estimate { - const _$_Estimate( - {@JsonKey(name: 'id') - this.id, - @JsonKey(name: 'tenantId') - this.tenantId, - @JsonKey(name: 'estimateNumber') - this.estimateNumber, - @JsonKey(name: 'revisionNumber') - this.revisionNumber, - @JsonKey(name: 'businessService') - this.businessService, - @JsonKey(name: 'oldUuid') - this.oldUuid, - @JsonKey(name: 'projectId') - this.projectId, - @JsonKey(name: 'versionNumber') - this.versionNumber, - @JsonKey(name: 'proposalDate') - this.proposalDate, - @JsonKey(name: 'status') - this.status, - @JsonKey(name: 'wfStatus') - this.wfStatus, - @JsonKey(name: 'name') - this.name, - @JsonKey(name: 'referenceNumber') - this.referenceNumber, - @JsonKey(name: 'description') - this.description, - @JsonKey(name: 'executingDepartment') - this.executingDepartment, - @JsonKey(name: 'address') - this.address, +class _$EstimateImpl implements _Estimate { + const _$EstimateImpl( + {@JsonKey(name: 'id') this.id, + @JsonKey(name: 'tenantId') this.tenantId, + @JsonKey(name: 'estimateNumber') this.estimateNumber, + @JsonKey(name: 'revisionNumber') this.revisionNumber, + @JsonKey(name: 'businessService') this.businessService, + @JsonKey(name: 'oldUuid') this.oldUuid, + @JsonKey(name: 'projectId') this.projectId, + @JsonKey(name: 'versionNumber') this.versionNumber, + @JsonKey(name: 'proposalDate') this.proposalDate, + @JsonKey(name: 'status') this.status, + @JsonKey(name: 'wfStatus') this.wfStatus, + @JsonKey(name: 'name') this.name, + @JsonKey(name: 'referenceNumber') this.referenceNumber, + @JsonKey(name: 'description') this.description, + @JsonKey(name: 'executingDepartment') this.executingDepartment, + @JsonKey(name: 'address') this.address, @JsonKey(name: 'estimateDetails') - final List? estimateDetails, - @JsonKey(name: 'auditDetails') - this.auditDetails}) + final List? estimateDetails, + @JsonKey(name: 'auditDetails') this.auditDetails}) : _estimateDetails = estimateDetails; - factory _$_Estimate.fromJson(Map json) => - _$$_EstimateFromJson(json); + factory _$EstimateImpl.fromJson(Map json) => + _$$EstimateImplFromJson(json); @override @JsonKey(name: 'id') @@ -3292,10 +3200,10 @@ class _$_Estimate implements _Estimate { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Estimate && + other is _$EstimateImpl && (identical(other.id, id) || other.id == id) && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && @@ -3355,12 +3263,12 @@ class _$_Estimate implements _Estimate { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_EstimateCopyWith<_$_Estimate> get copyWith => - __$$_EstimateCopyWithImpl<_$_Estimate>(this, _$identity); + _$$EstimateImplCopyWith<_$EstimateImpl> get copyWith => + __$$EstimateImplCopyWithImpl<_$EstimateImpl>(this, _$identity); @override Map toJson() { - return _$$_EstimateToJson( + return _$$EstimateImplToJson( this, ); } @@ -3368,44 +3276,29 @@ class _$_Estimate implements _Estimate { abstract class _Estimate implements Estimate { const factory _Estimate( - {@JsonKey(name: 'id') - final String? id, - @JsonKey(name: 'tenantId') - final String? tenantId, - @JsonKey(name: 'estimateNumber') - final String? estimateNumber, - @JsonKey(name: 'revisionNumber') - final String? revisionNumber, - @JsonKey(name: 'businessService') - final String? businessService, - @JsonKey(name: 'oldUuid') - final String? oldUuid, - @JsonKey(name: 'projectId') - final String? projectId, - @JsonKey(name: 'versionNumber') - final int? versionNumber, - @JsonKey(name: 'proposalDate') - final int? proposalDate, - @JsonKey(name: 'status') - final String? status, - @JsonKey(name: 'wfStatus') - final String? wfStatus, - @JsonKey(name: 'name') - final String? name, - @JsonKey(name: 'referenceNumber') - final String? referenceNumber, - @JsonKey(name: 'description') - final String? description, - @JsonKey(name: 'executingDepartment') - final String? executingDepartment, - @JsonKey(name: 'address') - final EstimateAddress? address, + {@JsonKey(name: 'id') final String? id, + @JsonKey(name: 'tenantId') final String? tenantId, + @JsonKey(name: 'estimateNumber') final String? estimateNumber, + @JsonKey(name: 'revisionNumber') final String? revisionNumber, + @JsonKey(name: 'businessService') final String? businessService, + @JsonKey(name: 'oldUuid') final String? oldUuid, + @JsonKey(name: 'projectId') final String? projectId, + @JsonKey(name: 'versionNumber') final int? versionNumber, + @JsonKey(name: 'proposalDate') final int? proposalDate, + @JsonKey(name: 'status') final String? status, + @JsonKey(name: 'wfStatus') final String? wfStatus, + @JsonKey(name: 'name') final String? name, + @JsonKey(name: 'referenceNumber') final String? referenceNumber, + @JsonKey(name: 'description') final String? description, + @JsonKey(name: 'executingDepartment') final String? executingDepartment, + @JsonKey(name: 'address') final EstimateAddress? address, @JsonKey(name: 'estimateDetails') - final List? estimateDetails, + final List? estimateDetails, @JsonKey(name: 'auditDetails') - final AuditDetails? auditDetails}) = _$_Estimate; + final AuditDetails? auditDetails}) = _$EstimateImpl; - factory _Estimate.fromJson(Map json) = _$_Estimate.fromJson; + factory _Estimate.fromJson(Map json) = + _$EstimateImpl.fromJson; @override @JsonKey(name: 'id') @@ -3463,7 +3356,7 @@ abstract class _Estimate implements Estimate { AuditDetails? get auditDetails; @override @JsonKey(ignore: true) - _$$_EstimateCopyWith<_$_Estimate> get copyWith => + _$$EstimateImplCopyWith<_$EstimateImpl> get copyWith => throw _privateConstructorUsedError; } @@ -3645,11 +3538,11 @@ class _$EstimateDetailCopyWithImpl<$Res, $Val extends EstimateDetail> } /// @nodoc -abstract class _$$_EstimateDetailCopyWith<$Res> +abstract class _$$EstimateDetailImplCopyWith<$Res> implements $EstimateDetailCopyWith<$Res> { - factory _$$_EstimateDetailCopyWith( - _$_EstimateDetail value, $Res Function(_$_EstimateDetail) then) = - __$$_EstimateDetailCopyWithImpl<$Res>; + factory _$$EstimateDetailImplCopyWith(_$EstimateDetailImpl value, + $Res Function(_$EstimateDetailImpl) then) = + __$$EstimateDetailImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -3673,11 +3566,11 @@ abstract class _$$_EstimateDetailCopyWith<$Res> } /// @nodoc -class __$$_EstimateDetailCopyWithImpl<$Res> - extends _$EstimateDetailCopyWithImpl<$Res, _$_EstimateDetail> - implements _$$_EstimateDetailCopyWith<$Res> { - __$$_EstimateDetailCopyWithImpl( - _$_EstimateDetail _value, $Res Function(_$_EstimateDetail) _then) +class __$$EstimateDetailImplCopyWithImpl<$Res> + extends _$EstimateDetailCopyWithImpl<$Res, _$EstimateDetailImpl> + implements _$$EstimateDetailImplCopyWith<$Res> { + __$$EstimateDetailImplCopyWithImpl( + _$EstimateDetailImpl _value, $Res Function(_$EstimateDetailImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -3701,7 +3594,7 @@ class __$$_EstimateDetailCopyWithImpl<$Res> Object? isActive = freezed, Object? amountDetails = freezed, }) { - return _then(_$_EstimateDetail( + return _then(_$EstimateDetailImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -3776,8 +3669,8 @@ class __$$_EstimateDetailCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_EstimateDetail implements _EstimateDetail { - const _$_EstimateDetail( +class _$EstimateDetailImpl implements _EstimateDetail { + const _$EstimateDetailImpl( {@JsonKey(name: 'id') this.id, @JsonKey(name: 'previousLineItemId') this.previousLineItemId, @JsonKey(name: 'sorId') this.sorId, @@ -3797,8 +3690,8 @@ class _$_EstimateDetail implements _EstimateDetail { @JsonKey(name: 'amountDetail') final List? amountDetails}) : _amountDetails = amountDetails; - factory _$_EstimateDetail.fromJson(Map json) => - _$$_EstimateDetailFromJson(json); + factory _$EstimateDetailImpl.fromJson(Map json) => + _$$EstimateDetailImplFromJson(json); @override @JsonKey(name: 'id') @@ -3865,10 +3758,10 @@ class _$_EstimateDetail implements _EstimateDetail { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_EstimateDetail && + other is _$EstimateDetailImpl && (identical(other.id, id) || other.id == id) && (identical(other.previousLineItemId, previousLineItemId) || other.previousLineItemId == previousLineItemId) && @@ -3923,12 +3816,13 @@ class _$_EstimateDetail implements _EstimateDetail { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_EstimateDetailCopyWith<_$_EstimateDetail> get copyWith => - __$$_EstimateDetailCopyWithImpl<_$_EstimateDetail>(this, _$identity); + _$$EstimateDetailImplCopyWith<_$EstimateDetailImpl> get copyWith => + __$$EstimateDetailImplCopyWithImpl<_$EstimateDetailImpl>( + this, _$identity); @override Map toJson() { - return _$$_EstimateDetailToJson( + return _$$EstimateDetailImplToJson( this, ); } @@ -3936,43 +3830,27 @@ class _$_EstimateDetail implements _EstimateDetail { abstract class _EstimateDetail implements EstimateDetail { const factory _EstimateDetail( - {@JsonKey(name: 'id') - final String? id, - @JsonKey(name: 'previousLineItemId') - final String? previousLineItemId, - @JsonKey(name: 'sorId') - final String? sorId, - @JsonKey(name: 'category') - final String? category, - @JsonKey(name: 'name') - final String? name, - @JsonKey(name: 'description') - final String? description, - @JsonKey(name: 'unitRate') - final double? unitRate, - @JsonKey(name: 'noOfunit') - final num? noOfunit, - @JsonKey(name: 'uom') - final String? uom, - @JsonKey(name: 'uomValue') - final double? uomValue, - @JsonKey(name: 'length') - final num? length, - @JsonKey(name: 'width') - final num? width, - @JsonKey(name: 'height') - final num? height, - @JsonKey(name: 'quantity') - final num? quantity, - @JsonKey(name: 'isDeduction') - final bool? isDeduction, - @JsonKey(name: 'isActive') - final bool? isActive, + {@JsonKey(name: 'id') final String? id, + @JsonKey(name: 'previousLineItemId') final String? previousLineItemId, + @JsonKey(name: 'sorId') final String? sorId, + @JsonKey(name: 'category') final String? category, + @JsonKey(name: 'name') final String? name, + @JsonKey(name: 'description') final String? description, + @JsonKey(name: 'unitRate') final double? unitRate, + @JsonKey(name: 'noOfunit') final num? noOfunit, + @JsonKey(name: 'uom') final String? uom, + @JsonKey(name: 'uomValue') final double? uomValue, + @JsonKey(name: 'length') final num? length, + @JsonKey(name: 'width') final num? width, + @JsonKey(name: 'height') final num? height, + @JsonKey(name: 'quantity') final num? quantity, + @JsonKey(name: 'isDeduction') final bool? isDeduction, + @JsonKey(name: 'isActive') final bool? isActive, @JsonKey(name: 'amountDetail') - final List? amountDetails}) = _$_EstimateDetail; + final List? amountDetails}) = _$EstimateDetailImpl; factory _EstimateDetail.fromJson(Map json) = - _$_EstimateDetail.fromJson; + _$EstimateDetailImpl.fromJson; @override @JsonKey(name: 'id') @@ -4027,7 +3905,7 @@ abstract class _EstimateDetail implements EstimateDetail { List? get amountDetails; @override @JsonKey(ignore: true) - _$$_EstimateDetailCopyWith<_$_EstimateDetail> get copyWith => + _$$EstimateDetailImplCopyWith<_$EstimateDetailImpl> get copyWith => throw _privateConstructorUsedError; } @@ -4105,11 +3983,11 @@ class _$AmoutDetailCopyWithImpl<$Res, $Val extends AmoutDetail> } /// @nodoc -abstract class _$$_AmoutDetailCopyWith<$Res> +abstract class _$$AmoutDetailImplCopyWith<$Res> implements $AmoutDetailCopyWith<$Res> { - factory _$$_AmoutDetailCopyWith( - _$_AmoutDetail value, $Res Function(_$_AmoutDetail) then) = - __$$_AmoutDetailCopyWithImpl<$Res>; + factory _$$AmoutDetailImplCopyWith( + _$AmoutDetailImpl value, $Res Function(_$AmoutDetailImpl) then) = + __$$AmoutDetailImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -4120,11 +3998,11 @@ abstract class _$$_AmoutDetailCopyWith<$Res> } /// @nodoc -class __$$_AmoutDetailCopyWithImpl<$Res> - extends _$AmoutDetailCopyWithImpl<$Res, _$_AmoutDetail> - implements _$$_AmoutDetailCopyWith<$Res> { - __$$_AmoutDetailCopyWithImpl( - _$_AmoutDetail _value, $Res Function(_$_AmoutDetail) _then) +class __$$AmoutDetailImplCopyWithImpl<$Res> + extends _$AmoutDetailCopyWithImpl<$Res, _$AmoutDetailImpl> + implements _$$AmoutDetailImplCopyWith<$Res> { + __$$AmoutDetailImplCopyWithImpl( + _$AmoutDetailImpl _value, $Res Function(_$AmoutDetailImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -4135,7 +4013,7 @@ class __$$_AmoutDetailCopyWithImpl<$Res> Object? id = freezed, Object? isActive = freezed, }) { - return _then(_$_AmoutDetail( + return _then(_$AmoutDetailImpl( type: freezed == type ? _value.type : type // ignore: cast_nullable_to_non_nullable @@ -4158,15 +4036,15 @@ class __$$_AmoutDetailCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AmoutDetail implements _AmoutDetail { - const _$_AmoutDetail( +class _$AmoutDetailImpl implements _AmoutDetail { + const _$AmoutDetailImpl( {@JsonKey(name: 'type') this.type, @JsonKey(name: 'amount') this.amount, @JsonKey(name: 'id') this.id, @JsonKey(name: 'isActive') this.isActive}); - factory _$_AmoutDetail.fromJson(Map json) => - _$$_AmoutDetailFromJson(json); + factory _$AmoutDetailImpl.fromJson(Map json) => + _$$AmoutDetailImplFromJson(json); @override @JsonKey(name: 'type') @@ -4187,10 +4065,10 @@ class _$_AmoutDetail implements _AmoutDetail { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AmoutDetail && + other is _$AmoutDetailImpl && (identical(other.type, type) || other.type == type) && (identical(other.amount, amount) || other.amount == amount) && (identical(other.id, id) || other.id == id) && @@ -4205,12 +4083,12 @@ class _$_AmoutDetail implements _AmoutDetail { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AmoutDetailCopyWith<_$_AmoutDetail> get copyWith => - __$$_AmoutDetailCopyWithImpl<_$_AmoutDetail>(this, _$identity); + _$$AmoutDetailImplCopyWith<_$AmoutDetailImpl> get copyWith => + __$$AmoutDetailImplCopyWithImpl<_$AmoutDetailImpl>(this, _$identity); @override Map toJson() { - return _$$_AmoutDetailToJson( + return _$$AmoutDetailImplToJson( this, ); } @@ -4221,10 +4099,10 @@ abstract class _AmoutDetail implements AmoutDetail { {@JsonKey(name: 'type') final String? type, @JsonKey(name: 'amount') final double? amount, @JsonKey(name: 'id') final String? id, - @JsonKey(name: 'isActive') final bool? isActive}) = _$_AmoutDetail; + @JsonKey(name: 'isActive') final bool? isActive}) = _$AmoutDetailImpl; factory _AmoutDetail.fromJson(Map json) = - _$_AmoutDetail.fromJson; + _$AmoutDetailImpl.fromJson; @override @JsonKey(name: 'type') @@ -4240,7 +4118,7 @@ abstract class _AmoutDetail implements AmoutDetail { bool? get isActive; @override @JsonKey(ignore: true) - _$$_AmoutDetailCopyWith<_$_AmoutDetail> get copyWith => + _$$AmoutDetailImplCopyWith<_$AmoutDetailImpl> get copyWith => throw _privateConstructorUsedError; } @@ -4382,11 +4260,11 @@ class _$EstimateAddressCopyWithImpl<$Res, $Val extends EstimateAddress> } /// @nodoc -abstract class _$$_EstimateAddressCopyWith<$Res> +abstract class _$$EstimateAddressImplCopyWith<$Res> implements $EstimateAddressCopyWith<$Res> { - factory _$$_EstimateAddressCopyWith( - _$_EstimateAddress value, $Res Function(_$_EstimateAddress) then) = - __$$_EstimateAddressCopyWithImpl<$Res>; + factory _$$EstimateAddressImplCopyWith(_$EstimateAddressImpl value, + $Res Function(_$EstimateAddressImpl) then) = + __$$EstimateAddressImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -4405,11 +4283,11 @@ abstract class _$$_EstimateAddressCopyWith<$Res> } /// @nodoc -class __$$_EstimateAddressCopyWithImpl<$Res> - extends _$EstimateAddressCopyWithImpl<$Res, _$_EstimateAddress> - implements _$$_EstimateAddressCopyWith<$Res> { - __$$_EstimateAddressCopyWithImpl( - _$_EstimateAddress _value, $Res Function(_$_EstimateAddress) _then) +class __$$EstimateAddressImplCopyWithImpl<$Res> + extends _$EstimateAddressCopyWithImpl<$Res, _$EstimateAddressImpl> + implements _$$EstimateAddressImplCopyWith<$Res> { + __$$EstimateAddressImplCopyWithImpl( + _$EstimateAddressImpl _value, $Res Function(_$EstimateAddressImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -4428,7 +4306,7 @@ class __$$_EstimateAddressCopyWithImpl<$Res> Object? landmark = freezed, Object? city = freezed, }) { - return _then(_$_EstimateAddress( + return _then(_$EstimateAddressImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -4483,8 +4361,8 @@ class __$$_EstimateAddressCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_EstimateAddress implements _EstimateAddress { - const _$_EstimateAddress( +class _$EstimateAddressImpl implements _EstimateAddress { + const _$EstimateAddressImpl( {@JsonKey(name: 'id') this.id, @JsonKey(name: 'tenantId') this.tenantId, @JsonKey(name: 'doorNo') this.doorNo, @@ -4498,8 +4376,8 @@ class _$_EstimateAddress implements _EstimateAddress { @JsonKey(name: 'landmark') this.landmark, @JsonKey(name: 'city') this.city}); - factory _$_EstimateAddress.fromJson(Map json) => - _$$_EstimateAddressFromJson(json); + factory _$EstimateAddressImpl.fromJson(Map json) => + _$$EstimateAddressImplFromJson(json); @override @JsonKey(name: 'id') @@ -4544,10 +4422,10 @@ class _$_EstimateAddress implements _EstimateAddress { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_EstimateAddress && + other is _$EstimateAddressImpl && (identical(other.id, id) || other.id == id) && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && @@ -4590,12 +4468,13 @@ class _$_EstimateAddress implements _EstimateAddress { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_EstimateAddressCopyWith<_$_EstimateAddress> get copyWith => - __$$_EstimateAddressCopyWithImpl<_$_EstimateAddress>(this, _$identity); + _$$EstimateAddressImplCopyWith<_$EstimateAddressImpl> get copyWith => + __$$EstimateAddressImplCopyWithImpl<_$EstimateAddressImpl>( + this, _$identity); @override Map toJson() { - return _$$_EstimateAddressToJson( + return _$$EstimateAddressImplToJson( this, ); } @@ -4614,10 +4493,10 @@ abstract class _EstimateAddress implements EstimateAddress { @JsonKey(name: 'addressLine1') final String? addressLine1, @JsonKey(name: 'addressLine2') final String? addressLine2, @JsonKey(name: 'landmark') final String? landmark, - @JsonKey(name: 'city') final String? city}) = _$_EstimateAddress; + @JsonKey(name: 'city') final String? city}) = _$EstimateAddressImpl; factory _EstimateAddress.fromJson(Map json) = - _$_EstimateAddress.fromJson; + _$EstimateAddressImpl.fromJson; @override @JsonKey(name: 'id') @@ -4657,7 +4536,7 @@ abstract class _EstimateAddress implements EstimateAddress { String? get city; @override @JsonKey(ignore: true) - _$$_EstimateAddressCopyWith<_$_EstimateAddress> get copyWith => + _$$EstimateAddressImplCopyWith<_$EstimateAddressImpl> get copyWith => throw _privateConstructorUsedError; } @@ -4724,10 +4603,11 @@ class _$SorObjectCopyWithImpl<$Res, $Val extends SorObject> } /// @nodoc -abstract class _$$_SorObjectCopyWith<$Res> implements $SorObjectCopyWith<$Res> { - factory _$$_SorObjectCopyWith( - _$_SorObject value, $Res Function(_$_SorObject) then) = - __$$_SorObjectCopyWithImpl<$Res>; +abstract class _$$SorObjectImplCopyWith<$Res> + implements $SorObjectCopyWith<$Res> { + factory _$$SorObjectImplCopyWith( + _$SorObjectImpl value, $Res Function(_$SorObjectImpl) then) = + __$$SorObjectImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -4737,11 +4617,11 @@ abstract class _$$_SorObjectCopyWith<$Res> implements $SorObjectCopyWith<$Res> { } /// @nodoc -class __$$_SorObjectCopyWithImpl<$Res> - extends _$SorObjectCopyWithImpl<$Res, _$_SorObject> - implements _$$_SorObjectCopyWith<$Res> { - __$$_SorObjectCopyWithImpl( - _$_SorObject _value, $Res Function(_$_SorObject) _then) +class __$$SorObjectImplCopyWithImpl<$Res> + extends _$SorObjectCopyWithImpl<$Res, _$SorObjectImpl> + implements _$$SorObjectImplCopyWith<$Res> { + __$$SorObjectImplCopyWithImpl( + _$SorObjectImpl _value, $Res Function(_$SorObjectImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -4751,7 +4631,7 @@ class __$$_SorObjectCopyWithImpl<$Res> Object? id = freezed, Object? filteredMeasurementsMeasure = null, }) { - return _then(_$_SorObject( + return _then(_$SorObjectImpl( sorId: freezed == sorId ? _value.sorId : sorId // ignore: cast_nullable_to_non_nullable @@ -4770,16 +4650,16 @@ class __$$_SorObjectCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_SorObject implements _SorObject { - const _$_SorObject( +class _$SorObjectImpl implements _SorObject { + const _$SorObjectImpl( {this.sorId, this.id, final List filteredMeasurementsMeasure = const []}) : _filteredMeasurementsMeasure = filteredMeasurementsMeasure; - factory _$_SorObject.fromJson(Map json) => - _$$_SorObjectFromJson(json); + factory _$SorObjectImpl.fromJson(Map json) => + _$$SorObjectImplFromJson(json); @override final String? sorId; @@ -4801,10 +4681,10 @@ class _$_SorObject implements _SorObject { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_SorObject && + other is _$SorObjectImpl && (identical(other.sorId, sorId) || other.sorId == sorId) && (identical(other.id, id) || other.id == id) && const DeepCollectionEquality().equals( @@ -4820,12 +4700,12 @@ class _$_SorObject implements _SorObject { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_SorObjectCopyWith<_$_SorObject> get copyWith => - __$$_SorObjectCopyWithImpl<_$_SorObject>(this, _$identity); + _$$SorObjectImplCopyWith<_$SorObjectImpl> get copyWith => + __$$SorObjectImplCopyWithImpl<_$SorObjectImpl>(this, _$identity); @override Map toJson() { - return _$$_SorObjectToJson( + return _$$SorObjectImplToJson( this, ); } @@ -4836,10 +4716,10 @@ abstract class _SorObject implements SorObject { {final String? sorId, final String? id, final List - filteredMeasurementsMeasure}) = _$_SorObject; + filteredMeasurementsMeasure}) = _$SorObjectImpl; factory _SorObject.fromJson(Map json) = - _$_SorObject.fromJson; + _$SorObjectImpl.fromJson; @override String? get sorId; @@ -4849,6 +4729,6 @@ abstract class _SorObject implements SorObject { List get filteredMeasurementsMeasure; @override @JsonKey(ignore: true) - _$$_SorObjectCopyWith<_$_SorObject> get copyWith => + _$$SorObjectImplCopyWith<_$SorObjectImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.g.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.g.dart index 73ba1ed497..4938b65696 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.g.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.g.dart @@ -6,8 +6,9 @@ part of 'mb_detail_response.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_MBDetailResponse _$$_MBDetailResponseFromJson(Map json) => - _$_MBDetailResponse( +_$MBDetailResponseImpl _$$MBDetailResponseImplFromJson( + Map json) => + _$MBDetailResponseImpl( contract: json['contract'] == null ? null : Contract.fromJson(json['contract'] as Map), @@ -24,7 +25,8 @@ _$_MBDetailResponse _$$_MBDetailResponseFromJson(Map json) => musterRolls: json['musterRolls'], ); -Map _$$_MBDetailResponseToJson(_$_MBDetailResponse instance) => +Map _$$MBDetailResponseImplToJson( + _$MBDetailResponseImpl instance) => { 'contract': instance.contract, 'estimate': instance.estimate, @@ -34,7 +36,8 @@ Map _$$_MBDetailResponseToJson(_$_MBDetailResponse instance) => 'musterRolls': instance.musterRolls, }; -_$_WorkFlow _$$_WorkFlowFromJson(Map json) => _$_WorkFlow( +_$WorkFlowImpl _$$WorkFlowImplFromJson(Map json) => + _$WorkFlowImpl( action: json['action'] as String?, comment: json['comment'] as String?, assignees: (json['assignees'] as List?) @@ -46,7 +49,7 @@ _$_WorkFlow _$$_WorkFlowFromJson(Map json) => _$_WorkFlow( .toList(), ); -Map _$$_WorkFlowToJson(_$_WorkFlow instance) => +Map _$$WorkFlowImplToJson(_$WorkFlowImpl instance) => { 'action': instance.action, 'comment': instance.comment, @@ -54,9 +57,9 @@ Map _$$_WorkFlowToJson(_$_WorkFlow instance) => 'documents': instance.documents, }; -_$_WorkFlowSupportDocument _$$_WorkFlowSupportDocumentFromJson( +_$WorkFlowSupportDocumentImpl _$$WorkFlowSupportDocumentImplFromJson( Map json) => - _$_WorkFlowSupportDocument( + _$WorkFlowSupportDocumentImpl( documentType: json['documentType'] as String?, documentUid: json['documentUid'] as String?, fileName: json['fileName'] as String?, @@ -64,8 +67,8 @@ _$_WorkFlowSupportDocument _$$_WorkFlowSupportDocumentFromJson( tenantId: json['tenantId'] as String?, ); -Map _$$_WorkFlowSupportDocumentToJson( - _$_WorkFlowSupportDocument instance) => +Map _$$WorkFlowSupportDocumentImplToJson( + _$WorkFlowSupportDocumentImpl instance) => { 'documentType': instance.documentType, 'documentUid': instance.documentUid, @@ -74,16 +77,16 @@ Map _$$_WorkFlowSupportDocumentToJson( 'tenantId': instance.tenantId, }; -_$_MusterRoll _$$_MusterRollFromJson(Map json) => - _$_MusterRoll( +_$MusterRollImpl _$$MusterRollImplFromJson(Map json) => + _$MusterRollImpl( id: json['id'] as String?, tenantId: json['tenantId'] as String?, musterRollNumber: json['musterRollNumber'], registerId: json['registerId'] as String?, status: json['status'] as String?, musterRollStatus: json['musterRollStatus'] as String?, - startDate: json['startDate'] as int?, - endDate: json['endDate'] as int?, + startDate: (json['startDate'] as num?)?.toInt(), + endDate: (json['endDate'] as num?)?.toInt(), referenceId: json['referenceId'] as String?, serviceCode: json['serviceCode'] as String?, auditDetails: json['auditDetails'] == null @@ -95,7 +98,7 @@ _$_MusterRoll _$$_MusterRollFromJson(Map json) => json['additionalDetails'] as Map), ); -Map _$$_MusterRollToJson(_$_MusterRoll instance) => +Map _$$MusterRollImplToJson(_$MusterRollImpl instance) => { 'id': instance.id, 'tenantId': instance.tenantId, @@ -111,9 +114,9 @@ Map _$$_MusterRollToJson(_$_MusterRoll instance) => 'additionalDetails': instance.additional, }; -_$_MusterRollAdditionalDetails _$$_MusterRollAdditionalDetailsFromJson( +_$MusterRollAdditionalDetailsImpl _$$MusterRollAdditionalDetailsImplFromJson( Map json) => - _$_MusterRollAdditionalDetails( + _$MusterRollAdditionalDetailsImpl( ward: json['ward'] as String?, orgId: json['orgId'] as String?, amount: (json['amount'] as num?)?.toDouble(), @@ -129,8 +132,8 @@ _$_MusterRollAdditionalDetails _$$_MusterRollAdditionalDetailsFromJson( attendanceRegisterName: json['attendanceRegisterName'] as String?, ); -Map _$$_MusterRollAdditionalDetailsToJson( - _$_MusterRollAdditionalDetails instance) => +Map _$$MusterRollAdditionalDetailsImplToJson( + _$MusterRollAdditionalDetailsImpl instance) => { 'ward': instance.ward, 'orgId': instance.orgId, @@ -147,14 +150,14 @@ Map _$$_MusterRollAdditionalDetailsToJson( 'attendanceRegisterName': instance.attendanceRegisterName, }; -_$_Measurement _$$_MeasurementFromJson(Map json) => - _$_Measurement( +_$MeasurementImpl _$$MeasurementImplFromJson(Map json) => + _$MeasurementImpl( id: json['id'] as String?, tenantId: json['tenantId'] as String?, measurementNumber: json['measurementNumber'] as String?, physicalRefNumber: json['physicalRefNumber'] as String?, referenceId: json['referenceId'] as String?, - entryDate: json['entryDate'] as int?, + entryDate: (json['entryDate'] as num?)?.toInt(), isActive: json['isActive'] as bool?, wfStatus: json['wfStatus'] as String?, workflow: json['workflow'] == null @@ -175,7 +178,7 @@ _$_Measurement _$$_MeasurementFromJson(Map json) => .toList(), ); -Map _$$_MeasurementToJson(_$_Measurement instance) => +Map _$$MeasurementImplToJson(_$MeasurementImpl instance) => { 'id': instance.id, 'tenantId': instance.tenantId, @@ -192,19 +195,19 @@ Map _$$_MeasurementToJson(_$_Measurement instance) => 'documents': instance.documents, }; -_$_MeasurementAdditionalDetail _$$_MeasurementAdditionalDetailFromJson( +_$MeasurementAdditionalDetailImpl _$$MeasurementAdditionalDetailImplFromJson( Map json) => - _$_MeasurementAdditionalDetail( - endDate: json['endDate'] as int?, + _$MeasurementAdditionalDetailImpl( + endDate: (json['endDate'] as num?)?.toInt(), sorAmount: (json['sorAmount'] as num?)?.toDouble(), - startDate: json['startDate'] as int?, + startDate: (json['startDate'] as num?)?.toInt(), totalAmount: (json['totalAmount'] as num?)?.toDouble(), nonSorAmount: (json['nonSorAmount'] as num?)?.toDouble(), musterRollNumber: json['musterRollNumber'], ); -Map _$$_MeasurementAdditionalDetailToJson( - _$_MeasurementAdditionalDetail instance) => +Map _$$MeasurementAdditionalDetailImplToJson( + _$MeasurementAdditionalDetailImpl instance) => { 'endDate': instance.endDate, 'sorAmount': instance.sorAmount, @@ -214,21 +217,23 @@ Map _$$_MeasurementAdditionalDetailToJson( 'musterRollNumber': instance.musterRollNumber, }; -_$_Period _$$_PeriodFromJson(Map json) => _$_Period( - startDate: json['startDate'] as int?, - endDate: json['endDate'] as int?, +_$PeriodImpl _$$PeriodImplFromJson(Map json) => _$PeriodImpl( + startDate: (json['startDate'] as num?)?.toInt(), + endDate: (json['endDate'] as num?)?.toInt(), message: json['message'] as String?, type: json['type'] as String?, ); -Map _$$_PeriodToJson(_$_Period instance) => { +Map _$$PeriodImplToJson(_$PeriodImpl instance) => + { 'startDate': instance.startDate, 'endDate': instance.endDate, 'message': instance.message, 'type': instance.type, }; -_$_Estimate _$$_EstimateFromJson(Map json) => _$_Estimate( +_$EstimateImpl _$$EstimateImplFromJson(Map json) => + _$EstimateImpl( id: json['id'] as String?, tenantId: json['tenantId'] as String?, estimateNumber: json['estimateNumber'] as String?, @@ -236,8 +241,8 @@ _$_Estimate _$$_EstimateFromJson(Map json) => _$_Estimate( businessService: json['businessService'] as String?, oldUuid: json['oldUuid'] as String?, projectId: json['projectId'] as String?, - versionNumber: json['versionNumber'] as int?, - proposalDate: json['proposalDate'] as int?, + versionNumber: (json['versionNumber'] as num?)?.toInt(), + proposalDate: (json['proposalDate'] as num?)?.toInt(), status: json['status'] as String?, wfStatus: json['wfStatus'] as String?, name: json['name'] as String?, @@ -255,7 +260,7 @@ _$_Estimate _$$_EstimateFromJson(Map json) => _$_Estimate( : AuditDetails.fromJson(json['auditDetails'] as Map), ); -Map _$$_EstimateToJson(_$_Estimate instance) => +Map _$$EstimateImplToJson(_$EstimateImpl instance) => { 'id': instance.id, 'tenantId': instance.tenantId, @@ -277,8 +282,8 @@ Map _$$_EstimateToJson(_$_Estimate instance) => 'auditDetails': instance.auditDetails, }; -_$_EstimateDetail _$$_EstimateDetailFromJson(Map json) => - _$_EstimateDetail( +_$EstimateDetailImpl _$$EstimateDetailImplFromJson(Map json) => + _$EstimateDetailImpl( id: json['id'] as String?, previousLineItemId: json['previousLineItemId'] as String?, sorId: json['sorId'] as String?, @@ -300,7 +305,8 @@ _$_EstimateDetail _$$_EstimateDetailFromJson(Map json) => .toList(), ); -Map _$$_EstimateDetailToJson(_$_EstimateDetail instance) => +Map _$$EstimateDetailImplToJson( + _$EstimateDetailImpl instance) => { 'id': instance.id, 'previousLineItemId': instance.previousLineItemId, @@ -321,15 +327,15 @@ Map _$$_EstimateDetailToJson(_$_EstimateDetail instance) => 'amountDetail': instance.amountDetails, }; -_$_AmoutDetail _$$_AmoutDetailFromJson(Map json) => - _$_AmoutDetail( +_$AmoutDetailImpl _$$AmoutDetailImplFromJson(Map json) => + _$AmoutDetailImpl( type: json['type'] as String?, amount: (json['amount'] as num?)?.toDouble(), id: json['id'] as String?, isActive: json['isActive'] as bool?, ); -Map _$$_AmoutDetailToJson(_$_AmoutDetail instance) => +Map _$$AmoutDetailImplToJson(_$AmoutDetailImpl instance) => { 'type': instance.type, 'amount': instance.amount, @@ -337,8 +343,9 @@ Map _$$_AmoutDetailToJson(_$_AmoutDetail instance) => 'isActive': instance.isActive, }; -_$_EstimateAddress _$$_EstimateAddressFromJson(Map json) => - _$_EstimateAddress( +_$EstimateAddressImpl _$$EstimateAddressImplFromJson( + Map json) => + _$EstimateAddressImpl( id: json['id'] as String?, tenantId: json['tenantId'] as String?, doorNo: json['doorNo'] as String?, @@ -353,7 +360,8 @@ _$_EstimateAddress _$$_EstimateAddressFromJson(Map json) => city: json['city'] as String?, ); -Map _$$_EstimateAddressToJson(_$_EstimateAddress instance) => +Map _$$EstimateAddressImplToJson( + _$EstimateAddressImpl instance) => { 'id': instance.id, 'tenantId': instance.tenantId, @@ -369,7 +377,8 @@ Map _$$_EstimateAddressToJson(_$_EstimateAddress instance) => 'city': instance.city, }; -_$_SorObject _$$_SorObjectFromJson(Map json) => _$_SorObject( +_$SorObjectImpl _$$SorObjectImplFromJson(Map json) => + _$SorObjectImpl( sorId: json['sorId'] as String?, id: json['id'] as String?, filteredMeasurementsMeasure: @@ -380,7 +389,7 @@ _$_SorObject _$$_SorObjectFromJson(Map json) => _$_SorObject( const [], ); -Map _$$_SorObjectToJson(_$_SorObject instance) => +Map _$$SorObjectImplToJson(_$SorObjectImpl instance) => { 'sorId': instance.sorId, 'id': instance.id, diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.freezed.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.freezed.dart index e4a25dc13d..c90f20a9a2 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.freezed.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.freezed.dart @@ -12,7 +12,7 @@ part of 'mb_inbox_response.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); MBInboxResponse _$MBInboxResponseFromJson(Map json) { return _MBInboxResponse.fromJson(json); @@ -88,11 +88,11 @@ class _$MBInboxResponseCopyWithImpl<$Res, $Val extends MBInboxResponse> } /// @nodoc -abstract class _$$_MBInboxResponseCopyWith<$Res> +abstract class _$$MBInboxResponseImplCopyWith<$Res> implements $MBInboxResponseCopyWith<$Res> { - factory _$$_MBInboxResponseCopyWith( - _$_MBInboxResponse value, $Res Function(_$_MBInboxResponse) then) = - __$$_MBInboxResponseCopyWithImpl<$Res>; + factory _$$MBInboxResponseImplCopyWith(_$MBInboxResponseImpl value, + $Res Function(_$MBInboxResponseImpl) then) = + __$$MBInboxResponseImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -103,11 +103,11 @@ abstract class _$$_MBInboxResponseCopyWith<$Res> } /// @nodoc -class __$$_MBInboxResponseCopyWithImpl<$Res> - extends _$MBInboxResponseCopyWithImpl<$Res, _$_MBInboxResponse> - implements _$$_MBInboxResponseCopyWith<$Res> { - __$$_MBInboxResponseCopyWithImpl( - _$_MBInboxResponse _value, $Res Function(_$_MBInboxResponse) _then) +class __$$MBInboxResponseImplCopyWithImpl<$Res> + extends _$MBInboxResponseCopyWithImpl<$Res, _$MBInboxResponseImpl> + implements _$$MBInboxResponseImplCopyWith<$Res> { + __$$MBInboxResponseImplCopyWithImpl( + _$MBInboxResponseImpl _value, $Res Function(_$MBInboxResponseImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -118,7 +118,7 @@ class __$$_MBInboxResponseCopyWithImpl<$Res> Object? statusMap = freezed, Object? items = freezed, }) { - return _then(_$_MBInboxResponse( + return _then(_$MBInboxResponseImpl( totalCount: freezed == totalCount ? _value.totalCount : totalCount // ignore: cast_nullable_to_non_nullable @@ -141,8 +141,8 @@ class __$$_MBInboxResponseCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MBInboxResponse implements _MBInboxResponse { - const _$_MBInboxResponse( +class _$MBInboxResponseImpl implements _MBInboxResponse { + const _$MBInboxResponseImpl( {@JsonKey(name: 'totalCount') this.totalCount, @JsonKey(name: 'nearingSlaCount') this.nearingSlaCount, @JsonKey(name: 'statusMap') final List? statusMap, @@ -150,8 +150,8 @@ class _$_MBInboxResponse implements _MBInboxResponse { : _statusMap = statusMap, _items = items; - factory _$_MBInboxResponse.fromJson(Map json) => - _$$_MBInboxResponseFromJson(json); + factory _$MBInboxResponseImpl.fromJson(Map json) => + _$$MBInboxResponseImplFromJson(json); @override @JsonKey(name: 'totalCount') @@ -187,10 +187,10 @@ class _$_MBInboxResponse implements _MBInboxResponse { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MBInboxResponse && + other is _$MBInboxResponseImpl && (identical(other.totalCount, totalCount) || other.totalCount == totalCount) && (identical(other.nearingSlaCount, nearingSlaCount) || @@ -212,12 +212,13 @@ class _$_MBInboxResponse implements _MBInboxResponse { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MBInboxResponseCopyWith<_$_MBInboxResponse> get copyWith => - __$$_MBInboxResponseCopyWithImpl<_$_MBInboxResponse>(this, _$identity); + _$$MBInboxResponseImplCopyWith<_$MBInboxResponseImpl> get copyWith => + __$$MBInboxResponseImplCopyWithImpl<_$MBInboxResponseImpl>( + this, _$identity); @override Map toJson() { - return _$$_MBInboxResponseToJson( + return _$$MBInboxResponseImplToJson( this, ); } @@ -229,10 +230,10 @@ abstract class _MBInboxResponse implements MBInboxResponse { @JsonKey(name: 'nearingSlaCount') final int? nearingSlaCount, @JsonKey(name: 'statusMap') final List? statusMap, @JsonKey(name: 'items') final List? items}) = - _$_MBInboxResponse; + _$MBInboxResponseImpl; factory _MBInboxResponse.fromJson(Map json) = - _$_MBInboxResponse.fromJson; + _$MBInboxResponseImpl.fromJson; @override @JsonKey(name: 'totalCount') @@ -248,7 +249,7 @@ abstract class _MBInboxResponse implements MBInboxResponse { List? get items; @override @JsonKey(ignore: true) - _$$_MBInboxResponseCopyWith<_$_MBInboxResponse> get copyWith => + _$$MBInboxResponseImplCopyWith<_$MBInboxResponseImpl> get copyWith => throw _privateConstructorUsedError; } @@ -333,10 +334,11 @@ class _$StatusMapCopyWithImpl<$Res, $Val extends StatusMap> } /// @nodoc -abstract class _$$_StatusMapCopyWith<$Res> implements $StatusMapCopyWith<$Res> { - factory _$$_StatusMapCopyWith( - _$_StatusMap value, $Res Function(_$_StatusMap) then) = - __$$_StatusMapCopyWithImpl<$Res>; +abstract class _$$StatusMapImplCopyWith<$Res> + implements $StatusMapCopyWith<$Res> { + factory _$$StatusMapImplCopyWith( + _$StatusMapImpl value, $Res Function(_$StatusMapImpl) then) = + __$$StatusMapImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -348,11 +350,11 @@ abstract class _$$_StatusMapCopyWith<$Res> implements $StatusMapCopyWith<$Res> { } /// @nodoc -class __$$_StatusMapCopyWithImpl<$Res> - extends _$StatusMapCopyWithImpl<$Res, _$_StatusMap> - implements _$$_StatusMapCopyWith<$Res> { - __$$_StatusMapCopyWithImpl( - _$_StatusMap _value, $Res Function(_$_StatusMap) _then) +class __$$StatusMapImplCopyWithImpl<$Res> + extends _$StatusMapCopyWithImpl<$Res, _$StatusMapImpl> + implements _$$StatusMapImplCopyWith<$Res> { + __$$StatusMapImplCopyWithImpl( + _$StatusMapImpl _value, $Res Function(_$StatusMapImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -364,7 +366,7 @@ class __$$_StatusMapCopyWithImpl<$Res> Object? applicationstatus = freezed, Object? businessservice = freezed, }) { - return _then(_$_StatusMap( + return _then(_$StatusMapImpl( statusid: freezed == statusid ? _value.statusid : statusid // ignore: cast_nullable_to_non_nullable @@ -391,16 +393,16 @@ class __$$_StatusMapCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_StatusMap implements _StatusMap { - const _$_StatusMap( +class _$StatusMapImpl implements _StatusMap { + const _$StatusMapImpl( {@JsonKey(name: 'statusid') this.statusid, @JsonKey(name: 'count') this.count, @JsonKey(name: 'state') this.state, @JsonKey(name: 'applicationstatus') this.applicationstatus, @JsonKey(name: 'businessservice') this.businessservice}); - factory _$_StatusMap.fromJson(Map json) => - _$$_StatusMapFromJson(json); + factory _$StatusMapImpl.fromJson(Map json) => + _$$StatusMapImplFromJson(json); @override @JsonKey(name: 'statusid') @@ -424,10 +426,10 @@ class _$_StatusMap implements _StatusMap { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_StatusMap && + other is _$StatusMapImpl && (identical(other.statusid, statusid) || other.statusid == statusid) && (identical(other.count, count) || other.count == count) && @@ -446,12 +448,12 @@ class _$_StatusMap implements _StatusMap { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_StatusMapCopyWith<_$_StatusMap> get copyWith => - __$$_StatusMapCopyWithImpl<_$_StatusMap>(this, _$identity); + _$$StatusMapImplCopyWith<_$StatusMapImpl> get copyWith => + __$$StatusMapImplCopyWithImpl<_$StatusMapImpl>(this, _$identity); @override Map toJson() { - return _$$_StatusMapToJson( + return _$$StatusMapImplToJson( this, ); } @@ -464,10 +466,10 @@ abstract class _StatusMap implements StatusMap { @JsonKey(name: 'state') final String? state, @JsonKey(name: 'applicationstatus') final String? applicationstatus, @JsonKey(name: 'businessservice') final String? businessservice}) = - _$_StatusMap; + _$StatusMapImpl; factory _StatusMap.fromJson(Map json) = - _$_StatusMap.fromJson; + _$StatusMapImpl.fromJson; @override @JsonKey(name: 'statusid') @@ -486,7 +488,7 @@ abstract class _StatusMap implements StatusMap { String? get businessservice; @override @JsonKey(ignore: true) - _$$_StatusMapCopyWith<_$_StatusMap> get copyWith => + _$$StatusMapImplCopyWith<_$StatusMapImpl> get copyWith => throw _privateConstructorUsedError; } @@ -574,10 +576,11 @@ class _$ItemDataCopyWithImpl<$Res, $Val extends ItemData> } /// @nodoc -abstract class _$$_ItemDataCopyWith<$Res> implements $ItemDataCopyWith<$Res> { - factory _$$_ItemDataCopyWith( - _$_ItemData value, $Res Function(_$_ItemData) then) = - __$$_ItemDataCopyWithImpl<$Res>; +abstract class _$$ItemDataImplCopyWith<$Res> + implements $ItemDataCopyWith<$Res> { + factory _$$ItemDataImplCopyWith( + _$ItemDataImpl value, $Res Function(_$ItemDataImpl) then) = + __$$ItemDataImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -591,11 +594,11 @@ abstract class _$$_ItemDataCopyWith<$Res> implements $ItemDataCopyWith<$Res> { } /// @nodoc -class __$$_ItemDataCopyWithImpl<$Res> - extends _$ItemDataCopyWithImpl<$Res, _$_ItemData> - implements _$$_ItemDataCopyWith<$Res> { - __$$_ItemDataCopyWithImpl( - _$_ItemData _value, $Res Function(_$_ItemData) _then) +class __$$ItemDataImplCopyWithImpl<$Res> + extends _$ItemDataCopyWithImpl<$Res, _$ItemDataImpl> + implements _$$ItemDataImplCopyWith<$Res> { + __$$ItemDataImplCopyWithImpl( + _$ItemDataImpl _value, $Res Function(_$ItemDataImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -604,7 +607,7 @@ class __$$_ItemDataCopyWithImpl<$Res> Object? processInstance = freezed, Object? businessObject = freezed, }) { - return _then(_$_ItemData( + return _then(_$ItemDataImpl( processInstance: freezed == processInstance ? _value.processInstance : processInstance // ignore: cast_nullable_to_non_nullable @@ -619,13 +622,13 @@ class __$$_ItemDataCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_ItemData implements _ItemData { - const _$_ItemData( +class _$ItemDataImpl implements _ItemData { + const _$ItemDataImpl( {@JsonKey(name: 'ProcessInstance') this.processInstance, @JsonKey(name: 'businessObject') this.businessObject}); - factory _$_ItemData.fromJson(Map json) => - _$$_ItemDataFromJson(json); + factory _$ItemDataImpl.fromJson(Map json) => + _$$ItemDataImplFromJson(json); @override @JsonKey(name: 'ProcessInstance') @@ -640,10 +643,10 @@ class _$_ItemData implements _ItemData { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_ItemData && + other is _$ItemDataImpl && (identical(other.processInstance, processInstance) || other.processInstance == processInstance) && (identical(other.businessObject, businessObject) || @@ -657,12 +660,12 @@ class _$_ItemData implements _ItemData { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ItemDataCopyWith<_$_ItemData> get copyWith => - __$$_ItemDataCopyWithImpl<_$_ItemData>(this, _$identity); + _$$ItemDataImplCopyWith<_$ItemDataImpl> get copyWith => + __$$ItemDataImplCopyWithImpl<_$ItemDataImpl>(this, _$identity); @override Map toJson() { - return _$$_ItemDataToJson( + return _$$ItemDataImplToJson( this, ); } @@ -670,12 +673,12 @@ class _$_ItemData implements _ItemData { abstract class _ItemData implements ItemData { const factory _ItemData( - {@JsonKey(name: 'ProcessInstance') - final ProcessInstance? processInstance, + {@JsonKey(name: 'ProcessInstance') final ProcessInstance? processInstance, @JsonKey(name: 'businessObject') - final BusinessObject? businessObject}) = _$_ItemData; + final BusinessObject? businessObject}) = _$ItemDataImpl; - factory _ItemData.fromJson(Map json) = _$_ItemData.fromJson; + factory _ItemData.fromJson(Map json) = + _$ItemDataImpl.fromJson; @override @JsonKey(name: 'ProcessInstance') @@ -685,7 +688,7 @@ abstract class _ItemData implements ItemData { BusinessObject? get businessObject; @override @JsonKey(ignore: true) - _$$_ItemDataCopyWith<_$_ItemData> get copyWith => + _$$ItemDataImplCopyWith<_$ItemDataImpl> get copyWith => throw _privateConstructorUsedError; } @@ -867,11 +870,11 @@ class _$ProcessInstanceCopyWithImpl<$Res, $Val extends ProcessInstance> } /// @nodoc -abstract class _$$_ProcessInstanceCopyWith<$Res> +abstract class _$$ProcessInstanceImplCopyWith<$Res> implements $ProcessInstanceCopyWith<$Res> { - factory _$$_ProcessInstanceCopyWith( - _$_ProcessInstance value, $Res Function(_$_ProcessInstance) then) = - __$$_ProcessInstanceCopyWithImpl<$Res>; + factory _$$ProcessInstanceImplCopyWith(_$ProcessInstanceImpl value, + $Res Function(_$ProcessInstanceImpl) then) = + __$$ProcessInstanceImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -897,11 +900,11 @@ abstract class _$$_ProcessInstanceCopyWith<$Res> } /// @nodoc -class __$$_ProcessInstanceCopyWithImpl<$Res> - extends _$ProcessInstanceCopyWithImpl<$Res, _$_ProcessInstance> - implements _$$_ProcessInstanceCopyWith<$Res> { - __$$_ProcessInstanceCopyWithImpl( - _$_ProcessInstance _value, $Res Function(_$_ProcessInstance) _then) +class __$$ProcessInstanceImplCopyWithImpl<$Res> + extends _$ProcessInstanceCopyWithImpl<$Res, _$ProcessInstanceImpl> + implements _$$ProcessInstanceImplCopyWith<$Res> { + __$$ProcessInstanceImplCopyWithImpl( + _$ProcessInstanceImpl _value, $Res Function(_$ProcessInstanceImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -920,7 +923,7 @@ class __$$_ProcessInstanceCopyWithImpl<$Res> Object? auditDetails = freezed, Object? assignes = freezed, }) { - return _then(_$_ProcessInstance( + return _then(_$ProcessInstanceImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -975,8 +978,8 @@ class __$$_ProcessInstanceCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_ProcessInstance implements _ProcessInstance { - const _$_ProcessInstance( +class _$ProcessInstanceImpl implements _ProcessInstance { + const _$ProcessInstanceImpl( {@JsonKey(name: 'id') this.id, @JsonKey(name: 'tenantId') this.tenantId, @JsonKey(name: 'businessService') this.businessService, @@ -991,8 +994,8 @@ class _$_ProcessInstance implements _ProcessInstance { @JsonKey(name: 'assignes') final List? assignes}) : _assignes = assignes; - factory _$_ProcessInstance.fromJson(Map json) => - _$$_ProcessInstanceFromJson(json); + factory _$ProcessInstanceImpl.fromJson(Map json) => + _$$ProcessInstanceImplFromJson(json); @override @JsonKey(name: 'id') @@ -1044,10 +1047,10 @@ class _$_ProcessInstance implements _ProcessInstance { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_ProcessInstance && + other is _$ProcessInstanceImpl && (identical(other.id, id) || other.id == id) && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && @@ -1089,12 +1092,13 @@ class _$_ProcessInstance implements _ProcessInstance { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ProcessInstanceCopyWith<_$_ProcessInstance> get copyWith => - __$$_ProcessInstanceCopyWithImpl<_$_ProcessInstance>(this, _$identity); + _$$ProcessInstanceImplCopyWith<_$ProcessInstanceImpl> get copyWith => + __$$ProcessInstanceImplCopyWithImpl<_$ProcessInstanceImpl>( + this, _$identity); @override Map toJson() { - return _$$_ProcessInstanceToJson( + return _$$ProcessInstanceImplToJson( this, ); } @@ -1114,10 +1118,10 @@ abstract class _ProcessInstance implements ProcessInstance { @JsonKey(name: 'assigner') final Assigner? assigner, @JsonKey(name: 'auditDetails') final AuditDetails? auditDetails, @JsonKey(name: 'assignes') final List? assignes}) = - _$_ProcessInstance; + _$ProcessInstanceImpl; factory _ProcessInstance.fromJson(Map json) = - _$_ProcessInstance.fromJson; + _$ProcessInstanceImpl.fromJson; @override @JsonKey(name: 'id') @@ -1157,7 +1161,7 @@ abstract class _ProcessInstance implements ProcessInstance { List? get assignes; @override @JsonKey(ignore: true) - _$$_ProcessInstanceCopyWith<_$_ProcessInstance> get copyWith => + _$$ProcessInstanceImplCopyWith<_$ProcessInstanceImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1231,11 +1235,11 @@ class _$AuditDetailsCopyWithImpl<$Res, $Val extends AuditDetails> } /// @nodoc -abstract class _$$_AuditDetailsCopyWith<$Res> +abstract class _$$AuditDetailsImplCopyWith<$Res> implements $AuditDetailsCopyWith<$Res> { - factory _$$_AuditDetailsCopyWith( - _$_AuditDetails value, $Res Function(_$_AuditDetails) then) = - __$$_AuditDetailsCopyWithImpl<$Res>; + factory _$$AuditDetailsImplCopyWith( + _$AuditDetailsImpl value, $Res Function(_$AuditDetailsImpl) then) = + __$$AuditDetailsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1246,11 +1250,11 @@ abstract class _$$_AuditDetailsCopyWith<$Res> } /// @nodoc -class __$$_AuditDetailsCopyWithImpl<$Res> - extends _$AuditDetailsCopyWithImpl<$Res, _$_AuditDetails> - implements _$$_AuditDetailsCopyWith<$Res> { - __$$_AuditDetailsCopyWithImpl( - _$_AuditDetails _value, $Res Function(_$_AuditDetails) _then) +class __$$AuditDetailsImplCopyWithImpl<$Res> + extends _$AuditDetailsCopyWithImpl<$Res, _$AuditDetailsImpl> + implements _$$AuditDetailsImplCopyWith<$Res> { + __$$AuditDetailsImplCopyWithImpl( + _$AuditDetailsImpl _value, $Res Function(_$AuditDetailsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1261,7 +1265,7 @@ class __$$_AuditDetailsCopyWithImpl<$Res> Object? createdTime = freezed, Object? lastModifiedTime = freezed, }) { - return _then(_$_AuditDetails( + return _then(_$AuditDetailsImpl( createdBy: freezed == createdBy ? _value.createdBy : createdBy // ignore: cast_nullable_to_non_nullable @@ -1284,15 +1288,15 @@ class __$$_AuditDetailsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AuditDetails implements _AuditDetails { - const _$_AuditDetails( +class _$AuditDetailsImpl implements _AuditDetails { + const _$AuditDetailsImpl( {this.createdBy, this.lastModifiedBy, this.createdTime, this.lastModifiedTime}); - factory _$_AuditDetails.fromJson(Map json) => - _$$_AuditDetailsFromJson(json); + factory _$AuditDetailsImpl.fromJson(Map json) => + _$$AuditDetailsImplFromJson(json); @override final String? createdBy; @@ -1309,10 +1313,10 @@ class _$_AuditDetails implements _AuditDetails { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AuditDetails && + other is _$AuditDetailsImpl && (identical(other.createdBy, createdBy) || other.createdBy == createdBy) && (identical(other.lastModifiedBy, lastModifiedBy) || @@ -1331,12 +1335,12 @@ class _$_AuditDetails implements _AuditDetails { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AuditDetailsCopyWith<_$_AuditDetails> get copyWith => - __$$_AuditDetailsCopyWithImpl<_$_AuditDetails>(this, _$identity); + _$$AuditDetailsImplCopyWith<_$AuditDetailsImpl> get copyWith => + __$$AuditDetailsImplCopyWithImpl<_$AuditDetailsImpl>(this, _$identity); @override Map toJson() { - return _$$_AuditDetailsToJson( + return _$$AuditDetailsImplToJson( this, ); } @@ -1347,10 +1351,10 @@ abstract class _AuditDetails implements AuditDetails { {final String? createdBy, final String? lastModifiedBy, final int? createdTime, - final int? lastModifiedTime}) = _$_AuditDetails; + final int? lastModifiedTime}) = _$AuditDetailsImpl; factory _AuditDetails.fromJson(Map json) = - _$_AuditDetails.fromJson; + _$AuditDetailsImpl.fromJson; @override String? get createdBy; @@ -1362,7 +1366,7 @@ abstract class _AuditDetails implements AuditDetails { int? get lastModifiedTime; @override @JsonKey(ignore: true) - _$$_AuditDetailsCopyWith<_$_AuditDetails> get copyWith => + _$$AuditDetailsImplCopyWith<_$AuditDetailsImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1494,9 +1498,10 @@ class _$StateCopyWithImpl<$Res, $Val extends State> } /// @nodoc -abstract class _$$_StateCopyWith<$Res> implements $StateCopyWith<$Res> { - factory _$$_StateCopyWith(_$_State value, $Res Function(_$_State) then) = - __$$_StateCopyWithImpl<$Res>; +abstract class _$$StateImplCopyWith<$Res> implements $StateCopyWith<$Res> { + factory _$$StateImplCopyWith( + _$StateImpl value, $Res Function(_$StateImpl) then) = + __$$StateImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1514,9 +1519,11 @@ abstract class _$$_StateCopyWith<$Res> implements $StateCopyWith<$Res> { } /// @nodoc -class __$$_StateCopyWithImpl<$Res> extends _$StateCopyWithImpl<$Res, _$_State> - implements _$$_StateCopyWith<$Res> { - __$$_StateCopyWithImpl(_$_State _value, $Res Function(_$_State) _then) +class __$$StateImplCopyWithImpl<$Res> + extends _$StateCopyWithImpl<$Res, _$StateImpl> + implements _$$StateImplCopyWith<$Res> { + __$$StateImplCopyWithImpl( + _$StateImpl _value, $Res Function(_$StateImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1534,7 +1541,7 @@ class __$$_StateCopyWithImpl<$Res> extends _$StateCopyWithImpl<$Res, _$_State> Object? isStateUpdatable = freezed, Object? actions = freezed, }) { - return _then(_$_State( + return _then(_$StateImpl( uuid: freezed == uuid ? _value.uuid : uuid // ignore: cast_nullable_to_non_nullable @@ -1585,8 +1592,8 @@ class __$$_StateCopyWithImpl<$Res> extends _$StateCopyWithImpl<$Res, _$_State> /// @nodoc @JsonSerializable() -class _$_State implements _State { - const _$_State( +class _$StateImpl implements _State { + const _$StateImpl( {@JsonKey(name: 'uuid') this.uuid, @JsonKey(name: 'tenantId') this.tenantId, @JsonKey(name: 'businessServiceId') this.businessServiceId, @@ -1600,8 +1607,8 @@ class _$_State implements _State { @JsonKey(name: 'actions') final List? actions}) : _actions = actions; - factory _$_State.fromJson(Map json) => - _$$_StateFromJson(json); + factory _$StateImpl.fromJson(Map json) => + _$$StateImplFromJson(json); @override @JsonKey(name: 'uuid') @@ -1650,10 +1657,10 @@ class _$_State implements _State { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_State && + other is _$StateImpl && (identical(other.uuid, uuid) || other.uuid == uuid) && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && @@ -1693,12 +1700,12 @@ class _$_State implements _State { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_StateCopyWith<_$_State> get copyWith => - __$$_StateCopyWithImpl<_$_State>(this, _$identity); + _$$StateImplCopyWith<_$StateImpl> get copyWith => + __$$StateImplCopyWithImpl<_$StateImpl>(this, _$identity); @override Map toJson() { - return _$$_StateToJson( + return _$$StateImplToJson( this, ); } @@ -1716,9 +1723,9 @@ abstract class _State implements State { @JsonKey(name: 'isStartState') final bool? isStartState, @JsonKey(name: 'isTerminateState') final bool? isTerminateState, @JsonKey(name: 'isStateUpdatable') final bool? isStateUpdatable, - @JsonKey(name: 'actions') final List? actions}) = _$_State; + @JsonKey(name: 'actions') final List? actions}) = _$StateImpl; - factory _State.fromJson(Map json) = _$_State.fromJson; + factory _State.fromJson(Map json) = _$StateImpl.fromJson; @override @JsonKey(name: 'uuid') @@ -1755,7 +1762,7 @@ abstract class _State implements State { List? get actions; @override @JsonKey(ignore: true) - _$$_StateCopyWith<_$_State> get copyWith => + _$$StateImplCopyWith<_$StateImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1855,9 +1862,10 @@ class _$ActionCopyWithImpl<$Res, $Val extends Action> } /// @nodoc -abstract class _$$_ActionCopyWith<$Res> implements $ActionCopyWith<$Res> { - factory _$$_ActionCopyWith(_$_Action value, $Res Function(_$_Action) then) = - __$$_ActionCopyWithImpl<$Res>; +abstract class _$$ActionImplCopyWith<$Res> implements $ActionCopyWith<$Res> { + factory _$$ActionImplCopyWith( + _$ActionImpl value, $Res Function(_$ActionImpl) then) = + __$$ActionImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1871,10 +1879,11 @@ abstract class _$$_ActionCopyWith<$Res> implements $ActionCopyWith<$Res> { } /// @nodoc -class __$$_ActionCopyWithImpl<$Res> - extends _$ActionCopyWithImpl<$Res, _$_Action> - implements _$$_ActionCopyWith<$Res> { - __$$_ActionCopyWithImpl(_$_Action _value, $Res Function(_$_Action) _then) +class __$$ActionImplCopyWithImpl<$Res> + extends _$ActionCopyWithImpl<$Res, _$ActionImpl> + implements _$$ActionImplCopyWith<$Res> { + __$$ActionImplCopyWithImpl( + _$ActionImpl _value, $Res Function(_$ActionImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1888,7 +1897,7 @@ class __$$_ActionCopyWithImpl<$Res> Object? active = freezed, Object? roles = freezed, }) { - return _then(_$_Action( + return _then(_$ActionImpl( uuid: freezed == uuid ? _value.uuid : uuid // ignore: cast_nullable_to_non_nullable @@ -1923,8 +1932,8 @@ class __$$_ActionCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_Action implements _Action { - const _$_Action( +class _$ActionImpl implements _Action { + const _$ActionImpl( {@JsonKey(name: 'uuid') this.uuid, @JsonKey(name: 'tenantId') this.tenantId, @JsonKey(name: 'currentState') this.currentState, @@ -1934,8 +1943,8 @@ class _$_Action implements _Action { @JsonKey(name: 'roles') final List? roles}) : _roles = roles; - factory _$_Action.fromJson(Map json) => - _$$_ActionFromJson(json); + factory _$ActionImpl.fromJson(Map json) => + _$$ActionImplFromJson(json); @override @JsonKey(name: 'uuid') @@ -1972,10 +1981,10 @@ class _$_Action implements _Action { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Action && + other is _$ActionImpl && (identical(other.uuid, uuid) || other.uuid == uuid) && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && @@ -1996,12 +2005,12 @@ class _$_Action implements _Action { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ActionCopyWith<_$_Action> get copyWith => - __$$_ActionCopyWithImpl<_$_Action>(this, _$identity); + _$$ActionImplCopyWith<_$ActionImpl> get copyWith => + __$$ActionImplCopyWithImpl<_$ActionImpl>(this, _$identity); @override Map toJson() { - return _$$_ActionToJson( + return _$$ActionImplToJson( this, ); } @@ -2015,9 +2024,9 @@ abstract class _Action implements Action { @JsonKey(name: 'action') final String? action, @JsonKey(name: 'nextState') final String? nextState, @JsonKey(name: 'active') final bool? active, - @JsonKey(name: 'roles') final List? roles}) = _$_Action; + @JsonKey(name: 'roles') final List? roles}) = _$ActionImpl; - factory _Action.fromJson(Map json) = _$_Action.fromJson; + factory _Action.fromJson(Map json) = _$ActionImpl.fromJson; @override @JsonKey(name: 'uuid') @@ -2042,7 +2051,7 @@ abstract class _Action implements Action { List? get roles; @override @JsonKey(ignore: true) - _$$_ActionCopyWith<_$_Action> get copyWith => + _$$ActionImplCopyWith<_$ActionImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2159,10 +2168,11 @@ class _$AssignerCopyWithImpl<$Res, $Val extends Assigner> } /// @nodoc -abstract class _$$_AssignerCopyWith<$Res> implements $AssignerCopyWith<$Res> { - factory _$$_AssignerCopyWith( - _$_Assigner value, $Res Function(_$_Assigner) then) = - __$$_AssignerCopyWithImpl<$Res>; +abstract class _$$AssignerImplCopyWith<$Res> + implements $AssignerCopyWith<$Res> { + factory _$$AssignerImplCopyWith( + _$AssignerImpl value, $Res Function(_$AssignerImpl) then) = + __$$AssignerImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -2178,11 +2188,11 @@ abstract class _$$_AssignerCopyWith<$Res> implements $AssignerCopyWith<$Res> { } /// @nodoc -class __$$_AssignerCopyWithImpl<$Res> - extends _$AssignerCopyWithImpl<$Res, _$_Assigner> - implements _$$_AssignerCopyWith<$Res> { - __$$_AssignerCopyWithImpl( - _$_Assigner _value, $Res Function(_$_Assigner) _then) +class __$$AssignerImplCopyWithImpl<$Res> + extends _$AssignerCopyWithImpl<$Res, _$AssignerImpl> + implements _$$AssignerImplCopyWith<$Res> { + __$$AssignerImplCopyWithImpl( + _$AssignerImpl _value, $Res Function(_$AssignerImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -2198,7 +2208,7 @@ class __$$_AssignerCopyWithImpl<$Res> Object? uuid = freezed, Object? roles = freezed, }) { - return _then(_$_Assigner( + return _then(_$AssignerImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -2241,8 +2251,8 @@ class __$$_AssignerCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_Assigner implements _Assigner { - const _$_Assigner( +class _$AssignerImpl implements _Assigner { + const _$AssignerImpl( {@JsonKey(name: 'id') this.id, @JsonKey(name: 'userName') this.userName, @JsonKey(name: 'name') this.name, @@ -2254,8 +2264,8 @@ class _$_Assigner implements _Assigner { @JsonKey(name: 'roles') final List? roles}) : _roles = roles; - factory _$_Assigner.fromJson(Map json) => - _$$_AssignerFromJson(json); + factory _$AssignerImpl.fromJson(Map json) => + _$$AssignerImplFromJson(json); @override @JsonKey(name: 'id') @@ -2298,10 +2308,10 @@ class _$_Assigner implements _Assigner { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Assigner && + other is _$AssignerImpl && (identical(other.id, id) || other.id == id) && (identical(other.userName, userName) || other.userName == userName) && @@ -2333,12 +2343,12 @@ class _$_Assigner implements _Assigner { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AssignerCopyWith<_$_Assigner> get copyWith => - __$$_AssignerCopyWithImpl<_$_Assigner>(this, _$identity); + _$$AssignerImplCopyWith<_$AssignerImpl> get copyWith => + __$$AssignerImplCopyWithImpl<_$AssignerImpl>(this, _$identity); @override Map toJson() { - return _$$_AssignerToJson( + return _$$AssignerImplToJson( this, ); } @@ -2354,9 +2364,10 @@ abstract class _Assigner implements Assigner { @JsonKey(name: 'emailId') final String? emailId, @JsonKey(name: 'tenantId') final String? tenantId, @JsonKey(name: 'uuid') final String? uuid, - @JsonKey(name: 'roles') final List? roles}) = _$_Assigner; + @JsonKey(name: 'roles') final List? roles}) = _$AssignerImpl; - factory _Assigner.fromJson(Map json) = _$_Assigner.fromJson; + factory _Assigner.fromJson(Map json) = + _$AssignerImpl.fromJson; @override @JsonKey(name: 'id') @@ -2387,7 +2398,7 @@ abstract class _Assigner implements Assigner { List? get roles; @override @JsonKey(ignore: true) - _$$_AssignerCopyWith<_$_Assigner> get copyWith => + _$$AssignerImplCopyWith<_$AssignerImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2503,10 +2514,10 @@ class _$AssigneCopyWithImpl<$Res, $Val extends Assigne> } /// @nodoc -abstract class _$$_AssigneCopyWith<$Res> implements $AssigneCopyWith<$Res> { - factory _$$_AssigneCopyWith( - _$_Assigne value, $Res Function(_$_Assigne) then) = - __$$_AssigneCopyWithImpl<$Res>; +abstract class _$$AssigneImplCopyWith<$Res> implements $AssigneCopyWith<$Res> { + factory _$$AssigneImplCopyWith( + _$AssigneImpl value, $Res Function(_$AssigneImpl) then) = + __$$AssigneImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -2522,10 +2533,11 @@ abstract class _$$_AssigneCopyWith<$Res> implements $AssigneCopyWith<$Res> { } /// @nodoc -class __$$_AssigneCopyWithImpl<$Res> - extends _$AssigneCopyWithImpl<$Res, _$_Assigne> - implements _$$_AssigneCopyWith<$Res> { - __$$_AssigneCopyWithImpl(_$_Assigne _value, $Res Function(_$_Assigne) _then) +class __$$AssigneImplCopyWithImpl<$Res> + extends _$AssigneCopyWithImpl<$Res, _$AssigneImpl> + implements _$$AssigneImplCopyWith<$Res> { + __$$AssigneImplCopyWithImpl( + _$AssigneImpl _value, $Res Function(_$AssigneImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -2541,7 +2553,7 @@ class __$$_AssigneCopyWithImpl<$Res> Object? uuid = freezed, Object? roles = freezed, }) { - return _then(_$_Assigne( + return _then(_$AssigneImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -2584,8 +2596,8 @@ class __$$_AssigneCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_Assigne implements _Assigne { - const _$_Assigne( +class _$AssigneImpl implements _Assigne { + const _$AssigneImpl( {@JsonKey(name: 'id') this.id, @JsonKey(name: 'userName') this.userName, @JsonKey(name: 'name') this.name, @@ -2597,8 +2609,8 @@ class _$_Assigne implements _Assigne { @JsonKey(name: 'roles') final List? roles}) : _roles = roles; - factory _$_Assigne.fromJson(Map json) => - _$$_AssigneFromJson(json); + factory _$AssigneImpl.fromJson(Map json) => + _$$AssigneImplFromJson(json); @override @JsonKey(name: 'id') @@ -2641,10 +2653,10 @@ class _$_Assigne implements _Assigne { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Assigne && + other is _$AssigneImpl && (identical(other.id, id) || other.id == id) && (identical(other.userName, userName) || other.userName == userName) && @@ -2676,12 +2688,12 @@ class _$_Assigne implements _Assigne { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AssigneCopyWith<_$_Assigne> get copyWith => - __$$_AssigneCopyWithImpl<_$_Assigne>(this, _$identity); + _$$AssigneImplCopyWith<_$AssigneImpl> get copyWith => + __$$AssigneImplCopyWithImpl<_$AssigneImpl>(this, _$identity); @override Map toJson() { - return _$$_AssigneToJson( + return _$$AssigneImplToJson( this, ); } @@ -2697,9 +2709,9 @@ abstract class _Assigne implements Assigne { @JsonKey(name: 'emailId') final String? emailId, @JsonKey(name: 'tenantId') final String? tenantId, @JsonKey(name: 'uuid') final String? uuid, - @JsonKey(name: 'roles') final List? roles}) = _$_Assigne; + @JsonKey(name: 'roles') final List? roles}) = _$AssigneImpl; - factory _Assigne.fromJson(Map json) = _$_Assigne.fromJson; + factory _Assigne.fromJson(Map json) = _$AssigneImpl.fromJson; @override @JsonKey(name: 'id') @@ -2730,7 +2742,7 @@ abstract class _Assigne implements Assigne { List? get roles; @override @JsonKey(ignore: true) - _$$_AssigneCopyWith<_$_Assigne> get copyWith => + _$$AssigneImplCopyWith<_$AssigneImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2806,9 +2818,10 @@ class _$RoleCopyWithImpl<$Res, $Val extends Role> } /// @nodoc -abstract class _$$_RoleCopyWith<$Res> implements $RoleCopyWith<$Res> { - factory _$$_RoleCopyWith(_$_Role value, $Res Function(_$_Role) then) = - __$$_RoleCopyWithImpl<$Res>; +abstract class _$$RoleImplCopyWith<$Res> implements $RoleCopyWith<$Res> { + factory _$$RoleImplCopyWith( + _$RoleImpl value, $Res Function(_$RoleImpl) then) = + __$$RoleImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -2819,9 +2832,10 @@ abstract class _$$_RoleCopyWith<$Res> implements $RoleCopyWith<$Res> { } /// @nodoc -class __$$_RoleCopyWithImpl<$Res> extends _$RoleCopyWithImpl<$Res, _$_Role> - implements _$$_RoleCopyWith<$Res> { - __$$_RoleCopyWithImpl(_$_Role _value, $Res Function(_$_Role) _then) +class __$$RoleImplCopyWithImpl<$Res> + extends _$RoleCopyWithImpl<$Res, _$RoleImpl> + implements _$$RoleImplCopyWith<$Res> { + __$$RoleImplCopyWithImpl(_$RoleImpl _value, $Res Function(_$RoleImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -2832,7 +2846,7 @@ class __$$_RoleCopyWithImpl<$Res> extends _$RoleCopyWithImpl<$Res, _$_Role> Object? code = freezed, Object? tenantId = freezed, }) { - return _then(_$_Role( + return _then(_$RoleImpl( name: freezed == name ? _value.name : name // ignore: cast_nullable_to_non_nullable @@ -2855,14 +2869,15 @@ class __$$_RoleCopyWithImpl<$Res> extends _$RoleCopyWithImpl<$Res, _$_Role> /// @nodoc @JsonSerializable() -class _$_Role implements _Role { - const _$_Role( +class _$RoleImpl implements _Role { + const _$RoleImpl( {@JsonKey(name: 'name') this.name, @JsonKey(name: 'id') this.id, @JsonKey(name: 'code') this.code, @JsonKey(name: 'tenantId') this.tenantId}); - factory _$_Role.fromJson(Map json) => _$$_RoleFromJson(json); + factory _$RoleImpl.fromJson(Map json) => + _$$RoleImplFromJson(json); @override @JsonKey(name: 'name') @@ -2883,10 +2898,10 @@ class _$_Role implements _Role { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Role && + other is _$RoleImpl && (identical(other.name, name) || other.name == name) && (identical(other.id, id) || other.id == id) && (identical(other.code, code) || other.code == code) && @@ -2901,12 +2916,12 @@ class _$_Role implements _Role { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_RoleCopyWith<_$_Role> get copyWith => - __$$_RoleCopyWithImpl<_$_Role>(this, _$identity); + _$$RoleImplCopyWith<_$RoleImpl> get copyWith => + __$$RoleImplCopyWithImpl<_$RoleImpl>(this, _$identity); @override Map toJson() { - return _$$_RoleToJson( + return _$$RoleImplToJson( this, ); } @@ -2917,9 +2932,9 @@ abstract class _Role implements Role { {@JsonKey(name: 'name') final String? name, @JsonKey(name: 'id') final String? id, @JsonKey(name: 'code') final String? code, - @JsonKey(name: 'tenantId') final String? tenantId}) = _$_Role; + @JsonKey(name: 'tenantId') final String? tenantId}) = _$RoleImpl; - factory _Role.fromJson(Map json) = _$_Role.fromJson; + factory _Role.fromJson(Map json) = _$RoleImpl.fromJson; @override @JsonKey(name: 'name') @@ -2935,7 +2950,8 @@ abstract class _Role implements Role { String? get tenantId; @override @JsonKey(ignore: true) - _$$_RoleCopyWith<_$_Role> get copyWith => throw _privateConstructorUsedError; + _$$RoleImplCopyWith<_$RoleImpl> get copyWith => + throw _privateConstructorUsedError; } BusinessObject _$BusinessObjectFromJson(Map json) { @@ -2975,22 +2991,15 @@ abstract class $BusinessObjectCopyWith<$Res> { _$BusinessObjectCopyWithImpl<$Res, BusinessObject>; @useResult $Res call( - {@JsonKey(name: 'measurementNumber') - String? measurementNumber, - @JsonKey(name: 'id') - String? id, - @JsonKey(name: 'referenceId') - String? referenceId, - @JsonKey(name: 'measures') - List? measures, - @JsonKey(name: 'auditDetails') - AuditDetails? auditDetails, - @JsonKey(name: 'contract') - Contract? contract, - @JsonKey(name: 'serviceSla') - int? serviceSla, + {@JsonKey(name: 'measurementNumber') String? measurementNumber, + @JsonKey(name: 'id') String? id, + @JsonKey(name: 'referenceId') String? referenceId, + @JsonKey(name: 'measures') List? measures, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, + @JsonKey(name: 'contract') Contract? contract, + @JsonKey(name: 'serviceSla') int? serviceSla, @JsonKey(name: 'additionalDetails') - MeasurementAdditionalDetail? measurementAdditionalDetail}); + MeasurementAdditionalDetail? measurementAdditionalDetail}); $AuditDetailsCopyWith<$Res>? get auditDetails; $ContractCopyWith<$Res>? get contract; @@ -3094,30 +3103,23 @@ class _$BusinessObjectCopyWithImpl<$Res, $Val extends BusinessObject> } /// @nodoc -abstract class _$$_BusinessObjectCopyWith<$Res> +abstract class _$$BusinessObjectImplCopyWith<$Res> implements $BusinessObjectCopyWith<$Res> { - factory _$$_BusinessObjectCopyWith( - _$_BusinessObject value, $Res Function(_$_BusinessObject) then) = - __$$_BusinessObjectCopyWithImpl<$Res>; + factory _$$BusinessObjectImplCopyWith(_$BusinessObjectImpl value, + $Res Function(_$BusinessObjectImpl) then) = + __$$BusinessObjectImplCopyWithImpl<$Res>; @override @useResult $Res call( - {@JsonKey(name: 'measurementNumber') - String? measurementNumber, - @JsonKey(name: 'id') - String? id, - @JsonKey(name: 'referenceId') - String? referenceId, - @JsonKey(name: 'measures') - List? measures, - @JsonKey(name: 'auditDetails') - AuditDetails? auditDetails, - @JsonKey(name: 'contract') - Contract? contract, - @JsonKey(name: 'serviceSla') - int? serviceSla, + {@JsonKey(name: 'measurementNumber') String? measurementNumber, + @JsonKey(name: 'id') String? id, + @JsonKey(name: 'referenceId') String? referenceId, + @JsonKey(name: 'measures') List? measures, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, + @JsonKey(name: 'contract') Contract? contract, + @JsonKey(name: 'serviceSla') int? serviceSla, @JsonKey(name: 'additionalDetails') - MeasurementAdditionalDetail? measurementAdditionalDetail}); + MeasurementAdditionalDetail? measurementAdditionalDetail}); @override $AuditDetailsCopyWith<$Res>? get auditDetails; @@ -3128,11 +3130,11 @@ abstract class _$$_BusinessObjectCopyWith<$Res> } /// @nodoc -class __$$_BusinessObjectCopyWithImpl<$Res> - extends _$BusinessObjectCopyWithImpl<$Res, _$_BusinessObject> - implements _$$_BusinessObjectCopyWith<$Res> { - __$$_BusinessObjectCopyWithImpl( - _$_BusinessObject _value, $Res Function(_$_BusinessObject) _then) +class __$$BusinessObjectImplCopyWithImpl<$Res> + extends _$BusinessObjectCopyWithImpl<$Res, _$BusinessObjectImpl> + implements _$$BusinessObjectImplCopyWith<$Res> { + __$$BusinessObjectImplCopyWithImpl( + _$BusinessObjectImpl _value, $Res Function(_$BusinessObjectImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -3147,7 +3149,7 @@ class __$$_BusinessObjectCopyWithImpl<$Res> Object? serviceSla = freezed, Object? measurementAdditionalDetail = freezed, }) { - return _then(_$_BusinessObject( + return _then(_$BusinessObjectImpl( measurementNumber: freezed == measurementNumber ? _value.measurementNumber : measurementNumber // ignore: cast_nullable_to_non_nullable @@ -3186,8 +3188,8 @@ class __$$_BusinessObjectCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_BusinessObject implements _BusinessObject { - const _$_BusinessObject( +class _$BusinessObjectImpl implements _BusinessObject { + const _$BusinessObjectImpl( {@JsonKey(name: 'measurementNumber') this.measurementNumber, @JsonKey(name: 'id') this.id, @JsonKey(name: 'referenceId') this.referenceId, @@ -3198,8 +3200,8 @@ class _$_BusinessObject implements _BusinessObject { @JsonKey(name: 'additionalDetails') this.measurementAdditionalDetail}) : _measures = measures; - factory _$_BusinessObject.fromJson(Map json) => - _$$_BusinessObjectFromJson(json); + factory _$BusinessObjectImpl.fromJson(Map json) => + _$$BusinessObjectImplFromJson(json); @override @JsonKey(name: 'measurementNumber') @@ -3240,10 +3242,10 @@ class _$_BusinessObject implements _BusinessObject { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_BusinessObject && + other is _$BusinessObjectImpl && (identical(other.measurementNumber, measurementNumber) || other.measurementNumber == measurementNumber) && (identical(other.id, id) || other.id == id) && @@ -3278,12 +3280,13 @@ class _$_BusinessObject implements _BusinessObject { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_BusinessObjectCopyWith<_$_BusinessObject> get copyWith => - __$$_BusinessObjectCopyWithImpl<_$_BusinessObject>(this, _$identity); + _$$BusinessObjectImplCopyWith<_$BusinessObjectImpl> get copyWith => + __$$BusinessObjectImplCopyWithImpl<_$BusinessObjectImpl>( + this, _$identity); @override Map toJson() { - return _$$_BusinessObjectToJson( + return _$$BusinessObjectImplToJson( this, ); } @@ -3291,26 +3294,19 @@ class _$_BusinessObject implements _BusinessObject { abstract class _BusinessObject implements BusinessObject { const factory _BusinessObject( - {@JsonKey(name: 'measurementNumber') - final String? measurementNumber, - @JsonKey(name: 'id') - final String? id, - @JsonKey(name: 'referenceId') - final String? referenceId, - @JsonKey(name: 'measures') - final List? measures, - @JsonKey(name: 'auditDetails') - final AuditDetails? auditDetails, - @JsonKey(name: 'contract') - final Contract? contract, - @JsonKey(name: 'serviceSla') - final int? serviceSla, + {@JsonKey(name: 'measurementNumber') final String? measurementNumber, + @JsonKey(name: 'id') final String? id, + @JsonKey(name: 'referenceId') final String? referenceId, + @JsonKey(name: 'measures') final List? measures, + @JsonKey(name: 'auditDetails') final AuditDetails? auditDetails, + @JsonKey(name: 'contract') final Contract? contract, + @JsonKey(name: 'serviceSla') final int? serviceSla, @JsonKey(name: 'additionalDetails') - final MeasurementAdditionalDetail? measurementAdditionalDetail}) = - _$_BusinessObject; + final MeasurementAdditionalDetail? measurementAdditionalDetail}) = + _$BusinessObjectImpl; factory _BusinessObject.fromJson(Map json) = - _$_BusinessObject.fromJson; + _$BusinessObjectImpl.fromJson; @override @JsonKey(name: 'measurementNumber') @@ -3338,7 +3334,7 @@ abstract class _BusinessObject implements BusinessObject { MeasurementAdditionalDetail? get measurementAdditionalDetail; @override @JsonKey(ignore: true) - _$$_BusinessObjectCopyWith<_$_BusinessObject> get copyWith => + _$$BusinessObjectImplCopyWith<_$BusinessObjectImpl> get copyWith => throw _privateConstructorUsedError; } @@ -3387,32 +3383,20 @@ abstract class $MeasureCopyWith<$Res> { _$MeasureCopyWithImpl<$Res, Measure>; @useResult $Res call( - {@JsonKey(name: 'description') - String? description, - @JsonKey(name: 'comments') - String? comments, - @JsonKey(name: 'targetId') - String? targetId, - @JsonKey(name: 'breadth') - double? breadth, - @JsonKey(name: 'length') - double? length, - @JsonKey(name: 'isActive') - bool? isActive, - @JsonKey(name: 'referenceId') - String? referenceId, - @JsonKey(name: 'numItems') - double? numItems, - @JsonKey(name: 'id') - String? id, - @JsonKey(name: 'currentValue') - double? currentValue, - @JsonKey(name: 'cumulativeValue') - double? cumulativeValue, - @JsonKey(name: 'height') - double? height, + {@JsonKey(name: 'description') String? description, + @JsonKey(name: 'comments') String? comments, + @JsonKey(name: 'targetId') String? targetId, + @JsonKey(name: 'breadth') double? breadth, + @JsonKey(name: 'length') double? length, + @JsonKey(name: 'isActive') bool? isActive, + @JsonKey(name: 'referenceId') String? referenceId, + @JsonKey(name: 'numItems') double? numItems, + @JsonKey(name: 'id') String? id, + @JsonKey(name: 'currentValue') double? currentValue, + @JsonKey(name: 'cumulativeValue') double? cumulativeValue, + @JsonKey(name: 'height') double? height, @JsonKey(name: 'additionalDetails') - MeasureAdditionalDetails? measureAdditionalDetails}); + MeasureAdditionalDetails? measureAdditionalDetails}); $MeasureAdditionalDetailsCopyWith<$Res>? get measureAdditionalDetails; } @@ -3515,49 +3499,38 @@ class _$MeasureCopyWithImpl<$Res, $Val extends Measure> } /// @nodoc -abstract class _$$_MeasureCopyWith<$Res> implements $MeasureCopyWith<$Res> { - factory _$$_MeasureCopyWith( - _$_Measure value, $Res Function(_$_Measure) then) = - __$$_MeasureCopyWithImpl<$Res>; +abstract class _$$MeasureImplCopyWith<$Res> implements $MeasureCopyWith<$Res> { + factory _$$MeasureImplCopyWith( + _$MeasureImpl value, $Res Function(_$MeasureImpl) then) = + __$$MeasureImplCopyWithImpl<$Res>; @override @useResult $Res call( - {@JsonKey(name: 'description') - String? description, - @JsonKey(name: 'comments') - String? comments, - @JsonKey(name: 'targetId') - String? targetId, - @JsonKey(name: 'breadth') - double? breadth, - @JsonKey(name: 'length') - double? length, - @JsonKey(name: 'isActive') - bool? isActive, - @JsonKey(name: 'referenceId') - String? referenceId, - @JsonKey(name: 'numItems') - double? numItems, - @JsonKey(name: 'id') - String? id, - @JsonKey(name: 'currentValue') - double? currentValue, - @JsonKey(name: 'cumulativeValue') - double? cumulativeValue, - @JsonKey(name: 'height') - double? height, + {@JsonKey(name: 'description') String? description, + @JsonKey(name: 'comments') String? comments, + @JsonKey(name: 'targetId') String? targetId, + @JsonKey(name: 'breadth') double? breadth, + @JsonKey(name: 'length') double? length, + @JsonKey(name: 'isActive') bool? isActive, + @JsonKey(name: 'referenceId') String? referenceId, + @JsonKey(name: 'numItems') double? numItems, + @JsonKey(name: 'id') String? id, + @JsonKey(name: 'currentValue') double? currentValue, + @JsonKey(name: 'cumulativeValue') double? cumulativeValue, + @JsonKey(name: 'height') double? height, @JsonKey(name: 'additionalDetails') - MeasureAdditionalDetails? measureAdditionalDetails}); + MeasureAdditionalDetails? measureAdditionalDetails}); @override $MeasureAdditionalDetailsCopyWith<$Res>? get measureAdditionalDetails; } /// @nodoc -class __$$_MeasureCopyWithImpl<$Res> - extends _$MeasureCopyWithImpl<$Res, _$_Measure> - implements _$$_MeasureCopyWith<$Res> { - __$$_MeasureCopyWithImpl(_$_Measure _value, $Res Function(_$_Measure) _then) +class __$$MeasureImplCopyWithImpl<$Res> + extends _$MeasureCopyWithImpl<$Res, _$MeasureImpl> + implements _$$MeasureImplCopyWith<$Res> { + __$$MeasureImplCopyWithImpl( + _$MeasureImpl _value, $Res Function(_$MeasureImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -3577,7 +3550,7 @@ class __$$_MeasureCopyWithImpl<$Res> Object? height = freezed, Object? measureAdditionalDetails = freezed, }) { - return _then(_$_Measure( + return _then(_$MeasureImpl( description: freezed == description ? _value.description : description // ignore: cast_nullable_to_non_nullable @@ -3636,8 +3609,8 @@ class __$$_MeasureCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_Measure implements _Measure { - const _$_Measure( +class _$MeasureImpl implements _Measure { + const _$MeasureImpl( {@JsonKey(name: 'description') this.description, @JsonKey(name: 'comments') this.comments, @JsonKey(name: 'targetId') this.targetId, @@ -3652,8 +3625,8 @@ class _$_Measure implements _Measure { @JsonKey(name: 'height') this.height, @JsonKey(name: 'additionalDetails') this.measureAdditionalDetails}); - factory _$_Measure.fromJson(Map json) => - _$$_MeasureFromJson(json); + factory _$MeasureImpl.fromJson(Map json) => + _$$MeasureImplFromJson(json); @override @JsonKey(name: 'description') @@ -3701,10 +3674,10 @@ class _$_Measure implements _Measure { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Measure && + other is _$MeasureImpl && (identical(other.description, description) || other.description == description) && (identical(other.comments, comments) || @@ -3751,12 +3724,12 @@ class _$_Measure implements _Measure { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MeasureCopyWith<_$_Measure> get copyWith => - __$$_MeasureCopyWithImpl<_$_Measure>(this, _$identity); + _$$MeasureImplCopyWith<_$MeasureImpl> get copyWith => + __$$MeasureImplCopyWithImpl<_$MeasureImpl>(this, _$identity); @override Map toJson() { - return _$$_MeasureToJson( + return _$$MeasureImplToJson( this, ); } @@ -3764,35 +3737,23 @@ class _$_Measure implements _Measure { abstract class _Measure implements Measure { const factory _Measure( - {@JsonKey(name: 'description') - final String? description, - @JsonKey(name: 'comments') - final String? comments, - @JsonKey(name: 'targetId') - final String? targetId, - @JsonKey(name: 'breadth') - final double? breadth, - @JsonKey(name: 'length') - final double? length, - @JsonKey(name: 'isActive') - final bool? isActive, - @JsonKey(name: 'referenceId') - final String? referenceId, - @JsonKey(name: 'numItems') - final double? numItems, - @JsonKey(name: 'id') - final String? id, - @JsonKey(name: 'currentValue') - final double? currentValue, - @JsonKey(name: 'cumulativeValue') - final double? cumulativeValue, - @JsonKey(name: 'height') - final double? height, + {@JsonKey(name: 'description') final String? description, + @JsonKey(name: 'comments') final String? comments, + @JsonKey(name: 'targetId') final String? targetId, + @JsonKey(name: 'breadth') final double? breadth, + @JsonKey(name: 'length') final double? length, + @JsonKey(name: 'isActive') final bool? isActive, + @JsonKey(name: 'referenceId') final String? referenceId, + @JsonKey(name: 'numItems') final double? numItems, + @JsonKey(name: 'id') final String? id, + @JsonKey(name: 'currentValue') final double? currentValue, + @JsonKey(name: 'cumulativeValue') final double? cumulativeValue, + @JsonKey(name: 'height') final double? height, @JsonKey(name: 'additionalDetails') - final MeasureAdditionalDetails? measureAdditionalDetails}) = - _$_Measure; + final MeasureAdditionalDetails? measureAdditionalDetails}) = + _$MeasureImpl; - factory _Measure.fromJson(Map json) = _$_Measure.fromJson; + factory _Measure.fromJson(Map json) = _$MeasureImpl.fromJson; @override @JsonKey(name: 'description') @@ -3835,7 +3796,7 @@ abstract class _Measure implements Measure { MeasureAdditionalDetails? get measureAdditionalDetails; @override @JsonKey(ignore: true) - _$$_MeasureCopyWith<_$_Measure> get copyWith => + _$$MeasureImplCopyWith<_$MeasureImpl> get copyWith => throw _privateConstructorUsedError; } @@ -3867,12 +3828,10 @@ abstract class $MeasureAdditionalDetailsCopyWith<$Res> { _$MeasureAdditionalDetailsCopyWithImpl<$Res, MeasureAdditionalDetails>; @useResult $Res call( - {@JsonKey(name: 'type') - String? type, - @JsonKey(name: 'mbAmount') - double? mbAmount, + {@JsonKey(name: 'type') String? type, + @JsonKey(name: 'mbAmount') double? mbAmount, @JsonKey(name: "measureLineItems") - List? measureLineItems}); + List? measureLineItems}); } /// @nodoc @@ -3911,30 +3870,29 @@ class _$MeasureAdditionalDetailsCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_MeasureAdditionalDetailsCopyWith<$Res> +abstract class _$$MeasureAdditionalDetailsImplCopyWith<$Res> implements $MeasureAdditionalDetailsCopyWith<$Res> { - factory _$$_MeasureAdditionalDetailsCopyWith( - _$_MeasureAdditionalDetails value, - $Res Function(_$_MeasureAdditionalDetails) then) = - __$$_MeasureAdditionalDetailsCopyWithImpl<$Res>; + factory _$$MeasureAdditionalDetailsImplCopyWith( + _$MeasureAdditionalDetailsImpl value, + $Res Function(_$MeasureAdditionalDetailsImpl) then) = + __$$MeasureAdditionalDetailsImplCopyWithImpl<$Res>; @override @useResult $Res call( - {@JsonKey(name: 'type') - String? type, - @JsonKey(name: 'mbAmount') - double? mbAmount, + {@JsonKey(name: 'type') String? type, + @JsonKey(name: 'mbAmount') double? mbAmount, @JsonKey(name: "measureLineItems") - List? measureLineItems}); + List? measureLineItems}); } /// @nodoc -class __$$_MeasureAdditionalDetailsCopyWithImpl<$Res> +class __$$MeasureAdditionalDetailsImplCopyWithImpl<$Res> extends _$MeasureAdditionalDetailsCopyWithImpl<$Res, - _$_MeasureAdditionalDetails> - implements _$$_MeasureAdditionalDetailsCopyWith<$Res> { - __$$_MeasureAdditionalDetailsCopyWithImpl(_$_MeasureAdditionalDetails _value, - $Res Function(_$_MeasureAdditionalDetails) _then) + _$MeasureAdditionalDetailsImpl> + implements _$$MeasureAdditionalDetailsImplCopyWith<$Res> { + __$$MeasureAdditionalDetailsImplCopyWithImpl( + _$MeasureAdditionalDetailsImpl _value, + $Res Function(_$MeasureAdditionalDetailsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -3944,7 +3902,7 @@ class __$$_MeasureAdditionalDetailsCopyWithImpl<$Res> Object? mbAmount = freezed, Object? measureLineItems = freezed, }) { - return _then(_$_MeasureAdditionalDetails( + return _then(_$MeasureAdditionalDetailsImpl( type: freezed == type ? _value.type : type // ignore: cast_nullable_to_non_nullable @@ -3963,18 +3921,16 @@ class __$$_MeasureAdditionalDetailsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MeasureAdditionalDetails implements _MeasureAdditionalDetails { - const _$_MeasureAdditionalDetails( - {@JsonKey(name: 'type') - this.type, - @JsonKey(name: 'mbAmount') - this.mbAmount, +class _$MeasureAdditionalDetailsImpl implements _MeasureAdditionalDetails { + const _$MeasureAdditionalDetailsImpl( + {@JsonKey(name: 'type') this.type, + @JsonKey(name: 'mbAmount') this.mbAmount, @JsonKey(name: "measureLineItems") - final List? measureLineItems}) + final List? measureLineItems}) : _measureLineItems = measureLineItems; - factory _$_MeasureAdditionalDetails.fromJson(Map json) => - _$$_MeasureAdditionalDetailsFromJson(json); + factory _$MeasureAdditionalDetailsImpl.fromJson(Map json) => + _$$MeasureAdditionalDetailsImplFromJson(json); @override @JsonKey(name: 'type') @@ -4000,10 +3956,10 @@ class _$_MeasureAdditionalDetails implements _MeasureAdditionalDetails { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MeasureAdditionalDetails && + other is _$MeasureAdditionalDetailsImpl && (identical(other.type, type) || other.type == type) && (identical(other.mbAmount, mbAmount) || other.mbAmount == mbAmount) && @@ -4019,13 +3975,13 @@ class _$_MeasureAdditionalDetails implements _MeasureAdditionalDetails { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MeasureAdditionalDetailsCopyWith<_$_MeasureAdditionalDetails> - get copyWith => __$$_MeasureAdditionalDetailsCopyWithImpl< - _$_MeasureAdditionalDetails>(this, _$identity); + _$$MeasureAdditionalDetailsImplCopyWith<_$MeasureAdditionalDetailsImpl> + get copyWith => __$$MeasureAdditionalDetailsImplCopyWithImpl< + _$MeasureAdditionalDetailsImpl>(this, _$identity); @override Map toJson() { - return _$$_MeasureAdditionalDetailsToJson( + return _$$MeasureAdditionalDetailsImplToJson( this, ); } @@ -4033,16 +3989,14 @@ class _$_MeasureAdditionalDetails implements _MeasureAdditionalDetails { abstract class _MeasureAdditionalDetails implements MeasureAdditionalDetails { const factory _MeasureAdditionalDetails( - {@JsonKey(name: 'type') - final String? type, - @JsonKey(name: 'mbAmount') - final double? mbAmount, + {@JsonKey(name: 'type') final String? type, + @JsonKey(name: 'mbAmount') final double? mbAmount, @JsonKey(name: "measureLineItems") - final List? measureLineItems}) = - _$_MeasureAdditionalDetails; + final List? measureLineItems}) = + _$MeasureAdditionalDetailsImpl; factory _MeasureAdditionalDetails.fromJson(Map json) = - _$_MeasureAdditionalDetails.fromJson; + _$MeasureAdditionalDetailsImpl.fromJson; @override @JsonKey(name: 'type') @@ -4055,7 +4009,7 @@ abstract class _MeasureAdditionalDetails implements MeasureAdditionalDetails { List? get measureLineItems; @override @JsonKey(ignore: true) - _$$_MeasureAdditionalDetailsCopyWith<_$_MeasureAdditionalDetails> + _$$MeasureAdditionalDetailsImplCopyWith<_$MeasureAdditionalDetailsImpl> get copyWith => throw _privateConstructorUsedError; } @@ -4149,11 +4103,11 @@ class _$MeasureLineItemCopyWithImpl<$Res, $Val extends MeasureLineItem> } /// @nodoc -abstract class _$$_MeasureLineItemCopyWith<$Res> +abstract class _$$MeasureLineItemImplCopyWith<$Res> implements $MeasureLineItemCopyWith<$Res> { - factory _$$_MeasureLineItemCopyWith( - _$_MeasureLineItem value, $Res Function(_$_MeasureLineItem) then) = - __$$_MeasureLineItemCopyWithImpl<$Res>; + factory _$$MeasureLineItemImplCopyWith(_$MeasureLineItemImpl value, + $Res Function(_$MeasureLineItemImpl) then) = + __$$MeasureLineItemImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -4166,11 +4120,11 @@ abstract class _$$_MeasureLineItemCopyWith<$Res> } /// @nodoc -class __$$_MeasureLineItemCopyWithImpl<$Res> - extends _$MeasureLineItemCopyWithImpl<$Res, _$_MeasureLineItem> - implements _$$_MeasureLineItemCopyWith<$Res> { - __$$_MeasureLineItemCopyWithImpl( - _$_MeasureLineItem _value, $Res Function(_$_MeasureLineItem) _then) +class __$$MeasureLineItemImplCopyWithImpl<$Res> + extends _$MeasureLineItemCopyWithImpl<$Res, _$MeasureLineItemImpl> + implements _$$MeasureLineItemImplCopyWith<$Res> { + __$$MeasureLineItemImplCopyWithImpl( + _$MeasureLineItemImpl _value, $Res Function(_$MeasureLineItemImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -4183,7 +4137,7 @@ class __$$_MeasureLineItemCopyWithImpl<$Res> Object? quantity = freezed, Object? measurelineitemNo = freezed, }) { - return _then(_$_MeasureLineItem( + return _then(_$MeasureLineItemImpl( width: freezed == width ? _value.width : width // ignore: cast_nullable_to_non_nullable @@ -4214,8 +4168,8 @@ class __$$_MeasureLineItemCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MeasureLineItem implements _MeasureLineItem { - const _$_MeasureLineItem( +class _$MeasureLineItemImpl implements _MeasureLineItem { + const _$MeasureLineItemImpl( {@JsonKey(name: 'width') this.width, @JsonKey(name: 'height') this.height, @JsonKey(name: "length") this.length, @@ -4223,8 +4177,8 @@ class _$_MeasureLineItem implements _MeasureLineItem { @JsonKey(name: 'quantity') this.quantity, @JsonKey(name: 'measurelineitemNo') this.measurelineitemNo}); - factory _$_MeasureLineItem.fromJson(Map json) => - _$$_MeasureLineItemFromJson(json); + factory _$MeasureLineItemImpl.fromJson(Map json) => + _$$MeasureLineItemImplFromJson(json); @override @JsonKey(name: 'width') @@ -4251,10 +4205,10 @@ class _$_MeasureLineItem implements _MeasureLineItem { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MeasureLineItem && + other is _$MeasureLineItemImpl && const DeepCollectionEquality().equals(other.width, width) && const DeepCollectionEquality().equals(other.height, height) && const DeepCollectionEquality().equals(other.length, length) && @@ -4278,12 +4232,13 @@ class _$_MeasureLineItem implements _MeasureLineItem { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MeasureLineItemCopyWith<_$_MeasureLineItem> get copyWith => - __$$_MeasureLineItemCopyWithImpl<_$_MeasureLineItem>(this, _$identity); + _$$MeasureLineItemImplCopyWith<_$MeasureLineItemImpl> get copyWith => + __$$MeasureLineItemImplCopyWithImpl<_$MeasureLineItemImpl>( + this, _$identity); @override Map toJson() { - return _$$_MeasureLineItemToJson( + return _$$MeasureLineItemImplToJson( this, ); } @@ -4291,21 +4246,16 @@ class _$_MeasureLineItem implements _MeasureLineItem { abstract class _MeasureLineItem implements MeasureLineItem { const factory _MeasureLineItem( - {@JsonKey(name: 'width') - final dynamic width, - @JsonKey(name: 'height') - final dynamic height, - @JsonKey(name: "length") - final dynamic length, - @JsonKey(name: 'number') - final dynamic number, - @JsonKey(name: 'quantity') - final dynamic quantity, + {@JsonKey(name: 'width') final dynamic width, + @JsonKey(name: 'height') final dynamic height, + @JsonKey(name: "length") final dynamic length, + @JsonKey(name: 'number') final dynamic number, + @JsonKey(name: 'quantity') final dynamic quantity, @JsonKey(name: 'measurelineitemNo') - final dynamic measurelineitemNo}) = _$_MeasureLineItem; + final dynamic measurelineitemNo}) = _$MeasureLineItemImpl; factory _MeasureLineItem.fromJson(Map json) = - _$_MeasureLineItem.fromJson; + _$MeasureLineItemImpl.fromJson; @override @JsonKey(name: 'width') @@ -4327,7 +4277,7 @@ abstract class _MeasureLineItem implements MeasureLineItem { dynamic get measurelineitemNo; @override @JsonKey(ignore: true) - _$$_MeasureLineItemCopyWith<_$_MeasureLineItem> get copyWith => + _$$MeasureLineItemImplCopyWith<_$MeasureLineItemImpl> get copyWith => throw _privateConstructorUsedError; } @@ -4393,48 +4343,28 @@ abstract class $ContractCopyWith<$Res> { _$ContractCopyWithImpl<$Res, Contract>; @useResult $Res call( - {@JsonKey(name: 'contractNumber') - String? contractNumber, - @JsonKey(name: 'id') - String? id, - @JsonKey(name: 'versionNumber') - int? versionNumber, - @JsonKey(name: 'oldUuid') - String? oldUuid, - @JsonKey(name: 'businessService') - String? businessService, - @JsonKey(name: 'tenantId') - String? tenantId, - @JsonKey(name: 'wfStatus') - String? wfStatus, - @JsonKey(name: 'executingAuthority') - String? executingAuthority, - @JsonKey(name: 'contractType') - String? contractType, - @JsonKey(name: 'totalContractedAmount') - double? totalContractedAmount, - @JsonKey(name: 'securityDeposit') - double? securityDeposit, - @JsonKey(name: 'agreementDate') - int? agreementDate, - @JsonKey(name: 'issueDate') - int? issueDate, - @JsonKey(name: 'defectLiabilityPeriod') - int? defectLiabilityPeriod, - @JsonKey(name: 'orgId') - String? orgId, - @JsonKey(name: 'startDate') - int? startDate, - @JsonKey(name: 'endDate') - int? endDate, - @JsonKey(name: 'completionPeriod') - int? completionPeriod, - @JsonKey(name: 'status') - String? status, - @JsonKey(name: 'lineItems') - List? lineItems, + {@JsonKey(name: 'contractNumber') String? contractNumber, + @JsonKey(name: 'id') String? id, + @JsonKey(name: 'versionNumber') int? versionNumber, + @JsonKey(name: 'oldUuid') String? oldUuid, + @JsonKey(name: 'businessService') String? businessService, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'wfStatus') String? wfStatus, + @JsonKey(name: 'executingAuthority') String? executingAuthority, + @JsonKey(name: 'contractType') String? contractType, + @JsonKey(name: 'totalContractedAmount') double? totalContractedAmount, + @JsonKey(name: 'securityDeposit') double? securityDeposit, + @JsonKey(name: 'agreementDate') int? agreementDate, + @JsonKey(name: 'issueDate') int? issueDate, + @JsonKey(name: 'defectLiabilityPeriod') int? defectLiabilityPeriod, + @JsonKey(name: 'orgId') String? orgId, + @JsonKey(name: 'startDate') int? startDate, + @JsonKey(name: 'endDate') int? endDate, + @JsonKey(name: 'completionPeriod') int? completionPeriod, + @JsonKey(name: 'status') String? status, + @JsonKey(name: 'lineItems') List? lineItems, @JsonKey(name: 'additionalDetails') - ContractAdditionalDetails? additionalDetails}); + ContractAdditionalDetails? additionalDetails}); $ContractAdditionalDetailsCopyWith<$Res>? get additionalDetails; } @@ -4577,66 +4507,47 @@ class _$ContractCopyWithImpl<$Res, $Val extends Contract> } /// @nodoc -abstract class _$$_ContractCopyWith<$Res> implements $ContractCopyWith<$Res> { - factory _$$_ContractCopyWith( - _$_Contract value, $Res Function(_$_Contract) then) = - __$$_ContractCopyWithImpl<$Res>; +abstract class _$$ContractImplCopyWith<$Res> + implements $ContractCopyWith<$Res> { + factory _$$ContractImplCopyWith( + _$ContractImpl value, $Res Function(_$ContractImpl) then) = + __$$ContractImplCopyWithImpl<$Res>; @override @useResult $Res call( - {@JsonKey(name: 'contractNumber') - String? contractNumber, - @JsonKey(name: 'id') - String? id, - @JsonKey(name: 'versionNumber') - int? versionNumber, - @JsonKey(name: 'oldUuid') - String? oldUuid, - @JsonKey(name: 'businessService') - String? businessService, - @JsonKey(name: 'tenantId') - String? tenantId, - @JsonKey(name: 'wfStatus') - String? wfStatus, - @JsonKey(name: 'executingAuthority') - String? executingAuthority, - @JsonKey(name: 'contractType') - String? contractType, - @JsonKey(name: 'totalContractedAmount') - double? totalContractedAmount, - @JsonKey(name: 'securityDeposit') - double? securityDeposit, - @JsonKey(name: 'agreementDate') - int? agreementDate, - @JsonKey(name: 'issueDate') - int? issueDate, - @JsonKey(name: 'defectLiabilityPeriod') - int? defectLiabilityPeriod, - @JsonKey(name: 'orgId') - String? orgId, - @JsonKey(name: 'startDate') - int? startDate, - @JsonKey(name: 'endDate') - int? endDate, - @JsonKey(name: 'completionPeriod') - int? completionPeriod, - @JsonKey(name: 'status') - String? status, - @JsonKey(name: 'lineItems') - List? lineItems, + {@JsonKey(name: 'contractNumber') String? contractNumber, + @JsonKey(name: 'id') String? id, + @JsonKey(name: 'versionNumber') int? versionNumber, + @JsonKey(name: 'oldUuid') String? oldUuid, + @JsonKey(name: 'businessService') String? businessService, + @JsonKey(name: 'tenantId') String? tenantId, + @JsonKey(name: 'wfStatus') String? wfStatus, + @JsonKey(name: 'executingAuthority') String? executingAuthority, + @JsonKey(name: 'contractType') String? contractType, + @JsonKey(name: 'totalContractedAmount') double? totalContractedAmount, + @JsonKey(name: 'securityDeposit') double? securityDeposit, + @JsonKey(name: 'agreementDate') int? agreementDate, + @JsonKey(name: 'issueDate') int? issueDate, + @JsonKey(name: 'defectLiabilityPeriod') int? defectLiabilityPeriod, + @JsonKey(name: 'orgId') String? orgId, + @JsonKey(name: 'startDate') int? startDate, + @JsonKey(name: 'endDate') int? endDate, + @JsonKey(name: 'completionPeriod') int? completionPeriod, + @JsonKey(name: 'status') String? status, + @JsonKey(name: 'lineItems') List? lineItems, @JsonKey(name: 'additionalDetails') - ContractAdditionalDetails? additionalDetails}); + ContractAdditionalDetails? additionalDetails}); @override $ContractAdditionalDetailsCopyWith<$Res>? get additionalDetails; } /// @nodoc -class __$$_ContractCopyWithImpl<$Res> - extends _$ContractCopyWithImpl<$Res, _$_Contract> - implements _$$_ContractCopyWith<$Res> { - __$$_ContractCopyWithImpl( - _$_Contract _value, $Res Function(_$_Contract) _then) +class __$$ContractImplCopyWithImpl<$Res> + extends _$ContractCopyWithImpl<$Res, _$ContractImpl> + implements _$$ContractImplCopyWith<$Res> { + __$$ContractImplCopyWithImpl( + _$ContractImpl _value, $Res Function(_$ContractImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -4664,7 +4575,7 @@ class __$$_ContractCopyWithImpl<$Res> Object? lineItems = freezed, Object? additionalDetails = freezed, }) { - return _then(_$_Contract( + return _then(_$ContractImpl( contractNumber: freezed == contractNumber ? _value.contractNumber : contractNumber // ignore: cast_nullable_to_non_nullable @@ -4755,8 +4666,8 @@ class __$$_ContractCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_Contract implements _Contract { - const _$_Contract( +class _$ContractImpl implements _Contract { + const _$ContractImpl( {@JsonKey(name: 'contractNumber') this.contractNumber, @JsonKey(name: 'id') this.id, @JsonKey(name: 'versionNumber') this.versionNumber, @@ -4780,8 +4691,8 @@ class _$_Contract implements _Contract { @JsonKey(name: 'additionalDetails') this.additionalDetails}) : _lineItems = lineItems; - factory _$_Contract.fromJson(Map json) => - _$$_ContractFromJson(json); + factory _$ContractImpl.fromJson(Map json) => + _$$ContractImplFromJson(json); @override @JsonKey(name: 'contractNumber') @@ -4861,10 +4772,10 @@ class _$_Contract implements _Contract { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Contract && + other is _$ContractImpl && (identical(other.contractNumber, contractNumber) || other.contractNumber == contractNumber) && (identical(other.id, id) || other.id == id) && @@ -4934,12 +4845,12 @@ class _$_Contract implements _Contract { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ContractCopyWith<_$_Contract> get copyWith => - __$$_ContractCopyWithImpl<_$_Contract>(this, _$identity); + _$$ContractImplCopyWith<_$ContractImpl> get copyWith => + __$$ContractImplCopyWithImpl<_$ContractImpl>(this, _$identity); @override Map toJson() { - return _$$_ContractToJson( + return _$$ContractImplToJson( this, ); } @@ -4947,50 +4858,32 @@ class _$_Contract implements _Contract { abstract class _Contract implements Contract { const factory _Contract( - {@JsonKey(name: 'contractNumber') - final String? contractNumber, - @JsonKey(name: 'id') - final String? id, - @JsonKey(name: 'versionNumber') - final int? versionNumber, - @JsonKey(name: 'oldUuid') - final String? oldUuid, - @JsonKey(name: 'businessService') - final String? businessService, - @JsonKey(name: 'tenantId') - final String? tenantId, - @JsonKey(name: 'wfStatus') - final String? wfStatus, - @JsonKey(name: 'executingAuthority') - final String? executingAuthority, - @JsonKey(name: 'contractType') - final String? contractType, + {@JsonKey(name: 'contractNumber') final String? contractNumber, + @JsonKey(name: 'id') final String? id, + @JsonKey(name: 'versionNumber') final int? versionNumber, + @JsonKey(name: 'oldUuid') final String? oldUuid, + @JsonKey(name: 'businessService') final String? businessService, + @JsonKey(name: 'tenantId') final String? tenantId, + @JsonKey(name: 'wfStatus') final String? wfStatus, + @JsonKey(name: 'executingAuthority') final String? executingAuthority, + @JsonKey(name: 'contractType') final String? contractType, @JsonKey(name: 'totalContractedAmount') - final double? totalContractedAmount, - @JsonKey(name: 'securityDeposit') - final double? securityDeposit, - @JsonKey(name: 'agreementDate') - final int? agreementDate, - @JsonKey(name: 'issueDate') - final int? issueDate, - @JsonKey(name: 'defectLiabilityPeriod') - final int? defectLiabilityPeriod, - @JsonKey(name: 'orgId') - final String? orgId, - @JsonKey(name: 'startDate') - final int? startDate, - @JsonKey(name: 'endDate') - final int? endDate, - @JsonKey(name: 'completionPeriod') - final int? completionPeriod, - @JsonKey(name: 'status') - final String? status, - @JsonKey(name: 'lineItems') - final List? lineItems, + final double? totalContractedAmount, + @JsonKey(name: 'securityDeposit') final double? securityDeposit, + @JsonKey(name: 'agreementDate') final int? agreementDate, + @JsonKey(name: 'issueDate') final int? issueDate, + @JsonKey(name: 'defectLiabilityPeriod') final int? defectLiabilityPeriod, + @JsonKey(name: 'orgId') final String? orgId, + @JsonKey(name: 'startDate') final int? startDate, + @JsonKey(name: 'endDate') final int? endDate, + @JsonKey(name: 'completionPeriod') final int? completionPeriod, + @JsonKey(name: 'status') final String? status, + @JsonKey(name: 'lineItems') final List? lineItems, @JsonKey(name: 'additionalDetails') - final ContractAdditionalDetails? additionalDetails}) = _$_Contract; + final ContractAdditionalDetails? additionalDetails}) = _$ContractImpl; - factory _Contract.fromJson(Map json) = _$_Contract.fromJson; + factory _Contract.fromJson(Map json) = + _$ContractImpl.fromJson; @override @JsonKey(name: 'contractNumber') @@ -5057,7 +4950,7 @@ abstract class _Contract implements Contract { ContractAdditionalDetails? get additionalDetails; @override @JsonKey(ignore: true) - _$$_ContractCopyWith<_$_Contract> get copyWith => + _$$ContractImplCopyWith<_$ContractImpl> get copyWith => throw _privateConstructorUsedError; } @@ -5123,46 +5016,28 @@ abstract class $ContractAdditionalDetailsCopyWith<$Res> { _$ContractAdditionalDetailsCopyWithImpl<$Res, ContractAdditionalDetails>; @useResult $Res call( - {@JsonKey(name: 'orgName') - String? orgName, - @JsonKey(name: 'totalEstimatedAmount') - double? totalEstimatedAmount, + {@JsonKey(name: 'orgName') String? orgName, + @JsonKey(name: 'totalEstimatedAmount') double? totalEstimatedAmount, @JsonKey(name: 'attendanceRegisterNumber') - String? attendanceRegisterNumber, - @JsonKey(name: 'officerInChargeId') - String? officerInChargeId, - @JsonKey(name: 'cboOrgNumber') - String? cboOrgNumber, - @JsonKey(name: 'estimateNumber') - String? estimateNumber, - @JsonKey(name: 'locality') - String? locality, - @JsonKey(name: 'projectType') - String? projectType, - @JsonKey(name: 'timeExtReason') - String? timeExtReason, - @JsonKey(name: 'ward') - String? ward, - @JsonKey(name: 'officerInChargeDesgn') - String? officerInChargeDesgn, - @JsonKey(name: 'projectDesc') - String? projectDesc, - @JsonKey(name: 'projectName') - String? projectName, - @JsonKey(name: 'cboCode') - String? cboCode, - @JsonKey(name: 'projectId') - String? projectId, - @JsonKey(name: 'cboName') - String? cboName, - @JsonKey(name: 'timeExt') - dynamic timeExt, - @JsonKey(name: 'completionPeriod') - int? completionPeriod, - @JsonKey(name: 'estimateDocs') - List? estmateDocs, + String? attendanceRegisterNumber, + @JsonKey(name: 'officerInChargeId') String? officerInChargeId, + @JsonKey(name: 'cboOrgNumber') String? cboOrgNumber, + @JsonKey(name: 'estimateNumber') String? estimateNumber, + @JsonKey(name: 'locality') String? locality, + @JsonKey(name: 'projectType') String? projectType, + @JsonKey(name: 'timeExtReason') String? timeExtReason, + @JsonKey(name: 'ward') String? ward, + @JsonKey(name: 'officerInChargeDesgn') String? officerInChargeDesgn, + @JsonKey(name: 'projectDesc') String? projectDesc, + @JsonKey(name: 'projectName') String? projectName, + @JsonKey(name: 'cboCode') String? cboCode, + @JsonKey(name: 'projectId') String? projectId, + @JsonKey(name: 'cboName') String? cboName, + @JsonKey(name: 'timeExt') dynamic timeExt, + @JsonKey(name: 'completionPeriod') int? completionPeriod, + @JsonKey(name: 'estimateDocs') List? estmateDocs, @JsonKey(name: 'termsAndConditions') - List? termsAndConditions}); + List? termsAndConditions}); } /// @nodoc @@ -5286,65 +5161,47 @@ class _$ContractAdditionalDetailsCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_ContractAdditionalDetailsCopyWith<$Res> +abstract class _$$ContractAdditionalDetailsImplCopyWith<$Res> implements $ContractAdditionalDetailsCopyWith<$Res> { - factory _$$_ContractAdditionalDetailsCopyWith( - _$_ContractAdditionalDetails value, - $Res Function(_$_ContractAdditionalDetails) then) = - __$$_ContractAdditionalDetailsCopyWithImpl<$Res>; + factory _$$ContractAdditionalDetailsImplCopyWith( + _$ContractAdditionalDetailsImpl value, + $Res Function(_$ContractAdditionalDetailsImpl) then) = + __$$ContractAdditionalDetailsImplCopyWithImpl<$Res>; @override @useResult $Res call( - {@JsonKey(name: 'orgName') - String? orgName, - @JsonKey(name: 'totalEstimatedAmount') - double? totalEstimatedAmount, + {@JsonKey(name: 'orgName') String? orgName, + @JsonKey(name: 'totalEstimatedAmount') double? totalEstimatedAmount, @JsonKey(name: 'attendanceRegisterNumber') - String? attendanceRegisterNumber, - @JsonKey(name: 'officerInChargeId') - String? officerInChargeId, - @JsonKey(name: 'cboOrgNumber') - String? cboOrgNumber, - @JsonKey(name: 'estimateNumber') - String? estimateNumber, - @JsonKey(name: 'locality') - String? locality, - @JsonKey(name: 'projectType') - String? projectType, - @JsonKey(name: 'timeExtReason') - String? timeExtReason, - @JsonKey(name: 'ward') - String? ward, - @JsonKey(name: 'officerInChargeDesgn') - String? officerInChargeDesgn, - @JsonKey(name: 'projectDesc') - String? projectDesc, - @JsonKey(name: 'projectName') - String? projectName, - @JsonKey(name: 'cboCode') - String? cboCode, - @JsonKey(name: 'projectId') - String? projectId, - @JsonKey(name: 'cboName') - String? cboName, - @JsonKey(name: 'timeExt') - dynamic timeExt, - @JsonKey(name: 'completionPeriod') - int? completionPeriod, - @JsonKey(name: 'estimateDocs') - List? estmateDocs, + String? attendanceRegisterNumber, + @JsonKey(name: 'officerInChargeId') String? officerInChargeId, + @JsonKey(name: 'cboOrgNumber') String? cboOrgNumber, + @JsonKey(name: 'estimateNumber') String? estimateNumber, + @JsonKey(name: 'locality') String? locality, + @JsonKey(name: 'projectType') String? projectType, + @JsonKey(name: 'timeExtReason') String? timeExtReason, + @JsonKey(name: 'ward') String? ward, + @JsonKey(name: 'officerInChargeDesgn') String? officerInChargeDesgn, + @JsonKey(name: 'projectDesc') String? projectDesc, + @JsonKey(name: 'projectName') String? projectName, + @JsonKey(name: 'cboCode') String? cboCode, + @JsonKey(name: 'projectId') String? projectId, + @JsonKey(name: 'cboName') String? cboName, + @JsonKey(name: 'timeExt') dynamic timeExt, + @JsonKey(name: 'completionPeriod') int? completionPeriod, + @JsonKey(name: 'estimateDocs') List? estmateDocs, @JsonKey(name: 'termsAndConditions') - List? termsAndConditions}); + List? termsAndConditions}); } /// @nodoc -class __$$_ContractAdditionalDetailsCopyWithImpl<$Res> +class __$$ContractAdditionalDetailsImplCopyWithImpl<$Res> extends _$ContractAdditionalDetailsCopyWithImpl<$Res, - _$_ContractAdditionalDetails> - implements _$$_ContractAdditionalDetailsCopyWith<$Res> { - __$$_ContractAdditionalDetailsCopyWithImpl( - _$_ContractAdditionalDetails _value, - $Res Function(_$_ContractAdditionalDetails) _then) + _$ContractAdditionalDetailsImpl> + implements _$$ContractAdditionalDetailsImplCopyWith<$Res> { + __$$ContractAdditionalDetailsImplCopyWithImpl( + _$ContractAdditionalDetailsImpl _value, + $Res Function(_$ContractAdditionalDetailsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -5371,7 +5228,7 @@ class __$$_ContractAdditionalDetailsCopyWithImpl<$Res> Object? estmateDocs = freezed, Object? termsAndConditions = freezed, }) { - return _then(_$_ContractAdditionalDetails( + return _then(_$ContractAdditionalDetailsImpl( orgName: freezed == orgName ? _value.orgName : orgName // ignore: cast_nullable_to_non_nullable @@ -5458,53 +5315,34 @@ class __$$_ContractAdditionalDetailsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_ContractAdditionalDetails implements _ContractAdditionalDetails { - const _$_ContractAdditionalDetails( - {@JsonKey(name: 'orgName') - this.orgName, - @JsonKey(name: 'totalEstimatedAmount') - this.totalEstimatedAmount, - @JsonKey(name: 'attendanceRegisterNumber') - this.attendanceRegisterNumber, - @JsonKey(name: 'officerInChargeId') - this.officerInChargeId, - @JsonKey(name: 'cboOrgNumber') - this.cboOrgNumber, - @JsonKey(name: 'estimateNumber') - this.estimateNumber, - @JsonKey(name: 'locality') - this.locality, - @JsonKey(name: 'projectType') - this.projectType, - @JsonKey(name: 'timeExtReason') - this.timeExtReason, - @JsonKey(name: 'ward') - this.ward, - @JsonKey(name: 'officerInChargeDesgn') - this.officerInChargeDesgn, - @JsonKey(name: 'projectDesc') - this.projectDesc, - @JsonKey(name: 'projectName') - this.projectName, - @JsonKey(name: 'cboCode') - this.cboCode, - @JsonKey(name: 'projectId') - this.projectId, - @JsonKey(name: 'cboName') - this.cboName, - @JsonKey(name: 'timeExt') - this.timeExt, - @JsonKey(name: 'completionPeriod') - this.completionPeriod, - @JsonKey(name: 'estimateDocs') - final List? estmateDocs, +class _$ContractAdditionalDetailsImpl implements _ContractAdditionalDetails { + const _$ContractAdditionalDetailsImpl( + {@JsonKey(name: 'orgName') this.orgName, + @JsonKey(name: 'totalEstimatedAmount') this.totalEstimatedAmount, + @JsonKey(name: 'attendanceRegisterNumber') this.attendanceRegisterNumber, + @JsonKey(name: 'officerInChargeId') this.officerInChargeId, + @JsonKey(name: 'cboOrgNumber') this.cboOrgNumber, + @JsonKey(name: 'estimateNumber') this.estimateNumber, + @JsonKey(name: 'locality') this.locality, + @JsonKey(name: 'projectType') this.projectType, + @JsonKey(name: 'timeExtReason') this.timeExtReason, + @JsonKey(name: 'ward') this.ward, + @JsonKey(name: 'officerInChargeDesgn') this.officerInChargeDesgn, + @JsonKey(name: 'projectDesc') this.projectDesc, + @JsonKey(name: 'projectName') this.projectName, + @JsonKey(name: 'cboCode') this.cboCode, + @JsonKey(name: 'projectId') this.projectId, + @JsonKey(name: 'cboName') this.cboName, + @JsonKey(name: 'timeExt') this.timeExt, + @JsonKey(name: 'completionPeriod') this.completionPeriod, + @JsonKey(name: 'estimateDocs') final List? estmateDocs, @JsonKey(name: 'termsAndConditions') - final List? termsAndConditions}) + final List? termsAndConditions}) : _estmateDocs = estmateDocs, _termsAndConditions = termsAndConditions; - factory _$_ContractAdditionalDetails.fromJson(Map json) => - _$$_ContractAdditionalDetailsFromJson(json); + factory _$ContractAdditionalDetailsImpl.fromJson(Map json) => + _$$ContractAdditionalDetailsImplFromJson(json); @override @JsonKey(name: 'orgName') @@ -5589,10 +5427,10 @@ class _$_ContractAdditionalDetails implements _ContractAdditionalDetails { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_ContractAdditionalDetails && + other is _$ContractAdditionalDetailsImpl && (identical(other.orgName, orgName) || other.orgName == orgName) && (identical(other.totalEstimatedAmount, totalEstimatedAmount) || other.totalEstimatedAmount == totalEstimatedAmount) && @@ -5660,13 +5498,13 @@ class _$_ContractAdditionalDetails implements _ContractAdditionalDetails { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ContractAdditionalDetailsCopyWith<_$_ContractAdditionalDetails> - get copyWith => __$$_ContractAdditionalDetailsCopyWithImpl< - _$_ContractAdditionalDetails>(this, _$identity); + _$$ContractAdditionalDetailsImplCopyWith<_$ContractAdditionalDetailsImpl> + get copyWith => __$$ContractAdditionalDetailsImplCopyWithImpl< + _$ContractAdditionalDetailsImpl>(this, _$identity); @override Map toJson() { - return _$$_ContractAdditionalDetailsToJson( + return _$$ContractAdditionalDetailsImplToJson( this, ); } @@ -5674,50 +5512,32 @@ class _$_ContractAdditionalDetails implements _ContractAdditionalDetails { abstract class _ContractAdditionalDetails implements ContractAdditionalDetails { const factory _ContractAdditionalDetails( - {@JsonKey(name: 'orgName') - final String? orgName, - @JsonKey(name: 'totalEstimatedAmount') - final double? totalEstimatedAmount, - @JsonKey(name: 'attendanceRegisterNumber') - final String? attendanceRegisterNumber, - @JsonKey(name: 'officerInChargeId') - final String? officerInChargeId, - @JsonKey(name: 'cboOrgNumber') - final String? cboOrgNumber, - @JsonKey(name: 'estimateNumber') - final String? estimateNumber, - @JsonKey(name: 'locality') - final String? locality, - @JsonKey(name: 'projectType') - final String? projectType, - @JsonKey(name: 'timeExtReason') - final String? timeExtReason, - @JsonKey(name: 'ward') - final String? ward, - @JsonKey(name: 'officerInChargeDesgn') - final String? officerInChargeDesgn, - @JsonKey(name: 'projectDesc') - final String? projectDesc, - @JsonKey(name: 'projectName') - final String? projectName, - @JsonKey(name: 'cboCode') - final String? cboCode, - @JsonKey(name: 'projectId') - final String? projectId, - @JsonKey(name: 'cboName') - final String? cboName, - @JsonKey(name: 'timeExt') - final dynamic timeExt, - @JsonKey(name: 'completionPeriod') - final int? completionPeriod, - @JsonKey(name: 'estimateDocs') - final List? estmateDocs, - @JsonKey(name: 'termsAndConditions') - final List? termsAndConditions}) = - _$_ContractAdditionalDetails; + {@JsonKey(name: 'orgName') final String? orgName, + @JsonKey(name: 'totalEstimatedAmount') final double? totalEstimatedAmount, + @JsonKey(name: 'attendanceRegisterNumber') + final String? attendanceRegisterNumber, + @JsonKey(name: 'officerInChargeId') final String? officerInChargeId, + @JsonKey(name: 'cboOrgNumber') final String? cboOrgNumber, + @JsonKey(name: 'estimateNumber') final String? estimateNumber, + @JsonKey(name: 'locality') final String? locality, + @JsonKey(name: 'projectType') final String? projectType, + @JsonKey(name: 'timeExtReason') final String? timeExtReason, + @JsonKey(name: 'ward') final String? ward, + @JsonKey(name: 'officerInChargeDesgn') final String? officerInChargeDesgn, + @JsonKey(name: 'projectDesc') final String? projectDesc, + @JsonKey(name: 'projectName') final String? projectName, + @JsonKey(name: 'cboCode') final String? cboCode, + @JsonKey(name: 'projectId') final String? projectId, + @JsonKey(name: 'cboName') final String? cboName, + @JsonKey(name: 'timeExt') final dynamic timeExt, + @JsonKey(name: 'completionPeriod') final int? completionPeriod, + @JsonKey(name: 'estimateDocs') final List? estmateDocs, + @JsonKey(name: 'termsAndConditions') + final List? + termsAndConditions}) = _$ContractAdditionalDetailsImpl; factory _ContractAdditionalDetails.fromJson(Map json) = - _$_ContractAdditionalDetails.fromJson; + _$ContractAdditionalDetailsImpl.fromJson; @override @JsonKey(name: 'orgName') @@ -5781,7 +5601,7 @@ abstract class _ContractAdditionalDetails implements ContractAdditionalDetails { List? get termsAndConditions; @override @JsonKey(ignore: true) - _$$_ContractAdditionalDetailsCopyWith<_$_ContractAdditionalDetails> + _$$ContractAdditionalDetailsImplCopyWith<_$ContractAdditionalDetailsImpl> get copyWith => throw _privateConstructorUsedError; } @@ -5867,11 +5687,11 @@ class _$EstmateDocCopyWithImpl<$Res, $Val extends EstmateDoc> } /// @nodoc -abstract class _$$_EstmateDocCopyWith<$Res> +abstract class _$$EstmateDocImplCopyWith<$Res> implements $EstmateDocCopyWith<$Res> { - factory _$$_EstmateDocCopyWith( - _$_EstmateDoc value, $Res Function(_$_EstmateDoc) then) = - __$$_EstmateDocCopyWithImpl<$Res>; + factory _$$EstmateDocImplCopyWith( + _$EstmateDocImpl value, $Res Function(_$EstmateDocImpl) then) = + __$$EstmateDocImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -5883,11 +5703,11 @@ abstract class _$$_EstmateDocCopyWith<$Res> } /// @nodoc -class __$$_EstmateDocCopyWithImpl<$Res> - extends _$EstmateDocCopyWithImpl<$Res, _$_EstmateDoc> - implements _$$_EstmateDocCopyWith<$Res> { - __$$_EstmateDocCopyWithImpl( - _$_EstmateDoc _value, $Res Function(_$_EstmateDoc) _then) +class __$$EstmateDocImplCopyWithImpl<$Res> + extends _$EstmateDocCopyWithImpl<$Res, _$EstmateDocImpl> + implements _$$EstmateDocImplCopyWith<$Res> { + __$$EstmateDocImplCopyWithImpl( + _$EstmateDocImpl _value, $Res Function(_$EstmateDocImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -5899,7 +5719,7 @@ class __$$_EstmateDocCopyWithImpl<$Res> Object? documentUid = freezed, Object? fileStoreId = freezed, }) { - return _then(_$_EstmateDoc( + return _then(_$EstmateDocImpl( fileName: freezed == fileName ? _value.fileName : fileName // ignore: cast_nullable_to_non_nullable @@ -5926,16 +5746,16 @@ class __$$_EstmateDocCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_EstmateDoc implements _EstmateDoc { - const _$_EstmateDoc( +class _$EstmateDocImpl implements _EstmateDoc { + const _$EstmateDocImpl( {@JsonKey(name: 'fileName') this.fileName, @JsonKey(name: 'fileType') this.fileType, @JsonKey(name: 'tenantId') this.tenantId, @JsonKey(name: 'documentUid') this.documentUid, @JsonKey(name: 'fileStoreId') this.fileStoreId}); - factory _$_EstmateDoc.fromJson(Map json) => - _$$_EstmateDocFromJson(json); + factory _$EstmateDocImpl.fromJson(Map json) => + _$$EstmateDocImplFromJson(json); @override @JsonKey(name: 'fileName') @@ -5959,10 +5779,10 @@ class _$_EstmateDoc implements _EstmateDoc { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_EstmateDoc && + other is _$EstmateDocImpl && (identical(other.fileName, fileName) || other.fileName == fileName) && (identical(other.fileType, fileType) || @@ -5983,12 +5803,12 @@ class _$_EstmateDoc implements _EstmateDoc { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_EstmateDocCopyWith<_$_EstmateDoc> get copyWith => - __$$_EstmateDocCopyWithImpl<_$_EstmateDoc>(this, _$identity); + _$$EstmateDocImplCopyWith<_$EstmateDocImpl> get copyWith => + __$$EstmateDocImplCopyWithImpl<_$EstmateDocImpl>(this, _$identity); @override Map toJson() { - return _$$_EstmateDocToJson( + return _$$EstmateDocImplToJson( this, ); } @@ -5996,14 +5816,15 @@ class _$_EstmateDoc implements _EstmateDoc { abstract class _EstmateDoc implements EstmateDoc { const factory _EstmateDoc( - {@JsonKey(name: 'fileName') final String? fileName, - @JsonKey(name: 'fileType') final String? fileType, - @JsonKey(name: 'tenantId') final String? tenantId, - @JsonKey(name: 'documentUid') final String? documentUid, - @JsonKey(name: 'fileStoreId') final String? fileStoreId}) = _$_EstmateDoc; + {@JsonKey(name: 'fileName') final String? fileName, + @JsonKey(name: 'fileType') final String? fileType, + @JsonKey(name: 'tenantId') final String? tenantId, + @JsonKey(name: 'documentUid') final String? documentUid, + @JsonKey(name: 'fileStoreId') final String? fileStoreId}) = + _$EstmateDocImpl; factory _EstmateDoc.fromJson(Map json) = - _$_EstmateDoc.fromJson; + _$EstmateDocImpl.fromJson; @override @JsonKey(name: 'fileName') @@ -6022,7 +5843,7 @@ abstract class _EstmateDoc implements EstmateDoc { String? get fileStoreId; @override @JsonKey(ignore: true) - _$$_EstmateDocCopyWith<_$_EstmateDoc> get copyWith => + _$$EstmateDocImplCopyWith<_$EstmateDocImpl> get copyWith => throw _privateConstructorUsedError; } @@ -6075,22 +5896,22 @@ class _$TermsAndConditionsCopyWithImpl<$Res, $Val extends TermsAndConditions> } /// @nodoc -abstract class _$$_TermsAndConditionsCopyWith<$Res> +abstract class _$$TermsAndConditionsImplCopyWith<$Res> implements $TermsAndConditionsCopyWith<$Res> { - factory _$$_TermsAndConditionsCopyWith(_$_TermsAndConditions value, - $Res Function(_$_TermsAndConditions) then) = - __$$_TermsAndConditionsCopyWithImpl<$Res>; + factory _$$TermsAndConditionsImplCopyWith(_$TermsAndConditionsImpl value, + $Res Function(_$TermsAndConditionsImpl) then) = + __$$TermsAndConditionsImplCopyWithImpl<$Res>; @override @useResult $Res call({@JsonKey(name: 'description') String? description}); } /// @nodoc -class __$$_TermsAndConditionsCopyWithImpl<$Res> - extends _$TermsAndConditionsCopyWithImpl<$Res, _$_TermsAndConditions> - implements _$$_TermsAndConditionsCopyWith<$Res> { - __$$_TermsAndConditionsCopyWithImpl( - _$_TermsAndConditions _value, $Res Function(_$_TermsAndConditions) _then) +class __$$TermsAndConditionsImplCopyWithImpl<$Res> + extends _$TermsAndConditionsCopyWithImpl<$Res, _$TermsAndConditionsImpl> + implements _$$TermsAndConditionsImplCopyWith<$Res> { + __$$TermsAndConditionsImplCopyWithImpl(_$TermsAndConditionsImpl _value, + $Res Function(_$TermsAndConditionsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -6098,7 +5919,7 @@ class __$$_TermsAndConditionsCopyWithImpl<$Res> $Res call({ Object? description = freezed, }) { - return _then(_$_TermsAndConditions( + return _then(_$TermsAndConditionsImpl( description: freezed == description ? _value.description : description // ignore: cast_nullable_to_non_nullable @@ -6109,11 +5930,12 @@ class __$$_TermsAndConditionsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_TermsAndConditions implements _TermsAndConditions { - const _$_TermsAndConditions({@JsonKey(name: 'description') this.description}); +class _$TermsAndConditionsImpl implements _TermsAndConditions { + const _$TermsAndConditionsImpl( + {@JsonKey(name: 'description') this.description}); - factory _$_TermsAndConditions.fromJson(Map json) => - _$$_TermsAndConditionsFromJson(json); + factory _$TermsAndConditionsImpl.fromJson(Map json) => + _$$TermsAndConditionsImplFromJson(json); @override @JsonKey(name: 'description') @@ -6125,10 +5947,10 @@ class _$_TermsAndConditions implements _TermsAndConditions { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_TermsAndConditions && + other is _$TermsAndConditionsImpl && (identical(other.description, description) || other.description == description)); } @@ -6140,13 +5962,13 @@ class _$_TermsAndConditions implements _TermsAndConditions { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_TermsAndConditionsCopyWith<_$_TermsAndConditions> get copyWith => - __$$_TermsAndConditionsCopyWithImpl<_$_TermsAndConditions>( + _$$TermsAndConditionsImplCopyWith<_$TermsAndConditionsImpl> get copyWith => + __$$TermsAndConditionsImplCopyWithImpl<_$TermsAndConditionsImpl>( this, _$identity); @override Map toJson() { - return _$$_TermsAndConditionsToJson( + return _$$TermsAndConditionsImplToJson( this, ); } @@ -6155,17 +5977,17 @@ class _$_TermsAndConditions implements _TermsAndConditions { abstract class _TermsAndConditions implements TermsAndConditions { const factory _TermsAndConditions( {@JsonKey(name: 'description') final String? description}) = - _$_TermsAndConditions; + _$TermsAndConditionsImpl; factory _TermsAndConditions.fromJson(Map json) = - _$_TermsAndConditions.fromJson; + _$TermsAndConditionsImpl.fromJson; @override @JsonKey(name: 'description') String? get description; @override @JsonKey(ignore: true) - _$$_TermsAndConditionsCopyWith<_$_TermsAndConditions> get copyWith => + _$$TermsAndConditionsImplCopyWith<_$TermsAndConditionsImpl> get copyWith => throw _privateConstructorUsedError; } @@ -6320,10 +6142,11 @@ class _$LineItemCopyWithImpl<$Res, $Val extends LineItem> } /// @nodoc -abstract class _$$_LineItemCopyWith<$Res> implements $LineItemCopyWith<$Res> { - factory _$$_LineItemCopyWith( - _$_LineItem value, $Res Function(_$_LineItem) then) = - __$$_LineItemCopyWithImpl<$Res>; +abstract class _$$LineItemImplCopyWith<$Res> + implements $LineItemCopyWith<$Res> { + factory _$$LineItemImplCopyWith( + _$LineItemImpl value, $Res Function(_$LineItemImpl) then) = + __$$LineItemImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -6345,11 +6168,11 @@ abstract class _$$_LineItemCopyWith<$Res> implements $LineItemCopyWith<$Res> { } /// @nodoc -class __$$_LineItemCopyWithImpl<$Res> - extends _$LineItemCopyWithImpl<$Res, _$_LineItem> - implements _$$_LineItemCopyWith<$Res> { - __$$_LineItemCopyWithImpl( - _$_LineItem _value, $Res Function(_$_LineItem) _then) +class __$$LineItemImplCopyWithImpl<$Res> + extends _$LineItemCopyWithImpl<$Res, _$LineItemImpl> + implements _$$LineItemImplCopyWith<$Res> { + __$$LineItemImplCopyWithImpl( + _$LineItemImpl _value, $Res Function(_$LineItemImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -6368,7 +6191,7 @@ class __$$_LineItemCopyWithImpl<$Res> Object? amountBreakups = freezed, Object? auditDetails = freezed, }) { - return _then(_$_LineItem( + return _then(_$LineItemImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -6423,36 +6246,25 @@ class __$$_LineItemCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_LineItem implements _LineItem { - const _$_LineItem( - {@JsonKey(name: 'id') - this.id, - @JsonKey(name: 'estimateId') - this.estimateId, - @JsonKey(name: 'estimateLineItemId') - this.estimateLineItemId, - @JsonKey(name: 'contractLineItemRef') - this.contractLineItemRef, - @JsonKey(name: 'tenantId') - this.tenantId, - @JsonKey(name: 'unitRate') - this.unitRate, - @JsonKey(name: 'category') - this.category, - @JsonKey(name: 'noOfunit') - this.noOfunit, - @JsonKey(name: 'name') - this.name, - @JsonKey(name: 'status') - this.status, +class _$LineItemImpl implements _LineItem { + const _$LineItemImpl( + {@JsonKey(name: 'id') this.id, + @JsonKey(name: 'estimateId') this.estimateId, + @JsonKey(name: 'estimateLineItemId') this.estimateLineItemId, + @JsonKey(name: 'contractLineItemRef') this.contractLineItemRef, + @JsonKey(name: 'tenantId') this.tenantId, + @JsonKey(name: 'unitRate') this.unitRate, + @JsonKey(name: 'category') this.category, + @JsonKey(name: 'noOfunit') this.noOfunit, + @JsonKey(name: 'name') this.name, + @JsonKey(name: 'status') this.status, @JsonKey(name: 'amountBreakups') - final List? amountBreakups, - @JsonKey(name: 'auditDetails') - this.auditDetails}) + final List? amountBreakups, + @JsonKey(name: 'auditDetails') this.auditDetails}) : _amountBreakups = amountBreakups; - factory _$_LineItem.fromJson(Map json) => - _$$_LineItemFromJson(json); + factory _$LineItemImpl.fromJson(Map json) => + _$$LineItemImplFromJson(json); @override @JsonKey(name: 'id') @@ -6505,10 +6317,10 @@ class _$_LineItem implements _LineItem { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_LineItem && + other is _$LineItemImpl && (identical(other.id, id) || other.id == id) && (identical(other.estimateId, estimateId) || other.estimateId == estimateId) && @@ -6552,12 +6364,12 @@ class _$_LineItem implements _LineItem { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LineItemCopyWith<_$_LineItem> get copyWith => - __$$_LineItemCopyWithImpl<_$_LineItem>(this, _$identity); + _$$LineItemImplCopyWith<_$LineItemImpl> get copyWith => + __$$LineItemImplCopyWithImpl<_$LineItemImpl>(this, _$identity); @override Map toJson() { - return _$$_LineItemToJson( + return _$$LineItemImplToJson( this, ); } @@ -6565,32 +6377,23 @@ class _$_LineItem implements _LineItem { abstract class _LineItem implements LineItem { const factory _LineItem( - {@JsonKey(name: 'id') - final String? id, - @JsonKey(name: 'estimateId') - final String? estimateId, - @JsonKey(name: 'estimateLineItemId') - final String? estimateLineItemId, - @JsonKey(name: 'contractLineItemRef') - final String? contractLineItemRef, - @JsonKey(name: 'tenantId') - final String? tenantId, - @JsonKey(name: 'unitRate') - final double? unitRate, - @JsonKey(name: 'category') - final String? category, - @JsonKey(name: 'noOfunit') - final num? noOfunit, - @JsonKey(name: 'name') - final String? name, - @JsonKey(name: 'status') - final String? status, + {@JsonKey(name: 'id') final String? id, + @JsonKey(name: 'estimateId') final String? estimateId, + @JsonKey(name: 'estimateLineItemId') final String? estimateLineItemId, + @JsonKey(name: 'contractLineItemRef') final String? contractLineItemRef, + @JsonKey(name: 'tenantId') final String? tenantId, + @JsonKey(name: 'unitRate') final double? unitRate, + @JsonKey(name: 'category') final String? category, + @JsonKey(name: 'noOfunit') final num? noOfunit, + @JsonKey(name: 'name') final String? name, + @JsonKey(name: 'status') final String? status, @JsonKey(name: 'amountBreakups') - final List? amountBreakups, + final List? amountBreakups, @JsonKey(name: 'auditDetails') - final AuditDetails? auditDetails}) = _$_LineItem; + final AuditDetails? auditDetails}) = _$LineItemImpl; - factory _LineItem.fromJson(Map json) = _$_LineItem.fromJson; + factory _LineItem.fromJson(Map json) = + _$LineItemImpl.fromJson; @override @JsonKey(name: 'id') @@ -6630,7 +6433,7 @@ abstract class _LineItem implements LineItem { AuditDetails? get auditDetails; @override @JsonKey(ignore: true) - _$$_LineItemCopyWith<_$_LineItem> get copyWith => + _$$LineItemImplCopyWith<_$LineItemImpl> get copyWith => throw _privateConstructorUsedError; } @@ -6708,11 +6511,11 @@ class _$AmountBreakupCopyWithImpl<$Res, $Val extends AmountBreakup> } /// @nodoc -abstract class _$$_AmountBreakupCopyWith<$Res> +abstract class _$$AmountBreakupImplCopyWith<$Res> implements $AmountBreakupCopyWith<$Res> { - factory _$$_AmountBreakupCopyWith( - _$_AmountBreakup value, $Res Function(_$_AmountBreakup) then) = - __$$_AmountBreakupCopyWithImpl<$Res>; + factory _$$AmountBreakupImplCopyWith( + _$AmountBreakupImpl value, $Res Function(_$AmountBreakupImpl) then) = + __$$AmountBreakupImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -6723,11 +6526,11 @@ abstract class _$$_AmountBreakupCopyWith<$Res> } /// @nodoc -class __$$_AmountBreakupCopyWithImpl<$Res> - extends _$AmountBreakupCopyWithImpl<$Res, _$_AmountBreakup> - implements _$$_AmountBreakupCopyWith<$Res> { - __$$_AmountBreakupCopyWithImpl( - _$_AmountBreakup _value, $Res Function(_$_AmountBreakup) _then) +class __$$AmountBreakupImplCopyWithImpl<$Res> + extends _$AmountBreakupCopyWithImpl<$Res, _$AmountBreakupImpl> + implements _$$AmountBreakupImplCopyWith<$Res> { + __$$AmountBreakupImplCopyWithImpl( + _$AmountBreakupImpl _value, $Res Function(_$AmountBreakupImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -6738,7 +6541,7 @@ class __$$_AmountBreakupCopyWithImpl<$Res> Object? amount = freezed, Object? status = freezed, }) { - return _then(_$_AmountBreakup( + return _then(_$AmountBreakupImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -6761,15 +6564,15 @@ class __$$_AmountBreakupCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AmountBreakup implements _AmountBreakup { - const _$_AmountBreakup( +class _$AmountBreakupImpl implements _AmountBreakup { + const _$AmountBreakupImpl( {@JsonKey(name: 'id') this.id, @JsonKey(name: 'estimateAmountBreakupId') this.estimateAmountBreakupId, @JsonKey(name: 'amount') this.amount, @JsonKey(name: 'status') this.status}); - factory _$_AmountBreakup.fromJson(Map json) => - _$$_AmountBreakupFromJson(json); + factory _$AmountBreakupImpl.fromJson(Map json) => + _$$AmountBreakupImplFromJson(json); @override @JsonKey(name: 'id') @@ -6790,10 +6593,10 @@ class _$_AmountBreakup implements _AmountBreakup { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AmountBreakup && + other is _$AmountBreakupImpl && (identical(other.id, id) || other.id == id) && (identical( other.estimateAmountBreakupId, estimateAmountBreakupId) || @@ -6810,12 +6613,12 @@ class _$_AmountBreakup implements _AmountBreakup { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AmountBreakupCopyWith<_$_AmountBreakup> get copyWith => - __$$_AmountBreakupCopyWithImpl<_$_AmountBreakup>(this, _$identity); + _$$AmountBreakupImplCopyWith<_$AmountBreakupImpl> get copyWith => + __$$AmountBreakupImplCopyWithImpl<_$AmountBreakupImpl>(this, _$identity); @override Map toJson() { - return _$$_AmountBreakupToJson( + return _$$AmountBreakupImplToJson( this, ); } @@ -6823,17 +6626,14 @@ class _$_AmountBreakup implements _AmountBreakup { abstract class _AmountBreakup implements AmountBreakup { const factory _AmountBreakup( - {@JsonKey(name: 'id') - final String? id, + {@JsonKey(name: 'id') final String? id, @JsonKey(name: 'estimateAmountBreakupId') - final String? estimateAmountBreakupId, - @JsonKey(name: 'amount') - final double? amount, - @JsonKey(name: 'status') - final String? status}) = _$_AmountBreakup; + final String? estimateAmountBreakupId, + @JsonKey(name: 'amount') final double? amount, + @JsonKey(name: 'status') final String? status}) = _$AmountBreakupImpl; factory _AmountBreakup.fromJson(Map json) = - _$_AmountBreakup.fromJson; + _$AmountBreakupImpl.fromJson; @override @JsonKey(name: 'id') @@ -6849,6 +6649,6 @@ abstract class _AmountBreakup implements AmountBreakup { String? get status; @override @JsonKey(ignore: true) - _$$_AmountBreakupCopyWith<_$_AmountBreakup> get copyWith => + _$$AmountBreakupImplCopyWith<_$AmountBreakupImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.g.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.g.dart index c12a31d4e4..603f2bc520 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.g.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.g.dart @@ -6,10 +6,11 @@ part of 'mb_inbox_response.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_MBInboxResponse _$$_MBInboxResponseFromJson(Map json) => - _$_MBInboxResponse( - totalCount: json['totalCount'] as int?, - nearingSlaCount: json['nearingSlaCount'] as int?, +_$MBInboxResponseImpl _$$MBInboxResponseImplFromJson( + Map json) => + _$MBInboxResponseImpl( + totalCount: (json['totalCount'] as num?)?.toInt(), + nearingSlaCount: (json['nearingSlaCount'] as num?)?.toInt(), statusMap: (json['statusMap'] as List?) ?.map((e) => StatusMap.fromJson(e as Map)) .toList(), @@ -18,7 +19,8 @@ _$_MBInboxResponse _$$_MBInboxResponseFromJson(Map json) => .toList(), ); -Map _$$_MBInboxResponseToJson(_$_MBInboxResponse instance) => +Map _$$MBInboxResponseImplToJson( + _$MBInboxResponseImpl instance) => { 'totalCount': instance.totalCount, 'nearingSlaCount': instance.nearingSlaCount, @@ -26,15 +28,16 @@ Map _$$_MBInboxResponseToJson(_$_MBInboxResponse instance) => 'items': instance.items, }; -_$_StatusMap _$$_StatusMapFromJson(Map json) => _$_StatusMap( +_$StatusMapImpl _$$StatusMapImplFromJson(Map json) => + _$StatusMapImpl( statusid: json['statusid'] as String?, - count: json['count'] as int?, + count: (json['count'] as num?)?.toInt(), state: json['state'] as String?, applicationstatus: json['applicationstatus'] as String?, businessservice: json['businessservice'] as String?, ); -Map _$$_StatusMapToJson(_$_StatusMap instance) => +Map _$$StatusMapImplToJson(_$StatusMapImpl instance) => { 'statusid': instance.statusid, 'count': instance.count, @@ -43,7 +46,8 @@ Map _$$_StatusMapToJson(_$_StatusMap instance) => 'businessservice': instance.businessservice, }; -_$_ItemData _$$_ItemDataFromJson(Map json) => _$_ItemData( +_$ItemDataImpl _$$ItemDataImplFromJson(Map json) => + _$ItemDataImpl( processInstance: json['ProcessInstance'] == null ? null : ProcessInstance.fromJson( @@ -54,22 +58,23 @@ _$_ItemData _$$_ItemDataFromJson(Map json) => _$_ItemData( json['businessObject'] as Map), ); -Map _$$_ItemDataToJson(_$_ItemData instance) => +Map _$$ItemDataImplToJson(_$ItemDataImpl instance) => { 'ProcessInstance': instance.processInstance, 'businessObject': instance.businessObject, }; -_$_ProcessInstance _$$_ProcessInstanceFromJson(Map json) => - _$_ProcessInstance( +_$ProcessInstanceImpl _$$ProcessInstanceImplFromJson( + Map json) => + _$ProcessInstanceImpl( id: json['id'] as String?, tenantId: json['tenantId'] as String?, businessService: json['businessService'] as String?, businessId: json['businessId'] as String?, action: json['action'] as String?, moduleName: json['moduleName'] as String?, - businesssServiceSla: json['businesssServiceSla'] as int?, - rating: json['rating'] as int?, + businesssServiceSla: (json['businesssServiceSla'] as num?)?.toInt(), + rating: (json['rating'] as num?)?.toInt(), state: json['state'] == null ? null : State.fromJson(json['state'] as Map), @@ -84,7 +89,8 @@ _$_ProcessInstance _$$_ProcessInstanceFromJson(Map json) => .toList(), ); -Map _$$_ProcessInstanceToJson(_$_ProcessInstance instance) => +Map _$$ProcessInstanceImplToJson( + _$ProcessInstanceImpl instance) => { 'id': instance.id, 'tenantId': instance.tenantId, @@ -100,15 +106,15 @@ Map _$$_ProcessInstanceToJson(_$_ProcessInstance instance) => 'assignes': instance.assignes, }; -_$_AuditDetails _$$_AuditDetailsFromJson(Map json) => - _$_AuditDetails( +_$AuditDetailsImpl _$$AuditDetailsImplFromJson(Map json) => + _$AuditDetailsImpl( createdBy: json['createdBy'] as String?, lastModifiedBy: json['lastModifiedBy'] as String?, - createdTime: json['createdTime'] as int?, - lastModifiedTime: json['lastModifiedTime'] as int?, + createdTime: (json['createdTime'] as num?)?.toInt(), + lastModifiedTime: (json['lastModifiedTime'] as num?)?.toInt(), ); -Map _$$_AuditDetailsToJson(_$_AuditDetails instance) => +Map _$$AuditDetailsImplToJson(_$AuditDetailsImpl instance) => { 'createdBy': instance.createdBy, 'lastModifiedBy': instance.lastModifiedBy, @@ -116,11 +122,11 @@ Map _$$_AuditDetailsToJson(_$_AuditDetails instance) => 'lastModifiedTime': instance.lastModifiedTime, }; -_$_State _$$_StateFromJson(Map json) => _$_State( +_$StateImpl _$$StateImplFromJson(Map json) => _$StateImpl( uuid: json['uuid'] as String?, tenantId: json['tenantId'] as String?, businessServiceId: json['businessServiceId'] as String?, - sla: json['sla'] as int?, + sla: (json['sla'] as num?)?.toInt(), state: json['state'] as String?, applicationStatus: json['applicationStatus'] as String?, docUploadRequired: json['docUploadRequired'] as bool?, @@ -132,7 +138,8 @@ _$_State _$$_StateFromJson(Map json) => _$_State( .toList(), ); -Map _$$_StateToJson(_$_State instance) => { +Map _$$StateImplToJson(_$StateImpl instance) => + { 'uuid': instance.uuid, 'tenantId': instance.tenantId, 'businessServiceId': instance.businessServiceId, @@ -146,7 +153,7 @@ Map _$$_StateToJson(_$_State instance) => { 'actions': instance.actions, }; -_$_Action _$$_ActionFromJson(Map json) => _$_Action( +_$ActionImpl _$$ActionImplFromJson(Map json) => _$ActionImpl( uuid: json['uuid'] as String?, tenantId: json['tenantId'] as String?, currentState: json['currentState'] as String?, @@ -157,7 +164,8 @@ _$_Action _$$_ActionFromJson(Map json) => _$_Action( (json['roles'] as List?)?.map((e) => e as String).toList(), ); -Map _$$_ActionToJson(_$_Action instance) => { +Map _$$ActionImplToJson(_$ActionImpl instance) => + { 'uuid': instance.uuid, 'tenantId': instance.tenantId, 'currentState': instance.currentState, @@ -167,8 +175,9 @@ Map _$$_ActionToJson(_$_Action instance) => { 'roles': instance.roles, }; -_$_Assigner _$$_AssignerFromJson(Map json) => _$_Assigner( - id: json['id'] as int?, +_$AssignerImpl _$$AssignerImplFromJson(Map json) => + _$AssignerImpl( + id: (json['id'] as num?)?.toInt(), userName: json['userName'] as String?, name: json['name'] as String?, type: json['type'] as String?, @@ -181,7 +190,7 @@ _$_Assigner _$$_AssignerFromJson(Map json) => _$_Assigner( .toList(), ); -Map _$$_AssignerToJson(_$_Assigner instance) => +Map _$$AssignerImplToJson(_$AssignerImpl instance) => { 'id': instance.id, 'userName': instance.userName, @@ -194,8 +203,9 @@ Map _$$_AssignerToJson(_$_Assigner instance) => 'roles': instance.roles, }; -_$_Assigne _$$_AssigneFromJson(Map json) => _$_Assigne( - id: json['id'] as int?, +_$AssigneImpl _$$AssigneImplFromJson(Map json) => + _$AssigneImpl( + id: (json['id'] as num?)?.toInt(), userName: json['userName'] as String?, name: json['name'] as String?, type: json['type'] as String?, @@ -208,7 +218,7 @@ _$_Assigne _$$_AssigneFromJson(Map json) => _$_Assigne( .toList(), ); -Map _$$_AssigneToJson(_$_Assigne instance) => +Map _$$AssigneImplToJson(_$AssigneImpl instance) => { 'id': instance.id, 'userName': instance.userName, @@ -221,22 +231,23 @@ Map _$$_AssigneToJson(_$_Assigne instance) => 'roles': instance.roles, }; -_$_Role _$$_RoleFromJson(Map json) => _$_Role( +_$RoleImpl _$$RoleImplFromJson(Map json) => _$RoleImpl( name: json['name'] as String?, id: json['id'] as String?, code: json['code'] as String?, tenantId: json['tenantId'] as String?, ); -Map _$$_RoleToJson(_$_Role instance) => { +Map _$$RoleImplToJson(_$RoleImpl instance) => + { 'name': instance.name, 'id': instance.id, 'code': instance.code, 'tenantId': instance.tenantId, }; -_$_BusinessObject _$$_BusinessObjectFromJson(Map json) => - _$_BusinessObject( +_$BusinessObjectImpl _$$BusinessObjectImplFromJson(Map json) => + _$BusinessObjectImpl( measurementNumber: json['measurementNumber'] as String?, id: json['id'] as String?, referenceId: json['referenceId'] as String?, @@ -249,14 +260,15 @@ _$_BusinessObject _$$_BusinessObjectFromJson(Map json) => contract: json['contract'] == null ? null : Contract.fromJson(json['contract'] as Map), - serviceSla: json['serviceSla'] as int?, + serviceSla: (json['serviceSla'] as num?)?.toInt(), measurementAdditionalDetail: json['additionalDetails'] == null ? null : MeasurementAdditionalDetail.fromJson( json['additionalDetails'] as Map), ); -Map _$$_BusinessObjectToJson(_$_BusinessObject instance) => +Map _$$BusinessObjectImplToJson( + _$BusinessObjectImpl instance) => { 'measurementNumber': instance.measurementNumber, 'id': instance.id, @@ -268,7 +280,8 @@ Map _$$_BusinessObjectToJson(_$_BusinessObject instance) => 'additionalDetails': instance.measurementAdditionalDetail, }; -_$_Measure _$$_MeasureFromJson(Map json) => _$_Measure( +_$MeasureImpl _$$MeasureImplFromJson(Map json) => + _$MeasureImpl( description: json['description'] as String?, comments: json['comments'] as String?, targetId: json['targetId'] as String?, @@ -287,7 +300,7 @@ _$_Measure _$$_MeasureFromJson(Map json) => _$_Measure( json['additionalDetails'] as Map), ); -Map _$$_MeasureToJson(_$_Measure instance) => +Map _$$MeasureImplToJson(_$MeasureImpl instance) => { 'description': instance.description, 'comments': instance.comments, @@ -304,9 +317,9 @@ Map _$$_MeasureToJson(_$_Measure instance) => 'additionalDetails': instance.measureAdditionalDetails, }; -_$_MeasureAdditionalDetails _$$_MeasureAdditionalDetailsFromJson( +_$MeasureAdditionalDetailsImpl _$$MeasureAdditionalDetailsImplFromJson( Map json) => - _$_MeasureAdditionalDetails( + _$MeasureAdditionalDetailsImpl( type: json['type'] as String?, mbAmount: (json['mbAmount'] as num?)?.toDouble(), measureLineItems: (json['measureLineItems'] as List?) @@ -314,16 +327,17 @@ _$_MeasureAdditionalDetails _$$_MeasureAdditionalDetailsFromJson( .toList(), ); -Map _$$_MeasureAdditionalDetailsToJson( - _$_MeasureAdditionalDetails instance) => +Map _$$MeasureAdditionalDetailsImplToJson( + _$MeasureAdditionalDetailsImpl instance) => { 'type': instance.type, 'mbAmount': instance.mbAmount, 'measureLineItems': instance.measureLineItems, }; -_$_MeasureLineItem _$$_MeasureLineItemFromJson(Map json) => - _$_MeasureLineItem( +_$MeasureLineItemImpl _$$MeasureLineItemImplFromJson( + Map json) => + _$MeasureLineItemImpl( width: json['width'], height: json['height'], length: json['length'], @@ -332,7 +346,8 @@ _$_MeasureLineItem _$$_MeasureLineItemFromJson(Map json) => measurelineitemNo: json['measurelineitemNo'], ); -Map _$$_MeasureLineItemToJson(_$_MeasureLineItem instance) => +Map _$$MeasureLineItemImplToJson( + _$MeasureLineItemImpl instance) => { 'width': instance.width, 'height': instance.height, @@ -342,10 +357,11 @@ Map _$$_MeasureLineItemToJson(_$_MeasureLineItem instance) => 'measurelineitemNo': instance.measurelineitemNo, }; -_$_Contract _$$_ContractFromJson(Map json) => _$_Contract( +_$ContractImpl _$$ContractImplFromJson(Map json) => + _$ContractImpl( contractNumber: json['contractNumber'] as String?, id: json['id'] as String?, - versionNumber: json['versionNumber'] as int?, + versionNumber: (json['versionNumber'] as num?)?.toInt(), oldUuid: json['oldUuid'] as String?, businessService: json['businessService'] as String?, tenantId: json['tenantId'] as String?, @@ -355,13 +371,13 @@ _$_Contract _$$_ContractFromJson(Map json) => _$_Contract( totalContractedAmount: (json['totalContractedAmount'] as num?)?.toDouble(), securityDeposit: (json['securityDeposit'] as num?)?.toDouble(), - agreementDate: json['agreementDate'] as int?, - issueDate: json['issueDate'] as int?, - defectLiabilityPeriod: json['defectLiabilityPeriod'] as int?, + agreementDate: (json['agreementDate'] as num?)?.toInt(), + issueDate: (json['issueDate'] as num?)?.toInt(), + defectLiabilityPeriod: (json['defectLiabilityPeriod'] as num?)?.toInt(), orgId: json['orgId'] as String?, - startDate: json['startDate'] as int?, - endDate: json['endDate'] as int?, - completionPeriod: json['completionPeriod'] as int?, + startDate: (json['startDate'] as num?)?.toInt(), + endDate: (json['endDate'] as num?)?.toInt(), + completionPeriod: (json['completionPeriod'] as num?)?.toInt(), status: json['status'] as String?, lineItems: (json['lineItems'] as List?) ?.map((e) => LineItem.fromJson(e as Map)) @@ -372,7 +388,7 @@ _$_Contract _$$_ContractFromJson(Map json) => _$_Contract( json['additionalDetails'] as Map), ); -Map _$$_ContractToJson(_$_Contract instance) => +Map _$$ContractImplToJson(_$ContractImpl instance) => { 'contractNumber': instance.contractNumber, 'id': instance.id, @@ -397,9 +413,9 @@ Map _$$_ContractToJson(_$_Contract instance) => 'additionalDetails': instance.additionalDetails, }; -_$_ContractAdditionalDetails _$$_ContractAdditionalDetailsFromJson( +_$ContractAdditionalDetailsImpl _$$ContractAdditionalDetailsImplFromJson( Map json) => - _$_ContractAdditionalDetails( + _$ContractAdditionalDetailsImpl( orgName: json['orgName'] as String?, totalEstimatedAmount: (json['totalEstimatedAmount'] as num?)?.toDouble(), attendanceRegisterNumber: json['attendanceRegisterNumber'] as String?, @@ -417,7 +433,7 @@ _$_ContractAdditionalDetails _$$_ContractAdditionalDetailsFromJson( projectId: json['projectId'] as String?, cboName: json['cboName'] as String?, timeExt: json['timeExt'], - completionPeriod: json['completionPeriod'] as int?, + completionPeriod: (json['completionPeriod'] as num?)?.toInt(), estmateDocs: (json['estimateDocs'] as List?) ?.map((e) => EstmateDoc.fromJson(e as Map)) .toList(), @@ -426,8 +442,8 @@ _$_ContractAdditionalDetails _$$_ContractAdditionalDetailsFromJson( .toList(), ); -Map _$$_ContractAdditionalDetailsToJson( - _$_ContractAdditionalDetails instance) => +Map _$$ContractAdditionalDetailsImplToJson( + _$ContractAdditionalDetailsImpl instance) => { 'orgName': instance.orgName, 'totalEstimatedAmount': instance.totalEstimatedAmount, @@ -451,8 +467,8 @@ Map _$$_ContractAdditionalDetailsToJson( 'termsAndConditions': instance.termsAndConditions, }; -_$_EstmateDoc _$$_EstmateDocFromJson(Map json) => - _$_EstmateDoc( +_$EstmateDocImpl _$$EstmateDocImplFromJson(Map json) => + _$EstmateDocImpl( fileName: json['fileName'] as String?, fileType: json['fileType'] as String?, tenantId: json['tenantId'] as String?, @@ -460,7 +476,7 @@ _$_EstmateDoc _$$_EstmateDocFromJson(Map json) => fileStoreId: json['fileStoreId'] as String?, ); -Map _$$_EstmateDocToJson(_$_EstmateDoc instance) => +Map _$$EstmateDocImplToJson(_$EstmateDocImpl instance) => { 'fileName': instance.fileName, 'fileType': instance.fileType, @@ -469,19 +485,20 @@ Map _$$_EstmateDocToJson(_$_EstmateDoc instance) => 'fileStoreId': instance.fileStoreId, }; -_$_TermsAndConditions _$$_TermsAndConditionsFromJson( +_$TermsAndConditionsImpl _$$TermsAndConditionsImplFromJson( Map json) => - _$_TermsAndConditions( + _$TermsAndConditionsImpl( description: json['description'] as String?, ); -Map _$$_TermsAndConditionsToJson( - _$_TermsAndConditions instance) => +Map _$$TermsAndConditionsImplToJson( + _$TermsAndConditionsImpl instance) => { 'description': instance.description, }; -_$_LineItem _$$_LineItemFromJson(Map json) => _$_LineItem( +_$LineItemImpl _$$LineItemImplFromJson(Map json) => + _$LineItemImpl( id: json['id'] as String?, estimateId: json['estimateId'] as String?, estimateLineItemId: json['estimateLineItemId'] as String?, @@ -500,7 +517,7 @@ _$_LineItem _$$_LineItemFromJson(Map json) => _$_LineItem( : AuditDetails.fromJson(json['auditDetails'] as Map), ); -Map _$$_LineItemToJson(_$_LineItem instance) => +Map _$$LineItemImplToJson(_$LineItemImpl instance) => { 'id': instance.id, 'estimateId': instance.estimateId, @@ -516,15 +533,15 @@ Map _$$_LineItemToJson(_$_LineItem instance) => 'auditDetails': instance.auditDetails, }; -_$_AmountBreakup _$$_AmountBreakupFromJson(Map json) => - _$_AmountBreakup( +_$AmountBreakupImpl _$$AmountBreakupImplFromJson(Map json) => + _$AmountBreakupImpl( id: json['id'] as String?, estimateAmountBreakupId: json['estimateAmountBreakupId'] as String?, amount: (json['amount'] as num?)?.toDouble(), status: json['status'] as String?, ); -Map _$$_AmountBreakupToJson(_$_AmountBreakup instance) => +Map _$$AmountBreakupImplToJson(_$AmountBreakupImpl instance) => { 'id': instance.id, 'estimateAmountBreakupId': instance.estimateAmountBreakupId, diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.freezed.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.freezed.dart index 2192eca71c..8e429d4ad7 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.freezed.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.freezed.dart @@ -12,7 +12,7 @@ part of 'mb_project_type.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); MBProjectType _$MBProjectTypeFromJson(Map json) { return _MBProjectType.fromJson(json); @@ -77,11 +77,11 @@ class _$MBProjectTypeCopyWithImpl<$Res, $Val extends MBProjectType> } /// @nodoc -abstract class _$$_MBProjectTypeCopyWith<$Res> +abstract class _$$MBProjectTypeImplCopyWith<$Res> implements $MBProjectTypeCopyWith<$Res> { - factory _$$_MBProjectTypeCopyWith( - _$_MBProjectType value, $Res Function(_$_MBProjectType) then) = - __$$_MBProjectTypeCopyWithImpl<$Res>; + factory _$$MBProjectTypeImplCopyWith( + _$MBProjectTypeImpl value, $Res Function(_$MBProjectTypeImpl) then) = + __$$MBProjectTypeImplCopyWithImpl<$Res>; @override @useResult $Res call({@JsonKey(name: 'MdmsRes') MdmsRes? mdmsRes}); @@ -91,11 +91,11 @@ abstract class _$$_MBProjectTypeCopyWith<$Res> } /// @nodoc -class __$$_MBProjectTypeCopyWithImpl<$Res> - extends _$MBProjectTypeCopyWithImpl<$Res, _$_MBProjectType> - implements _$$_MBProjectTypeCopyWith<$Res> { - __$$_MBProjectTypeCopyWithImpl( - _$_MBProjectType _value, $Res Function(_$_MBProjectType) _then) +class __$$MBProjectTypeImplCopyWithImpl<$Res> + extends _$MBProjectTypeCopyWithImpl<$Res, _$MBProjectTypeImpl> + implements _$$MBProjectTypeImplCopyWith<$Res> { + __$$MBProjectTypeImplCopyWithImpl( + _$MBProjectTypeImpl _value, $Res Function(_$MBProjectTypeImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -103,7 +103,7 @@ class __$$_MBProjectTypeCopyWithImpl<$Res> $Res call({ Object? mdmsRes = freezed, }) { - return _then(_$_MBProjectType( + return _then(_$MBProjectTypeImpl( mdmsRes: freezed == mdmsRes ? _value.mdmsRes : mdmsRes // ignore: cast_nullable_to_non_nullable @@ -114,11 +114,11 @@ class __$$_MBProjectTypeCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MBProjectType implements _MBProjectType { - const _$_MBProjectType({@JsonKey(name: 'MdmsRes') this.mdmsRes}); +class _$MBProjectTypeImpl implements _MBProjectType { + const _$MBProjectTypeImpl({@JsonKey(name: 'MdmsRes') this.mdmsRes}); - factory _$_MBProjectType.fromJson(Map json) => - _$$_MBProjectTypeFromJson(json); + factory _$MBProjectTypeImpl.fromJson(Map json) => + _$$MBProjectTypeImplFromJson(json); @override @JsonKey(name: 'MdmsRes') @@ -130,10 +130,10 @@ class _$_MBProjectType implements _MBProjectType { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MBProjectType && + other is _$MBProjectTypeImpl && (identical(other.mdmsRes, mdmsRes) || other.mdmsRes == mdmsRes)); } @@ -144,12 +144,12 @@ class _$_MBProjectType implements _MBProjectType { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MBProjectTypeCopyWith<_$_MBProjectType> get copyWith => - __$$_MBProjectTypeCopyWithImpl<_$_MBProjectType>(this, _$identity); + _$$MBProjectTypeImplCopyWith<_$MBProjectTypeImpl> get copyWith => + __$$MBProjectTypeImplCopyWithImpl<_$MBProjectTypeImpl>(this, _$identity); @override Map toJson() { - return _$$_MBProjectTypeToJson( + return _$$MBProjectTypeImplToJson( this, ); } @@ -157,17 +157,17 @@ class _$_MBProjectType implements _MBProjectType { abstract class _MBProjectType implements MBProjectType { const factory _MBProjectType( - {@JsonKey(name: 'MdmsRes') final MdmsRes? mdmsRes}) = _$_MBProjectType; + {@JsonKey(name: 'MdmsRes') final MdmsRes? mdmsRes}) = _$MBProjectTypeImpl; factory _MBProjectType.fromJson(Map json) = - _$_MBProjectType.fromJson; + _$MBProjectTypeImpl.fromJson; @override @JsonKey(name: 'MdmsRes') MdmsRes? get mdmsRes; @override @JsonKey(ignore: true) - _$$_MBProjectTypeCopyWith<_$_MBProjectType> get copyWith => + _$$MBProjectTypeImplCopyWith<_$MBProjectTypeImpl> get copyWith => throw _privateConstructorUsedError; } @@ -232,10 +232,10 @@ class _$MdmsResCopyWithImpl<$Res, $Val extends MdmsRes> } /// @nodoc -abstract class _$$_MdmsResCopyWith<$Res> implements $MdmsResCopyWith<$Res> { - factory _$$_MdmsResCopyWith( - _$_MdmsRes value, $Res Function(_$_MdmsRes) then) = - __$$_MdmsResCopyWithImpl<$Res>; +abstract class _$$MdmsResImplCopyWith<$Res> implements $MdmsResCopyWith<$Res> { + factory _$$MdmsResImplCopyWith( + _$MdmsResImpl value, $Res Function(_$MdmsResImpl) then) = + __$$MdmsResImplCopyWithImpl<$Res>; @override @useResult $Res call({@JsonKey(name: 'works') MBWorks? mbWorks}); @@ -245,10 +245,11 @@ abstract class _$$_MdmsResCopyWith<$Res> implements $MdmsResCopyWith<$Res> { } /// @nodoc -class __$$_MdmsResCopyWithImpl<$Res> - extends _$MdmsResCopyWithImpl<$Res, _$_MdmsRes> - implements _$$_MdmsResCopyWith<$Res> { - __$$_MdmsResCopyWithImpl(_$_MdmsRes _value, $Res Function(_$_MdmsRes) _then) +class __$$MdmsResImplCopyWithImpl<$Res> + extends _$MdmsResCopyWithImpl<$Res, _$MdmsResImpl> + implements _$$MdmsResImplCopyWith<$Res> { + __$$MdmsResImplCopyWithImpl( + _$MdmsResImpl _value, $Res Function(_$MdmsResImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -256,7 +257,7 @@ class __$$_MdmsResCopyWithImpl<$Res> $Res call({ Object? mbWorks = freezed, }) { - return _then(_$_MdmsRes( + return _then(_$MdmsResImpl( mbWorks: freezed == mbWorks ? _value.mbWorks : mbWorks // ignore: cast_nullable_to_non_nullable @@ -267,11 +268,11 @@ class __$$_MdmsResCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MdmsRes implements _MdmsRes { - const _$_MdmsRes({@JsonKey(name: 'works') this.mbWorks}); +class _$MdmsResImpl implements _MdmsRes { + const _$MdmsResImpl({@JsonKey(name: 'works') this.mbWorks}); - factory _$_MdmsRes.fromJson(Map json) => - _$$_MdmsResFromJson(json); + factory _$MdmsResImpl.fromJson(Map json) => + _$$MdmsResImplFromJson(json); @override @JsonKey(name: 'works') @@ -283,10 +284,10 @@ class _$_MdmsRes implements _MdmsRes { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MdmsRes && + other is _$MdmsResImpl && (identical(other.mbWorks, mbWorks) || other.mbWorks == mbWorks)); } @@ -297,12 +298,12 @@ class _$_MdmsRes implements _MdmsRes { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MdmsResCopyWith<_$_MdmsRes> get copyWith => - __$$_MdmsResCopyWithImpl<_$_MdmsRes>(this, _$identity); + _$$MdmsResImplCopyWith<_$MdmsResImpl> get copyWith => + __$$MdmsResImplCopyWithImpl<_$MdmsResImpl>(this, _$identity); @override Map toJson() { - return _$$_MdmsResToJson( + return _$$MdmsResImplToJson( this, ); } @@ -310,16 +311,16 @@ class _$_MdmsRes implements _MdmsRes { abstract class _MdmsRes implements MdmsRes { const factory _MdmsRes({@JsonKey(name: 'works') final MBWorks? mbWorks}) = - _$_MdmsRes; + _$MdmsResImpl; - factory _MdmsRes.fromJson(Map json) = _$_MdmsRes.fromJson; + factory _MdmsRes.fromJson(Map json) = _$MdmsResImpl.fromJson; @override @JsonKey(name: 'works') MBWorks? get mbWorks; @override @JsonKey(ignore: true) - _$$_MdmsResCopyWith<_$_MdmsRes> get copyWith => + _$$MdmsResImplCopyWith<_$MdmsResImpl> get copyWith => throw _privateConstructorUsedError; } @@ -370,20 +371,21 @@ class _$MBWorksCopyWithImpl<$Res, $Val extends MBWorks> } /// @nodoc -abstract class _$$_MBWorksCopyWith<$Res> implements $MBWorksCopyWith<$Res> { - factory _$$_MBWorksCopyWith( - _$_MBWorks value, $Res Function(_$_MBWorks) then) = - __$$_MBWorksCopyWithImpl<$Res>; +abstract class _$$MBWorksImplCopyWith<$Res> implements $MBWorksCopyWith<$Res> { + factory _$$MBWorksImplCopyWith( + _$MBWorksImpl value, $Res Function(_$MBWorksImpl) then) = + __$$MBWorksImplCopyWithImpl<$Res>; @override @useResult $Res call({@JsonKey(name: 'ProjectType') List? projectType}); } /// @nodoc -class __$$_MBWorksCopyWithImpl<$Res> - extends _$MBWorksCopyWithImpl<$Res, _$_MBWorks> - implements _$$_MBWorksCopyWith<$Res> { - __$$_MBWorksCopyWithImpl(_$_MBWorks _value, $Res Function(_$_MBWorks) _then) +class __$$MBWorksImplCopyWithImpl<$Res> + extends _$MBWorksCopyWithImpl<$Res, _$MBWorksImpl> + implements _$$MBWorksImplCopyWith<$Res> { + __$$MBWorksImplCopyWithImpl( + _$MBWorksImpl _value, $Res Function(_$MBWorksImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -391,7 +393,7 @@ class __$$_MBWorksCopyWithImpl<$Res> $Res call({ Object? projectType = freezed, }) { - return _then(_$_MBWorks( + return _then(_$MBWorksImpl( projectType: freezed == projectType ? _value._projectType : projectType // ignore: cast_nullable_to_non_nullable @@ -402,13 +404,13 @@ class __$$_MBWorksCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MBWorks implements _MBWorks { - const _$_MBWorks( +class _$MBWorksImpl implements _MBWorks { + const _$MBWorksImpl( {@JsonKey(name: 'ProjectType') final List? projectType}) : _projectType = projectType; - factory _$_MBWorks.fromJson(Map json) => - _$$_MBWorksFromJson(json); + factory _$MBWorksImpl.fromJson(Map json) => + _$$MBWorksImplFromJson(json); final List? _projectType; @override @@ -427,10 +429,10 @@ class _$_MBWorks implements _MBWorks { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MBWorks && + other is _$MBWorksImpl && const DeepCollectionEquality() .equals(other._projectType, _projectType)); } @@ -443,12 +445,12 @@ class _$_MBWorks implements _MBWorks { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MBWorksCopyWith<_$_MBWorks> get copyWith => - __$$_MBWorksCopyWithImpl<_$_MBWorks>(this, _$identity); + _$$MBWorksImplCopyWith<_$MBWorksImpl> get copyWith => + __$$MBWorksImplCopyWithImpl<_$MBWorksImpl>(this, _$identity); @override Map toJson() { - return _$$_MBWorksToJson( + return _$$MBWorksImplToJson( this, ); } @@ -457,16 +459,16 @@ class _$_MBWorks implements _MBWorks { abstract class _MBWorks implements MBWorks { const factory _MBWorks( {@JsonKey(name: 'ProjectType') - final List? projectType}) = _$_MBWorks; + final List? projectType}) = _$MBWorksImpl; - factory _MBWorks.fromJson(Map json) = _$_MBWorks.fromJson; + factory _MBWorks.fromJson(Map json) = _$MBWorksImpl.fromJson; @override @JsonKey(name: 'ProjectType') List? get projectType; @override @JsonKey(ignore: true) - _$$_MBWorksCopyWith<_$_MBWorks> get copyWith => + _$$MBWorksImplCopyWith<_$MBWorksImpl> get copyWith => throw _privateConstructorUsedError; } @@ -544,11 +546,11 @@ class _$ProjectTypeCopyWithImpl<$Res, $Val extends ProjectType> } /// @nodoc -abstract class _$$_ProjectTypeCopyWith<$Res> +abstract class _$$ProjectTypeImplCopyWith<$Res> implements $ProjectTypeCopyWith<$Res> { - factory _$$_ProjectTypeCopyWith( - _$_ProjectType value, $Res Function(_$_ProjectType) then) = - __$$_ProjectTypeCopyWithImpl<$Res>; + factory _$$ProjectTypeImplCopyWith( + _$ProjectTypeImpl value, $Res Function(_$ProjectTypeImpl) then) = + __$$ProjectTypeImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -559,11 +561,11 @@ abstract class _$$_ProjectTypeCopyWith<$Res> } /// @nodoc -class __$$_ProjectTypeCopyWithImpl<$Res> - extends _$ProjectTypeCopyWithImpl<$Res, _$_ProjectType> - implements _$$_ProjectTypeCopyWith<$Res> { - __$$_ProjectTypeCopyWithImpl( - _$_ProjectType _value, $Res Function(_$_ProjectType) _then) +class __$$ProjectTypeImplCopyWithImpl<$Res> + extends _$ProjectTypeCopyWithImpl<$Res, _$ProjectTypeImpl> + implements _$$ProjectTypeImplCopyWith<$Res> { + __$$ProjectTypeImplCopyWithImpl( + _$ProjectTypeImpl _value, $Res Function(_$ProjectTypeImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -574,7 +576,7 @@ class __$$_ProjectTypeCopyWithImpl<$Res> Object? code = freezed, Object? active = freezed, }) { - return _then(_$_ProjectType( + return _then(_$ProjectTypeImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -597,15 +599,15 @@ class __$$_ProjectTypeCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_ProjectType implements _ProjectType { - const _$_ProjectType( +class _$ProjectTypeImpl implements _ProjectType { + const _$ProjectTypeImpl( {@JsonKey(name: 'id') this.id, @JsonKey(name: 'name') this.name, @JsonKey(name: 'code') this.code, @JsonKey(name: 'active') this.active}); - factory _$_ProjectType.fromJson(Map json) => - _$$_ProjectTypeFromJson(json); + factory _$ProjectTypeImpl.fromJson(Map json) => + _$$ProjectTypeImplFromJson(json); @override @JsonKey(name: 'id') @@ -626,10 +628,10 @@ class _$_ProjectType implements _ProjectType { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_ProjectType && + other is _$ProjectTypeImpl && (identical(other.id, id) || other.id == id) && (identical(other.name, name) || other.name == name) && (identical(other.code, code) || other.code == code) && @@ -643,12 +645,12 @@ class _$_ProjectType implements _ProjectType { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ProjectTypeCopyWith<_$_ProjectType> get copyWith => - __$$_ProjectTypeCopyWithImpl<_$_ProjectType>(this, _$identity); + _$$ProjectTypeImplCopyWith<_$ProjectTypeImpl> get copyWith => + __$$ProjectTypeImplCopyWithImpl<_$ProjectTypeImpl>(this, _$identity); @override Map toJson() { - return _$$_ProjectTypeToJson( + return _$$ProjectTypeImplToJson( this, ); } @@ -659,10 +661,10 @@ abstract class _ProjectType implements ProjectType { {@JsonKey(name: 'id') final int? id, @JsonKey(name: 'name') final String? name, @JsonKey(name: 'code') final String? code, - @JsonKey(name: 'active') final bool? active}) = _$_ProjectType; + @JsonKey(name: 'active') final bool? active}) = _$ProjectTypeImpl; factory _ProjectType.fromJson(Map json) = - _$_ProjectType.fromJson; + _$ProjectTypeImpl.fromJson; @override @JsonKey(name: 'id') @@ -678,6 +680,6 @@ abstract class _ProjectType implements ProjectType { bool? get active; @override @JsonKey(ignore: true) - _$$_ProjectTypeCopyWith<_$_ProjectType> get copyWith => + _$$ProjectTypeImplCopyWith<_$ProjectTypeImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.g.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.g.dart index f6684a5bc8..4c1c2ce017 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.g.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.g.dart @@ -6,49 +6,51 @@ part of 'mb_project_type.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_MBProjectType _$$_MBProjectTypeFromJson(Map json) => - _$_MBProjectType( +_$MBProjectTypeImpl _$$MBProjectTypeImplFromJson(Map json) => + _$MBProjectTypeImpl( mdmsRes: json['MdmsRes'] == null ? null : MdmsRes.fromJson(json['MdmsRes'] as Map), ); -Map _$$_MBProjectTypeToJson(_$_MBProjectType instance) => +Map _$$MBProjectTypeImplToJson(_$MBProjectTypeImpl instance) => { 'MdmsRes': instance.mdmsRes, }; -_$_MdmsRes _$$_MdmsResFromJson(Map json) => _$_MdmsRes( +_$MdmsResImpl _$$MdmsResImplFromJson(Map json) => + _$MdmsResImpl( mbWorks: json['works'] == null ? null : MBWorks.fromJson(json['works'] as Map), ); -Map _$$_MdmsResToJson(_$_MdmsRes instance) => +Map _$$MdmsResImplToJson(_$MdmsResImpl instance) => { 'works': instance.mbWorks, }; -_$_MBWorks _$$_MBWorksFromJson(Map json) => _$_MBWorks( +_$MBWorksImpl _$$MBWorksImplFromJson(Map json) => + _$MBWorksImpl( projectType: (json['ProjectType'] as List?) ?.map((e) => ProjectType.fromJson(e as Map)) .toList(), ); -Map _$$_MBWorksToJson(_$_MBWorks instance) => +Map _$$MBWorksImplToJson(_$MBWorksImpl instance) => { 'ProjectType': instance.projectType, }; -_$_ProjectType _$$_ProjectTypeFromJson(Map json) => - _$_ProjectType( - id: json['id'] as int?, +_$ProjectTypeImpl _$$ProjectTypeImplFromJson(Map json) => + _$ProjectTypeImpl( + id: (json['id'] as num?)?.toInt(), name: json['name'] as String?, code: json['code'] as String?, active: json['active'] as bool?, ); -Map _$$_ProjectTypeToJson(_$_ProjectType instance) => +Map _$$ProjectTypeImplToJson(_$ProjectTypeImpl instance) => { 'id': instance.id, 'name': instance.name, diff --git a/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.freezed.dart b/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.freezed.dart index 9f6d172b47..5262ca9809 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.freezed.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.freezed.dart @@ -12,7 +12,7 @@ part of 'role_based_hrms.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); HRMSResponse _$HRMSResponseFromJson(Map json) { return _HRMSResponse.fromJson(json); @@ -63,22 +63,22 @@ class _$HRMSResponseCopyWithImpl<$Res, $Val extends HRMSResponse> } /// @nodoc -abstract class _$$_HRMSResponseCopyWith<$Res> +abstract class _$$HRMSResponseImplCopyWith<$Res> implements $HRMSResponseCopyWith<$Res> { - factory _$$_HRMSResponseCopyWith( - _$_HRMSResponse value, $Res Function(_$_HRMSResponse) then) = - __$$_HRMSResponseCopyWithImpl<$Res>; + factory _$$HRMSResponseImplCopyWith( + _$HRMSResponseImpl value, $Res Function(_$HRMSResponseImpl) then) = + __$$HRMSResponseImplCopyWithImpl<$Res>; @override @useResult $Res call({@JsonKey(name: 'Employees') List? employees}); } /// @nodoc -class __$$_HRMSResponseCopyWithImpl<$Res> - extends _$HRMSResponseCopyWithImpl<$Res, _$_HRMSResponse> - implements _$$_HRMSResponseCopyWith<$Res> { - __$$_HRMSResponseCopyWithImpl( - _$_HRMSResponse _value, $Res Function(_$_HRMSResponse) _then) +class __$$HRMSResponseImplCopyWithImpl<$Res> + extends _$HRMSResponseCopyWithImpl<$Res, _$HRMSResponseImpl> + implements _$$HRMSResponseImplCopyWith<$Res> { + __$$HRMSResponseImplCopyWithImpl( + _$HRMSResponseImpl _value, $Res Function(_$HRMSResponseImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -86,7 +86,7 @@ class __$$_HRMSResponseCopyWithImpl<$Res> $Res call({ Object? employees = freezed, }) { - return _then(_$_HRMSResponse( + return _then(_$HRMSResponseImpl( employees: freezed == employees ? _value._employees : employees // ignore: cast_nullable_to_non_nullable @@ -97,13 +97,13 @@ class __$$_HRMSResponseCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_HRMSResponse implements _HRMSResponse { - const _$_HRMSResponse( +class _$HRMSResponseImpl implements _HRMSResponse { + const _$HRMSResponseImpl( {@JsonKey(name: 'Employees') final List? employees}) : _employees = employees; - factory _$_HRMSResponse.fromJson(Map json) => - _$$_HRMSResponseFromJson(json); + factory _$HRMSResponseImpl.fromJson(Map json) => + _$$HRMSResponseImplFromJson(json); final List? _employees; @override @@ -122,10 +122,10 @@ class _$_HRMSResponse implements _HRMSResponse { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_HRMSResponse && + other is _$HRMSResponseImpl && const DeepCollectionEquality() .equals(other._employees, _employees)); } @@ -138,12 +138,12 @@ class _$_HRMSResponse implements _HRMSResponse { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_HRMSResponseCopyWith<_$_HRMSResponse> get copyWith => - __$$_HRMSResponseCopyWithImpl<_$_HRMSResponse>(this, _$identity); + _$$HRMSResponseImplCopyWith<_$HRMSResponseImpl> get copyWith => + __$$HRMSResponseImplCopyWithImpl<_$HRMSResponseImpl>(this, _$identity); @override Map toJson() { - return _$$_HRMSResponseToJson( + return _$$HRMSResponseImplToJson( this, ); } @@ -152,17 +152,17 @@ class _$_HRMSResponse implements _HRMSResponse { abstract class _HRMSResponse implements HRMSResponse { const factory _HRMSResponse( {@JsonKey(name: 'Employees') final List? employees}) = - _$_HRMSResponse; + _$HRMSResponseImpl; factory _HRMSResponse.fromJson(Map json) = - _$_HRMSResponse.fromJson; + _$HRMSResponseImpl.fromJson; @override @JsonKey(name: 'Employees') List? get employees; @override @JsonKey(ignore: true) - _$$_HRMSResponseCopyWith<_$_HRMSResponse> get copyWith => + _$$HRMSResponseImplCopyWith<_$HRMSResponseImpl> get copyWith => throw _privateConstructorUsedError; } @@ -278,11 +278,11 @@ class _$HRMSEmployeeCopyWithImpl<$Res, $Val extends HRMSEmployee> } /// @nodoc -abstract class _$$_HRMSEmployeeCopyWith<$Res> +abstract class _$$HRMSEmployeeImplCopyWith<$Res> implements $HRMSEmployeeCopyWith<$Res> { - factory _$$_HRMSEmployeeCopyWith( - _$_HRMSEmployee value, $Res Function(_$_HRMSEmployee) then) = - __$$_HRMSEmployeeCopyWithImpl<$Res>; + factory _$$HRMSEmployeeImplCopyWith( + _$HRMSEmployeeImpl value, $Res Function(_$HRMSEmployeeImpl) then) = + __$$HRMSEmployeeImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -299,11 +299,11 @@ abstract class _$$_HRMSEmployeeCopyWith<$Res> } /// @nodoc -class __$$_HRMSEmployeeCopyWithImpl<$Res> - extends _$HRMSEmployeeCopyWithImpl<$Res, _$_HRMSEmployee> - implements _$$_HRMSEmployeeCopyWith<$Res> { - __$$_HRMSEmployeeCopyWithImpl( - _$_HRMSEmployee _value, $Res Function(_$_HRMSEmployee) _then) +class __$$HRMSEmployeeImplCopyWithImpl<$Res> + extends _$HRMSEmployeeCopyWithImpl<$Res, _$HRMSEmployeeImpl> + implements _$$HRMSEmployeeImplCopyWith<$Res> { + __$$HRMSEmployeeImplCopyWithImpl( + _$HRMSEmployeeImpl _value, $Res Function(_$HRMSEmployeeImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -317,7 +317,7 @@ class __$$_HRMSEmployeeCopyWithImpl<$Res> Object? employeeType = freezed, Object? employeeUser = freezed, }) { - return _then(_$_HRMSEmployee( + return _then(_$HRMSEmployeeImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -352,8 +352,8 @@ class __$$_HRMSEmployeeCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_HRMSEmployee implements _HRMSEmployee { - const _$_HRMSEmployee( +class _$HRMSEmployeeImpl implements _HRMSEmployee { + const _$HRMSEmployeeImpl( {@JsonKey(name: 'id') this.id, @JsonKey(name: 'uuid') this.uuid, @JsonKey(name: 'code') this.code, @@ -362,8 +362,8 @@ class _$_HRMSEmployee implements _HRMSEmployee { @JsonKey(name: 'employeeType') this.employeeType, @JsonKey(name: 'user') this.employeeUser}); - factory _$_HRMSEmployee.fromJson(Map json) => - _$$_HRMSEmployeeFromJson(json); + factory _$HRMSEmployeeImpl.fromJson(Map json) => + _$$HRMSEmployeeImplFromJson(json); @override @JsonKey(name: 'id') @@ -393,10 +393,10 @@ class _$_HRMSEmployee implements _HRMSEmployee { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_HRMSEmployee && + other is _$HRMSEmployeeImpl && (identical(other.id, id) || other.id == id) && (identical(other.uuid, uuid) || other.uuid == uuid) && (identical(other.code, code) || other.code == code) && @@ -418,12 +418,12 @@ class _$_HRMSEmployee implements _HRMSEmployee { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_HRMSEmployeeCopyWith<_$_HRMSEmployee> get copyWith => - __$$_HRMSEmployeeCopyWithImpl<_$_HRMSEmployee>(this, _$identity); + _$$HRMSEmployeeImplCopyWith<_$HRMSEmployeeImpl> get copyWith => + __$$HRMSEmployeeImplCopyWithImpl<_$HRMSEmployeeImpl>(this, _$identity); @override Map toJson() { - return _$$_HRMSEmployeeToJson( + return _$$HRMSEmployeeImplToJson( this, ); } @@ -438,10 +438,10 @@ abstract class _HRMSEmployee implements HRMSEmployee { @JsonKey(name: 'dateOfAppointment') final int? dateOfAppointment, @JsonKey(name: 'employeeType') final String? employeeType, @JsonKey(name: 'user') final EmployeeUser? employeeUser}) = - _$_HRMSEmployee; + _$HRMSEmployeeImpl; factory _HRMSEmployee.fromJson(Map json) = - _$_HRMSEmployee.fromJson; + _$HRMSEmployeeImpl.fromJson; @override @JsonKey(name: 'id') @@ -466,7 +466,7 @@ abstract class _HRMSEmployee implements HRMSEmployee { EmployeeUser? get employeeUser; @override @JsonKey(ignore: true) - _$$_HRMSEmployeeCopyWith<_$_HRMSEmployee> get copyWith => + _$$HRMSEmployeeImplCopyWith<_$HRMSEmployeeImpl> get copyWith => throw _privateConstructorUsedError; } @@ -544,11 +544,11 @@ class _$EmployeeUserCopyWithImpl<$Res, $Val extends EmployeeUser> } /// @nodoc -abstract class _$$_EmployeeUserCopyWith<$Res> +abstract class _$$EmployeeUserImplCopyWith<$Res> implements $EmployeeUserCopyWith<$Res> { - factory _$$_EmployeeUserCopyWith( - _$_EmployeeUser value, $Res Function(_$_EmployeeUser) then) = - __$$_EmployeeUserCopyWithImpl<$Res>; + factory _$$EmployeeUserImplCopyWith( + _$EmployeeUserImpl value, $Res Function(_$EmployeeUserImpl) then) = + __$$EmployeeUserImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -559,11 +559,11 @@ abstract class _$$_EmployeeUserCopyWith<$Res> } /// @nodoc -class __$$_EmployeeUserCopyWithImpl<$Res> - extends _$EmployeeUserCopyWithImpl<$Res, _$_EmployeeUser> - implements _$$_EmployeeUserCopyWith<$Res> { - __$$_EmployeeUserCopyWithImpl( - _$_EmployeeUser _value, $Res Function(_$_EmployeeUser) _then) +class __$$EmployeeUserImplCopyWithImpl<$Res> + extends _$EmployeeUserCopyWithImpl<$Res, _$EmployeeUserImpl> + implements _$$EmployeeUserImplCopyWith<$Res> { + __$$EmployeeUserImplCopyWithImpl( + _$EmployeeUserImpl _value, $Res Function(_$EmployeeUserImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -574,7 +574,7 @@ class __$$_EmployeeUserCopyWithImpl<$Res> Object? name = freezed, Object? userName = freezed, }) { - return _then(_$_EmployeeUser( + return _then(_$EmployeeUserImpl( correspondenceAddress: freezed == correspondenceAddress ? _value.correspondenceAddress : correspondenceAddress // ignore: cast_nullable_to_non_nullable @@ -597,15 +597,15 @@ class __$$_EmployeeUserCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_EmployeeUser implements _EmployeeUser { - const _$_EmployeeUser( +class _$EmployeeUserImpl implements _EmployeeUser { + const _$EmployeeUserImpl( {@JsonKey(name: 'correspondenceAddress') this.correspondenceAddress, @JsonKey(name: 'mobileNumber') this.mobileNumber, @JsonKey(name: 'name') this.name, @JsonKey(name: 'userName') this.userName}); - factory _$_EmployeeUser.fromJson(Map json) => - _$$_EmployeeUserFromJson(json); + factory _$EmployeeUserImpl.fromJson(Map json) => + _$$EmployeeUserImplFromJson(json); @override @JsonKey(name: 'correspondenceAddress') @@ -626,10 +626,10 @@ class _$_EmployeeUser implements _EmployeeUser { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_EmployeeUser && + other is _$EmployeeUserImpl && (identical(other.correspondenceAddress, correspondenceAddress) || other.correspondenceAddress == correspondenceAddress) && (identical(other.mobileNumber, mobileNumber) || @@ -647,12 +647,12 @@ class _$_EmployeeUser implements _EmployeeUser { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_EmployeeUserCopyWith<_$_EmployeeUser> get copyWith => - __$$_EmployeeUserCopyWithImpl<_$_EmployeeUser>(this, _$identity); + _$$EmployeeUserImplCopyWith<_$EmployeeUserImpl> get copyWith => + __$$EmployeeUserImplCopyWithImpl<_$EmployeeUserImpl>(this, _$identity); @override Map toJson() { - return _$$_EmployeeUserToJson( + return _$$EmployeeUserImplToJson( this, ); } @@ -661,16 +661,13 @@ class _$_EmployeeUser implements _EmployeeUser { abstract class _EmployeeUser implements EmployeeUser { const factory _EmployeeUser( {@JsonKey(name: 'correspondenceAddress') - final String? correspondenceAddress, - @JsonKey(name: 'mobileNumber') - final String? mobileNumber, - @JsonKey(name: 'name') - final String? name, - @JsonKey(name: 'userName') - final String? userName}) = _$_EmployeeUser; + final String? correspondenceAddress, + @JsonKey(name: 'mobileNumber') final String? mobileNumber, + @JsonKey(name: 'name') final String? name, + @JsonKey(name: 'userName') final String? userName}) = _$EmployeeUserImpl; factory _EmployeeUser.fromJson(Map json) = - _$_EmployeeUser.fromJson; + _$EmployeeUserImpl.fromJson; @override @JsonKey(name: 'correspondenceAddress') @@ -686,6 +683,6 @@ abstract class _EmployeeUser implements EmployeeUser { String? get userName; @override @JsonKey(ignore: true) - _$$_EmployeeUserCopyWith<_$_EmployeeUser> get copyWith => + _$$EmployeeUserImplCopyWith<_$EmployeeUserImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.g.dart b/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.g.dart index 7de57a1b75..081ebae719 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.g.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.g.dart @@ -6,32 +6,32 @@ part of 'role_based_hrms.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_HRMSResponse _$$_HRMSResponseFromJson(Map json) => - _$_HRMSResponse( +_$HRMSResponseImpl _$$HRMSResponseImplFromJson(Map json) => + _$HRMSResponseImpl( employees: (json['Employees'] as List?) ?.map((e) => HRMSEmployee.fromJson(e as Map)) .toList(), ); -Map _$$_HRMSResponseToJson(_$_HRMSResponse instance) => +Map _$$HRMSResponseImplToJson(_$HRMSResponseImpl instance) => { 'Employees': instance.employees, }; -_$_HRMSEmployee _$$_HRMSEmployeeFromJson(Map json) => - _$_HRMSEmployee( - id: json['id'] as int?, +_$HRMSEmployeeImpl _$$HRMSEmployeeImplFromJson(Map json) => + _$HRMSEmployeeImpl( + id: (json['id'] as num?)?.toInt(), uuid: json['uuid'] as String?, code: json['code'] as String?, isActive: json['isActive'] as bool?, - dateOfAppointment: json['dateOfAppointment'] as int?, + dateOfAppointment: (json['dateOfAppointment'] as num?)?.toInt(), employeeType: json['employeeType'] as String?, employeeUser: json['user'] == null ? null : EmployeeUser.fromJson(json['user'] as Map), ); -Map _$$_HRMSEmployeeToJson(_$_HRMSEmployee instance) => +Map _$$HRMSEmployeeImplToJson(_$HRMSEmployeeImpl instance) => { 'id': instance.id, 'uuid': instance.uuid, @@ -42,15 +42,15 @@ Map _$$_HRMSEmployeeToJson(_$_HRMSEmployee instance) => 'user': instance.employeeUser, }; -_$_EmployeeUser _$$_EmployeeUserFromJson(Map json) => - _$_EmployeeUser( +_$EmployeeUserImpl _$$EmployeeUserImplFromJson(Map json) => + _$EmployeeUserImpl( correspondenceAddress: json['correspondenceAddress'] as String?, mobileNumber: json['mobileNumber'] as String?, name: json['name'] as String?, userName: json['userName'] as String?, ); -Map _$$_EmployeeUserToJson(_$_EmployeeUser instance) => +Map _$$EmployeeUserImplToJson(_$EmployeeUserImpl instance) => { 'correspondenceAddress': instance.correspondenceAddress, 'mobileNumber': instance.mobileNumber, diff --git a/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.freezed.dart b/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.freezed.dart index 2002f5c2e0..b54395955b 100644 --- a/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.freezed.dart +++ b/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.freezed.dart @@ -12,7 +12,7 @@ part of 'wo_inbox_response.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); WOInboxResponse _$WOInboxResponseFromJson(Map json) { return _WOInboxResponse.fromJson(json); @@ -88,11 +88,11 @@ class _$WOInboxResponseCopyWithImpl<$Res, $Val extends WOInboxResponse> } /// @nodoc -abstract class _$$_WOInboxResponseCopyWith<$Res> +abstract class _$$WOInboxResponseImplCopyWith<$Res> implements $WOInboxResponseCopyWith<$Res> { - factory _$$_WOInboxResponseCopyWith( - _$_WOInboxResponse value, $Res Function(_$_WOInboxResponse) then) = - __$$_WOInboxResponseCopyWithImpl<$Res>; + factory _$$WOInboxResponseImplCopyWith(_$WOInboxResponseImpl value, + $Res Function(_$WOInboxResponseImpl) then) = + __$$WOInboxResponseImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -103,11 +103,11 @@ abstract class _$$_WOInboxResponseCopyWith<$Res> } /// @nodoc -class __$$_WOInboxResponseCopyWithImpl<$Res> - extends _$WOInboxResponseCopyWithImpl<$Res, _$_WOInboxResponse> - implements _$$_WOInboxResponseCopyWith<$Res> { - __$$_WOInboxResponseCopyWithImpl( - _$_WOInboxResponse _value, $Res Function(_$_WOInboxResponse) _then) +class __$$WOInboxResponseImplCopyWithImpl<$Res> + extends _$WOInboxResponseCopyWithImpl<$Res, _$WOInboxResponseImpl> + implements _$$WOInboxResponseImplCopyWith<$Res> { + __$$WOInboxResponseImplCopyWithImpl( + _$WOInboxResponseImpl _value, $Res Function(_$WOInboxResponseImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -118,7 +118,7 @@ class __$$_WOInboxResponseCopyWithImpl<$Res> Object? statusMap = freezed, Object? items = freezed, }) { - return _then(_$_WOInboxResponse( + return _then(_$WOInboxResponseImpl( totalCount: freezed == totalCount ? _value.totalCount : totalCount // ignore: cast_nullable_to_non_nullable @@ -141,8 +141,8 @@ class __$$_WOInboxResponseCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_WOInboxResponse implements _WOInboxResponse { - const _$_WOInboxResponse( +class _$WOInboxResponseImpl implements _WOInboxResponse { + const _$WOInboxResponseImpl( {@JsonKey(name: 'totalCount') this.totalCount, @JsonKey(name: 'nearingSlaCount') this.nearingSlaCount, @JsonKey(name: 'statusMap') final List? statusMap, @@ -150,8 +150,8 @@ class _$_WOInboxResponse implements _WOInboxResponse { : _statusMap = statusMap, _items = items; - factory _$_WOInboxResponse.fromJson(Map json) => - _$$_WOInboxResponseFromJson(json); + factory _$WOInboxResponseImpl.fromJson(Map json) => + _$$WOInboxResponseImplFromJson(json); @override @JsonKey(name: 'totalCount') @@ -187,10 +187,10 @@ class _$_WOInboxResponse implements _WOInboxResponse { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_WOInboxResponse && + other is _$WOInboxResponseImpl && (identical(other.totalCount, totalCount) || other.totalCount == totalCount) && (identical(other.nearingSlaCount, nearingSlaCount) || @@ -212,12 +212,13 @@ class _$_WOInboxResponse implements _WOInboxResponse { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_WOInboxResponseCopyWith<_$_WOInboxResponse> get copyWith => - __$$_WOInboxResponseCopyWithImpl<_$_WOInboxResponse>(this, _$identity); + _$$WOInboxResponseImplCopyWith<_$WOInboxResponseImpl> get copyWith => + __$$WOInboxResponseImplCopyWithImpl<_$WOInboxResponseImpl>( + this, _$identity); @override Map toJson() { - return _$$_WOInboxResponseToJson( + return _$$WOInboxResponseImplToJson( this, ); } @@ -229,10 +230,10 @@ abstract class _WOInboxResponse implements WOInboxResponse { @JsonKey(name: 'nearingSlaCount') final int? nearingSlaCount, @JsonKey(name: 'statusMap') final List? statusMap, @JsonKey(name: 'items') final List? items}) = - _$_WOInboxResponse; + _$WOInboxResponseImpl; factory _WOInboxResponse.fromJson(Map json) = - _$_WOInboxResponse.fromJson; + _$WOInboxResponseImpl.fromJson; @override @JsonKey(name: 'totalCount') @@ -248,7 +249,7 @@ abstract class _WOInboxResponse implements WOInboxResponse { List? get items; @override @JsonKey(ignore: true) - _$$_WOInboxResponseCopyWith<_$_WOInboxResponse> get copyWith => + _$$WOInboxResponseImplCopyWith<_$WOInboxResponseImpl> get copyWith => throw _privateConstructorUsedError; } @@ -337,11 +338,11 @@ class _$WOItemDataCopyWithImpl<$Res, $Val extends WOItemData> } /// @nodoc -abstract class _$$_WOItemDataCopyWith<$Res> +abstract class _$$WOItemDataImplCopyWith<$Res> implements $WOItemDataCopyWith<$Res> { - factory _$$_WOItemDataCopyWith( - _$_WOItemData value, $Res Function(_$_WOItemData) then) = - __$$_WOItemDataCopyWithImpl<$Res>; + factory _$$WOItemDataImplCopyWith( + _$WOItemDataImpl value, $Res Function(_$WOItemDataImpl) then) = + __$$WOItemDataImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -355,11 +356,11 @@ abstract class _$$_WOItemDataCopyWith<$Res> } /// @nodoc -class __$$_WOItemDataCopyWithImpl<$Res> - extends _$WOItemDataCopyWithImpl<$Res, _$_WOItemData> - implements _$$_WOItemDataCopyWith<$Res> { - __$$_WOItemDataCopyWithImpl( - _$_WOItemData _value, $Res Function(_$_WOItemData) _then) +class __$$WOItemDataImplCopyWithImpl<$Res> + extends _$WOItemDataCopyWithImpl<$Res, _$WOItemDataImpl> + implements _$$WOItemDataImplCopyWith<$Res> { + __$$WOItemDataImplCopyWithImpl( + _$WOItemDataImpl _value, $Res Function(_$WOItemDataImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -368,7 +369,7 @@ class __$$_WOItemDataCopyWithImpl<$Res> Object? processInstance = freezed, Object? woBusinessObject = freezed, }) { - return _then(_$_WOItemData( + return _then(_$WOItemDataImpl( processInstance: freezed == processInstance ? _value.processInstance : processInstance // ignore: cast_nullable_to_non_nullable @@ -383,13 +384,13 @@ class __$$_WOItemDataCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_WOItemData implements _WOItemData { - const _$_WOItemData( +class _$WOItemDataImpl implements _WOItemData { + const _$WOItemDataImpl( {@JsonKey(name: 'ProcessInstance') this.processInstance, @JsonKey(name: 'businessObject') this.woBusinessObject}); - factory _$_WOItemData.fromJson(Map json) => - _$$_WOItemDataFromJson(json); + factory _$WOItemDataImpl.fromJson(Map json) => + _$$WOItemDataImplFromJson(json); @override @JsonKey(name: 'ProcessInstance') @@ -404,10 +405,10 @@ class _$_WOItemData implements _WOItemData { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_WOItemData && + other is _$WOItemDataImpl && (identical(other.processInstance, processInstance) || other.processInstance == processInstance) && (identical(other.woBusinessObject, woBusinessObject) || @@ -422,12 +423,12 @@ class _$_WOItemData implements _WOItemData { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_WOItemDataCopyWith<_$_WOItemData> get copyWith => - __$$_WOItemDataCopyWithImpl<_$_WOItemData>(this, _$identity); + _$$WOItemDataImplCopyWith<_$WOItemDataImpl> get copyWith => + __$$WOItemDataImplCopyWithImpl<_$WOItemDataImpl>(this, _$identity); @override Map toJson() { - return _$$_WOItemDataToJson( + return _$$WOItemDataImplToJson( this, ); } @@ -435,13 +436,12 @@ class _$_WOItemData implements _WOItemData { abstract class _WOItemData implements WOItemData { const factory _WOItemData( - {@JsonKey(name: 'ProcessInstance') - final ProcessInstance? processInstance, + {@JsonKey(name: 'ProcessInstance') final ProcessInstance? processInstance, @JsonKey(name: 'businessObject') - final WOBusinessObject? woBusinessObject}) = _$_WOItemData; + final WOBusinessObject? woBusinessObject}) = _$WOItemDataImpl; factory _WOItemData.fromJson(Map json) = - _$_WOItemData.fromJson; + _$WOItemDataImpl.fromJson; @override @JsonKey(name: 'ProcessInstance') @@ -451,7 +451,7 @@ abstract class _WOItemData implements WOItemData { WOBusinessObject? get woBusinessObject; @override @JsonKey(ignore: true) - _$$_WOItemDataCopyWith<_$_WOItemData> get copyWith => + _$$WOItemDataImplCopyWith<_$WOItemDataImpl> get copyWith => throw _privateConstructorUsedError; } @@ -488,18 +488,13 @@ abstract class $WOBusinessObjectCopyWith<$Res> { _$WOBusinessObjectCopyWithImpl<$Res, WOBusinessObject>; @useResult $Res call( - {@JsonKey(name: 'totalContractedAmount') - double? totalContractedAmount, - @JsonKey(name: 'businessService') - String? businessService, - @JsonKey(name: 'contractNumber') - String? contractNumber, - @JsonKey(name: 'serviceSla') - int? serviceSla, + {@JsonKey(name: 'totalContractedAmount') double? totalContractedAmount, + @JsonKey(name: 'businessService') String? businessService, + @JsonKey(name: 'contractNumber') String? contractNumber, + @JsonKey(name: 'serviceSla') int? serviceSla, @JsonKey(name: 'additionalDetails') - WOAdditionalDetails? woAdditionalDetails, - @JsonKey(name: 'auditDetails') - AuditDetails? auditDetails}); + WOAdditionalDetails? woAdditionalDetails, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails}); $WOAdditionalDetailsCopyWith<$Res>? get woAdditionalDetails; $AuditDetailsCopyWith<$Res>? get auditDetails; @@ -580,26 +575,21 @@ class _$WOBusinessObjectCopyWithImpl<$Res, $Val extends WOBusinessObject> } /// @nodoc -abstract class _$$_WOBusinessObjectCopyWith<$Res> +abstract class _$$WOBusinessObjectImplCopyWith<$Res> implements $WOBusinessObjectCopyWith<$Res> { - factory _$$_WOBusinessObjectCopyWith( - _$_WOBusinessObject value, $Res Function(_$_WOBusinessObject) then) = - __$$_WOBusinessObjectCopyWithImpl<$Res>; + factory _$$WOBusinessObjectImplCopyWith(_$WOBusinessObjectImpl value, + $Res Function(_$WOBusinessObjectImpl) then) = + __$$WOBusinessObjectImplCopyWithImpl<$Res>; @override @useResult $Res call( - {@JsonKey(name: 'totalContractedAmount') - double? totalContractedAmount, - @JsonKey(name: 'businessService') - String? businessService, - @JsonKey(name: 'contractNumber') - String? contractNumber, - @JsonKey(name: 'serviceSla') - int? serviceSla, + {@JsonKey(name: 'totalContractedAmount') double? totalContractedAmount, + @JsonKey(name: 'businessService') String? businessService, + @JsonKey(name: 'contractNumber') String? contractNumber, + @JsonKey(name: 'serviceSla') int? serviceSla, @JsonKey(name: 'additionalDetails') - WOAdditionalDetails? woAdditionalDetails, - @JsonKey(name: 'auditDetails') - AuditDetails? auditDetails}); + WOAdditionalDetails? woAdditionalDetails, + @JsonKey(name: 'auditDetails') AuditDetails? auditDetails}); @override $WOAdditionalDetailsCopyWith<$Res>? get woAdditionalDetails; @@ -608,11 +598,11 @@ abstract class _$$_WOBusinessObjectCopyWith<$Res> } /// @nodoc -class __$$_WOBusinessObjectCopyWithImpl<$Res> - extends _$WOBusinessObjectCopyWithImpl<$Res, _$_WOBusinessObject> - implements _$$_WOBusinessObjectCopyWith<$Res> { - __$$_WOBusinessObjectCopyWithImpl( - _$_WOBusinessObject _value, $Res Function(_$_WOBusinessObject) _then) +class __$$WOBusinessObjectImplCopyWithImpl<$Res> + extends _$WOBusinessObjectCopyWithImpl<$Res, _$WOBusinessObjectImpl> + implements _$$WOBusinessObjectImplCopyWith<$Res> { + __$$WOBusinessObjectImplCopyWithImpl(_$WOBusinessObjectImpl _value, + $Res Function(_$WOBusinessObjectImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -625,7 +615,7 @@ class __$$_WOBusinessObjectCopyWithImpl<$Res> Object? woAdditionalDetails = freezed, Object? auditDetails = freezed, }) { - return _then(_$_WOBusinessObject( + return _then(_$WOBusinessObjectImpl( totalContractedAmount: freezed == totalContractedAmount ? _value.totalContractedAmount : totalContractedAmount // ignore: cast_nullable_to_non_nullable @@ -656,8 +646,8 @@ class __$$_WOBusinessObjectCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_WOBusinessObject implements _WOBusinessObject { - const _$_WOBusinessObject( +class _$WOBusinessObjectImpl implements _WOBusinessObject { + const _$WOBusinessObjectImpl( {@JsonKey(name: 'totalContractedAmount') this.totalContractedAmount, @JsonKey(name: 'businessService') this.businessService, @JsonKey(name: 'contractNumber') this.contractNumber, @@ -665,8 +655,8 @@ class _$_WOBusinessObject implements _WOBusinessObject { @JsonKey(name: 'additionalDetails') this.woAdditionalDetails, @JsonKey(name: 'auditDetails') this.auditDetails}); - factory _$_WOBusinessObject.fromJson(Map json) => - _$$_WOBusinessObjectFromJson(json); + factory _$WOBusinessObjectImpl.fromJson(Map json) => + _$$WOBusinessObjectImplFromJson(json); @override @JsonKey(name: 'totalContractedAmount') @@ -693,10 +683,10 @@ class _$_WOBusinessObject implements _WOBusinessObject { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_WOBusinessObject && + other is _$WOBusinessObjectImpl && (identical(other.totalContractedAmount, totalContractedAmount) || other.totalContractedAmount == totalContractedAmount) && (identical(other.businessService, businessService) || @@ -725,12 +715,13 @@ class _$_WOBusinessObject implements _WOBusinessObject { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_WOBusinessObjectCopyWith<_$_WOBusinessObject> get copyWith => - __$$_WOBusinessObjectCopyWithImpl<_$_WOBusinessObject>(this, _$identity); + _$$WOBusinessObjectImplCopyWith<_$WOBusinessObjectImpl> get copyWith => + __$$WOBusinessObjectImplCopyWithImpl<_$WOBusinessObjectImpl>( + this, _$identity); @override Map toJson() { - return _$$_WOBusinessObjectToJson( + return _$$WOBusinessObjectImplToJson( this, ); } @@ -738,21 +729,18 @@ class _$_WOBusinessObject implements _WOBusinessObject { abstract class _WOBusinessObject implements WOBusinessObject { const factory _WOBusinessObject( - {@JsonKey(name: 'totalContractedAmount') + {@JsonKey(name: 'totalContractedAmount') final double? totalContractedAmount, - @JsonKey(name: 'businessService') - final String? businessService, - @JsonKey(name: 'contractNumber') - final String? contractNumber, - @JsonKey(name: 'serviceSla') - final int? serviceSla, - @JsonKey(name: 'additionalDetails') + @JsonKey(name: 'businessService') final String? businessService, + @JsonKey(name: 'contractNumber') final String? contractNumber, + @JsonKey(name: 'serviceSla') final int? serviceSla, + @JsonKey(name: 'additionalDetails') final WOAdditionalDetails? woAdditionalDetails, - @JsonKey(name: 'auditDetails') - final AuditDetails? auditDetails}) = _$_WOBusinessObject; + @JsonKey(name: 'auditDetails') final AuditDetails? auditDetails}) = + _$WOBusinessObjectImpl; factory _WOBusinessObject.fromJson(Map json) = - _$_WOBusinessObject.fromJson; + _$WOBusinessObjectImpl.fromJson; @override @JsonKey(name: 'totalContractedAmount') @@ -774,7 +762,7 @@ abstract class _WOBusinessObject implements WOBusinessObject { AuditDetails? get auditDetails; @override @JsonKey(ignore: true) - _$$_WOBusinessObjectCopyWith<_$_WOBusinessObject> get copyWith => + _$$WOBusinessObjectImplCopyWith<_$WOBusinessObjectImpl> get copyWith => throw _privateConstructorUsedError; } @@ -844,11 +832,11 @@ class _$WOAdditionalDetailsCopyWithImpl<$Res, $Val extends WOAdditionalDetails> } /// @nodoc -abstract class _$$_WOAdditionalDetailsCopyWith<$Res> +abstract class _$$WOAdditionalDetailsImplCopyWith<$Res> implements $WOAdditionalDetailsCopyWith<$Res> { - factory _$$_WOAdditionalDetailsCopyWith(_$_WOAdditionalDetails value, - $Res Function(_$_WOAdditionalDetails) then) = - __$$_WOAdditionalDetailsCopyWithImpl<$Res>; + factory _$$WOAdditionalDetailsImplCopyWith(_$WOAdditionalDetailsImpl value, + $Res Function(_$WOAdditionalDetailsImpl) then) = + __$$WOAdditionalDetailsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -858,11 +846,11 @@ abstract class _$$_WOAdditionalDetailsCopyWith<$Res> } /// @nodoc -class __$$_WOAdditionalDetailsCopyWithImpl<$Res> - extends _$WOAdditionalDetailsCopyWithImpl<$Res, _$_WOAdditionalDetails> - implements _$$_WOAdditionalDetailsCopyWith<$Res> { - __$$_WOAdditionalDetailsCopyWithImpl(_$_WOAdditionalDetails _value, - $Res Function(_$_WOAdditionalDetails) _then) +class __$$WOAdditionalDetailsImplCopyWithImpl<$Res> + extends _$WOAdditionalDetailsCopyWithImpl<$Res, _$WOAdditionalDetailsImpl> + implements _$$WOAdditionalDetailsImplCopyWith<$Res> { + __$$WOAdditionalDetailsImplCopyWithImpl(_$WOAdditionalDetailsImpl _value, + $Res Function(_$WOAdditionalDetailsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -872,7 +860,7 @@ class __$$_WOAdditionalDetailsCopyWithImpl<$Res> Object? projectId = freezed, Object? projectName = freezed, }) { - return _then(_$_WOAdditionalDetails( + return _then(_$WOAdditionalDetailsImpl( orgName: freezed == orgName ? _value.orgName : orgName // ignore: cast_nullable_to_non_nullable @@ -891,14 +879,14 @@ class __$$_WOAdditionalDetailsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_WOAdditionalDetails implements _WOAdditionalDetails { - const _$_WOAdditionalDetails( +class _$WOAdditionalDetailsImpl implements _WOAdditionalDetails { + const _$WOAdditionalDetailsImpl( {@JsonKey(name: 'orgName') this.orgName, @JsonKey(name: 'projectId') this.projectId, @JsonKey(name: 'projectName') this.projectName}); - factory _$_WOAdditionalDetails.fromJson(Map json) => - _$$_WOAdditionalDetailsFromJson(json); + factory _$WOAdditionalDetailsImpl.fromJson(Map json) => + _$$WOAdditionalDetailsImplFromJson(json); @override @JsonKey(name: 'orgName') @@ -916,10 +904,10 @@ class _$_WOAdditionalDetails implements _WOAdditionalDetails { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_WOAdditionalDetails && + other is _$WOAdditionalDetailsImpl && (identical(other.orgName, orgName) || other.orgName == orgName) && (identical(other.projectId, projectId) || other.projectId == projectId) && @@ -934,13 +922,13 @@ class _$_WOAdditionalDetails implements _WOAdditionalDetails { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_WOAdditionalDetailsCopyWith<_$_WOAdditionalDetails> get copyWith => - __$$_WOAdditionalDetailsCopyWithImpl<_$_WOAdditionalDetails>( + _$$WOAdditionalDetailsImplCopyWith<_$WOAdditionalDetailsImpl> get copyWith => + __$$WOAdditionalDetailsImplCopyWithImpl<_$WOAdditionalDetailsImpl>( this, _$identity); @override Map toJson() { - return _$$_WOAdditionalDetailsToJson( + return _$$WOAdditionalDetailsImplToJson( this, ); } @@ -951,10 +939,10 @@ abstract class _WOAdditionalDetails implements WOAdditionalDetails { {@JsonKey(name: 'orgName') final String? orgName, @JsonKey(name: 'projectId') final String? projectId, @JsonKey(name: 'projectName') final String? projectName}) = - _$_WOAdditionalDetails; + _$WOAdditionalDetailsImpl; factory _WOAdditionalDetails.fromJson(Map json) = - _$_WOAdditionalDetails.fromJson; + _$WOAdditionalDetailsImpl.fromJson; @override @JsonKey(name: 'orgName') @@ -967,6 +955,6 @@ abstract class _WOAdditionalDetails implements WOAdditionalDetails { String? get projectName; @override @JsonKey(ignore: true) - _$$_WOAdditionalDetailsCopyWith<_$_WOAdditionalDetails> get copyWith => + _$$WOAdditionalDetailsImplCopyWith<_$WOAdditionalDetailsImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.g.dart b/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.g.dart index 614dfdc307..e11de9b46b 100644 --- a/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.g.dart +++ b/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.g.dart @@ -6,10 +6,11 @@ part of 'wo_inbox_response.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_WOInboxResponse _$$_WOInboxResponseFromJson(Map json) => - _$_WOInboxResponse( - totalCount: json['totalCount'] as int?, - nearingSlaCount: json['nearingSlaCount'] as int?, +_$WOInboxResponseImpl _$$WOInboxResponseImplFromJson( + Map json) => + _$WOInboxResponseImpl( + totalCount: (json['totalCount'] as num?)?.toInt(), + nearingSlaCount: (json['nearingSlaCount'] as num?)?.toInt(), statusMap: (json['statusMap'] as List?) ?.map((e) => StatusMap.fromJson(e as Map)) .toList(), @@ -18,7 +19,8 @@ _$_WOInboxResponse _$$_WOInboxResponseFromJson(Map json) => .toList(), ); -Map _$$_WOInboxResponseToJson(_$_WOInboxResponse instance) => +Map _$$WOInboxResponseImplToJson( + _$WOInboxResponseImpl instance) => { 'totalCount': instance.totalCount, 'nearingSlaCount': instance.nearingSlaCount, @@ -26,8 +28,8 @@ Map _$$_WOInboxResponseToJson(_$_WOInboxResponse instance) => 'items': instance.items, }; -_$_WOItemData _$$_WOItemDataFromJson(Map json) => - _$_WOItemData( +_$WOItemDataImpl _$$WOItemDataImplFromJson(Map json) => + _$WOItemDataImpl( processInstance: json['ProcessInstance'] == null ? null : ProcessInstance.fromJson( @@ -38,19 +40,20 @@ _$_WOItemData _$$_WOItemDataFromJson(Map json) => json['businessObject'] as Map), ); -Map _$$_WOItemDataToJson(_$_WOItemData instance) => +Map _$$WOItemDataImplToJson(_$WOItemDataImpl instance) => { 'ProcessInstance': instance.processInstance, 'businessObject': instance.woBusinessObject, }; -_$_WOBusinessObject _$$_WOBusinessObjectFromJson(Map json) => - _$_WOBusinessObject( +_$WOBusinessObjectImpl _$$WOBusinessObjectImplFromJson( + Map json) => + _$WOBusinessObjectImpl( totalContractedAmount: (json['totalContractedAmount'] as num?)?.toDouble(), businessService: json['businessService'] as String?, contractNumber: json['contractNumber'] as String?, - serviceSla: json['serviceSla'] as int?, + serviceSla: (json['serviceSla'] as num?)?.toInt(), woAdditionalDetails: json['additionalDetails'] == null ? null : WOAdditionalDetails.fromJson( @@ -60,7 +63,8 @@ _$_WOBusinessObject _$$_WOBusinessObjectFromJson(Map json) => : AuditDetails.fromJson(json['auditDetails'] as Map), ); -Map _$$_WOBusinessObjectToJson(_$_WOBusinessObject instance) => +Map _$$WOBusinessObjectImplToJson( + _$WOBusinessObjectImpl instance) => { 'totalContractedAmount': instance.totalContractedAmount, 'businessService': instance.businessService, @@ -70,16 +74,16 @@ Map _$$_WOBusinessObjectToJson(_$_WOBusinessObject instance) => 'auditDetails': instance.auditDetails, }; -_$_WOAdditionalDetails _$$_WOAdditionalDetailsFromJson( +_$WOAdditionalDetailsImpl _$$WOAdditionalDetailsImplFromJson( Map json) => - _$_WOAdditionalDetails( + _$WOAdditionalDetailsImpl( orgName: json['orgName'] as String?, projectId: json['projectId'] as String?, projectName: json['projectName'] as String?, ); -Map _$$_WOAdditionalDetailsToJson( - _$_WOAdditionalDetails instance) => +Map _$$WOAdditionalDetailsImplToJson( + _$WOAdditionalDetailsImpl instance) => { 'orgName': instance.orgName, 'projectId': instance.projectId, diff --git a/frontend/works_shg_app/lib/models/file_store/file_store_model.mapper.dart b/frontend/works_shg_app/lib/models/file_store/file_store_model.mapper.dart index ece9e2341d..66dba16145 100644 --- a/frontend/works_shg_app/lib/models/file_store/file_store_model.mapper.dart +++ b/frontend/works_shg_app/lib/models/file_store/file_store_model.mapper.dart @@ -1,229 +1,250 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element +// ignore_for_file: unused_element, unnecessary_cast, override_on_non_overriding_member +// ignore_for_file: strict_raw_type, inference_failure_on_untyped_parameter part of 'file_store_model.dart'; -class FileStoreListModelMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {FileStoreListModelMapper()}, - )..linkAll({FileStoreModelMapper.container}); +class FileStoreListModelMapper extends ClassMapperBase { + FileStoreListModelMapper._(); - @override - FileStoreListModelMapperElement createElement(MapperContainer container) { - return FileStoreListModelMapperElement._(this, container); + static FileStoreListModelMapper? _instance; + static FileStoreListModelMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = FileStoreListModelMapper._()); + FileStoreModelMapper.ensureInitialized(); + } + return _instance!; } @override - String get id => 'FileStoreListModel'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + final String id = 'FileStoreListModel'; -class FileStoreListModelMapperElement - extends MapperElementBase { - FileStoreListModelMapperElement._(super.mapper, super.container); + static List? _$fileStoreIds(FileStoreListModel v) => + v.fileStoreIds; + static const Field> _f$fileStoreIds = + Field('fileStoreIds', _$fileStoreIds, opt: true); @override - Function get decoder => decode; - FileStoreListModel decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - FileStoreListModel fromMap(Map map) => - FileStoreListModel(fileStoreIds: container.$getOpt(map, 'fileStoreIds')); + final MappableFields fields = const { + #fileStoreIds: _f$fileStoreIds, + }; - @override - Function get encoder => encode; - dynamic encode(FileStoreListModel v) => toMap(v); - Map toMap(FileStoreListModel f) => - {'fileStoreIds': container.$enc(f.fileStoreIds, 'fileStoreIds')}; + static FileStoreListModel _instantiate(DecodingData data) { + return FileStoreListModel(fileStoreIds: data.dec(_f$fileStoreIds)); + } @override - String stringify(FileStoreListModel self) => - 'FileStoreListModel(fileStoreIds: ${container.asString(self.fileStoreIds)})'; - @override - int hash(FileStoreListModel self) => container.hash(self.fileStoreIds); - @override - bool equals(FileStoreListModel self, FileStoreListModel other) => - container.isEqual(self.fileStoreIds, other.fileStoreIds); + final Function instantiate = _instantiate; + + static FileStoreListModel fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static FileStoreListModel fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin FileStoreListModelMappable { - String toJson() => - FileStoreListModelMapper.container.toJson(this as FileStoreListModel); - Map toMap() => - FileStoreListModelMapper.container.toMap(this as FileStoreListModel); + String toJson() { + return FileStoreListModelMapper.ensureInitialized() + .encodeJson(this as FileStoreListModel); + } + + Map toMap() { + return FileStoreListModelMapper.ensureInitialized() + .encodeMap(this as FileStoreListModel); + } + FileStoreListModelCopyWith get copyWith => _FileStoreListModelCopyWithImpl( this as FileStoreListModel, $identity, $identity); @override - String toString() => FileStoreListModelMapper.container.asString(this); + String toString() { + return FileStoreListModelMapper.ensureInitialized() + .stringifyValue(this as FileStoreListModel); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - FileStoreListModelMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return FileStoreListModelMapper.ensureInitialized() + .equalsValue(this as FileStoreListModel, other); + } + @override - int get hashCode => FileStoreListModelMapper.container.hash(this); + int get hashCode { + return FileStoreListModelMapper.ensureInitialized() + .hashValue(this as FileStoreListModel); + } } -extension FileStoreListModelValueCopy<$R, $Out extends FileStoreListModel> +extension FileStoreListModelValueCopy<$R, $Out> on ObjectCopyWith<$R, FileStoreListModel, $Out> { FileStoreListModelCopyWith<$R, FileStoreListModel, $Out> - get asFileStoreListModel => - base.as((v, t, t2) => _FileStoreListModelCopyWithImpl(v, t, t2)); + get $asFileStoreListModel => + $base.as((v, t, t2) => _FileStoreListModelCopyWithImpl(v, t, t2)); } -typedef FileStoreListModelCopyWithBound = FileStoreListModel; - abstract class FileStoreListModelCopyWith<$R, $In extends FileStoreListModel, - $Out extends FileStoreListModel> implements ObjectCopyWith<$R, $In, $Out> { - FileStoreListModelCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends FileStoreListModel>( - Then t, Then<$Out2, $R2> t2); + $Out> implements ClassCopyWith<$R, $In, $Out> { ListCopyWith<$R, FileStoreModel, FileStoreModelCopyWith<$R, FileStoreModel, FileStoreModel>>? get fileStoreIds; $R call({List? fileStoreIds}); + FileStoreListModelCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _FileStoreListModelCopyWithImpl<$R, $Out extends FileStoreListModel> - extends CopyWithBase<$R, FileStoreListModel, $Out> +class _FileStoreListModelCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, FileStoreListModel, $Out> implements FileStoreListModelCopyWith<$R, FileStoreListModel, $Out> { _FileStoreListModelCopyWithImpl(super.value, super.then, super.then2); - @override - FileStoreListModelCopyWith<$R2, FileStoreListModel, $Out2> - chain<$R2, $Out2 extends FileStoreListModel>( - Then t, Then<$Out2, $R2> t2) => - _FileStoreListModelCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + FileStoreListModelMapper.ensureInitialized(); @override ListCopyWith<$R, FileStoreModel, FileStoreModelCopyWith<$R, FileStoreModel, FileStoreModel>>? get fileStoreIds => $value.fileStoreIds != null - ? ListCopyWith( - $value.fileStoreIds!, - (v, t) => v.copyWith.chain<$R, FileStoreModel>($identity, t), + ? ListCopyWith($value.fileStoreIds!, (v, t) => v.copyWith.$chain(t), (v) => call(fileStoreIds: v)) : null; @override - $R call({Object? fileStoreIds = $none}) => $then( - FileStoreListModel(fileStoreIds: or(fileStoreIds, $value.fileStoreIds))); + $R call({Object? fileStoreIds = $none}) => $apply(FieldCopyWithData( + {if (fileStoreIds != $none) #fileStoreIds: fileStoreIds})); + @override + FileStoreListModel $make(CopyWithData data) => FileStoreListModel( + fileStoreIds: data.get(#fileStoreIds, or: $value.fileStoreIds)); + + @override + FileStoreListModelCopyWith<$R2, FileStoreListModel, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _FileStoreListModelCopyWithImpl($value, $cast, t); } -class FileStoreModelMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {FileStoreModelMapper()}, - ); +class FileStoreModelMapper extends ClassMapperBase { + FileStoreModelMapper._(); + + static FileStoreModelMapper? _instance; + static FileStoreModelMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = FileStoreModelMapper._()); + } + return _instance!; + } @override - FileStoreModelMapperElement createElement(MapperContainer container) { - return FileStoreModelMapperElement._(this, container); + final String id = 'FileStoreModel'; + + static String? _$name(FileStoreModel v) => v.name; + static const Field _f$name = + Field('name', _$name, opt: true); + static String? _$id(FileStoreModel v) => v.id; + static const Field _f$id = + Field('id', _$id, opt: true); + static String? _$url(FileStoreModel v) => v.url; + static const Field _f$url = + Field('url', _$url, opt: true); + static String? _$fileStoreId(FileStoreModel v) => v.fileStoreId; + static const Field _f$fileStoreId = + Field('fileStoreId', _$fileStoreId, opt: true); + static String? _$tenantId(FileStoreModel v) => v.tenantId; + static const Field _f$tenantId = + Field('tenantId', _$tenantId, opt: true); + + @override + final MappableFields fields = const { + #name: _f$name, + #id: _f$id, + #url: _f$url, + #fileStoreId: _f$fileStoreId, + #tenantId: _f$tenantId, + }; + + static FileStoreModel _instantiate(DecodingData data) { + return FileStoreModel( + name: data.dec(_f$name), + id: data.dec(_f$id), + url: data.dec(_f$url), + fileStoreId: data.dec(_f$fileStoreId), + tenantId: data.dec(_f$tenantId)); } @override - String get id => 'FileStoreModel'; + final Function instantiate = _instantiate; - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + static FileStoreModel fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } -class FileStoreModelMapperElement extends MapperElementBase { - FileStoreModelMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - FileStoreModel decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - FileStoreModel fromMap(Map map) => FileStoreModel( - name: container.$getOpt(map, 'name'), - id: container.$getOpt(map, 'id'), - url: container.$getOpt(map, 'url'), - fileStoreId: container.$getOpt(map, 'fileStoreId'), - tenantId: container.$getOpt(map, 'tenantId')); - - @override - Function get encoder => encode; - dynamic encode(FileStoreModel v) => toMap(v); - Map toMap(FileStoreModel f) => { - 'name': container.$enc(f.name, 'name'), - 'id': container.$enc(f.id, 'id'), - 'url': container.$enc(f.url, 'url'), - 'fileStoreId': container.$enc(f.fileStoreId, 'fileStoreId'), - 'tenantId': container.$enc(f.tenantId, 'tenantId') - }; - - @override - String stringify(FileStoreModel self) => - 'FileStoreModel(name: ${container.asString(self.name)}, fileStoreId: ${container.asString(self.fileStoreId)}, tenantId: ${container.asString(self.tenantId)}, id: ${container.asString(self.id)}, url: ${container.asString(self.url)})'; - @override - int hash(FileStoreModel self) => - container.hash(self.name) ^ - container.hash(self.fileStoreId) ^ - container.hash(self.tenantId) ^ - container.hash(self.id) ^ - container.hash(self.url); - @override - bool equals(FileStoreModel self, FileStoreModel other) => - container.isEqual(self.name, other.name) && - container.isEqual(self.fileStoreId, other.fileStoreId) && - container.isEqual(self.tenantId, other.tenantId) && - container.isEqual(self.id, other.id) && - container.isEqual(self.url, other.url); + static FileStoreModel fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin FileStoreModelMappable { - String toJson() => - FileStoreModelMapper.container.toJson(this as FileStoreModel); - Map toMap() => - FileStoreModelMapper.container.toMap(this as FileStoreModel); + String toJson() { + return FileStoreModelMapper.ensureInitialized() + .encodeJson(this as FileStoreModel); + } + + Map toMap() { + return FileStoreModelMapper.ensureInitialized() + .encodeMap(this as FileStoreModel); + } + FileStoreModelCopyWith get copyWith => _FileStoreModelCopyWithImpl( this as FileStoreModel, $identity, $identity); @override - String toString() => FileStoreModelMapper.container.asString(this); + String toString() { + return FileStoreModelMapper.ensureInitialized() + .stringifyValue(this as FileStoreModel); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - FileStoreModelMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return FileStoreModelMapper.ensureInitialized() + .equalsValue(this as FileStoreModel, other); + } + @override - int get hashCode => FileStoreModelMapper.container.hash(this); + int get hashCode { + return FileStoreModelMapper.ensureInitialized() + .hashValue(this as FileStoreModel); + } } -extension FileStoreModelValueCopy<$R, $Out extends FileStoreModel> +extension FileStoreModelValueCopy<$R, $Out> on ObjectCopyWith<$R, FileStoreModel, $Out> { - FileStoreModelCopyWith<$R, FileStoreModel, $Out> get asFileStoreModel => - base.as((v, t, t2) => _FileStoreModelCopyWithImpl(v, t, t2)); + FileStoreModelCopyWith<$R, FileStoreModel, $Out> get $asFileStoreModel => + $base.as((v, t, t2) => _FileStoreModelCopyWithImpl(v, t, t2)); } -typedef FileStoreModelCopyWithBound = FileStoreModel; - -abstract class FileStoreModelCopyWith<$R, $In extends FileStoreModel, - $Out extends FileStoreModel> implements ObjectCopyWith<$R, $In, $Out> { - FileStoreModelCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends FileStoreModel>( - Then t, Then<$Out2, $R2> t2); +abstract class FileStoreModelCopyWith<$R, $In extends FileStoreModel, $Out> + implements ClassCopyWith<$R, $In, $Out> { $R call( {String? name, String? id, String? url, String? fileStoreId, String? tenantId}); + FileStoreModelCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _FileStoreModelCopyWithImpl<$R, $Out extends FileStoreModel> - extends CopyWithBase<$R, FileStoreModel, $Out> +class _FileStoreModelCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, FileStoreModel, $Out> implements FileStoreModelCopyWith<$R, FileStoreModel, $Out> { _FileStoreModelCopyWithImpl(super.value, super.then, super.then2); - @override - FileStoreModelCopyWith<$R2, FileStoreModel, $Out2> - chain<$R2, $Out2 extends FileStoreModel>( - Then t, Then<$Out2, $R2> t2) => - _FileStoreModelCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + FileStoreModelMapper.ensureInitialized(); @override $R call( {Object? name = $none, @@ -231,10 +252,23 @@ class _FileStoreModelCopyWithImpl<$R, $Out extends FileStoreModel> Object? url = $none, Object? fileStoreId = $none, Object? tenantId = $none}) => - $then(FileStoreModel( - name: or(name, $value.name), - id: or(id, $value.id), - url: or(url, $value.url), - fileStoreId: or(fileStoreId, $value.fileStoreId), - tenantId: or(tenantId, $value.tenantId))); + $apply(FieldCopyWithData({ + if (name != $none) #name: name, + if (id != $none) #id: id, + if (url != $none) #url: url, + if (fileStoreId != $none) #fileStoreId: fileStoreId, + if (tenantId != $none) #tenantId: tenantId + })); + @override + FileStoreModel $make(CopyWithData data) => FileStoreModel( + name: data.get(#name, or: $value.name), + id: data.get(#id, or: $value.id), + url: data.get(#url, or: $value.url), + fileStoreId: data.get(#fileStoreId, or: $value.fileStoreId), + tenantId: data.get(#tenantId, or: $value.tenantId)); + + @override + FileStoreModelCopyWith<$R2, FileStoreModel, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _FileStoreModelCopyWithImpl($value, $cast, t); } diff --git a/frontend/works_shg_app/lib/models/init_mdms/global_config_model.freezed.dart b/frontend/works_shg_app/lib/models/init_mdms/global_config_model.freezed.dart index a37f73feed..d05b9e01f0 100644 --- a/frontend/works_shg_app/lib/models/init_mdms/global_config_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/init_mdms/global_config_model.freezed.dart @@ -12,7 +12,7 @@ part of 'global_config_model.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); GlobalConfigModel _$GlobalConfigModelFromJson(Map json) { return _GlobalConfigModel.fromJson(json); @@ -77,11 +77,11 @@ class _$GlobalConfigModelCopyWithImpl<$Res, $Val extends GlobalConfigModel> } /// @nodoc -abstract class _$$_GlobalConfigModelCopyWith<$Res> +abstract class _$$GlobalConfigModelImplCopyWith<$Res> implements $GlobalConfigModelCopyWith<$Res> { - factory _$$_GlobalConfigModelCopyWith(_$_GlobalConfigModel value, - $Res Function(_$_GlobalConfigModel) then) = - __$$_GlobalConfigModelCopyWithImpl<$Res>; + factory _$$GlobalConfigModelImplCopyWith(_$GlobalConfigModelImpl value, + $Res Function(_$GlobalConfigModelImpl) then) = + __$$GlobalConfigModelImplCopyWithImpl<$Res>; @override @useResult $Res call({@JsonKey(name: 'globalConfigs') GlobalConfigs? globalConfigs}); @@ -91,11 +91,11 @@ abstract class _$$_GlobalConfigModelCopyWith<$Res> } /// @nodoc -class __$$_GlobalConfigModelCopyWithImpl<$Res> - extends _$GlobalConfigModelCopyWithImpl<$Res, _$_GlobalConfigModel> - implements _$$_GlobalConfigModelCopyWith<$Res> { - __$$_GlobalConfigModelCopyWithImpl( - _$_GlobalConfigModel _value, $Res Function(_$_GlobalConfigModel) _then) +class __$$GlobalConfigModelImplCopyWithImpl<$Res> + extends _$GlobalConfigModelCopyWithImpl<$Res, _$GlobalConfigModelImpl> + implements _$$GlobalConfigModelImplCopyWith<$Res> { + __$$GlobalConfigModelImplCopyWithImpl(_$GlobalConfigModelImpl _value, + $Res Function(_$GlobalConfigModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -103,7 +103,7 @@ class __$$_GlobalConfigModelCopyWithImpl<$Res> $Res call({ Object? globalConfigs = freezed, }) { - return _then(_$_GlobalConfigModel( + return _then(_$GlobalConfigModelImpl( globalConfigs: freezed == globalConfigs ? _value.globalConfigs : globalConfigs // ignore: cast_nullable_to_non_nullable @@ -114,12 +114,12 @@ class __$$_GlobalConfigModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_GlobalConfigModel implements _GlobalConfigModel { - const _$_GlobalConfigModel( +class _$GlobalConfigModelImpl implements _GlobalConfigModel { + const _$GlobalConfigModelImpl( {@JsonKey(name: 'globalConfigs') this.globalConfigs}); - factory _$_GlobalConfigModel.fromJson(Map json) => - _$$_GlobalConfigModelFromJson(json); + factory _$GlobalConfigModelImpl.fromJson(Map json) => + _$$GlobalConfigModelImplFromJson(json); @override @JsonKey(name: 'globalConfigs') @@ -131,10 +131,10 @@ class _$_GlobalConfigModel implements _GlobalConfigModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_GlobalConfigModel && + other is _$GlobalConfigModelImpl && (identical(other.globalConfigs, globalConfigs) || other.globalConfigs == globalConfigs)); } @@ -146,13 +146,13 @@ class _$_GlobalConfigModel implements _GlobalConfigModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_GlobalConfigModelCopyWith<_$_GlobalConfigModel> get copyWith => - __$$_GlobalConfigModelCopyWithImpl<_$_GlobalConfigModel>( + _$$GlobalConfigModelImplCopyWith<_$GlobalConfigModelImpl> get copyWith => + __$$GlobalConfigModelImplCopyWithImpl<_$GlobalConfigModelImpl>( this, _$identity); @override Map toJson() { - return _$$_GlobalConfigModelToJson( + return _$$GlobalConfigModelImplToJson( this, ); } @@ -161,17 +161,17 @@ class _$_GlobalConfigModel implements _GlobalConfigModel { abstract class _GlobalConfigModel implements GlobalConfigModel { const factory _GlobalConfigModel( {@JsonKey(name: 'globalConfigs') - final GlobalConfigs? globalConfigs}) = _$_GlobalConfigModel; + final GlobalConfigs? globalConfigs}) = _$GlobalConfigModelImpl; factory _GlobalConfigModel.fromJson(Map json) = - _$_GlobalConfigModel.fromJson; + _$GlobalConfigModelImpl.fromJson; @override @JsonKey(name: 'globalConfigs') GlobalConfigs? get globalConfigs; @override @JsonKey(ignore: true) - _$$_GlobalConfigModelCopyWith<_$_GlobalConfigModel> get copyWith => + _$$GlobalConfigModelImplCopyWith<_$GlobalConfigModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -281,11 +281,11 @@ class _$GlobalConfigsCopyWithImpl<$Res, $Val extends GlobalConfigs> } /// @nodoc -abstract class _$$_GlobalConfigsCopyWith<$Res> +abstract class _$$GlobalConfigsImplCopyWith<$Res> implements $GlobalConfigsCopyWith<$Res> { - factory _$$_GlobalConfigsCopyWith( - _$_GlobalConfigs value, $Res Function(_$_GlobalConfigs) then) = - __$$_GlobalConfigsCopyWithImpl<$Res>; + factory _$$GlobalConfigsImplCopyWith( + _$GlobalConfigsImpl value, $Res Function(_$GlobalConfigsImpl) then) = + __$$GlobalConfigsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -300,11 +300,11 @@ abstract class _$$_GlobalConfigsCopyWith<$Res> } /// @nodoc -class __$$_GlobalConfigsCopyWithImpl<$Res> - extends _$GlobalConfigsCopyWithImpl<$Res, _$_GlobalConfigs> - implements _$$_GlobalConfigsCopyWith<$Res> { - __$$_GlobalConfigsCopyWithImpl( - _$_GlobalConfigs _value, $Res Function(_$_GlobalConfigs) _then) +class __$$GlobalConfigsImplCopyWithImpl<$Res> + extends _$GlobalConfigsCopyWithImpl<$Res, _$GlobalConfigsImpl> + implements _$$GlobalConfigsImplCopyWith<$Res> { + __$$GlobalConfigsImplCopyWithImpl( + _$GlobalConfigsImpl _value, $Res Function(_$GlobalConfigsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -319,7 +319,7 @@ class __$$_GlobalConfigsCopyWithImpl<$Res> Object? centralInstanceEnabled = freezed, Object? assetS3Bucket = freezed, }) { - return _then(_$_GlobalConfigs( + return _then(_$GlobalConfigsImpl( stateTenantId: null == stateTenantId ? _value.stateTenantId : stateTenantId // ignore: cast_nullable_to_non_nullable @@ -358,8 +358,8 @@ class __$$_GlobalConfigsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_GlobalConfigs implements _GlobalConfigs { - const _$_GlobalConfigs( +class _$GlobalConfigsImpl implements _GlobalConfigs { + const _$GlobalConfigsImpl( {@JsonKey(name: 'stateTenantId') required this.stateTenantId, @JsonKey(name: 'gmaps_api_key') this.gmaps_api_key, @JsonKey(name: 'finEnv') this.finEnv, @@ -369,8 +369,8 @@ class _$_GlobalConfigs implements _GlobalConfigs { @JsonKey(name: 'centralInstanceEnabled') this.centralInstanceEnabled, @JsonKey(name: 'assetS3Bucket') this.assetS3Bucket}); - factory _$_GlobalConfigs.fromJson(Map json) => - _$$_GlobalConfigsFromJson(json); + factory _$GlobalConfigsImpl.fromJson(Map json) => + _$$GlobalConfigsImplFromJson(json); @override @JsonKey(name: 'stateTenantId') @@ -403,10 +403,10 @@ class _$_GlobalConfigs implements _GlobalConfigs { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_GlobalConfigs && + other is _$GlobalConfigsImpl && (identical(other.stateTenantId, stateTenantId) || other.stateTenantId == stateTenantId) && (identical(other.gmaps_api_key, gmaps_api_key) || @@ -440,12 +440,12 @@ class _$_GlobalConfigs implements _GlobalConfigs { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_GlobalConfigsCopyWith<_$_GlobalConfigs> get copyWith => - __$$_GlobalConfigsCopyWithImpl<_$_GlobalConfigs>(this, _$identity); + _$$GlobalConfigsImplCopyWith<_$GlobalConfigsImpl> get copyWith => + __$$GlobalConfigsImplCopyWithImpl<_$GlobalConfigsImpl>(this, _$identity); @override Map toJson() { - return _$$_GlobalConfigsToJson( + return _$$GlobalConfigsImplToJson( this, ); } @@ -453,25 +453,19 @@ class _$_GlobalConfigs implements _GlobalConfigs { abstract class _GlobalConfigs implements GlobalConfigs { const factory _GlobalConfigs( - {@JsonKey(name: 'stateTenantId') - required final String stateTenantId, - @JsonKey(name: 'gmaps_api_key') - final String? gmaps_api_key, - @JsonKey(name: 'finEnv') - final String? finEnv, - @JsonKey(name: 'contextPath') - final String? contextPath, - @JsonKey(name: 'footerLogoURL') - final String? footerLogoURL, - @JsonKey(name: 'footerBWLogoURL') - final String? footerBWLogoURL, - @JsonKey(name: 'centralInstanceEnabled') + {@JsonKey(name: 'stateTenantId') required final String stateTenantId, + @JsonKey(name: 'gmaps_api_key') final String? gmaps_api_key, + @JsonKey(name: 'finEnv') final String? finEnv, + @JsonKey(name: 'contextPath') final String? contextPath, + @JsonKey(name: 'footerLogoURL') final String? footerLogoURL, + @JsonKey(name: 'footerBWLogoURL') final String? footerBWLogoURL, + @JsonKey(name: 'centralInstanceEnabled') final bool? centralInstanceEnabled, - @JsonKey(name: 'assetS3Bucket') - final String? assetS3Bucket}) = _$_GlobalConfigs; + @JsonKey(name: 'assetS3Bucket') final String? assetS3Bucket}) = + _$GlobalConfigsImpl; factory _GlobalConfigs.fromJson(Map json) = - _$_GlobalConfigs.fromJson; + _$GlobalConfigsImpl.fromJson; @override @JsonKey(name: 'stateTenantId') @@ -499,6 +493,6 @@ abstract class _GlobalConfigs implements GlobalConfigs { String? get assetS3Bucket; @override @JsonKey(ignore: true) - _$$_GlobalConfigsCopyWith<_$_GlobalConfigs> get copyWith => + _$$GlobalConfigsImplCopyWith<_$GlobalConfigsImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/init_mdms/global_config_model.g.dart b/frontend/works_shg_app/lib/models/init_mdms/global_config_model.g.dart index 504e49cadd..a0323bbc3e 100644 --- a/frontend/works_shg_app/lib/models/init_mdms/global_config_model.g.dart +++ b/frontend/works_shg_app/lib/models/init_mdms/global_config_model.g.dart @@ -6,22 +6,23 @@ part of 'global_config_model.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_GlobalConfigModel _$$_GlobalConfigModelFromJson(Map json) => - _$_GlobalConfigModel( +_$GlobalConfigModelImpl _$$GlobalConfigModelImplFromJson( + Map json) => + _$GlobalConfigModelImpl( globalConfigs: json['globalConfigs'] == null ? null : GlobalConfigs.fromJson( json['globalConfigs'] as Map), ); -Map _$$_GlobalConfigModelToJson( - _$_GlobalConfigModel instance) => +Map _$$GlobalConfigModelImplToJson( + _$GlobalConfigModelImpl instance) => { 'globalConfigs': instance.globalConfigs, }; -_$_GlobalConfigs _$$_GlobalConfigsFromJson(Map json) => - _$_GlobalConfigs( +_$GlobalConfigsImpl _$$GlobalConfigsImplFromJson(Map json) => + _$GlobalConfigsImpl( stateTenantId: json['stateTenantId'] as String, gmaps_api_key: json['gmaps_api_key'] as String?, finEnv: json['finEnv'] as String?, @@ -32,7 +33,7 @@ _$_GlobalConfigs _$$_GlobalConfigsFromJson(Map json) => assetS3Bucket: json['assetS3Bucket'] as String?, ); -Map _$$_GlobalConfigsToJson(_$_GlobalConfigs instance) => +Map _$$GlobalConfigsImplToJson(_$GlobalConfigsImpl instance) => { 'stateTenantId': instance.stateTenantId, 'gmaps_api_key': instance.gmaps_api_key, diff --git a/frontend/works_shg_app/lib/models/init_mdms/init_mdms_model.freezed.dart b/frontend/works_shg_app/lib/models/init_mdms/init_mdms_model.freezed.dart index e4901af7df..cceb01ed28 100644 --- a/frontend/works_shg_app/lib/models/init_mdms/init_mdms_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/init_mdms/init_mdms_model.freezed.dart @@ -12,7 +12,7 @@ part of 'init_mdms_model.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); InitMdmsModel _$InitMdmsModelFromJson(Map json) { return _InitMdmsModel.fromJson(json); @@ -101,11 +101,11 @@ class _$InitMdmsModelCopyWithImpl<$Res, $Val extends InitMdmsModel> } /// @nodoc -abstract class _$$_InitMdmsModelCopyWith<$Res> +abstract class _$$InitMdmsModelImplCopyWith<$Res> implements $InitMdmsModelCopyWith<$Res> { - factory _$$_InitMdmsModelCopyWith( - _$_InitMdmsModel value, $Res Function(_$_InitMdmsModel) then) = - __$$_InitMdmsModelCopyWithImpl<$Res>; + factory _$$InitMdmsModelImplCopyWith( + _$InitMdmsModelImpl value, $Res Function(_$InitMdmsModelImpl) then) = + __$$InitMdmsModelImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -119,11 +119,11 @@ abstract class _$$_InitMdmsModelCopyWith<$Res> } /// @nodoc -class __$$_InitMdmsModelCopyWithImpl<$Res> - extends _$InitMdmsModelCopyWithImpl<$Res, _$_InitMdmsModel> - implements _$$_InitMdmsModelCopyWith<$Res> { - __$$_InitMdmsModelCopyWithImpl( - _$_InitMdmsModel _value, $Res Function(_$_InitMdmsModel) _then) +class __$$InitMdmsModelImplCopyWithImpl<$Res> + extends _$InitMdmsModelCopyWithImpl<$Res, _$InitMdmsModelImpl> + implements _$$InitMdmsModelImplCopyWith<$Res> { + __$$InitMdmsModelImplCopyWithImpl( + _$InitMdmsModelImpl _value, $Res Function(_$InitMdmsModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -132,7 +132,7 @@ class __$$_InitMdmsModelCopyWithImpl<$Res> Object? commonMastersModel = freezed, Object? tenant = freezed, }) { - return _then(_$_InitMdmsModel( + return _then(_$InitMdmsModelImpl( commonMastersModel: freezed == commonMastersModel ? _value.commonMastersModel : commonMastersModel // ignore: cast_nullable_to_non_nullable @@ -147,13 +147,13 @@ class __$$_InitMdmsModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_InitMdmsModel implements _InitMdmsModel { - const _$_InitMdmsModel( +class _$InitMdmsModelImpl implements _InitMdmsModel { + const _$InitMdmsModelImpl( {@JsonKey(name: 'common-masters') this.commonMastersModel, @JsonKey(name: 'tenant') this.tenant}); - factory _$_InitMdmsModel.fromJson(Map json) => - _$$_InitMdmsModelFromJson(json); + factory _$InitMdmsModelImpl.fromJson(Map json) => + _$$InitMdmsModelImplFromJson(json); @override @JsonKey(name: 'common-masters') @@ -168,10 +168,10 @@ class _$_InitMdmsModel implements _InitMdmsModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_InitMdmsModel && + other is _$InitMdmsModelImpl && (identical(other.commonMastersModel, commonMastersModel) || other.commonMastersModel == commonMastersModel) && (identical(other.tenant, tenant) || other.tenant == tenant)); @@ -184,12 +184,12 @@ class _$_InitMdmsModel implements _InitMdmsModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_InitMdmsModelCopyWith<_$_InitMdmsModel> get copyWith => - __$$_InitMdmsModelCopyWithImpl<_$_InitMdmsModel>(this, _$identity); + _$$InitMdmsModelImplCopyWith<_$InitMdmsModelImpl> get copyWith => + __$$InitMdmsModelImplCopyWithImpl<_$InitMdmsModelImpl>(this, _$identity); @override Map toJson() { - return _$$_InitMdmsModelToJson( + return _$$InitMdmsModelImplToJson( this, ); } @@ -197,13 +197,13 @@ class _$_InitMdmsModel implements _InitMdmsModel { abstract class _InitMdmsModel implements InitMdmsModel { const factory _InitMdmsModel( - {@JsonKey(name: 'common-masters') + {@JsonKey(name: 'common-masters') final CommonMastersModel? commonMastersModel, - @JsonKey(name: 'tenant') - final TenantModel? tenant}) = _$_InitMdmsModel; + @JsonKey(name: 'tenant') final TenantModel? tenant}) = + _$InitMdmsModelImpl; factory _InitMdmsModel.fromJson(Map json) = - _$_InitMdmsModel.fromJson; + _$InitMdmsModelImpl.fromJson; @override @JsonKey(name: 'common-masters') @@ -213,7 +213,7 @@ abstract class _InitMdmsModel implements InitMdmsModel { TenantModel? get tenant; @override @JsonKey(ignore: true) - _$$_InitMdmsModelCopyWith<_$_InitMdmsModel> get copyWith => + _$$InitMdmsModelImplCopyWith<_$InitMdmsModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -277,11 +277,11 @@ class _$TenantModelCopyWithImpl<$Res, $Val extends TenantModel> } /// @nodoc -abstract class _$$_TenantModelCopyWith<$Res> +abstract class _$$TenantModelImplCopyWith<$Res> implements $TenantModelCopyWith<$Res> { - factory _$$_TenantModelCopyWith( - _$_TenantModel value, $Res Function(_$_TenantModel) then) = - __$$_TenantModelCopyWithImpl<$Res>; + factory _$$TenantModelImplCopyWith( + _$TenantModelImpl value, $Res Function(_$TenantModelImpl) then) = + __$$TenantModelImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -290,11 +290,11 @@ abstract class _$$_TenantModelCopyWith<$Res> } /// @nodoc -class __$$_TenantModelCopyWithImpl<$Res> - extends _$TenantModelCopyWithImpl<$Res, _$_TenantModel> - implements _$$_TenantModelCopyWith<$Res> { - __$$_TenantModelCopyWithImpl( - _$_TenantModel _value, $Res Function(_$_TenantModel) _then) +class __$$TenantModelImplCopyWithImpl<$Res> + extends _$TenantModelCopyWithImpl<$Res, _$TenantModelImpl> + implements _$$TenantModelImplCopyWith<$Res> { + __$$TenantModelImplCopyWithImpl( + _$TenantModelImpl _value, $Res Function(_$TenantModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -303,7 +303,7 @@ class __$$_TenantModelCopyWithImpl<$Res> Object? tenantListModel = freezed, Object? cityModuleModel = freezed, }) { - return _then(_$_TenantModel( + return _then(_$TenantModelImpl( tenantListModel: freezed == tenantListModel ? _value._tenantListModel : tenantListModel // ignore: cast_nullable_to_non_nullable @@ -318,17 +318,16 @@ class __$$_TenantModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_TenantModel implements _TenantModel { - const _$_TenantModel( - {@JsonKey(name: 'tenants') - final List? tenantListModel, +class _$TenantModelImpl implements _TenantModel { + const _$TenantModelImpl( + {@JsonKey(name: 'tenants') final List? tenantListModel, @JsonKey(name: 'citymodule') - final List? cityModuleModel}) + final List? cityModuleModel}) : _tenantListModel = tenantListModel, _cityModuleModel = cityModuleModel; - factory _$_TenantModel.fromJson(Map json) => - _$$_TenantModelFromJson(json); + factory _$TenantModelImpl.fromJson(Map json) => + _$$TenantModelImplFromJson(json); final List? _tenantListModel; @override @@ -358,10 +357,10 @@ class _$_TenantModel implements _TenantModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_TenantModel && + other is _$TenantModelImpl && const DeepCollectionEquality() .equals(other._tenantListModel, _tenantListModel) && const DeepCollectionEquality() @@ -378,12 +377,12 @@ class _$_TenantModel implements _TenantModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_TenantModelCopyWith<_$_TenantModel> get copyWith => - __$$_TenantModelCopyWithImpl<_$_TenantModel>(this, _$identity); + _$$TenantModelImplCopyWith<_$TenantModelImpl> get copyWith => + __$$TenantModelImplCopyWithImpl<_$TenantModelImpl>(this, _$identity); @override Map toJson() { - return _$$_TenantModelToJson( + return _$$TenantModelImplToJson( this, ); } @@ -391,13 +390,12 @@ class _$_TenantModel implements _TenantModel { abstract class _TenantModel implements TenantModel { const factory _TenantModel( - {@JsonKey(name: 'tenants') - final List? tenantListModel, + {@JsonKey(name: 'tenants') final List? tenantListModel, @JsonKey(name: 'citymodule') - final List? cityModuleModel}) = _$_TenantModel; + final List? cityModuleModel}) = _$TenantModelImpl; factory _TenantModel.fromJson(Map json) = - _$_TenantModel.fromJson; + _$TenantModelImpl.fromJson; @override @JsonKey(name: 'tenants') @@ -407,7 +405,7 @@ abstract class _TenantModel implements TenantModel { List? get cityModuleModel; @override @JsonKey(ignore: true) - _$$_TenantModelCopyWith<_$_TenantModel> get copyWith => + _$$TenantModelImplCopyWith<_$TenantModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -471,11 +469,11 @@ class _$CommonMastersModelCopyWithImpl<$Res, $Val extends CommonMastersModel> } /// @nodoc -abstract class _$$_CommonMastersModelCopyWith<$Res> +abstract class _$$CommonMastersModelImplCopyWith<$Res> implements $CommonMastersModelCopyWith<$Res> { - factory _$$_CommonMastersModelCopyWith(_$_CommonMastersModel value, - $Res Function(_$_CommonMastersModel) then) = - __$$_CommonMastersModelCopyWithImpl<$Res>; + factory _$$CommonMastersModelImplCopyWith(_$CommonMastersModelImpl value, + $Res Function(_$CommonMastersModelImpl) then) = + __$$CommonMastersModelImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -484,11 +482,11 @@ abstract class _$$_CommonMastersModelCopyWith<$Res> } /// @nodoc -class __$$_CommonMastersModelCopyWithImpl<$Res> - extends _$CommonMastersModelCopyWithImpl<$Res, _$_CommonMastersModel> - implements _$$_CommonMastersModelCopyWith<$Res> { - __$$_CommonMastersModelCopyWithImpl( - _$_CommonMastersModel _value, $Res Function(_$_CommonMastersModel) _then) +class __$$CommonMastersModelImplCopyWithImpl<$Res> + extends _$CommonMastersModelCopyWithImpl<$Res, _$CommonMastersModelImpl> + implements _$$CommonMastersModelImplCopyWith<$Res> { + __$$CommonMastersModelImplCopyWithImpl(_$CommonMastersModelImpl _value, + $Res Function(_$CommonMastersModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -497,7 +495,7 @@ class __$$_CommonMastersModelCopyWithImpl<$Res> Object? stateInfoListModel = freezed, Object? appVersionModel = freezed, }) { - return _then(_$_CommonMastersModel( + return _then(_$CommonMastersModelImpl( stateInfoListModel: freezed == stateInfoListModel ? _value._stateInfoListModel : stateInfoListModel // ignore: cast_nullable_to_non_nullable @@ -512,17 +510,17 @@ class __$$_CommonMastersModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_CommonMastersModel implements _CommonMastersModel { - const _$_CommonMastersModel( +class _$CommonMastersModelImpl implements _CommonMastersModel { + const _$CommonMastersModelImpl( {@JsonKey(name: 'StateInfo') - final List? stateInfoListModel, + final List? stateInfoListModel, @JsonKey(name: 'AppVersion') - final List? appVersionModel}) + final List? appVersionModel}) : _stateInfoListModel = stateInfoListModel, _appVersionModel = appVersionModel; - factory _$_CommonMastersModel.fromJson(Map json) => - _$$_CommonMastersModelFromJson(json); + factory _$CommonMastersModelImpl.fromJson(Map json) => + _$$CommonMastersModelImplFromJson(json); final List? _stateInfoListModel; @override @@ -553,10 +551,10 @@ class _$_CommonMastersModel implements _CommonMastersModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_CommonMastersModel && + other is _$CommonMastersModelImpl && const DeepCollectionEquality() .equals(other._stateInfoListModel, _stateInfoListModel) && const DeepCollectionEquality() @@ -573,13 +571,13 @@ class _$_CommonMastersModel implements _CommonMastersModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_CommonMastersModelCopyWith<_$_CommonMastersModel> get copyWith => - __$$_CommonMastersModelCopyWithImpl<_$_CommonMastersModel>( + _$$CommonMastersModelImplCopyWith<_$CommonMastersModelImpl> get copyWith => + __$$CommonMastersModelImplCopyWithImpl<_$CommonMastersModelImpl>( this, _$identity); @override Map toJson() { - return _$$_CommonMastersModelToJson( + return _$$CommonMastersModelImplToJson( this, ); } @@ -587,14 +585,13 @@ class _$_CommonMastersModel implements _CommonMastersModel { abstract class _CommonMastersModel implements CommonMastersModel { const factory _CommonMastersModel( - {@JsonKey(name: 'StateInfo') - final List? stateInfoListModel, - @JsonKey(name: 'AppVersion') - final List? appVersionModel}) = - _$_CommonMastersModel; + {@JsonKey(name: 'StateInfo') + final List? stateInfoListModel, + @JsonKey(name: 'AppVersion') + final List? appVersionModel}) = _$CommonMastersModelImpl; factory _CommonMastersModel.fromJson(Map json) = - _$_CommonMastersModel.fromJson; + _$CommonMastersModelImpl.fromJson; @override @JsonKey(name: 'StateInfo') @@ -604,7 +601,7 @@ abstract class _CommonMastersModel implements CommonMastersModel { List? get appVersionModel; @override @JsonKey(ignore: true) - _$$_CommonMastersModelCopyWith<_$_CommonMastersModel> get copyWith => + _$$CommonMastersModelImplCopyWith<_$CommonMastersModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -668,22 +665,22 @@ class _$AppVersionModelCopyWithImpl<$Res, $Val extends AppVersionModel> } /// @nodoc -abstract class _$$_AppVersionModelCopyWith<$Res> +abstract class _$$AppVersionModelImplCopyWith<$Res> implements $AppVersionModelCopyWith<$Res> { - factory _$$_AppVersionModelCopyWith( - _$_AppVersionModel value, $Res Function(_$_AppVersionModel) then) = - __$$_AppVersionModelCopyWithImpl<$Res>; + factory _$$AppVersionModelImplCopyWith(_$AppVersionModelImpl value, + $Res Function(_$AppVersionModelImpl) then) = + __$$AppVersionModelImplCopyWithImpl<$Res>; @override @useResult $Res call({String? version, String? packageName, String? iOSId}); } /// @nodoc -class __$$_AppVersionModelCopyWithImpl<$Res> - extends _$AppVersionModelCopyWithImpl<$Res, _$_AppVersionModel> - implements _$$_AppVersionModelCopyWith<$Res> { - __$$_AppVersionModelCopyWithImpl( - _$_AppVersionModel _value, $Res Function(_$_AppVersionModel) _then) +class __$$AppVersionModelImplCopyWithImpl<$Res> + extends _$AppVersionModelCopyWithImpl<$Res, _$AppVersionModelImpl> + implements _$$AppVersionModelImplCopyWith<$Res> { + __$$AppVersionModelImplCopyWithImpl( + _$AppVersionModelImpl _value, $Res Function(_$AppVersionModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -693,7 +690,7 @@ class __$$_AppVersionModelCopyWithImpl<$Res> Object? packageName = freezed, Object? iOSId = freezed, }) { - return _then(_$_AppVersionModel( + return _then(_$AppVersionModelImpl( version: freezed == version ? _value.version : version // ignore: cast_nullable_to_non_nullable @@ -712,11 +709,11 @@ class __$$_AppVersionModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AppVersionModel implements _AppVersionModel { - const _$_AppVersionModel({this.version, this.packageName, this.iOSId}); +class _$AppVersionModelImpl implements _AppVersionModel { + const _$AppVersionModelImpl({this.version, this.packageName, this.iOSId}); - factory _$_AppVersionModel.fromJson(Map json) => - _$$_AppVersionModelFromJson(json); + factory _$AppVersionModelImpl.fromJson(Map json) => + _$$AppVersionModelImplFromJson(json); @override final String? version; @@ -731,10 +728,10 @@ class _$_AppVersionModel implements _AppVersionModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AppVersionModel && + other is _$AppVersionModelImpl && (identical(other.version, version) || other.version == version) && (identical(other.packageName, packageName) || other.packageName == packageName) && @@ -748,12 +745,13 @@ class _$_AppVersionModel implements _AppVersionModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AppVersionModelCopyWith<_$_AppVersionModel> get copyWith => - __$$_AppVersionModelCopyWithImpl<_$_AppVersionModel>(this, _$identity); + _$$AppVersionModelImplCopyWith<_$AppVersionModelImpl> get copyWith => + __$$AppVersionModelImplCopyWithImpl<_$AppVersionModelImpl>( + this, _$identity); @override Map toJson() { - return _$$_AppVersionModelToJson( + return _$$AppVersionModelImplToJson( this, ); } @@ -763,10 +761,10 @@ abstract class _AppVersionModel implements AppVersionModel { const factory _AppVersionModel( {final String? version, final String? packageName, - final String? iOSId}) = _$_AppVersionModel; + final String? iOSId}) = _$AppVersionModelImpl; factory _AppVersionModel.fromJson(Map json) = - _$_AppVersionModel.fromJson; + _$AppVersionModelImpl.fromJson; @override String? get version; @@ -776,7 +774,7 @@ abstract class _AppVersionModel implements AppVersionModel { String? get iOSId; @override @JsonKey(ignore: true) - _$$_AppVersionModelCopyWith<_$_AppVersionModel> get copyWith => + _$$AppVersionModelImplCopyWith<_$AppVersionModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -886,11 +884,11 @@ class _$StateInfoListModelCopyWithImpl<$Res, $Val extends StateInfoListModel> } /// @nodoc -abstract class _$$_StateInfoListModelCopyWith<$Res> +abstract class _$$StateInfoListModelImplCopyWith<$Res> implements $StateInfoListModelCopyWith<$Res> { - factory _$$_StateInfoListModelCopyWith(_$_StateInfoListModel value, - $Res Function(_$_StateInfoListModel) then) = - __$$_StateInfoListModelCopyWithImpl<$Res>; + factory _$$StateInfoListModelImplCopyWith(_$StateInfoListModelImpl value, + $Res Function(_$StateInfoListModelImpl) then) = + __$$StateInfoListModelImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -906,11 +904,11 @@ abstract class _$$_StateInfoListModelCopyWith<$Res> } /// @nodoc -class __$$_StateInfoListModelCopyWithImpl<$Res> - extends _$StateInfoListModelCopyWithImpl<$Res, _$_StateInfoListModel> - implements _$$_StateInfoListModelCopyWith<$Res> { - __$$_StateInfoListModelCopyWithImpl( - _$_StateInfoListModel _value, $Res Function(_$_StateInfoListModel) _then) +class __$$StateInfoListModelImplCopyWithImpl<$Res> + extends _$StateInfoListModelCopyWithImpl<$Res, _$StateInfoListModelImpl> + implements _$$StateInfoListModelImplCopyWith<$Res> { + __$$StateInfoListModelImplCopyWithImpl(_$StateInfoListModelImpl _value, + $Res Function(_$StateInfoListModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -926,7 +924,7 @@ class __$$_StateInfoListModelCopyWithImpl<$Res> Object? statelogo = freezed, Object? qrCodeURL = freezed, }) { - return _then(_$_StateInfoListModel( + return _then(_$StateInfoListModelImpl( bannerUrl: freezed == bannerUrl ? _value.bannerUrl : bannerUrl // ignore: cast_nullable_to_non_nullable @@ -969,8 +967,8 @@ class __$$_StateInfoListModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_StateInfoListModel implements _StateInfoListModel { - const _$_StateInfoListModel( +class _$StateInfoListModelImpl implements _StateInfoListModel { + const _$StateInfoListModelImpl( {this.bannerUrl, this.code, this.hasLocalisation, @@ -983,8 +981,8 @@ class _$_StateInfoListModel implements _StateInfoListModel { : _languages = languages, _localizationModules = localizationModules; - factory _$_StateInfoListModel.fromJson(Map json) => - _$$_StateInfoListModelFromJson(json); + factory _$StateInfoListModelImpl.fromJson(Map json) => + _$$StateInfoListModelImplFromJson(json); @override final String? bannerUrl; @@ -1028,10 +1026,10 @@ class _$_StateInfoListModel implements _StateInfoListModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_StateInfoListModel && + other is _$StateInfoListModelImpl && (identical(other.bannerUrl, bannerUrl) || other.bannerUrl == bannerUrl) && (identical(other.code, code) || other.code == code) && @@ -1067,13 +1065,13 @@ class _$_StateInfoListModel implements _StateInfoListModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_StateInfoListModelCopyWith<_$_StateInfoListModel> get copyWith => - __$$_StateInfoListModelCopyWithImpl<_$_StateInfoListModel>( + _$$StateInfoListModelImplCopyWith<_$StateInfoListModelImpl> get copyWith => + __$$StateInfoListModelImplCopyWithImpl<_$StateInfoListModelImpl>( this, _$identity); @override Map toJson() { - return _$$_StateInfoListModelToJson( + return _$$StateInfoListModelImplToJson( this, ); } @@ -1089,10 +1087,10 @@ abstract class _StateInfoListModel implements StateInfoListModel { final String? logoUrl, final String? logoUrlWhite, final String? statelogo, - final String? qrCodeURL}) = _$_StateInfoListModel; + final String? qrCodeURL}) = _$StateInfoListModelImpl; factory _StateInfoListModel.fromJson(Map json) = - _$_StateInfoListModel.fromJson; + _$StateInfoListModelImpl.fromJson; @override String? get bannerUrl; @@ -1114,7 +1112,7 @@ abstract class _StateInfoListModel implements StateInfoListModel { String? get qrCodeURL; @override @JsonKey(ignore: true) - _$$_StateInfoListModelCopyWith<_$_StateInfoListModel> get copyWith => + _$$StateInfoListModelImplCopyWith<_$StateInfoListModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1202,11 +1200,11 @@ class _$TenantListModelCopyWithImpl<$Res, $Val extends TenantListModel> } /// @nodoc -abstract class _$$_TenantListModelCopyWith<$Res> +abstract class _$$TenantListModelImplCopyWith<$Res> implements $TenantListModelCopyWith<$Res> { - factory _$$_TenantListModelCopyWith( - _$_TenantListModel value, $Res Function(_$_TenantListModel) then) = - __$$_TenantListModelCopyWithImpl<$Res>; + factory _$$TenantListModelImplCopyWith(_$TenantListModelImpl value, + $Res Function(_$TenantListModelImpl) then) = + __$$TenantListModelImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1219,11 +1217,11 @@ abstract class _$$_TenantListModelCopyWith<$Res> } /// @nodoc -class __$$_TenantListModelCopyWithImpl<$Res> - extends _$TenantListModelCopyWithImpl<$Res, _$_TenantListModel> - implements _$$_TenantListModelCopyWith<$Res> { - __$$_TenantListModelCopyWithImpl( - _$_TenantListModel _value, $Res Function(_$_TenantListModel) _then) +class __$$TenantListModelImplCopyWithImpl<$Res> + extends _$TenantListModelCopyWithImpl<$Res, _$TenantListModelImpl> + implements _$$TenantListModelImplCopyWith<$Res> { + __$$TenantListModelImplCopyWithImpl( + _$TenantListModelImpl _value, $Res Function(_$TenantListModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1236,7 +1234,7 @@ class __$$_TenantListModelCopyWithImpl<$Res> Object? pdfContactDetails = freezed, Object? pdfHeader = freezed, }) { - return _then(_$_TenantListModel( + return _then(_$TenantListModelImpl( code: freezed == code ? _value.code : code // ignore: cast_nullable_to_non_nullable @@ -1267,8 +1265,8 @@ class __$$_TenantListModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_TenantListModel implements _TenantListModel { - const _$_TenantListModel( +class _$TenantListModelImpl implements _TenantListModel { + const _$TenantListModelImpl( {this.code, this.contactNumber, this.imageId, @@ -1276,8 +1274,8 @@ class _$_TenantListModel implements _TenantListModel { this.pdfContactDetails, this.pdfHeader}); - factory _$_TenantListModel.fromJson(Map json) => - _$$_TenantListModelFromJson(json); + factory _$TenantListModelImpl.fromJson(Map json) => + _$$TenantListModelImplFromJson(json); @override final String? code; @@ -1298,10 +1296,10 @@ class _$_TenantListModel implements _TenantListModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_TenantListModel && + other is _$TenantListModelImpl && (identical(other.code, code) || other.code == code) && (identical(other.contactNumber, contactNumber) || other.contactNumber == contactNumber) && @@ -1321,12 +1319,13 @@ class _$_TenantListModel implements _TenantListModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_TenantListModelCopyWith<_$_TenantListModel> get copyWith => - __$$_TenantListModelCopyWithImpl<_$_TenantListModel>(this, _$identity); + _$$TenantListModelImplCopyWith<_$TenantListModelImpl> get copyWith => + __$$TenantListModelImplCopyWithImpl<_$TenantListModelImpl>( + this, _$identity); @override Map toJson() { - return _$$_TenantListModelToJson( + return _$$TenantListModelImplToJson( this, ); } @@ -1339,10 +1338,10 @@ abstract class _TenantListModel implements TenantListModel { final String? imageId, final String? logoId, final String? pdfContactDetails, - final String? pdfHeader}) = _$_TenantListModel; + final String? pdfHeader}) = _$TenantListModelImpl; factory _TenantListModel.fromJson(Map json) = - _$_TenantListModel.fromJson; + _$TenantListModelImpl.fromJson; @override String? get code; @@ -1358,7 +1357,7 @@ abstract class _TenantListModel implements TenantListModel { String? get pdfHeader; @override @JsonKey(ignore: true) - _$$_TenantListModelCopyWith<_$_TenantListModel> get copyWith => + _$$TenantListModelImplCopyWith<_$TenantListModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1428,22 +1427,22 @@ class _$CityModuleModelCopyWithImpl<$Res, $Val extends CityModuleModel> } /// @nodoc -abstract class _$$_CityModuleModelCopyWith<$Res> +abstract class _$$CityModuleModelImplCopyWith<$Res> implements $CityModuleModelCopyWith<$Res> { - factory _$$_CityModuleModelCopyWith( - _$_CityModuleModel value, $Res Function(_$_CityModuleModel) then) = - __$$_CityModuleModelCopyWithImpl<$Res>; + factory _$$CityModuleModelImplCopyWith(_$CityModuleModelImpl value, + $Res Function(_$CityModuleModelImpl) then) = + __$$CityModuleModelImplCopyWithImpl<$Res>; @override @useResult $Res call({bool? active, String? code, String? module, int? order}); } /// @nodoc -class __$$_CityModuleModelCopyWithImpl<$Res> - extends _$CityModuleModelCopyWithImpl<$Res, _$_CityModuleModel> - implements _$$_CityModuleModelCopyWith<$Res> { - __$$_CityModuleModelCopyWithImpl( - _$_CityModuleModel _value, $Res Function(_$_CityModuleModel) _then) +class __$$CityModuleModelImplCopyWithImpl<$Res> + extends _$CityModuleModelCopyWithImpl<$Res, _$CityModuleModelImpl> + implements _$$CityModuleModelImplCopyWith<$Res> { + __$$CityModuleModelImplCopyWithImpl( + _$CityModuleModelImpl _value, $Res Function(_$CityModuleModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1454,7 +1453,7 @@ class __$$_CityModuleModelCopyWithImpl<$Res> Object? module = freezed, Object? order = freezed, }) { - return _then(_$_CityModuleModel( + return _then(_$CityModuleModelImpl( active: freezed == active ? _value.active : active // ignore: cast_nullable_to_non_nullable @@ -1477,11 +1476,12 @@ class __$$_CityModuleModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_CityModuleModel implements _CityModuleModel { - const _$_CityModuleModel({this.active, this.code, this.module, this.order}); +class _$CityModuleModelImpl implements _CityModuleModel { + const _$CityModuleModelImpl( + {this.active, this.code, this.module, this.order}); - factory _$_CityModuleModel.fromJson(Map json) => - _$$_CityModuleModelFromJson(json); + factory _$CityModuleModelImpl.fromJson(Map json) => + _$$CityModuleModelImplFromJson(json); @override final bool? active; @@ -1498,10 +1498,10 @@ class _$_CityModuleModel implements _CityModuleModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_CityModuleModel && + other is _$CityModuleModelImpl && (identical(other.active, active) || other.active == active) && (identical(other.code, code) || other.code == code) && (identical(other.module, module) || other.module == module) && @@ -1515,12 +1515,13 @@ class _$_CityModuleModel implements _CityModuleModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_CityModuleModelCopyWith<_$_CityModuleModel> get copyWith => - __$$_CityModuleModelCopyWithImpl<_$_CityModuleModel>(this, _$identity); + _$$CityModuleModelImplCopyWith<_$CityModuleModelImpl> get copyWith => + __$$CityModuleModelImplCopyWithImpl<_$CityModuleModelImpl>( + this, _$identity); @override Map toJson() { - return _$$_CityModuleModelToJson( + return _$$CityModuleModelImplToJson( this, ); } @@ -1531,10 +1532,10 @@ abstract class _CityModuleModel implements CityModuleModel { {final bool? active, final String? code, final String? module, - final int? order}) = _$_CityModuleModel; + final int? order}) = _$CityModuleModelImpl; factory _CityModuleModel.fromJson(Map json) = - _$_CityModuleModel.fromJson; + _$CityModuleModelImpl.fromJson; @override bool? get active; @@ -1546,6 +1547,6 @@ abstract class _CityModuleModel implements CityModuleModel { int? get order; @override @JsonKey(ignore: true) - _$$_CityModuleModelCopyWith<_$_CityModuleModel> get copyWith => + _$$CityModuleModelImplCopyWith<_$CityModuleModelImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/init_mdms/init_mdms_model.g.dart b/frontend/works_shg_app/lib/models/init_mdms/init_mdms_model.g.dart index d092c72bdc..938b0d6c19 100644 --- a/frontend/works_shg_app/lib/models/init_mdms/init_mdms_model.g.dart +++ b/frontend/works_shg_app/lib/models/init_mdms/init_mdms_model.g.dart @@ -6,8 +6,8 @@ part of 'init_mdms_model.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_InitMdmsModel _$$_InitMdmsModelFromJson(Map json) => - _$_InitMdmsModel( +_$InitMdmsModelImpl _$$InitMdmsModelImplFromJson(Map json) => + _$InitMdmsModelImpl( commonMastersModel: json['common-masters'] == null ? null : CommonMastersModel.fromJson( @@ -17,14 +17,14 @@ _$_InitMdmsModel _$$_InitMdmsModelFromJson(Map json) => : TenantModel.fromJson(json['tenant'] as Map), ); -Map _$$_InitMdmsModelToJson(_$_InitMdmsModel instance) => +Map _$$InitMdmsModelImplToJson(_$InitMdmsModelImpl instance) => { 'common-masters': instance.commonMastersModel, 'tenant': instance.tenant, }; -_$_TenantModel _$$_TenantModelFromJson(Map json) => - _$_TenantModel( +_$TenantModelImpl _$$TenantModelImplFromJson(Map json) => + _$TenantModelImpl( tenantListModel: (json['tenants'] as List?) ?.map((e) => TenantListModel.fromJson(e as Map)) .toList(), @@ -33,15 +33,15 @@ _$_TenantModel _$$_TenantModelFromJson(Map json) => .toList(), ); -Map _$$_TenantModelToJson(_$_TenantModel instance) => +Map _$$TenantModelImplToJson(_$TenantModelImpl instance) => { 'tenants': instance.tenantListModel, 'citymodule': instance.cityModuleModel, }; -_$_CommonMastersModel _$$_CommonMastersModelFromJson( +_$CommonMastersModelImpl _$$CommonMastersModelImplFromJson( Map json) => - _$_CommonMastersModel( + _$CommonMastersModelImpl( stateInfoListModel: (json['StateInfo'] as List?) ?.map((e) => StateInfoListModel.fromJson(e as Map)) .toList(), @@ -50,30 +50,32 @@ _$_CommonMastersModel _$$_CommonMastersModelFromJson( .toList(), ); -Map _$$_CommonMastersModelToJson( - _$_CommonMastersModel instance) => +Map _$$CommonMastersModelImplToJson( + _$CommonMastersModelImpl instance) => { 'StateInfo': instance.stateInfoListModel, 'AppVersion': instance.appVersionModel, }; -_$_AppVersionModel _$$_AppVersionModelFromJson(Map json) => - _$_AppVersionModel( +_$AppVersionModelImpl _$$AppVersionModelImplFromJson( + Map json) => + _$AppVersionModelImpl( version: json['version'] as String?, packageName: json['packageName'] as String?, iOSId: json['iOSId'] as String?, ); -Map _$$_AppVersionModelToJson(_$_AppVersionModel instance) => +Map _$$AppVersionModelImplToJson( + _$AppVersionModelImpl instance) => { 'version': instance.version, 'packageName': instance.packageName, 'iOSId': instance.iOSId, }; -_$_StateInfoListModel _$$_StateInfoListModelFromJson( +_$StateInfoListModelImpl _$$StateInfoListModelImplFromJson( Map json) => - _$_StateInfoListModel( + _$StateInfoListModelImpl( bannerUrl: json['bannerUrl'] as String?, code: json['code'] as String?, hasLocalisation: json['hasLocalisation'] as bool?, @@ -89,8 +91,8 @@ _$_StateInfoListModel _$$_StateInfoListModelFromJson( qrCodeURL: json['qrCodeURL'] as String?, ); -Map _$$_StateInfoListModelToJson( - _$_StateInfoListModel instance) => +Map _$$StateInfoListModelImplToJson( + _$StateInfoListModelImpl instance) => { 'bannerUrl': instance.bannerUrl, 'code': instance.code, @@ -103,8 +105,9 @@ Map _$$_StateInfoListModelToJson( 'qrCodeURL': instance.qrCodeURL, }; -_$_TenantListModel _$$_TenantListModelFromJson(Map json) => - _$_TenantListModel( +_$TenantListModelImpl _$$TenantListModelImplFromJson( + Map json) => + _$TenantListModelImpl( code: json['code'] as String?, contactNumber: json['contactNumber'] as String?, imageId: json['imageId'] as String?, @@ -113,7 +116,8 @@ _$_TenantListModel _$$_TenantListModelFromJson(Map json) => pdfHeader: json['pdfHeader'] as String?, ); -Map _$$_TenantListModelToJson(_$_TenantListModel instance) => +Map _$$TenantListModelImplToJson( + _$TenantListModelImpl instance) => { 'code': instance.code, 'contactNumber': instance.contactNumber, @@ -123,15 +127,17 @@ Map _$$_TenantListModelToJson(_$_TenantListModel instance) => 'pdfHeader': instance.pdfHeader, }; -_$_CityModuleModel _$$_CityModuleModelFromJson(Map json) => - _$_CityModuleModel( +_$CityModuleModelImpl _$$CityModuleModelImplFromJson( + Map json) => + _$CityModuleModelImpl( active: json['active'] as bool?, code: json['code'] as String?, module: json['module'] as String?, - order: json['order'] as int?, + order: (json['order'] as num?)?.toInt(), ); -Map _$$_CityModuleModelToJson(_$_CityModuleModel instance) => +Map _$$CityModuleModelImplToJson( + _$CityModuleModelImpl instance) => { 'active': instance.active, 'code': instance.code, diff --git a/frontend/works_shg_app/lib/models/localization/localization_model.freezed.dart b/frontend/works_shg_app/lib/models/localization/localization_model.freezed.dart index 6ab4f22398..b298e82294 100644 --- a/frontend/works_shg_app/lib/models/localization/localization_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/localization/localization_model.freezed.dart @@ -12,7 +12,7 @@ part of 'localization_model.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); LocalizationModel _$LocalizationModelFromJson(Map json) { return _LocalizationModel.fromJson(json); @@ -63,22 +63,22 @@ class _$LocalizationModelCopyWithImpl<$Res, $Val extends LocalizationModel> } /// @nodoc -abstract class _$$_LocalizationModelCopyWith<$Res> +abstract class _$$LocalizationModelImplCopyWith<$Res> implements $LocalizationModelCopyWith<$Res> { - factory _$$_LocalizationModelCopyWith(_$_LocalizationModel value, - $Res Function(_$_LocalizationModel) then) = - __$$_LocalizationModelCopyWithImpl<$Res>; + factory _$$LocalizationModelImplCopyWith(_$LocalizationModelImpl value, + $Res Function(_$LocalizationModelImpl) then) = + __$$LocalizationModelImplCopyWithImpl<$Res>; @override @useResult $Res call({List messages}); } /// @nodoc -class __$$_LocalizationModelCopyWithImpl<$Res> - extends _$LocalizationModelCopyWithImpl<$Res, _$_LocalizationModel> - implements _$$_LocalizationModelCopyWith<$Res> { - __$$_LocalizationModelCopyWithImpl( - _$_LocalizationModel _value, $Res Function(_$_LocalizationModel) _then) +class __$$LocalizationModelImplCopyWithImpl<$Res> + extends _$LocalizationModelCopyWithImpl<$Res, _$LocalizationModelImpl> + implements _$$LocalizationModelImplCopyWith<$Res> { + __$$LocalizationModelImplCopyWithImpl(_$LocalizationModelImpl _value, + $Res Function(_$LocalizationModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -86,7 +86,7 @@ class __$$_LocalizationModelCopyWithImpl<$Res> $Res call({ Object? messages = null, }) { - return _then(_$_LocalizationModel( + return _then(_$LocalizationModelImpl( messages: null == messages ? _value._messages : messages // ignore: cast_nullable_to_non_nullable @@ -98,13 +98,13 @@ class __$$_LocalizationModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable(explicitToJson: true) -class _$_LocalizationModel implements _LocalizationModel { - const _$_LocalizationModel( +class _$LocalizationModelImpl implements _LocalizationModel { + const _$LocalizationModelImpl( {final List messages = const []}) : _messages = messages; - factory _$_LocalizationModel.fromJson(Map json) => - _$$_LocalizationModelFromJson(json); + factory _$LocalizationModelImpl.fromJson(Map json) => + _$$LocalizationModelImplFromJson(json); final List _messages; @override @@ -121,10 +121,10 @@ class _$_LocalizationModel implements _LocalizationModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_LocalizationModel && + other is _$LocalizationModelImpl && const DeepCollectionEquality().equals(other._messages, _messages)); } @@ -136,13 +136,13 @@ class _$_LocalizationModel implements _LocalizationModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LocalizationModelCopyWith<_$_LocalizationModel> get copyWith => - __$$_LocalizationModelCopyWithImpl<_$_LocalizationModel>( + _$$LocalizationModelImplCopyWith<_$LocalizationModelImpl> get copyWith => + __$$LocalizationModelImplCopyWithImpl<_$LocalizationModelImpl>( this, _$identity); @override Map toJson() { - return _$$_LocalizationModelToJson( + return _$$LocalizationModelImplToJson( this, ); } @@ -150,16 +150,17 @@ class _$_LocalizationModel implements _LocalizationModel { abstract class _LocalizationModel implements LocalizationModel { const factory _LocalizationModel( - {final List messages}) = _$_LocalizationModel; + {final List messages}) = + _$LocalizationModelImpl; factory _LocalizationModel.fromJson(Map json) = - _$_LocalizationModel.fromJson; + _$LocalizationModelImpl.fromJson; @override List get messages; @override @JsonKey(ignore: true) - _$$_LocalizationModelCopyWith<_$_LocalizationModel> get copyWith => + _$$LocalizationModelImplCopyWith<_$LocalizationModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -231,24 +232,25 @@ class _$LocalizationMessageModelCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_LocalizationMessageModelCopyWith<$Res> +abstract class _$$LocalizationMessageModelImplCopyWith<$Res> implements $LocalizationMessageModelCopyWith<$Res> { - factory _$$_LocalizationMessageModelCopyWith( - _$_LocalizationMessageModel value, - $Res Function(_$_LocalizationMessageModel) then) = - __$$_LocalizationMessageModelCopyWithImpl<$Res>; + factory _$$LocalizationMessageModelImplCopyWith( + _$LocalizationMessageModelImpl value, + $Res Function(_$LocalizationMessageModelImpl) then) = + __$$LocalizationMessageModelImplCopyWithImpl<$Res>; @override @useResult $Res call({String code, String message, String module, String locale}); } /// @nodoc -class __$$_LocalizationMessageModelCopyWithImpl<$Res> +class __$$LocalizationMessageModelImplCopyWithImpl<$Res> extends _$LocalizationMessageModelCopyWithImpl<$Res, - _$_LocalizationMessageModel> - implements _$$_LocalizationMessageModelCopyWith<$Res> { - __$$_LocalizationMessageModelCopyWithImpl(_$_LocalizationMessageModel _value, - $Res Function(_$_LocalizationMessageModel) _then) + _$LocalizationMessageModelImpl> + implements _$$LocalizationMessageModelImplCopyWith<$Res> { + __$$LocalizationMessageModelImplCopyWithImpl( + _$LocalizationMessageModelImpl _value, + $Res Function(_$LocalizationMessageModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -259,7 +261,7 @@ class __$$_LocalizationMessageModelCopyWithImpl<$Res> Object? module = null, Object? locale = null, }) { - return _then(_$_LocalizationMessageModel( + return _then(_$LocalizationMessageModelImpl( code: null == code ? _value.code : code // ignore: cast_nullable_to_non_nullable @@ -283,15 +285,15 @@ class __$$_LocalizationMessageModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable(explicitToJson: true, includeIfNull: false) -class _$_LocalizationMessageModel implements _LocalizationMessageModel { - const _$_LocalizationMessageModel( +class _$LocalizationMessageModelImpl implements _LocalizationMessageModel { + const _$LocalizationMessageModelImpl( {required this.code, required this.message, required this.module, required this.locale}); - factory _$_LocalizationMessageModel.fromJson(Map json) => - _$$_LocalizationMessageModelFromJson(json); + factory _$LocalizationMessageModelImpl.fromJson(Map json) => + _$$LocalizationMessageModelImplFromJson(json); @override final String code; @@ -308,10 +310,10 @@ class _$_LocalizationMessageModel implements _LocalizationMessageModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_LocalizationMessageModel && + other is _$LocalizationMessageModelImpl && (identical(other.code, code) || other.code == code) && (identical(other.message, message) || other.message == message) && (identical(other.module, module) || other.module == module) && @@ -325,13 +327,13 @@ class _$_LocalizationMessageModel implements _LocalizationMessageModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LocalizationMessageModelCopyWith<_$_LocalizationMessageModel> - get copyWith => __$$_LocalizationMessageModelCopyWithImpl< - _$_LocalizationMessageModel>(this, _$identity); + _$$LocalizationMessageModelImplCopyWith<_$LocalizationMessageModelImpl> + get copyWith => __$$LocalizationMessageModelImplCopyWithImpl< + _$LocalizationMessageModelImpl>(this, _$identity); @override Map toJson() { - return _$$_LocalizationMessageModelToJson( + return _$$LocalizationMessageModelImplToJson( this, ); } @@ -342,10 +344,10 @@ abstract class _LocalizationMessageModel implements LocalizationMessageModel { {required final String code, required final String message, required final String module, - required final String locale}) = _$_LocalizationMessageModel; + required final String locale}) = _$LocalizationMessageModelImpl; factory _LocalizationMessageModel.fromJson(Map json) = - _$_LocalizationMessageModel.fromJson; + _$LocalizationMessageModelImpl.fromJson; @override String get code; @@ -357,6 +359,6 @@ abstract class _LocalizationMessageModel implements LocalizationMessageModel { String get locale; @override @JsonKey(ignore: true) - _$$_LocalizationMessageModelCopyWith<_$_LocalizationMessageModel> + _$$LocalizationMessageModelImplCopyWith<_$LocalizationMessageModelImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/localization/localization_model.g.dart b/frontend/works_shg_app/lib/models/localization/localization_model.g.dart index 3d1e28c71c..50bd24da71 100644 --- a/frontend/works_shg_app/lib/models/localization/localization_model.g.dart +++ b/frontend/works_shg_app/lib/models/localization/localization_model.g.dart @@ -6,8 +6,9 @@ part of 'localization_model.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_LocalizationModel _$$_LocalizationModelFromJson(Map json) => - _$_LocalizationModel( +_$LocalizationModelImpl _$$LocalizationModelImplFromJson( + Map json) => + _$LocalizationModelImpl( messages: (json['messages'] as List?) ?.map((e) => LocalizationMessageModel.fromJson(e as Map)) @@ -15,23 +16,23 @@ _$_LocalizationModel _$$_LocalizationModelFromJson(Map json) => const [], ); -Map _$$_LocalizationModelToJson( - _$_LocalizationModel instance) => +Map _$$LocalizationModelImplToJson( + _$LocalizationModelImpl instance) => { 'messages': instance.messages.map((e) => e.toJson()).toList(), }; -_$_LocalizationMessageModel _$$_LocalizationMessageModelFromJson( +_$LocalizationMessageModelImpl _$$LocalizationMessageModelImplFromJson( Map json) => - _$_LocalizationMessageModel( + _$LocalizationMessageModelImpl( code: json['code'] as String, message: json['message'] as String, module: json['module'] as String, locale: json['locale'] as String, ); -Map _$$_LocalizationMessageModelToJson( - _$_LocalizationMessageModel instance) => +Map _$$LocalizationMessageModelImplToJson( + _$LocalizationMessageModelImpl instance) => { 'code': instance.code, 'message': instance.message, diff --git a/frontend/works_shg_app/lib/models/localization/module_status.freezed.dart b/frontend/works_shg_app/lib/models/localization/module_status.freezed.dart index 4534a9fecf..278aaa59b0 100644 --- a/frontend/works_shg_app/lib/models/localization/module_status.freezed.dart +++ b/frontend/works_shg_app/lib/models/localization/module_status.freezed.dart @@ -12,7 +12,7 @@ part of 'module_status.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); ModuleStatus _$ModuleStatusFromJson(Map json) { return _ModuleStatus.fromJson(json); @@ -74,22 +74,22 @@ class _$ModuleStatusCopyWithImpl<$Res, $Val extends ModuleStatus> } /// @nodoc -abstract class _$$_ModuleStatusCopyWith<$Res> +abstract class _$$ModuleStatusImplCopyWith<$Res> implements $ModuleStatusCopyWith<$Res> { - factory _$$_ModuleStatusCopyWith( - _$_ModuleStatus value, $Res Function(_$_ModuleStatus) then) = - __$$_ModuleStatusCopyWithImpl<$Res>; + factory _$$ModuleStatusImplCopyWith( + _$ModuleStatusImpl value, $Res Function(_$ModuleStatusImpl) then) = + __$$ModuleStatusImplCopyWithImpl<$Res>; @override @useResult $Res call({Map status, String label, String value}); } /// @nodoc -class __$$_ModuleStatusCopyWithImpl<$Res> - extends _$ModuleStatusCopyWithImpl<$Res, _$_ModuleStatus> - implements _$$_ModuleStatusCopyWith<$Res> { - __$$_ModuleStatusCopyWithImpl( - _$_ModuleStatus _value, $Res Function(_$_ModuleStatus) _then) +class __$$ModuleStatusImplCopyWithImpl<$Res> + extends _$ModuleStatusCopyWithImpl<$Res, _$ModuleStatusImpl> + implements _$$ModuleStatusImplCopyWith<$Res> { + __$$ModuleStatusImplCopyWithImpl( + _$ModuleStatusImpl _value, $Res Function(_$ModuleStatusImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -99,7 +99,7 @@ class __$$_ModuleStatusCopyWithImpl<$Res> Object? label = null, Object? value = null, }) { - return _then(_$_ModuleStatus( + return _then(_$ModuleStatusImpl( status: null == status ? _value._status : status // ignore: cast_nullable_to_non_nullable @@ -118,15 +118,15 @@ class __$$_ModuleStatusCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_ModuleStatus implements _ModuleStatus { - _$_ModuleStatus( +class _$ModuleStatusImpl implements _ModuleStatus { + _$ModuleStatusImpl( {required final Map status, required this.label, required this.value}) : _status = status; - factory _$_ModuleStatus.fromJson(Map json) => - _$$_ModuleStatusFromJson(json); + factory _$ModuleStatusImpl.fromJson(Map json) => + _$$ModuleStatusImplFromJson(json); final Map _status; @override @@ -147,10 +147,10 @@ class _$_ModuleStatus implements _ModuleStatus { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_ModuleStatus && + other is _$ModuleStatusImpl && const DeepCollectionEquality().equals(other._status, _status) && (identical(other.label, label) || other.label == label) && (identical(other.value, value) || other.value == value)); @@ -164,12 +164,12 @@ class _$_ModuleStatus implements _ModuleStatus { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ModuleStatusCopyWith<_$_ModuleStatus> get copyWith => - __$$_ModuleStatusCopyWithImpl<_$_ModuleStatus>(this, _$identity); + _$$ModuleStatusImplCopyWith<_$ModuleStatusImpl> get copyWith => + __$$ModuleStatusImplCopyWithImpl<_$ModuleStatusImpl>(this, _$identity); @override Map toJson() { - return _$$_ModuleStatusToJson( + return _$$ModuleStatusImplToJson( this, ); } @@ -179,10 +179,10 @@ abstract class _ModuleStatus implements ModuleStatus { factory _ModuleStatus( {required final Map status, required final String label, - required final String value}) = _$_ModuleStatus; + required final String value}) = _$ModuleStatusImpl; factory _ModuleStatus.fromJson(Map json) = - _$_ModuleStatus.fromJson; + _$ModuleStatusImpl.fromJson; @override Map get status; @@ -192,6 +192,6 @@ abstract class _ModuleStatus implements ModuleStatus { String get value; @override @JsonKey(ignore: true) - _$$_ModuleStatusCopyWith<_$_ModuleStatus> get copyWith => + _$$ModuleStatusImplCopyWith<_$ModuleStatusImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/localization/module_status.g.dart b/frontend/works_shg_app/lib/models/localization/module_status.g.dart index 46150e14db..8da89545a7 100644 --- a/frontend/works_shg_app/lib/models/localization/module_status.g.dart +++ b/frontend/works_shg_app/lib/models/localization/module_status.g.dart @@ -6,14 +6,14 @@ part of 'module_status.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_ModuleStatus _$$_ModuleStatusFromJson(Map json) => - _$_ModuleStatus( +_$ModuleStatusImpl _$$ModuleStatusImplFromJson(Map json) => + _$ModuleStatusImpl( status: Map.from(json['status'] as Map), label: json['label'] as String, value: json['value'] as String, ); -Map _$$_ModuleStatusToJson(_$_ModuleStatus instance) => +Map _$$ModuleStatusImplToJson(_$ModuleStatusImpl instance) => { 'status': instance.status, 'label': instance.label, diff --git a/frontend/works_shg_app/lib/models/mdms/attendance_hours.freezed.dart b/frontend/works_shg_app/lib/models/mdms/attendance_hours.freezed.dart index 060ca871e9..c1fb3581d4 100644 --- a/frontend/works_shg_app/lib/models/mdms/attendance_hours.freezed.dart +++ b/frontend/works_shg_app/lib/models/mdms/attendance_hours.freezed.dart @@ -12,7 +12,7 @@ part of 'attendance_hours.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); AttendanceHoursList _$AttendanceHoursListFromJson(Map json) { return _AttendanceHoursList.fromJson(json); @@ -38,7 +38,7 @@ abstract class $AttendanceHoursListCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'AttendanceHours') - List? attendanceHours}); + List? attendanceHours}); } /// @nodoc @@ -66,24 +66,24 @@ class _$AttendanceHoursListCopyWithImpl<$Res, $Val extends AttendanceHoursList> } /// @nodoc -abstract class _$$_AttendanceHoursListCopyWith<$Res> +abstract class _$$AttendanceHoursListImplCopyWith<$Res> implements $AttendanceHoursListCopyWith<$Res> { - factory _$$_AttendanceHoursListCopyWith(_$_AttendanceHoursList value, - $Res Function(_$_AttendanceHoursList) then) = - __$$_AttendanceHoursListCopyWithImpl<$Res>; + factory _$$AttendanceHoursListImplCopyWith(_$AttendanceHoursListImpl value, + $Res Function(_$AttendanceHoursListImpl) then) = + __$$AttendanceHoursListImplCopyWithImpl<$Res>; @override @useResult $Res call( {@JsonKey(name: 'AttendanceHours') - List? attendanceHours}); + List? attendanceHours}); } /// @nodoc -class __$$_AttendanceHoursListCopyWithImpl<$Res> - extends _$AttendanceHoursListCopyWithImpl<$Res, _$_AttendanceHoursList> - implements _$$_AttendanceHoursListCopyWith<$Res> { - __$$_AttendanceHoursListCopyWithImpl(_$_AttendanceHoursList _value, - $Res Function(_$_AttendanceHoursList) _then) +class __$$AttendanceHoursListImplCopyWithImpl<$Res> + extends _$AttendanceHoursListCopyWithImpl<$Res, _$AttendanceHoursListImpl> + implements _$$AttendanceHoursListImplCopyWith<$Res> { + __$$AttendanceHoursListImplCopyWithImpl(_$AttendanceHoursListImpl _value, + $Res Function(_$AttendanceHoursListImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -91,7 +91,7 @@ class __$$_AttendanceHoursListCopyWithImpl<$Res> $Res call({ Object? attendanceHours = freezed, }) { - return _then(_$_AttendanceHoursList( + return _then(_$AttendanceHoursListImpl( attendanceHours: freezed == attendanceHours ? _value._attendanceHours : attendanceHours // ignore: cast_nullable_to_non_nullable @@ -102,14 +102,14 @@ class __$$_AttendanceHoursListCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AttendanceHoursList implements _AttendanceHoursList { - const _$_AttendanceHoursList( +class _$AttendanceHoursListImpl implements _AttendanceHoursList { + const _$AttendanceHoursListImpl( {@JsonKey(name: 'AttendanceHours') - final List? attendanceHours}) + final List? attendanceHours}) : _attendanceHours = attendanceHours; - factory _$_AttendanceHoursList.fromJson(Map json) => - _$$_AttendanceHoursListFromJson(json); + factory _$AttendanceHoursListImpl.fromJson(Map json) => + _$$AttendanceHoursListImplFromJson(json); final List? _attendanceHours; @override @@ -128,10 +128,10 @@ class _$_AttendanceHoursList implements _AttendanceHoursList { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AttendanceHoursList && + other is _$AttendanceHoursListImpl && const DeepCollectionEquality() .equals(other._attendanceHours, _attendanceHours)); } @@ -144,13 +144,13 @@ class _$_AttendanceHoursList implements _AttendanceHoursList { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AttendanceHoursListCopyWith<_$_AttendanceHoursList> get copyWith => - __$$_AttendanceHoursListCopyWithImpl<_$_AttendanceHoursList>( + _$$AttendanceHoursListImplCopyWith<_$AttendanceHoursListImpl> get copyWith => + __$$AttendanceHoursListImplCopyWithImpl<_$AttendanceHoursListImpl>( this, _$identity); @override Map toJson() { - return _$$_AttendanceHoursListToJson( + return _$$AttendanceHoursListImplToJson( this, ); } @@ -159,18 +159,18 @@ class _$_AttendanceHoursList implements _AttendanceHoursList { abstract class _AttendanceHoursList implements AttendanceHoursList { const factory _AttendanceHoursList( {@JsonKey(name: 'AttendanceHours') - final List? attendanceHours}) = - _$_AttendanceHoursList; + final List? attendanceHours}) = + _$AttendanceHoursListImpl; factory _AttendanceHoursList.fromJson(Map json) = - _$_AttendanceHoursList.fromJson; + _$AttendanceHoursListImpl.fromJson; @override @JsonKey(name: 'AttendanceHours') List? get attendanceHours; @override @JsonKey(ignore: true) - _$$_AttendanceHoursListCopyWith<_$_AttendanceHoursList> get copyWith => + _$$AttendanceHoursListImplCopyWith<_$AttendanceHoursListImpl> get copyWith => throw _privateConstructorUsedError; } @@ -234,22 +234,22 @@ class _$AttendanceHoursCopyWithImpl<$Res, $Val extends AttendanceHours> } /// @nodoc -abstract class _$$_AttendanceHoursCopyWith<$Res> +abstract class _$$AttendanceHoursImplCopyWith<$Res> implements $AttendanceHoursCopyWith<$Res> { - factory _$$_AttendanceHoursCopyWith( - _$_AttendanceHours value, $Res Function(_$_AttendanceHours) then) = - __$$_AttendanceHoursCopyWithImpl<$Res>; + factory _$$AttendanceHoursImplCopyWith(_$AttendanceHoursImpl value, + $Res Function(_$AttendanceHoursImpl) then) = + __$$AttendanceHoursImplCopyWithImpl<$Res>; @override @useResult $Res call({String code, String value, bool active}); } /// @nodoc -class __$$_AttendanceHoursCopyWithImpl<$Res> - extends _$AttendanceHoursCopyWithImpl<$Res, _$_AttendanceHours> - implements _$$_AttendanceHoursCopyWith<$Res> { - __$$_AttendanceHoursCopyWithImpl( - _$_AttendanceHours _value, $Res Function(_$_AttendanceHours) _then) +class __$$AttendanceHoursImplCopyWithImpl<$Res> + extends _$AttendanceHoursCopyWithImpl<$Res, _$AttendanceHoursImpl> + implements _$$AttendanceHoursImplCopyWith<$Res> { + __$$AttendanceHoursImplCopyWithImpl( + _$AttendanceHoursImpl _value, $Res Function(_$AttendanceHoursImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -259,7 +259,7 @@ class __$$_AttendanceHoursCopyWithImpl<$Res> Object? value = null, Object? active = null, }) { - return _then(_$_AttendanceHours( + return _then(_$AttendanceHoursImpl( code: null == code ? _value.code : code // ignore: cast_nullable_to_non_nullable @@ -278,12 +278,12 @@ class __$$_AttendanceHoursCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AttendanceHours implements _AttendanceHours { - const _$_AttendanceHours( +class _$AttendanceHoursImpl implements _AttendanceHours { + const _$AttendanceHoursImpl( {required this.code, required this.value, required this.active}); - factory _$_AttendanceHours.fromJson(Map json) => - _$$_AttendanceHoursFromJson(json); + factory _$AttendanceHoursImpl.fromJson(Map json) => + _$$AttendanceHoursImplFromJson(json); @override final String code; @@ -298,10 +298,10 @@ class _$_AttendanceHours implements _AttendanceHours { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AttendanceHours && + other is _$AttendanceHoursImpl && (identical(other.code, code) || other.code == code) && (identical(other.value, value) || other.value == value) && (identical(other.active, active) || other.active == active)); @@ -314,12 +314,13 @@ class _$_AttendanceHours implements _AttendanceHours { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AttendanceHoursCopyWith<_$_AttendanceHours> get copyWith => - __$$_AttendanceHoursCopyWithImpl<_$_AttendanceHours>(this, _$identity); + _$$AttendanceHoursImplCopyWith<_$AttendanceHoursImpl> get copyWith => + __$$AttendanceHoursImplCopyWithImpl<_$AttendanceHoursImpl>( + this, _$identity); @override Map toJson() { - return _$$_AttendanceHoursToJson( + return _$$AttendanceHoursImplToJson( this, ); } @@ -329,10 +330,10 @@ abstract class _AttendanceHours implements AttendanceHours { const factory _AttendanceHours( {required final String code, required final String value, - required final bool active}) = _$_AttendanceHours; + required final bool active}) = _$AttendanceHoursImpl; factory _AttendanceHours.fromJson(Map json) = - _$_AttendanceHours.fromJson; + _$AttendanceHoursImpl.fromJson; @override String get code; @@ -342,6 +343,6 @@ abstract class _AttendanceHours implements AttendanceHours { bool get active; @override @JsonKey(ignore: true) - _$$_AttendanceHoursCopyWith<_$_AttendanceHours> get copyWith => + _$$AttendanceHoursImplCopyWith<_$AttendanceHoursImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/mdms/attendance_hours.g.dart b/frontend/works_shg_app/lib/models/mdms/attendance_hours.g.dart index f382889e01..a1c8514435 100644 --- a/frontend/works_shg_app/lib/models/mdms/attendance_hours.g.dart +++ b/frontend/works_shg_app/lib/models/mdms/attendance_hours.g.dart @@ -6,28 +6,30 @@ part of 'attendance_hours.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_AttendanceHoursList _$$_AttendanceHoursListFromJson( +_$AttendanceHoursListImpl _$$AttendanceHoursListImplFromJson( Map json) => - _$_AttendanceHoursList( + _$AttendanceHoursListImpl( attendanceHours: (json['AttendanceHours'] as List?) ?.map((e) => AttendanceHours.fromJson(e as Map)) .toList(), ); -Map _$$_AttendanceHoursListToJson( - _$_AttendanceHoursList instance) => +Map _$$AttendanceHoursListImplToJson( + _$AttendanceHoursListImpl instance) => { 'AttendanceHours': instance.attendanceHours, }; -_$_AttendanceHours _$$_AttendanceHoursFromJson(Map json) => - _$_AttendanceHours( +_$AttendanceHoursImpl _$$AttendanceHoursImplFromJson( + Map json) => + _$AttendanceHoursImpl( code: json['code'] as String, value: json['value'] as String, active: json['active'] as bool, ); -Map _$$_AttendanceHoursToJson(_$_AttendanceHours instance) => +Map _$$AttendanceHoursImplToJson( + _$AttendanceHoursImpl instance) => { 'code': instance.code, 'value': instance.value, diff --git a/frontend/works_shg_app/lib/models/mdms/location_mdms.freezed.dart b/frontend/works_shg_app/lib/models/mdms/location_mdms.freezed.dart index 7fec545de2..fb5b1a9cf0 100644 --- a/frontend/works_shg_app/lib/models/mdms/location_mdms.freezed.dart +++ b/frontend/works_shg_app/lib/models/mdms/location_mdms.freezed.dart @@ -12,7 +12,7 @@ part of 'location_mdms.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); Location _$LocationFromJson(Map json) { return _Location.fromJson(json); @@ -37,7 +37,7 @@ abstract class $LocationCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'TenantBoundary') - List? tenantBoundaryList}); + List? tenantBoundaryList}); } /// @nodoc @@ -65,23 +65,24 @@ class _$LocationCopyWithImpl<$Res, $Val extends Location> } /// @nodoc -abstract class _$$_LocationCopyWith<$Res> implements $LocationCopyWith<$Res> { - factory _$$_LocationCopyWith( - _$_Location value, $Res Function(_$_Location) then) = - __$$_LocationCopyWithImpl<$Res>; +abstract class _$$LocationImplCopyWith<$Res> + implements $LocationCopyWith<$Res> { + factory _$$LocationImplCopyWith( + _$LocationImpl value, $Res Function(_$LocationImpl) then) = + __$$LocationImplCopyWithImpl<$Res>; @override @useResult $Res call( {@JsonKey(name: 'TenantBoundary') - List? tenantBoundaryList}); + List? tenantBoundaryList}); } /// @nodoc -class __$$_LocationCopyWithImpl<$Res> - extends _$LocationCopyWithImpl<$Res, _$_Location> - implements _$$_LocationCopyWith<$Res> { - __$$_LocationCopyWithImpl( - _$_Location _value, $Res Function(_$_Location) _then) +class __$$LocationImplCopyWithImpl<$Res> + extends _$LocationCopyWithImpl<$Res, _$LocationImpl> + implements _$$LocationImplCopyWith<$Res> { + __$$LocationImplCopyWithImpl( + _$LocationImpl _value, $Res Function(_$LocationImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -89,7 +90,7 @@ class __$$_LocationCopyWithImpl<$Res> $Res call({ Object? tenantBoundaryList = freezed, }) { - return _then(_$_Location( + return _then(_$LocationImpl( tenantBoundaryList: freezed == tenantBoundaryList ? _value._tenantBoundaryList : tenantBoundaryList // ignore: cast_nullable_to_non_nullable @@ -100,14 +101,14 @@ class __$$_LocationCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_Location implements _Location { - const _$_Location( +class _$LocationImpl implements _Location { + const _$LocationImpl( {@JsonKey(name: 'TenantBoundary') - final List? tenantBoundaryList}) + final List? tenantBoundaryList}) : _tenantBoundaryList = tenantBoundaryList; - factory _$_Location.fromJson(Map json) => - _$$_LocationFromJson(json); + factory _$LocationImpl.fromJson(Map json) => + _$$LocationImplFromJson(json); final List? _tenantBoundaryList; @override @@ -127,10 +128,10 @@ class _$_Location implements _Location { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Location && + other is _$LocationImpl && const DeepCollectionEquality() .equals(other._tenantBoundaryList, _tenantBoundaryList)); } @@ -143,12 +144,12 @@ class _$_Location implements _Location { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LocationCopyWith<_$_Location> get copyWith => - __$$_LocationCopyWithImpl<_$_Location>(this, _$identity); + _$$LocationImplCopyWith<_$LocationImpl> get copyWith => + __$$LocationImplCopyWithImpl<_$LocationImpl>(this, _$identity); @override Map toJson() { - return _$$_LocationToJson( + return _$$LocationImplToJson( this, ); } @@ -157,16 +158,17 @@ class _$_Location implements _Location { abstract class _Location implements Location { const factory _Location( {@JsonKey(name: 'TenantBoundary') - final List? tenantBoundaryList}) = _$_Location; + final List? tenantBoundaryList}) = _$LocationImpl; - factory _Location.fromJson(Map json) = _$_Location.fromJson; + factory _Location.fromJson(Map json) = + _$LocationImpl.fromJson; @override @JsonKey(name: 'TenantBoundary') List? get tenantBoundaryList; @override @JsonKey(ignore: true) - _$$_LocationCopyWith<_$_Location> get copyWith => + _$$LocationImplCopyWith<_$LocationImpl> get copyWith => throw _privateConstructorUsedError; } @@ -219,22 +221,22 @@ class _$TenantBoundaryCopyWithImpl<$Res, $Val extends TenantBoundary> } /// @nodoc -abstract class _$$_TenantBoundaryCopyWith<$Res> +abstract class _$$TenantBoundaryImplCopyWith<$Res> implements $TenantBoundaryCopyWith<$Res> { - factory _$$_TenantBoundaryCopyWith( - _$_TenantBoundary value, $Res Function(_$_TenantBoundary) then) = - __$$_TenantBoundaryCopyWithImpl<$Res>; + factory _$$TenantBoundaryImplCopyWith(_$TenantBoundaryImpl value, + $Res Function(_$TenantBoundaryImpl) then) = + __$$TenantBoundaryImplCopyWithImpl<$Res>; @override @useResult $Res call({@JsonKey(name: 'boundary') List? boundaryList}); } /// @nodoc -class __$$_TenantBoundaryCopyWithImpl<$Res> - extends _$TenantBoundaryCopyWithImpl<$Res, _$_TenantBoundary> - implements _$$_TenantBoundaryCopyWith<$Res> { - __$$_TenantBoundaryCopyWithImpl( - _$_TenantBoundary _value, $Res Function(_$_TenantBoundary) _then) +class __$$TenantBoundaryImplCopyWithImpl<$Res> + extends _$TenantBoundaryCopyWithImpl<$Res, _$TenantBoundaryImpl> + implements _$$TenantBoundaryImplCopyWith<$Res> { + __$$TenantBoundaryImplCopyWithImpl( + _$TenantBoundaryImpl _value, $Res Function(_$TenantBoundaryImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -242,7 +244,7 @@ class __$$_TenantBoundaryCopyWithImpl<$Res> $Res call({ Object? boundaryList = freezed, }) { - return _then(_$_TenantBoundary( + return _then(_$TenantBoundaryImpl( boundaryList: freezed == boundaryList ? _value._boundaryList : boundaryList // ignore: cast_nullable_to_non_nullable @@ -253,13 +255,13 @@ class __$$_TenantBoundaryCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_TenantBoundary implements _TenantBoundary { - const _$_TenantBoundary( +class _$TenantBoundaryImpl implements _TenantBoundary { + const _$TenantBoundaryImpl( {@JsonKey(name: 'boundary') final List? boundaryList}) : _boundaryList = boundaryList; - factory _$_TenantBoundary.fromJson(Map json) => - _$$_TenantBoundaryFromJson(json); + factory _$TenantBoundaryImpl.fromJson(Map json) => + _$$TenantBoundaryImplFromJson(json); final List? _boundaryList; @override @@ -278,10 +280,10 @@ class _$_TenantBoundary implements _TenantBoundary { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_TenantBoundary && + other is _$TenantBoundaryImpl && const DeepCollectionEquality() .equals(other._boundaryList, _boundaryList)); } @@ -294,12 +296,13 @@ class _$_TenantBoundary implements _TenantBoundary { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_TenantBoundaryCopyWith<_$_TenantBoundary> get copyWith => - __$$_TenantBoundaryCopyWithImpl<_$_TenantBoundary>(this, _$identity); + _$$TenantBoundaryImplCopyWith<_$TenantBoundaryImpl> get copyWith => + __$$TenantBoundaryImplCopyWithImpl<_$TenantBoundaryImpl>( + this, _$identity); @override Map toJson() { - return _$$_TenantBoundaryToJson( + return _$$TenantBoundaryImplToJson( this, ); } @@ -308,17 +311,17 @@ class _$_TenantBoundary implements _TenantBoundary { abstract class _TenantBoundary implements TenantBoundary { const factory _TenantBoundary( {@JsonKey(name: 'boundary') final List? boundaryList}) = - _$_TenantBoundary; + _$TenantBoundaryImpl; factory _TenantBoundary.fromJson(Map json) = - _$_TenantBoundary.fromJson; + _$TenantBoundaryImpl.fromJson; @override @JsonKey(name: 'boundary') List? get boundaryList; @override @JsonKey(ignore: true) - _$$_TenantBoundaryCopyWith<_$_TenantBoundary> get copyWith => + _$$TenantBoundaryImplCopyWith<_$TenantBoundaryImpl> get copyWith => throw _privateConstructorUsedError; } @@ -389,11 +392,11 @@ class _$WardBoundaryCopyWithImpl<$Res, $Val extends WardBoundary> } /// @nodoc -abstract class _$$_WardBoundaryCopyWith<$Res> +abstract class _$$WardBoundaryImplCopyWith<$Res> implements $WardBoundaryCopyWith<$Res> { - factory _$$_WardBoundaryCopyWith( - _$_WardBoundary value, $Res Function(_$_WardBoundary) then) = - __$$_WardBoundaryCopyWithImpl<$Res>; + factory _$$WardBoundaryImplCopyWith( + _$WardBoundaryImpl value, $Res Function(_$WardBoundaryImpl) then) = + __$$WardBoundaryImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -403,11 +406,11 @@ abstract class _$$_WardBoundaryCopyWith<$Res> } /// @nodoc -class __$$_WardBoundaryCopyWithImpl<$Res> - extends _$WardBoundaryCopyWithImpl<$Res, _$_WardBoundary> - implements _$$_WardBoundaryCopyWith<$Res> { - __$$_WardBoundaryCopyWithImpl( - _$_WardBoundary _value, $Res Function(_$_WardBoundary) _then) +class __$$WardBoundaryImplCopyWithImpl<$Res> + extends _$WardBoundaryCopyWithImpl<$Res, _$WardBoundaryImpl> + implements _$$WardBoundaryImplCopyWith<$Res> { + __$$WardBoundaryImplCopyWithImpl( + _$WardBoundaryImpl _value, $Res Function(_$WardBoundaryImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -417,7 +420,7 @@ class __$$_WardBoundaryCopyWithImpl<$Res> Object? name = freezed, Object? localityChildren = freezed, }) { - return _then(_$_WardBoundary( + return _then(_$WardBoundaryImpl( code: freezed == code ? _value.code : code // ignore: cast_nullable_to_non_nullable @@ -436,15 +439,15 @@ class __$$_WardBoundaryCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_WardBoundary implements _WardBoundary { - const _$_WardBoundary( +class _$WardBoundaryImpl implements _WardBoundary { + const _$WardBoundaryImpl( {@JsonKey(name: 'code') this.code, @JsonKey(name: 'name') this.name, @JsonKey(name: 'children') final List? localityChildren}) : _localityChildren = localityChildren; - factory _$_WardBoundary.fromJson(Map json) => - _$$_WardBoundaryFromJson(json); + factory _$WardBoundaryImpl.fromJson(Map json) => + _$$WardBoundaryImplFromJson(json); @override @JsonKey(name: 'code') @@ -470,10 +473,10 @@ class _$_WardBoundary implements _WardBoundary { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_WardBoundary && + other is _$WardBoundaryImpl && (identical(other.code, code) || other.code == code) && (identical(other.name, name) || other.name == name) && const DeepCollectionEquality() @@ -488,12 +491,12 @@ class _$_WardBoundary implements _WardBoundary { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_WardBoundaryCopyWith<_$_WardBoundary> get copyWith => - __$$_WardBoundaryCopyWithImpl<_$_WardBoundary>(this, _$identity); + _$$WardBoundaryImplCopyWith<_$WardBoundaryImpl> get copyWith => + __$$WardBoundaryImplCopyWithImpl<_$WardBoundaryImpl>(this, _$identity); @override Map toJson() { - return _$$_WardBoundaryToJson( + return _$$WardBoundaryImplToJson( this, ); } @@ -501,15 +504,13 @@ class _$_WardBoundary implements _WardBoundary { abstract class _WardBoundary implements WardBoundary { const factory _WardBoundary( - {@JsonKey(name: 'code') - final String? code, - @JsonKey(name: 'name') - final String? name, + {@JsonKey(name: 'code') final String? code, + @JsonKey(name: 'name') final String? name, @JsonKey(name: 'children') - final List? localityChildren}) = _$_WardBoundary; + final List? localityChildren}) = _$WardBoundaryImpl; factory _WardBoundary.fromJson(Map json) = - _$_WardBoundary.fromJson; + _$WardBoundaryImpl.fromJson; @override @JsonKey(name: 'code') @@ -522,7 +523,7 @@ abstract class _WardBoundary implements WardBoundary { List? get localityChildren; @override @JsonKey(ignore: true) - _$$_WardBoundaryCopyWith<_$_WardBoundary> get copyWith => + _$$WardBoundaryImplCopyWith<_$WardBoundaryImpl> get copyWith => throw _privateConstructorUsedError; } @@ -600,11 +601,11 @@ class _$LocalityChildCopyWithImpl<$Res, $Val extends LocalityChild> } /// @nodoc -abstract class _$$_LocalityChildCopyWith<$Res> +abstract class _$$LocalityChildImplCopyWith<$Res> implements $LocalityChildCopyWith<$Res> { - factory _$$_LocalityChildCopyWith( - _$_LocalityChild value, $Res Function(_$_LocalityChild) then) = - __$$_LocalityChildCopyWithImpl<$Res>; + factory _$$LocalityChildImplCopyWith( + _$LocalityChildImpl value, $Res Function(_$LocalityChildImpl) then) = + __$$LocalityChildImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -615,11 +616,11 @@ abstract class _$$_LocalityChildCopyWith<$Res> } /// @nodoc -class __$$_LocalityChildCopyWithImpl<$Res> - extends _$LocalityChildCopyWithImpl<$Res, _$_LocalityChild> - implements _$$_LocalityChildCopyWith<$Res> { - __$$_LocalityChildCopyWithImpl( - _$_LocalityChild _value, $Res Function(_$_LocalityChild) _then) +class __$$LocalityChildImplCopyWithImpl<$Res> + extends _$LocalityChildCopyWithImpl<$Res, _$LocalityChildImpl> + implements _$$LocalityChildImplCopyWith<$Res> { + __$$LocalityChildImplCopyWithImpl( + _$LocalityChildImpl _value, $Res Function(_$LocalityChildImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -630,7 +631,7 @@ class __$$_LocalityChildCopyWithImpl<$Res> Object? latitude = freezed, Object? longitude = freezed, }) { - return _then(_$_LocalityChild( + return _then(_$LocalityChildImpl( code: freezed == code ? _value.code : code // ignore: cast_nullable_to_non_nullable @@ -653,15 +654,15 @@ class __$$_LocalityChildCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_LocalityChild implements _LocalityChild { - const _$_LocalityChild( +class _$LocalityChildImpl implements _LocalityChild { + const _$LocalityChildImpl( {@JsonKey(name: 'code') this.code, @JsonKey(name: 'name') this.name, @JsonKey(name: 'latitude') this.latitude, @JsonKey(name: 'longitude') this.longitude}); - factory _$_LocalityChild.fromJson(Map json) => - _$$_LocalityChildFromJson(json); + factory _$LocalityChildImpl.fromJson(Map json) => + _$$LocalityChildImplFromJson(json); @override @JsonKey(name: 'code') @@ -682,10 +683,10 @@ class _$_LocalityChild implements _LocalityChild { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_LocalityChild && + other is _$LocalityChildImpl && (identical(other.code, code) || other.code == code) && (identical(other.name, name) || other.name == name) && (identical(other.latitude, latitude) || @@ -701,12 +702,12 @@ class _$_LocalityChild implements _LocalityChild { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_LocalityChildCopyWith<_$_LocalityChild> get copyWith => - __$$_LocalityChildCopyWithImpl<_$_LocalityChild>(this, _$identity); + _$$LocalityChildImplCopyWith<_$LocalityChildImpl> get copyWith => + __$$LocalityChildImplCopyWithImpl<_$LocalityChildImpl>(this, _$identity); @override Map toJson() { - return _$$_LocalityChildToJson( + return _$$LocalityChildImplToJson( this, ); } @@ -714,13 +715,14 @@ class _$_LocalityChild implements _LocalityChild { abstract class _LocalityChild implements LocalityChild { const factory _LocalityChild( - {@JsonKey(name: 'code') final String? code, - @JsonKey(name: 'name') final String? name, - @JsonKey(name: 'latitude') final String? latitude, - @JsonKey(name: 'longitude') final String? longitude}) = _$_LocalityChild; + {@JsonKey(name: 'code') final String? code, + @JsonKey(name: 'name') final String? name, + @JsonKey(name: 'latitude') final String? latitude, + @JsonKey(name: 'longitude') final String? longitude}) = + _$LocalityChildImpl; factory _LocalityChild.fromJson(Map json) = - _$_LocalityChild.fromJson; + _$LocalityChildImpl.fromJson; @override @JsonKey(name: 'code') @@ -736,6 +738,6 @@ abstract class _LocalityChild implements LocalityChild { String? get longitude; @override @JsonKey(ignore: true) - _$$_LocalityChildCopyWith<_$_LocalityChild> get copyWith => + _$$LocalityChildImplCopyWith<_$LocalityChildImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/mdms/location_mdms.g.dart b/frontend/works_shg_app/lib/models/mdms/location_mdms.g.dart index 678064d842..06adf0fb69 100644 --- a/frontend/works_shg_app/lib/models/mdms/location_mdms.g.dart +++ b/frontend/works_shg_app/lib/models/mdms/location_mdms.g.dart @@ -6,31 +6,33 @@ part of 'location_mdms.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_Location _$$_LocationFromJson(Map json) => _$_Location( +_$LocationImpl _$$LocationImplFromJson(Map json) => + _$LocationImpl( tenantBoundaryList: (json['TenantBoundary'] as List?) ?.map((e) => TenantBoundary.fromJson(e as Map)) .toList(), ); -Map _$$_LocationToJson(_$_Location instance) => +Map _$$LocationImplToJson(_$LocationImpl instance) => { 'TenantBoundary': instance.tenantBoundaryList, }; -_$_TenantBoundary _$$_TenantBoundaryFromJson(Map json) => - _$_TenantBoundary( +_$TenantBoundaryImpl _$$TenantBoundaryImplFromJson(Map json) => + _$TenantBoundaryImpl( boundaryList: (json['boundary'] as List?) ?.map((e) => WardBoundary.fromJson(e as Map)) .toList(), ); -Map _$$_TenantBoundaryToJson(_$_TenantBoundary instance) => +Map _$$TenantBoundaryImplToJson( + _$TenantBoundaryImpl instance) => { 'boundary': instance.boundaryList, }; -_$_WardBoundary _$$_WardBoundaryFromJson(Map json) => - _$_WardBoundary( +_$WardBoundaryImpl _$$WardBoundaryImplFromJson(Map json) => + _$WardBoundaryImpl( code: json['code'] as String?, name: json['name'] as String?, localityChildren: (json['children'] as List?) @@ -38,22 +40,22 @@ _$_WardBoundary _$$_WardBoundaryFromJson(Map json) => .toList(), ); -Map _$$_WardBoundaryToJson(_$_WardBoundary instance) => +Map _$$WardBoundaryImplToJson(_$WardBoundaryImpl instance) => { 'code': instance.code, 'name': instance.name, 'children': instance.localityChildren, }; -_$_LocalityChild _$$_LocalityChildFromJson(Map json) => - _$_LocalityChild( +_$LocalityChildImpl _$$LocalityChildImplFromJson(Map json) => + _$LocalityChildImpl( code: json['code'] as String?, name: json['name'] as String?, latitude: json['latitude'] as String?, longitude: json['longitude'] as String?, ); -Map _$$_LocalityChildToJson(_$_LocalityChild instance) => +Map _$$LocalityChildImplToJson(_$LocalityChildImpl instance) => { 'code': instance.code, 'name': instance.name, diff --git a/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.freezed.dart b/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.freezed.dart index 7d8ff7bc90..6c1a96e254 100644 --- a/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.freezed.dart +++ b/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.freezed.dart @@ -12,7 +12,7 @@ part of 'wage_seeker_mdms.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); WageSeekerMDMS _$WageSeekerMDMSFromJson(Map json) { return _WageSeekerMDMS.fromJson(json); @@ -120,11 +120,11 @@ class _$WageSeekerMDMSCopyWithImpl<$Res, $Val extends WageSeekerMDMS> } /// @nodoc -abstract class _$$_WageSeekerMDMSCopyWith<$Res> +abstract class _$$WageSeekerMDMSImplCopyWith<$Res> implements $WageSeekerMDMSCopyWith<$Res> { - factory _$$_WageSeekerMDMSCopyWith( - _$_WageSeekerMDMS value, $Res Function(_$_WageSeekerMDMS) then) = - __$$_WageSeekerMDMSCopyWithImpl<$Res>; + factory _$$WageSeekerMDMSImplCopyWith(_$WageSeekerMDMSImpl value, + $Res Function(_$WageSeekerMDMSImpl) then) = + __$$WageSeekerMDMSImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -141,11 +141,11 @@ abstract class _$$_WageSeekerMDMSCopyWith<$Res> } /// @nodoc -class __$$_WageSeekerMDMSCopyWithImpl<$Res> - extends _$WageSeekerMDMSCopyWithImpl<$Res, _$_WageSeekerMDMS> - implements _$$_WageSeekerMDMSCopyWith<$Res> { - __$$_WageSeekerMDMSCopyWithImpl( - _$_WageSeekerMDMS _value, $Res Function(_$_WageSeekerMDMS) _then) +class __$$WageSeekerMDMSImplCopyWithImpl<$Res> + extends _$WageSeekerMDMSCopyWithImpl<$Res, _$WageSeekerMDMSImpl> + implements _$$WageSeekerMDMSImplCopyWith<$Res> { + __$$WageSeekerMDMSImplCopyWithImpl( + _$WageSeekerMDMSImpl _value, $Res Function(_$WageSeekerMDMSImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -155,7 +155,7 @@ class __$$_WageSeekerMDMSCopyWithImpl<$Res> Object? worksMDMS = freezed, Object? tenantMDMS = freezed, }) { - return _then(_$_WageSeekerMDMS( + return _then(_$WageSeekerMDMSImpl( commonMDMS: freezed == commonMDMS ? _value.commonMDMS : commonMDMS // ignore: cast_nullable_to_non_nullable @@ -174,14 +174,14 @@ class __$$_WageSeekerMDMSCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_WageSeekerMDMS implements _WageSeekerMDMS { - const _$_WageSeekerMDMS( +class _$WageSeekerMDMSImpl implements _WageSeekerMDMS { + const _$WageSeekerMDMSImpl( {@JsonKey(name: 'common-masters') this.commonMDMS, @JsonKey(name: 'works') this.worksMDMS, @JsonKey(name: 'tenant') this.tenantMDMS}); - factory _$_WageSeekerMDMS.fromJson(Map json) => - _$$_WageSeekerMDMSFromJson(json); + factory _$WageSeekerMDMSImpl.fromJson(Map json) => + _$$WageSeekerMDMSImplFromJson(json); @override @JsonKey(name: 'common-masters') @@ -199,10 +199,10 @@ class _$_WageSeekerMDMS implements _WageSeekerMDMS { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_WageSeekerMDMS && + other is _$WageSeekerMDMSImpl && (identical(other.commonMDMS, commonMDMS) || other.commonMDMS == commonMDMS) && (identical(other.worksMDMS, worksMDMS) || @@ -219,12 +219,13 @@ class _$_WageSeekerMDMS implements _WageSeekerMDMS { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_WageSeekerMDMSCopyWith<_$_WageSeekerMDMS> get copyWith => - __$$_WageSeekerMDMSCopyWithImpl<_$_WageSeekerMDMS>(this, _$identity); + _$$WageSeekerMDMSImplCopyWith<_$WageSeekerMDMSImpl> get copyWith => + __$$WageSeekerMDMSImplCopyWithImpl<_$WageSeekerMDMSImpl>( + this, _$identity); @override Map toJson() { - return _$$_WageSeekerMDMSToJson( + return _$$WageSeekerMDMSImplToJson( this, ); } @@ -232,15 +233,13 @@ class _$_WageSeekerMDMS implements _WageSeekerMDMS { abstract class _WageSeekerMDMS implements WageSeekerMDMS { const factory _WageSeekerMDMS( - {@JsonKey(name: 'common-masters') - final WageSeekerCommonMDMS? commonMDMS, - @JsonKey(name: 'works') - final WageSeekerWorksMDMS? worksMDMS, + {@JsonKey(name: 'common-masters') final WageSeekerCommonMDMS? commonMDMS, + @JsonKey(name: 'works') final WageSeekerWorksMDMS? worksMDMS, @JsonKey(name: 'tenant') - final TenantMDMS? tenantMDMS}) = _$_WageSeekerMDMS; + final TenantMDMS? tenantMDMS}) = _$WageSeekerMDMSImpl; factory _WageSeekerMDMS.fromJson(Map json) = - _$_WageSeekerMDMS.fromJson; + _$WageSeekerMDMSImpl.fromJson; @override @JsonKey(name: 'common-masters') @@ -253,7 +252,7 @@ abstract class _WageSeekerMDMS implements WageSeekerMDMS { TenantMDMS? get tenantMDMS; @override @JsonKey(ignore: true) - _$$_WageSeekerMDMSCopyWith<_$_WageSeekerMDMS> get copyWith => + _$$WageSeekerMDMSImplCopyWith<_$WageSeekerMDMSImpl> get copyWith => throw _privateConstructorUsedError; } @@ -306,22 +305,22 @@ class _$WageSeekerWorksMDMSCopyWithImpl<$Res, $Val extends WageSeekerWorksMDMS> } /// @nodoc -abstract class _$$_WageSeekerWorksMDMSCopyWith<$Res> +abstract class _$$WageSeekerWorksMDMSImplCopyWith<$Res> implements $WageSeekerWorksMDMSCopyWith<$Res> { - factory _$$_WageSeekerWorksMDMSCopyWith(_$_WageSeekerWorksMDMS value, - $Res Function(_$_WageSeekerWorksMDMS) then) = - __$$_WageSeekerWorksMDMSCopyWithImpl<$Res>; + factory _$$WageSeekerWorksMDMSImplCopyWith(_$WageSeekerWorksMDMSImpl value, + $Res Function(_$WageSeekerWorksMDMSImpl) then) = + __$$WageSeekerWorksMDMSImplCopyWithImpl<$Res>; @override @useResult $Res call({@JsonKey(name: 'BankAccType') List? bankAccType}); } /// @nodoc -class __$$_WageSeekerWorksMDMSCopyWithImpl<$Res> - extends _$WageSeekerWorksMDMSCopyWithImpl<$Res, _$_WageSeekerWorksMDMS> - implements _$$_WageSeekerWorksMDMSCopyWith<$Res> { - __$$_WageSeekerWorksMDMSCopyWithImpl(_$_WageSeekerWorksMDMS _value, - $Res Function(_$_WageSeekerWorksMDMS) _then) +class __$$WageSeekerWorksMDMSImplCopyWithImpl<$Res> + extends _$WageSeekerWorksMDMSCopyWithImpl<$Res, _$WageSeekerWorksMDMSImpl> + implements _$$WageSeekerWorksMDMSImplCopyWith<$Res> { + __$$WageSeekerWorksMDMSImplCopyWithImpl(_$WageSeekerWorksMDMSImpl _value, + $Res Function(_$WageSeekerWorksMDMSImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -329,7 +328,7 @@ class __$$_WageSeekerWorksMDMSCopyWithImpl<$Res> $Res call({ Object? bankAccType = freezed, }) { - return _then(_$_WageSeekerWorksMDMS( + return _then(_$WageSeekerWorksMDMSImpl( bankAccType: freezed == bankAccType ? _value._bankAccType : bankAccType // ignore: cast_nullable_to_non_nullable @@ -340,13 +339,13 @@ class __$$_WageSeekerWorksMDMSCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_WageSeekerWorksMDMS implements _WageSeekerWorksMDMS { - const _$_WageSeekerWorksMDMS( +class _$WageSeekerWorksMDMSImpl implements _WageSeekerWorksMDMS { + const _$WageSeekerWorksMDMSImpl( {@JsonKey(name: 'BankAccType') final List? bankAccType}) : _bankAccType = bankAccType; - factory _$_WageSeekerWorksMDMS.fromJson(Map json) => - _$$_WageSeekerWorksMDMSFromJson(json); + factory _$WageSeekerWorksMDMSImpl.fromJson(Map json) => + _$$WageSeekerWorksMDMSImplFromJson(json); final List? _bankAccType; @override @@ -365,10 +364,10 @@ class _$_WageSeekerWorksMDMS implements _WageSeekerWorksMDMS { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_WageSeekerWorksMDMS && + other is _$WageSeekerWorksMDMSImpl && const DeepCollectionEquality() .equals(other._bankAccType, _bankAccType)); } @@ -381,13 +380,13 @@ class _$_WageSeekerWorksMDMS implements _WageSeekerWorksMDMS { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_WageSeekerWorksMDMSCopyWith<_$_WageSeekerWorksMDMS> get copyWith => - __$$_WageSeekerWorksMDMSCopyWithImpl<_$_WageSeekerWorksMDMS>( + _$$WageSeekerWorksMDMSImplCopyWith<_$WageSeekerWorksMDMSImpl> get copyWith => + __$$WageSeekerWorksMDMSImplCopyWithImpl<_$WageSeekerWorksMDMSImpl>( this, _$identity); @override Map toJson() { - return _$$_WageSeekerWorksMDMSToJson( + return _$$WageSeekerWorksMDMSImplToJson( this, ); } @@ -396,17 +395,17 @@ class _$_WageSeekerWorksMDMS implements _WageSeekerWorksMDMS { abstract class _WageSeekerWorksMDMS implements WageSeekerWorksMDMS { const factory _WageSeekerWorksMDMS( {@JsonKey(name: 'BankAccType') - final List? bankAccType}) = _$_WageSeekerWorksMDMS; + final List? bankAccType}) = _$WageSeekerWorksMDMSImpl; factory _WageSeekerWorksMDMS.fromJson(Map json) = - _$_WageSeekerWorksMDMS.fromJson; + _$WageSeekerWorksMDMSImpl.fromJson; @override @JsonKey(name: 'BankAccType') List? get bankAccType; @override @JsonKey(ignore: true) - _$$_WageSeekerWorksMDMSCopyWith<_$_WageSeekerWorksMDMS> get copyWith => + _$$WageSeekerWorksMDMSImplCopyWith<_$WageSeekerWorksMDMSImpl> get copyWith => throw _privateConstructorUsedError; } @@ -459,22 +458,22 @@ class _$TenantMDMSCopyWithImpl<$Res, $Val extends TenantMDMS> } /// @nodoc -abstract class _$$_TenantMDMSCopyWith<$Res> +abstract class _$$TenantMDMSImplCopyWith<$Res> implements $TenantMDMSCopyWith<$Res> { - factory _$$_TenantMDMSCopyWith( - _$_TenantMDMS value, $Res Function(_$_TenantMDMS) then) = - __$$_TenantMDMSCopyWithImpl<$Res>; + factory _$$TenantMDMSImplCopyWith( + _$TenantMDMSImpl value, $Res Function(_$TenantMDMSImpl) then) = + __$$TenantMDMSImplCopyWithImpl<$Res>; @override @useResult $Res call({@JsonKey(name: 'citymodule') List? cityModule}); } /// @nodoc -class __$$_TenantMDMSCopyWithImpl<$Res> - extends _$TenantMDMSCopyWithImpl<$Res, _$_TenantMDMS> - implements _$$_TenantMDMSCopyWith<$Res> { - __$$_TenantMDMSCopyWithImpl( - _$_TenantMDMS _value, $Res Function(_$_TenantMDMS) _then) +class __$$TenantMDMSImplCopyWithImpl<$Res> + extends _$TenantMDMSCopyWithImpl<$Res, _$TenantMDMSImpl> + implements _$$TenantMDMSImplCopyWith<$Res> { + __$$TenantMDMSImplCopyWithImpl( + _$TenantMDMSImpl _value, $Res Function(_$TenantMDMSImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -482,7 +481,7 @@ class __$$_TenantMDMSCopyWithImpl<$Res> $Res call({ Object? cityModule = freezed, }) { - return _then(_$_TenantMDMS( + return _then(_$TenantMDMSImpl( cityModule: freezed == cityModule ? _value._cityModule : cityModule // ignore: cast_nullable_to_non_nullable @@ -493,13 +492,13 @@ class __$$_TenantMDMSCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_TenantMDMS implements _TenantMDMS { - const _$_TenantMDMS( +class _$TenantMDMSImpl implements _TenantMDMS { + const _$TenantMDMSImpl( {@JsonKey(name: 'citymodule') final List? cityModule}) : _cityModule = cityModule; - factory _$_TenantMDMS.fromJson(Map json) => - _$$_TenantMDMSFromJson(json); + factory _$TenantMDMSImpl.fromJson(Map json) => + _$$TenantMDMSImplFromJson(json); final List? _cityModule; @override @@ -518,10 +517,10 @@ class _$_TenantMDMS implements _TenantMDMS { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_TenantMDMS && + other is _$TenantMDMSImpl && const DeepCollectionEquality() .equals(other._cityModule, _cityModule)); } @@ -534,12 +533,12 @@ class _$_TenantMDMS implements _TenantMDMS { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_TenantMDMSCopyWith<_$_TenantMDMS> get copyWith => - __$$_TenantMDMSCopyWithImpl<_$_TenantMDMS>(this, _$identity); + _$$TenantMDMSImplCopyWith<_$TenantMDMSImpl> get copyWith => + __$$TenantMDMSImplCopyWithImpl<_$TenantMDMSImpl>(this, _$identity); @override Map toJson() { - return _$$_TenantMDMSToJson( + return _$$TenantMDMSImplToJson( this, ); } @@ -548,17 +547,17 @@ class _$_TenantMDMS implements _TenantMDMS { abstract class _TenantMDMS implements TenantMDMS { const factory _TenantMDMS( {@JsonKey(name: 'citymodule') final List? cityModule}) = - _$_TenantMDMS; + _$TenantMDMSImpl; factory _TenantMDMS.fromJson(Map json) = - _$_TenantMDMS.fromJson; + _$TenantMDMSImpl.fromJson; @override @JsonKey(name: 'citymodule') List? get cityModule; @override @JsonKey(ignore: true) - _$$_TenantMDMSCopyWith<_$_TenantMDMS> get copyWith => + _$$TenantMDMSImplCopyWith<_$TenantMDMSImpl> get copyWith => throw _privateConstructorUsedError; } @@ -639,11 +638,11 @@ class _$CityModuleCopyWithImpl<$Res, $Val extends CityModule> } /// @nodoc -abstract class _$$_CityModuleCopyWith<$Res> +abstract class _$$CityModuleImplCopyWith<$Res> implements $CityModuleCopyWith<$Res> { - factory _$$_CityModuleCopyWith( - _$_CityModule value, $Res Function(_$_CityModule) then) = - __$$_CityModuleCopyWithImpl<$Res>; + factory _$$CityModuleImplCopyWith( + _$CityModuleImpl value, $Res Function(_$CityModuleImpl) then) = + __$$CityModuleImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -655,11 +654,11 @@ abstract class _$$_CityModuleCopyWith<$Res> } /// @nodoc -class __$$_CityModuleCopyWithImpl<$Res> - extends _$CityModuleCopyWithImpl<$Res, _$_CityModule> - implements _$$_CityModuleCopyWith<$Res> { - __$$_CityModuleCopyWithImpl( - _$_CityModule _value, $Res Function(_$_CityModule) _then) +class __$$CityModuleImplCopyWithImpl<$Res> + extends _$CityModuleCopyWithImpl<$Res, _$CityModuleImpl> + implements _$$CityModuleImplCopyWith<$Res> { + __$$CityModuleImplCopyWithImpl( + _$CityModuleImpl _value, $Res Function(_$CityModuleImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -671,7 +670,7 @@ class __$$_CityModuleCopyWithImpl<$Res> Object? order = freezed, Object? tenants = freezed, }) { - return _then(_$_CityModule( + return _then(_$CityModuleImpl( active: freezed == active ? _value.active : active // ignore: cast_nullable_to_non_nullable @@ -698,8 +697,8 @@ class __$$_CityModuleCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_CityModule implements _CityModule { - const _$_CityModule( +class _$CityModuleImpl implements _CityModule { + const _$CityModuleImpl( {this.active, this.code, this.module, @@ -707,8 +706,8 @@ class _$_CityModule implements _CityModule { final List? tenants}) : _tenants = tenants; - factory _$_CityModule.fromJson(Map json) => - _$$_CityModuleFromJson(json); + factory _$CityModuleImpl.fromJson(Map json) => + _$$CityModuleImplFromJson(json); @override final bool? active; @@ -734,10 +733,10 @@ class _$_CityModule implements _CityModule { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_CityModule && + other is _$CityModuleImpl && (identical(other.active, active) || other.active == active) && (identical(other.code, code) || other.code == code) && (identical(other.module, module) || other.module == module) && @@ -753,12 +752,12 @@ class _$_CityModule implements _CityModule { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_CityModuleCopyWith<_$_CityModule> get copyWith => - __$$_CityModuleCopyWithImpl<_$_CityModule>(this, _$identity); + _$$CityModuleImplCopyWith<_$CityModuleImpl> get copyWith => + __$$CityModuleImplCopyWithImpl<_$CityModuleImpl>(this, _$identity); @override Map toJson() { - return _$$_CityModuleToJson( + return _$$CityModuleImplToJson( this, ); } @@ -770,10 +769,10 @@ abstract class _CityModule implements CityModule { final String? code, final String? module, final int? order, - final List? tenants}) = _$_CityModule; + final List? tenants}) = _$CityModuleImpl; factory _CityModule.fromJson(Map json) = - _$_CityModule.fromJson; + _$CityModuleImpl.fromJson; @override bool? get active; @@ -787,7 +786,7 @@ abstract class _CityModule implements CityModule { List? get tenants; @override @JsonKey(ignore: true) - _$$_CityModuleCopyWith<_$_CityModule> get copyWith => + _$$CityModuleImplCopyWith<_$CityModuleImpl> get copyWith => throw _privateConstructorUsedError; } @@ -840,22 +839,22 @@ class _$TenantListCopyWithImpl<$Res, $Val extends TenantList> } /// @nodoc -abstract class _$$_TenantListCopyWith<$Res> +abstract class _$$TenantListImplCopyWith<$Res> implements $TenantListCopyWith<$Res> { - factory _$$_TenantListCopyWith( - _$_TenantList value, $Res Function(_$_TenantList) then) = - __$$_TenantListCopyWithImpl<$Res>; + factory _$$TenantListImplCopyWith( + _$TenantListImpl value, $Res Function(_$TenantListImpl) then) = + __$$TenantListImplCopyWithImpl<$Res>; @override @useResult $Res call({@JsonKey(name: 'code') String? code}); } /// @nodoc -class __$$_TenantListCopyWithImpl<$Res> - extends _$TenantListCopyWithImpl<$Res, _$_TenantList> - implements _$$_TenantListCopyWith<$Res> { - __$$_TenantListCopyWithImpl( - _$_TenantList _value, $Res Function(_$_TenantList) _then) +class __$$TenantListImplCopyWithImpl<$Res> + extends _$TenantListCopyWithImpl<$Res, _$TenantListImpl> + implements _$$TenantListImplCopyWith<$Res> { + __$$TenantListImplCopyWithImpl( + _$TenantListImpl _value, $Res Function(_$TenantListImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -863,7 +862,7 @@ class __$$_TenantListCopyWithImpl<$Res> $Res call({ Object? code = freezed, }) { - return _then(_$_TenantList( + return _then(_$TenantListImpl( code: freezed == code ? _value.code : code // ignore: cast_nullable_to_non_nullable @@ -874,11 +873,11 @@ class __$$_TenantListCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_TenantList implements _TenantList { - const _$_TenantList({@JsonKey(name: 'code') this.code}); +class _$TenantListImpl implements _TenantList { + const _$TenantListImpl({@JsonKey(name: 'code') this.code}); - factory _$_TenantList.fromJson(Map json) => - _$$_TenantListFromJson(json); + factory _$TenantListImpl.fromJson(Map json) => + _$$TenantListImplFromJson(json); @override @JsonKey(name: 'code') @@ -890,10 +889,10 @@ class _$_TenantList implements _TenantList { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_TenantList && + other is _$TenantListImpl && (identical(other.code, code) || other.code == code)); } @@ -904,12 +903,12 @@ class _$_TenantList implements _TenantList { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_TenantListCopyWith<_$_TenantList> get copyWith => - __$$_TenantListCopyWithImpl<_$_TenantList>(this, _$identity); + _$$TenantListImplCopyWith<_$TenantListImpl> get copyWith => + __$$TenantListImplCopyWithImpl<_$TenantListImpl>(this, _$identity); @override Map toJson() { - return _$$_TenantListToJson( + return _$$TenantListImplToJson( this, ); } @@ -917,17 +916,17 @@ class _$_TenantList implements _TenantList { abstract class _TenantList implements TenantList { const factory _TenantList({@JsonKey(name: 'code') final String? code}) = - _$_TenantList; + _$TenantListImpl; factory _TenantList.fromJson(Map json) = - _$_TenantList.fromJson; + _$TenantListImpl.fromJson; @override @JsonKey(name: 'code') String? get code; @override @JsonKey(ignore: true) - _$$_TenantListCopyWith<_$_TenantList> get copyWith => + _$$TenantListImplCopyWith<_$TenantListImpl> get copyWith => throw _privateConstructorUsedError; } @@ -963,16 +962,12 @@ abstract class $WageSeekerCommonMDMSCopyWith<$Res> { _$WageSeekerCommonMDMSCopyWithImpl<$Res, WageSeekerCommonMDMS>; @useResult $Res call( - {@JsonKey(name: 'GenderType') - List? genderType, + {@JsonKey(name: 'GenderType') List? genderType, @JsonKey(name: 'WageSeekerSkills') - List? wageSeekerSkills, - @JsonKey(name: 'Relationship') - List? relationship, - @JsonKey(name: 'SocialCategory') - List? socialCategory, - @JsonKey(name: 'DocumentType') - List? documentType}); + List? wageSeekerSkills, + @JsonKey(name: 'Relationship') List? relationship, + @JsonKey(name: 'SocialCategory') List? socialCategory, + @JsonKey(name: 'DocumentType') List? documentType}); } /// @nodoc @@ -1021,32 +1016,28 @@ class _$WageSeekerCommonMDMSCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_WageSeekerCommonMDMSCopyWith<$Res> +abstract class _$$WageSeekerCommonMDMSImplCopyWith<$Res> implements $WageSeekerCommonMDMSCopyWith<$Res> { - factory _$$_WageSeekerCommonMDMSCopyWith(_$_WageSeekerCommonMDMS value, - $Res Function(_$_WageSeekerCommonMDMS) then) = - __$$_WageSeekerCommonMDMSCopyWithImpl<$Res>; + factory _$$WageSeekerCommonMDMSImplCopyWith(_$WageSeekerCommonMDMSImpl value, + $Res Function(_$WageSeekerCommonMDMSImpl) then) = + __$$WageSeekerCommonMDMSImplCopyWithImpl<$Res>; @override @useResult $Res call( - {@JsonKey(name: 'GenderType') - List? genderType, + {@JsonKey(name: 'GenderType') List? genderType, @JsonKey(name: 'WageSeekerSkills') - List? wageSeekerSkills, - @JsonKey(name: 'Relationship') - List? relationship, - @JsonKey(name: 'SocialCategory') - List? socialCategory, - @JsonKey(name: 'DocumentType') - List? documentType}); + List? wageSeekerSkills, + @JsonKey(name: 'Relationship') List? relationship, + @JsonKey(name: 'SocialCategory') List? socialCategory, + @JsonKey(name: 'DocumentType') List? documentType}); } /// @nodoc -class __$$_WageSeekerCommonMDMSCopyWithImpl<$Res> - extends _$WageSeekerCommonMDMSCopyWithImpl<$Res, _$_WageSeekerCommonMDMS> - implements _$$_WageSeekerCommonMDMSCopyWith<$Res> { - __$$_WageSeekerCommonMDMSCopyWithImpl(_$_WageSeekerCommonMDMS _value, - $Res Function(_$_WageSeekerCommonMDMS) _then) +class __$$WageSeekerCommonMDMSImplCopyWithImpl<$Res> + extends _$WageSeekerCommonMDMSCopyWithImpl<$Res, _$WageSeekerCommonMDMSImpl> + implements _$$WageSeekerCommonMDMSImplCopyWith<$Res> { + __$$WageSeekerCommonMDMSImplCopyWithImpl(_$WageSeekerCommonMDMSImpl _value, + $Res Function(_$WageSeekerCommonMDMSImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1058,7 +1049,7 @@ class __$$_WageSeekerCommonMDMSCopyWithImpl<$Res> Object? socialCategory = freezed, Object? documentType = freezed, }) { - return _then(_$_WageSeekerCommonMDMS( + return _then(_$WageSeekerCommonMDMSImpl( genderType: freezed == genderType ? _value._genderType : genderType // ignore: cast_nullable_to_non_nullable @@ -1085,26 +1076,23 @@ class __$$_WageSeekerCommonMDMSCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_WageSeekerCommonMDMS implements _WageSeekerCommonMDMS { - const _$_WageSeekerCommonMDMS( - {@JsonKey(name: 'GenderType') - final List? genderType, +class _$WageSeekerCommonMDMSImpl implements _WageSeekerCommonMDMS { + const _$WageSeekerCommonMDMSImpl( + {@JsonKey(name: 'GenderType') final List? genderType, @JsonKey(name: 'WageSeekerSkills') - final List? wageSeekerSkills, - @JsonKey(name: 'Relationship') - final List? relationship, + final List? wageSeekerSkills, + @JsonKey(name: 'Relationship') final List? relationship, @JsonKey(name: 'SocialCategory') - final List? socialCategory, - @JsonKey(name: 'DocumentType') - final List? documentType}) + final List? socialCategory, + @JsonKey(name: 'DocumentType') final List? documentType}) : _genderType = genderType, _wageSeekerSkills = wageSeekerSkills, _relationship = relationship, _socialCategory = socialCategory, _documentType = documentType; - factory _$_WageSeekerCommonMDMS.fromJson(Map json) => - _$$_WageSeekerCommonMDMSFromJson(json); + factory _$WageSeekerCommonMDMSImpl.fromJson(Map json) => + _$$WageSeekerCommonMDMSImplFromJson(json); final List? _genderType; @override @@ -1168,10 +1156,10 @@ class _$_WageSeekerCommonMDMS implements _WageSeekerCommonMDMS { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_WageSeekerCommonMDMS && + other is _$WageSeekerCommonMDMSImpl && const DeepCollectionEquality() .equals(other._genderType, _genderType) && const DeepCollectionEquality() @@ -1197,13 +1185,14 @@ class _$_WageSeekerCommonMDMS implements _WageSeekerCommonMDMS { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_WageSeekerCommonMDMSCopyWith<_$_WageSeekerCommonMDMS> get copyWith => - __$$_WageSeekerCommonMDMSCopyWithImpl<_$_WageSeekerCommonMDMS>( - this, _$identity); + _$$WageSeekerCommonMDMSImplCopyWith<_$WageSeekerCommonMDMSImpl> + get copyWith => + __$$WageSeekerCommonMDMSImplCopyWithImpl<_$WageSeekerCommonMDMSImpl>( + this, _$identity); @override Map toJson() { - return _$$_WageSeekerCommonMDMSToJson( + return _$$WageSeekerCommonMDMSImplToJson( this, ); } @@ -1211,19 +1200,17 @@ class _$_WageSeekerCommonMDMS implements _WageSeekerCommonMDMS { abstract class _WageSeekerCommonMDMS implements WageSeekerCommonMDMS { const factory _WageSeekerCommonMDMS( - {@JsonKey(name: 'GenderType') - final List? genderType, + {@JsonKey(name: 'GenderType') final List? genderType, @JsonKey(name: 'WageSeekerSkills') - final List? wageSeekerSkills, - @JsonKey(name: 'Relationship') - final List? relationship, + final List? wageSeekerSkills, + @JsonKey(name: 'Relationship') final List? relationship, @JsonKey(name: 'SocialCategory') - final List? socialCategory, + final List? socialCategory, @JsonKey(name: 'DocumentType') - final List? documentType}) = _$_WageSeekerCommonMDMS; + final List? documentType}) = _$WageSeekerCommonMDMSImpl; factory _WageSeekerCommonMDMS.fromJson(Map json) = - _$_WageSeekerCommonMDMS.fromJson; + _$WageSeekerCommonMDMSImpl.fromJson; @override @JsonKey(name: 'GenderType') @@ -1242,8 +1229,8 @@ abstract class _WageSeekerCommonMDMS implements WageSeekerCommonMDMS { List? get documentType; @override @JsonKey(ignore: true) - _$$_WageSeekerCommonMDMSCopyWith<_$_WageSeekerCommonMDMS> get copyWith => - throw _privateConstructorUsedError; + _$$WageSeekerCommonMDMSImplCopyWith<_$WageSeekerCommonMDMSImpl> + get copyWith => throw _privateConstructorUsedError; } GenderType _$GenderTypeFromJson(Map json) { @@ -1300,22 +1287,22 @@ class _$GenderTypeCopyWithImpl<$Res, $Val extends GenderType> } /// @nodoc -abstract class _$$_GenderTypeCopyWith<$Res> +abstract class _$$GenderTypeImplCopyWith<$Res> implements $GenderTypeCopyWith<$Res> { - factory _$$_GenderTypeCopyWith( - _$_GenderType value, $Res Function(_$_GenderType) then) = - __$$_GenderTypeCopyWithImpl<$Res>; + factory _$$GenderTypeImplCopyWith( + _$GenderTypeImpl value, $Res Function(_$GenderTypeImpl) then) = + __$$GenderTypeImplCopyWithImpl<$Res>; @override @useResult $Res call({String code, bool active}); } /// @nodoc -class __$$_GenderTypeCopyWithImpl<$Res> - extends _$GenderTypeCopyWithImpl<$Res, _$_GenderType> - implements _$$_GenderTypeCopyWith<$Res> { - __$$_GenderTypeCopyWithImpl( - _$_GenderType _value, $Res Function(_$_GenderType) _then) +class __$$GenderTypeImplCopyWithImpl<$Res> + extends _$GenderTypeCopyWithImpl<$Res, _$GenderTypeImpl> + implements _$$GenderTypeImplCopyWith<$Res> { + __$$GenderTypeImplCopyWithImpl( + _$GenderTypeImpl _value, $Res Function(_$GenderTypeImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1324,7 +1311,7 @@ class __$$_GenderTypeCopyWithImpl<$Res> Object? code = null, Object? active = null, }) { - return _then(_$_GenderType( + return _then(_$GenderTypeImpl( code: null == code ? _value.code : code // ignore: cast_nullable_to_non_nullable @@ -1339,11 +1326,11 @@ class __$$_GenderTypeCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_GenderType implements _GenderType { - const _$_GenderType({required this.code, required this.active}); +class _$GenderTypeImpl implements _GenderType { + const _$GenderTypeImpl({required this.code, required this.active}); - factory _$_GenderType.fromJson(Map json) => - _$$_GenderTypeFromJson(json); + factory _$GenderTypeImpl.fromJson(Map json) => + _$$GenderTypeImplFromJson(json); @override final String code; @@ -1356,10 +1343,10 @@ class _$_GenderType implements _GenderType { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_GenderType && + other is _$GenderTypeImpl && (identical(other.code, code) || other.code == code) && (identical(other.active, active) || other.active == active)); } @@ -1371,12 +1358,12 @@ class _$_GenderType implements _GenderType { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_GenderTypeCopyWith<_$_GenderType> get copyWith => - __$$_GenderTypeCopyWithImpl<_$_GenderType>(this, _$identity); + _$$GenderTypeImplCopyWith<_$GenderTypeImpl> get copyWith => + __$$GenderTypeImplCopyWithImpl<_$GenderTypeImpl>(this, _$identity); @override Map toJson() { - return _$$_GenderTypeToJson( + return _$$GenderTypeImplToJson( this, ); } @@ -1384,10 +1371,11 @@ class _$_GenderType implements _GenderType { abstract class _GenderType implements GenderType { const factory _GenderType( - {required final String code, required final bool active}) = _$_GenderType; + {required final String code, + required final bool active}) = _$GenderTypeImpl; factory _GenderType.fromJson(Map json) = - _$_GenderType.fromJson; + _$GenderTypeImpl.fromJson; @override String get code; @@ -1395,7 +1383,7 @@ abstract class _GenderType implements GenderType { bool get active; @override @JsonKey(ignore: true) - _$$_GenderTypeCopyWith<_$_GenderType> get copyWith => + _$$GenderTypeImplCopyWith<_$GenderTypeImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1459,22 +1447,22 @@ class _$RelationshipCopyWithImpl<$Res, $Val extends Relationship> } /// @nodoc -abstract class _$$_RelationshipCopyWith<$Res> +abstract class _$$RelationshipImplCopyWith<$Res> implements $RelationshipCopyWith<$Res> { - factory _$$_RelationshipCopyWith( - _$_Relationship value, $Res Function(_$_Relationship) then) = - __$$_RelationshipCopyWithImpl<$Res>; + factory _$$RelationshipImplCopyWith( + _$RelationshipImpl value, $Res Function(_$RelationshipImpl) then) = + __$$RelationshipImplCopyWithImpl<$Res>; @override @useResult $Res call({String name, String code, bool active}); } /// @nodoc -class __$$_RelationshipCopyWithImpl<$Res> - extends _$RelationshipCopyWithImpl<$Res, _$_Relationship> - implements _$$_RelationshipCopyWith<$Res> { - __$$_RelationshipCopyWithImpl( - _$_Relationship _value, $Res Function(_$_Relationship) _then) +class __$$RelationshipImplCopyWithImpl<$Res> + extends _$RelationshipCopyWithImpl<$Res, _$RelationshipImpl> + implements _$$RelationshipImplCopyWith<$Res> { + __$$RelationshipImplCopyWithImpl( + _$RelationshipImpl _value, $Res Function(_$RelationshipImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1484,7 +1472,7 @@ class __$$_RelationshipCopyWithImpl<$Res> Object? code = null, Object? active = null, }) { - return _then(_$_Relationship( + return _then(_$RelationshipImpl( name: null == name ? _value.name : name // ignore: cast_nullable_to_non_nullable @@ -1503,12 +1491,12 @@ class __$$_RelationshipCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_Relationship implements _Relationship { - const _$_Relationship( +class _$RelationshipImpl implements _Relationship { + const _$RelationshipImpl( {required this.name, required this.code, required this.active}); - factory _$_Relationship.fromJson(Map json) => - _$$_RelationshipFromJson(json); + factory _$RelationshipImpl.fromJson(Map json) => + _$$RelationshipImplFromJson(json); @override final String name; @@ -1523,10 +1511,10 @@ class _$_Relationship implements _Relationship { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Relationship && + other is _$RelationshipImpl && (identical(other.name, name) || other.name == name) && (identical(other.code, code) || other.code == code) && (identical(other.active, active) || other.active == active)); @@ -1539,12 +1527,12 @@ class _$_Relationship implements _Relationship { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_RelationshipCopyWith<_$_Relationship> get copyWith => - __$$_RelationshipCopyWithImpl<_$_Relationship>(this, _$identity); + _$$RelationshipImplCopyWith<_$RelationshipImpl> get copyWith => + __$$RelationshipImplCopyWithImpl<_$RelationshipImpl>(this, _$identity); @override Map toJson() { - return _$$_RelationshipToJson( + return _$$RelationshipImplToJson( this, ); } @@ -1554,10 +1542,10 @@ abstract class _Relationship implements Relationship { const factory _Relationship( {required final String name, required final String code, - required final bool active}) = _$_Relationship; + required final bool active}) = _$RelationshipImpl; factory _Relationship.fromJson(Map json) = - _$_Relationship.fromJson; + _$RelationshipImpl.fromJson; @override String get name; @@ -1567,7 +1555,7 @@ abstract class _Relationship implements Relationship { bool get active; @override @JsonKey(ignore: true) - _$$_RelationshipCopyWith<_$_Relationship> get copyWith => + _$$RelationshipImplCopyWith<_$RelationshipImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1631,22 +1619,22 @@ class _$SocialCategoryCopyWithImpl<$Res, $Val extends SocialCategory> } /// @nodoc -abstract class _$$_SocialCategoryCopyWith<$Res> +abstract class _$$SocialCategoryImplCopyWith<$Res> implements $SocialCategoryCopyWith<$Res> { - factory _$$_SocialCategoryCopyWith( - _$_SocialCategory value, $Res Function(_$_SocialCategory) then) = - __$$_SocialCategoryCopyWithImpl<$Res>; + factory _$$SocialCategoryImplCopyWith(_$SocialCategoryImpl value, + $Res Function(_$SocialCategoryImpl) then) = + __$$SocialCategoryImplCopyWithImpl<$Res>; @override @useResult $Res call({String name, String code, bool active}); } /// @nodoc -class __$$_SocialCategoryCopyWithImpl<$Res> - extends _$SocialCategoryCopyWithImpl<$Res, _$_SocialCategory> - implements _$$_SocialCategoryCopyWith<$Res> { - __$$_SocialCategoryCopyWithImpl( - _$_SocialCategory _value, $Res Function(_$_SocialCategory) _then) +class __$$SocialCategoryImplCopyWithImpl<$Res> + extends _$SocialCategoryCopyWithImpl<$Res, _$SocialCategoryImpl> + implements _$$SocialCategoryImplCopyWith<$Res> { + __$$SocialCategoryImplCopyWithImpl( + _$SocialCategoryImpl _value, $Res Function(_$SocialCategoryImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1656,7 +1644,7 @@ class __$$_SocialCategoryCopyWithImpl<$Res> Object? code = null, Object? active = null, }) { - return _then(_$_SocialCategory( + return _then(_$SocialCategoryImpl( name: null == name ? _value.name : name // ignore: cast_nullable_to_non_nullable @@ -1675,12 +1663,12 @@ class __$$_SocialCategoryCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_SocialCategory implements _SocialCategory { - const _$_SocialCategory( +class _$SocialCategoryImpl implements _SocialCategory { + const _$SocialCategoryImpl( {required this.name, required this.code, required this.active}); - factory _$_SocialCategory.fromJson(Map json) => - _$$_SocialCategoryFromJson(json); + factory _$SocialCategoryImpl.fromJson(Map json) => + _$$SocialCategoryImplFromJson(json); @override final String name; @@ -1695,10 +1683,10 @@ class _$_SocialCategory implements _SocialCategory { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_SocialCategory && + other is _$SocialCategoryImpl && (identical(other.name, name) || other.name == name) && (identical(other.code, code) || other.code == code) && (identical(other.active, active) || other.active == active)); @@ -1711,12 +1699,13 @@ class _$_SocialCategory implements _SocialCategory { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_SocialCategoryCopyWith<_$_SocialCategory> get copyWith => - __$$_SocialCategoryCopyWithImpl<_$_SocialCategory>(this, _$identity); + _$$SocialCategoryImplCopyWith<_$SocialCategoryImpl> get copyWith => + __$$SocialCategoryImplCopyWithImpl<_$SocialCategoryImpl>( + this, _$identity); @override Map toJson() { - return _$$_SocialCategoryToJson( + return _$$SocialCategoryImplToJson( this, ); } @@ -1726,10 +1715,10 @@ abstract class _SocialCategory implements SocialCategory { const factory _SocialCategory( {required final String name, required final String code, - required final bool active}) = _$_SocialCategory; + required final bool active}) = _$SocialCategoryImpl; factory _SocialCategory.fromJson(Map json) = - _$_SocialCategory.fromJson; + _$SocialCategoryImpl.fromJson; @override String get name; @@ -1739,7 +1728,7 @@ abstract class _SocialCategory implements SocialCategory { bool get active; @override @JsonKey(ignore: true) - _$$_SocialCategoryCopyWith<_$_SocialCategory> get copyWith => + _$$SocialCategoryImplCopyWith<_$SocialCategoryImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1803,22 +1792,22 @@ class _$BankAccTypeCopyWithImpl<$Res, $Val extends BankAccType> } /// @nodoc -abstract class _$$_BankAccTypeCopyWith<$Res> +abstract class _$$BankAccTypeImplCopyWith<$Res> implements $BankAccTypeCopyWith<$Res> { - factory _$$_BankAccTypeCopyWith( - _$_BankAccType value, $Res Function(_$_BankAccType) then) = - __$$_BankAccTypeCopyWithImpl<$Res>; + factory _$$BankAccTypeImplCopyWith( + _$BankAccTypeImpl value, $Res Function(_$BankAccTypeImpl) then) = + __$$BankAccTypeImplCopyWithImpl<$Res>; @override @useResult $Res call({String name, String code, bool active}); } /// @nodoc -class __$$_BankAccTypeCopyWithImpl<$Res> - extends _$BankAccTypeCopyWithImpl<$Res, _$_BankAccType> - implements _$$_BankAccTypeCopyWith<$Res> { - __$$_BankAccTypeCopyWithImpl( - _$_BankAccType _value, $Res Function(_$_BankAccType) _then) +class __$$BankAccTypeImplCopyWithImpl<$Res> + extends _$BankAccTypeCopyWithImpl<$Res, _$BankAccTypeImpl> + implements _$$BankAccTypeImplCopyWith<$Res> { + __$$BankAccTypeImplCopyWithImpl( + _$BankAccTypeImpl _value, $Res Function(_$BankAccTypeImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1828,7 +1817,7 @@ class __$$_BankAccTypeCopyWithImpl<$Res> Object? code = null, Object? active = null, }) { - return _then(_$_BankAccType( + return _then(_$BankAccTypeImpl( name: null == name ? _value.name : name // ignore: cast_nullable_to_non_nullable @@ -1847,12 +1836,12 @@ class __$$_BankAccTypeCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_BankAccType implements _BankAccType { - const _$_BankAccType( +class _$BankAccTypeImpl implements _BankAccType { + const _$BankAccTypeImpl( {required this.name, required this.code, required this.active}); - factory _$_BankAccType.fromJson(Map json) => - _$$_BankAccTypeFromJson(json); + factory _$BankAccTypeImpl.fromJson(Map json) => + _$$BankAccTypeImplFromJson(json); @override final String name; @@ -1867,10 +1856,10 @@ class _$_BankAccType implements _BankAccType { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_BankAccType && + other is _$BankAccTypeImpl && (identical(other.name, name) || other.name == name) && (identical(other.code, code) || other.code == code) && (identical(other.active, active) || other.active == active)); @@ -1883,12 +1872,12 @@ class _$_BankAccType implements _BankAccType { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_BankAccTypeCopyWith<_$_BankAccType> get copyWith => - __$$_BankAccTypeCopyWithImpl<_$_BankAccType>(this, _$identity); + _$$BankAccTypeImplCopyWith<_$BankAccTypeImpl> get copyWith => + __$$BankAccTypeImplCopyWithImpl<_$BankAccTypeImpl>(this, _$identity); @override Map toJson() { - return _$$_BankAccTypeToJson( + return _$$BankAccTypeImplToJson( this, ); } @@ -1898,10 +1887,10 @@ abstract class _BankAccType implements BankAccType { const factory _BankAccType( {required final String name, required final String code, - required final bool active}) = _$_BankAccType; + required final bool active}) = _$BankAccTypeImpl; factory _BankAccType.fromJson(Map json) = - _$_BankAccType.fromJson; + _$BankAccTypeImpl.fromJson; @override String get name; @@ -1911,7 +1900,7 @@ abstract class _BankAccType implements BankAccType { bool get active; @override @JsonKey(ignore: true) - _$$_BankAccTypeCopyWith<_$_BankAccType> get copyWith => + _$$BankAccTypeImplCopyWith<_$BankAccTypeImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1975,22 +1964,22 @@ class _$DocumentTypeCopyWithImpl<$Res, $Val extends DocumentType> } /// @nodoc -abstract class _$$_DocumentTypeCopyWith<$Res> +abstract class _$$DocumentTypeImplCopyWith<$Res> implements $DocumentTypeCopyWith<$Res> { - factory _$$_DocumentTypeCopyWith( - _$_DocumentType value, $Res Function(_$_DocumentType) then) = - __$$_DocumentTypeCopyWithImpl<$Res>; + factory _$$DocumentTypeImplCopyWith( + _$DocumentTypeImpl value, $Res Function(_$DocumentTypeImpl) then) = + __$$DocumentTypeImplCopyWithImpl<$Res>; @override @useResult $Res call({String name, String code, bool active}); } /// @nodoc -class __$$_DocumentTypeCopyWithImpl<$Res> - extends _$DocumentTypeCopyWithImpl<$Res, _$_DocumentType> - implements _$$_DocumentTypeCopyWith<$Res> { - __$$_DocumentTypeCopyWithImpl( - _$_DocumentType _value, $Res Function(_$_DocumentType) _then) +class __$$DocumentTypeImplCopyWithImpl<$Res> + extends _$DocumentTypeCopyWithImpl<$Res, _$DocumentTypeImpl> + implements _$$DocumentTypeImplCopyWith<$Res> { + __$$DocumentTypeImplCopyWithImpl( + _$DocumentTypeImpl _value, $Res Function(_$DocumentTypeImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -2000,7 +1989,7 @@ class __$$_DocumentTypeCopyWithImpl<$Res> Object? code = null, Object? active = null, }) { - return _then(_$_DocumentType( + return _then(_$DocumentTypeImpl( name: null == name ? _value.name : name // ignore: cast_nullable_to_non_nullable @@ -2019,12 +2008,12 @@ class __$$_DocumentTypeCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_DocumentType implements _DocumentType { - const _$_DocumentType( +class _$DocumentTypeImpl implements _DocumentType { + const _$DocumentTypeImpl( {required this.name, required this.code, required this.active}); - factory _$_DocumentType.fromJson(Map json) => - _$$_DocumentTypeFromJson(json); + factory _$DocumentTypeImpl.fromJson(Map json) => + _$$DocumentTypeImplFromJson(json); @override final String name; @@ -2039,10 +2028,10 @@ class _$_DocumentType implements _DocumentType { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_DocumentType && + other is _$DocumentTypeImpl && (identical(other.name, name) || other.name == name) && (identical(other.code, code) || other.code == code) && (identical(other.active, active) || other.active == active)); @@ -2055,12 +2044,12 @@ class _$_DocumentType implements _DocumentType { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_DocumentTypeCopyWith<_$_DocumentType> get copyWith => - __$$_DocumentTypeCopyWithImpl<_$_DocumentType>(this, _$identity); + _$$DocumentTypeImplCopyWith<_$DocumentTypeImpl> get copyWith => + __$$DocumentTypeImplCopyWithImpl<_$DocumentTypeImpl>(this, _$identity); @override Map toJson() { - return _$$_DocumentTypeToJson( + return _$$DocumentTypeImplToJson( this, ); } @@ -2070,10 +2059,10 @@ abstract class _DocumentType implements DocumentType { const factory _DocumentType( {required final String name, required final String code, - required final bool active}) = _$_DocumentType; + required final bool active}) = _$DocumentTypeImpl; factory _DocumentType.fromJson(Map json) = - _$_DocumentType.fromJson; + _$DocumentTypeImpl.fromJson; @override String get name; @@ -2083,6 +2072,6 @@ abstract class _DocumentType implements DocumentType { bool get active; @override @JsonKey(ignore: true) - _$$_DocumentTypeCopyWith<_$_DocumentType> get copyWith => + _$$DocumentTypeImplCopyWith<_$DocumentTypeImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.g.dart b/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.g.dart index 648a74930c..ecabdb4883 100644 --- a/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.g.dart +++ b/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.g.dart @@ -6,8 +6,8 @@ part of 'wage_seeker_mdms.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_WageSeekerMDMS _$$_WageSeekerMDMSFromJson(Map json) => - _$_WageSeekerMDMS( +_$WageSeekerMDMSImpl _$$WageSeekerMDMSImplFromJson(Map json) => + _$WageSeekerMDMSImpl( commonMDMS: json['common-masters'] == null ? null : WageSeekerCommonMDMS.fromJson( @@ -20,51 +20,52 @@ _$_WageSeekerMDMS _$$_WageSeekerMDMSFromJson(Map json) => : TenantMDMS.fromJson(json['tenant'] as Map), ); -Map _$$_WageSeekerMDMSToJson(_$_WageSeekerMDMS instance) => +Map _$$WageSeekerMDMSImplToJson( + _$WageSeekerMDMSImpl instance) => { 'common-masters': instance.commonMDMS, 'works': instance.worksMDMS, 'tenant': instance.tenantMDMS, }; -_$_WageSeekerWorksMDMS _$$_WageSeekerWorksMDMSFromJson( +_$WageSeekerWorksMDMSImpl _$$WageSeekerWorksMDMSImplFromJson( Map json) => - _$_WageSeekerWorksMDMS( + _$WageSeekerWorksMDMSImpl( bankAccType: (json['BankAccType'] as List?) ?.map((e) => BankAccType.fromJson(e as Map)) .toList(), ); -Map _$$_WageSeekerWorksMDMSToJson( - _$_WageSeekerWorksMDMS instance) => +Map _$$WageSeekerWorksMDMSImplToJson( + _$WageSeekerWorksMDMSImpl instance) => { 'BankAccType': instance.bankAccType, }; -_$_TenantMDMS _$$_TenantMDMSFromJson(Map json) => - _$_TenantMDMS( +_$TenantMDMSImpl _$$TenantMDMSImplFromJson(Map json) => + _$TenantMDMSImpl( cityModule: (json['citymodule'] as List?) ?.map((e) => CityModule.fromJson(e as Map)) .toList(), ); -Map _$$_TenantMDMSToJson(_$_TenantMDMS instance) => +Map _$$TenantMDMSImplToJson(_$TenantMDMSImpl instance) => { 'citymodule': instance.cityModule, }; -_$_CityModule _$$_CityModuleFromJson(Map json) => - _$_CityModule( +_$CityModuleImpl _$$CityModuleImplFromJson(Map json) => + _$CityModuleImpl( active: json['active'] as bool?, code: json['code'] as String?, module: json['module'] as String?, - order: json['order'] as int?, + order: (json['order'] as num?)?.toInt(), tenants: (json['tenants'] as List?) ?.map((e) => TenantList.fromJson(e as Map)) .toList(), ); -Map _$$_CityModuleToJson(_$_CityModule instance) => +Map _$$CityModuleImplToJson(_$CityModuleImpl instance) => { 'active': instance.active, 'code': instance.code, @@ -73,19 +74,19 @@ Map _$$_CityModuleToJson(_$_CityModule instance) => 'tenants': instance.tenants, }; -_$_TenantList _$$_TenantListFromJson(Map json) => - _$_TenantList( +_$TenantListImpl _$$TenantListImplFromJson(Map json) => + _$TenantListImpl( code: json['code'] as String?, ); -Map _$$_TenantListToJson(_$_TenantList instance) => +Map _$$TenantListImplToJson(_$TenantListImpl instance) => { 'code': instance.code, }; -_$_WageSeekerCommonMDMS _$$_WageSeekerCommonMDMSFromJson( +_$WageSeekerCommonMDMSImpl _$$WageSeekerCommonMDMSImplFromJson( Map json) => - _$_WageSeekerCommonMDMS( + _$WageSeekerCommonMDMSImpl( genderType: (json['GenderType'] as List?) ?.map((e) => GenderType.fromJson(e as Map)) .toList(), @@ -103,8 +104,8 @@ _$_WageSeekerCommonMDMS _$$_WageSeekerCommonMDMSFromJson( .toList(), ); -Map _$$_WageSeekerCommonMDMSToJson( - _$_WageSeekerCommonMDMS instance) => +Map _$$WageSeekerCommonMDMSImplToJson( + _$WageSeekerCommonMDMSImpl instance) => { 'GenderType': instance.genderType, 'WageSeekerSkills': instance.wageSeekerSkills, @@ -113,68 +114,69 @@ Map _$$_WageSeekerCommonMDMSToJson( 'DocumentType': instance.documentType, }; -_$_GenderType _$$_GenderTypeFromJson(Map json) => - _$_GenderType( +_$GenderTypeImpl _$$GenderTypeImplFromJson(Map json) => + _$GenderTypeImpl( code: json['code'] as String, active: json['active'] as bool, ); -Map _$$_GenderTypeToJson(_$_GenderType instance) => +Map _$$GenderTypeImplToJson(_$GenderTypeImpl instance) => { 'code': instance.code, 'active': instance.active, }; -_$_Relationship _$$_RelationshipFromJson(Map json) => - _$_Relationship( +_$RelationshipImpl _$$RelationshipImplFromJson(Map json) => + _$RelationshipImpl( name: json['name'] as String, code: json['code'] as String, active: json['active'] as bool, ); -Map _$$_RelationshipToJson(_$_Relationship instance) => +Map _$$RelationshipImplToJson(_$RelationshipImpl instance) => { 'name': instance.name, 'code': instance.code, 'active': instance.active, }; -_$_SocialCategory _$$_SocialCategoryFromJson(Map json) => - _$_SocialCategory( +_$SocialCategoryImpl _$$SocialCategoryImplFromJson(Map json) => + _$SocialCategoryImpl( name: json['name'] as String, code: json['code'] as String, active: json['active'] as bool, ); -Map _$$_SocialCategoryToJson(_$_SocialCategory instance) => +Map _$$SocialCategoryImplToJson( + _$SocialCategoryImpl instance) => { 'name': instance.name, 'code': instance.code, 'active': instance.active, }; -_$_BankAccType _$$_BankAccTypeFromJson(Map json) => - _$_BankAccType( +_$BankAccTypeImpl _$$BankAccTypeImplFromJson(Map json) => + _$BankAccTypeImpl( name: json['name'] as String, code: json['code'] as String, active: json['active'] as bool, ); -Map _$$_BankAccTypeToJson(_$_BankAccType instance) => +Map _$$BankAccTypeImplToJson(_$BankAccTypeImpl instance) => { 'name': instance.name, 'code': instance.code, 'active': instance.active, }; -_$_DocumentType _$$_DocumentTypeFromJson(Map json) => - _$_DocumentType( +_$DocumentTypeImpl _$$DocumentTypeImplFromJson(Map json) => + _$DocumentTypeImpl( name: json['name'] as String, code: json['code'] as String, active: json['active'] as bool, ); -Map _$$_DocumentTypeToJson(_$_DocumentType instance) => +Map _$$DocumentTypeImplToJson(_$DocumentTypeImpl instance) => { 'name': instance.name, 'code': instance.code, diff --git a/frontend/works_shg_app/lib/models/muster_rolls/business_service_workflow.freezed.dart b/frontend/works_shg_app/lib/models/muster_rolls/business_service_workflow.freezed.dart index 94978469b8..02a3da3bbd 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/business_service_workflow.freezed.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/business_service_workflow.freezed.dart @@ -12,7 +12,7 @@ part of 'business_service_workflow.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); BusinessServiceWorkflowModel _$BusinessServiceWorkflowModelFromJson( Map json) { @@ -41,7 +41,7 @@ abstract class $BusinessServiceWorkflowModelCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'BusinessServices') - List? businessServices}); + List? businessServices}); } /// @nodoc @@ -70,27 +70,27 @@ class _$BusinessServiceWorkflowModelCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_BusinessServiceWorkflowModelCopyWith<$Res> +abstract class _$$BusinessServiceWorkflowModelImplCopyWith<$Res> implements $BusinessServiceWorkflowModelCopyWith<$Res> { - factory _$$_BusinessServiceWorkflowModelCopyWith( - _$_BusinessServiceWorkflowModel value, - $Res Function(_$_BusinessServiceWorkflowModel) then) = - __$$_BusinessServiceWorkflowModelCopyWithImpl<$Res>; + factory _$$BusinessServiceWorkflowModelImplCopyWith( + _$BusinessServiceWorkflowModelImpl value, + $Res Function(_$BusinessServiceWorkflowModelImpl) then) = + __$$BusinessServiceWorkflowModelImplCopyWithImpl<$Res>; @override @useResult $Res call( {@JsonKey(name: 'BusinessServices') - List? businessServices}); + List? businessServices}); } /// @nodoc -class __$$_BusinessServiceWorkflowModelCopyWithImpl<$Res> +class __$$BusinessServiceWorkflowModelImplCopyWithImpl<$Res> extends _$BusinessServiceWorkflowModelCopyWithImpl<$Res, - _$_BusinessServiceWorkflowModel> - implements _$$_BusinessServiceWorkflowModelCopyWith<$Res> { - __$$_BusinessServiceWorkflowModelCopyWithImpl( - _$_BusinessServiceWorkflowModel _value, - $Res Function(_$_BusinessServiceWorkflowModel) _then) + _$BusinessServiceWorkflowModelImpl> + implements _$$BusinessServiceWorkflowModelImplCopyWith<$Res> { + __$$BusinessServiceWorkflowModelImplCopyWithImpl( + _$BusinessServiceWorkflowModelImpl _value, + $Res Function(_$BusinessServiceWorkflowModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -98,7 +98,7 @@ class __$$_BusinessServiceWorkflowModelCopyWithImpl<$Res> $Res call({ Object? businessServices = freezed, }) { - return _then(_$_BusinessServiceWorkflowModel( + return _then(_$BusinessServiceWorkflowModelImpl( businessServices: freezed == businessServices ? _value._businessServices : businessServices // ignore: cast_nullable_to_non_nullable @@ -109,14 +109,16 @@ class __$$_BusinessServiceWorkflowModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_BusinessServiceWorkflowModel implements _BusinessServiceWorkflowModel { - const _$_BusinessServiceWorkflowModel( +class _$BusinessServiceWorkflowModelImpl + implements _BusinessServiceWorkflowModel { + const _$BusinessServiceWorkflowModelImpl( {@JsonKey(name: 'BusinessServices') - final List? businessServices}) + final List? businessServices}) : _businessServices = businessServices; - factory _$_BusinessServiceWorkflowModel.fromJson(Map json) => - _$$_BusinessServiceWorkflowModelFromJson(json); + factory _$BusinessServiceWorkflowModelImpl.fromJson( + Map json) => + _$$BusinessServiceWorkflowModelImplFromJson(json); final List? _businessServices; @override @@ -136,10 +138,10 @@ class _$_BusinessServiceWorkflowModel implements _BusinessServiceWorkflowModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_BusinessServiceWorkflowModel && + other is _$BusinessServiceWorkflowModelImpl && const DeepCollectionEquality() .equals(other._businessServices, _businessServices)); } @@ -152,13 +154,14 @@ class _$_BusinessServiceWorkflowModel implements _BusinessServiceWorkflowModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_BusinessServiceWorkflowModelCopyWith<_$_BusinessServiceWorkflowModel> - get copyWith => __$$_BusinessServiceWorkflowModelCopyWithImpl< - _$_BusinessServiceWorkflowModel>(this, _$identity); + _$$BusinessServiceWorkflowModelImplCopyWith< + _$BusinessServiceWorkflowModelImpl> + get copyWith => __$$BusinessServiceWorkflowModelImplCopyWithImpl< + _$BusinessServiceWorkflowModelImpl>(this, _$identity); @override Map toJson() { - return _$$_BusinessServiceWorkflowModelToJson( + return _$$BusinessServiceWorkflowModelImplToJson( this, ); } @@ -168,18 +171,19 @@ abstract class _BusinessServiceWorkflowModel implements BusinessServiceWorkflowModel { const factory _BusinessServiceWorkflowModel( {@JsonKey(name: 'BusinessServices') - final List? businessServices}) = - _$_BusinessServiceWorkflowModel; + final List? businessServices}) = + _$BusinessServiceWorkflowModelImpl; factory _BusinessServiceWorkflowModel.fromJson(Map json) = - _$_BusinessServiceWorkflowModel.fromJson; + _$BusinessServiceWorkflowModelImpl.fromJson; @override @JsonKey(name: 'BusinessServices') List? get businessServices; @override @JsonKey(ignore: true) - _$$_BusinessServiceWorkflowModelCopyWith<_$_BusinessServiceWorkflowModel> + _$$BusinessServiceWorkflowModelImplCopyWith< + _$BusinessServiceWorkflowModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -269,11 +273,11 @@ class _$BusinessServicesCopyWithImpl<$Res, $Val extends BusinessServices> } /// @nodoc -abstract class _$$_BusinessServicesCopyWith<$Res> +abstract class _$$BusinessServicesImplCopyWith<$Res> implements $BusinessServicesCopyWith<$Res> { - factory _$$_BusinessServicesCopyWith( - _$_BusinessServices value, $Res Function(_$_BusinessServices) then) = - __$$_BusinessServicesCopyWithImpl<$Res>; + factory _$$BusinessServicesImplCopyWith(_$BusinessServicesImpl value, + $Res Function(_$BusinessServicesImpl) then) = + __$$BusinessServicesImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -286,11 +290,11 @@ abstract class _$$_BusinessServicesCopyWith<$Res> } /// @nodoc -class __$$_BusinessServicesCopyWithImpl<$Res> - extends _$BusinessServicesCopyWithImpl<$Res, _$_BusinessServices> - implements _$$_BusinessServicesCopyWith<$Res> { - __$$_BusinessServicesCopyWithImpl( - _$_BusinessServices _value, $Res Function(_$_BusinessServices) _then) +class __$$BusinessServicesImplCopyWithImpl<$Res> + extends _$BusinessServicesCopyWithImpl<$Res, _$BusinessServicesImpl> + implements _$$BusinessServicesImplCopyWith<$Res> { + __$$BusinessServicesImplCopyWithImpl(_$BusinessServicesImpl _value, + $Res Function(_$BusinessServicesImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -303,7 +307,7 @@ class __$$_BusinessServicesCopyWithImpl<$Res> Object? businessServiceSla = freezed, Object? workflowState = freezed, }) { - return _then(_$_BusinessServices( + return _then(_$BusinessServicesImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -334,19 +338,19 @@ class __$$_BusinessServicesCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_BusinessServices implements _BusinessServices { - const _$_BusinessServices( +class _$BusinessServicesImpl implements _BusinessServices { + const _$BusinessServicesImpl( {required this.tenantId, required this.uuid, this.businessService, this.business, this.businessServiceSla, @JsonKey(name: 'states') - final List? workflowState}) + final List? workflowState}) : _workflowState = workflowState; - factory _$_BusinessServices.fromJson(Map json) => - _$$_BusinessServicesFromJson(json); + factory _$BusinessServicesImpl.fromJson(Map json) => + _$$BusinessServicesImplFromJson(json); @override final String tenantId; @@ -375,10 +379,10 @@ class _$_BusinessServices implements _BusinessServices { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_BusinessServices && + other is _$BusinessServicesImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.uuid, uuid) || other.uuid == uuid) && @@ -406,12 +410,13 @@ class _$_BusinessServices implements _BusinessServices { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_BusinessServicesCopyWith<_$_BusinessServices> get copyWith => - __$$_BusinessServicesCopyWithImpl<_$_BusinessServices>(this, _$identity); + _$$BusinessServicesImplCopyWith<_$BusinessServicesImpl> get copyWith => + __$$BusinessServicesImplCopyWithImpl<_$BusinessServicesImpl>( + this, _$identity); @override Map toJson() { - return _$$_BusinessServicesToJson( + return _$$BusinessServicesImplToJson( this, ); } @@ -425,11 +430,11 @@ abstract class _BusinessServices implements BusinessServices { final String? business, final int? businessServiceSla, @JsonKey(name: 'states') - final List? workflowState}) = - _$_BusinessServices; + final List? workflowState}) = + _$BusinessServicesImpl; factory _BusinessServices.fromJson(Map json) = - _$_BusinessServices.fromJson; + _$BusinessServicesImpl.fromJson; @override String get tenantId; @@ -446,7 +451,7 @@ abstract class _BusinessServices implements BusinessServices { List? get workflowState; @override @JsonKey(ignore: true) - _$$_BusinessServicesCopyWith<_$_BusinessServices> get copyWith => + _$$BusinessServicesImplCopyWith<_$BusinessServicesImpl> get copyWith => throw _privateConstructorUsedError; } @@ -550,11 +555,12 @@ class _$BusinessWorkflowStateCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_BusinessWorkflowStateCopyWith<$Res> +abstract class _$$BusinessWorkflowStateImplCopyWith<$Res> implements $BusinessWorkflowStateCopyWith<$Res> { - factory _$$_BusinessWorkflowStateCopyWith(_$_BusinessWorkflowState value, - $Res Function(_$_BusinessWorkflowState) then) = - __$$_BusinessWorkflowStateCopyWithImpl<$Res>; + factory _$$BusinessWorkflowStateImplCopyWith( + _$BusinessWorkflowStateImpl value, + $Res Function(_$BusinessWorkflowStateImpl) then) = + __$$BusinessWorkflowStateImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -569,11 +575,12 @@ abstract class _$$_BusinessWorkflowStateCopyWith<$Res> } /// @nodoc -class __$$_BusinessWorkflowStateCopyWithImpl<$Res> - extends _$BusinessWorkflowStateCopyWithImpl<$Res, _$_BusinessWorkflowState> - implements _$$_BusinessWorkflowStateCopyWith<$Res> { - __$$_BusinessWorkflowStateCopyWithImpl(_$_BusinessWorkflowState _value, - $Res Function(_$_BusinessWorkflowState) _then) +class __$$BusinessWorkflowStateImplCopyWithImpl<$Res> + extends _$BusinessWorkflowStateCopyWithImpl<$Res, + _$BusinessWorkflowStateImpl> + implements _$$BusinessWorkflowStateImplCopyWith<$Res> { + __$$BusinessWorkflowStateImplCopyWithImpl(_$BusinessWorkflowStateImpl _value, + $Res Function(_$BusinessWorkflowStateImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -588,7 +595,7 @@ class __$$_BusinessWorkflowStateCopyWithImpl<$Res> Object? isStateUpdatable = freezed, Object? actions = freezed, }) { - return _then(_$_BusinessWorkflowState( + return _then(_$BusinessWorkflowStateImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -627,8 +634,8 @@ class __$$_BusinessWorkflowStateCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_BusinessWorkflowState implements _BusinessWorkflowState { - const _$_BusinessWorkflowState( +class _$BusinessWorkflowStateImpl implements _BusinessWorkflowState { + const _$BusinessWorkflowStateImpl( {required this.tenantId, this.businessServiceId, this.applicationStatus, @@ -639,8 +646,8 @@ class _$_BusinessWorkflowState implements _BusinessWorkflowState { final List? actions}) : _actions = actions; - factory _$_BusinessWorkflowState.fromJson(Map json) => - _$$_BusinessWorkflowStateFromJson(json); + factory _$BusinessWorkflowStateImpl.fromJson(Map json) => + _$$BusinessWorkflowStateImplFromJson(json); @override final String tenantId; @@ -672,10 +679,10 @@ class _$_BusinessWorkflowState implements _BusinessWorkflowState { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_BusinessWorkflowState && + other is _$BusinessWorkflowStateImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.businessServiceId, businessServiceId) || @@ -708,13 +715,13 @@ class _$_BusinessWorkflowState implements _BusinessWorkflowState { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_BusinessWorkflowStateCopyWith<_$_BusinessWorkflowState> get copyWith => - __$$_BusinessWorkflowStateCopyWithImpl<_$_BusinessWorkflowState>( - this, _$identity); + _$$BusinessWorkflowStateImplCopyWith<_$BusinessWorkflowStateImpl> + get copyWith => __$$BusinessWorkflowStateImplCopyWithImpl< + _$BusinessWorkflowStateImpl>(this, _$identity); @override Map toJson() { - return _$$_BusinessWorkflowStateToJson( + return _$$BusinessWorkflowStateImplToJson( this, ); } @@ -729,10 +736,10 @@ abstract class _BusinessWorkflowState implements BusinessWorkflowState { final bool? isStartState, final bool? isTerminateState, final bool? isStateUpdatable, - final List? actions}) = _$_BusinessWorkflowState; + final List? actions}) = _$BusinessWorkflowStateImpl; factory _BusinessWorkflowState.fromJson(Map json) = - _$_BusinessWorkflowState.fromJson; + _$BusinessWorkflowStateImpl.fromJson; @override String get tenantId; @@ -752,8 +759,8 @@ abstract class _BusinessWorkflowState implements BusinessWorkflowState { List? get actions; @override @JsonKey(ignore: true) - _$$_BusinessWorkflowStateCopyWith<_$_BusinessWorkflowState> get copyWith => - throw _privateConstructorUsedError; + _$$BusinessWorkflowStateImplCopyWith<_$BusinessWorkflowStateImpl> + get copyWith => throw _privateConstructorUsedError; } StateActions _$StateActionsFromJson(Map json) { @@ -847,11 +854,11 @@ class _$StateActionsCopyWithImpl<$Res, $Val extends StateActions> } /// @nodoc -abstract class _$$_StateActionsCopyWith<$Res> +abstract class _$$StateActionsImplCopyWith<$Res> implements $StateActionsCopyWith<$Res> { - factory _$$_StateActionsCopyWith( - _$_StateActions value, $Res Function(_$_StateActions) then) = - __$$_StateActionsCopyWithImpl<$Res>; + factory _$$StateActionsImplCopyWith( + _$StateActionsImpl value, $Res Function(_$StateActionsImpl) then) = + __$$StateActionsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -865,11 +872,11 @@ abstract class _$$_StateActionsCopyWith<$Res> } /// @nodoc -class __$$_StateActionsCopyWithImpl<$Res> - extends _$StateActionsCopyWithImpl<$Res, _$_StateActions> - implements _$$_StateActionsCopyWith<$Res> { - __$$_StateActionsCopyWithImpl( - _$_StateActions _value, $Res Function(_$_StateActions) _then) +class __$$StateActionsImplCopyWithImpl<$Res> + extends _$StateActionsCopyWithImpl<$Res, _$StateActionsImpl> + implements _$$StateActionsImplCopyWith<$Res> { + __$$StateActionsImplCopyWithImpl( + _$StateActionsImpl _value, $Res Function(_$StateActionsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -883,7 +890,7 @@ class __$$_StateActionsCopyWithImpl<$Res> Object? nextState = freezed, Object? roles = freezed, }) { - return _then(_$_StateActions( + return _then(_$StateActionsImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -918,8 +925,8 @@ class __$$_StateActionsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_StateActions implements _StateActions { - const _$_StateActions( +class _$StateActionsImpl implements _StateActions { + const _$StateActionsImpl( {required this.tenantId, required this.uuid, this.currentState, @@ -929,8 +936,8 @@ class _$_StateActions implements _StateActions { final List? roles}) : _roles = roles; - factory _$_StateActions.fromJson(Map json) => - _$$_StateActionsFromJson(json); + factory _$StateActionsImpl.fromJson(Map json) => + _$$StateActionsImplFromJson(json); @override final String tenantId; @@ -960,10 +967,10 @@ class _$_StateActions implements _StateActions { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_StateActions && + other is _$StateActionsImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.uuid, uuid) || other.uuid == uuid) && @@ -984,12 +991,12 @@ class _$_StateActions implements _StateActions { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_StateActionsCopyWith<_$_StateActions> get copyWith => - __$$_StateActionsCopyWithImpl<_$_StateActions>(this, _$identity); + _$$StateActionsImplCopyWith<_$StateActionsImpl> get copyWith => + __$$StateActionsImplCopyWithImpl<_$StateActionsImpl>(this, _$identity); @override Map toJson() { - return _$$_StateActionsToJson( + return _$$StateActionsImplToJson( this, ); } @@ -1003,10 +1010,10 @@ abstract class _StateActions implements StateActions { final String? action, final String? state, final String? nextState, - final List? roles}) = _$_StateActions; + final List? roles}) = _$StateActionsImpl; factory _StateActions.fromJson(Map json) = - _$_StateActions.fromJson; + _$StateActionsImpl.fromJson; @override String get tenantId; @@ -1024,6 +1031,6 @@ abstract class _StateActions implements StateActions { List? get roles; @override @JsonKey(ignore: true) - _$$_StateActionsCopyWith<_$_StateActions> get copyWith => + _$$StateActionsImplCopyWith<_$StateActionsImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/muster_rolls/business_service_workflow.g.dart b/frontend/works_shg_app/lib/models/muster_rolls/business_service_workflow.g.dart index a05b3d8d56..2fc3d98872 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/business_service_workflow.g.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/business_service_workflow.g.dart @@ -6,34 +6,36 @@ part of 'business_service_workflow.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_BusinessServiceWorkflowModel _$$_BusinessServiceWorkflowModelFromJson( +_$BusinessServiceWorkflowModelImpl _$$BusinessServiceWorkflowModelImplFromJson( Map json) => - _$_BusinessServiceWorkflowModel( + _$BusinessServiceWorkflowModelImpl( businessServices: (json['BusinessServices'] as List?) ?.map((e) => BusinessServices.fromJson(e as Map)) .toList(), ); -Map _$$_BusinessServiceWorkflowModelToJson( - _$_BusinessServiceWorkflowModel instance) => +Map _$$BusinessServiceWorkflowModelImplToJson( + _$BusinessServiceWorkflowModelImpl instance) => { 'BusinessServices': instance.businessServices, }; -_$_BusinessServices _$$_BusinessServicesFromJson(Map json) => - _$_BusinessServices( +_$BusinessServicesImpl _$$BusinessServicesImplFromJson( + Map json) => + _$BusinessServicesImpl( tenantId: json['tenantId'] as String, uuid: json['uuid'] as String, businessService: json['businessService'] as String?, business: json['business'] as String?, - businessServiceSla: json['businessServiceSla'] as int?, + businessServiceSla: (json['businessServiceSla'] as num?)?.toInt(), workflowState: (json['states'] as List?) ?.map( (e) => BusinessWorkflowState.fromJson(e as Map)) .toList(), ); -Map _$$_BusinessServicesToJson(_$_BusinessServices instance) => +Map _$$BusinessServicesImplToJson( + _$BusinessServicesImpl instance) => { 'tenantId': instance.tenantId, 'uuid': instance.uuid, @@ -43,9 +45,9 @@ Map _$$_BusinessServicesToJson(_$_BusinessServices instance) => 'states': instance.workflowState, }; -_$_BusinessWorkflowState _$$_BusinessWorkflowStateFromJson( +_$BusinessWorkflowStateImpl _$$BusinessWorkflowStateImplFromJson( Map json) => - _$_BusinessWorkflowState( + _$BusinessWorkflowStateImpl( tenantId: json['tenantId'] as String, businessServiceId: json['businessServiceId'] as String?, applicationStatus: json['applicationStatus'] as String?, @@ -58,8 +60,8 @@ _$_BusinessWorkflowState _$$_BusinessWorkflowStateFromJson( .toList(), ); -Map _$$_BusinessWorkflowStateToJson( - _$_BusinessWorkflowState instance) => +Map _$$BusinessWorkflowStateImplToJson( + _$BusinessWorkflowStateImpl instance) => { 'tenantId': instance.tenantId, 'businessServiceId': instance.businessServiceId, @@ -71,8 +73,8 @@ Map _$$_BusinessWorkflowStateToJson( 'actions': instance.actions, }; -_$_StateActions _$$_StateActionsFromJson(Map json) => - _$_StateActions( +_$StateActionsImpl _$$StateActionsImplFromJson(Map json) => + _$StateActionsImpl( tenantId: json['tenantId'] as String, uuid: json['uuid'] as String, currentState: json['currentState'] as String?, @@ -83,7 +85,7 @@ _$_StateActions _$$_StateActionsFromJson(Map json) => (json['roles'] as List?)?.map((e) => e as String).toList(), ); -Map _$$_StateActionsToJson(_$_StateActions instance) => +Map _$$StateActionsImplToJson(_$StateActionsImpl instance) => { 'tenantId': instance.tenantId, 'uuid': instance.uuid, diff --git a/frontend/works_shg_app/lib/models/muster_rolls/estimate_muster_roll_model.freezed.dart b/frontend/works_shg_app/lib/models/muster_rolls/estimate_muster_roll_model.freezed.dart index 9a9239df10..208faa10f6 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/estimate_muster_roll_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/estimate_muster_roll_model.freezed.dart @@ -12,7 +12,7 @@ part of 'estimate_muster_roll_model.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); EstimateMusterRollsModel _$EstimateMusterRollsModelFromJson( Map json) { @@ -75,12 +75,12 @@ class _$EstimateMusterRollsModelCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_EstimateMusterRollsModelCopyWith<$Res> +abstract class _$$EstimateMusterRollsModelImplCopyWith<$Res> implements $EstimateMusterRollsModelCopyWith<$Res> { - factory _$$_EstimateMusterRollsModelCopyWith( - _$_EstimateMusterRollsModel value, - $Res Function(_$_EstimateMusterRollsModel) then) = - __$$_EstimateMusterRollsModelCopyWithImpl<$Res>; + factory _$$EstimateMusterRollsModelImplCopyWith( + _$EstimateMusterRollsModelImpl value, + $Res Function(_$EstimateMusterRollsModelImpl) then) = + __$$EstimateMusterRollsModelImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -89,12 +89,13 @@ abstract class _$$_EstimateMusterRollsModelCopyWith<$Res> } /// @nodoc -class __$$_EstimateMusterRollsModelCopyWithImpl<$Res> +class __$$EstimateMusterRollsModelImplCopyWithImpl<$Res> extends _$EstimateMusterRollsModelCopyWithImpl<$Res, - _$_EstimateMusterRollsModel> - implements _$$_EstimateMusterRollsModelCopyWith<$Res> { - __$$_EstimateMusterRollsModelCopyWithImpl(_$_EstimateMusterRollsModel _value, - $Res Function(_$_EstimateMusterRollsModel) _then) + _$EstimateMusterRollsModelImpl> + implements _$$EstimateMusterRollsModelImplCopyWith<$Res> { + __$$EstimateMusterRollsModelImplCopyWithImpl( + _$EstimateMusterRollsModelImpl _value, + $Res Function(_$EstimateMusterRollsModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -103,7 +104,7 @@ class __$$_EstimateMusterRollsModelCopyWithImpl<$Res> Object? musterRoll = freezed, Object? count = freezed, }) { - return _then(_$_EstimateMusterRollsModel( + return _then(_$EstimateMusterRollsModelImpl( musterRoll: freezed == musterRoll ? _value._musterRoll : musterRoll // ignore: cast_nullable_to_non_nullable @@ -118,14 +119,14 @@ class __$$_EstimateMusterRollsModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_EstimateMusterRollsModel implements _EstimateMusterRollsModel { - const _$_EstimateMusterRollsModel( +class _$EstimateMusterRollsModelImpl implements _EstimateMusterRollsModel { + const _$EstimateMusterRollsModelImpl( {@JsonKey(name: 'musterRolls') final List? musterRoll, @JsonKey(name: 'count') this.count}) : _musterRoll = musterRoll; - factory _$_EstimateMusterRollsModel.fromJson(Map json) => - _$$_EstimateMusterRollsModelFromJson(json); + factory _$EstimateMusterRollsModelImpl.fromJson(Map json) => + _$$EstimateMusterRollsModelImplFromJson(json); final List? _musterRoll; @override @@ -148,10 +149,10 @@ class _$_EstimateMusterRollsModel implements _EstimateMusterRollsModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_EstimateMusterRollsModel && + other is _$EstimateMusterRollsModelImpl && const DeepCollectionEquality() .equals(other._musterRoll, _musterRoll) && (identical(other.count, count) || other.count == count)); @@ -165,13 +166,13 @@ class _$_EstimateMusterRollsModel implements _EstimateMusterRollsModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_EstimateMusterRollsModelCopyWith<_$_EstimateMusterRollsModel> - get copyWith => __$$_EstimateMusterRollsModelCopyWithImpl< - _$_EstimateMusterRollsModel>(this, _$identity); + _$$EstimateMusterRollsModelImplCopyWith<_$EstimateMusterRollsModelImpl> + get copyWith => __$$EstimateMusterRollsModelImplCopyWithImpl< + _$EstimateMusterRollsModelImpl>(this, _$identity); @override Map toJson() { - return _$$_EstimateMusterRollsModelToJson( + return _$$EstimateMusterRollsModelImplToJson( this, ); } @@ -180,10 +181,11 @@ class _$_EstimateMusterRollsModel implements _EstimateMusterRollsModel { abstract class _EstimateMusterRollsModel implements EstimateMusterRollsModel { const factory _EstimateMusterRollsModel( {@JsonKey(name: 'musterRolls') final List? musterRoll, - @JsonKey(name: 'count') final int? count}) = _$_EstimateMusterRollsModel; + @JsonKey(name: 'count') + final int? count}) = _$EstimateMusterRollsModelImpl; factory _EstimateMusterRollsModel.fromJson(Map json) = - _$_EstimateMusterRollsModel.fromJson; + _$EstimateMusterRollsModelImpl.fromJson; @override @JsonKey(name: 'musterRolls') @@ -193,7 +195,7 @@ abstract class _EstimateMusterRollsModel implements EstimateMusterRollsModel { int? get count; @override @JsonKey(ignore: true) - _$$_EstimateMusterRollsModelCopyWith<_$_EstimateMusterRollsModel> + _$$EstimateMusterRollsModelImplCopyWith<_$EstimateMusterRollsModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -242,11 +244,10 @@ abstract class $EstimateMusterRollCopyWith<$Res> { int? startDate, int? endDate, @JsonKey(name: 'individualEntries') - List? individualEntries, + List? individualEntries, @JsonKey(name: 'additionalDetails') - MusterAdditionalDetails? musterAdditionalDetails, - @JsonKey(name: 'auditDetails') - AuditDetails? musterAuditDetails}); + MusterAdditionalDetails? musterAdditionalDetails, + @JsonKey(name: 'auditDetails') AuditDetails? musterAuditDetails}); $MusterAdditionalDetailsCopyWith<$Res>? get musterAdditionalDetails; $AuditDetailsCopyWith<$Res>? get musterAuditDetails; @@ -352,11 +353,11 @@ class _$EstimateMusterRollCopyWithImpl<$Res, $Val extends EstimateMusterRoll> } /// @nodoc -abstract class _$$_EstimateMusterRollCopyWith<$Res> +abstract class _$$EstimateMusterRollImplCopyWith<$Res> implements $EstimateMusterRollCopyWith<$Res> { - factory _$$_EstimateMusterRollCopyWith(_$_EstimateMusterRoll value, - $Res Function(_$_EstimateMusterRoll) then) = - __$$_EstimateMusterRollCopyWithImpl<$Res>; + factory _$$EstimateMusterRollImplCopyWith(_$EstimateMusterRollImpl value, + $Res Function(_$EstimateMusterRollImpl) then) = + __$$EstimateMusterRollImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -369,11 +370,10 @@ abstract class _$$_EstimateMusterRollCopyWith<$Res> int? startDate, int? endDate, @JsonKey(name: 'individualEntries') - List? individualEntries, + List? individualEntries, @JsonKey(name: 'additionalDetails') - MusterAdditionalDetails? musterAdditionalDetails, - @JsonKey(name: 'auditDetails') - AuditDetails? musterAuditDetails}); + MusterAdditionalDetails? musterAdditionalDetails, + @JsonKey(name: 'auditDetails') AuditDetails? musterAuditDetails}); @override $MusterAdditionalDetailsCopyWith<$Res>? get musterAdditionalDetails; @@ -382,11 +382,11 @@ abstract class _$$_EstimateMusterRollCopyWith<$Res> } /// @nodoc -class __$$_EstimateMusterRollCopyWithImpl<$Res> - extends _$EstimateMusterRollCopyWithImpl<$Res, _$_EstimateMusterRoll> - implements _$$_EstimateMusterRollCopyWith<$Res> { - __$$_EstimateMusterRollCopyWithImpl( - _$_EstimateMusterRoll _value, $Res Function(_$_EstimateMusterRoll) _then) +class __$$EstimateMusterRollImplCopyWithImpl<$Res> + extends _$EstimateMusterRollCopyWithImpl<$Res, _$EstimateMusterRollImpl> + implements _$$EstimateMusterRollImplCopyWith<$Res> { + __$$EstimateMusterRollImplCopyWithImpl(_$EstimateMusterRollImpl _value, + $Res Function(_$EstimateMusterRollImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -404,7 +404,7 @@ class __$$_EstimateMusterRollCopyWithImpl<$Res> Object? musterAdditionalDetails = freezed, Object? musterAuditDetails = freezed, }) { - return _then(_$_EstimateMusterRoll( + return _then(_$EstimateMusterRollImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -455,8 +455,8 @@ class __$$_EstimateMusterRollCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_EstimateMusterRoll implements _EstimateMusterRoll { - const _$_EstimateMusterRoll( +class _$EstimateMusterRollImpl implements _EstimateMusterRoll { + const _$EstimateMusterRollImpl( {this.id, required this.tenantId, this.musterRollNumber, @@ -466,15 +466,13 @@ class _$_EstimateMusterRoll implements _EstimateMusterRoll { this.startDate, this.endDate, @JsonKey(name: 'individualEntries') - final List? individualEntries, - @JsonKey(name: 'additionalDetails') - this.musterAdditionalDetails, - @JsonKey(name: 'auditDetails') - this.musterAuditDetails}) + final List? individualEntries, + @JsonKey(name: 'additionalDetails') this.musterAdditionalDetails, + @JsonKey(name: 'auditDetails') this.musterAuditDetails}) : _individualEntries = individualEntries; - factory _$_EstimateMusterRoll.fromJson(Map json) => - _$$_EstimateMusterRollFromJson(json); + factory _$EstimateMusterRollImpl.fromJson(Map json) => + _$$EstimateMusterRollImplFromJson(json); @override final String? id; @@ -517,10 +515,10 @@ class _$_EstimateMusterRoll implements _EstimateMusterRoll { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_EstimateMusterRoll && + other is _$EstimateMusterRollImpl && (identical(other.id, id) || other.id == id) && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && @@ -562,13 +560,13 @@ class _$_EstimateMusterRoll implements _EstimateMusterRoll { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_EstimateMusterRollCopyWith<_$_EstimateMusterRoll> get copyWith => - __$$_EstimateMusterRollCopyWithImpl<_$_EstimateMusterRoll>( + _$$EstimateMusterRollImplCopyWith<_$EstimateMusterRollImpl> get copyWith => + __$$EstimateMusterRollImplCopyWithImpl<_$EstimateMusterRollImpl>( this, _$identity); @override Map toJson() { - return _$$_EstimateMusterRollToJson( + return _$$EstimateMusterRollImplToJson( this, ); } @@ -585,14 +583,14 @@ abstract class _EstimateMusterRoll implements EstimateMusterRoll { final int? startDate, final int? endDate, @JsonKey(name: 'individualEntries') - final List? individualEntries, + final List? individualEntries, @JsonKey(name: 'additionalDetails') - final MusterAdditionalDetails? musterAdditionalDetails, + final MusterAdditionalDetails? musterAdditionalDetails, @JsonKey(name: 'auditDetails') - final AuditDetails? musterAuditDetails}) = _$_EstimateMusterRoll; + final AuditDetails? musterAuditDetails}) = _$EstimateMusterRollImpl; factory _EstimateMusterRoll.fromJson(Map json) = - _$_EstimateMusterRoll.fromJson; + _$EstimateMusterRollImpl.fromJson; @override String? get id; @@ -621,7 +619,7 @@ abstract class _EstimateMusterRoll implements EstimateMusterRoll { AuditDetails? get musterAuditDetails; @override @JsonKey(ignore: true) - _$$_EstimateMusterRollCopyWith<_$_EstimateMusterRoll> get copyWith => + _$$EstimateMusterRollImplCopyWith<_$EstimateMusterRollImpl> get copyWith => throw _privateConstructorUsedError; } @@ -660,10 +658,10 @@ abstract class $EstimateIndividualEntriesCopyWith<$Res> { String? individualId, double? totalAttendance, @JsonKey(name: 'attendanceEntries') - List? attendanceEntries, + List? attendanceEntries, @JsonKey(name: 'additionalDetails') - EstimateMusterIndividualAdditionalDetails? - musterIndividualAdditionalDetails}); + EstimateMusterIndividualAdditionalDetails? + musterIndividualAdditionalDetails}); $EstimateMusterIndividualAdditionalDetailsCopyWith<$Res>? get musterIndividualAdditionalDetails; @@ -731,12 +729,12 @@ class _$EstimateIndividualEntriesCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_EstimateIndividualEntriesCopyWith<$Res> +abstract class _$$EstimateIndividualEntriesImplCopyWith<$Res> implements $EstimateIndividualEntriesCopyWith<$Res> { - factory _$$_EstimateIndividualEntriesCopyWith( - _$_EstimateIndividualEntries value, - $Res Function(_$_EstimateIndividualEntries) then) = - __$$_EstimateIndividualEntriesCopyWithImpl<$Res>; + factory _$$EstimateIndividualEntriesImplCopyWith( + _$EstimateIndividualEntriesImpl value, + $Res Function(_$EstimateIndividualEntriesImpl) then) = + __$$EstimateIndividualEntriesImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -744,10 +742,10 @@ abstract class _$$_EstimateIndividualEntriesCopyWith<$Res> String? individualId, double? totalAttendance, @JsonKey(name: 'attendanceEntries') - List? attendanceEntries, + List? attendanceEntries, @JsonKey(name: 'additionalDetails') - EstimateMusterIndividualAdditionalDetails? - musterIndividualAdditionalDetails}); + EstimateMusterIndividualAdditionalDetails? + musterIndividualAdditionalDetails}); @override $EstimateMusterIndividualAdditionalDetailsCopyWith<$Res>? @@ -755,13 +753,13 @@ abstract class _$$_EstimateIndividualEntriesCopyWith<$Res> } /// @nodoc -class __$$_EstimateIndividualEntriesCopyWithImpl<$Res> +class __$$EstimateIndividualEntriesImplCopyWithImpl<$Res> extends _$EstimateIndividualEntriesCopyWithImpl<$Res, - _$_EstimateIndividualEntries> - implements _$$_EstimateIndividualEntriesCopyWith<$Res> { - __$$_EstimateIndividualEntriesCopyWithImpl( - _$_EstimateIndividualEntries _value, - $Res Function(_$_EstimateIndividualEntries) _then) + _$EstimateIndividualEntriesImpl> + implements _$$EstimateIndividualEntriesImplCopyWith<$Res> { + __$$EstimateIndividualEntriesImplCopyWithImpl( + _$EstimateIndividualEntriesImpl _value, + $Res Function(_$EstimateIndividualEntriesImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -773,7 +771,7 @@ class __$$_EstimateIndividualEntriesCopyWithImpl<$Res> Object? attendanceEntries = freezed, Object? musterIndividualAdditionalDetails = freezed, }) { - return _then(_$_EstimateIndividualEntries( + return _then(_$EstimateIndividualEntriesImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -801,19 +799,19 @@ class __$$_EstimateIndividualEntriesCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_EstimateIndividualEntries implements _EstimateIndividualEntries { - const _$_EstimateIndividualEntries( +class _$EstimateIndividualEntriesImpl implements _EstimateIndividualEntries { + const _$EstimateIndividualEntriesImpl( {this.id, this.individualId, this.totalAttendance, @JsonKey(name: 'attendanceEntries') - final List? attendanceEntries, + final List? attendanceEntries, @JsonKey(name: 'additionalDetails') - this.musterIndividualAdditionalDetails}) + this.musterIndividualAdditionalDetails}) : _attendanceEntries = attendanceEntries; - factory _$_EstimateIndividualEntries.fromJson(Map json) => - _$$_EstimateIndividualEntriesFromJson(json); + factory _$EstimateIndividualEntriesImpl.fromJson(Map json) => + _$$EstimateIndividualEntriesImplFromJson(json); @override final String? id; @@ -844,10 +842,10 @@ class _$_EstimateIndividualEntries implements _EstimateIndividualEntries { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_EstimateIndividualEntries && + other is _$EstimateIndividualEntriesImpl && (identical(other.id, id) || other.id == id) && (identical(other.individualId, individualId) || other.individualId == individualId) && @@ -874,13 +872,13 @@ class _$_EstimateIndividualEntries implements _EstimateIndividualEntries { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_EstimateIndividualEntriesCopyWith<_$_EstimateIndividualEntries> - get copyWith => __$$_EstimateIndividualEntriesCopyWithImpl< - _$_EstimateIndividualEntries>(this, _$identity); + _$$EstimateIndividualEntriesImplCopyWith<_$EstimateIndividualEntriesImpl> + get copyWith => __$$EstimateIndividualEntriesImplCopyWithImpl< + _$EstimateIndividualEntriesImpl>(this, _$identity); @override Map toJson() { - return _$$_EstimateIndividualEntriesToJson( + return _$$EstimateIndividualEntriesImplToJson( this, ); } @@ -888,18 +886,17 @@ class _$_EstimateIndividualEntries implements _EstimateIndividualEntries { abstract class _EstimateIndividualEntries implements EstimateIndividualEntries { const factory _EstimateIndividualEntries( - {final String? id, - final String? individualId, - final double? totalAttendance, - @JsonKey(name: 'attendanceEntries') - final List? attendanceEntries, - @JsonKey(name: 'additionalDetails') - final EstimateMusterIndividualAdditionalDetails? - musterIndividualAdditionalDetails}) = - _$_EstimateIndividualEntries; + {final String? id, + final String? individualId, + final double? totalAttendance, + @JsonKey(name: 'attendanceEntries') + final List? attendanceEntries, + @JsonKey(name: 'additionalDetails') + final EstimateMusterIndividualAdditionalDetails? + musterIndividualAdditionalDetails}) = _$EstimateIndividualEntriesImpl; factory _EstimateIndividualEntries.fromJson(Map json) = - _$_EstimateIndividualEntries.fromJson; + _$EstimateIndividualEntriesImpl.fromJson; @override String? get id; @@ -916,7 +913,7 @@ abstract class _EstimateIndividualEntries implements EstimateIndividualEntries { get musterIndividualAdditionalDetails; @override @JsonKey(ignore: true) - _$$_EstimateIndividualEntriesCopyWith<_$_EstimateIndividualEntries> + _$$EstimateIndividualEntriesImplCopyWith<_$EstimateIndividualEntriesImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1039,12 +1036,12 @@ class _$EstimateMusterIndividualAdditionalDetailsCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_EstimateMusterIndividualAdditionalDetailsCopyWith<$Res> +abstract class _$$EstimateMusterIndividualAdditionalDetailsImplCopyWith<$Res> implements $EstimateMusterIndividualAdditionalDetailsCopyWith<$Res> { - factory _$$_EstimateMusterIndividualAdditionalDetailsCopyWith( - _$_EstimateMusterIndividualAdditionalDetails value, - $Res Function(_$_EstimateMusterIndividualAdditionalDetails) then) = - __$$_EstimateMusterIndividualAdditionalDetailsCopyWithImpl<$Res>; + factory _$$EstimateMusterIndividualAdditionalDetailsImplCopyWith( + _$EstimateMusterIndividualAdditionalDetailsImpl value, + $Res Function(_$EstimateMusterIndividualAdditionalDetailsImpl) then) = + __$$EstimateMusterIndividualAdditionalDetailsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1061,13 +1058,13 @@ abstract class _$$_EstimateMusterIndividualAdditionalDetailsCopyWith<$Res> } /// @nodoc -class __$$_EstimateMusterIndividualAdditionalDetailsCopyWithImpl<$Res> +class __$$EstimateMusterIndividualAdditionalDetailsImplCopyWithImpl<$Res> extends _$EstimateMusterIndividualAdditionalDetailsCopyWithImpl<$Res, - _$_EstimateMusterIndividualAdditionalDetails> - implements _$$_EstimateMusterIndividualAdditionalDetailsCopyWith<$Res> { - __$$_EstimateMusterIndividualAdditionalDetailsCopyWithImpl( - _$_EstimateMusterIndividualAdditionalDetails _value, - $Res Function(_$_EstimateMusterIndividualAdditionalDetails) _then) + _$EstimateMusterIndividualAdditionalDetailsImpl> + implements _$$EstimateMusterIndividualAdditionalDetailsImplCopyWith<$Res> { + __$$EstimateMusterIndividualAdditionalDetailsImplCopyWithImpl( + _$EstimateMusterIndividualAdditionalDetailsImpl _value, + $Res Function(_$EstimateMusterIndividualAdditionalDetailsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1084,7 +1081,7 @@ class __$$_EstimateMusterIndividualAdditionalDetailsCopyWithImpl<$Res> Object? accountType = freezed, Object? skillValue = freezed, }) { - return _then(_$_EstimateMusterIndividualAdditionalDetails( + return _then(_$EstimateMusterIndividualAdditionalDetailsImpl( userName: freezed == userName ? _value.userName : userName // ignore: cast_nullable_to_non_nullable @@ -1131,9 +1128,9 @@ class __$$_EstimateMusterIndividualAdditionalDetailsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_EstimateMusterIndividualAdditionalDetails +class _$EstimateMusterIndividualAdditionalDetailsImpl implements _EstimateMusterIndividualAdditionalDetails { - const _$_EstimateMusterIndividualAdditionalDetails( + const _$EstimateMusterIndividualAdditionalDetailsImpl( {this.userName, this.fatherName, this.gender, @@ -1146,9 +1143,9 @@ class _$_EstimateMusterIndividualAdditionalDetails this.skillValue}) : _skillCode = skillCode; - factory _$_EstimateMusterIndividualAdditionalDetails.fromJson( + factory _$EstimateMusterIndividualAdditionalDetailsImpl.fromJson( Map json) => - _$$_EstimateMusterIndividualAdditionalDetailsFromJson(json); + _$$EstimateMusterIndividualAdditionalDetailsImplFromJson(json); @override final String? userName; @@ -1185,10 +1182,10 @@ class _$_EstimateMusterIndividualAdditionalDetails } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_EstimateMusterIndividualAdditionalDetails && + other is _$EstimateMusterIndividualAdditionalDetailsImpl && (identical(other.userName, userName) || other.userName == userName) && (identical(other.fatherName, fatherName) || @@ -1227,15 +1224,16 @@ class _$_EstimateMusterIndividualAdditionalDetails @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_EstimateMusterIndividualAdditionalDetailsCopyWith< - _$_EstimateMusterIndividualAdditionalDetails> + _$$EstimateMusterIndividualAdditionalDetailsImplCopyWith< + _$EstimateMusterIndividualAdditionalDetailsImpl> get copyWith => - __$$_EstimateMusterIndividualAdditionalDetailsCopyWithImpl< - _$_EstimateMusterIndividualAdditionalDetails>(this, _$identity); + __$$EstimateMusterIndividualAdditionalDetailsImplCopyWithImpl< + _$EstimateMusterIndividualAdditionalDetailsImpl>( + this, _$identity); @override Map toJson() { - return _$$_EstimateMusterIndividualAdditionalDetailsToJson( + return _$$EstimateMusterIndividualAdditionalDetailsImplToJson( this, ); } @@ -1244,20 +1242,21 @@ class _$_EstimateMusterIndividualAdditionalDetails abstract class _EstimateMusterIndividualAdditionalDetails implements EstimateMusterIndividualAdditionalDetails { const factory _EstimateMusterIndividualAdditionalDetails( - {final String? userName, - final String? fatherName, - final String? gender, - final String? aadharNumber, - final String? bankDetails, - final String? userId, - final List? skillCode, - final String? accountHolderName, - final String? accountType, - final String? skillValue}) = _$_EstimateMusterIndividualAdditionalDetails; + {final String? userName, + final String? fatherName, + final String? gender, + final String? aadharNumber, + final String? bankDetails, + final String? userId, + final List? skillCode, + final String? accountHolderName, + final String? accountType, + final String? skillValue}) = + _$EstimateMusterIndividualAdditionalDetailsImpl; factory _EstimateMusterIndividualAdditionalDetails.fromJson( Map json) = - _$_EstimateMusterIndividualAdditionalDetails.fromJson; + _$EstimateMusterIndividualAdditionalDetailsImpl.fromJson; @override String? get userName; @@ -1281,7 +1280,7 @@ abstract class _EstimateMusterIndividualAdditionalDetails String? get skillValue; @override @JsonKey(ignore: true) - _$$_EstimateMusterIndividualAdditionalDetailsCopyWith< - _$_EstimateMusterIndividualAdditionalDetails> + _$$EstimateMusterIndividualAdditionalDetailsImplCopyWith< + _$EstimateMusterIndividualAdditionalDetailsImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/muster_rolls/estimate_muster_roll_model.g.dart b/frontend/works_shg_app/lib/models/muster_rolls/estimate_muster_roll_model.g.dart index bb5b209cf1..df8f836116 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/estimate_muster_roll_model.g.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/estimate_muster_roll_model.g.dart @@ -6,33 +6,33 @@ part of 'estimate_muster_roll_model.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_EstimateMusterRollsModel _$$_EstimateMusterRollsModelFromJson( +_$EstimateMusterRollsModelImpl _$$EstimateMusterRollsModelImplFromJson( Map json) => - _$_EstimateMusterRollsModel( + _$EstimateMusterRollsModelImpl( musterRoll: (json['musterRolls'] as List?) ?.map((e) => EstimateMusterRoll.fromJson(e as Map)) .toList(), - count: json['count'] as int?, + count: (json['count'] as num?)?.toInt(), ); -Map _$$_EstimateMusterRollsModelToJson( - _$_EstimateMusterRollsModel instance) => +Map _$$EstimateMusterRollsModelImplToJson( + _$EstimateMusterRollsModelImpl instance) => { 'musterRolls': instance.musterRoll, 'count': instance.count, }; -_$_EstimateMusterRoll _$$_EstimateMusterRollFromJson( +_$EstimateMusterRollImpl _$$EstimateMusterRollImplFromJson( Map json) => - _$_EstimateMusterRoll( + _$EstimateMusterRollImpl( id: json['id'] as String?, tenantId: json['tenantId'] as String, musterRollNumber: json['musterRollNumber'] as String?, registerId: json['registerId'] as String?, status: json['status'] as String?, musterRollStatus: json['musterRollStatus'] as String?, - startDate: json['startDate'] as int?, - endDate: json['endDate'] as int?, + startDate: (json['startDate'] as num?)?.toInt(), + endDate: (json['endDate'] as num?)?.toInt(), individualEntries: (json['individualEntries'] as List?) ?.map((e) => EstimateIndividualEntries.fromJson(e as Map)) @@ -46,8 +46,8 @@ _$_EstimateMusterRoll _$$_EstimateMusterRollFromJson( : AuditDetails.fromJson(json['auditDetails'] as Map), ); -Map _$$_EstimateMusterRollToJson( - _$_EstimateMusterRoll instance) => +Map _$$EstimateMusterRollImplToJson( + _$EstimateMusterRollImpl instance) => { 'id': instance.id, 'tenantId': instance.tenantId, @@ -62,9 +62,9 @@ Map _$$_EstimateMusterRollToJson( 'auditDetails': instance.musterAuditDetails, }; -_$_EstimateIndividualEntries _$$_EstimateIndividualEntriesFromJson( +_$EstimateIndividualEntriesImpl _$$EstimateIndividualEntriesImplFromJson( Map json) => - _$_EstimateIndividualEntries( + _$EstimateIndividualEntriesImpl( id: json['id'] as String?, individualId: json['individualId'] as String?, totalAttendance: (json['totalAttendance'] as num?)?.toDouble(), @@ -77,8 +77,8 @@ _$_EstimateIndividualEntries _$$_EstimateIndividualEntriesFromJson( json['additionalDetails'] as Map), ); -Map _$$_EstimateIndividualEntriesToJson( - _$_EstimateIndividualEntries instance) => +Map _$$EstimateIndividualEntriesImplToJson( + _$EstimateIndividualEntriesImpl instance) => { 'id': instance.id, 'individualId': instance.individualId, @@ -87,10 +87,10 @@ Map _$$_EstimateIndividualEntriesToJson( 'additionalDetails': instance.musterIndividualAdditionalDetails, }; -_$_EstimateMusterIndividualAdditionalDetails - _$$_EstimateMusterIndividualAdditionalDetailsFromJson( +_$EstimateMusterIndividualAdditionalDetailsImpl + _$$EstimateMusterIndividualAdditionalDetailsImplFromJson( Map json) => - _$_EstimateMusterIndividualAdditionalDetails( + _$EstimateMusterIndividualAdditionalDetailsImpl( userName: json['userName'] as String?, fatherName: json['fatherName'] as String?, gender: json['gender'] as String?, @@ -105,8 +105,8 @@ _$_EstimateMusterIndividualAdditionalDetails skillValue: json['skillValue'] as String?, ); -Map _$$_EstimateMusterIndividualAdditionalDetailsToJson( - _$_EstimateMusterIndividualAdditionalDetails instance) => +Map _$$EstimateMusterIndividualAdditionalDetailsImplToJson( + _$EstimateMusterIndividualAdditionalDetailsImpl instance) => { 'userName': instance.userName, 'fatherName': instance.fatherName, diff --git a/frontend/works_shg_app/lib/models/muster_rolls/muster_inbox_status.freezed.dart b/frontend/works_shg_app/lib/models/muster_rolls/muster_inbox_status.freezed.dart index 7c6c554cb2..9236db875f 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/muster_inbox_status.freezed.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/muster_inbox_status.freezed.dart @@ -12,7 +12,7 @@ part of 'muster_inbox_status.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); MusterInboxStatusList _$MusterInboxStatusListFromJson( Map json) { @@ -39,7 +39,7 @@ abstract class $MusterInboxStatusListCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'CBOMusterInboxConfig') - List? musterInboxStatus}); + List? musterInboxStatus}); } /// @nodoc @@ -68,24 +68,26 @@ class _$MusterInboxStatusListCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_MusterInboxStatusListCopyWith<$Res> +abstract class _$$MusterInboxStatusListImplCopyWith<$Res> implements $MusterInboxStatusListCopyWith<$Res> { - factory _$$_MusterInboxStatusListCopyWith(_$_MusterInboxStatusList value, - $Res Function(_$_MusterInboxStatusList) then) = - __$$_MusterInboxStatusListCopyWithImpl<$Res>; + factory _$$MusterInboxStatusListImplCopyWith( + _$MusterInboxStatusListImpl value, + $Res Function(_$MusterInboxStatusListImpl) then) = + __$$MusterInboxStatusListImplCopyWithImpl<$Res>; @override @useResult $Res call( {@JsonKey(name: 'CBOMusterInboxConfig') - List? musterInboxStatus}); + List? musterInboxStatus}); } /// @nodoc -class __$$_MusterInboxStatusListCopyWithImpl<$Res> - extends _$MusterInboxStatusListCopyWithImpl<$Res, _$_MusterInboxStatusList> - implements _$$_MusterInboxStatusListCopyWith<$Res> { - __$$_MusterInboxStatusListCopyWithImpl(_$_MusterInboxStatusList _value, - $Res Function(_$_MusterInboxStatusList) _then) +class __$$MusterInboxStatusListImplCopyWithImpl<$Res> + extends _$MusterInboxStatusListCopyWithImpl<$Res, + _$MusterInboxStatusListImpl> + implements _$$MusterInboxStatusListImplCopyWith<$Res> { + __$$MusterInboxStatusListImplCopyWithImpl(_$MusterInboxStatusListImpl _value, + $Res Function(_$MusterInboxStatusListImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -93,7 +95,7 @@ class __$$_MusterInboxStatusListCopyWithImpl<$Res> $Res call({ Object? musterInboxStatus = freezed, }) { - return _then(_$_MusterInboxStatusList( + return _then(_$MusterInboxStatusListImpl( musterInboxStatus: freezed == musterInboxStatus ? _value._musterInboxStatus : musterInboxStatus // ignore: cast_nullable_to_non_nullable @@ -104,14 +106,14 @@ class __$$_MusterInboxStatusListCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MusterInboxStatusList implements _MusterInboxStatusList { - const _$_MusterInboxStatusList( +class _$MusterInboxStatusListImpl implements _MusterInboxStatusList { + const _$MusterInboxStatusListImpl( {@JsonKey(name: 'CBOMusterInboxConfig') - final List? musterInboxStatus}) + final List? musterInboxStatus}) : _musterInboxStatus = musterInboxStatus; - factory _$_MusterInboxStatusList.fromJson(Map json) => - _$$_MusterInboxStatusListFromJson(json); + factory _$MusterInboxStatusListImpl.fromJson(Map json) => + _$$MusterInboxStatusListImplFromJson(json); final List? _musterInboxStatus; @override @@ -131,10 +133,10 @@ class _$_MusterInboxStatusList implements _MusterInboxStatusList { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MusterInboxStatusList && + other is _$MusterInboxStatusListImpl && const DeepCollectionEquality() .equals(other._musterInboxStatus, _musterInboxStatus)); } @@ -147,13 +149,13 @@ class _$_MusterInboxStatusList implements _MusterInboxStatusList { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MusterInboxStatusListCopyWith<_$_MusterInboxStatusList> get copyWith => - __$$_MusterInboxStatusListCopyWithImpl<_$_MusterInboxStatusList>( - this, _$identity); + _$$MusterInboxStatusListImplCopyWith<_$MusterInboxStatusListImpl> + get copyWith => __$$MusterInboxStatusListImplCopyWithImpl< + _$MusterInboxStatusListImpl>(this, _$identity); @override Map toJson() { - return _$$_MusterInboxStatusListToJson( + return _$$MusterInboxStatusListImplToJson( this, ); } @@ -162,19 +164,19 @@ class _$_MusterInboxStatusList implements _MusterInboxStatusList { abstract class _MusterInboxStatusList implements MusterInboxStatusList { const factory _MusterInboxStatusList( {@JsonKey(name: 'CBOMusterInboxConfig') - final List? musterInboxStatus}) = - _$_MusterInboxStatusList; + final List? musterInboxStatus}) = + _$MusterInboxStatusListImpl; factory _MusterInboxStatusList.fromJson(Map json) = - _$_MusterInboxStatusList.fromJson; + _$MusterInboxStatusListImpl.fromJson; @override @JsonKey(name: 'CBOMusterInboxConfig') List? get musterInboxStatus; @override @JsonKey(ignore: true) - _$$_MusterInboxStatusListCopyWith<_$_MusterInboxStatusList> get copyWith => - throw _privateConstructorUsedError; + _$$MusterInboxStatusListImplCopyWith<_$MusterInboxStatusListImpl> + get copyWith => throw _privateConstructorUsedError; } MusterInboxStatus _$MusterInboxStatusFromJson(Map json) { @@ -225,22 +227,22 @@ class _$MusterInboxStatusCopyWithImpl<$Res, $Val extends MusterInboxStatus> } /// @nodoc -abstract class _$$_MusterInboxStatusCopyWith<$Res> +abstract class _$$MusterInboxStatusImplCopyWith<$Res> implements $MusterInboxStatusCopyWith<$Res> { - factory _$$_MusterInboxStatusCopyWith(_$_MusterInboxStatus value, - $Res Function(_$_MusterInboxStatus) then) = - __$$_MusterInboxStatusCopyWithImpl<$Res>; + factory _$$MusterInboxStatusImplCopyWith(_$MusterInboxStatusImpl value, + $Res Function(_$MusterInboxStatusImpl) then) = + __$$MusterInboxStatusImplCopyWithImpl<$Res>; @override @useResult $Res call({String reSubmitCode}); } /// @nodoc -class __$$_MusterInboxStatusCopyWithImpl<$Res> - extends _$MusterInboxStatusCopyWithImpl<$Res, _$_MusterInboxStatus> - implements _$$_MusterInboxStatusCopyWith<$Res> { - __$$_MusterInboxStatusCopyWithImpl( - _$_MusterInboxStatus _value, $Res Function(_$_MusterInboxStatus) _then) +class __$$MusterInboxStatusImplCopyWithImpl<$Res> + extends _$MusterInboxStatusCopyWithImpl<$Res, _$MusterInboxStatusImpl> + implements _$$MusterInboxStatusImplCopyWith<$Res> { + __$$MusterInboxStatusImplCopyWithImpl(_$MusterInboxStatusImpl _value, + $Res Function(_$MusterInboxStatusImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -248,7 +250,7 @@ class __$$_MusterInboxStatusCopyWithImpl<$Res> $Res call({ Object? reSubmitCode = null, }) { - return _then(_$_MusterInboxStatus( + return _then(_$MusterInboxStatusImpl( reSubmitCode: null == reSubmitCode ? _value.reSubmitCode : reSubmitCode // ignore: cast_nullable_to_non_nullable @@ -259,11 +261,11 @@ class __$$_MusterInboxStatusCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MusterInboxStatus implements _MusterInboxStatus { - const _$_MusterInboxStatus({required this.reSubmitCode}); +class _$MusterInboxStatusImpl implements _MusterInboxStatus { + const _$MusterInboxStatusImpl({required this.reSubmitCode}); - factory _$_MusterInboxStatus.fromJson(Map json) => - _$$_MusterInboxStatusFromJson(json); + factory _$MusterInboxStatusImpl.fromJson(Map json) => + _$$MusterInboxStatusImplFromJson(json); @override final String reSubmitCode; @@ -274,10 +276,10 @@ class _$_MusterInboxStatus implements _MusterInboxStatus { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MusterInboxStatus && + other is _$MusterInboxStatusImpl && (identical(other.reSubmitCode, reSubmitCode) || other.reSubmitCode == reSubmitCode)); } @@ -289,13 +291,13 @@ class _$_MusterInboxStatus implements _MusterInboxStatus { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MusterInboxStatusCopyWith<_$_MusterInboxStatus> get copyWith => - __$$_MusterInboxStatusCopyWithImpl<_$_MusterInboxStatus>( + _$$MusterInboxStatusImplCopyWith<_$MusterInboxStatusImpl> get copyWith => + __$$MusterInboxStatusImplCopyWithImpl<_$MusterInboxStatusImpl>( this, _$identity); @override Map toJson() { - return _$$_MusterInboxStatusToJson( + return _$$MusterInboxStatusImplToJson( this, ); } @@ -303,15 +305,15 @@ class _$_MusterInboxStatus implements _MusterInboxStatus { abstract class _MusterInboxStatus implements MusterInboxStatus { const factory _MusterInboxStatus({required final String reSubmitCode}) = - _$_MusterInboxStatus; + _$MusterInboxStatusImpl; factory _MusterInboxStatus.fromJson(Map json) = - _$_MusterInboxStatus.fromJson; + _$MusterInboxStatusImpl.fromJson; @override String get reSubmitCode; @override @JsonKey(ignore: true) - _$$_MusterInboxStatusCopyWith<_$_MusterInboxStatus> get copyWith => + _$$MusterInboxStatusImplCopyWith<_$MusterInboxStatusImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/muster_rolls/muster_inbox_status.g.dart b/frontend/works_shg_app/lib/models/muster_rolls/muster_inbox_status.g.dart index 435e38834c..19a3bf64d4 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/muster_inbox_status.g.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/muster_inbox_status.g.dart @@ -6,27 +6,28 @@ part of 'muster_inbox_status.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_MusterInboxStatusList _$$_MusterInboxStatusListFromJson( +_$MusterInboxStatusListImpl _$$MusterInboxStatusListImplFromJson( Map json) => - _$_MusterInboxStatusList( + _$MusterInboxStatusListImpl( musterInboxStatus: (json['CBOMusterInboxConfig'] as List?) ?.map((e) => MusterInboxStatus.fromJson(e as Map)) .toList(), ); -Map _$$_MusterInboxStatusListToJson( - _$_MusterInboxStatusList instance) => +Map _$$MusterInboxStatusListImplToJson( + _$MusterInboxStatusListImpl instance) => { 'CBOMusterInboxConfig': instance.musterInboxStatus, }; -_$_MusterInboxStatus _$$_MusterInboxStatusFromJson(Map json) => - _$_MusterInboxStatus( +_$MusterInboxStatusImpl _$$MusterInboxStatusImplFromJson( + Map json) => + _$MusterInboxStatusImpl( reSubmitCode: json['reSubmitCode'] as String, ); -Map _$$_MusterInboxStatusToJson( - _$_MusterInboxStatus instance) => +Map _$$MusterInboxStatusImplToJson( + _$MusterInboxStatusImpl instance) => { 'reSubmitCode': instance.reSubmitCode, }; diff --git a/frontend/works_shg_app/lib/models/muster_rolls/muster_roll_model.freezed.dart b/frontend/works_shg_app/lib/models/muster_rolls/muster_roll_model.freezed.dart index 4120fca15e..bad17b90bd 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/muster_roll_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/muster_roll_model.freezed.dart @@ -12,7 +12,7 @@ part of 'muster_roll_model.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); MusterRollsModel _$MusterRollsModelFromJson(Map json) { return _MusterRollsModel.fromJson(json); @@ -72,11 +72,11 @@ class _$MusterRollsModelCopyWithImpl<$Res, $Val extends MusterRollsModel> } /// @nodoc -abstract class _$$_MusterRollsModelCopyWith<$Res> +abstract class _$$MusterRollsModelImplCopyWith<$Res> implements $MusterRollsModelCopyWith<$Res> { - factory _$$_MusterRollsModelCopyWith( - _$_MusterRollsModel value, $Res Function(_$_MusterRollsModel) then) = - __$$_MusterRollsModelCopyWithImpl<$Res>; + factory _$$MusterRollsModelImplCopyWith(_$MusterRollsModelImpl value, + $Res Function(_$MusterRollsModelImpl) then) = + __$$MusterRollsModelImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -85,11 +85,11 @@ abstract class _$$_MusterRollsModelCopyWith<$Res> } /// @nodoc -class __$$_MusterRollsModelCopyWithImpl<$Res> - extends _$MusterRollsModelCopyWithImpl<$Res, _$_MusterRollsModel> - implements _$$_MusterRollsModelCopyWith<$Res> { - __$$_MusterRollsModelCopyWithImpl( - _$_MusterRollsModel _value, $Res Function(_$_MusterRollsModel) _then) +class __$$MusterRollsModelImplCopyWithImpl<$Res> + extends _$MusterRollsModelCopyWithImpl<$Res, _$MusterRollsModelImpl> + implements _$$MusterRollsModelImplCopyWith<$Res> { + __$$MusterRollsModelImplCopyWithImpl(_$MusterRollsModelImpl _value, + $Res Function(_$MusterRollsModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -98,7 +98,7 @@ class __$$_MusterRollsModelCopyWithImpl<$Res> Object? musterRoll = freezed, Object? count = freezed, }) { - return _then(_$_MusterRollsModel( + return _then(_$MusterRollsModelImpl( musterRoll: freezed == musterRoll ? _value._musterRoll : musterRoll // ignore: cast_nullable_to_non_nullable @@ -113,14 +113,14 @@ class __$$_MusterRollsModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MusterRollsModel implements _MusterRollsModel { - const _$_MusterRollsModel( +class _$MusterRollsModelImpl implements _MusterRollsModel { + const _$MusterRollsModelImpl( {@JsonKey(name: 'musterRolls') final List? musterRoll, @JsonKey(name: 'count') this.count}) : _musterRoll = musterRoll; - factory _$_MusterRollsModel.fromJson(Map json) => - _$$_MusterRollsModelFromJson(json); + factory _$MusterRollsModelImpl.fromJson(Map json) => + _$$MusterRollsModelImplFromJson(json); final List? _musterRoll; @override @@ -143,10 +143,10 @@ class _$_MusterRollsModel implements _MusterRollsModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MusterRollsModel && + other is _$MusterRollsModelImpl && const DeepCollectionEquality() .equals(other._musterRoll, _musterRoll) && (identical(other.count, count) || other.count == count)); @@ -160,12 +160,13 @@ class _$_MusterRollsModel implements _MusterRollsModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MusterRollsModelCopyWith<_$_MusterRollsModel> get copyWith => - __$$_MusterRollsModelCopyWithImpl<_$_MusterRollsModel>(this, _$identity); + _$$MusterRollsModelImplCopyWith<_$MusterRollsModelImpl> get copyWith => + __$$MusterRollsModelImplCopyWithImpl<_$MusterRollsModelImpl>( + this, _$identity); @override Map toJson() { - return _$$_MusterRollsModelToJson( + return _$$MusterRollsModelImplToJson( this, ); } @@ -174,10 +175,10 @@ class _$_MusterRollsModel implements _MusterRollsModel { abstract class _MusterRollsModel implements MusterRollsModel { const factory _MusterRollsModel( {@JsonKey(name: 'musterRolls') final List? musterRoll, - @JsonKey(name: 'count') final int? count}) = _$_MusterRollsModel; + @JsonKey(name: 'count') final int? count}) = _$MusterRollsModelImpl; factory _MusterRollsModel.fromJson(Map json) = - _$_MusterRollsModel.fromJson; + _$MusterRollsModelImpl.fromJson; @override @JsonKey(name: 'musterRolls') @@ -187,7 +188,7 @@ abstract class _MusterRollsModel implements MusterRollsModel { int? get count; @override @JsonKey(ignore: true) - _$$_MusterRollsModelCopyWith<_$_MusterRollsModel> get copyWith => + _$$MusterRollsModelImplCopyWith<_$MusterRollsModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -240,11 +241,10 @@ abstract class $MusterRollCopyWith<$Res> { int? startDate, int? endDate, @JsonKey(name: 'individualEntries') - List? individualEntries, + List? individualEntries, @JsonKey(name: 'additionalDetails') - MusterAdditionalDetails? musterAdditionalDetails, - @JsonKey(name: 'auditDetails') - AuditDetails? musterAuditDetails}); + MusterAdditionalDetails? musterAdditionalDetails, + @JsonKey(name: 'auditDetails') AuditDetails? musterAuditDetails}); $MusterAdditionalDetailsCopyWith<$Res>? get musterAdditionalDetails; $AuditDetailsCopyWith<$Res>? get musterAuditDetails; @@ -360,11 +360,11 @@ class _$MusterRollCopyWithImpl<$Res, $Val extends MusterRoll> } /// @nodoc -abstract class _$$_MusterRollCopyWith<$Res> +abstract class _$$MusterRollImplCopyWith<$Res> implements $MusterRollCopyWith<$Res> { - factory _$$_MusterRollCopyWith( - _$_MusterRoll value, $Res Function(_$_MusterRoll) then) = - __$$_MusterRollCopyWithImpl<$Res>; + factory _$$MusterRollImplCopyWith( + _$MusterRollImpl value, $Res Function(_$MusterRollImpl) then) = + __$$MusterRollImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -379,11 +379,10 @@ abstract class _$$_MusterRollCopyWith<$Res> int? startDate, int? endDate, @JsonKey(name: 'individualEntries') - List? individualEntries, + List? individualEntries, @JsonKey(name: 'additionalDetails') - MusterAdditionalDetails? musterAdditionalDetails, - @JsonKey(name: 'auditDetails') - AuditDetails? musterAuditDetails}); + MusterAdditionalDetails? musterAdditionalDetails, + @JsonKey(name: 'auditDetails') AuditDetails? musterAuditDetails}); @override $MusterAdditionalDetailsCopyWith<$Res>? get musterAdditionalDetails; @@ -392,11 +391,11 @@ abstract class _$$_MusterRollCopyWith<$Res> } /// @nodoc -class __$$_MusterRollCopyWithImpl<$Res> - extends _$MusterRollCopyWithImpl<$Res, _$_MusterRoll> - implements _$$_MusterRollCopyWith<$Res> { - __$$_MusterRollCopyWithImpl( - _$_MusterRoll _value, $Res Function(_$_MusterRoll) _then) +class __$$MusterRollImplCopyWithImpl<$Res> + extends _$MusterRollCopyWithImpl<$Res, _$MusterRollImpl> + implements _$$MusterRollImplCopyWith<$Res> { + __$$MusterRollImplCopyWithImpl( + _$MusterRollImpl _value, $Res Function(_$MusterRollImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -416,7 +415,7 @@ class __$$_MusterRollCopyWithImpl<$Res> Object? musterAdditionalDetails = freezed, Object? musterAuditDetails = freezed, }) { - return _then(_$_MusterRoll( + return _then(_$MusterRollImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -475,8 +474,8 @@ class __$$_MusterRollCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MusterRoll implements _MusterRoll { - const _$_MusterRoll( +class _$MusterRollImpl implements _MusterRoll { + const _$MusterRollImpl( {this.id, required this.tenantId, this.musterRollNumber, @@ -488,15 +487,13 @@ class _$_MusterRoll implements _MusterRoll { this.startDate, this.endDate, @JsonKey(name: 'individualEntries') - final List? individualEntries, - @JsonKey(name: 'additionalDetails') - this.musterAdditionalDetails, - @JsonKey(name: 'auditDetails') - this.musterAuditDetails}) + final List? individualEntries, + @JsonKey(name: 'additionalDetails') this.musterAdditionalDetails, + @JsonKey(name: 'auditDetails') this.musterAuditDetails}) : _individualEntries = individualEntries; - factory _$_MusterRoll.fromJson(Map json) => - _$$_MusterRollFromJson(json); + factory _$MusterRollImpl.fromJson(Map json) => + _$$MusterRollImplFromJson(json); @override final String? id; @@ -543,10 +540,10 @@ class _$_MusterRoll implements _MusterRoll { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MusterRoll && + other is _$MusterRollImpl && (identical(other.id, id) || other.id == id) && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && @@ -594,12 +591,12 @@ class _$_MusterRoll implements _MusterRoll { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MusterRollCopyWith<_$_MusterRoll> get copyWith => - __$$_MusterRollCopyWithImpl<_$_MusterRoll>(this, _$identity); + _$$MusterRollImplCopyWith<_$MusterRollImpl> get copyWith => + __$$MusterRollImplCopyWithImpl<_$MusterRollImpl>(this, _$identity); @override Map toJson() { - return _$$_MusterRollToJson( + return _$$MusterRollImplToJson( this, ); } @@ -618,14 +615,14 @@ abstract class _MusterRoll implements MusterRoll { final int? startDate, final int? endDate, @JsonKey(name: 'individualEntries') - final List? individualEntries, + final List? individualEntries, @JsonKey(name: 'additionalDetails') - final MusterAdditionalDetails? musterAdditionalDetails, + final MusterAdditionalDetails? musterAdditionalDetails, @JsonKey(name: 'auditDetails') - final AuditDetails? musterAuditDetails}) = _$_MusterRoll; + final AuditDetails? musterAuditDetails}) = _$MusterRollImpl; factory _MusterRoll.fromJson(Map json) = - _$_MusterRoll.fromJson; + _$MusterRollImpl.fromJson; @override String? get id; @@ -658,7 +655,7 @@ abstract class _MusterRoll implements MusterRoll { AuditDetails? get musterAuditDetails; @override @JsonKey(ignore: true) - _$$_MusterRollCopyWith<_$_MusterRoll> get copyWith => + _$$MusterRollImplCopyWith<_$MusterRollImpl> get copyWith => throw _privateConstructorUsedError; } @@ -695,10 +692,9 @@ abstract class $IndividualEntriesCopyWith<$Res> { String? individualId, double? totalAttendance, @JsonKey(name: 'attendanceEntries') - List? attendanceEntries, + List? attendanceEntries, @JsonKey(name: 'additionalDetails') - MusterIndividualAdditionalDetails? - musterIndividualAdditionalDetails}); + MusterIndividualAdditionalDetails? musterIndividualAdditionalDetails}); $MusterIndividualAdditionalDetailsCopyWith<$Res>? get musterIndividualAdditionalDetails; @@ -765,11 +761,11 @@ class _$IndividualEntriesCopyWithImpl<$Res, $Val extends IndividualEntries> } /// @nodoc -abstract class _$$_IndividualEntriesCopyWith<$Res> +abstract class _$$IndividualEntriesImplCopyWith<$Res> implements $IndividualEntriesCopyWith<$Res> { - factory _$$_IndividualEntriesCopyWith(_$_IndividualEntries value, - $Res Function(_$_IndividualEntries) then) = - __$$_IndividualEntriesCopyWithImpl<$Res>; + factory _$$IndividualEntriesImplCopyWith(_$IndividualEntriesImpl value, + $Res Function(_$IndividualEntriesImpl) then) = + __$$IndividualEntriesImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -777,10 +773,9 @@ abstract class _$$_IndividualEntriesCopyWith<$Res> String? individualId, double? totalAttendance, @JsonKey(name: 'attendanceEntries') - List? attendanceEntries, + List? attendanceEntries, @JsonKey(name: 'additionalDetails') - MusterIndividualAdditionalDetails? - musterIndividualAdditionalDetails}); + MusterIndividualAdditionalDetails? musterIndividualAdditionalDetails}); @override $MusterIndividualAdditionalDetailsCopyWith<$Res>? @@ -788,11 +783,11 @@ abstract class _$$_IndividualEntriesCopyWith<$Res> } /// @nodoc -class __$$_IndividualEntriesCopyWithImpl<$Res> - extends _$IndividualEntriesCopyWithImpl<$Res, _$_IndividualEntries> - implements _$$_IndividualEntriesCopyWith<$Res> { - __$$_IndividualEntriesCopyWithImpl( - _$_IndividualEntries _value, $Res Function(_$_IndividualEntries) _then) +class __$$IndividualEntriesImplCopyWithImpl<$Res> + extends _$IndividualEntriesCopyWithImpl<$Res, _$IndividualEntriesImpl> + implements _$$IndividualEntriesImplCopyWith<$Res> { + __$$IndividualEntriesImplCopyWithImpl(_$IndividualEntriesImpl _value, + $Res Function(_$IndividualEntriesImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -804,7 +799,7 @@ class __$$_IndividualEntriesCopyWithImpl<$Res> Object? attendanceEntries = freezed, Object? musterIndividualAdditionalDetails = freezed, }) { - return _then(_$_IndividualEntries( + return _then(_$IndividualEntriesImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -832,19 +827,19 @@ class __$$_IndividualEntriesCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_IndividualEntries implements _IndividualEntries { - const _$_IndividualEntries( +class _$IndividualEntriesImpl implements _IndividualEntries { + const _$IndividualEntriesImpl( {this.id, this.individualId, this.totalAttendance, @JsonKey(name: 'attendanceEntries') - final List? attendanceEntries, + final List? attendanceEntries, @JsonKey(name: 'additionalDetails') - this.musterIndividualAdditionalDetails}) + this.musterIndividualAdditionalDetails}) : _attendanceEntries = attendanceEntries; - factory _$_IndividualEntries.fromJson(Map json) => - _$$_IndividualEntriesFromJson(json); + factory _$IndividualEntriesImpl.fromJson(Map json) => + _$$IndividualEntriesImplFromJson(json); @override final String? id; @@ -874,10 +869,10 @@ class _$_IndividualEntries implements _IndividualEntries { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_IndividualEntries && + other is _$IndividualEntriesImpl && (identical(other.id, id) || other.id == id) && (identical(other.individualId, individualId) || other.individualId == individualId) && @@ -904,13 +899,13 @@ class _$_IndividualEntries implements _IndividualEntries { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_IndividualEntriesCopyWith<_$_IndividualEntries> get copyWith => - __$$_IndividualEntriesCopyWithImpl<_$_IndividualEntries>( + _$$IndividualEntriesImplCopyWith<_$IndividualEntriesImpl> get copyWith => + __$$IndividualEntriesImplCopyWithImpl<_$IndividualEntriesImpl>( this, _$identity); @override Map toJson() { - return _$$_IndividualEntriesToJson( + return _$$IndividualEntriesImplToJson( this, ); } @@ -922,13 +917,13 @@ abstract class _IndividualEntries implements IndividualEntries { final String? individualId, final double? totalAttendance, @JsonKey(name: 'attendanceEntries') - final List? attendanceEntries, + final List? attendanceEntries, @JsonKey(name: 'additionalDetails') - final MusterIndividualAdditionalDetails? - musterIndividualAdditionalDetails}) = _$_IndividualEntries; + final MusterIndividualAdditionalDetails? + musterIndividualAdditionalDetails}) = _$IndividualEntriesImpl; factory _IndividualEntries.fromJson(Map json) = - _$_IndividualEntries.fromJson; + _$IndividualEntriesImpl.fromJson; @override String? get id; @@ -944,7 +939,7 @@ abstract class _IndividualEntries implements IndividualEntries { MusterIndividualAdditionalDetails? get musterIndividualAdditionalDetails; @override @JsonKey(ignore: true) - _$$_IndividualEntriesCopyWith<_$_IndividualEntries> get copyWith => + _$$IndividualEntriesImplCopyWith<_$IndividualEntriesImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1062,11 +1057,12 @@ class _$MusterAdditionalDetailsCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_MusterAdditionalDetailsCopyWith<$Res> +abstract class _$$MusterAdditionalDetailsImplCopyWith<$Res> implements $MusterAdditionalDetailsCopyWith<$Res> { - factory _$$_MusterAdditionalDetailsCopyWith(_$_MusterAdditionalDetails value, - $Res Function(_$_MusterAdditionalDetails) then) = - __$$_MusterAdditionalDetailsCopyWithImpl<$Res>; + factory _$$MusterAdditionalDetailsImplCopyWith( + _$MusterAdditionalDetailsImpl value, + $Res Function(_$MusterAdditionalDetailsImpl) then) = + __$$MusterAdditionalDetailsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1083,12 +1079,13 @@ abstract class _$$_MusterAdditionalDetailsCopyWith<$Res> } /// @nodoc -class __$$_MusterAdditionalDetailsCopyWithImpl<$Res> +class __$$MusterAdditionalDetailsImplCopyWithImpl<$Res> extends _$MusterAdditionalDetailsCopyWithImpl<$Res, - _$_MusterAdditionalDetails> - implements _$$_MusterAdditionalDetailsCopyWith<$Res> { - __$$_MusterAdditionalDetailsCopyWithImpl(_$_MusterAdditionalDetails _value, - $Res Function(_$_MusterAdditionalDetails) _then) + _$MusterAdditionalDetailsImpl> + implements _$$MusterAdditionalDetailsImplCopyWith<$Res> { + __$$MusterAdditionalDetailsImplCopyWithImpl( + _$MusterAdditionalDetailsImpl _value, + $Res Function(_$MusterAdditionalDetailsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1105,7 +1102,7 @@ class __$$_MusterAdditionalDetailsCopyWithImpl<$Res> Object? projectDesc = freezed, Object? contractId = freezed, }) { - return _then(_$_MusterAdditionalDetails( + return _then(_$MusterAdditionalDetailsImpl( attendanceRegisterName: freezed == attendanceRegisterName ? _value.attendanceRegisterName : attendanceRegisterName // ignore: cast_nullable_to_non_nullable @@ -1152,8 +1149,8 @@ class __$$_MusterAdditionalDetailsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MusterAdditionalDetails implements _MusterAdditionalDetails { - const _$_MusterAdditionalDetails( +class _$MusterAdditionalDetailsImpl implements _MusterAdditionalDetails { + const _$MusterAdditionalDetailsImpl( {this.attendanceRegisterName, this.attendanceRegisterNo, this.orgName, @@ -1165,8 +1162,8 @@ class _$_MusterAdditionalDetails implements _MusterAdditionalDetails { this.projectDesc, this.contractId}); - factory _$_MusterAdditionalDetails.fromJson(Map json) => - _$$_MusterAdditionalDetailsFromJson(json); + factory _$MusterAdditionalDetailsImpl.fromJson(Map json) => + _$$MusterAdditionalDetailsImplFromJson(json); @override final String? attendanceRegisterName; @@ -1195,10 +1192,10 @@ class _$_MusterAdditionalDetails implements _MusterAdditionalDetails { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MusterAdditionalDetails && + other is _$MusterAdditionalDetailsImpl && (identical(other.attendanceRegisterName, attendanceRegisterName) || other.attendanceRegisterName == attendanceRegisterName) && (identical(other.attendanceRegisterNo, attendanceRegisterNo) || @@ -1237,14 +1234,13 @@ class _$_MusterAdditionalDetails implements _MusterAdditionalDetails { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MusterAdditionalDetailsCopyWith<_$_MusterAdditionalDetails> - get copyWith => - __$$_MusterAdditionalDetailsCopyWithImpl<_$_MusterAdditionalDetails>( - this, _$identity); + _$$MusterAdditionalDetailsImplCopyWith<_$MusterAdditionalDetailsImpl> + get copyWith => __$$MusterAdditionalDetailsImplCopyWithImpl< + _$MusterAdditionalDetailsImpl>(this, _$identity); @override Map toJson() { - return _$$_MusterAdditionalDetailsToJson( + return _$$MusterAdditionalDetailsImplToJson( this, ); } @@ -1261,10 +1257,10 @@ abstract class _MusterAdditionalDetails implements MusterAdditionalDetails { final String? projectId, final String? projectName, final String? projectDesc, - final String? contractId}) = _$_MusterAdditionalDetails; + final String? contractId}) = _$MusterAdditionalDetailsImpl; factory _MusterAdditionalDetails.fromJson(Map json) = - _$_MusterAdditionalDetails.fromJson; + _$MusterAdditionalDetailsImpl.fromJson; @override String? get attendanceRegisterName; @@ -1288,7 +1284,7 @@ abstract class _MusterAdditionalDetails implements MusterAdditionalDetails { String? get contractId; @override @JsonKey(ignore: true) - _$$_MusterAdditionalDetailsCopyWith<_$_MusterAdditionalDetails> + _$$MusterAdditionalDetailsImplCopyWith<_$MusterAdditionalDetailsImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1408,12 +1404,12 @@ class _$MusterIndividualAdditionalDetailsCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_MusterIndividualAdditionalDetailsCopyWith<$Res> +abstract class _$$MusterIndividualAdditionalDetailsImplCopyWith<$Res> implements $MusterIndividualAdditionalDetailsCopyWith<$Res> { - factory _$$_MusterIndividualAdditionalDetailsCopyWith( - _$_MusterIndividualAdditionalDetails value, - $Res Function(_$_MusterIndividualAdditionalDetails) then) = - __$$_MusterIndividualAdditionalDetailsCopyWithImpl<$Res>; + factory _$$MusterIndividualAdditionalDetailsImplCopyWith( + _$MusterIndividualAdditionalDetailsImpl value, + $Res Function(_$MusterIndividualAdditionalDetailsImpl) then) = + __$$MusterIndividualAdditionalDetailsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1430,13 +1426,13 @@ abstract class _$$_MusterIndividualAdditionalDetailsCopyWith<$Res> } /// @nodoc -class __$$_MusterIndividualAdditionalDetailsCopyWithImpl<$Res> +class __$$MusterIndividualAdditionalDetailsImplCopyWithImpl<$Res> extends _$MusterIndividualAdditionalDetailsCopyWithImpl<$Res, - _$_MusterIndividualAdditionalDetails> - implements _$$_MusterIndividualAdditionalDetailsCopyWith<$Res> { - __$$_MusterIndividualAdditionalDetailsCopyWithImpl( - _$_MusterIndividualAdditionalDetails _value, - $Res Function(_$_MusterIndividualAdditionalDetails) _then) + _$MusterIndividualAdditionalDetailsImpl> + implements _$$MusterIndividualAdditionalDetailsImplCopyWith<$Res> { + __$$MusterIndividualAdditionalDetailsImplCopyWithImpl( + _$MusterIndividualAdditionalDetailsImpl _value, + $Res Function(_$MusterIndividualAdditionalDetailsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1453,7 +1449,7 @@ class __$$_MusterIndividualAdditionalDetailsCopyWithImpl<$Res> Object? skillCode = freezed, Object? skillValue = freezed, }) { - return _then(_$_MusterIndividualAdditionalDetails( + return _then(_$MusterIndividualAdditionalDetailsImpl( userName: freezed == userName ? _value.userName : userName // ignore: cast_nullable_to_non_nullable @@ -1500,9 +1496,9 @@ class __$$_MusterIndividualAdditionalDetailsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MusterIndividualAdditionalDetails +class _$MusterIndividualAdditionalDetailsImpl implements _MusterIndividualAdditionalDetails { - const _$_MusterIndividualAdditionalDetails( + const _$MusterIndividualAdditionalDetailsImpl( {this.userName, this.fatherName, this.gender, @@ -1514,9 +1510,9 @@ class _$_MusterIndividualAdditionalDetails this.skillCode, this.skillValue}); - factory _$_MusterIndividualAdditionalDetails.fromJson( + factory _$MusterIndividualAdditionalDetailsImpl.fromJson( Map json) => - _$$_MusterIndividualAdditionalDetailsFromJson(json); + _$$MusterIndividualAdditionalDetailsImplFromJson(json); @override final String? userName; @@ -1545,10 +1541,10 @@ class _$_MusterIndividualAdditionalDetails } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MusterIndividualAdditionalDetails && + other is _$MusterIndividualAdditionalDetailsImpl && (identical(other.userName, userName) || other.userName == userName) && (identical(other.fatherName, fatherName) || @@ -1587,14 +1583,14 @@ class _$_MusterIndividualAdditionalDetails @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MusterIndividualAdditionalDetailsCopyWith< - _$_MusterIndividualAdditionalDetails> - get copyWith => __$$_MusterIndividualAdditionalDetailsCopyWithImpl< - _$_MusterIndividualAdditionalDetails>(this, _$identity); + _$$MusterIndividualAdditionalDetailsImplCopyWith< + _$MusterIndividualAdditionalDetailsImpl> + get copyWith => __$$MusterIndividualAdditionalDetailsImplCopyWithImpl< + _$MusterIndividualAdditionalDetailsImpl>(this, _$identity); @override Map toJson() { - return _$$_MusterIndividualAdditionalDetailsToJson( + return _$$MusterIndividualAdditionalDetailsImplToJson( this, ); } @@ -1612,11 +1608,11 @@ abstract class _MusterIndividualAdditionalDetails final String? accountHolderName, final String? accountType, final String? skillCode, - final String? skillValue}) = _$_MusterIndividualAdditionalDetails; + final String? skillValue}) = _$MusterIndividualAdditionalDetailsImpl; factory _MusterIndividualAdditionalDetails.fromJson( Map json) = - _$_MusterIndividualAdditionalDetails.fromJson; + _$MusterIndividualAdditionalDetailsImpl.fromJson; @override String? get userName; @@ -1640,8 +1636,8 @@ abstract class _MusterIndividualAdditionalDetails String? get skillValue; @override @JsonKey(ignore: true) - _$$_MusterIndividualAdditionalDetailsCopyWith< - _$_MusterIndividualAdditionalDetails> + _$$MusterIndividualAdditionalDetailsImplCopyWith< + _$MusterIndividualAdditionalDetailsImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1677,8 +1673,7 @@ abstract class $AttendanceEntriesCopyWith<$Res> { int? time, AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - AttendanceEntriesAdditionalDetails? - attendanceEntriesAdditionalDetails}); + AttendanceEntriesAdditionalDetails? attendanceEntriesAdditionalDetails}); $AuditDetailsCopyWith<$Res>? get auditDetails; $AttendanceEntriesAdditionalDetailsCopyWith<$Res>? @@ -1758,11 +1753,11 @@ class _$AttendanceEntriesCopyWithImpl<$Res, $Val extends AttendanceEntries> } /// @nodoc -abstract class _$$_AttendanceEntriesCopyWith<$Res> +abstract class _$$AttendanceEntriesImplCopyWith<$Res> implements $AttendanceEntriesCopyWith<$Res> { - factory _$$_AttendanceEntriesCopyWith(_$_AttendanceEntries value, - $Res Function(_$_AttendanceEntries) then) = - __$$_AttendanceEntriesCopyWithImpl<$Res>; + factory _$$AttendanceEntriesImplCopyWith(_$AttendanceEntriesImpl value, + $Res Function(_$AttendanceEntriesImpl) then) = + __$$AttendanceEntriesImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1771,8 +1766,7 @@ abstract class _$$_AttendanceEntriesCopyWith<$Res> int? time, AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - AttendanceEntriesAdditionalDetails? - attendanceEntriesAdditionalDetails}); + AttendanceEntriesAdditionalDetails? attendanceEntriesAdditionalDetails}); @override $AuditDetailsCopyWith<$Res>? get auditDetails; @@ -1782,11 +1776,11 @@ abstract class _$$_AttendanceEntriesCopyWith<$Res> } /// @nodoc -class __$$_AttendanceEntriesCopyWithImpl<$Res> - extends _$AttendanceEntriesCopyWithImpl<$Res, _$_AttendanceEntries> - implements _$$_AttendanceEntriesCopyWith<$Res> { - __$$_AttendanceEntriesCopyWithImpl( - _$_AttendanceEntries _value, $Res Function(_$_AttendanceEntries) _then) +class __$$AttendanceEntriesImplCopyWithImpl<$Res> + extends _$AttendanceEntriesCopyWithImpl<$Res, _$AttendanceEntriesImpl> + implements _$$AttendanceEntriesImplCopyWith<$Res> { + __$$AttendanceEntriesImplCopyWithImpl(_$AttendanceEntriesImpl _value, + $Res Function(_$AttendanceEntriesImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1798,7 +1792,7 @@ class __$$_AttendanceEntriesCopyWithImpl<$Res> Object? auditDetails = freezed, Object? attendanceEntriesAdditionalDetails = freezed, }) { - return _then(_$_AttendanceEntries( + return _then(_$AttendanceEntriesImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -1826,17 +1820,17 @@ class __$$_AttendanceEntriesCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AttendanceEntries implements _AttendanceEntries { - const _$_AttendanceEntries( +class _$AttendanceEntriesImpl implements _AttendanceEntries { + const _$AttendanceEntriesImpl( {this.id, this.attendance, this.time, this.auditDetails, @JsonKey(name: 'additionalDetails') - this.attendanceEntriesAdditionalDetails}); + this.attendanceEntriesAdditionalDetails}); - factory _$_AttendanceEntries.fromJson(Map json) => - _$$_AttendanceEntriesFromJson(json); + factory _$AttendanceEntriesImpl.fromJson(Map json) => + _$$AttendanceEntriesImplFromJson(json); @override final String? id; @@ -1856,10 +1850,10 @@ class _$_AttendanceEntries implements _AttendanceEntries { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AttendanceEntries && + other is _$AttendanceEntriesImpl && (identical(other.id, id) || other.id == id) && (identical(other.attendance, attendance) || other.attendance == attendance) && @@ -1880,13 +1874,13 @@ class _$_AttendanceEntries implements _AttendanceEntries { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AttendanceEntriesCopyWith<_$_AttendanceEntries> get copyWith => - __$$_AttendanceEntriesCopyWithImpl<_$_AttendanceEntries>( + _$$AttendanceEntriesImplCopyWith<_$AttendanceEntriesImpl> get copyWith => + __$$AttendanceEntriesImplCopyWithImpl<_$AttendanceEntriesImpl>( this, _$identity); @override Map toJson() { - return _$$_AttendanceEntriesToJson( + return _$$AttendanceEntriesImplToJson( this, ); } @@ -1899,11 +1893,11 @@ abstract class _AttendanceEntries implements AttendanceEntries { final int? time, final AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - final AttendanceEntriesAdditionalDetails? - attendanceEntriesAdditionalDetails}) = _$_AttendanceEntries; + final AttendanceEntriesAdditionalDetails? + attendanceEntriesAdditionalDetails}) = _$AttendanceEntriesImpl; factory _AttendanceEntries.fromJson(Map json) = - _$_AttendanceEntries.fromJson; + _$AttendanceEntriesImpl.fromJson; @override String? get id; @@ -1918,7 +1912,7 @@ abstract class _AttendanceEntries implements AttendanceEntries { AttendanceEntriesAdditionalDetails? get attendanceEntriesAdditionalDetails; @override @JsonKey(ignore: true) - _$$_AttendanceEntriesCopyWith<_$_AttendanceEntries> get copyWith => + _$$AttendanceEntriesImplCopyWith<_$AttendanceEntriesImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1981,25 +1975,25 @@ class _$AttendanceEntriesAdditionalDetailsCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_AttendanceEntriesAdditionalDetailsCopyWith<$Res> +abstract class _$$AttendanceEntriesAdditionalDetailsImplCopyWith<$Res> implements $AttendanceEntriesAdditionalDetailsCopyWith<$Res> { - factory _$$_AttendanceEntriesAdditionalDetailsCopyWith( - _$_AttendanceEntriesAdditionalDetails value, - $Res Function(_$_AttendanceEntriesAdditionalDetails) then) = - __$$_AttendanceEntriesAdditionalDetailsCopyWithImpl<$Res>; + factory _$$AttendanceEntriesAdditionalDetailsImplCopyWith( + _$AttendanceEntriesAdditionalDetailsImpl value, + $Res Function(_$AttendanceEntriesAdditionalDetailsImpl) then) = + __$$AttendanceEntriesAdditionalDetailsImplCopyWithImpl<$Res>; @override @useResult $Res call({String? entryAttendanceLogId, String? exitAttendanceLogId}); } /// @nodoc -class __$$_AttendanceEntriesAdditionalDetailsCopyWithImpl<$Res> +class __$$AttendanceEntriesAdditionalDetailsImplCopyWithImpl<$Res> extends _$AttendanceEntriesAdditionalDetailsCopyWithImpl<$Res, - _$_AttendanceEntriesAdditionalDetails> - implements _$$_AttendanceEntriesAdditionalDetailsCopyWith<$Res> { - __$$_AttendanceEntriesAdditionalDetailsCopyWithImpl( - _$_AttendanceEntriesAdditionalDetails _value, - $Res Function(_$_AttendanceEntriesAdditionalDetails) _then) + _$AttendanceEntriesAdditionalDetailsImpl> + implements _$$AttendanceEntriesAdditionalDetailsImplCopyWith<$Res> { + __$$AttendanceEntriesAdditionalDetailsImplCopyWithImpl( + _$AttendanceEntriesAdditionalDetailsImpl _value, + $Res Function(_$AttendanceEntriesAdditionalDetailsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -2008,7 +2002,7 @@ class __$$_AttendanceEntriesAdditionalDetailsCopyWithImpl<$Res> Object? entryAttendanceLogId = freezed, Object? exitAttendanceLogId = freezed, }) { - return _then(_$_AttendanceEntriesAdditionalDetails( + return _then(_$AttendanceEntriesAdditionalDetailsImpl( entryAttendanceLogId: freezed == entryAttendanceLogId ? _value.entryAttendanceLogId : entryAttendanceLogId // ignore: cast_nullable_to_non_nullable @@ -2023,14 +2017,14 @@ class __$$_AttendanceEntriesAdditionalDetailsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AttendanceEntriesAdditionalDetails +class _$AttendanceEntriesAdditionalDetailsImpl implements _AttendanceEntriesAdditionalDetails { - const _$_AttendanceEntriesAdditionalDetails( + const _$AttendanceEntriesAdditionalDetailsImpl( {this.entryAttendanceLogId, this.exitAttendanceLogId}); - factory _$_AttendanceEntriesAdditionalDetails.fromJson( + factory _$AttendanceEntriesAdditionalDetailsImpl.fromJson( Map json) => - _$$_AttendanceEntriesAdditionalDetailsFromJson(json); + _$$AttendanceEntriesAdditionalDetailsImplFromJson(json); @override final String? entryAttendanceLogId; @@ -2043,10 +2037,10 @@ class _$_AttendanceEntriesAdditionalDetails } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AttendanceEntriesAdditionalDetails && + other is _$AttendanceEntriesAdditionalDetailsImpl && (identical(other.entryAttendanceLogId, entryAttendanceLogId) || other.entryAttendanceLogId == entryAttendanceLogId) && (identical(other.exitAttendanceLogId, exitAttendanceLogId) || @@ -2061,14 +2055,14 @@ class _$_AttendanceEntriesAdditionalDetails @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AttendanceEntriesAdditionalDetailsCopyWith< - _$_AttendanceEntriesAdditionalDetails> - get copyWith => __$$_AttendanceEntriesAdditionalDetailsCopyWithImpl< - _$_AttendanceEntriesAdditionalDetails>(this, _$identity); + _$$AttendanceEntriesAdditionalDetailsImplCopyWith< + _$AttendanceEntriesAdditionalDetailsImpl> + get copyWith => __$$AttendanceEntriesAdditionalDetailsImplCopyWithImpl< + _$AttendanceEntriesAdditionalDetailsImpl>(this, _$identity); @override Map toJson() { - return _$$_AttendanceEntriesAdditionalDetailsToJson( + return _$$AttendanceEntriesAdditionalDetailsImplToJson( this, ); } @@ -2079,11 +2073,11 @@ abstract class _AttendanceEntriesAdditionalDetails const factory _AttendanceEntriesAdditionalDetails( {final String? entryAttendanceLogId, final String? exitAttendanceLogId}) = - _$_AttendanceEntriesAdditionalDetails; + _$AttendanceEntriesAdditionalDetailsImpl; factory _AttendanceEntriesAdditionalDetails.fromJson( Map json) = - _$_AttendanceEntriesAdditionalDetails.fromJson; + _$AttendanceEntriesAdditionalDetailsImpl.fromJson; @override String? get entryAttendanceLogId; @@ -2091,8 +2085,8 @@ abstract class _AttendanceEntriesAdditionalDetails String? get exitAttendanceLogId; @override @JsonKey(ignore: true) - _$$_AttendanceEntriesAdditionalDetailsCopyWith< - _$_AttendanceEntriesAdditionalDetails> + _$$AttendanceEntriesAdditionalDetailsImplCopyWith< + _$AttendanceEntriesAdditionalDetailsImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2166,11 +2160,11 @@ class _$AuditDetailsCopyWithImpl<$Res, $Val extends AuditDetails> } /// @nodoc -abstract class _$$_AuditDetailsCopyWith<$Res> +abstract class _$$AuditDetailsImplCopyWith<$Res> implements $AuditDetailsCopyWith<$Res> { - factory _$$_AuditDetailsCopyWith( - _$_AuditDetails value, $Res Function(_$_AuditDetails) then) = - __$$_AuditDetailsCopyWithImpl<$Res>; + factory _$$AuditDetailsImplCopyWith( + _$AuditDetailsImpl value, $Res Function(_$AuditDetailsImpl) then) = + __$$AuditDetailsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -2181,11 +2175,11 @@ abstract class _$$_AuditDetailsCopyWith<$Res> } /// @nodoc -class __$$_AuditDetailsCopyWithImpl<$Res> - extends _$AuditDetailsCopyWithImpl<$Res, _$_AuditDetails> - implements _$$_AuditDetailsCopyWith<$Res> { - __$$_AuditDetailsCopyWithImpl( - _$_AuditDetails _value, $Res Function(_$_AuditDetails) _then) +class __$$AuditDetailsImplCopyWithImpl<$Res> + extends _$AuditDetailsCopyWithImpl<$Res, _$AuditDetailsImpl> + implements _$$AuditDetailsImplCopyWith<$Res> { + __$$AuditDetailsImplCopyWithImpl( + _$AuditDetailsImpl _value, $Res Function(_$AuditDetailsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -2196,7 +2190,7 @@ class __$$_AuditDetailsCopyWithImpl<$Res> Object? createdTime = freezed, Object? lastModifiedTime = freezed, }) { - return _then(_$_AuditDetails( + return _then(_$AuditDetailsImpl( createdBy: freezed == createdBy ? _value.createdBy : createdBy // ignore: cast_nullable_to_non_nullable @@ -2219,15 +2213,15 @@ class __$$_AuditDetailsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_AuditDetails implements _AuditDetails { - const _$_AuditDetails( +class _$AuditDetailsImpl implements _AuditDetails { + const _$AuditDetailsImpl( {this.createdBy, this.lastModifiedBy, this.createdTime, this.lastModifiedTime}); - factory _$_AuditDetails.fromJson(Map json) => - _$$_AuditDetailsFromJson(json); + factory _$AuditDetailsImpl.fromJson(Map json) => + _$$AuditDetailsImplFromJson(json); @override final String? createdBy; @@ -2244,10 +2238,10 @@ class _$_AuditDetails implements _AuditDetails { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_AuditDetails && + other is _$AuditDetailsImpl && (identical(other.createdBy, createdBy) || other.createdBy == createdBy) && (identical(other.lastModifiedBy, lastModifiedBy) || @@ -2266,12 +2260,12 @@ class _$_AuditDetails implements _AuditDetails { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AuditDetailsCopyWith<_$_AuditDetails> get copyWith => - __$$_AuditDetailsCopyWithImpl<_$_AuditDetails>(this, _$identity); + _$$AuditDetailsImplCopyWith<_$AuditDetailsImpl> get copyWith => + __$$AuditDetailsImplCopyWithImpl<_$AuditDetailsImpl>(this, _$identity); @override Map toJson() { - return _$$_AuditDetailsToJson( + return _$$AuditDetailsImplToJson( this, ); } @@ -2282,10 +2276,10 @@ abstract class _AuditDetails implements AuditDetails { {final String? createdBy, final String? lastModifiedBy, final int? createdTime, - final int? lastModifiedTime}) = _$_AuditDetails; + final int? lastModifiedTime}) = _$AuditDetailsImpl; factory _AuditDetails.fromJson(Map json) = - _$_AuditDetails.fromJson; + _$AuditDetailsImpl.fromJson; @override String? get createdBy; @@ -2297,6 +2291,6 @@ abstract class _AuditDetails implements AuditDetails { int? get lastModifiedTime; @override @JsonKey(ignore: true) - _$$_AuditDetailsCopyWith<_$_AuditDetails> get copyWith => + _$$AuditDetailsImplCopyWith<_$AuditDetailsImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/muster_rolls/muster_roll_model.g.dart b/frontend/works_shg_app/lib/models/muster_rolls/muster_roll_model.g.dart index 3e2fd447c5..a56d5db049 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/muster_roll_model.g.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/muster_roll_model.g.dart @@ -6,22 +6,24 @@ part of 'muster_roll_model.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_MusterRollsModel _$$_MusterRollsModelFromJson(Map json) => - _$_MusterRollsModel( +_$MusterRollsModelImpl _$$MusterRollsModelImplFromJson( + Map json) => + _$MusterRollsModelImpl( musterRoll: (json['musterRolls'] as List?) ?.map((e) => MusterRoll.fromJson(e as Map)) .toList(), - count: json['count'] as int?, + count: (json['count'] as num?)?.toInt(), ); -Map _$$_MusterRollsModelToJson(_$_MusterRollsModel instance) => +Map _$$MusterRollsModelImplToJson( + _$MusterRollsModelImpl instance) => { 'musterRolls': instance.musterRoll, 'count': instance.count, }; -_$_MusterRoll _$$_MusterRollFromJson(Map json) => - _$_MusterRoll( +_$MusterRollImpl _$$MusterRollImplFromJson(Map json) => + _$MusterRollImpl( id: json['id'] as String?, tenantId: json['tenantId'] as String, musterRollNumber: json['musterRollNumber'] as String?, @@ -30,8 +32,8 @@ _$_MusterRoll _$$_MusterRollFromJson(Map json) => musterRollStatus: json['musterRollStatus'] as String?, serviceCode: json['serviceCode'] as String?, referenceId: json['referenceId'] as String?, - startDate: json['startDate'] as int?, - endDate: json['endDate'] as int?, + startDate: (json['startDate'] as num?)?.toInt(), + endDate: (json['endDate'] as num?)?.toInt(), individualEntries: (json['individualEntries'] as List?) ?.map((e) => IndividualEntries.fromJson(e as Map)) .toList(), @@ -44,7 +46,7 @@ _$_MusterRoll _$$_MusterRollFromJson(Map json) => : AuditDetails.fromJson(json['auditDetails'] as Map), ); -Map _$$_MusterRollToJson(_$_MusterRoll instance) => +Map _$$MusterRollImplToJson(_$MusterRollImpl instance) => { 'id': instance.id, 'tenantId': instance.tenantId, @@ -61,8 +63,9 @@ Map _$$_MusterRollToJson(_$_MusterRoll instance) => 'auditDetails': instance.musterAuditDetails, }; -_$_IndividualEntries _$$_IndividualEntriesFromJson(Map json) => - _$_IndividualEntries( +_$IndividualEntriesImpl _$$IndividualEntriesImplFromJson( + Map json) => + _$IndividualEntriesImpl( id: json['id'] as String?, individualId: json['individualId'] as String?, totalAttendance: (json['totalAttendance'] as num?)?.toDouble(), @@ -75,8 +78,8 @@ _$_IndividualEntries _$$_IndividualEntriesFromJson(Map json) => json['additionalDetails'] as Map), ); -Map _$$_IndividualEntriesToJson( - _$_IndividualEntries instance) => +Map _$$IndividualEntriesImplToJson( + _$IndividualEntriesImpl instance) => { 'id': instance.id, 'individualId': instance.individualId, @@ -85,13 +88,13 @@ Map _$$_IndividualEntriesToJson( 'additionalDetails': instance.musterIndividualAdditionalDetails, }; -_$_MusterAdditionalDetails _$$_MusterAdditionalDetailsFromJson( +_$MusterAdditionalDetailsImpl _$$MusterAdditionalDetailsImplFromJson( Map json) => - _$_MusterAdditionalDetails( + _$MusterAdditionalDetailsImpl( attendanceRegisterName: json['attendanceRegisterName'] as String?, attendanceRegisterNo: json['attendanceRegisterNo'] as String?, orgName: json['orgName'] as String?, - amount: json['amount'] as int?, + amount: (json['amount'] as num?)?.toInt(), assignee: json['assignee'] as String?, billType: json['billType'] as String?, projectId: json['projectId'] as String?, @@ -100,8 +103,8 @@ _$_MusterAdditionalDetails _$$_MusterAdditionalDetailsFromJson( contractId: json['contractId'] as String?, ); -Map _$$_MusterAdditionalDetailsToJson( - _$_MusterAdditionalDetails instance) => +Map _$$MusterAdditionalDetailsImplToJson( + _$MusterAdditionalDetailsImpl instance) => { 'attendanceRegisterName': instance.attendanceRegisterName, 'attendanceRegisterNo': instance.attendanceRegisterNo, @@ -115,9 +118,10 @@ Map _$$_MusterAdditionalDetailsToJson( 'contractId': instance.contractId, }; -_$_MusterIndividualAdditionalDetails - _$$_MusterIndividualAdditionalDetailsFromJson(Map json) => - _$_MusterIndividualAdditionalDetails( +_$MusterIndividualAdditionalDetailsImpl + _$$MusterIndividualAdditionalDetailsImplFromJson( + Map json) => + _$MusterIndividualAdditionalDetailsImpl( userName: json['userName'] as String?, fatherName: json['fatherName'] as String?, gender: json['gender'] as String?, @@ -130,8 +134,8 @@ _$_MusterIndividualAdditionalDetails skillValue: json['skillValue'] as String?, ); -Map _$$_MusterIndividualAdditionalDetailsToJson( - _$_MusterIndividualAdditionalDetails instance) => +Map _$$MusterIndividualAdditionalDetailsImplToJson( + _$MusterIndividualAdditionalDetailsImpl instance) => { 'userName': instance.userName, 'fatherName': instance.fatherName, @@ -145,11 +149,12 @@ Map _$$_MusterIndividualAdditionalDetailsToJson( 'skillValue': instance.skillValue, }; -_$_AttendanceEntries _$$_AttendanceEntriesFromJson(Map json) => - _$_AttendanceEntries( +_$AttendanceEntriesImpl _$$AttendanceEntriesImplFromJson( + Map json) => + _$AttendanceEntriesImpl( id: json['id'] as String?, attendance: (json['attendance'] as num?)?.toDouble(), - time: json['time'] as int?, + time: (json['time'] as num?)?.toInt(), auditDetails: json['auditDetails'] == null ? null : AuditDetails.fromJson(json['auditDetails'] as Map), @@ -159,8 +164,8 @@ _$_AttendanceEntries _$$_AttendanceEntriesFromJson(Map json) => json['additionalDetails'] as Map), ); -Map _$$_AttendanceEntriesToJson( - _$_AttendanceEntries instance) => +Map _$$AttendanceEntriesImplToJson( + _$AttendanceEntriesImpl instance) => { 'id': instance.id, 'attendance': instance.attendance, @@ -169,29 +174,30 @@ Map _$$_AttendanceEntriesToJson( 'additionalDetails': instance.attendanceEntriesAdditionalDetails, }; -_$_AttendanceEntriesAdditionalDetails - _$$_AttendanceEntriesAdditionalDetailsFromJson(Map json) => - _$_AttendanceEntriesAdditionalDetails( +_$AttendanceEntriesAdditionalDetailsImpl + _$$AttendanceEntriesAdditionalDetailsImplFromJson( + Map json) => + _$AttendanceEntriesAdditionalDetailsImpl( entryAttendanceLogId: json['entryAttendanceLogId'] as String?, exitAttendanceLogId: json['exitAttendanceLogId'] as String?, ); -Map _$$_AttendanceEntriesAdditionalDetailsToJson( - _$_AttendanceEntriesAdditionalDetails instance) => +Map _$$AttendanceEntriesAdditionalDetailsImplToJson( + _$AttendanceEntriesAdditionalDetailsImpl instance) => { 'entryAttendanceLogId': instance.entryAttendanceLogId, 'exitAttendanceLogId': instance.exitAttendanceLogId, }; -_$_AuditDetails _$$_AuditDetailsFromJson(Map json) => - _$_AuditDetails( +_$AuditDetailsImpl _$$AuditDetailsImplFromJson(Map json) => + _$AuditDetailsImpl( createdBy: json['createdBy'] as String?, lastModifiedBy: json['lastModifiedBy'] as String?, - createdTime: json['createdTime'] as int?, - lastModifiedTime: json['lastModifiedTime'] as int?, + createdTime: (json['createdTime'] as num?)?.toInt(), + lastModifiedTime: (json['lastModifiedTime'] as num?)?.toInt(), ); -Map _$$_AuditDetailsToJson(_$_AuditDetails instance) => +Map _$$AuditDetailsImplToJson(_$AuditDetailsImpl instance) => { 'createdBy': instance.createdBy, 'lastModifiedBy': instance.lastModifiedBy, diff --git a/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.freezed.dart b/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.freezed.dart index 1d96cefc72..af5f104dd4 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.freezed.dart @@ -12,7 +12,7 @@ part of 'muster_workflow_model.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); MusterWorkFlowModel _$MusterWorkFlowModelFromJson(Map json) { return _MusterWorkFlowModel.fromJson(json); @@ -38,7 +38,7 @@ abstract class $MusterWorkFlowModelCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'ProcessInstances') - List? processInstances}); + List? processInstances}); } /// @nodoc @@ -66,24 +66,24 @@ class _$MusterWorkFlowModelCopyWithImpl<$Res, $Val extends MusterWorkFlowModel> } /// @nodoc -abstract class _$$_MusterWorkFlowModelCopyWith<$Res> +abstract class _$$MusterWorkFlowModelImplCopyWith<$Res> implements $MusterWorkFlowModelCopyWith<$Res> { - factory _$$_MusterWorkFlowModelCopyWith(_$_MusterWorkFlowModel value, - $Res Function(_$_MusterWorkFlowModel) then) = - __$$_MusterWorkFlowModelCopyWithImpl<$Res>; + factory _$$MusterWorkFlowModelImplCopyWith(_$MusterWorkFlowModelImpl value, + $Res Function(_$MusterWorkFlowModelImpl) then) = + __$$MusterWorkFlowModelImplCopyWithImpl<$Res>; @override @useResult $Res call( {@JsonKey(name: 'ProcessInstances') - List? processInstances}); + List? processInstances}); } /// @nodoc -class __$$_MusterWorkFlowModelCopyWithImpl<$Res> - extends _$MusterWorkFlowModelCopyWithImpl<$Res, _$_MusterWorkFlowModel> - implements _$$_MusterWorkFlowModelCopyWith<$Res> { - __$$_MusterWorkFlowModelCopyWithImpl(_$_MusterWorkFlowModel _value, - $Res Function(_$_MusterWorkFlowModel) _then) +class __$$MusterWorkFlowModelImplCopyWithImpl<$Res> + extends _$MusterWorkFlowModelCopyWithImpl<$Res, _$MusterWorkFlowModelImpl> + implements _$$MusterWorkFlowModelImplCopyWith<$Res> { + __$$MusterWorkFlowModelImplCopyWithImpl(_$MusterWorkFlowModelImpl _value, + $Res Function(_$MusterWorkFlowModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -91,7 +91,7 @@ class __$$_MusterWorkFlowModelCopyWithImpl<$Res> $Res call({ Object? processInstances = freezed, }) { - return _then(_$_MusterWorkFlowModel( + return _then(_$MusterWorkFlowModelImpl( processInstances: freezed == processInstances ? _value._processInstances : processInstances // ignore: cast_nullable_to_non_nullable @@ -102,14 +102,14 @@ class __$$_MusterWorkFlowModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MusterWorkFlowModel implements _MusterWorkFlowModel { - const _$_MusterWorkFlowModel( +class _$MusterWorkFlowModelImpl implements _MusterWorkFlowModel { + const _$MusterWorkFlowModelImpl( {@JsonKey(name: 'ProcessInstances') - final List? processInstances}) + final List? processInstances}) : _processInstances = processInstances; - factory _$_MusterWorkFlowModel.fromJson(Map json) => - _$$_MusterWorkFlowModelFromJson(json); + factory _$MusterWorkFlowModelImpl.fromJson(Map json) => + _$$MusterWorkFlowModelImplFromJson(json); final List? _processInstances; @override @@ -129,10 +129,10 @@ class _$_MusterWorkFlowModel implements _MusterWorkFlowModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MusterWorkFlowModel && + other is _$MusterWorkFlowModelImpl && const DeepCollectionEquality() .equals(other._processInstances, _processInstances)); } @@ -145,13 +145,13 @@ class _$_MusterWorkFlowModel implements _MusterWorkFlowModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MusterWorkFlowModelCopyWith<_$_MusterWorkFlowModel> get copyWith => - __$$_MusterWorkFlowModelCopyWithImpl<_$_MusterWorkFlowModel>( + _$$MusterWorkFlowModelImplCopyWith<_$MusterWorkFlowModelImpl> get copyWith => + __$$MusterWorkFlowModelImplCopyWithImpl<_$MusterWorkFlowModelImpl>( this, _$identity); @override Map toJson() { - return _$$_MusterWorkFlowModelToJson( + return _$$MusterWorkFlowModelImplToJson( this, ); } @@ -160,18 +160,18 @@ class _$_MusterWorkFlowModel implements _MusterWorkFlowModel { abstract class _MusterWorkFlowModel implements MusterWorkFlowModel { const factory _MusterWorkFlowModel( {@JsonKey(name: 'ProcessInstances') - final List? processInstances}) = - _$_MusterWorkFlowModel; + final List? processInstances}) = + _$MusterWorkFlowModelImpl; factory _MusterWorkFlowModel.fromJson(Map json) = - _$_MusterWorkFlowModel.fromJson; + _$MusterWorkFlowModelImpl.fromJson; @override @JsonKey(name: 'ProcessInstances') List? get processInstances; @override @JsonKey(ignore: true) - _$$_MusterWorkFlowModelCopyWith<_$_MusterWorkFlowModel> get copyWith => + _$$MusterWorkFlowModelImplCopyWith<_$MusterWorkFlowModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -342,11 +342,11 @@ class _$ProcessInstancesCopyWithImpl<$Res, $Val extends ProcessInstances> } /// @nodoc -abstract class _$$_ProcessInstancesCopyWith<$Res> +abstract class _$$ProcessInstancesImplCopyWith<$Res> implements $ProcessInstancesCopyWith<$Res> { - factory _$$_ProcessInstancesCopyWith( - _$_ProcessInstances value, $Res Function(_$_ProcessInstances) then) = - __$$_ProcessInstancesCopyWithImpl<$Res>; + factory _$$ProcessInstancesImplCopyWith(_$ProcessInstancesImpl value, + $Res Function(_$ProcessInstancesImpl) then) = + __$$ProcessInstancesImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -372,11 +372,11 @@ abstract class _$$_ProcessInstancesCopyWith<$Res> } /// @nodoc -class __$$_ProcessInstancesCopyWithImpl<$Res> - extends _$ProcessInstancesCopyWithImpl<$Res, _$_ProcessInstances> - implements _$$_ProcessInstancesCopyWith<$Res> { - __$$_ProcessInstancesCopyWithImpl( - _$_ProcessInstances _value, $Res Function(_$_ProcessInstances) _then) +class __$$ProcessInstancesImplCopyWithImpl<$Res> + extends _$ProcessInstancesCopyWithImpl<$Res, _$ProcessInstancesImpl> + implements _$$ProcessInstancesImplCopyWith<$Res> { + __$$ProcessInstancesImplCopyWithImpl(_$ProcessInstancesImpl _value, + $Res Function(_$ProcessInstancesImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -395,7 +395,7 @@ class __$$_ProcessInstancesCopyWithImpl<$Res> Object? nextActions = freezed, Object? workflowState = freezed, }) { - return _then(_$_ProcessInstances( + return _then(_$ProcessInstancesImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -450,8 +450,8 @@ class __$$_ProcessInstancesCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_ProcessInstances implements _ProcessInstances { - const _$_ProcessInstances( +class _$ProcessInstancesImpl implements _ProcessInstances { + const _$ProcessInstancesImpl( {required this.tenantId, this.businessService, this.id, @@ -468,8 +468,8 @@ class _$_ProcessInstances implements _ProcessInstances { _documents = documents, _nextActions = nextActions; - factory _$_ProcessInstances.fromJson(Map json) => - _$$_ProcessInstancesFromJson(json); + factory _$ProcessInstancesImpl.fromJson(Map json) => + _$$ProcessInstancesImplFromJson(json); @override final String tenantId; @@ -527,10 +527,10 @@ class _$_ProcessInstances implements _ProcessInstances { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_ProcessInstances && + other is _$ProcessInstancesImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.businessService, businessService) || @@ -573,12 +573,13 @@ class _$_ProcessInstances implements _ProcessInstances { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_ProcessInstancesCopyWith<_$_ProcessInstances> get copyWith => - __$$_ProcessInstancesCopyWithImpl<_$_ProcessInstances>(this, _$identity); + _$$ProcessInstancesImplCopyWith<_$ProcessInstancesImpl> get copyWith => + __$$ProcessInstancesImplCopyWithImpl<_$ProcessInstancesImpl>( + this, _$identity); @override Map toJson() { - return _$$_ProcessInstancesToJson( + return _$$ProcessInstancesImplToJson( this, ); } @@ -598,10 +599,10 @@ abstract class _ProcessInstances implements ProcessInstances { final String? comment, final List? nextActions, @JsonKey(name: 'state') final WorkflowState? workflowState}) = - _$_ProcessInstances; + _$ProcessInstancesImpl; factory _ProcessInstances.fromJson(Map json) = - _$_ProcessInstances.fromJson; + _$ProcessInstancesImpl.fromJson; @override String get tenantId; @@ -630,7 +631,7 @@ abstract class _ProcessInstances implements ProcessInstances { WorkflowState? get workflowState; @override @JsonKey(ignore: true) - _$$_ProcessInstancesCopyWith<_$_ProcessInstances> get copyWith => + _$$ProcessInstancesImplCopyWith<_$ProcessInstancesImpl> get copyWith => throw _privateConstructorUsedError; } @@ -718,11 +719,11 @@ class _$NextActionsCopyWithImpl<$Res, $Val extends NextActions> } /// @nodoc -abstract class _$$_NextActionsCopyWith<$Res> +abstract class _$$NextActionsImplCopyWith<$Res> implements $NextActionsCopyWith<$Res> { - factory _$$_NextActionsCopyWith( - _$_NextActions value, $Res Function(_$_NextActions) then) = - __$$_NextActionsCopyWithImpl<$Res>; + factory _$$NextActionsImplCopyWith( + _$NextActionsImpl value, $Res Function(_$NextActionsImpl) then) = + __$$NextActionsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -735,11 +736,11 @@ abstract class _$$_NextActionsCopyWith<$Res> } /// @nodoc -class __$$_NextActionsCopyWithImpl<$Res> - extends _$NextActionsCopyWithImpl<$Res, _$_NextActions> - implements _$$_NextActionsCopyWith<$Res> { - __$$_NextActionsCopyWithImpl( - _$_NextActions _value, $Res Function(_$_NextActions) _then) +class __$$NextActionsImplCopyWithImpl<$Res> + extends _$NextActionsCopyWithImpl<$Res, _$NextActionsImpl> + implements _$$NextActionsImplCopyWith<$Res> { + __$$NextActionsImplCopyWithImpl( + _$NextActionsImpl _value, $Res Function(_$NextActionsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -752,7 +753,7 @@ class __$$_NextActionsCopyWithImpl<$Res> Object? tenantId = freezed, Object? roles = freezed, }) { - return _then(_$_NextActions( + return _then(_$NextActionsImpl( action: freezed == action ? _value.action : action // ignore: cast_nullable_to_non_nullable @@ -783,8 +784,8 @@ class __$$_NextActionsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_NextActions implements _NextActions { - const _$_NextActions( +class _$NextActionsImpl implements _NextActions { + const _$NextActionsImpl( {this.action, this.uuid, this.currentState, @@ -793,8 +794,8 @@ class _$_NextActions implements _NextActions { final List? roles}) : _roles = roles; - factory _$_NextActions.fromJson(Map json) => - _$$_NextActionsFromJson(json); + factory _$NextActionsImpl.fromJson(Map json) => + _$$NextActionsImplFromJson(json); @override final String? action; @@ -822,10 +823,10 @@ class _$_NextActions implements _NextActions { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_NextActions && + other is _$NextActionsImpl && (identical(other.action, action) || other.action == action) && (identical(other.uuid, uuid) || other.uuid == uuid) && (identical(other.currentState, currentState) || @@ -845,12 +846,12 @@ class _$_NextActions implements _NextActions { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_NextActionsCopyWith<_$_NextActions> get copyWith => - __$$_NextActionsCopyWithImpl<_$_NextActions>(this, _$identity); + _$$NextActionsImplCopyWith<_$NextActionsImpl> get copyWith => + __$$NextActionsImplCopyWithImpl<_$NextActionsImpl>(this, _$identity); @override Map toJson() { - return _$$_NextActionsToJson( + return _$$NextActionsImplToJson( this, ); } @@ -863,10 +864,10 @@ abstract class _NextActions implements NextActions { final String? currentState, final String? nextState, final String? tenantId, - final List? roles}) = _$_NextActions; + final List? roles}) = _$NextActionsImpl; factory _NextActions.fromJson(Map json) = - _$_NextActions.fromJson; + _$NextActionsImpl.fromJson; @override String? get action; @@ -882,7 +883,7 @@ abstract class _NextActions implements NextActions { List? get roles; @override @JsonKey(ignore: true) - _$$_NextActionsCopyWith<_$_NextActions> get copyWith => + _$$NextActionsImplCopyWith<_$NextActionsImpl> get copyWith => throw _privateConstructorUsedError; } @@ -926,7 +927,7 @@ abstract class $WorkflowDocumentCopyWith<$Res> { bool? isActive, int? indexing, @JsonKey(name: 'additionalDetails') - DocumentAdditionalDetails? documentAdditionalDetails}); + DocumentAdditionalDetails? documentAdditionalDetails}); $DocumentAdditionalDetailsCopyWith<$Res>? get documentAdditionalDetails; } @@ -1009,11 +1010,11 @@ class _$WorkflowDocumentCopyWithImpl<$Res, $Val extends WorkflowDocument> } /// @nodoc -abstract class _$$_WorkflowDocumentCopyWith<$Res> +abstract class _$$WorkflowDocumentImplCopyWith<$Res> implements $WorkflowDocumentCopyWith<$Res> { - factory _$$_WorkflowDocumentCopyWith( - _$_WorkflowDocument value, $Res Function(_$_WorkflowDocument) then) = - __$$_WorkflowDocumentCopyWithImpl<$Res>; + factory _$$WorkflowDocumentImplCopyWith(_$WorkflowDocumentImpl value, + $Res Function(_$WorkflowDocumentImpl) then) = + __$$WorkflowDocumentImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1026,18 +1027,18 @@ abstract class _$$_WorkflowDocumentCopyWith<$Res> bool? isActive, int? indexing, @JsonKey(name: 'additionalDetails') - DocumentAdditionalDetails? documentAdditionalDetails}); + DocumentAdditionalDetails? documentAdditionalDetails}); @override $DocumentAdditionalDetailsCopyWith<$Res>? get documentAdditionalDetails; } /// @nodoc -class __$$_WorkflowDocumentCopyWithImpl<$Res> - extends _$WorkflowDocumentCopyWithImpl<$Res, _$_WorkflowDocument> - implements _$$_WorkflowDocumentCopyWith<$Res> { - __$$_WorkflowDocumentCopyWithImpl( - _$_WorkflowDocument _value, $Res Function(_$_WorkflowDocument) _then) +class __$$WorkflowDocumentImplCopyWithImpl<$Res> + extends _$WorkflowDocumentCopyWithImpl<$Res, _$WorkflowDocumentImpl> + implements _$$WorkflowDocumentImplCopyWith<$Res> { + __$$WorkflowDocumentImplCopyWithImpl(_$WorkflowDocumentImpl _value, + $Res Function(_$WorkflowDocumentImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1053,7 +1054,7 @@ class __$$_WorkflowDocumentCopyWithImpl<$Res> Object? indexing = freezed, Object? documentAdditionalDetails = freezed, }) { - return _then(_$_WorkflowDocument( + return _then(_$WorkflowDocumentImpl( documentType: freezed == documentType ? _value.documentType : documentType // ignore: cast_nullable_to_non_nullable @@ -1096,8 +1097,8 @@ class __$$_WorkflowDocumentCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_WorkflowDocument implements _WorkflowDocument { - const _$_WorkflowDocument( +class _$WorkflowDocumentImpl implements _WorkflowDocument { + const _$WorkflowDocumentImpl( {this.documentType, this.documentUid, this.fileStoreId, @@ -1108,8 +1109,8 @@ class _$_WorkflowDocument implements _WorkflowDocument { this.indexing, @JsonKey(name: 'additionalDetails') this.documentAdditionalDetails}); - factory _$_WorkflowDocument.fromJson(Map json) => - _$$_WorkflowDocumentFromJson(json); + factory _$WorkflowDocumentImpl.fromJson(Map json) => + _$$WorkflowDocumentImplFromJson(json); @override final String? documentType; @@ -1137,10 +1138,10 @@ class _$_WorkflowDocument implements _WorkflowDocument { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_WorkflowDocument && + other is _$WorkflowDocumentImpl && (identical(other.documentType, documentType) || other.documentType == documentType) && (identical(other.documentUid, documentUid) || @@ -1178,12 +1179,13 @@ class _$_WorkflowDocument implements _WorkflowDocument { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_WorkflowDocumentCopyWith<_$_WorkflowDocument> get copyWith => - __$$_WorkflowDocumentCopyWithImpl<_$_WorkflowDocument>(this, _$identity); + _$$WorkflowDocumentImplCopyWith<_$WorkflowDocumentImpl> get copyWith => + __$$WorkflowDocumentImplCopyWithImpl<_$WorkflowDocumentImpl>( + this, _$identity); @override Map toJson() { - return _$$_WorkflowDocumentToJson( + return _$$WorkflowDocumentImplToJson( this, ); } @@ -1200,11 +1202,11 @@ abstract class _WorkflowDocument implements WorkflowDocument { final bool? isActive, final int? indexing, @JsonKey(name: 'additionalDetails') - final DocumentAdditionalDetails? documentAdditionalDetails}) = - _$_WorkflowDocument; + final DocumentAdditionalDetails? documentAdditionalDetails}) = + _$WorkflowDocumentImpl; factory _WorkflowDocument.fromJson(Map json) = - _$_WorkflowDocument.fromJson; + _$WorkflowDocumentImpl.fromJson; @override String? get documentType; @@ -1227,7 +1229,7 @@ abstract class _WorkflowDocument implements WorkflowDocument { DocumentAdditionalDetails? get documentAdditionalDetails; @override @JsonKey(ignore: true) - _$$_WorkflowDocumentCopyWith<_$_WorkflowDocument> get copyWith => + _$$WorkflowDocumentImplCopyWith<_$WorkflowDocumentImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1293,25 +1295,25 @@ class _$DocumentAdditionalDetailsCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_DocumentAdditionalDetailsCopyWith<$Res> +abstract class _$$DocumentAdditionalDetailsImplCopyWith<$Res> implements $DocumentAdditionalDetailsCopyWith<$Res> { - factory _$$_DocumentAdditionalDetailsCopyWith( - _$_DocumentAdditionalDetails value, - $Res Function(_$_DocumentAdditionalDetails) then) = - __$$_DocumentAdditionalDetailsCopyWithImpl<$Res>; + factory _$$DocumentAdditionalDetailsImplCopyWith( + _$DocumentAdditionalDetailsImpl value, + $Res Function(_$DocumentAdditionalDetailsImpl) then) = + __$$DocumentAdditionalDetailsImplCopyWithImpl<$Res>; @override @useResult $Res call({String? fileName, String? fileType, String? tenantId}); } /// @nodoc -class __$$_DocumentAdditionalDetailsCopyWithImpl<$Res> +class __$$DocumentAdditionalDetailsImplCopyWithImpl<$Res> extends _$DocumentAdditionalDetailsCopyWithImpl<$Res, - _$_DocumentAdditionalDetails> - implements _$$_DocumentAdditionalDetailsCopyWith<$Res> { - __$$_DocumentAdditionalDetailsCopyWithImpl( - _$_DocumentAdditionalDetails _value, - $Res Function(_$_DocumentAdditionalDetails) _then) + _$DocumentAdditionalDetailsImpl> + implements _$$DocumentAdditionalDetailsImplCopyWith<$Res> { + __$$DocumentAdditionalDetailsImplCopyWithImpl( + _$DocumentAdditionalDetailsImpl _value, + $Res Function(_$DocumentAdditionalDetailsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1321,7 +1323,7 @@ class __$$_DocumentAdditionalDetailsCopyWithImpl<$Res> Object? fileType = freezed, Object? tenantId = freezed, }) { - return _then(_$_DocumentAdditionalDetails( + return _then(_$DocumentAdditionalDetailsImpl( fileName: freezed == fileName ? _value.fileName : fileName // ignore: cast_nullable_to_non_nullable @@ -1340,12 +1342,12 @@ class __$$_DocumentAdditionalDetailsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_DocumentAdditionalDetails implements _DocumentAdditionalDetails { - const _$_DocumentAdditionalDetails( +class _$DocumentAdditionalDetailsImpl implements _DocumentAdditionalDetails { + const _$DocumentAdditionalDetailsImpl( {this.fileName, this.fileType, this.tenantId}); - factory _$_DocumentAdditionalDetails.fromJson(Map json) => - _$$_DocumentAdditionalDetailsFromJson(json); + factory _$DocumentAdditionalDetailsImpl.fromJson(Map json) => + _$$DocumentAdditionalDetailsImplFromJson(json); @override final String? fileName; @@ -1360,10 +1362,10 @@ class _$_DocumentAdditionalDetails implements _DocumentAdditionalDetails { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_DocumentAdditionalDetails && + other is _$DocumentAdditionalDetailsImpl && (identical(other.fileName, fileName) || other.fileName == fileName) && (identical(other.fileType, fileType) || @@ -1379,13 +1381,13 @@ class _$_DocumentAdditionalDetails implements _DocumentAdditionalDetails { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_DocumentAdditionalDetailsCopyWith<_$_DocumentAdditionalDetails> - get copyWith => __$$_DocumentAdditionalDetailsCopyWithImpl< - _$_DocumentAdditionalDetails>(this, _$identity); + _$$DocumentAdditionalDetailsImplCopyWith<_$DocumentAdditionalDetailsImpl> + get copyWith => __$$DocumentAdditionalDetailsImplCopyWithImpl< + _$DocumentAdditionalDetailsImpl>(this, _$identity); @override Map toJson() { - return _$$_DocumentAdditionalDetailsToJson( + return _$$DocumentAdditionalDetailsImplToJson( this, ); } @@ -1395,10 +1397,10 @@ abstract class _DocumentAdditionalDetails implements DocumentAdditionalDetails { const factory _DocumentAdditionalDetails( {final String? fileName, final String? fileType, - final String? tenantId}) = _$_DocumentAdditionalDetails; + final String? tenantId}) = _$DocumentAdditionalDetailsImpl; factory _DocumentAdditionalDetails.fromJson(Map json) = - _$_DocumentAdditionalDetails.fromJson; + _$DocumentAdditionalDetailsImpl.fromJson; @override String? get fileName; @@ -1408,7 +1410,7 @@ abstract class _DocumentAdditionalDetails implements DocumentAdditionalDetails { String? get tenantId; @override @JsonKey(ignore: true) - _$$_DocumentAdditionalDetailsCopyWith<_$_DocumentAdditionalDetails> + _$$DocumentAdditionalDetailsImplCopyWith<_$DocumentAdditionalDetailsImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1502,10 +1504,11 @@ class _$AssigneesCopyWithImpl<$Res, $Val extends Assignees> } /// @nodoc -abstract class _$$_AssigneesCopyWith<$Res> implements $AssigneesCopyWith<$Res> { - factory _$$_AssigneesCopyWith( - _$_Assignees value, $Res Function(_$_Assignees) then) = - __$$_AssigneesCopyWithImpl<$Res>; +abstract class _$$AssigneesImplCopyWith<$Res> + implements $AssigneesCopyWith<$Res> { + factory _$$AssigneesImplCopyWith( + _$AssigneesImpl value, $Res Function(_$AssigneesImpl) then) = + __$$AssigneesImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1519,11 +1522,11 @@ abstract class _$$_AssigneesCopyWith<$Res> implements $AssigneesCopyWith<$Res> { } /// @nodoc -class __$$_AssigneesCopyWithImpl<$Res> - extends _$AssigneesCopyWithImpl<$Res, _$_Assignees> - implements _$$_AssigneesCopyWith<$Res> { - __$$_AssigneesCopyWithImpl( - _$_Assignees _value, $Res Function(_$_Assignees) _then) +class __$$AssigneesImplCopyWithImpl<$Res> + extends _$AssigneesCopyWithImpl<$Res, _$AssigneesImpl> + implements _$$AssigneesImplCopyWith<$Res> { + __$$AssigneesImplCopyWithImpl( + _$AssigneesImpl _value, $Res Function(_$AssigneesImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1537,7 +1540,7 @@ class __$$_AssigneesCopyWithImpl<$Res> Object? uuid = freezed, Object? userName = freezed, }) { - return _then(_$_Assignees( + return _then(_$AssigneesImpl( emailId: freezed == emailId ? _value.emailId : emailId // ignore: cast_nullable_to_non_nullable @@ -1572,8 +1575,8 @@ class __$$_AssigneesCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_Assignees implements _Assignees { - const _$_Assignees( +class _$AssigneesImpl implements _Assignees { + const _$AssigneesImpl( {this.emailId, this.id, this.mobileNumber, @@ -1582,8 +1585,8 @@ class _$_Assignees implements _Assignees { this.uuid, this.userName}); - factory _$_Assignees.fromJson(Map json) => - _$$_AssigneesFromJson(json); + factory _$AssigneesImpl.fromJson(Map json) => + _$$AssigneesImplFromJson(json); @override final String? emailId; @@ -1606,10 +1609,10 @@ class _$_Assignees implements _Assignees { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Assignees && + other is _$AssigneesImpl && (identical(other.emailId, emailId) || other.emailId == emailId) && (identical(other.id, id) || other.id == id) && (identical(other.mobileNumber, mobileNumber) || @@ -1630,12 +1633,12 @@ class _$_Assignees implements _Assignees { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AssigneesCopyWith<_$_Assignees> get copyWith => - __$$_AssigneesCopyWithImpl<_$_Assignees>(this, _$identity); + _$$AssigneesImplCopyWith<_$AssigneesImpl> get copyWith => + __$$AssigneesImplCopyWithImpl<_$AssigneesImpl>(this, _$identity); @override Map toJson() { - return _$$_AssigneesToJson( + return _$$AssigneesImplToJson( this, ); } @@ -1649,10 +1652,10 @@ abstract class _Assignees implements Assignees { final String? name, final String? tenantId, final String? uuid, - final String? userName}) = _$_Assignees; + final String? userName}) = _$AssigneesImpl; factory _Assignees.fromJson(Map json) = - _$_Assignees.fromJson; + _$AssigneesImpl.fromJson; @override String? get emailId; @@ -1670,7 +1673,7 @@ abstract class _Assignees implements Assignees { String? get userName; @override @JsonKey(ignore: true) - _$$_AssigneesCopyWith<_$_Assignees> get copyWith => + _$$AssigneesImplCopyWith<_$AssigneesImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1772,11 +1775,11 @@ class _$WorkflowStateCopyWithImpl<$Res, $Val extends WorkflowState> } /// @nodoc -abstract class _$$_WorkflowStateCopyWith<$Res> +abstract class _$$WorkflowStateImplCopyWith<$Res> implements $WorkflowStateCopyWith<$Res> { - factory _$$_WorkflowStateCopyWith( - _$_WorkflowState value, $Res Function(_$_WorkflowState) then) = - __$$_WorkflowStateCopyWithImpl<$Res>; + factory _$$WorkflowStateImplCopyWith( + _$WorkflowStateImpl value, $Res Function(_$WorkflowStateImpl) then) = + __$$WorkflowStateImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1791,11 +1794,11 @@ abstract class _$$_WorkflowStateCopyWith<$Res> } /// @nodoc -class __$$_WorkflowStateCopyWithImpl<$Res> - extends _$WorkflowStateCopyWithImpl<$Res, _$_WorkflowState> - implements _$$_WorkflowStateCopyWith<$Res> { - __$$_WorkflowStateCopyWithImpl( - _$_WorkflowState _value, $Res Function(_$_WorkflowState) _then) +class __$$WorkflowStateImplCopyWithImpl<$Res> + extends _$WorkflowStateCopyWithImpl<$Res, _$WorkflowStateImpl> + implements _$$WorkflowStateImplCopyWith<$Res> { + __$$WorkflowStateImplCopyWithImpl( + _$WorkflowStateImpl _value, $Res Function(_$WorkflowStateImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1810,7 +1813,7 @@ class __$$_WorkflowStateCopyWithImpl<$Res> Object? actions = freezed, Object? isStateUpdatable = freezed, }) { - return _then(_$_WorkflowState( + return _then(_$WorkflowStateImpl( tenantId: null == tenantId ? _value.tenantId : tenantId // ignore: cast_nullable_to_non_nullable @@ -1849,8 +1852,8 @@ class __$$_WorkflowStateCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_WorkflowState implements _WorkflowState { - const _$_WorkflowState( +class _$WorkflowStateImpl implements _WorkflowState { + const _$WorkflowStateImpl( {required this.tenantId, this.businessServiceId, this.applicationStatus, @@ -1861,8 +1864,8 @@ class _$_WorkflowState implements _WorkflowState { this.isStateUpdatable}) : _actions = actions; - factory _$_WorkflowState.fromJson(Map json) => - _$$_WorkflowStateFromJson(json); + factory _$WorkflowStateImpl.fromJson(Map json) => + _$$WorkflowStateImplFromJson(json); @override final String tenantId; @@ -1895,10 +1898,10 @@ class _$_WorkflowState implements _WorkflowState { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_WorkflowState && + other is _$WorkflowStateImpl && (identical(other.tenantId, tenantId) || other.tenantId == tenantId) && (identical(other.businessServiceId, businessServiceId) || @@ -1931,12 +1934,12 @@ class _$_WorkflowState implements _WorkflowState { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_WorkflowStateCopyWith<_$_WorkflowState> get copyWith => - __$$_WorkflowStateCopyWithImpl<_$_WorkflowState>(this, _$identity); + _$$WorkflowStateImplCopyWith<_$WorkflowStateImpl> get copyWith => + __$$WorkflowStateImplCopyWithImpl<_$WorkflowStateImpl>(this, _$identity); @override Map toJson() { - return _$$_WorkflowStateToJson( + return _$$WorkflowStateImplToJson( this, ); } @@ -1951,10 +1954,10 @@ abstract class _WorkflowState implements WorkflowState { final bool? isStartState, final bool? isTerminateState, final List? actions, - final bool? isStateUpdatable}) = _$_WorkflowState; + final bool? isStateUpdatable}) = _$WorkflowStateImpl; factory _WorkflowState.fromJson(Map json) = - _$_WorkflowState.fromJson; + _$WorkflowStateImpl.fromJson; @override String get tenantId; @@ -1974,7 +1977,7 @@ abstract class _WorkflowState implements WorkflowState { bool? get isStateUpdatable; @override @JsonKey(ignore: true) - _$$_WorkflowStateCopyWith<_$_WorkflowState> get copyWith => + _$$WorkflowStateImplCopyWith<_$WorkflowStateImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2026,22 +2029,22 @@ class _$WorkflowActionsCopyWithImpl<$Res, $Val extends WorkflowActions> } /// @nodoc -abstract class _$$_WorkflowActionsCopyWith<$Res> +abstract class _$$WorkflowActionsImplCopyWith<$Res> implements $WorkflowActionsCopyWith<$Res> { - factory _$$_WorkflowActionsCopyWith( - _$_WorkflowActions value, $Res Function(_$_WorkflowActions) then) = - __$$_WorkflowActionsCopyWithImpl<$Res>; + factory _$$WorkflowActionsImplCopyWith(_$WorkflowActionsImpl value, + $Res Function(_$WorkflowActionsImpl) then) = + __$$WorkflowActionsImplCopyWithImpl<$Res>; @override @useResult $Res call({List? roles}); } /// @nodoc -class __$$_WorkflowActionsCopyWithImpl<$Res> - extends _$WorkflowActionsCopyWithImpl<$Res, _$_WorkflowActions> - implements _$$_WorkflowActionsCopyWith<$Res> { - __$$_WorkflowActionsCopyWithImpl( - _$_WorkflowActions _value, $Res Function(_$_WorkflowActions) _then) +class __$$WorkflowActionsImplCopyWithImpl<$Res> + extends _$WorkflowActionsCopyWithImpl<$Res, _$WorkflowActionsImpl> + implements _$$WorkflowActionsImplCopyWith<$Res> { + __$$WorkflowActionsImplCopyWithImpl( + _$WorkflowActionsImpl _value, $Res Function(_$WorkflowActionsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -2049,7 +2052,7 @@ class __$$_WorkflowActionsCopyWithImpl<$Res> $Res call({ Object? roles = freezed, }) { - return _then(_$_WorkflowActions( + return _then(_$WorkflowActionsImpl( roles: freezed == roles ? _value._roles : roles // ignore: cast_nullable_to_non_nullable @@ -2060,11 +2063,11 @@ class __$$_WorkflowActionsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_WorkflowActions implements _WorkflowActions { - const _$_WorkflowActions({final List? roles}) : _roles = roles; +class _$WorkflowActionsImpl implements _WorkflowActions { + const _$WorkflowActionsImpl({final List? roles}) : _roles = roles; - factory _$_WorkflowActions.fromJson(Map json) => - _$$_WorkflowActionsFromJson(json); + factory _$WorkflowActionsImpl.fromJson(Map json) => + _$$WorkflowActionsImplFromJson(json); final List? _roles; @override @@ -2082,10 +2085,10 @@ class _$_WorkflowActions implements _WorkflowActions { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_WorkflowActions && + other is _$WorkflowActionsImpl && const DeepCollectionEquality().equals(other._roles, _roles)); } @@ -2097,12 +2100,13 @@ class _$_WorkflowActions implements _WorkflowActions { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_WorkflowActionsCopyWith<_$_WorkflowActions> get copyWith => - __$$_WorkflowActionsCopyWithImpl<_$_WorkflowActions>(this, _$identity); + _$$WorkflowActionsImplCopyWith<_$WorkflowActionsImpl> get copyWith => + __$$WorkflowActionsImplCopyWithImpl<_$WorkflowActionsImpl>( + this, _$identity); @override Map toJson() { - return _$$_WorkflowActionsToJson( + return _$$WorkflowActionsImplToJson( this, ); } @@ -2110,16 +2114,16 @@ class _$_WorkflowActions implements _WorkflowActions { abstract class _WorkflowActions implements WorkflowActions { const factory _WorkflowActions({final List? roles}) = - _$_WorkflowActions; + _$WorkflowActionsImpl; factory _WorkflowActions.fromJson(Map json) = - _$_WorkflowActions.fromJson; + _$WorkflowActionsImpl.fromJson; @override List? get roles; @override @JsonKey(ignore: true) - _$$_WorkflowActionsCopyWith<_$_WorkflowActions> get copyWith => + _$$WorkflowActionsImplCopyWith<_$WorkflowActionsImpl> get copyWith => throw _privateConstructorUsedError; } @@ -2213,10 +2217,11 @@ class _$AssignerCopyWithImpl<$Res, $Val extends Assigner> } /// @nodoc -abstract class _$$_AssignerCopyWith<$Res> implements $AssignerCopyWith<$Res> { - factory _$$_AssignerCopyWith( - _$_Assigner value, $Res Function(_$_Assigner) then) = - __$$_AssignerCopyWithImpl<$Res>; +abstract class _$$AssignerImplCopyWith<$Res> + implements $AssignerCopyWith<$Res> { + factory _$$AssignerImplCopyWith( + _$AssignerImpl value, $Res Function(_$AssignerImpl) then) = + __$$AssignerImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -2230,11 +2235,11 @@ abstract class _$$_AssignerCopyWith<$Res> implements $AssignerCopyWith<$Res> { } /// @nodoc -class __$$_AssignerCopyWithImpl<$Res> - extends _$AssignerCopyWithImpl<$Res, _$_Assigner> - implements _$$_AssignerCopyWith<$Res> { - __$$_AssignerCopyWithImpl( - _$_Assigner _value, $Res Function(_$_Assigner) _then) +class __$$AssignerImplCopyWithImpl<$Res> + extends _$AssignerCopyWithImpl<$Res, _$AssignerImpl> + implements _$$AssignerImplCopyWith<$Res> { + __$$AssignerImplCopyWithImpl( + _$AssignerImpl _value, $Res Function(_$AssignerImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -2248,7 +2253,7 @@ class __$$_AssignerCopyWithImpl<$Res> Object? uuid = freezed, Object? userName = freezed, }) { - return _then(_$_Assigner( + return _then(_$AssignerImpl( emailId: freezed == emailId ? _value.emailId : emailId // ignore: cast_nullable_to_non_nullable @@ -2283,8 +2288,8 @@ class __$$_AssignerCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_Assigner implements _Assigner { - const _$_Assigner( +class _$AssignerImpl implements _Assigner { + const _$AssignerImpl( {this.emailId, this.id, this.mobileNumber, @@ -2293,8 +2298,8 @@ class _$_Assigner implements _Assigner { this.uuid, this.userName}); - factory _$_Assigner.fromJson(Map json) => - _$$_AssignerFromJson(json); + factory _$AssignerImpl.fromJson(Map json) => + _$$AssignerImplFromJson(json); @override final String? emailId; @@ -2317,10 +2322,10 @@ class _$_Assigner implements _Assigner { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_Assigner && + other is _$AssignerImpl && (identical(other.emailId, emailId) || other.emailId == emailId) && (identical(other.id, id) || other.id == id) && (identical(other.mobileNumber, mobileNumber) || @@ -2341,12 +2346,12 @@ class _$_Assigner implements _Assigner { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_AssignerCopyWith<_$_Assigner> get copyWith => - __$$_AssignerCopyWithImpl<_$_Assigner>(this, _$identity); + _$$AssignerImplCopyWith<_$AssignerImpl> get copyWith => + __$$AssignerImplCopyWithImpl<_$AssignerImpl>(this, _$identity); @override Map toJson() { - return _$$_AssignerToJson( + return _$$AssignerImplToJson( this, ); } @@ -2360,9 +2365,10 @@ abstract class _Assigner implements Assigner { final String? name, final String? tenantId, final String? uuid, - final String? userName}) = _$_Assigner; + final String? userName}) = _$AssignerImpl; - factory _Assigner.fromJson(Map json) = _$_Assigner.fromJson; + factory _Assigner.fromJson(Map json) = + _$AssignerImpl.fromJson; @override String? get emailId; @@ -2380,6 +2386,6 @@ abstract class _Assigner implements Assigner { String? get userName; @override @JsonKey(ignore: true) - _$$_AssignerCopyWith<_$_Assigner> get copyWith => + _$$AssignerImplCopyWith<_$AssignerImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.g.dart b/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.g.dart index 6649cea3c8..3940a283e1 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.g.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.g.dart @@ -6,22 +6,23 @@ part of 'muster_workflow_model.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_MusterWorkFlowModel _$$_MusterWorkFlowModelFromJson( +_$MusterWorkFlowModelImpl _$$MusterWorkFlowModelImplFromJson( Map json) => - _$_MusterWorkFlowModel( + _$MusterWorkFlowModelImpl( processInstances: (json['ProcessInstances'] as List?) ?.map((e) => ProcessInstances.fromJson(e as Map)) .toList(), ); -Map _$$_MusterWorkFlowModelToJson( - _$_MusterWorkFlowModel instance) => +Map _$$MusterWorkFlowModelImplToJson( + _$MusterWorkFlowModelImpl instance) => { 'ProcessInstances': instance.processInstances, }; -_$_ProcessInstances _$$_ProcessInstancesFromJson(Map json) => - _$_ProcessInstances( +_$ProcessInstancesImpl _$$ProcessInstancesImplFromJson( + Map json) => + _$ProcessInstancesImpl( tenantId: json['tenantId'] as String, businessService: json['businessService'] as String?, id: json['id'] as String?, @@ -48,7 +49,8 @@ _$_ProcessInstances _$$_ProcessInstancesFromJson(Map json) => : WorkflowState.fromJson(json['state'] as Map), ); -Map _$$_ProcessInstancesToJson(_$_ProcessInstances instance) => +Map _$$ProcessInstancesImplToJson( + _$ProcessInstancesImpl instance) => { 'tenantId': instance.tenantId, 'businessService': instance.businessService, @@ -64,8 +66,8 @@ Map _$$_ProcessInstancesToJson(_$_ProcessInstances instance) => 'state': instance.workflowState, }; -_$_NextActions _$$_NextActionsFromJson(Map json) => - _$_NextActions( +_$NextActionsImpl _$$NextActionsImplFromJson(Map json) => + _$NextActionsImpl( action: json['action'] as String?, uuid: json['uuid'] as String?, currentState: json['currentState'] as String?, @@ -75,7 +77,7 @@ _$_NextActions _$$_NextActionsFromJson(Map json) => (json['roles'] as List?)?.map((e) => e as String).toList(), ); -Map _$$_NextActionsToJson(_$_NextActions instance) => +Map _$$NextActionsImplToJson(_$NextActionsImpl instance) => { 'action': instance.action, 'uuid': instance.uuid, @@ -85,8 +87,9 @@ Map _$$_NextActionsToJson(_$_NextActions instance) => 'roles': instance.roles, }; -_$_WorkflowDocument _$$_WorkflowDocumentFromJson(Map json) => - _$_WorkflowDocument( +_$WorkflowDocumentImpl _$$WorkflowDocumentImplFromJson( + Map json) => + _$WorkflowDocumentImpl( documentType: json['documentType'] as String?, documentUid: json['documentUid'] as String?, fileStoreId: json['fileStoreId'] as String?, @@ -94,14 +97,15 @@ _$_WorkflowDocument _$$_WorkflowDocumentFromJson(Map json) => tenantId: json['tenantId'] as String?, fileStore: json['fileStore'] as String?, isActive: json['isActive'] as bool?, - indexing: json['indexing'] as int?, + indexing: (json['indexing'] as num?)?.toInt(), documentAdditionalDetails: json['additionalDetails'] == null ? null : DocumentAdditionalDetails.fromJson( json['additionalDetails'] as Map), ); -Map _$$_WorkflowDocumentToJson(_$_WorkflowDocument instance) => +Map _$$WorkflowDocumentImplToJson( + _$WorkflowDocumentImpl instance) => { 'documentType': instance.documentType, 'documentUid': instance.documentUid, @@ -114,25 +118,26 @@ Map _$$_WorkflowDocumentToJson(_$_WorkflowDocument instance) => 'additionalDetails': instance.documentAdditionalDetails, }; -_$_DocumentAdditionalDetails _$$_DocumentAdditionalDetailsFromJson( +_$DocumentAdditionalDetailsImpl _$$DocumentAdditionalDetailsImplFromJson( Map json) => - _$_DocumentAdditionalDetails( + _$DocumentAdditionalDetailsImpl( fileName: json['fileName'] as String?, fileType: json['fileType'] as String?, tenantId: json['tenantId'] as String?, ); -Map _$$_DocumentAdditionalDetailsToJson( - _$_DocumentAdditionalDetails instance) => +Map _$$DocumentAdditionalDetailsImplToJson( + _$DocumentAdditionalDetailsImpl instance) => { 'fileName': instance.fileName, 'fileType': instance.fileType, 'tenantId': instance.tenantId, }; -_$_Assignees _$$_AssigneesFromJson(Map json) => _$_Assignees( +_$AssigneesImpl _$$AssigneesImplFromJson(Map json) => + _$AssigneesImpl( emailId: json['emailId'] as String?, - id: json['id'] as int?, + id: (json['id'] as num?)?.toInt(), mobileNumber: json['mobileNumber'] as String?, name: json['name'] as String?, tenantId: json['tenantId'] as String?, @@ -140,7 +145,7 @@ _$_Assignees _$$_AssigneesFromJson(Map json) => _$_Assignees( userName: json['userName'] as String?, ); -Map _$$_AssigneesToJson(_$_Assignees instance) => +Map _$$AssigneesImplToJson(_$AssigneesImpl instance) => { 'emailId': instance.emailId, 'id': instance.id, @@ -151,8 +156,8 @@ Map _$$_AssigneesToJson(_$_Assignees instance) => 'userName': instance.userName, }; -_$_WorkflowState _$$_WorkflowStateFromJson(Map json) => - _$_WorkflowState( +_$WorkflowStateImpl _$$WorkflowStateImplFromJson(Map json) => + _$WorkflowStateImpl( tenantId: json['tenantId'] as String, businessServiceId: json['businessServiceId'] as String?, applicationStatus: json['applicationStatus'] as String?, @@ -165,7 +170,7 @@ _$_WorkflowState _$$_WorkflowStateFromJson(Map json) => isStateUpdatable: json['isStateUpdatable'] as bool?, ); -Map _$$_WorkflowStateToJson(_$_WorkflowState instance) => +Map _$$WorkflowStateImplToJson(_$WorkflowStateImpl instance) => { 'tenantId': instance.tenantId, 'businessServiceId': instance.businessServiceId, @@ -177,20 +182,23 @@ Map _$$_WorkflowStateToJson(_$_WorkflowState instance) => 'isStateUpdatable': instance.isStateUpdatable, }; -_$_WorkflowActions _$$_WorkflowActionsFromJson(Map json) => - _$_WorkflowActions( +_$WorkflowActionsImpl _$$WorkflowActionsImplFromJson( + Map json) => + _$WorkflowActionsImpl( roles: (json['roles'] as List?)?.map((e) => e as String).toList(), ); -Map _$$_WorkflowActionsToJson(_$_WorkflowActions instance) => +Map _$$WorkflowActionsImplToJson( + _$WorkflowActionsImpl instance) => { 'roles': instance.roles, }; -_$_Assigner _$$_AssignerFromJson(Map json) => _$_Assigner( +_$AssignerImpl _$$AssignerImplFromJson(Map json) => + _$AssignerImpl( emailId: json['emailId'] as String?, - id: json['id'] as int?, + id: (json['id'] as num?)?.toInt(), mobileNumber: json['mobileNumber'] as String?, name: json['name'] as String?, tenantId: json['tenantId'] as String?, @@ -198,7 +206,7 @@ _$_Assigner _$$_AssignerFromJson(Map json) => _$_Assigner( userName: json['userName'] as String?, ); -Map _$$_AssignerToJson(_$_Assigner instance) => +Map _$$AssignerImplToJson(_$AssignerImpl instance) => { 'emailId': instance.emailId, 'id': instance.id, diff --git a/frontend/works_shg_app/lib/models/my_bills/my_bills_inbox_config.freezed.dart b/frontend/works_shg_app/lib/models/my_bills/my_bills_inbox_config.freezed.dart index 96ec241d03..d5526f20e2 100644 --- a/frontend/works_shg_app/lib/models/my_bills/my_bills_inbox_config.freezed.dart +++ b/frontend/works_shg_app/lib/models/my_bills/my_bills_inbox_config.freezed.dart @@ -12,7 +12,7 @@ part of 'my_bills_inbox_config.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); MyBillsInboxConfigList _$MyBillsInboxConfigListFromJson( Map json) { @@ -39,7 +39,7 @@ abstract class $MyBillsInboxConfigListCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'CBOBillInboxConfig') - List myBillsInboxConfig}); + List myBillsInboxConfig}); } /// @nodoc @@ -68,25 +68,27 @@ class _$MyBillsInboxConfigListCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_MyBillsInboxConfigListCopyWith<$Res> +abstract class _$$MyBillsInboxConfigListImplCopyWith<$Res> implements $MyBillsInboxConfigListCopyWith<$Res> { - factory _$$_MyBillsInboxConfigListCopyWith(_$_MyBillsInboxConfigList value, - $Res Function(_$_MyBillsInboxConfigList) then) = - __$$_MyBillsInboxConfigListCopyWithImpl<$Res>; + factory _$$MyBillsInboxConfigListImplCopyWith( + _$MyBillsInboxConfigListImpl value, + $Res Function(_$MyBillsInboxConfigListImpl) then) = + __$$MyBillsInboxConfigListImplCopyWithImpl<$Res>; @override @useResult $Res call( {@JsonKey(name: 'CBOBillInboxConfig') - List myBillsInboxConfig}); + List myBillsInboxConfig}); } /// @nodoc -class __$$_MyBillsInboxConfigListCopyWithImpl<$Res> +class __$$MyBillsInboxConfigListImplCopyWithImpl<$Res> extends _$MyBillsInboxConfigListCopyWithImpl<$Res, - _$_MyBillsInboxConfigList> - implements _$$_MyBillsInboxConfigListCopyWith<$Res> { - __$$_MyBillsInboxConfigListCopyWithImpl(_$_MyBillsInboxConfigList _value, - $Res Function(_$_MyBillsInboxConfigList) _then) + _$MyBillsInboxConfigListImpl> + implements _$$MyBillsInboxConfigListImplCopyWith<$Res> { + __$$MyBillsInboxConfigListImplCopyWithImpl( + _$MyBillsInboxConfigListImpl _value, + $Res Function(_$MyBillsInboxConfigListImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -94,7 +96,7 @@ class __$$_MyBillsInboxConfigListCopyWithImpl<$Res> $Res call({ Object? myBillsInboxConfig = null, }) { - return _then(_$_MyBillsInboxConfigList( + return _then(_$MyBillsInboxConfigListImpl( myBillsInboxConfig: null == myBillsInboxConfig ? _value._myBillsInboxConfig : myBillsInboxConfig // ignore: cast_nullable_to_non_nullable @@ -105,14 +107,14 @@ class __$$_MyBillsInboxConfigListCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MyBillsInboxConfigList implements _MyBillsInboxConfigList { - const _$_MyBillsInboxConfigList( +class _$MyBillsInboxConfigListImpl implements _MyBillsInboxConfigList { + const _$MyBillsInboxConfigListImpl( {@JsonKey(name: 'CBOBillInboxConfig') - required final List myBillsInboxConfig}) + required final List myBillsInboxConfig}) : _myBillsInboxConfig = myBillsInboxConfig; - factory _$_MyBillsInboxConfigList.fromJson(Map json) => - _$$_MyBillsInboxConfigListFromJson(json); + factory _$MyBillsInboxConfigListImpl.fromJson(Map json) => + _$$MyBillsInboxConfigListImplFromJson(json); final List _myBillsInboxConfig; @override @@ -130,10 +132,10 @@ class _$_MyBillsInboxConfigList implements _MyBillsInboxConfigList { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MyBillsInboxConfigList && + other is _$MyBillsInboxConfigListImpl && const DeepCollectionEquality() .equals(other._myBillsInboxConfig, _myBillsInboxConfig)); } @@ -146,13 +148,13 @@ class _$_MyBillsInboxConfigList implements _MyBillsInboxConfigList { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MyBillsInboxConfigListCopyWith<_$_MyBillsInboxConfigList> get copyWith => - __$$_MyBillsInboxConfigListCopyWithImpl<_$_MyBillsInboxConfigList>( - this, _$identity); + _$$MyBillsInboxConfigListImplCopyWith<_$MyBillsInboxConfigListImpl> + get copyWith => __$$MyBillsInboxConfigListImplCopyWithImpl< + _$MyBillsInboxConfigListImpl>(this, _$identity); @override Map toJson() { - return _$$_MyBillsInboxConfigListToJson( + return _$$MyBillsInboxConfigListImplToJson( this, ); } @@ -161,19 +163,19 @@ class _$_MyBillsInboxConfigList implements _MyBillsInboxConfigList { abstract class _MyBillsInboxConfigList implements MyBillsInboxConfigList { const factory _MyBillsInboxConfigList( {@JsonKey(name: 'CBOBillInboxConfig') - required final List myBillsInboxConfig}) = - _$_MyBillsInboxConfigList; + required final List myBillsInboxConfig}) = + _$MyBillsInboxConfigListImpl; factory _MyBillsInboxConfigList.fromJson(Map json) = - _$_MyBillsInboxConfigList.fromJson; + _$MyBillsInboxConfigListImpl.fromJson; @override @JsonKey(name: 'CBOBillInboxConfig') List get myBillsInboxConfig; @override @JsonKey(ignore: true) - _$$_MyBillsInboxConfigListCopyWith<_$_MyBillsInboxConfigList> get copyWith => - throw _privateConstructorUsedError; + _$$MyBillsInboxConfigListImplCopyWith<_$MyBillsInboxConfigListImpl> + get copyWith => throw _privateConstructorUsedError; } MyBillsInboxConfig _$MyBillsInboxConfigFromJson(Map json) { @@ -230,22 +232,22 @@ class _$MyBillsInboxConfigCopyWithImpl<$Res, $Val extends MyBillsInboxConfig> } /// @nodoc -abstract class _$$_MyBillsInboxConfigCopyWith<$Res> +abstract class _$$MyBillsInboxConfigImplCopyWith<$Res> implements $MyBillsInboxConfigCopyWith<$Res> { - factory _$$_MyBillsInboxConfigCopyWith(_$_MyBillsInboxConfig value, - $Res Function(_$_MyBillsInboxConfig) then) = - __$$_MyBillsInboxConfigCopyWithImpl<$Res>; + factory _$$MyBillsInboxConfigImplCopyWith(_$MyBillsInboxConfigImpl value, + $Res Function(_$MyBillsInboxConfigImpl) then) = + __$$MyBillsInboxConfigImplCopyWithImpl<$Res>; @override @useResult $Res call({String rejectedCode, String approvedCode}); } /// @nodoc -class __$$_MyBillsInboxConfigCopyWithImpl<$Res> - extends _$MyBillsInboxConfigCopyWithImpl<$Res, _$_MyBillsInboxConfig> - implements _$$_MyBillsInboxConfigCopyWith<$Res> { - __$$_MyBillsInboxConfigCopyWithImpl( - _$_MyBillsInboxConfig _value, $Res Function(_$_MyBillsInboxConfig) _then) +class __$$MyBillsInboxConfigImplCopyWithImpl<$Res> + extends _$MyBillsInboxConfigCopyWithImpl<$Res, _$MyBillsInboxConfigImpl> + implements _$$MyBillsInboxConfigImplCopyWith<$Res> { + __$$MyBillsInboxConfigImplCopyWithImpl(_$MyBillsInboxConfigImpl _value, + $Res Function(_$MyBillsInboxConfigImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -254,7 +256,7 @@ class __$$_MyBillsInboxConfigCopyWithImpl<$Res> Object? rejectedCode = null, Object? approvedCode = null, }) { - return _then(_$_MyBillsInboxConfig( + return _then(_$MyBillsInboxConfigImpl( rejectedCode: null == rejectedCode ? _value.rejectedCode : rejectedCode // ignore: cast_nullable_to_non_nullable @@ -269,12 +271,12 @@ class __$$_MyBillsInboxConfigCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MyBillsInboxConfig implements _MyBillsInboxConfig { - const _$_MyBillsInboxConfig( +class _$MyBillsInboxConfigImpl implements _MyBillsInboxConfig { + const _$MyBillsInboxConfigImpl( {required this.rejectedCode, required this.approvedCode}); - factory _$_MyBillsInboxConfig.fromJson(Map json) => - _$$_MyBillsInboxConfigFromJson(json); + factory _$MyBillsInboxConfigImpl.fromJson(Map json) => + _$$MyBillsInboxConfigImplFromJson(json); @override final String rejectedCode; @@ -287,10 +289,10 @@ class _$_MyBillsInboxConfig implements _MyBillsInboxConfig { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MyBillsInboxConfig && + other is _$MyBillsInboxConfigImpl && (identical(other.rejectedCode, rejectedCode) || other.rejectedCode == rejectedCode) && (identical(other.approvedCode, approvedCode) || @@ -304,13 +306,13 @@ class _$_MyBillsInboxConfig implements _MyBillsInboxConfig { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MyBillsInboxConfigCopyWith<_$_MyBillsInboxConfig> get copyWith => - __$$_MyBillsInboxConfigCopyWithImpl<_$_MyBillsInboxConfig>( + _$$MyBillsInboxConfigImplCopyWith<_$MyBillsInboxConfigImpl> get copyWith => + __$$MyBillsInboxConfigImplCopyWithImpl<_$MyBillsInboxConfigImpl>( this, _$identity); @override Map toJson() { - return _$$_MyBillsInboxConfigToJson( + return _$$MyBillsInboxConfigImplToJson( this, ); } @@ -319,10 +321,10 @@ class _$_MyBillsInboxConfig implements _MyBillsInboxConfig { abstract class _MyBillsInboxConfig implements MyBillsInboxConfig { const factory _MyBillsInboxConfig( {required final String rejectedCode, - required final String approvedCode}) = _$_MyBillsInboxConfig; + required final String approvedCode}) = _$MyBillsInboxConfigImpl; factory _MyBillsInboxConfig.fromJson(Map json) = - _$_MyBillsInboxConfig.fromJson; + _$MyBillsInboxConfigImpl.fromJson; @override String get rejectedCode; @@ -330,6 +332,6 @@ abstract class _MyBillsInboxConfig implements MyBillsInboxConfig { String get approvedCode; @override @JsonKey(ignore: true) - _$$_MyBillsInboxConfigCopyWith<_$_MyBillsInboxConfig> get copyWith => + _$$MyBillsInboxConfigImplCopyWith<_$MyBillsInboxConfigImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/my_bills/my_bills_inbox_config.g.dart b/frontend/works_shg_app/lib/models/my_bills/my_bills_inbox_config.g.dart index 0a35207267..fe7abb30fa 100644 --- a/frontend/works_shg_app/lib/models/my_bills/my_bills_inbox_config.g.dart +++ b/frontend/works_shg_app/lib/models/my_bills/my_bills_inbox_config.g.dart @@ -6,29 +6,29 @@ part of 'my_bills_inbox_config.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_MyBillsInboxConfigList _$$_MyBillsInboxConfigListFromJson( +_$MyBillsInboxConfigListImpl _$$MyBillsInboxConfigListImplFromJson( Map json) => - _$_MyBillsInboxConfigList( + _$MyBillsInboxConfigListImpl( myBillsInboxConfig: (json['CBOBillInboxConfig'] as List) .map((e) => MyBillsInboxConfig.fromJson(e as Map)) .toList(), ); -Map _$$_MyBillsInboxConfigListToJson( - _$_MyBillsInboxConfigList instance) => +Map _$$MyBillsInboxConfigListImplToJson( + _$MyBillsInboxConfigListImpl instance) => { 'CBOBillInboxConfig': instance.myBillsInboxConfig, }; -_$_MyBillsInboxConfig _$$_MyBillsInboxConfigFromJson( +_$MyBillsInboxConfigImpl _$$MyBillsInboxConfigImplFromJson( Map json) => - _$_MyBillsInboxConfig( + _$MyBillsInboxConfigImpl( rejectedCode: json['rejectedCode'] as String, approvedCode: json['approvedCode'] as String, ); -Map _$$_MyBillsInboxConfigToJson( - _$_MyBillsInboxConfig instance) => +Map _$$MyBillsInboxConfigImplToJson( + _$MyBillsInboxConfigImpl instance) => { 'rejectedCode': instance.rejectedCode, 'approvedCode': instance.approvedCode, diff --git a/frontend/works_shg_app/lib/models/my_bills/my_bills_model.mapper.dart b/frontend/works_shg_app/lib/models/my_bills/my_bills_model.mapper.dart index 9e582599b1..42b82c3903 100644 --- a/frontend/works_shg_app/lib/models/my_bills/my_bills_model.mapper.dart +++ b/frontend/works_shg_app/lib/models/my_bills/my_bills_model.mapper.dart @@ -1,383 +1,434 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element +// ignore_for_file: unused_element, unnecessary_cast, override_on_non_overriding_member +// ignore_for_file: strict_raw_type, inference_failure_on_untyped_parameter part of 'my_bills_model.dart'; -class MyBillsListModelMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {MyBillsListModelMapper()}, - )..linkAll({MyBillModelMapper.container}); +class MyBillsListModelMapper extends ClassMapperBase { + MyBillsListModelMapper._(); - @override - MyBillsListModelMapperElement createElement(MapperContainer container) { - return MyBillsListModelMapperElement._(this, container); + static MyBillsListModelMapper? _instance; + static MyBillsListModelMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = MyBillsListModelMapper._()); + MyBillModelMapper.ensureInitialized(); + } + return _instance!; } @override - String get id => 'MyBillsListModel'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + final String id = 'MyBillsListModel'; -class MyBillsListModelMapperElement - extends MapperElementBase { - MyBillsListModelMapperElement._(super.mapper, super.container); + static List? _$bills(MyBillsListModel v) => v.bills; + static const Field> _f$bills = + Field('bills', _$bills, opt: true); @override - Function get decoder => decode; - MyBillsListModel decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - MyBillsListModel fromMap(Map map) => - MyBillsListModel(bills: container.$getOpt(map, 'bills')); + final MappableFields fields = const { + #bills: _f$bills, + }; - @override - Function get encoder => encode; - dynamic encode(MyBillsListModel v) => toMap(v); - Map toMap(MyBillsListModel m) => - {'bills': container.$enc(m.bills, 'bills')}; + static MyBillsListModel _instantiate(DecodingData data) { + return MyBillsListModel(bills: data.dec(_f$bills)); + } @override - String stringify(MyBillsListModel self) => - 'MyBillsListModel(bills: ${container.asString(self.bills)})'; - @override - int hash(MyBillsListModel self) => container.hash(self.bills); - @override - bool equals(MyBillsListModel self, MyBillsListModel other) => - container.isEqual(self.bills, other.bills); + final Function instantiate = _instantiate; + + static MyBillsListModel fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static MyBillsListModel fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin MyBillsListModelMappable { - String toJson() => - MyBillsListModelMapper.container.toJson(this as MyBillsListModel); - Map toMap() => - MyBillsListModelMapper.container.toMap(this as MyBillsListModel); + String toJson() { + return MyBillsListModelMapper.ensureInitialized() + .encodeJson(this as MyBillsListModel); + } + + Map toMap() { + return MyBillsListModelMapper.ensureInitialized() + .encodeMap(this as MyBillsListModel); + } + MyBillsListModelCopyWith get copyWith => _MyBillsListModelCopyWithImpl( this as MyBillsListModel, $identity, $identity); @override - String toString() => MyBillsListModelMapper.container.asString(this); + String toString() { + return MyBillsListModelMapper.ensureInitialized() + .stringifyValue(this as MyBillsListModel); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - MyBillsListModelMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return MyBillsListModelMapper.ensureInitialized() + .equalsValue(this as MyBillsListModel, other); + } + @override - int get hashCode => MyBillsListModelMapper.container.hash(this); + int get hashCode { + return MyBillsListModelMapper.ensureInitialized() + .hashValue(this as MyBillsListModel); + } } -extension MyBillsListModelValueCopy<$R, $Out extends MyBillsListModel> +extension MyBillsListModelValueCopy<$R, $Out> on ObjectCopyWith<$R, MyBillsListModel, $Out> { - MyBillsListModelCopyWith<$R, MyBillsListModel, $Out> get asMyBillsListModel => - base.as((v, t, t2) => _MyBillsListModelCopyWithImpl(v, t, t2)); + MyBillsListModelCopyWith<$R, MyBillsListModel, $Out> + get $asMyBillsListModel => + $base.as((v, t, t2) => _MyBillsListModelCopyWithImpl(v, t, t2)); } -typedef MyBillsListModelCopyWithBound = MyBillsListModel; - -abstract class MyBillsListModelCopyWith<$R, $In extends MyBillsListModel, - $Out extends MyBillsListModel> implements ObjectCopyWith<$R, $In, $Out> { - MyBillsListModelCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends MyBillsListModel>( - Then t, Then<$Out2, $R2> t2); +abstract class MyBillsListModelCopyWith<$R, $In extends MyBillsListModel, $Out> + implements ClassCopyWith<$R, $In, $Out> { ListCopyWith<$R, MyBillModel, MyBillModelCopyWith<$R, MyBillModel, MyBillModel>>? get bills; $R call({List? bills}); + MyBillsListModelCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _MyBillsListModelCopyWithImpl<$R, $Out extends MyBillsListModel> - extends CopyWithBase<$R, MyBillsListModel, $Out> +class _MyBillsListModelCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, MyBillsListModel, $Out> implements MyBillsListModelCopyWith<$R, MyBillsListModel, $Out> { _MyBillsListModelCopyWithImpl(super.value, super.then, super.then2); - @override - MyBillsListModelCopyWith<$R2, MyBillsListModel, $Out2> - chain<$R2, $Out2 extends MyBillsListModel>( - Then t, Then<$Out2, $R2> t2) => - _MyBillsListModelCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + MyBillsListModelMapper.ensureInitialized(); @override ListCopyWith<$R, MyBillModel, MyBillModelCopyWith<$R, MyBillModel, MyBillModel>>? get bills => $value.bills != null - ? ListCopyWith( - $value.bills!, - (v, t) => v.copyWith.chain<$R, MyBillModel>($identity, t), + ? ListCopyWith($value.bills!, (v, t) => v.copyWith.$chain(t), (v) => call(bills: v)) : null; @override $R call({Object? bills = $none}) => - $then(MyBillsListModel(bills: or(bills, $value.bills))); + $apply(FieldCopyWithData({if (bills != $none) #bills: bills})); + @override + MyBillsListModel $make(CopyWithData data) => + MyBillsListModel(bills: data.get(#bills, or: $value.bills)); + + @override + MyBillsListModelCopyWith<$R2, MyBillsListModel, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _MyBillsListModelCopyWithImpl($value, $cast, t); } -class MyBillModelMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {MyBillModelMapper()}, - )..linkAll({BillModelMapper.container}); +class MyBillModelMapper extends ClassMapperBase { + MyBillModelMapper._(); - @override - MyBillModelMapperElement createElement(MapperContainer container) { - return MyBillModelMapperElement._(this, container); + static MyBillModelMapper? _instance; + static MyBillModelMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = MyBillModelMapper._()); + BillModelMapper.ensureInitialized(); + } + return _instance!; } @override - String get id => 'MyBillModel'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + final String id = 'MyBillModel'; -class MyBillModelMapperElement extends MapperElementBase { - MyBillModelMapperElement._(super.mapper, super.container); + static BillModel? _$bill(MyBillModel v) => v.bill; + static const Field _f$bill = + Field('bill', _$bill, opt: true); + static String? _$musterRollNumber(MyBillModel v) => v.musterRollNumber; + static const Field _f$musterRollNumber = + Field('musterRollNumber', _$musterRollNumber, opt: true); + static String? _$contractNumber(MyBillModel v) => v.contractNumber; + static const Field _f$contractNumber = + Field('contractNumber', _$contractNumber, opt: true); @override - Function get decoder => decode; - MyBillModel decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - MyBillModel fromMap(Map map) => MyBillModel( - bill: container.$getOpt(map, 'bill'), - musterRollNumber: container.$getOpt(map, 'musterRollNumber'), - contractNumber: container.$getOpt(map, 'contractNumber')); + final MappableFields fields = const { + #bill: _f$bill, + #musterRollNumber: _f$musterRollNumber, + #contractNumber: _f$contractNumber, + }; - @override - Function get encoder => encode; - dynamic encode(MyBillModel v) => toMap(v); - Map toMap(MyBillModel m) => { - 'bill': container.$enc(m.bill, 'bill'), - 'musterRollNumber': - container.$enc(m.musterRollNumber, 'musterRollNumber'), - 'contractNumber': container.$enc(m.contractNumber, 'contractNumber') - }; + static MyBillModel _instantiate(DecodingData data) { + return MyBillModel( + bill: data.dec(_f$bill), + musterRollNumber: data.dec(_f$musterRollNumber), + contractNumber: data.dec(_f$contractNumber)); + } @override - String stringify(MyBillModel self) => - 'MyBillModel(contractNumber: ${container.asString(self.contractNumber)}, musterRollNumber: ${container.asString(self.musterRollNumber)}, bill: ${container.asString(self.bill)})'; - @override - int hash(MyBillModel self) => - container.hash(self.contractNumber) ^ - container.hash(self.musterRollNumber) ^ - container.hash(self.bill); - @override - bool equals(MyBillModel self, MyBillModel other) => - container.isEqual(self.contractNumber, other.contractNumber) && - container.isEqual(self.musterRollNumber, other.musterRollNumber) && - container.isEqual(self.bill, other.bill); + final Function instantiate = _instantiate; + + static MyBillModel fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static MyBillModel fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin MyBillModelMappable { - String toJson() => MyBillModelMapper.container.toJson(this as MyBillModel); - Map toMap() => - MyBillModelMapper.container.toMap(this as MyBillModel); + String toJson() { + return MyBillModelMapper.ensureInitialized() + .encodeJson(this as MyBillModel); + } + + Map toMap() { + return MyBillModelMapper.ensureInitialized() + .encodeMap(this as MyBillModel); + } + MyBillModelCopyWith get copyWith => _MyBillModelCopyWithImpl(this as MyBillModel, $identity, $identity); @override - String toString() => MyBillModelMapper.container.asString(this); + String toString() { + return MyBillModelMapper.ensureInitialized() + .stringifyValue(this as MyBillModel); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - MyBillModelMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return MyBillModelMapper.ensureInitialized() + .equalsValue(this as MyBillModel, other); + } + @override - int get hashCode => MyBillModelMapper.container.hash(this); + int get hashCode { + return MyBillModelMapper.ensureInitialized().hashValue(this as MyBillModel); + } } -extension MyBillModelValueCopy<$R, $Out extends MyBillModel> +extension MyBillModelValueCopy<$R, $Out> on ObjectCopyWith<$R, MyBillModel, $Out> { - MyBillModelCopyWith<$R, MyBillModel, $Out> get asMyBillModel => - base.as((v, t, t2) => _MyBillModelCopyWithImpl(v, t, t2)); + MyBillModelCopyWith<$R, MyBillModel, $Out> get $asMyBillModel => + $base.as((v, t, t2) => _MyBillModelCopyWithImpl(v, t, t2)); } -typedef MyBillModelCopyWithBound = MyBillModel; - -abstract class MyBillModelCopyWith<$R, $In extends MyBillModel, - $Out extends MyBillModel> implements ObjectCopyWith<$R, $In, $Out> { - MyBillModelCopyWith<$R2, $In, $Out2> chain<$R2, $Out2 extends MyBillModel>( - Then t, Then<$Out2, $R2> t2); +abstract class MyBillModelCopyWith<$R, $In extends MyBillModel, $Out> + implements ClassCopyWith<$R, $In, $Out> { BillModelCopyWith<$R, BillModel, BillModel>? get bill; $R call({BillModel? bill, String? musterRollNumber, String? contractNumber}); + MyBillModelCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); } -class _MyBillModelCopyWithImpl<$R, $Out extends MyBillModel> - extends CopyWithBase<$R, MyBillModel, $Out> +class _MyBillModelCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, MyBillModel, $Out> implements MyBillModelCopyWith<$R, MyBillModel, $Out> { _MyBillModelCopyWithImpl(super.value, super.then, super.then2); - @override - MyBillModelCopyWith<$R2, MyBillModel, $Out2> - chain<$R2, $Out2 extends MyBillModel>( - Then t, Then<$Out2, $R2> t2) => - _MyBillModelCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + MyBillModelMapper.ensureInitialized(); @override BillModelCopyWith<$R, BillModel, BillModel>? get bill => - $value.bill?.copyWith.chain($identity, (v) => call(bill: v)); + $value.bill?.copyWith.$chain((v) => call(bill: v)); @override $R call( {Object? bill = $none, Object? musterRollNumber = $none, Object? contractNumber = $none}) => - $then(MyBillModel( - bill: or(bill, $value.bill), - musterRollNumber: or(musterRollNumber, $value.musterRollNumber), - contractNumber: or(contractNumber, $value.contractNumber))); + $apply(FieldCopyWithData({ + if (bill != $none) #bill: bill, + if (musterRollNumber != $none) #musterRollNumber: musterRollNumber, + if (contractNumber != $none) #contractNumber: contractNumber + })); + @override + MyBillModel $make(CopyWithData data) => MyBillModel( + bill: data.get(#bill, or: $value.bill), + musterRollNumber: + data.get(#musterRollNumber, or: $value.musterRollNumber), + contractNumber: data.get(#contractNumber, or: $value.contractNumber)); + + @override + MyBillModelCopyWith<$R2, MyBillModel, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _MyBillModelCopyWithImpl($value, $cast, t); } -class BillModelMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {BillModelMapper()}, - )..linkAll({ - ContractAuditDetailsMapper.container, - BillDetailsMapper.container, - PayerMapper.container, - BillAdditionalDetailsMapper.container, - }); +class BillModelMapper extends ClassMapperBase { + BillModelMapper._(); + + static BillModelMapper? _instance; + static BillModelMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = BillModelMapper._()); + ContractAuditDetailsMapper.ensureInitialized(); + BillDetailsMapper.ensureInitialized(); + PayerMapper.ensureInitialized(); + BillAdditionalDetailsMapper.ensureInitialized(); + } + return _instance!; + } @override - BillModelMapperElement createElement(MapperContainer container) { - return BillModelMapperElement._(this, container); + final String id = 'BillModel'; + + static String? _$id(BillModel v) => v.id; + static const Field _f$id = Field('id', _$id, opt: true); + static String _$tenantId(BillModel v) => v.tenantId; + static const Field _f$tenantId = + Field('tenantId', _$tenantId); + static String? _$referenceId(BillModel v) => v.referenceId; + static const Field _f$referenceId = + Field('referenceId', _$referenceId, opt: true); + static String? _$status(BillModel v) => v.status; + static const Field _f$status = + Field('status', _$status, opt: true); + static int? _$dueDate(BillModel v) => v.dueDate; + static const Field _f$dueDate = + Field('dueDate', _$dueDate, opt: true); + static ContractAuditDetails? _$auditDetails(BillModel v) => v.auditDetails; + static const Field _f$auditDetails = + Field('auditDetails', _$auditDetails, opt: true); + static String? _$paymentStatus(BillModel v) => v.paymentStatus; + static const Field _f$paymentStatus = + Field('paymentStatus', _$paymentStatus, opt: true); + static int? _$billDate(BillModel v) => v.billDate; + static const Field _f$billDate = + Field('billDate', _$billDate, opt: true); + static List? _$billDetails(BillModel v) => v.billDetails; + static const Field> _f$billDetails = + Field('billDetails', _$billDetails, opt: true); + static String? _$businessService(BillModel v) => v.businessService; + static const Field _f$businessService = + Field('businessService', _$businessService, opt: true); + static int? _$fromPeriod(BillModel v) => v.fromPeriod; + static const Field _f$fromPeriod = + Field('fromPeriod', _$fromPeriod, opt: true); + static num? _$netPaidAmount(BillModel v) => v.netPaidAmount; + static const Field _f$netPaidAmount = + Field('netPaidAmount', _$netPaidAmount, opt: true); + static num? _$netPayableAmount(BillModel v) => v.netPayableAmount; + static const Field _f$netPayableAmount = + Field('netPayableAmount', _$netPayableAmount, opt: true); + static Payer? _$payer(BillModel v) => v.payer; + static const Field _f$payer = + Field('payer', _$payer, opt: true); + static int? _$toPeriod(BillModel v) => v.toPeriod; + static const Field _f$toPeriod = + Field('toPeriod', _$toPeriod, opt: true); + static String? _$billNumber(BillModel v) => v.billNumber; + static const Field _f$billNumber = + Field('billNumber', _$billNumber, opt: true); + static String? _$wfStatus(BillModel v) => v.wfStatus; + static const Field _f$wfStatus = + Field('wfStatus', _$wfStatus, opt: true); + static BillAdditionalDetails? _$additionalDetails(BillModel v) => + v.additionalDetails; + static const Field _f$additionalDetails = + Field('additionalDetails', _$additionalDetails, opt: true); + static num? _$totalAmount(BillModel v) => v.totalAmount; + static const Field _f$totalAmount = + Field('totalAmount', _$totalAmount, opt: true); + static num? _$totalPaidAmount(BillModel v) => v.totalPaidAmount; + static const Field _f$totalPaidAmount = + Field('totalPaidAmount', _$totalPaidAmount, opt: true); + + @override + final MappableFields fields = const { + #id: _f$id, + #tenantId: _f$tenantId, + #referenceId: _f$referenceId, + #status: _f$status, + #dueDate: _f$dueDate, + #auditDetails: _f$auditDetails, + #paymentStatus: _f$paymentStatus, + #billDate: _f$billDate, + #billDetails: _f$billDetails, + #businessService: _f$businessService, + #fromPeriod: _f$fromPeriod, + #netPaidAmount: _f$netPaidAmount, + #netPayableAmount: _f$netPayableAmount, + #payer: _f$payer, + #toPeriod: _f$toPeriod, + #billNumber: _f$billNumber, + #wfStatus: _f$wfStatus, + #additionalDetails: _f$additionalDetails, + #totalAmount: _f$totalAmount, + #totalPaidAmount: _f$totalPaidAmount, + }; + + static BillModel _instantiate(DecodingData data) { + return BillModel( + id: data.dec(_f$id), + tenantId: data.dec(_f$tenantId), + referenceId: data.dec(_f$referenceId), + status: data.dec(_f$status), + dueDate: data.dec(_f$dueDate), + auditDetails: data.dec(_f$auditDetails), + paymentStatus: data.dec(_f$paymentStatus), + billDate: data.dec(_f$billDate), + billDetails: data.dec(_f$billDetails), + businessService: data.dec(_f$businessService), + fromPeriod: data.dec(_f$fromPeriod), + netPaidAmount: data.dec(_f$netPaidAmount), + netPayableAmount: data.dec(_f$netPayableAmount), + payer: data.dec(_f$payer), + toPeriod: data.dec(_f$toPeriod), + billNumber: data.dec(_f$billNumber), + wfStatus: data.dec(_f$wfStatus), + additionalDetails: data.dec(_f$additionalDetails), + totalAmount: data.dec(_f$totalAmount), + totalPaidAmount: data.dec(_f$totalPaidAmount)); } @override - String get id => 'BillModel'; + final Function instantiate = _instantiate; - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + static BillModel fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } -class BillModelMapperElement extends MapperElementBase { - BillModelMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - BillModel decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - BillModel fromMap(Map map) => BillModel( - id: container.$getOpt(map, 'id'), - tenantId: container.$get(map, 'tenantId'), - referenceId: container.$getOpt(map, 'referenceId'), - status: container.$getOpt(map, 'status'), - dueDate: container.$getOpt(map, 'dueDate'), - auditDetails: container.$getOpt(map, 'auditDetails'), - paymentStatus: container.$getOpt(map, 'paymentStatus'), - billDate: container.$getOpt(map, 'billDate'), - billDetails: container.$getOpt(map, 'billDetails'), - businessService: container.$getOpt(map, 'businessService'), - fromPeriod: container.$getOpt(map, 'fromPeriod'), - netPaidAmount: container.$getOpt(map, 'netPaidAmount'), - netPayableAmount: container.$getOpt(map, 'netPayableAmount'), - payer: container.$getOpt(map, 'payer'), - toPeriod: container.$getOpt(map, 'toPeriod'), - billNumber: container.$getOpt(map, 'billNumber'), - wfStatus: container.$getOpt(map, 'wfStatus'), - additionalDetails: container.$getOpt(map, 'additionalDetails'), - totalAmount: container.$getOpt(map, 'totalAmount'), - totalPaidAmount: container.$getOpt(map, 'totalPaidAmount')); - - @override - Function get encoder => encode; - dynamic encode(BillModel v) => toMap(v); - Map toMap(BillModel b) => { - 'id': container.$enc(b.id, 'id'), - 'tenantId': container.$enc(b.tenantId, 'tenantId'), - 'referenceId': container.$enc(b.referenceId, 'referenceId'), - 'status': container.$enc(b.status, 'status'), - 'dueDate': container.$enc(b.dueDate, 'dueDate'), - 'auditDetails': container.$enc(b.auditDetails, 'auditDetails'), - 'paymentStatus': container.$enc(b.paymentStatus, 'paymentStatus'), - 'billDate': container.$enc(b.billDate, 'billDate'), - 'billDetails': container.$enc(b.billDetails, 'billDetails'), - 'businessService': container.$enc(b.businessService, 'businessService'), - 'fromPeriod': container.$enc(b.fromPeriod, 'fromPeriod'), - 'netPaidAmount': container.$enc(b.netPaidAmount, 'netPaidAmount'), - 'netPayableAmount': - container.$enc(b.netPayableAmount, 'netPayableAmount'), - 'payer': container.$enc(b.payer, 'payer'), - 'toPeriod': container.$enc(b.toPeriod, 'toPeriod'), - 'billNumber': container.$enc(b.billNumber, 'billNumber'), - 'wfStatus': container.$enc(b.wfStatus, 'wfStatus'), - 'additionalDetails': - container.$enc(b.additionalDetails, 'additionalDetails'), - 'totalAmount': container.$enc(b.totalAmount, 'totalAmount'), - 'totalPaidAmount': container.$enc(b.totalPaidAmount, 'totalPaidAmount') - }; - - @override - String stringify(BillModel self) => - 'BillModel(tenantId: ${container.asString(self.tenantId)}, id: ${container.asString(self.id)}, billDate: ${container.asString(self.billDate)}, dueDate: ${container.asString(self.dueDate)}, netPayableAmount: ${container.asString(self.netPayableAmount)}, netPaidAmount: ${container.asString(self.netPaidAmount)}, totalAmount: ${container.asString(self.totalAmount)}, totalPaidAmount: ${container.asString(self.totalPaidAmount)}, businessService: ${container.asString(self.businessService)}, billNumber: ${container.asString(self.billNumber)}, referenceId: ${container.asString(self.referenceId)}, fromPeriod: ${container.asString(self.fromPeriod)}, toPeriod: ${container.asString(self.toPeriod)}, paymentStatus: ${container.asString(self.paymentStatus)}, status: ${container.asString(self.status)}, wfStatus: ${container.asString(self.wfStatus)}, payer: ${container.asString(self.payer)}, additionalDetails: ${container.asString(self.additionalDetails)}, billDetails: ${container.asString(self.billDetails)}, auditDetails: ${container.asString(self.auditDetails)})'; - @override - int hash(BillModel self) => - container.hash(self.tenantId) ^ - container.hash(self.id) ^ - container.hash(self.billDate) ^ - container.hash(self.dueDate) ^ - container.hash(self.netPayableAmount) ^ - container.hash(self.netPaidAmount) ^ - container.hash(self.totalAmount) ^ - container.hash(self.totalPaidAmount) ^ - container.hash(self.businessService) ^ - container.hash(self.billNumber) ^ - container.hash(self.referenceId) ^ - container.hash(self.fromPeriod) ^ - container.hash(self.toPeriod) ^ - container.hash(self.paymentStatus) ^ - container.hash(self.status) ^ - container.hash(self.wfStatus) ^ - container.hash(self.payer) ^ - container.hash(self.additionalDetails) ^ - container.hash(self.billDetails) ^ - container.hash(self.auditDetails); - @override - bool equals(BillModel self, BillModel other) => - container.isEqual(self.tenantId, other.tenantId) && - container.isEqual(self.id, other.id) && - container.isEqual(self.billDate, other.billDate) && - container.isEqual(self.dueDate, other.dueDate) && - container.isEqual(self.netPayableAmount, other.netPayableAmount) && - container.isEqual(self.netPaidAmount, other.netPaidAmount) && - container.isEqual(self.totalAmount, other.totalAmount) && - container.isEqual(self.totalPaidAmount, other.totalPaidAmount) && - container.isEqual(self.businessService, other.businessService) && - container.isEqual(self.billNumber, other.billNumber) && - container.isEqual(self.referenceId, other.referenceId) && - container.isEqual(self.fromPeriod, other.fromPeriod) && - container.isEqual(self.toPeriod, other.toPeriod) && - container.isEqual(self.paymentStatus, other.paymentStatus) && - container.isEqual(self.status, other.status) && - container.isEqual(self.wfStatus, other.wfStatus) && - container.isEqual(self.payer, other.payer) && - container.isEqual(self.additionalDetails, other.additionalDetails) && - container.isEqual(self.billDetails, other.billDetails) && - container.isEqual(self.auditDetails, other.auditDetails); + static BillModel fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin BillModelMappable { - String toJson() => BillModelMapper.container.toJson(this as BillModel); - Map toMap() => - BillModelMapper.container.toMap(this as BillModel); + String toJson() { + return BillModelMapper.ensureInitialized() + .encodeJson(this as BillModel); + } + + Map toMap() { + return BillModelMapper.ensureInitialized() + .encodeMap(this as BillModel); + } + BillModelCopyWith get copyWith => _BillModelCopyWithImpl(this as BillModel, $identity, $identity); @override - String toString() => BillModelMapper.container.asString(this); + String toString() { + return BillModelMapper.ensureInitialized() + .stringifyValue(this as BillModel); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - BillModelMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return BillModelMapper.ensureInitialized() + .equalsValue(this as BillModel, other); + } + @override - int get hashCode => BillModelMapper.container.hash(this); + int get hashCode { + return BillModelMapper.ensureInitialized().hashValue(this as BillModel); + } } -extension BillModelValueCopy<$R, $Out extends BillModel> - on ObjectCopyWith<$R, BillModel, $Out> { - BillModelCopyWith<$R, BillModel, $Out> get asBillModel => - base.as((v, t, t2) => _BillModelCopyWithImpl(v, t, t2)); +extension BillModelValueCopy<$R, $Out> on ObjectCopyWith<$R, BillModel, $Out> { + BillModelCopyWith<$R, BillModel, $Out> get $asBillModel => + $base.as((v, t, t2) => _BillModelCopyWithImpl(v, t, t2)); } -typedef BillModelCopyWithBound = BillModel; - -abstract class BillModelCopyWith<$R, $In extends BillModel, - $Out extends BillModel> implements ObjectCopyWith<$R, $In, $Out> { - BillModelCopyWith<$R2, $In, $Out2> chain<$R2, $Out2 extends BillModel>( - Then t, Then<$Out2, $R2> t2); +abstract class BillModelCopyWith<$R, $In extends BillModel, $Out> + implements ClassCopyWith<$R, $In, $Out> { ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? get auditDetails; ListCopyWith<$R, BillDetails, @@ -406,38 +457,36 @@ abstract class BillModelCopyWith<$R, $In extends BillModel, BillAdditionalDetails? additionalDetails, num? totalAmount, num? totalPaidAmount}); + BillModelCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); } -class _BillModelCopyWithImpl<$R, $Out extends BillModel> - extends CopyWithBase<$R, BillModel, $Out> +class _BillModelCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, BillModel, $Out> implements BillModelCopyWith<$R, BillModel, $Out> { _BillModelCopyWithImpl(super.value, super.then, super.then2); - @override - BillModelCopyWith<$R2, BillModel, $Out2> chain<$R2, $Out2 extends BillModel>( - Then t, Then<$Out2, $R2> t2) => - _BillModelCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + BillModelMapper.ensureInitialized(); @override ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? - get auditDetails => $value.auditDetails?.copyWith - .chain($identity, (v) => call(auditDetails: v)); + get auditDetails => + $value.auditDetails?.copyWith.$chain((v) => call(auditDetails: v)); @override ListCopyWith<$R, BillDetails, BillDetailsCopyWith<$R, BillDetails, BillDetails>>? get billDetails => $value.billDetails != null - ? ListCopyWith( - $value.billDetails!, - (v, t) => v.copyWith.chain<$R, BillDetails>($identity, t), + ? ListCopyWith($value.billDetails!, (v, t) => v.copyWith.$chain(t), (v) => call(billDetails: v)) : null; @override PayerCopyWith<$R, Payer, Payer>? get payer => - $value.payer?.copyWith.chain($identity, (v) => call(payer: v)); + $value.payer?.copyWith.$chain((v) => call(payer: v)); @override BillAdditionalDetailsCopyWith<$R, BillAdditionalDetails, BillAdditionalDetails>? get additionalDetails => $value.additionalDetails?.copyWith - .chain($identity, (v) => call(additionalDetails: v)); + .$chain((v) => call(additionalDetails: v)); @override $R call( {Object? id = $none, @@ -460,279 +509,187 @@ class _BillModelCopyWithImpl<$R, $Out extends BillModel> Object? additionalDetails = $none, Object? totalAmount = $none, Object? totalPaidAmount = $none}) => - $then(BillModel( - id: or(id, $value.id), - tenantId: tenantId ?? $value.tenantId, - referenceId: or(referenceId, $value.referenceId), - status: or(status, $value.status), - dueDate: or(dueDate, $value.dueDate), - auditDetails: or(auditDetails, $value.auditDetails), - paymentStatus: or(paymentStatus, $value.paymentStatus), - billDate: or(billDate, $value.billDate), - billDetails: or(billDetails, $value.billDetails), - businessService: or(businessService, $value.businessService), - fromPeriod: or(fromPeriod, $value.fromPeriod), - netPaidAmount: or(netPaidAmount, $value.netPaidAmount), - netPayableAmount: or(netPayableAmount, $value.netPayableAmount), - payer: or(payer, $value.payer), - toPeriod: or(toPeriod, $value.toPeriod), - billNumber: or(billNumber, $value.billNumber), - wfStatus: or(wfStatus, $value.wfStatus), - additionalDetails: or(additionalDetails, $value.additionalDetails), - totalAmount: or(totalAmount, $value.totalAmount), - totalPaidAmount: or(totalPaidAmount, $value.totalPaidAmount))); + $apply(FieldCopyWithData({ + if (id != $none) #id: id, + if (tenantId != null) #tenantId: tenantId, + if (referenceId != $none) #referenceId: referenceId, + if (status != $none) #status: status, + if (dueDate != $none) #dueDate: dueDate, + if (auditDetails != $none) #auditDetails: auditDetails, + if (paymentStatus != $none) #paymentStatus: paymentStatus, + if (billDate != $none) #billDate: billDate, + if (billDetails != $none) #billDetails: billDetails, + if (businessService != $none) #businessService: businessService, + if (fromPeriod != $none) #fromPeriod: fromPeriod, + if (netPaidAmount != $none) #netPaidAmount: netPaidAmount, + if (netPayableAmount != $none) #netPayableAmount: netPayableAmount, + if (payer != $none) #payer: payer, + if (toPeriod != $none) #toPeriod: toPeriod, + if (billNumber != $none) #billNumber: billNumber, + if (wfStatus != $none) #wfStatus: wfStatus, + if (additionalDetails != $none) #additionalDetails: additionalDetails, + if (totalAmount != $none) #totalAmount: totalAmount, + if (totalPaidAmount != $none) #totalPaidAmount: totalPaidAmount + })); + @override + BillModel $make(CopyWithData data) => BillModel( + id: data.get(#id, or: $value.id), + tenantId: data.get(#tenantId, or: $value.tenantId), + referenceId: data.get(#referenceId, or: $value.referenceId), + status: data.get(#status, or: $value.status), + dueDate: data.get(#dueDate, or: $value.dueDate), + auditDetails: data.get(#auditDetails, or: $value.auditDetails), + paymentStatus: data.get(#paymentStatus, or: $value.paymentStatus), + billDate: data.get(#billDate, or: $value.billDate), + billDetails: data.get(#billDetails, or: $value.billDetails), + businessService: data.get(#businessService, or: $value.businessService), + fromPeriod: data.get(#fromPeriod, or: $value.fromPeriod), + netPaidAmount: data.get(#netPaidAmount, or: $value.netPaidAmount), + netPayableAmount: + data.get(#netPayableAmount, or: $value.netPayableAmount), + payer: data.get(#payer, or: $value.payer), + toPeriod: data.get(#toPeriod, or: $value.toPeriod), + billNumber: data.get(#billNumber, or: $value.billNumber), + wfStatus: data.get(#wfStatus, or: $value.wfStatus), + additionalDetails: + data.get(#additionalDetails, or: $value.additionalDetails), + totalAmount: data.get(#totalAmount, or: $value.totalAmount), + totalPaidAmount: data.get(#totalPaidAmount, or: $value.totalPaidAmount)); + + @override + BillModelCopyWith<$R2, BillModel, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _BillModelCopyWithImpl($value, $cast, t); } -class PayerMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {PayerMapper()}, - )..linkAll({ContractAuditDetailsMapper.container}); +class BillDetailsMapper extends ClassMapperBase { + BillDetailsMapper._(); + + static BillDetailsMapper? _instance; + static BillDetailsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = BillDetailsMapper._()); + ContractAuditDetailsMapper.ensureInitialized(); + BillLineItemsMapper.ensureInitialized(); + PayableLineItemsMapper.ensureInitialized(); + PayeeMapper.ensureInitialized(); + } + return _instance!; + } @override - PayerMapperElement createElement(MapperContainer container) { - return PayerMapperElement._(this, container); + final String id = 'BillDetails'; + + static String? _$id(BillDetails v) => v.id; + static const Field _f$id = Field('id', _$id, opt: true); + static String? _$referenceId(BillDetails v) => v.referenceId; + static const Field _f$referenceId = + Field('referenceId', _$referenceId, opt: true); + static String? _$billId(BillDetails v) => v.billId; + static const Field _f$billId = + Field('billId', _$billId, opt: true); + static ContractAuditDetails? _$auditDetails(BillDetails v) => v.auditDetails; + static const Field _f$auditDetails = + Field('auditDetails', _$auditDetails, opt: true); + static int? _$toPeriod(BillDetails v) => v.toPeriod; + static const Field _f$toPeriod = + Field('toPeriod', _$toPeriod, opt: true); + static int? _$fromPeriod(BillDetails v) => v.fromPeriod; + static const Field _f$fromPeriod = + Field('fromPeriod', _$fromPeriod, opt: true); + static String? _$paymentStatus(BillDetails v) => v.paymentStatus; + static const Field _f$paymentStatus = + Field('paymentStatus', _$paymentStatus, opt: true); + static List? _$lineItems(BillDetails v) => v.lineItems; + static const Field> _f$lineItems = + Field('lineItems', _$lineItems, opt: true); + static List? _$payableLineItems(BillDetails v) => + v.payableLineItems; + static const Field> _f$payableLineItems = + Field('payableLineItems', _$payableLineItems, opt: true); + static Payee? _$payee(BillDetails v) => v.payee; + static const Field _f$payee = + Field('payee', _$payee, opt: true); + + @override + final MappableFields fields = const { + #id: _f$id, + #referenceId: _f$referenceId, + #billId: _f$billId, + #auditDetails: _f$auditDetails, + #toPeriod: _f$toPeriod, + #fromPeriod: _f$fromPeriod, + #paymentStatus: _f$paymentStatus, + #lineItems: _f$lineItems, + #payableLineItems: _f$payableLineItems, + #payee: _f$payee, + }; + + static BillDetails _instantiate(DecodingData data) { + return BillDetails( + id: data.dec(_f$id), + referenceId: data.dec(_f$referenceId), + billId: data.dec(_f$billId), + auditDetails: data.dec(_f$auditDetails), + toPeriod: data.dec(_f$toPeriod), + fromPeriod: data.dec(_f$fromPeriod), + paymentStatus: data.dec(_f$paymentStatus), + lineItems: data.dec(_f$lineItems), + payableLineItems: data.dec(_f$payableLineItems), + payee: data.dec(_f$payee)); } @override - String get id => 'Payer'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + final Function instantiate = _instantiate; -class PayerMapperElement extends MapperElementBase { - PayerMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - Payer decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - Payer fromMap(Map map) => Payer( - id: container.$getOpt(map, 'id'), - status: container.$getOpt(map, 'status'), - auditDetails: container.$getOpt(map, 'auditDetails'), - type: container.$getOpt(map, 'type'), - identifier: container.$getOpt(map, 'identifier'), - parentId: container.$getOpt(map, 'parentId')); - - @override - Function get encoder => encode; - dynamic encode(Payer v) => toMap(v); - Map toMap(Payer p) => { - 'id': container.$enc(p.id, 'id'), - 'status': container.$enc(p.status, 'status'), - 'auditDetails': container.$enc(p.auditDetails, 'auditDetails'), - 'type': container.$enc(p.type, 'type'), - 'identifier': container.$enc(p.identifier, 'identifier'), - 'parentId': container.$enc(p.parentId, 'parentId') - }; - - @override - String stringify(Payer self) => - 'Payer(parentId: ${container.asString(self.parentId)}, identifier: ${container.asString(self.identifier)}, type: ${container.asString(self.type)}, id: ${container.asString(self.id)}, status: ${container.asString(self.status)}, auditDetails: ${container.asString(self.auditDetails)})'; - @override - int hash(Payer self) => - container.hash(self.parentId) ^ - container.hash(self.identifier) ^ - container.hash(self.type) ^ - container.hash(self.id) ^ - container.hash(self.status) ^ - container.hash(self.auditDetails); - @override - bool equals(Payer self, Payer other) => - container.isEqual(self.parentId, other.parentId) && - container.isEqual(self.identifier, other.identifier) && - container.isEqual(self.type, other.type) && - container.isEqual(self.id, other.id) && - container.isEqual(self.status, other.status) && - container.isEqual(self.auditDetails, other.auditDetails); -} - -mixin PayerMappable { - String toJson() => PayerMapper.container.toJson(this as Payer); - Map toMap() => PayerMapper.container.toMap(this as Payer); - PayerCopyWith get copyWith => - _PayerCopyWithImpl(this as Payer, $identity, $identity); - @override - String toString() => PayerMapper.container.asString(this); - @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - PayerMapper.container.isEqual(this, other)); - @override - int get hashCode => PayerMapper.container.hash(this); -} - -extension PayerValueCopy<$R, $Out extends Payer> - on ObjectCopyWith<$R, Payer, $Out> { - PayerCopyWith<$R, Payer, $Out> get asPayer => - base.as((v, t, t2) => _PayerCopyWithImpl(v, t, t2)); -} - -typedef PayerCopyWithBound = Payer; - -abstract class PayerCopyWith<$R, $In extends Payer, $Out extends Payer> - implements ObjectCopyWith<$R, $In, $Out> { - PayerCopyWith<$R2, $In, $Out2> chain<$R2, $Out2 extends Payer>( - Then t, Then<$Out2, $R2> t2); - ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? - get auditDetails; - $R call( - {String? id, - String? status, - ContractAuditDetails? auditDetails, - String? type, - String? identifier, - String? parentId}); -} - -class _PayerCopyWithImpl<$R, $Out extends Payer> - extends CopyWithBase<$R, Payer, $Out> - implements PayerCopyWith<$R, Payer, $Out> { - _PayerCopyWithImpl(super.value, super.then, super.then2); - @override - PayerCopyWith<$R2, Payer, $Out2> chain<$R2, $Out2 extends Payer>( - Then t, Then<$Out2, $R2> t2) => - _PayerCopyWithImpl($value, t, t2); + static BillDetails fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } - @override - ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? - get auditDetails => $value.auditDetails?.copyWith - .chain($identity, (v) => call(auditDetails: v)); - @override - $R call( - {Object? id = $none, - Object? status = $none, - Object? auditDetails = $none, - Object? type = $none, - Object? identifier = $none, - Object? parentId = $none}) => - $then(Payer( - id: or(id, $value.id), - status: or(status, $value.status), - auditDetails: or(auditDetails, $value.auditDetails), - type: or(type, $value.type), - identifier: or(identifier, $value.identifier), - parentId: or(parentId, $value.parentId))); + static BillDetails fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -class BillDetailsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {BillDetailsMapper()}, - )..linkAll({ - ContractAuditDetailsMapper.container, - BillLineItemsMapper.container, - PayableLineItemsMapper.container, - PayeeMapper.container, - }); - - @override - BillDetailsMapperElement createElement(MapperContainer container) { - return BillDetailsMapperElement._(this, container); +mixin BillDetailsMappable { + String toJson() { + return BillDetailsMapper.ensureInitialized() + .encodeJson(this as BillDetails); } - @override - String get id => 'BillDetails'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} - -class BillDetailsMapperElement extends MapperElementBase { - BillDetailsMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - BillDetails decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - BillDetails fromMap(Map map) => BillDetails( - id: container.$getOpt(map, 'id'), - referenceId: container.$getOpt(map, 'referenceId'), - billId: container.$getOpt(map, 'billId'), - auditDetails: container.$getOpt(map, 'auditDetails'), - toPeriod: container.$getOpt(map, 'toPeriod'), - fromPeriod: container.$getOpt(map, 'fromPeriod'), - paymentStatus: container.$getOpt(map, 'paymentStatus'), - lineItems: container.$getOpt(map, 'lineItems'), - payableLineItems: container.$getOpt(map, 'payableLineItems'), - payee: container.$getOpt(map, 'payee')); - - @override - Function get encoder => encode; - dynamic encode(BillDetails v) => toMap(v); - Map toMap(BillDetails b) => { - 'id': container.$enc(b.id, 'id'), - 'referenceId': container.$enc(b.referenceId, 'referenceId'), - 'billId': container.$enc(b.billId, 'billId'), - 'auditDetails': container.$enc(b.auditDetails, 'auditDetails'), - 'toPeriod': container.$enc(b.toPeriod, 'toPeriod'), - 'fromPeriod': container.$enc(b.fromPeriod, 'fromPeriod'), - 'paymentStatus': container.$enc(b.paymentStatus, 'paymentStatus'), - 'lineItems': container.$enc(b.lineItems, 'lineItems'), - 'payableLineItems': - container.$enc(b.payableLineItems, 'payableLineItems'), - 'payee': container.$enc(b.payee, 'payee') - }; - - @override - String stringify(BillDetails self) => - 'BillDetails(billId: ${container.asString(self.billId)}, referenceId: ${container.asString(self.referenceId)}, id: ${container.asString(self.id)}, paymentStatus: ${container.asString(self.paymentStatus)}, fromPeriod: ${container.asString(self.fromPeriod)}, toPeriod: ${container.asString(self.toPeriod)}, payee: ${container.asString(self.payee)}, lineItems: ${container.asString(self.lineItems)}, payableLineItems: ${container.asString(self.payableLineItems)}, auditDetails: ${container.asString(self.auditDetails)})'; - @override - int hash(BillDetails self) => - container.hash(self.billId) ^ - container.hash(self.referenceId) ^ - container.hash(self.id) ^ - container.hash(self.paymentStatus) ^ - container.hash(self.fromPeriod) ^ - container.hash(self.toPeriod) ^ - container.hash(self.payee) ^ - container.hash(self.lineItems) ^ - container.hash(self.payableLineItems) ^ - container.hash(self.auditDetails); - @override - bool equals(BillDetails self, BillDetails other) => - container.isEqual(self.billId, other.billId) && - container.isEqual(self.referenceId, other.referenceId) && - container.isEqual(self.id, other.id) && - container.isEqual(self.paymentStatus, other.paymentStatus) && - container.isEqual(self.fromPeriod, other.fromPeriod) && - container.isEqual(self.toPeriod, other.toPeriod) && - container.isEqual(self.payee, other.payee) && - container.isEqual(self.lineItems, other.lineItems) && - container.isEqual(self.payableLineItems, other.payableLineItems) && - container.isEqual(self.auditDetails, other.auditDetails); -} + Map toMap() { + return BillDetailsMapper.ensureInitialized() + .encodeMap(this as BillDetails); + } -mixin BillDetailsMappable { - String toJson() => BillDetailsMapper.container.toJson(this as BillDetails); - Map toMap() => - BillDetailsMapper.container.toMap(this as BillDetails); BillDetailsCopyWith get copyWith => _BillDetailsCopyWithImpl(this as BillDetails, $identity, $identity); @override - String toString() => BillDetailsMapper.container.asString(this); + String toString() { + return BillDetailsMapper.ensureInitialized() + .stringifyValue(this as BillDetails); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - BillDetailsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return BillDetailsMapper.ensureInitialized() + .equalsValue(this as BillDetails, other); + } + @override - int get hashCode => BillDetailsMapper.container.hash(this); + int get hashCode { + return BillDetailsMapper.ensureInitialized().hashValue(this as BillDetails); + } } -extension BillDetailsValueCopy<$R, $Out extends BillDetails> +extension BillDetailsValueCopy<$R, $Out> on ObjectCopyWith<$R, BillDetails, $Out> { - BillDetailsCopyWith<$R, BillDetails, $Out> get asBillDetails => - base.as((v, t, t2) => _BillDetailsCopyWithImpl(v, t, t2)); + BillDetailsCopyWith<$R, BillDetails, $Out> get $asBillDetails => + $base.as((v, t, t2) => _BillDetailsCopyWithImpl(v, t, t2)); } -typedef BillDetailsCopyWithBound = BillDetails; - -abstract class BillDetailsCopyWith<$R, $In extends BillDetails, - $Out extends BillDetails> implements ObjectCopyWith<$R, $In, $Out> { - BillDetailsCopyWith<$R2, $In, $Out2> chain<$R2, $Out2 extends BillDetails>( - Then t, Then<$Out2, $R2> t2); +abstract class BillDetailsCopyWith<$R, $In extends BillDetails, $Out> + implements ClassCopyWith<$R, $In, $Out> { ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? get auditDetails; ListCopyWith<$R, BillLineItems, @@ -752,43 +709,38 @@ abstract class BillDetailsCopyWith<$R, $In extends BillDetails, List? lineItems, List? payableLineItems, Payee? payee}); + BillDetailsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); } -class _BillDetailsCopyWithImpl<$R, $Out extends BillDetails> - extends CopyWithBase<$R, BillDetails, $Out> +class _BillDetailsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, BillDetails, $Out> implements BillDetailsCopyWith<$R, BillDetails, $Out> { _BillDetailsCopyWithImpl(super.value, super.then, super.then2); - @override - BillDetailsCopyWith<$R2, BillDetails, $Out2> - chain<$R2, $Out2 extends BillDetails>( - Then t, Then<$Out2, $R2> t2) => - _BillDetailsCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + BillDetailsMapper.ensureInitialized(); @override ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? - get auditDetails => $value.auditDetails?.copyWith - .chain($identity, (v) => call(auditDetails: v)); + get auditDetails => + $value.auditDetails?.copyWith.$chain((v) => call(auditDetails: v)); @override ListCopyWith<$R, BillLineItems, BillLineItemsCopyWith<$R, BillLineItems, BillLineItems>>? get lineItems => $value.lineItems != null - ? ListCopyWith( - $value.lineItems!, - (v, t) => v.copyWith.chain<$R, BillLineItems>($identity, t), + ? ListCopyWith($value.lineItems!, (v, t) => v.copyWith.$chain(t), (v) => call(lineItems: v)) : null; @override ListCopyWith<$R, PayableLineItems, PayableLineItemsCopyWith<$R, PayableLineItems, PayableLineItems>>? get payableLineItems => $value.payableLineItems != null - ? ListCopyWith( - $value.payableLineItems!, - (v, t) => v.copyWith.chain<$R, PayableLineItems>($identity, t), - (v) => call(payableLineItems: v)) + ? ListCopyWith($value.payableLineItems!, + (v, t) => v.copyWith.$chain(t), (v) => call(payableLineItems: v)) : null; @override PayeeCopyWith<$R, Payee, Payee>? get payee => - $value.payee?.copyWith.chain($identity, (v) => call(payee: v)); + $value.payee?.copyWith.$chain((v) => call(payee: v)); @override $R call( {Object? id = $none, @@ -801,271 +753,538 @@ class _BillDetailsCopyWithImpl<$R, $Out extends BillDetails> Object? lineItems = $none, Object? payableLineItems = $none, Object? payee = $none}) => - $then(BillDetails( - id: or(id, $value.id), - referenceId: or(referenceId, $value.referenceId), - billId: or(billId, $value.billId), - auditDetails: or(auditDetails, $value.auditDetails), - toPeriod: or(toPeriod, $value.toPeriod), - fromPeriod: or(fromPeriod, $value.fromPeriod), - paymentStatus: or(paymentStatus, $value.paymentStatus), - lineItems: or(lineItems, $value.lineItems), - payableLineItems: or(payableLineItems, $value.payableLineItems), - payee: or(payee, $value.payee))); + $apply(FieldCopyWithData({ + if (id != $none) #id: id, + if (referenceId != $none) #referenceId: referenceId, + if (billId != $none) #billId: billId, + if (auditDetails != $none) #auditDetails: auditDetails, + if (toPeriod != $none) #toPeriod: toPeriod, + if (fromPeriod != $none) #fromPeriod: fromPeriod, + if (paymentStatus != $none) #paymentStatus: paymentStatus, + if (lineItems != $none) #lineItems: lineItems, + if (payableLineItems != $none) #payableLineItems: payableLineItems, + if (payee != $none) #payee: payee + })); + @override + BillDetails $make(CopyWithData data) => BillDetails( + id: data.get(#id, or: $value.id), + referenceId: data.get(#referenceId, or: $value.referenceId), + billId: data.get(#billId, or: $value.billId), + auditDetails: data.get(#auditDetails, or: $value.auditDetails), + toPeriod: data.get(#toPeriod, or: $value.toPeriod), + fromPeriod: data.get(#fromPeriod, or: $value.fromPeriod), + paymentStatus: data.get(#paymentStatus, or: $value.paymentStatus), + lineItems: data.get(#lineItems, or: $value.lineItems), + payableLineItems: + data.get(#payableLineItems, or: $value.payableLineItems), + payee: data.get(#payee, or: $value.payee)); + + @override + BillDetailsCopyWith<$R2, BillDetails, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _BillDetailsCopyWithImpl($value, $cast, t); } -class BillAdditionalDetailsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {BillAdditionalDetailsMapper()}, - ); +class BillLineItemsMapper extends ClassMapperBase { + BillLineItemsMapper._(); + + static BillLineItemsMapper? _instance; + static BillLineItemsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = BillLineItemsMapper._()); + ContractAuditDetailsMapper.ensureInitialized(); + } + return _instance!; + } @override - BillAdditionalDetailsMapperElement createElement(MapperContainer container) { - return BillAdditionalDetailsMapperElement._(this, container); + final String id = 'BillLineItems'; + + static String? _$id(BillLineItems v) => v.id; + static const Field _f$id = + Field('id', _$id, opt: true); + static ContractAuditDetails? _$auditDetails(BillLineItems v) => + v.auditDetails; + static const Field _f$auditDetails = + Field('auditDetails', _$auditDetails, opt: true); + static String _$tenantId(BillLineItems v) => v.tenantId; + static const Field _f$tenantId = + Field('tenantId', _$tenantId); + static num? _$amount(BillLineItems v) => v.amount; + static const Field _f$amount = + Field('amount', _$amount, opt: true); + static String? _$type(BillLineItems v) => v.type; + static const Field _f$type = + Field('type', _$type, opt: true); + static String? _$status(BillLineItems v) => v.status; + static const Field _f$status = + Field('status', _$status, opt: true); + static String? _$billDetailId(BillLineItems v) => v.billDetailId; + static const Field _f$billDetailId = + Field('billDetailId', _$billDetailId, opt: true); + static String? _$headCode(BillLineItems v) => v.headCode; + static const Field _f$headCode = + Field('headCode', _$headCode, opt: true); + static bool? _$isLineItemPayable(BillLineItems v) => v.isLineItemPayable; + static const Field _f$isLineItemPayable = + Field('isLineItemPayable', _$isLineItemPayable, opt: true); + static num? _$paidAmount(BillLineItems v) => v.paidAmount; + static const Field _f$paidAmount = + Field('paidAmount', _$paidAmount, opt: true); + + @override + final MappableFields fields = const { + #id: _f$id, + #auditDetails: _f$auditDetails, + #tenantId: _f$tenantId, + #amount: _f$amount, + #type: _f$type, + #status: _f$status, + #billDetailId: _f$billDetailId, + #headCode: _f$headCode, + #isLineItemPayable: _f$isLineItemPayable, + #paidAmount: _f$paidAmount, + }; + + static BillLineItems _instantiate(DecodingData data) { + return BillLineItems( + id: data.dec(_f$id), + auditDetails: data.dec(_f$auditDetails), + tenantId: data.dec(_f$tenantId), + amount: data.dec(_f$amount), + type: data.dec(_f$type), + status: data.dec(_f$status), + billDetailId: data.dec(_f$billDetailId), + headCode: data.dec(_f$headCode), + isLineItemPayable: data.dec(_f$isLineItemPayable), + paidAmount: data.dec(_f$paidAmount)); } @override - String get id => 'BillAdditionalDetails'; + final Function instantiate = _instantiate; - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + static BillLineItems fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } -class BillAdditionalDetailsMapperElement - extends MapperElementBase { - BillAdditionalDetailsMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - BillAdditionalDetails decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - BillAdditionalDetails fromMap(Map map) => - BillAdditionalDetails( - invoiceNumber: container.$getOpt(map, 'invoiceNumber'), - locality: container.$getOpt(map, 'locality'), - orgName: container.$getOpt(map, 'orgName'), - projectDesc: container.$getOpt(map, 'projectDesc'), - projectName: container.$getOpt(map, 'projectName'), - projectId: container.$getOpt(map, 'projectId'), - ward: container.$getOpt(map, 'ward'), - totalBillAmount: container.$getOpt(map, 'totalBillAmount'), - invoiceDate: container.$getOpt(map, 'invoiceDate')); - - @override - Function get encoder => encode; - dynamic encode(BillAdditionalDetails v) => toMap(v); - Map toMap(BillAdditionalDetails b) => { - 'invoiceNumber': container.$enc(b.invoiceNumber, 'invoiceNumber'), - 'locality': container.$enc(b.locality, 'locality'), - 'orgName': container.$enc(b.orgName, 'orgName'), - 'projectDesc': container.$enc(b.projectDesc, 'projectDesc'), - 'projectName': container.$enc(b.projectName, 'projectName'), - 'projectId': container.$enc(b.projectId, 'projectId'), - 'ward': container.$enc(b.ward, 'ward'), - 'totalBillAmount': container.$enc(b.totalBillAmount, 'totalBillAmount'), - 'invoiceDate': container.$enc(b.invoiceDate, 'invoiceDate') - }; - - @override - String stringify(BillAdditionalDetails self) => - 'BillAdditionalDetails(invoiceNumber: ${container.asString(self.invoiceNumber)}, invoiceDate: ${container.asString(self.invoiceDate)}, locality: ${container.asString(self.locality)}, orgName: ${container.asString(self.orgName)}, projectDesc: ${container.asString(self.projectDesc)}, projectName: ${container.asString(self.projectName)}, projectId: ${container.asString(self.projectId)}, totalBillAmount: ${container.asString(self.totalBillAmount)}, ward: ${container.asString(self.ward)})'; - @override - int hash(BillAdditionalDetails self) => - container.hash(self.invoiceNumber) ^ - container.hash(self.invoiceDate) ^ - container.hash(self.locality) ^ - container.hash(self.orgName) ^ - container.hash(self.projectDesc) ^ - container.hash(self.projectName) ^ - container.hash(self.projectId) ^ - container.hash(self.totalBillAmount) ^ - container.hash(self.ward); - @override - bool equals(BillAdditionalDetails self, BillAdditionalDetails other) => - container.isEqual(self.invoiceNumber, other.invoiceNumber) && - container.isEqual(self.invoiceDate, other.invoiceDate) && - container.isEqual(self.locality, other.locality) && - container.isEqual(self.orgName, other.orgName) && - container.isEqual(self.projectDesc, other.projectDesc) && - container.isEqual(self.projectName, other.projectName) && - container.isEqual(self.projectId, other.projectId) && - container.isEqual(self.totalBillAmount, other.totalBillAmount) && - container.isEqual(self.ward, other.ward); + static BillLineItems fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -mixin BillAdditionalDetailsMappable { - String toJson() => BillAdditionalDetailsMapper.container - .toJson(this as BillAdditionalDetails); - Map toMap() => BillAdditionalDetailsMapper.container - .toMap(this as BillAdditionalDetails); - BillAdditionalDetailsCopyWith - get copyWith => _BillAdditionalDetailsCopyWithImpl( - this as BillAdditionalDetails, $identity, $identity); +mixin BillLineItemsMappable { + String toJson() { + return BillLineItemsMapper.ensureInitialized() + .encodeJson(this as BillLineItems); + } + + Map toMap() { + return BillLineItemsMapper.ensureInitialized() + .encodeMap(this as BillLineItems); + } + + BillLineItemsCopyWith + get copyWith => _BillLineItemsCopyWithImpl( + this as BillLineItems, $identity, $identity); @override - String toString() => BillAdditionalDetailsMapper.container.asString(this); + String toString() { + return BillLineItemsMapper.ensureInitialized() + .stringifyValue(this as BillLineItems); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - BillAdditionalDetailsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return BillLineItemsMapper.ensureInitialized() + .equalsValue(this as BillLineItems, other); + } + @override - int get hashCode => BillAdditionalDetailsMapper.container.hash(this); + int get hashCode { + return BillLineItemsMapper.ensureInitialized() + .hashValue(this as BillLineItems); + } } -extension BillAdditionalDetailsValueCopy<$R, $Out extends BillAdditionalDetails> - on ObjectCopyWith<$R, BillAdditionalDetails, $Out> { - BillAdditionalDetailsCopyWith<$R, BillAdditionalDetails, $Out> - get asBillAdditionalDetails => - base.as((v, t, t2) => _BillAdditionalDetailsCopyWithImpl(v, t, t2)); +extension BillLineItemsValueCopy<$R, $Out> + on ObjectCopyWith<$R, BillLineItems, $Out> { + BillLineItemsCopyWith<$R, BillLineItems, $Out> get $asBillLineItems => + $base.as((v, t, t2) => _BillLineItemsCopyWithImpl(v, t, t2)); +} + +abstract class BillLineItemsCopyWith<$R, $In extends BillLineItems, $Out> + implements ClassCopyWith<$R, $In, $Out> { + ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? + get auditDetails; + $R call( + {String? id, + ContractAuditDetails? auditDetails, + String? tenantId, + num? amount, + String? type, + String? status, + String? billDetailId, + String? headCode, + bool? isLineItemPayable, + num? paidAmount}); + BillLineItemsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); } -typedef BillAdditionalDetailsCopyWithBound = BillAdditionalDetails; +class _BillLineItemsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, BillLineItems, $Out> + implements BillLineItemsCopyWith<$R, BillLineItems, $Out> { + _BillLineItemsCopyWithImpl(super.value, super.then, super.then2); -abstract class BillAdditionalDetailsCopyWith<$R, - $In extends BillAdditionalDetails, $Out extends BillAdditionalDetails> - implements ObjectCopyWith<$R, $In, $Out> { - BillAdditionalDetailsCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends BillAdditionalDetails>( - Then t, Then<$Out2, $R2> t2); + @override + late final ClassMapperBase $mapper = + BillLineItemsMapper.ensureInitialized(); + @override + ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? + get auditDetails => + $value.auditDetails?.copyWith.$chain((v) => call(auditDetails: v)); + @override $R call( - {String? invoiceNumber, - String? locality, - String? orgName, - String? projectDesc, - String? projectName, - String? projectId, - String? ward, - String? totalBillAmount, - int? invoiceDate}); + {Object? id = $none, + Object? auditDetails = $none, + String? tenantId, + Object? amount = $none, + Object? type = $none, + Object? status = $none, + Object? billDetailId = $none, + Object? headCode = $none, + Object? isLineItemPayable = $none, + Object? paidAmount = $none}) => + $apply(FieldCopyWithData({ + if (id != $none) #id: id, + if (auditDetails != $none) #auditDetails: auditDetails, + if (tenantId != null) #tenantId: tenantId, + if (amount != $none) #amount: amount, + if (type != $none) #type: type, + if (status != $none) #status: status, + if (billDetailId != $none) #billDetailId: billDetailId, + if (headCode != $none) #headCode: headCode, + if (isLineItemPayable != $none) #isLineItemPayable: isLineItemPayable, + if (paidAmount != $none) #paidAmount: paidAmount + })); + @override + BillLineItems $make(CopyWithData data) => BillLineItems( + id: data.get(#id, or: $value.id), + auditDetails: data.get(#auditDetails, or: $value.auditDetails), + tenantId: data.get(#tenantId, or: $value.tenantId), + amount: data.get(#amount, or: $value.amount), + type: data.get(#type, or: $value.type), + status: data.get(#status, or: $value.status), + billDetailId: data.get(#billDetailId, or: $value.billDetailId), + headCode: data.get(#headCode, or: $value.headCode), + isLineItemPayable: + data.get(#isLineItemPayable, or: $value.isLineItemPayable), + paidAmount: data.get(#paidAmount, or: $value.paidAmount)); + + @override + BillLineItemsCopyWith<$R2, BillLineItems, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _BillLineItemsCopyWithImpl($value, $cast, t); } -class _BillAdditionalDetailsCopyWithImpl<$R, $Out extends BillAdditionalDetails> - extends CopyWithBase<$R, BillAdditionalDetails, $Out> - implements BillAdditionalDetailsCopyWith<$R, BillAdditionalDetails, $Out> { - _BillAdditionalDetailsCopyWithImpl(super.value, super.then, super.then2); +class PayableLineItemsMapper extends ClassMapperBase { + PayableLineItemsMapper._(); + + static PayableLineItemsMapper? _instance; + static PayableLineItemsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = PayableLineItemsMapper._()); + ContractAuditDetailsMapper.ensureInitialized(); + } + return _instance!; + } + @override - BillAdditionalDetailsCopyWith<$R2, BillAdditionalDetails, $Out2> - chain<$R2, $Out2 extends BillAdditionalDetails>( - Then t, Then<$Out2, $R2> t2) => - _BillAdditionalDetailsCopyWithImpl($value, t, t2); + final String id = 'PayableLineItems'; + + static String? _$id(PayableLineItems v) => v.id; + static const Field _f$id = + Field('id', _$id, opt: true); + static ContractAuditDetails? _$auditDetails(PayableLineItems v) => + v.auditDetails; + static const Field _f$auditDetails = + Field('auditDetails', _$auditDetails, opt: true); + static String _$tenantId(PayableLineItems v) => v.tenantId; + static const Field _f$tenantId = + Field('tenantId', _$tenantId); + static num? _$amount(PayableLineItems v) => v.amount; + static const Field _f$amount = + Field('amount', _$amount, opt: true); + static String? _$type(PayableLineItems v) => v.type; + static const Field _f$type = + Field('type', _$type, opt: true); + static String? _$status(PayableLineItems v) => v.status; + static const Field _f$status = + Field('status', _$status, opt: true); + static String? _$billDetailId(PayableLineItems v) => v.billDetailId; + static const Field _f$billDetailId = + Field('billDetailId', _$billDetailId, opt: true); + static String? _$headCode(PayableLineItems v) => v.headCode; + static const Field _f$headCode = + Field('headCode', _$headCode, opt: true); + static bool? _$isLineItemPayable(PayableLineItems v) => v.isLineItemPayable; + static const Field _f$isLineItemPayable = + Field('isLineItemPayable', _$isLineItemPayable, opt: true); + static num? _$paidAmount(PayableLineItems v) => v.paidAmount; + static const Field _f$paidAmount = + Field('paidAmount', _$paidAmount, opt: true); + + @override + final MappableFields fields = const { + #id: _f$id, + #auditDetails: _f$auditDetails, + #tenantId: _f$tenantId, + #amount: _f$amount, + #type: _f$type, + #status: _f$status, + #billDetailId: _f$billDetailId, + #headCode: _f$headCode, + #isLineItemPayable: _f$isLineItemPayable, + #paidAmount: _f$paidAmount, + }; + + static PayableLineItems _instantiate(DecodingData data) { + return PayableLineItems( + id: data.dec(_f$id), + auditDetails: data.dec(_f$auditDetails), + tenantId: data.dec(_f$tenantId), + amount: data.dec(_f$amount), + type: data.dec(_f$type), + status: data.dec(_f$status), + billDetailId: data.dec(_f$billDetailId), + headCode: data.dec(_f$headCode), + isLineItemPayable: data.dec(_f$isLineItemPayable), + paidAmount: data.dec(_f$paidAmount)); + } @override - $R call( - {Object? invoiceNumber = $none, - Object? locality = $none, - Object? orgName = $none, - Object? projectDesc = $none, - Object? projectName = $none, - Object? projectId = $none, - Object? ward = $none, - Object? totalBillAmount = $none, - Object? invoiceDate = $none}) => - $then(BillAdditionalDetails( - invoiceNumber: or(invoiceNumber, $value.invoiceNumber), - locality: or(locality, $value.locality), - orgName: or(orgName, $value.orgName), - projectDesc: or(projectDesc, $value.projectDesc), - projectName: or(projectName, $value.projectName), - projectId: or(projectId, $value.projectId), - ward: or(ward, $value.ward), - totalBillAmount: or(totalBillAmount, $value.totalBillAmount), - invoiceDate: or(invoiceDate, $value.invoiceDate))); + final Function instantiate = _instantiate; + + static PayableLineItems fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static PayableLineItems fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -class PayeeMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {PayeeMapper()}, - )..linkAll({ContractAuditDetailsMapper.container}); +mixin PayableLineItemsMappable { + String toJson() { + return PayableLineItemsMapper.ensureInitialized() + .encodeJson(this as PayableLineItems); + } + + Map toMap() { + return PayableLineItemsMapper.ensureInitialized() + .encodeMap(this as PayableLineItems); + } + + PayableLineItemsCopyWith + get copyWith => _PayableLineItemsCopyWithImpl( + this as PayableLineItems, $identity, $identity); + @override + String toString() { + return PayableLineItemsMapper.ensureInitialized() + .stringifyValue(this as PayableLineItems); + } @override - PayeeMapperElement createElement(MapperContainer container) { - return PayeeMapperElement._(this, container); + bool operator ==(Object other) { + return PayableLineItemsMapper.ensureInitialized() + .equalsValue(this as PayableLineItems, other); } @override - String get id => 'Payee'; + int get hashCode { + return PayableLineItemsMapper.ensureInitialized() + .hashValue(this as PayableLineItems); + } +} - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; +extension PayableLineItemsValueCopy<$R, $Out> + on ObjectCopyWith<$R, PayableLineItems, $Out> { + PayableLineItemsCopyWith<$R, PayableLineItems, $Out> + get $asPayableLineItems => + $base.as((v, t, t2) => _PayableLineItemsCopyWithImpl(v, t, t2)); +} + +abstract class PayableLineItemsCopyWith<$R, $In extends PayableLineItems, $Out> + implements ClassCopyWith<$R, $In, $Out> { + ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? + get auditDetails; + $R call( + {String? id, + ContractAuditDetails? auditDetails, + String? tenantId, + num? amount, + String? type, + String? status, + String? billDetailId, + String? headCode, + bool? isLineItemPayable, + num? paidAmount}); + PayableLineItemsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); +} + +class _PayableLineItemsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, PayableLineItems, $Out> + implements PayableLineItemsCopyWith<$R, PayableLineItems, $Out> { + _PayableLineItemsCopyWithImpl(super.value, super.then, super.then2); + + @override + late final ClassMapperBase $mapper = + PayableLineItemsMapper.ensureInitialized(); + @override + ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? + get auditDetails => + $value.auditDetails?.copyWith.$chain((v) => call(auditDetails: v)); + @override + $R call( + {Object? id = $none, + Object? auditDetails = $none, + String? tenantId, + Object? amount = $none, + Object? type = $none, + Object? status = $none, + Object? billDetailId = $none, + Object? headCode = $none, + Object? isLineItemPayable = $none, + Object? paidAmount = $none}) => + $apply(FieldCopyWithData({ + if (id != $none) #id: id, + if (auditDetails != $none) #auditDetails: auditDetails, + if (tenantId != null) #tenantId: tenantId, + if (amount != $none) #amount: amount, + if (type != $none) #type: type, + if (status != $none) #status: status, + if (billDetailId != $none) #billDetailId: billDetailId, + if (headCode != $none) #headCode: headCode, + if (isLineItemPayable != $none) #isLineItemPayable: isLineItemPayable, + if (paidAmount != $none) #paidAmount: paidAmount + })); + @override + PayableLineItems $make(CopyWithData data) => PayableLineItems( + id: data.get(#id, or: $value.id), + auditDetails: data.get(#auditDetails, or: $value.auditDetails), + tenantId: data.get(#tenantId, or: $value.tenantId), + amount: data.get(#amount, or: $value.amount), + type: data.get(#type, or: $value.type), + status: data.get(#status, or: $value.status), + billDetailId: data.get(#billDetailId, or: $value.billDetailId), + headCode: data.get(#headCode, or: $value.headCode), + isLineItemPayable: + data.get(#isLineItemPayable, or: $value.isLineItemPayable), + paidAmount: data.get(#paidAmount, or: $value.paidAmount)); + + @override + PayableLineItemsCopyWith<$R2, PayableLineItems, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _PayableLineItemsCopyWithImpl($value, $cast, t); } -class PayeeMapperElement extends MapperElementBase { - PayeeMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - Payee decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - Payee fromMap(Map map) => Payee( - id: container.$getOpt(map, 'id'), - auditDetails: container.$getOpt(map, 'auditDetails'), - parentId: container.$getOpt(map, 'parentId'), - identifier: container.$getOpt(map, 'identifier'), - type: container.$getOpt(map, 'type'), - status: container.$getOpt(map, 'status')); - - @override - Function get encoder => encode; - dynamic encode(Payee v) => toMap(v); - Map toMap(Payee p) => { - 'id': container.$enc(p.id, 'id'), - 'auditDetails': container.$enc(p.auditDetails, 'auditDetails'), - 'parentId': container.$enc(p.parentId, 'parentId'), - 'identifier': container.$enc(p.identifier, 'identifier'), - 'type': container.$enc(p.type, 'type'), - 'status': container.$enc(p.status, 'status') - }; - - @override - String stringify(Payee self) => - 'Payee(id: ${container.asString(self.id)}, parentId: ${container.asString(self.parentId)}, type: ${container.asString(self.type)}, identifier: ${container.asString(self.identifier)}, status: ${container.asString(self.status)}, auditDetails: ${container.asString(self.auditDetails)})'; - @override - int hash(Payee self) => - container.hash(self.id) ^ - container.hash(self.parentId) ^ - container.hash(self.type) ^ - container.hash(self.identifier) ^ - container.hash(self.status) ^ - container.hash(self.auditDetails); - @override - bool equals(Payee self, Payee other) => - container.isEqual(self.id, other.id) && - container.isEqual(self.parentId, other.parentId) && - container.isEqual(self.type, other.type) && - container.isEqual(self.identifier, other.identifier) && - container.isEqual(self.status, other.status) && - container.isEqual(self.auditDetails, other.auditDetails); +class PayeeMapper extends ClassMapperBase { + PayeeMapper._(); + + static PayeeMapper? _instance; + static PayeeMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = PayeeMapper._()); + ContractAuditDetailsMapper.ensureInitialized(); + } + return _instance!; + } + + @override + final String id = 'Payee'; + + static String? _$id(Payee v) => v.id; + static const Field _f$id = Field('id', _$id, opt: true); + static ContractAuditDetails? _$auditDetails(Payee v) => v.auditDetails; + static const Field _f$auditDetails = + Field('auditDetails', _$auditDetails, opt: true); + static String? _$parentId(Payee v) => v.parentId; + static const Field _f$parentId = + Field('parentId', _$parentId, opt: true); + static String? _$identifier(Payee v) => v.identifier; + static const Field _f$identifier = + Field('identifier', _$identifier, opt: true); + static String? _$type(Payee v) => v.type; + static const Field _f$type = Field('type', _$type, opt: true); + static String? _$status(Payee v) => v.status; + static const Field _f$status = + Field('status', _$status, opt: true); + + @override + final MappableFields fields = const { + #id: _f$id, + #auditDetails: _f$auditDetails, + #parentId: _f$parentId, + #identifier: _f$identifier, + #type: _f$type, + #status: _f$status, + }; + + static Payee _instantiate(DecodingData data) { + return Payee( + id: data.dec(_f$id), + auditDetails: data.dec(_f$auditDetails), + parentId: data.dec(_f$parentId), + identifier: data.dec(_f$identifier), + type: data.dec(_f$type), + status: data.dec(_f$status)); + } + + @override + final Function instantiate = _instantiate; + + static Payee fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static Payee fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin PayeeMappable { - String toJson() => PayeeMapper.container.toJson(this as Payee); - Map toMap() => PayeeMapper.container.toMap(this as Payee); + String toJson() { + return PayeeMapper.ensureInitialized().encodeJson(this as Payee); + } + + Map toMap() { + return PayeeMapper.ensureInitialized().encodeMap(this as Payee); + } + PayeeCopyWith get copyWith => _PayeeCopyWithImpl(this as Payee, $identity, $identity); @override - String toString() => PayeeMapper.container.asString(this); + String toString() { + return PayeeMapper.ensureInitialized().stringifyValue(this as Payee); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - PayeeMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return PayeeMapper.ensureInitialized().equalsValue(this as Payee, other); + } + @override - int get hashCode => PayeeMapper.container.hash(this); + int get hashCode { + return PayeeMapper.ensureInitialized().hashValue(this as Payee); + } } -extension PayeeValueCopy<$R, $Out extends Payee> - on ObjectCopyWith<$R, Payee, $Out> { - PayeeCopyWith<$R, Payee, $Out> get asPayee => - base.as((v, t, t2) => _PayeeCopyWithImpl(v, t, t2)); +extension PayeeValueCopy<$R, $Out> on ObjectCopyWith<$R, Payee, $Out> { + PayeeCopyWith<$R, Payee, $Out> get $asPayee => + $base.as((v, t, t2) => _PayeeCopyWithImpl(v, t, t2)); } -typedef PayeeCopyWithBound = Payee; - -abstract class PayeeCopyWith<$R, $In extends Payee, $Out extends Payee> - implements ObjectCopyWith<$R, $In, $Out> { - PayeeCopyWith<$R2, $In, $Out2> chain<$R2, $Out2 extends Payee>( - Then t, Then<$Out2, $R2> t2); +abstract class PayeeCopyWith<$R, $In extends Payee, $Out> + implements ClassCopyWith<$R, $In, $Out> { ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? get auditDetails; $R call( @@ -1075,21 +1294,19 @@ abstract class PayeeCopyWith<$R, $In extends Payee, $Out extends Payee> String? identifier, String? type, String? status}); + PayeeCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); } -class _PayeeCopyWithImpl<$R, $Out extends Payee> - extends CopyWithBase<$R, Payee, $Out> +class _PayeeCopyWithImpl<$R, $Out> extends ClassCopyWithBase<$R, Payee, $Out> implements PayeeCopyWith<$R, Payee, $Out> { _PayeeCopyWithImpl(super.value, super.then, super.then2); - @override - PayeeCopyWith<$R2, Payee, $Out2> chain<$R2, $Out2 extends Payee>( - Then t, Then<$Out2, $R2> t2) => - _PayeeCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = PayeeMapper.ensureInitialized(); @override ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? - get auditDetails => $value.auditDetails?.copyWith - .chain($identity, (v) => call(auditDetails: v)); + get auditDetails => + $value.auditDetails?.copyWith.$chain((v) => call(auditDetails: v)); @override $R call( {Object? id = $none, @@ -1098,348 +1315,363 @@ class _PayeeCopyWithImpl<$R, $Out extends Payee> Object? identifier = $none, Object? type = $none, Object? status = $none}) => - $then(Payee( - id: or(id, $value.id), - auditDetails: or(auditDetails, $value.auditDetails), - parentId: or(parentId, $value.parentId), - identifier: or(identifier, $value.identifier), - type: or(type, $value.type), - status: or(status, $value.status))); + $apply(FieldCopyWithData({ + if (id != $none) #id: id, + if (auditDetails != $none) #auditDetails: auditDetails, + if (parentId != $none) #parentId: parentId, + if (identifier != $none) #identifier: identifier, + if (type != $none) #type: type, + if (status != $none) #status: status + })); + @override + Payee $make(CopyWithData data) => Payee( + id: data.get(#id, or: $value.id), + auditDetails: data.get(#auditDetails, or: $value.auditDetails), + parentId: data.get(#parentId, or: $value.parentId), + identifier: data.get(#identifier, or: $value.identifier), + type: data.get(#type, or: $value.type), + status: data.get(#status, or: $value.status)); + + @override + PayeeCopyWith<$R2, Payee, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _PayeeCopyWithImpl($value, $cast, t); } -class BillLineItemsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {BillLineItemsMapper()}, - )..linkAll({ContractAuditDetailsMapper.container}); +class PayerMapper extends ClassMapperBase { + PayerMapper._(); + + static PayerMapper? _instance; + static PayerMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = PayerMapper._()); + ContractAuditDetailsMapper.ensureInitialized(); + } + return _instance!; + } @override - BillLineItemsMapperElement createElement(MapperContainer container) { - return BillLineItemsMapperElement._(this, container); + final String id = 'Payer'; + + static String? _$id(Payer v) => v.id; + static const Field _f$id = Field('id', _$id, opt: true); + static String? _$status(Payer v) => v.status; + static const Field _f$status = + Field('status', _$status, opt: true); + static ContractAuditDetails? _$auditDetails(Payer v) => v.auditDetails; + static const Field _f$auditDetails = + Field('auditDetails', _$auditDetails, opt: true); + static String? _$type(Payer v) => v.type; + static const Field _f$type = Field('type', _$type, opt: true); + static String? _$identifier(Payer v) => v.identifier; + static const Field _f$identifier = + Field('identifier', _$identifier, opt: true); + static String? _$parentId(Payer v) => v.parentId; + static const Field _f$parentId = + Field('parentId', _$parentId, opt: true); + + @override + final MappableFields fields = const { + #id: _f$id, + #status: _f$status, + #auditDetails: _f$auditDetails, + #type: _f$type, + #identifier: _f$identifier, + #parentId: _f$parentId, + }; + + static Payer _instantiate(DecodingData data) { + return Payer( + id: data.dec(_f$id), + status: data.dec(_f$status), + auditDetails: data.dec(_f$auditDetails), + type: data.dec(_f$type), + identifier: data.dec(_f$identifier), + parentId: data.dec(_f$parentId)); } @override - String get id => 'BillLineItems'; + final Function instantiate = _instantiate; - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + static Payer fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } -class BillLineItemsMapperElement extends MapperElementBase { - BillLineItemsMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - BillLineItems decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - BillLineItems fromMap(Map map) => BillLineItems( - id: container.$getOpt(map, 'id'), - auditDetails: container.$getOpt(map, 'auditDetails'), - tenantId: container.$get(map, 'tenantId'), - amount: container.$getOpt(map, 'amount'), - type: container.$getOpt(map, 'type'), - status: container.$getOpt(map, 'status'), - billDetailId: container.$getOpt(map, 'billDetailId'), - headCode: container.$getOpt(map, 'headCode'), - isLineItemPayable: container.$getOpt(map, 'isLineItemPayable'), - paidAmount: container.$getOpt(map, 'paidAmount')); - - @override - Function get encoder => encode; - dynamic encode(BillLineItems v) => toMap(v); - Map toMap(BillLineItems b) => { - 'id': container.$enc(b.id, 'id'), - 'auditDetails': container.$enc(b.auditDetails, 'auditDetails'), - 'tenantId': container.$enc(b.tenantId, 'tenantId'), - 'amount': container.$enc(b.amount, 'amount'), - 'type': container.$enc(b.type, 'type'), - 'status': container.$enc(b.status, 'status'), - 'billDetailId': container.$enc(b.billDetailId, 'billDetailId'), - 'headCode': container.$enc(b.headCode, 'headCode'), - 'isLineItemPayable': - container.$enc(b.isLineItemPayable, 'isLineItemPayable'), - 'paidAmount': container.$enc(b.paidAmount, 'paidAmount') - }; - - @override - String stringify(BillLineItems self) => - 'BillLineItems(id: ${container.asString(self.id)}, billDetailId: ${container.asString(self.billDetailId)}, tenantId: ${container.asString(self.tenantId)}, headCode: ${container.asString(self.headCode)}, amount: ${container.asString(self.amount)}, type: ${container.asString(self.type)}, paidAmount: ${container.asString(self.paidAmount)}, status: ${container.asString(self.status)}, isLineItemPayable: ${container.asString(self.isLineItemPayable)}, auditDetails: ${container.asString(self.auditDetails)})'; - @override - int hash(BillLineItems self) => - container.hash(self.id) ^ - container.hash(self.billDetailId) ^ - container.hash(self.tenantId) ^ - container.hash(self.headCode) ^ - container.hash(self.amount) ^ - container.hash(self.type) ^ - container.hash(self.paidAmount) ^ - container.hash(self.status) ^ - container.hash(self.isLineItemPayable) ^ - container.hash(self.auditDetails); - @override - bool equals(BillLineItems self, BillLineItems other) => - container.isEqual(self.id, other.id) && - container.isEqual(self.billDetailId, other.billDetailId) && - container.isEqual(self.tenantId, other.tenantId) && - container.isEqual(self.headCode, other.headCode) && - container.isEqual(self.amount, other.amount) && - container.isEqual(self.type, other.type) && - container.isEqual(self.paidAmount, other.paidAmount) && - container.isEqual(self.status, other.status) && - container.isEqual(self.isLineItemPayable, other.isLineItemPayable) && - container.isEqual(self.auditDetails, other.auditDetails); + static Payer fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -mixin BillLineItemsMappable { - String toJson() => - BillLineItemsMapper.container.toJson(this as BillLineItems); - Map toMap() => - BillLineItemsMapper.container.toMap(this as BillLineItems); - BillLineItemsCopyWith - get copyWith => _BillLineItemsCopyWithImpl( - this as BillLineItems, $identity, $identity); +mixin PayerMappable { + String toJson() { + return PayerMapper.ensureInitialized().encodeJson(this as Payer); + } + + Map toMap() { + return PayerMapper.ensureInitialized().encodeMap(this as Payer); + } + + PayerCopyWith get copyWith => + _PayerCopyWithImpl(this as Payer, $identity, $identity); @override - String toString() => BillLineItemsMapper.container.asString(this); + String toString() { + return PayerMapper.ensureInitialized().stringifyValue(this as Payer); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - BillLineItemsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return PayerMapper.ensureInitialized().equalsValue(this as Payer, other); + } + @override - int get hashCode => BillLineItemsMapper.container.hash(this); + int get hashCode { + return PayerMapper.ensureInitialized().hashValue(this as Payer); + } } -extension BillLineItemsValueCopy<$R, $Out extends BillLineItems> - on ObjectCopyWith<$R, BillLineItems, $Out> { - BillLineItemsCopyWith<$R, BillLineItems, $Out> get asBillLineItems => - base.as((v, t, t2) => _BillLineItemsCopyWithImpl(v, t, t2)); +extension PayerValueCopy<$R, $Out> on ObjectCopyWith<$R, Payer, $Out> { + PayerCopyWith<$R, Payer, $Out> get $asPayer => + $base.as((v, t, t2) => _PayerCopyWithImpl(v, t, t2)); } -typedef BillLineItemsCopyWithBound = BillLineItems; - -abstract class BillLineItemsCopyWith<$R, $In extends BillLineItems, - $Out extends BillLineItems> implements ObjectCopyWith<$R, $In, $Out> { - BillLineItemsCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends BillLineItems>( - Then t, Then<$Out2, $R2> t2); +abstract class PayerCopyWith<$R, $In extends Payer, $Out> + implements ClassCopyWith<$R, $In, $Out> { ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? get auditDetails; $R call( {String? id, + String? status, ContractAuditDetails? auditDetails, - String? tenantId, - num? amount, String? type, - String? status, - String? billDetailId, - String? headCode, - bool? isLineItemPayable, - num? paidAmount}); + String? identifier, + String? parentId}); + PayerCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); } -class _BillLineItemsCopyWithImpl<$R, $Out extends BillLineItems> - extends CopyWithBase<$R, BillLineItems, $Out> - implements BillLineItemsCopyWith<$R, BillLineItems, $Out> { - _BillLineItemsCopyWithImpl(super.value, super.then, super.then2); - @override - BillLineItemsCopyWith<$R2, BillLineItems, $Out2> - chain<$R2, $Out2 extends BillLineItems>( - Then t, Then<$Out2, $R2> t2) => - _BillLineItemsCopyWithImpl($value, t, t2); +class _PayerCopyWithImpl<$R, $Out> extends ClassCopyWithBase<$R, Payer, $Out> + implements PayerCopyWith<$R, Payer, $Out> { + _PayerCopyWithImpl(super.value, super.then, super.then2); + @override + late final ClassMapperBase $mapper = PayerMapper.ensureInitialized(); @override ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? - get auditDetails => $value.auditDetails?.copyWith - .chain($identity, (v) => call(auditDetails: v)); + get auditDetails => + $value.auditDetails?.copyWith.$chain((v) => call(auditDetails: v)); @override $R call( {Object? id = $none, + Object? status = $none, Object? auditDetails = $none, - String? tenantId, - Object? amount = $none, Object? type = $none, - Object? status = $none, - Object? billDetailId = $none, - Object? headCode = $none, - Object? isLineItemPayable = $none, - Object? paidAmount = $none}) => - $then(BillLineItems( - id: or(id, $value.id), - auditDetails: or(auditDetails, $value.auditDetails), - tenantId: tenantId ?? $value.tenantId, - amount: or(amount, $value.amount), - type: or(type, $value.type), - status: or(status, $value.status), - billDetailId: or(billDetailId, $value.billDetailId), - headCode: or(headCode, $value.headCode), - isLineItemPayable: or(isLineItemPayable, $value.isLineItemPayable), - paidAmount: or(paidAmount, $value.paidAmount))); + Object? identifier = $none, + Object? parentId = $none}) => + $apply(FieldCopyWithData({ + if (id != $none) #id: id, + if (status != $none) #status: status, + if (auditDetails != $none) #auditDetails: auditDetails, + if (type != $none) #type: type, + if (identifier != $none) #identifier: identifier, + if (parentId != $none) #parentId: parentId + })); + @override + Payer $make(CopyWithData data) => Payer( + id: data.get(#id, or: $value.id), + status: data.get(#status, or: $value.status), + auditDetails: data.get(#auditDetails, or: $value.auditDetails), + type: data.get(#type, or: $value.type), + identifier: data.get(#identifier, or: $value.identifier), + parentId: data.get(#parentId, or: $value.parentId)); + + @override + PayerCopyWith<$R2, Payer, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _PayerCopyWithImpl($value, $cast, t); } -class PayableLineItemsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {PayableLineItemsMapper()}, - )..linkAll({ContractAuditDetailsMapper.container}); +class BillAdditionalDetailsMapper + extends ClassMapperBase { + BillAdditionalDetailsMapper._(); + + static BillAdditionalDetailsMapper? _instance; + static BillAdditionalDetailsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = BillAdditionalDetailsMapper._()); + } + return _instance!; + } @override - PayableLineItemsMapperElement createElement(MapperContainer container) { - return PayableLineItemsMapperElement._(this, container); + final String id = 'BillAdditionalDetails'; + + static String? _$invoiceNumber(BillAdditionalDetails v) => v.invoiceNumber; + static const Field _f$invoiceNumber = + Field('invoiceNumber', _$invoiceNumber, opt: true); + static String? _$locality(BillAdditionalDetails v) => v.locality; + static const Field _f$locality = + Field('locality', _$locality, opt: true); + static String? _$orgName(BillAdditionalDetails v) => v.orgName; + static const Field _f$orgName = + Field('orgName', _$orgName, opt: true); + static String? _$projectDesc(BillAdditionalDetails v) => v.projectDesc; + static const Field _f$projectDesc = + Field('projectDesc', _$projectDesc, opt: true); + static String? _$projectName(BillAdditionalDetails v) => v.projectName; + static const Field _f$projectName = + Field('projectName', _$projectName, opt: true); + static String? _$projectId(BillAdditionalDetails v) => v.projectId; + static const Field _f$projectId = + Field('projectId', _$projectId, opt: true); + static String? _$ward(BillAdditionalDetails v) => v.ward; + static const Field _f$ward = + Field('ward', _$ward, opt: true); + static String? _$totalBillAmount(BillAdditionalDetails v) => + v.totalBillAmount; + static const Field _f$totalBillAmount = + Field('totalBillAmount', _$totalBillAmount, opt: true); + static int? _$invoiceDate(BillAdditionalDetails v) => v.invoiceDate; + static const Field _f$invoiceDate = + Field('invoiceDate', _$invoiceDate, opt: true); + + @override + final MappableFields fields = const { + #invoiceNumber: _f$invoiceNumber, + #locality: _f$locality, + #orgName: _f$orgName, + #projectDesc: _f$projectDesc, + #projectName: _f$projectName, + #projectId: _f$projectId, + #ward: _f$ward, + #totalBillAmount: _f$totalBillAmount, + #invoiceDate: _f$invoiceDate, + }; + + static BillAdditionalDetails _instantiate(DecodingData data) { + return BillAdditionalDetails( + invoiceNumber: data.dec(_f$invoiceNumber), + locality: data.dec(_f$locality), + orgName: data.dec(_f$orgName), + projectDesc: data.dec(_f$projectDesc), + projectName: data.dec(_f$projectName), + projectId: data.dec(_f$projectId), + ward: data.dec(_f$ward), + totalBillAmount: data.dec(_f$totalBillAmount), + invoiceDate: data.dec(_f$invoiceDate)); } @override - String get id => 'PayableLineItems'; + final Function instantiate = _instantiate; - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + static BillAdditionalDetails fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } -class PayableLineItemsMapperElement - extends MapperElementBase { - PayableLineItemsMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - PayableLineItems decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - PayableLineItems fromMap(Map map) => PayableLineItems( - id: container.$getOpt(map, 'id'), - auditDetails: container.$getOpt(map, 'auditDetails'), - tenantId: container.$get(map, 'tenantId'), - amount: container.$getOpt(map, 'amount'), - type: container.$getOpt(map, 'type'), - status: container.$getOpt(map, 'status'), - billDetailId: container.$getOpt(map, 'billDetailId'), - headCode: container.$getOpt(map, 'headCode'), - isLineItemPayable: container.$getOpt(map, 'isLineItemPayable'), - paidAmount: container.$getOpt(map, 'paidAmount')); - - @override - Function get encoder => encode; - dynamic encode(PayableLineItems v) => toMap(v); - Map toMap(PayableLineItems p) => { - 'id': container.$enc(p.id, 'id'), - 'auditDetails': container.$enc(p.auditDetails, 'auditDetails'), - 'tenantId': container.$enc(p.tenantId, 'tenantId'), - 'amount': container.$enc(p.amount, 'amount'), - 'type': container.$enc(p.type, 'type'), - 'status': container.$enc(p.status, 'status'), - 'billDetailId': container.$enc(p.billDetailId, 'billDetailId'), - 'headCode': container.$enc(p.headCode, 'headCode'), - 'isLineItemPayable': - container.$enc(p.isLineItemPayable, 'isLineItemPayable'), - 'paidAmount': container.$enc(p.paidAmount, 'paidAmount') - }; - - @override - String stringify(PayableLineItems self) => - 'PayableLineItems(id: ${container.asString(self.id)}, billDetailId: ${container.asString(self.billDetailId)}, tenantId: ${container.asString(self.tenantId)}, headCode: ${container.asString(self.headCode)}, amount: ${container.asString(self.amount)}, type: ${container.asString(self.type)}, paidAmount: ${container.asString(self.paidAmount)}, status: ${container.asString(self.status)}, isLineItemPayable: ${container.asString(self.isLineItemPayable)}, auditDetails: ${container.asString(self.auditDetails)})'; - @override - int hash(PayableLineItems self) => - container.hash(self.id) ^ - container.hash(self.billDetailId) ^ - container.hash(self.tenantId) ^ - container.hash(self.headCode) ^ - container.hash(self.amount) ^ - container.hash(self.type) ^ - container.hash(self.paidAmount) ^ - container.hash(self.status) ^ - container.hash(self.isLineItemPayable) ^ - container.hash(self.auditDetails); - @override - bool equals(PayableLineItems self, PayableLineItems other) => - container.isEqual(self.id, other.id) && - container.isEqual(self.billDetailId, other.billDetailId) && - container.isEqual(self.tenantId, other.tenantId) && - container.isEqual(self.headCode, other.headCode) && - container.isEqual(self.amount, other.amount) && - container.isEqual(self.type, other.type) && - container.isEqual(self.paidAmount, other.paidAmount) && - container.isEqual(self.status, other.status) && - container.isEqual(self.isLineItemPayable, other.isLineItemPayable) && - container.isEqual(self.auditDetails, other.auditDetails); + static BillAdditionalDetails fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -mixin PayableLineItemsMappable { - String toJson() => - PayableLineItemsMapper.container.toJson(this as PayableLineItems); - Map toMap() => - PayableLineItemsMapper.container.toMap(this as PayableLineItems); - PayableLineItemsCopyWith - get copyWith => _PayableLineItemsCopyWithImpl( - this as PayableLineItems, $identity, $identity); +mixin BillAdditionalDetailsMappable { + String toJson() { + return BillAdditionalDetailsMapper.ensureInitialized() + .encodeJson(this as BillAdditionalDetails); + } + + Map toMap() { + return BillAdditionalDetailsMapper.ensureInitialized() + .encodeMap(this as BillAdditionalDetails); + } + + BillAdditionalDetailsCopyWith + get copyWith => _BillAdditionalDetailsCopyWithImpl( + this as BillAdditionalDetails, $identity, $identity); @override - String toString() => PayableLineItemsMapper.container.asString(this); + String toString() { + return BillAdditionalDetailsMapper.ensureInitialized() + .stringifyValue(this as BillAdditionalDetails); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - PayableLineItemsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return BillAdditionalDetailsMapper.ensureInitialized() + .equalsValue(this as BillAdditionalDetails, other); + } + @override - int get hashCode => PayableLineItemsMapper.container.hash(this); + int get hashCode { + return BillAdditionalDetailsMapper.ensureInitialized() + .hashValue(this as BillAdditionalDetails); + } } -extension PayableLineItemsValueCopy<$R, $Out extends PayableLineItems> - on ObjectCopyWith<$R, PayableLineItems, $Out> { - PayableLineItemsCopyWith<$R, PayableLineItems, $Out> get asPayableLineItems => - base.as((v, t, t2) => _PayableLineItemsCopyWithImpl(v, t, t2)); +extension BillAdditionalDetailsValueCopy<$R, $Out> + on ObjectCopyWith<$R, BillAdditionalDetails, $Out> { + BillAdditionalDetailsCopyWith<$R, BillAdditionalDetails, $Out> + get $asBillAdditionalDetails => + $base.as((v, t, t2) => _BillAdditionalDetailsCopyWithImpl(v, t, t2)); } -typedef PayableLineItemsCopyWithBound = PayableLineItems; - -abstract class PayableLineItemsCopyWith<$R, $In extends PayableLineItems, - $Out extends PayableLineItems> implements ObjectCopyWith<$R, $In, $Out> { - PayableLineItemsCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends PayableLineItems>( - Then t, Then<$Out2, $R2> t2); - ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? - get auditDetails; +abstract class BillAdditionalDetailsCopyWith< + $R, + $In extends BillAdditionalDetails, + $Out> implements ClassCopyWith<$R, $In, $Out> { $R call( - {String? id, - ContractAuditDetails? auditDetails, - String? tenantId, - num? amount, - String? type, - String? status, - String? billDetailId, - String? headCode, - bool? isLineItemPayable, - num? paidAmount}); + {String? invoiceNumber, + String? locality, + String? orgName, + String? projectDesc, + String? projectName, + String? projectId, + String? ward, + String? totalBillAmount, + int? invoiceDate}); + BillAdditionalDetailsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _PayableLineItemsCopyWithImpl<$R, $Out extends PayableLineItems> - extends CopyWithBase<$R, PayableLineItems, $Out> - implements PayableLineItemsCopyWith<$R, PayableLineItems, $Out> { - _PayableLineItemsCopyWithImpl(super.value, super.then, super.then2); - @override - PayableLineItemsCopyWith<$R2, PayableLineItems, $Out2> - chain<$R2, $Out2 extends PayableLineItems>( - Then t, Then<$Out2, $R2> t2) => - _PayableLineItemsCopyWithImpl($value, t, t2); +class _BillAdditionalDetailsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, BillAdditionalDetails, $Out> + implements BillAdditionalDetailsCopyWith<$R, BillAdditionalDetails, $Out> { + _BillAdditionalDetailsCopyWithImpl(super.value, super.then, super.then2); @override - ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? - get auditDetails => $value.auditDetails?.copyWith - .chain($identity, (v) => call(auditDetails: v)); + late final ClassMapperBase $mapper = + BillAdditionalDetailsMapper.ensureInitialized(); @override $R call( - {Object? id = $none, - Object? auditDetails = $none, - String? tenantId, - Object? amount = $none, - Object? type = $none, - Object? status = $none, - Object? billDetailId = $none, - Object? headCode = $none, - Object? isLineItemPayable = $none, - Object? paidAmount = $none}) => - $then(PayableLineItems( - id: or(id, $value.id), - auditDetails: or(auditDetails, $value.auditDetails), - tenantId: tenantId ?? $value.tenantId, - amount: or(amount, $value.amount), - type: or(type, $value.type), - status: or(status, $value.status), - billDetailId: or(billDetailId, $value.billDetailId), - headCode: or(headCode, $value.headCode), - isLineItemPayable: or(isLineItemPayable, $value.isLineItemPayable), - paidAmount: or(paidAmount, $value.paidAmount))); + {Object? invoiceNumber = $none, + Object? locality = $none, + Object? orgName = $none, + Object? projectDesc = $none, + Object? projectName = $none, + Object? projectId = $none, + Object? ward = $none, + Object? totalBillAmount = $none, + Object? invoiceDate = $none}) => + $apply(FieldCopyWithData({ + if (invoiceNumber != $none) #invoiceNumber: invoiceNumber, + if (locality != $none) #locality: locality, + if (orgName != $none) #orgName: orgName, + if (projectDesc != $none) #projectDesc: projectDesc, + if (projectName != $none) #projectName: projectName, + if (projectId != $none) #projectId: projectId, + if (ward != $none) #ward: ward, + if (totalBillAmount != $none) #totalBillAmount: totalBillAmount, + if (invoiceDate != $none) #invoiceDate: invoiceDate + })); + @override + BillAdditionalDetails $make(CopyWithData data) => BillAdditionalDetails( + invoiceNumber: data.get(#invoiceNumber, or: $value.invoiceNumber), + locality: data.get(#locality, or: $value.locality), + orgName: data.get(#orgName, or: $value.orgName), + projectDesc: data.get(#projectDesc, or: $value.projectDesc), + projectName: data.get(#projectName, or: $value.projectName), + projectId: data.get(#projectId, or: $value.projectId), + ward: data.get(#ward, or: $value.ward), + totalBillAmount: data.get(#totalBillAmount, or: $value.totalBillAmount), + invoiceDate: data.get(#invoiceDate, or: $value.invoiceDate)); + + @override + BillAdditionalDetailsCopyWith<$R2, BillAdditionalDetails, $Out2> + $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _BillAdditionalDetailsCopyWithImpl($value, $cast, t); } diff --git a/frontend/works_shg_app/lib/models/organisation/organisation_model.freezed.dart b/frontend/works_shg_app/lib/models/organisation/organisation_model.freezed.dart index 027ffdcb52..4cafba3c42 100644 --- a/frontend/works_shg_app/lib/models/organisation/organisation_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/organisation/organisation_model.freezed.dart @@ -12,7 +12,7 @@ part of 'organisation_model.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); OrganisationListModel _$OrganisationListModelFromJson( Map json) { @@ -65,22 +65,24 @@ class _$OrganisationListModelCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_OrganisationListModelCopyWith<$Res> +abstract class _$$OrganisationListModelImplCopyWith<$Res> implements $OrganisationListModelCopyWith<$Res> { - factory _$$_OrganisationListModelCopyWith(_$_OrganisationListModel value, - $Res Function(_$_OrganisationListModel) then) = - __$$_OrganisationListModelCopyWithImpl<$Res>; + factory _$$OrganisationListModelImplCopyWith( + _$OrganisationListModelImpl value, + $Res Function(_$OrganisationListModelImpl) then) = + __$$OrganisationListModelImplCopyWithImpl<$Res>; @override @useResult $Res call({List? organisations}); } /// @nodoc -class __$$_OrganisationListModelCopyWithImpl<$Res> - extends _$OrganisationListModelCopyWithImpl<$Res, _$_OrganisationListModel> - implements _$$_OrganisationListModelCopyWith<$Res> { - __$$_OrganisationListModelCopyWithImpl(_$_OrganisationListModel _value, - $Res Function(_$_OrganisationListModel) _then) +class __$$OrganisationListModelImplCopyWithImpl<$Res> + extends _$OrganisationListModelCopyWithImpl<$Res, + _$OrganisationListModelImpl> + implements _$$OrganisationListModelImplCopyWith<$Res> { + __$$OrganisationListModelImplCopyWithImpl(_$OrganisationListModelImpl _value, + $Res Function(_$OrganisationListModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -88,7 +90,7 @@ class __$$_OrganisationListModelCopyWithImpl<$Res> $Res call({ Object? organisations = freezed, }) { - return _then(_$_OrganisationListModel( + return _then(_$OrganisationListModelImpl( organisations: freezed == organisations ? _value._organisations : organisations // ignore: cast_nullable_to_non_nullable @@ -99,12 +101,13 @@ class __$$_OrganisationListModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_OrganisationListModel implements _OrganisationListModel { - const _$_OrganisationListModel({final List? organisations}) +class _$OrganisationListModelImpl implements _OrganisationListModel { + const _$OrganisationListModelImpl( + {final List? organisations}) : _organisations = organisations; - factory _$_OrganisationListModel.fromJson(Map json) => - _$$_OrganisationListModelFromJson(json); + factory _$OrganisationListModelImpl.fromJson(Map json) => + _$$OrganisationListModelImplFromJson(json); final List? _organisations; @override @@ -122,10 +125,10 @@ class _$_OrganisationListModel implements _OrganisationListModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_OrganisationListModel && + other is _$OrganisationListModelImpl && const DeepCollectionEquality() .equals(other._organisations, _organisations)); } @@ -138,13 +141,13 @@ class _$_OrganisationListModel implements _OrganisationListModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_OrganisationListModelCopyWith<_$_OrganisationListModel> get copyWith => - __$$_OrganisationListModelCopyWithImpl<_$_OrganisationListModel>( - this, _$identity); + _$$OrganisationListModelImplCopyWith<_$OrganisationListModelImpl> + get copyWith => __$$OrganisationListModelImplCopyWithImpl< + _$OrganisationListModelImpl>(this, _$identity); @override Map toJson() { - return _$$_OrganisationListModelToJson( + return _$$OrganisationListModelImplToJson( this, ); } @@ -153,17 +156,17 @@ class _$_OrganisationListModel implements _OrganisationListModel { abstract class _OrganisationListModel implements OrganisationListModel { const factory _OrganisationListModel( {final List? organisations}) = - _$_OrganisationListModel; + _$OrganisationListModelImpl; factory _OrganisationListModel.fromJson(Map json) = - _$_OrganisationListModel.fromJson; + _$OrganisationListModelImpl.fromJson; @override List? get organisations; @override @JsonKey(ignore: true) - _$$_OrganisationListModelCopyWith<_$_OrganisationListModel> get copyWith => - throw _privateConstructorUsedError; + _$$OrganisationListModelImplCopyWith<_$OrganisationListModelImpl> + get copyWith => throw _privateConstructorUsedError; } OrganisationModel _$OrganisationModelFromJson(Map json) { @@ -315,11 +318,11 @@ class _$OrganisationModelCopyWithImpl<$Res, $Val extends OrganisationModel> } /// @nodoc -abstract class _$$_OrganisationModelCopyWith<$Res> +abstract class _$$OrganisationModelImplCopyWith<$Res> implements $OrganisationModelCopyWith<$Res> { - factory _$$_OrganisationModelCopyWith(_$_OrganisationModel value, - $Res Function(_$_OrganisationModel) then) = - __$$_OrganisationModelCopyWithImpl<$Res>; + factory _$$OrganisationModelImplCopyWith(_$OrganisationModelImpl value, + $Res Function(_$OrganisationModelImpl) then) = + __$$OrganisationModelImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -342,11 +345,11 @@ abstract class _$$_OrganisationModelCopyWith<$Res> } /// @nodoc -class __$$_OrganisationModelCopyWithImpl<$Res> - extends _$OrganisationModelCopyWithImpl<$Res, _$_OrganisationModel> - implements _$$_OrganisationModelCopyWith<$Res> { - __$$_OrganisationModelCopyWithImpl( - _$_OrganisationModel _value, $Res Function(_$_OrganisationModel) _then) +class __$$OrganisationModelImplCopyWithImpl<$Res> + extends _$OrganisationModelCopyWithImpl<$Res, _$OrganisationModelImpl> + implements _$$OrganisationModelImplCopyWith<$Res> { + __$$OrganisationModelImplCopyWithImpl(_$OrganisationModelImpl _value, + $Res Function(_$OrganisationModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -366,7 +369,7 @@ class __$$_OrganisationModelCopyWithImpl<$Res> Object? additionalDetails = freezed, Object? dateOfIncorporation = freezed, }) { - return _then(_$_OrganisationModel( + return _then(_$OrganisationModelImpl( name: freezed == name ? _value.name : name // ignore: cast_nullable_to_non_nullable @@ -425,8 +428,8 @@ class __$$_OrganisationModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_OrganisationModel implements _OrganisationModel { - const _$_OrganisationModel( +class _$OrganisationModelImpl implements _OrganisationModel { + const _$OrganisationModelImpl( {this.name, this.applicationNumber, required this.tenantId, @@ -445,8 +448,8 @@ class _$_OrganisationModel implements _OrganisationModel { _identifiers = identifiers, _functions = functions; - factory _$_OrganisationModel.fromJson(Map json) => - _$$_OrganisationModelFromJson(json); + factory _$OrganisationModelImpl.fromJson(Map json) => + _$$OrganisationModelImplFromJson(json); @override final String? name; @@ -513,10 +516,10 @@ class _$_OrganisationModel implements _OrganisationModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_OrganisationModel && + other is _$OrganisationModelImpl && (identical(other.name, name) || other.name == name) && (identical(other.applicationNumber, applicationNumber) || other.applicationNumber == applicationNumber) && @@ -564,13 +567,13 @@ class _$_OrganisationModel implements _OrganisationModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_OrganisationModelCopyWith<_$_OrganisationModel> get copyWith => - __$$_OrganisationModelCopyWithImpl<_$_OrganisationModel>( + _$$OrganisationModelImplCopyWith<_$OrganisationModelImpl> get copyWith => + __$$OrganisationModelImplCopyWithImpl<_$OrganisationModelImpl>( this, _$identity); @override Map toJson() { - return _$$_OrganisationModelToJson( + return _$$OrganisationModelImplToJson( this, ); } @@ -590,10 +593,10 @@ abstract class _OrganisationModel implements OrganisationModel { final List? identifiers, final List? functions, final OrgAdditionalDetails? additionalDetails, - final int? dateOfIncorporation}) = _$_OrganisationModel; + final int? dateOfIncorporation}) = _$OrganisationModelImpl; factory _OrganisationModel.fromJson(Map json) = - _$_OrganisationModel.fromJson; + _$OrganisationModelImpl.fromJson; @override String? get name; @@ -623,7 +626,7 @@ abstract class _OrganisationModel implements OrganisationModel { int? get dateOfIncorporation; @override @JsonKey(ignore: true) - _$$_OrganisationModelCopyWith<_$_OrganisationModel> get copyWith => + _$$OrganisationModelImplCopyWith<_$OrganisationModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -691,11 +694,11 @@ class _$OrgAdditionalDetailsCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_OrgAdditionalDetailsCopyWith<$Res> +abstract class _$$OrgAdditionalDetailsImplCopyWith<$Res> implements $OrgAdditionalDetailsCopyWith<$Res> { - factory _$$_OrgAdditionalDetailsCopyWith(_$_OrgAdditionalDetails value, - $Res Function(_$_OrgAdditionalDetails) then) = - __$$_OrgAdditionalDetailsCopyWithImpl<$Res>; + factory _$$OrgAdditionalDetailsImplCopyWith(_$OrgAdditionalDetailsImpl value, + $Res Function(_$OrgAdditionalDetailsImpl) then) = + __$$OrgAdditionalDetailsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -705,11 +708,11 @@ abstract class _$$_OrgAdditionalDetailsCopyWith<$Res> } /// @nodoc -class __$$_OrgAdditionalDetailsCopyWithImpl<$Res> - extends _$OrgAdditionalDetailsCopyWithImpl<$Res, _$_OrgAdditionalDetails> - implements _$$_OrgAdditionalDetailsCopyWith<$Res> { - __$$_OrgAdditionalDetailsCopyWithImpl(_$_OrgAdditionalDetails _value, - $Res Function(_$_OrgAdditionalDetails) _then) +class __$$OrgAdditionalDetailsImplCopyWithImpl<$Res> + extends _$OrgAdditionalDetailsCopyWithImpl<$Res, _$OrgAdditionalDetailsImpl> + implements _$$OrgAdditionalDetailsImplCopyWith<$Res> { + __$$OrgAdditionalDetailsImplCopyWithImpl(_$OrgAdditionalDetailsImpl _value, + $Res Function(_$OrgAdditionalDetailsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -719,7 +722,7 @@ class __$$_OrgAdditionalDetailsCopyWithImpl<$Res> Object? deptRegistrationNum = freezed, Object? locality = freezed, }) { - return _then(_$_OrgAdditionalDetails( + return _then(_$OrgAdditionalDetailsImpl( registeredByDept: freezed == registeredByDept ? _value.registeredByDept : registeredByDept // ignore: cast_nullable_to_non_nullable @@ -738,12 +741,12 @@ class __$$_OrgAdditionalDetailsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_OrgAdditionalDetails implements _OrgAdditionalDetails { - const _$_OrgAdditionalDetails( +class _$OrgAdditionalDetailsImpl implements _OrgAdditionalDetails { + const _$OrgAdditionalDetailsImpl( {this.registeredByDept, this.deptRegistrationNum, this.locality}); - factory _$_OrgAdditionalDetails.fromJson(Map json) => - _$$_OrgAdditionalDetailsFromJson(json); + factory _$OrgAdditionalDetailsImpl.fromJson(Map json) => + _$$OrgAdditionalDetailsImplFromJson(json); @override final String? registeredByDept; @@ -758,10 +761,10 @@ class _$_OrgAdditionalDetails implements _OrgAdditionalDetails { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_OrgAdditionalDetails && + other is _$OrgAdditionalDetailsImpl && (identical(other.registeredByDept, registeredByDept) || other.registeredByDept == registeredByDept) && (identical(other.deptRegistrationNum, deptRegistrationNum) || @@ -778,13 +781,14 @@ class _$_OrgAdditionalDetails implements _OrgAdditionalDetails { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_OrgAdditionalDetailsCopyWith<_$_OrgAdditionalDetails> get copyWith => - __$$_OrgAdditionalDetailsCopyWithImpl<_$_OrgAdditionalDetails>( - this, _$identity); + _$$OrgAdditionalDetailsImplCopyWith<_$OrgAdditionalDetailsImpl> + get copyWith => + __$$OrgAdditionalDetailsImplCopyWithImpl<_$OrgAdditionalDetailsImpl>( + this, _$identity); @override Map toJson() { - return _$$_OrgAdditionalDetailsToJson( + return _$$OrgAdditionalDetailsImplToJson( this, ); } @@ -794,10 +798,10 @@ abstract class _OrgAdditionalDetails implements OrgAdditionalDetails { const factory _OrgAdditionalDetails( {final String? registeredByDept, final String? deptRegistrationNum, - final String? locality}) = _$_OrgAdditionalDetails; + final String? locality}) = _$OrgAdditionalDetailsImpl; factory _OrgAdditionalDetails.fromJson(Map json) = - _$_OrgAdditionalDetails.fromJson; + _$OrgAdditionalDetailsImpl.fromJson; @override String? get registeredByDept; @@ -807,8 +811,8 @@ abstract class _OrgAdditionalDetails implements OrgAdditionalDetails { String? get locality; @override @JsonKey(ignore: true) - _$$_OrgAdditionalDetailsCopyWith<_$_OrgAdditionalDetails> get copyWith => - throw _privateConstructorUsedError; + _$$OrgAdditionalDetailsImplCopyWith<_$OrgAdditionalDetailsImpl> + get copyWith => throw _privateConstructorUsedError; } OrgAddress _$OrgAddressFromJson(Map json) { @@ -965,11 +969,11 @@ class _$OrgAddressCopyWithImpl<$Res, $Val extends OrgAddress> } /// @nodoc -abstract class _$$_OrgAddressCopyWith<$Res> +abstract class _$$OrgAddressImplCopyWith<$Res> implements $OrgAddressCopyWith<$Res> { - factory _$$_OrgAddressCopyWith( - _$_OrgAddress value, $Res Function(_$_OrgAddress) then) = - __$$_OrgAddressCopyWithImpl<$Res>; + factory _$$OrgAddressImplCopyWith( + _$OrgAddressImpl value, $Res Function(_$OrgAddressImpl) then) = + __$$OrgAddressImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -992,11 +996,11 @@ abstract class _$$_OrgAddressCopyWith<$Res> } /// @nodoc -class __$$_OrgAddressCopyWithImpl<$Res> - extends _$OrgAddressCopyWithImpl<$Res, _$_OrgAddress> - implements _$$_OrgAddressCopyWith<$Res> { - __$$_OrgAddressCopyWithImpl( - _$_OrgAddress _value, $Res Function(_$_OrgAddress) _then) +class __$$OrgAddressImplCopyWithImpl<$Res> + extends _$OrgAddressCopyWithImpl<$Res, _$OrgAddressImpl> + implements _$$OrgAddressImplCopyWith<$Res> { + __$$OrgAddressImplCopyWithImpl( + _$OrgAddressImpl _value, $Res Function(_$OrgAddressImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1019,7 +1023,7 @@ class __$$_OrgAddressCopyWithImpl<$Res> Object? boundaryType = freezed, Object? boundaryCode = freezed, }) { - return _then(_$_OrgAddress( + return _then(_$OrgAddressImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -1090,8 +1094,8 @@ class __$$_OrgAddressCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_OrgAddress implements _OrgAddress { - const _$_OrgAddress( +class _$OrgAddressImpl implements _OrgAddress { + const _$OrgAddressImpl( {this.id, this.orgId, required this.tenantId, @@ -1109,8 +1113,8 @@ class _$_OrgAddress implements _OrgAddress { this.boundaryType, this.boundaryCode}); - factory _$_OrgAddress.fromJson(Map json) => - _$$_OrgAddressFromJson(json); + factory _$OrgAddressImpl.fromJson(Map json) => + _$$OrgAddressImplFromJson(json); @override final String? id; @@ -1151,10 +1155,10 @@ class _$_OrgAddress implements _OrgAddress { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_OrgAddress && + other is _$OrgAddressImpl && (identical(other.id, id) || other.id == id) && (identical(other.orgId, orgId) || other.orgId == orgId) && (identical(other.tenantId, tenantId) || @@ -1203,12 +1207,12 @@ class _$_OrgAddress implements _OrgAddress { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_OrgAddressCopyWith<_$_OrgAddress> get copyWith => - __$$_OrgAddressCopyWithImpl<_$_OrgAddress>(this, _$identity); + _$$OrgAddressImplCopyWith<_$OrgAddressImpl> get copyWith => + __$$OrgAddressImplCopyWithImpl<_$OrgAddressImpl>(this, _$identity); @override Map toJson() { - return _$$_OrgAddressToJson( + return _$$OrgAddressImplToJson( this, ); } @@ -1231,10 +1235,10 @@ abstract class _OrgAddress implements OrgAddress { final String? buildingName, final String? street, final String? boundaryType, - final String? boundaryCode}) = _$_OrgAddress; + final String? boundaryCode}) = _$OrgAddressImpl; factory _OrgAddress.fromJson(Map json) = - _$_OrgAddress.fromJson; + _$OrgAddressImpl.fromJson; @override String? get id; @@ -1270,7 +1274,7 @@ abstract class _OrgAddress implements OrgAddress { String? get boundaryCode; @override @JsonKey(ignore: true) - _$$_OrgAddressCopyWith<_$_OrgAddress> get copyWith => + _$$OrgAddressImplCopyWith<_$OrgAddressImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1358,11 +1362,11 @@ class _$OrgContactCopyWithImpl<$Res, $Val extends OrgContact> } /// @nodoc -abstract class _$$_OrgContactCopyWith<$Res> +abstract class _$$OrgContactImplCopyWith<$Res> implements $OrgContactCopyWith<$Res> { - factory _$$_OrgContactCopyWith( - _$_OrgContact value, $Res Function(_$_OrgContact) then) = - __$$_OrgContactCopyWithImpl<$Res>; + factory _$$OrgContactImplCopyWith( + _$OrgContactImpl value, $Res Function(_$OrgContactImpl) then) = + __$$OrgContactImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1375,11 +1379,11 @@ abstract class _$$_OrgContactCopyWith<$Res> } /// @nodoc -class __$$_OrgContactCopyWithImpl<$Res> - extends _$OrgContactCopyWithImpl<$Res, _$_OrgContact> - implements _$$_OrgContactCopyWith<$Res> { - __$$_OrgContactCopyWithImpl( - _$_OrgContact _value, $Res Function(_$_OrgContact) _then) +class __$$OrgContactImplCopyWithImpl<$Res> + extends _$OrgContactCopyWithImpl<$Res, _$OrgContactImpl> + implements _$$OrgContactImplCopyWith<$Res> { + __$$OrgContactImplCopyWithImpl( + _$OrgContactImpl _value, $Res Function(_$OrgContactImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1392,7 +1396,7 @@ class __$$_OrgContactCopyWithImpl<$Res> Object? contactMobileNumber = freezed, Object? contactEmail = freezed, }) { - return _then(_$_OrgContact( + return _then(_$OrgContactImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -1423,8 +1427,8 @@ class __$$_OrgContactCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_OrgContact implements _OrgContact { - const _$_OrgContact( +class _$OrgContactImpl implements _OrgContact { + const _$OrgContactImpl( {this.id, this.orgId, required this.tenantId, @@ -1432,8 +1436,8 @@ class _$_OrgContact implements _OrgContact { this.contactMobileNumber, this.contactEmail}); - factory _$_OrgContact.fromJson(Map json) => - _$$_OrgContactFromJson(json); + factory _$OrgContactImpl.fromJson(Map json) => + _$$OrgContactImplFromJson(json); @override final String? id; @@ -1454,10 +1458,10 @@ class _$_OrgContact implements _OrgContact { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_OrgContact && + other is _$OrgContactImpl && (identical(other.id, id) || other.id == id) && (identical(other.orgId, orgId) || other.orgId == orgId) && (identical(other.tenantId, tenantId) || @@ -1478,12 +1482,12 @@ class _$_OrgContact implements _OrgContact { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_OrgContactCopyWith<_$_OrgContact> get copyWith => - __$$_OrgContactCopyWithImpl<_$_OrgContact>(this, _$identity); + _$$OrgContactImplCopyWith<_$OrgContactImpl> get copyWith => + __$$OrgContactImplCopyWithImpl<_$OrgContactImpl>(this, _$identity); @override Map toJson() { - return _$$_OrgContactToJson( + return _$$OrgContactImplToJson( this, ); } @@ -1496,10 +1500,10 @@ abstract class _OrgContact implements OrgContact { required final String tenantId, final String? contactName, final String? contactMobileNumber, - final String? contactEmail}) = _$_OrgContact; + final String? contactEmail}) = _$OrgContactImpl; factory _OrgContact.fromJson(Map json) = - _$_OrgContact.fromJson; + _$OrgContactImpl.fromJson; @override String? get id; @@ -1515,7 +1519,7 @@ abstract class _OrgContact implements OrgContact { String? get contactEmail; @override @JsonKey(ignore: true) - _$$_OrgContactCopyWith<_$_OrgContact> get copyWith => + _$$OrgContactImplCopyWith<_$OrgContactImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1585,22 +1589,22 @@ class _$OrgIdentifierCopyWithImpl<$Res, $Val extends OrgIdentifier> } /// @nodoc -abstract class _$$_OrgIdentifierCopyWith<$Res> +abstract class _$$OrgIdentifierImplCopyWith<$Res> implements $OrgIdentifierCopyWith<$Res> { - factory _$$_OrgIdentifierCopyWith( - _$_OrgIdentifier value, $Res Function(_$_OrgIdentifier) then) = - __$$_OrgIdentifierCopyWithImpl<$Res>; + factory _$$OrgIdentifierImplCopyWith( + _$OrgIdentifierImpl value, $Res Function(_$OrgIdentifierImpl) then) = + __$$OrgIdentifierImplCopyWithImpl<$Res>; @override @useResult $Res call({String? id, String? orgId, String? type, String? value}); } /// @nodoc -class __$$_OrgIdentifierCopyWithImpl<$Res> - extends _$OrgIdentifierCopyWithImpl<$Res, _$_OrgIdentifier> - implements _$$_OrgIdentifierCopyWith<$Res> { - __$$_OrgIdentifierCopyWithImpl( - _$_OrgIdentifier _value, $Res Function(_$_OrgIdentifier) _then) +class __$$OrgIdentifierImplCopyWithImpl<$Res> + extends _$OrgIdentifierCopyWithImpl<$Res, _$OrgIdentifierImpl> + implements _$$OrgIdentifierImplCopyWith<$Res> { + __$$OrgIdentifierImplCopyWithImpl( + _$OrgIdentifierImpl _value, $Res Function(_$OrgIdentifierImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1611,7 +1615,7 @@ class __$$_OrgIdentifierCopyWithImpl<$Res> Object? type = freezed, Object? value = freezed, }) { - return _then(_$_OrgIdentifier( + return _then(_$OrgIdentifierImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -1634,11 +1638,11 @@ class __$$_OrgIdentifierCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_OrgIdentifier implements _OrgIdentifier { - const _$_OrgIdentifier({this.id, this.orgId, this.type, this.value}); +class _$OrgIdentifierImpl implements _OrgIdentifier { + const _$OrgIdentifierImpl({this.id, this.orgId, this.type, this.value}); - factory _$_OrgIdentifier.fromJson(Map json) => - _$$_OrgIdentifierFromJson(json); + factory _$OrgIdentifierImpl.fromJson(Map json) => + _$$OrgIdentifierImplFromJson(json); @override final String? id; @@ -1655,10 +1659,10 @@ class _$_OrgIdentifier implements _OrgIdentifier { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_OrgIdentifier && + other is _$OrgIdentifierImpl && (identical(other.id, id) || other.id == id) && (identical(other.orgId, orgId) || other.orgId == orgId) && (identical(other.type, type) || other.type == type) && @@ -1672,12 +1676,12 @@ class _$_OrgIdentifier implements _OrgIdentifier { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_OrgIdentifierCopyWith<_$_OrgIdentifier> get copyWith => - __$$_OrgIdentifierCopyWithImpl<_$_OrgIdentifier>(this, _$identity); + _$$OrgIdentifierImplCopyWith<_$OrgIdentifierImpl> get copyWith => + __$$OrgIdentifierImplCopyWithImpl<_$OrgIdentifierImpl>(this, _$identity); @override Map toJson() { - return _$$_OrgIdentifierToJson( + return _$$OrgIdentifierImplToJson( this, ); } @@ -1688,10 +1692,10 @@ abstract class _OrgIdentifier implements OrgIdentifier { {final String? id, final String? orgId, final String? type, - final String? value}) = _$_OrgIdentifier; + final String? value}) = _$OrgIdentifierImpl; factory _OrgIdentifier.fromJson(Map json) = - _$_OrgIdentifier.fromJson; + _$OrgIdentifierImpl.fromJson; @override String? get id; @@ -1703,7 +1707,7 @@ abstract class _OrgIdentifier implements OrgIdentifier { String? get value; @override @JsonKey(ignore: true) - _$$_OrgIdentifierCopyWith<_$_OrgIdentifier> get copyWith => + _$$OrgIdentifierImplCopyWith<_$OrgIdentifierImpl> get copyWith => throw _privateConstructorUsedError; } @@ -1820,11 +1824,11 @@ class _$OrgFunctionsCopyWithImpl<$Res, $Val extends OrgFunctions> } /// @nodoc -abstract class _$$_OrgFunctionsCopyWith<$Res> +abstract class _$$OrgFunctionsImplCopyWith<$Res> implements $OrgFunctionsCopyWith<$Res> { - factory _$$_OrgFunctionsCopyWith( - _$_OrgFunctions value, $Res Function(_$_OrgFunctions) then) = - __$$_OrgFunctionsCopyWithImpl<$Res>; + factory _$$OrgFunctionsImplCopyWith( + _$OrgFunctionsImpl value, $Res Function(_$OrgFunctionsImpl) then) = + __$$OrgFunctionsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -1841,11 +1845,11 @@ abstract class _$$_OrgFunctionsCopyWith<$Res> } /// @nodoc -class __$$_OrgFunctionsCopyWithImpl<$Res> - extends _$OrgFunctionsCopyWithImpl<$Res, _$_OrgFunctions> - implements _$$_OrgFunctionsCopyWith<$Res> { - __$$_OrgFunctionsCopyWithImpl( - _$_OrgFunctions _value, $Res Function(_$_OrgFunctions) _then) +class __$$OrgFunctionsImplCopyWithImpl<$Res> + extends _$OrgFunctionsCopyWithImpl<$Res, _$OrgFunctionsImpl> + implements _$$OrgFunctionsImplCopyWith<$Res> { + __$$OrgFunctionsImplCopyWithImpl( + _$OrgFunctionsImpl _value, $Res Function(_$OrgFunctionsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -1862,7 +1866,7 @@ class __$$_OrgFunctionsCopyWithImpl<$Res> Object? validTo = freezed, Object? isActive = freezed, }) { - return _then(_$_OrgFunctions( + return _then(_$OrgFunctionsImpl( id: freezed == id ? _value.id : id // ignore: cast_nullable_to_non_nullable @@ -1909,8 +1913,8 @@ class __$$_OrgFunctionsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_OrgFunctions implements _OrgFunctions { - const _$_OrgFunctions( +class _$OrgFunctionsImpl implements _OrgFunctions { + const _$OrgFunctionsImpl( {this.id, this.orgId, this.applicationNumber, @@ -1922,8 +1926,8 @@ class _$_OrgFunctions implements _OrgFunctions { this.validTo, this.isActive}); - factory _$_OrgFunctions.fromJson(Map json) => - _$$_OrgFunctionsFromJson(json); + factory _$OrgFunctionsImpl.fromJson(Map json) => + _$$OrgFunctionsImplFromJson(json); @override final String? id; @@ -1953,10 +1957,10 @@ class _$_OrgFunctions implements _OrgFunctions { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_OrgFunctions && + other is _$OrgFunctionsImpl && (identical(other.id, id) || other.id == id) && (identical(other.orgId, orgId) || other.orgId == orgId) && (identical(other.applicationNumber, applicationNumber) || @@ -1983,12 +1987,12 @@ class _$_OrgFunctions implements _OrgFunctions { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_OrgFunctionsCopyWith<_$_OrgFunctions> get copyWith => - __$$_OrgFunctionsCopyWithImpl<_$_OrgFunctions>(this, _$identity); + _$$OrgFunctionsImplCopyWith<_$OrgFunctionsImpl> get copyWith => + __$$OrgFunctionsImplCopyWithImpl<_$OrgFunctionsImpl>(this, _$identity); @override Map toJson() { - return _$$_OrgFunctionsToJson( + return _$$OrgFunctionsImplToJson( this, ); } @@ -2005,10 +2009,10 @@ abstract class _OrgFunctions implements OrgFunctions { @JsonKey(name: 'class') final String? orgClass, final int? validFrom, final int? validTo, - final bool? isActive}) = _$_OrgFunctions; + final bool? isActive}) = _$OrgFunctionsImpl; factory _OrgFunctions.fromJson(Map json) = - _$_OrgFunctions.fromJson; + _$OrgFunctionsImpl.fromJson; @override String? get id; @@ -2033,6 +2037,6 @@ abstract class _OrgFunctions implements OrgFunctions { bool? get isActive; @override @JsonKey(ignore: true) - _$$_OrgFunctionsCopyWith<_$_OrgFunctions> get copyWith => + _$$OrgFunctionsImplCopyWith<_$OrgFunctionsImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/organisation/organisation_model.g.dart b/frontend/works_shg_app/lib/models/organisation/organisation_model.g.dart index 58b40e2670..269785ef31 100644 --- a/frontend/works_shg_app/lib/models/organisation/organisation_model.g.dart +++ b/frontend/works_shg_app/lib/models/organisation/organisation_model.g.dart @@ -6,22 +6,23 @@ part of 'organisation_model.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_OrganisationListModel _$$_OrganisationListModelFromJson( +_$OrganisationListModelImpl _$$OrganisationListModelImplFromJson( Map json) => - _$_OrganisationListModel( + _$OrganisationListModelImpl( organisations: (json['organisations'] as List?) ?.map((e) => OrganisationModel.fromJson(e as Map)) .toList(), ); -Map _$$_OrganisationListModelToJson( - _$_OrganisationListModel instance) => +Map _$$OrganisationListModelImplToJson( + _$OrganisationListModelImpl instance) => { 'organisations': instance.organisations, }; -_$_OrganisationModel _$$_OrganisationModelFromJson(Map json) => - _$_OrganisationModel( +_$OrganisationModelImpl _$$OrganisationModelImplFromJson( + Map json) => + _$OrganisationModelImpl( name: json['name'] as String?, applicationNumber: json['applicationNumber'] as String?, tenantId: json['tenantId'] as String, @@ -45,11 +46,11 @@ _$_OrganisationModel _$$_OrganisationModelFromJson(Map json) => ? null : OrgAdditionalDetails.fromJson( json['additionalDetails'] as Map), - dateOfIncorporation: json['dateOfIncorporation'] as int?, + dateOfIncorporation: (json['dateOfIncorporation'] as num?)?.toInt(), ); -Map _$$_OrganisationModelToJson( - _$_OrganisationModel instance) => +Map _$$OrganisationModelImplToJson( + _$OrganisationModelImpl instance) => { 'name': instance.name, 'applicationNumber': instance.applicationNumber, @@ -66,24 +67,24 @@ Map _$$_OrganisationModelToJson( 'dateOfIncorporation': instance.dateOfIncorporation, }; -_$_OrgAdditionalDetails _$$_OrgAdditionalDetailsFromJson( +_$OrgAdditionalDetailsImpl _$$OrgAdditionalDetailsImplFromJson( Map json) => - _$_OrgAdditionalDetails( + _$OrgAdditionalDetailsImpl( registeredByDept: json['registeredByDept'] as String?, deptRegistrationNum: json['deptRegistrationNum'] as String?, locality: json['locality'] as String?, ); -Map _$$_OrgAdditionalDetailsToJson( - _$_OrgAdditionalDetails instance) => +Map _$$OrgAdditionalDetailsImplToJson( + _$OrgAdditionalDetailsImpl instance) => { 'registeredByDept': instance.registeredByDept, 'deptRegistrationNum': instance.deptRegistrationNum, 'locality': instance.locality, }; -_$_OrgAddress _$$_OrgAddressFromJson(Map json) => - _$_OrgAddress( +_$OrgAddressImpl _$$OrgAddressImplFromJson(Map json) => + _$OrgAddressImpl( id: json['id'] as String?, orgId: json['orgId'] as String?, tenantId: json['tenantId'] as String, @@ -102,7 +103,7 @@ _$_OrgAddress _$$_OrgAddressFromJson(Map json) => boundaryCode: json['boundaryCode'] as String?, ); -Map _$$_OrgAddressToJson(_$_OrgAddress instance) => +Map _$$OrgAddressImplToJson(_$OrgAddressImpl instance) => { 'id': instance.id, 'orgId': instance.orgId, @@ -122,8 +123,8 @@ Map _$$_OrgAddressToJson(_$_OrgAddress instance) => 'boundaryCode': instance.boundaryCode, }; -_$_OrgContact _$$_OrgContactFromJson(Map json) => - _$_OrgContact( +_$OrgContactImpl _$$OrgContactImplFromJson(Map json) => + _$OrgContactImpl( id: json['id'] as String?, orgId: json['orgId'] as String?, tenantId: json['tenantId'] as String, @@ -132,7 +133,7 @@ _$_OrgContact _$$_OrgContactFromJson(Map json) => contactEmail: json['contactEmail'] as String?, ); -Map _$$_OrgContactToJson(_$_OrgContact instance) => +Map _$$OrgContactImplToJson(_$OrgContactImpl instance) => { 'id': instance.id, 'orgId': instance.orgId, @@ -142,15 +143,15 @@ Map _$$_OrgContactToJson(_$_OrgContact instance) => 'contactEmail': instance.contactEmail, }; -_$_OrgIdentifier _$$_OrgIdentifierFromJson(Map json) => - _$_OrgIdentifier( +_$OrgIdentifierImpl _$$OrgIdentifierImplFromJson(Map json) => + _$OrgIdentifierImpl( id: json['id'] as String?, orgId: json['orgId'] as String?, type: json['type'] as String?, value: json['value'] as String?, ); -Map _$$_OrgIdentifierToJson(_$_OrgIdentifier instance) => +Map _$$OrgIdentifierImplToJson(_$OrgIdentifierImpl instance) => { 'id': instance.id, 'orgId': instance.orgId, @@ -158,8 +159,8 @@ Map _$$_OrgIdentifierToJson(_$_OrgIdentifier instance) => 'value': instance.value, }; -_$_OrgFunctions _$$_OrgFunctionsFromJson(Map json) => - _$_OrgFunctions( +_$OrgFunctionsImpl _$$OrgFunctionsImplFromJson(Map json) => + _$OrgFunctionsImpl( id: json['id'] as String?, orgId: json['orgId'] as String?, applicationNumber: json['applicationNumber'] as String?, @@ -167,12 +168,12 @@ _$_OrgFunctions _$$_OrgFunctionsFromJson(Map json) => organisationType: json['organisationType'] as String?, category: json['category'] as String?, orgClass: json['class'] as String?, - validFrom: json['validFrom'] as int?, - validTo: json['validTo'] as int?, + validFrom: (json['validFrom'] as num?)?.toInt(), + validTo: (json['validTo'] as num?)?.toInt(), isActive: json['isActive'] as bool?, ); -Map _$$_OrgFunctionsToJson(_$_OrgFunctions instance) => +Map _$$OrgFunctionsImplToJson(_$OrgFunctionsImpl instance) => { 'id': instance.id, 'orgId': instance.orgId, diff --git a/frontend/works_shg_app/lib/models/request_info/request_info_model.freezed.dart b/frontend/works_shg_app/lib/models/request_info/request_info_model.freezed.dart index 2c5ccb6546..143f15a8ad 100644 --- a/frontend/works_shg_app/lib/models/request_info/request_info_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/request_info/request_info_model.freezed.dart @@ -12,7 +12,7 @@ part of 'request_info_model.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); RequestInfoMapperModel _$RequestInfoMapperModelFromJson( Map json) { @@ -78,11 +78,12 @@ class _$RequestInfoMapperModelCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_RequestInfoMapperModelCopyWith<$Res> +abstract class _$$RequestInfoMapperModelImplCopyWith<$Res> implements $RequestInfoMapperModelCopyWith<$Res> { - factory _$$_RequestInfoMapperModelCopyWith(_$_RequestInfoMapperModel value, - $Res Function(_$_RequestInfoMapperModel) then) = - __$$_RequestInfoMapperModelCopyWithImpl<$Res>; + factory _$$RequestInfoMapperModelImplCopyWith( + _$RequestInfoMapperModelImpl value, + $Res Function(_$RequestInfoMapperModelImpl) then) = + __$$RequestInfoMapperModelImplCopyWithImpl<$Res>; @override @useResult $Res call({RequestInfoModel? requestInfo}); @@ -92,12 +93,13 @@ abstract class _$$_RequestInfoMapperModelCopyWith<$Res> } /// @nodoc -class __$$_RequestInfoMapperModelCopyWithImpl<$Res> +class __$$RequestInfoMapperModelImplCopyWithImpl<$Res> extends _$RequestInfoMapperModelCopyWithImpl<$Res, - _$_RequestInfoMapperModel> - implements _$$_RequestInfoMapperModelCopyWith<$Res> { - __$$_RequestInfoMapperModelCopyWithImpl(_$_RequestInfoMapperModel _value, - $Res Function(_$_RequestInfoMapperModel) _then) + _$RequestInfoMapperModelImpl> + implements _$$RequestInfoMapperModelImplCopyWith<$Res> { + __$$RequestInfoMapperModelImplCopyWithImpl( + _$RequestInfoMapperModelImpl _value, + $Res Function(_$RequestInfoMapperModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -105,7 +107,7 @@ class __$$_RequestInfoMapperModelCopyWithImpl<$Res> $Res call({ Object? requestInfo = freezed, }) { - return _then(_$_RequestInfoMapperModel( + return _then(_$RequestInfoMapperModelImpl( requestInfo: freezed == requestInfo ? _value.requestInfo : requestInfo // ignore: cast_nullable_to_non_nullable @@ -116,11 +118,11 @@ class __$$_RequestInfoMapperModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_RequestInfoMapperModel implements _RequestInfoMapperModel { - const _$_RequestInfoMapperModel({this.requestInfo}); +class _$RequestInfoMapperModelImpl implements _RequestInfoMapperModel { + const _$RequestInfoMapperModelImpl({this.requestInfo}); - factory _$_RequestInfoMapperModel.fromJson(Map json) => - _$$_RequestInfoMapperModelFromJson(json); + factory _$RequestInfoMapperModelImpl.fromJson(Map json) => + _$$RequestInfoMapperModelImplFromJson(json); @override final RequestInfoModel? requestInfo; @@ -131,10 +133,10 @@ class _$_RequestInfoMapperModel implements _RequestInfoMapperModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_RequestInfoMapperModel && + other is _$RequestInfoMapperModelImpl && (identical(other.requestInfo, requestInfo) || other.requestInfo == requestInfo)); } @@ -146,13 +148,13 @@ class _$_RequestInfoMapperModel implements _RequestInfoMapperModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_RequestInfoMapperModelCopyWith<_$_RequestInfoMapperModel> get copyWith => - __$$_RequestInfoMapperModelCopyWithImpl<_$_RequestInfoMapperModel>( - this, _$identity); + _$$RequestInfoMapperModelImplCopyWith<_$RequestInfoMapperModelImpl> + get copyWith => __$$RequestInfoMapperModelImplCopyWithImpl< + _$RequestInfoMapperModelImpl>(this, _$identity); @override Map toJson() { - return _$$_RequestInfoMapperModelToJson( + return _$$RequestInfoMapperModelImplToJson( this, ); } @@ -160,17 +162,17 @@ class _$_RequestInfoMapperModel implements _RequestInfoMapperModel { abstract class _RequestInfoMapperModel implements RequestInfoMapperModel { const factory _RequestInfoMapperModel({final RequestInfoModel? requestInfo}) = - _$_RequestInfoMapperModel; + _$RequestInfoMapperModelImpl; factory _RequestInfoMapperModel.fromJson(Map json) = - _$_RequestInfoMapperModel.fromJson; + _$RequestInfoMapperModelImpl.fromJson; @override RequestInfoModel? get requestInfo; @override @JsonKey(ignore: true) - _$$_RequestInfoMapperModelCopyWith<_$_RequestInfoMapperModel> get copyWith => - throw _privateConstructorUsedError; + _$$RequestInfoMapperModelImplCopyWith<_$RequestInfoMapperModelImpl> + get copyWith => throw _privateConstructorUsedError; } RequestInfoModel _$RequestInfoModelFromJson(Map json) { @@ -271,11 +273,11 @@ class _$RequestInfoModelCopyWithImpl<$Res, $Val extends RequestInfoModel> } /// @nodoc -abstract class _$$_RequestInfoModelCopyWith<$Res> +abstract class _$$RequestInfoModelImplCopyWith<$Res> implements $RequestInfoModelCopyWith<$Res> { - factory _$$_RequestInfoModelCopyWith( - _$_RequestInfoModel value, $Res Function(_$_RequestInfoModel) then) = - __$$_RequestInfoModelCopyWithImpl<$Res>; + factory _$$RequestInfoModelImplCopyWith(_$RequestInfoModelImpl value, + $Res Function(_$RequestInfoModelImpl) then) = + __$$RequestInfoModelImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -290,11 +292,11 @@ abstract class _$$_RequestInfoModelCopyWith<$Res> } /// @nodoc -class __$$_RequestInfoModelCopyWithImpl<$Res> - extends _$RequestInfoModelCopyWithImpl<$Res, _$_RequestInfoModel> - implements _$$_RequestInfoModelCopyWith<$Res> { - __$$_RequestInfoModelCopyWithImpl( - _$_RequestInfoModel _value, $Res Function(_$_RequestInfoModel) _then) +class __$$RequestInfoModelImplCopyWithImpl<$Res> + extends _$RequestInfoModelCopyWithImpl<$Res, _$RequestInfoModelImpl> + implements _$$RequestInfoModelImplCopyWith<$Res> { + __$$RequestInfoModelImplCopyWithImpl(_$RequestInfoModelImpl _value, + $Res Function(_$RequestInfoModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -309,7 +311,7 @@ class __$$_RequestInfoModelCopyWithImpl<$Res> Object? msgId = freezed, Object? authToken = freezed, }) { - return _then(_$_RequestInfoModel( + return _then(_$RequestInfoModelImpl( apiId: freezed == apiId ? _value.apiId : apiId // ignore: cast_nullable_to_non_nullable @@ -348,8 +350,8 @@ class __$$_RequestInfoModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_RequestInfoModel implements _RequestInfoModel { - const _$_RequestInfoModel( +class _$RequestInfoModelImpl implements _RequestInfoModel { + const _$RequestInfoModelImpl( {this.apiId, this.ver, this.ts, @@ -359,8 +361,8 @@ class _$_RequestInfoModel implements _RequestInfoModel { this.msgId, this.authToken}); - factory _$_RequestInfoModel.fromJson(Map json) => - _$$_RequestInfoModelFromJson(json); + factory _$RequestInfoModelImpl.fromJson(Map json) => + _$$RequestInfoModelImplFromJson(json); @override final String? apiId; @@ -385,10 +387,10 @@ class _$_RequestInfoModel implements _RequestInfoModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_RequestInfoModel && + other is _$RequestInfoModelImpl && (identical(other.apiId, apiId) || other.apiId == apiId) && (identical(other.ver, ver) || other.ver == ver) && (identical(other.ts, ts) || other.ts == ts) && @@ -408,12 +410,13 @@ class _$_RequestInfoModel implements _RequestInfoModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_RequestInfoModelCopyWith<_$_RequestInfoModel> get copyWith => - __$$_RequestInfoModelCopyWithImpl<_$_RequestInfoModel>(this, _$identity); + _$$RequestInfoModelImplCopyWith<_$RequestInfoModelImpl> get copyWith => + __$$RequestInfoModelImplCopyWithImpl<_$RequestInfoModelImpl>( + this, _$identity); @override Map toJson() { - return _$$_RequestInfoModelToJson( + return _$$RequestInfoModelImplToJson( this, ); } @@ -428,10 +431,10 @@ abstract class _RequestInfoModel implements RequestInfoModel { final String? did, final String? key, final String? msgId, - final String? authToken}) = _$_RequestInfoModel; + final String? authToken}) = _$RequestInfoModelImpl; factory _RequestInfoModel.fromJson(Map json) = - _$_RequestInfoModel.fromJson; + _$RequestInfoModelImpl.fromJson; @override String? get apiId; @@ -451,6 +454,6 @@ abstract class _RequestInfoModel implements RequestInfoModel { String? get authToken; @override @JsonKey(ignore: true) - _$$_RequestInfoModelCopyWith<_$_RequestInfoModel> get copyWith => + _$$RequestInfoModelImplCopyWith<_$RequestInfoModelImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/request_info/request_info_model.g.dart b/frontend/works_shg_app/lib/models/request_info/request_info_model.g.dart index a503071feb..fd14700d90 100644 --- a/frontend/works_shg_app/lib/models/request_info/request_info_model.g.dart +++ b/frontend/works_shg_app/lib/models/request_info/request_info_model.g.dart @@ -6,23 +6,24 @@ part of 'request_info_model.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_RequestInfoMapperModel _$$_RequestInfoMapperModelFromJson( +_$RequestInfoMapperModelImpl _$$RequestInfoMapperModelImplFromJson( Map json) => - _$_RequestInfoMapperModel( + _$RequestInfoMapperModelImpl( requestInfo: json['requestInfo'] == null ? null : RequestInfoModel.fromJson( json['requestInfo'] as Map), ); -Map _$$_RequestInfoMapperModelToJson( - _$_RequestInfoMapperModel instance) => +Map _$$RequestInfoMapperModelImplToJson( + _$RequestInfoMapperModelImpl instance) => { 'requestInfo': instance.requestInfo, }; -_$_RequestInfoModel _$$_RequestInfoModelFromJson(Map json) => - _$_RequestInfoModel( +_$RequestInfoModelImpl _$$RequestInfoModelImplFromJson( + Map json) => + _$RequestInfoModelImpl( apiId: json['apiId'] as String?, ver: json['ver'] as String?, ts: json['ts'] as String?, @@ -33,7 +34,8 @@ _$_RequestInfoModel _$$_RequestInfoModelFromJson(Map json) => authToken: json['authToken'] as String?, ); -Map _$$_RequestInfoModelToJson(_$_RequestInfoModel instance) => +Map _$$RequestInfoModelImplToJson( + _$RequestInfoModelImpl instance) => { 'apiId': instance.apiId, 'ver': instance.ver, diff --git a/frontend/works_shg_app/lib/models/screen_config/home_screen_config.freezed.dart b/frontend/works_shg_app/lib/models/screen_config/home_screen_config.freezed.dart index 7d6a997475..1f9c550135 100644 --- a/frontend/works_shg_app/lib/models/screen_config/home_screen_config.freezed.dart +++ b/frontend/works_shg_app/lib/models/screen_config/home_screen_config.freezed.dart @@ -12,7 +12,7 @@ part of 'home_screen_config.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); HomeScreenConfigModel _$HomeScreenConfigModelFromJson( Map json) { @@ -80,11 +80,12 @@ class _$HomeScreenConfigModelCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_HomeScreenConfigModelCopyWith<$Res> +abstract class _$$HomeScreenConfigModelImplCopyWith<$Res> implements $HomeScreenConfigModelCopyWith<$Res> { - factory _$$_HomeScreenConfigModelCopyWith(_$_HomeScreenConfigModel value, - $Res Function(_$_HomeScreenConfigModel) then) = - __$$_HomeScreenConfigModelCopyWithImpl<$Res>; + factory _$$HomeScreenConfigModelImplCopyWith( + _$HomeScreenConfigModelImpl value, + $Res Function(_$HomeScreenConfigModelImpl) then) = + __$$HomeScreenConfigModelImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -95,11 +96,12 @@ abstract class _$$_HomeScreenConfigModelCopyWith<$Res> } /// @nodoc -class __$$_HomeScreenConfigModelCopyWithImpl<$Res> - extends _$HomeScreenConfigModelCopyWithImpl<$Res, _$_HomeScreenConfigModel> - implements _$$_HomeScreenConfigModelCopyWith<$Res> { - __$$_HomeScreenConfigModelCopyWithImpl(_$_HomeScreenConfigModel _value, - $Res Function(_$_HomeScreenConfigModel) _then) +class __$$HomeScreenConfigModelImplCopyWithImpl<$Res> + extends _$HomeScreenConfigModelCopyWithImpl<$Res, + _$HomeScreenConfigModelImpl> + implements _$$HomeScreenConfigModelImplCopyWith<$Res> { + __$$HomeScreenConfigModelImplCopyWithImpl(_$HomeScreenConfigModelImpl _value, + $Res Function(_$HomeScreenConfigModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -107,7 +109,7 @@ class __$$_HomeScreenConfigModelCopyWithImpl<$Res> $Res call({ Object? commonUiConfig = freezed, }) { - return _then(_$_HomeScreenConfigModel( + return _then(_$HomeScreenConfigModelImpl( commonUiConfig: freezed == commonUiConfig ? _value.commonUiConfig : commonUiConfig // ignore: cast_nullable_to_non_nullable @@ -118,12 +120,12 @@ class __$$_HomeScreenConfigModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_HomeScreenConfigModel implements _HomeScreenConfigModel { - const _$_HomeScreenConfigModel( +class _$HomeScreenConfigModelImpl implements _HomeScreenConfigModel { + const _$HomeScreenConfigModelImpl( {@JsonKey(name: 'commonUiConfig') this.commonUiConfig}); - factory _$_HomeScreenConfigModel.fromJson(Map json) => - _$$_HomeScreenConfigModelFromJson(json); + factory _$HomeScreenConfigModelImpl.fromJson(Map json) => + _$$HomeScreenConfigModelImplFromJson(json); @override @JsonKey(name: 'commonUiConfig') @@ -135,10 +137,10 @@ class _$_HomeScreenConfigModel implements _HomeScreenConfigModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_HomeScreenConfigModel && + other is _$HomeScreenConfigModelImpl && (identical(other.commonUiConfig, commonUiConfig) || other.commonUiConfig == commonUiConfig)); } @@ -150,13 +152,13 @@ class _$_HomeScreenConfigModel implements _HomeScreenConfigModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_HomeScreenConfigModelCopyWith<_$_HomeScreenConfigModel> get copyWith => - __$$_HomeScreenConfigModelCopyWithImpl<_$_HomeScreenConfigModel>( - this, _$identity); + _$$HomeScreenConfigModelImplCopyWith<_$HomeScreenConfigModelImpl> + get copyWith => __$$HomeScreenConfigModelImplCopyWithImpl< + _$HomeScreenConfigModelImpl>(this, _$identity); @override Map toJson() { - return _$$_HomeScreenConfigModelToJson( + return _$$HomeScreenConfigModelImplToJson( this, ); } @@ -164,20 +166,19 @@ class _$_HomeScreenConfigModel implements _HomeScreenConfigModel { abstract class _HomeScreenConfigModel implements HomeScreenConfigModel { const factory _HomeScreenConfigModel( - {@JsonKey(name: 'commonUiConfig') - final CommonUIConfigModel? commonUiConfig}) = - _$_HomeScreenConfigModel; + {@JsonKey(name: 'commonUiConfig') + final CommonUIConfigModel? commonUiConfig}) = _$HomeScreenConfigModelImpl; factory _HomeScreenConfigModel.fromJson(Map json) = - _$_HomeScreenConfigModel.fromJson; + _$HomeScreenConfigModelImpl.fromJson; @override @JsonKey(name: 'commonUiConfig') CommonUIConfigModel? get commonUiConfig; @override @JsonKey(ignore: true) - _$$_HomeScreenConfigModelCopyWith<_$_HomeScreenConfigModel> get copyWith => - throw _privateConstructorUsedError; + _$$HomeScreenConfigModelImplCopyWith<_$HomeScreenConfigModelImpl> + get copyWith => throw _privateConstructorUsedError; } CommonUIConfigModel _$CommonUIConfigModelFromJson(Map json) { @@ -210,11 +211,11 @@ abstract class $CommonUIConfigModelCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'CBOHomeScreenConfig') - List? cboHomeScreenConfig, + List? cboHomeScreenConfig, @JsonKey(name: 'CBOMyWorks') - List? cboMyWorksSearchCriteria, + List? cboMyWorksSearchCriteria, @JsonKey(name: 'CBOMyServiceRequests') - List? cboMyServiceRequestsConfig}); + List? cboMyServiceRequestsConfig}); } /// @nodoc @@ -252,28 +253,28 @@ class _$CommonUIConfigModelCopyWithImpl<$Res, $Val extends CommonUIConfigModel> } /// @nodoc -abstract class _$$_CommonUIConfigModelCopyWith<$Res> +abstract class _$$CommonUIConfigModelImplCopyWith<$Res> implements $CommonUIConfigModelCopyWith<$Res> { - factory _$$_CommonUIConfigModelCopyWith(_$_CommonUIConfigModel value, - $Res Function(_$_CommonUIConfigModel) then) = - __$$_CommonUIConfigModelCopyWithImpl<$Res>; + factory _$$CommonUIConfigModelImplCopyWith(_$CommonUIConfigModelImpl value, + $Res Function(_$CommonUIConfigModelImpl) then) = + __$$CommonUIConfigModelImplCopyWithImpl<$Res>; @override @useResult $Res call( {@JsonKey(name: 'CBOHomeScreenConfig') - List? cboHomeScreenConfig, + List? cboHomeScreenConfig, @JsonKey(name: 'CBOMyWorks') - List? cboMyWorksSearchCriteria, + List? cboMyWorksSearchCriteria, @JsonKey(name: 'CBOMyServiceRequests') - List? cboMyServiceRequestsConfig}); + List? cboMyServiceRequestsConfig}); } /// @nodoc -class __$$_CommonUIConfigModelCopyWithImpl<$Res> - extends _$CommonUIConfigModelCopyWithImpl<$Res, _$_CommonUIConfigModel> - implements _$$_CommonUIConfigModelCopyWith<$Res> { - __$$_CommonUIConfigModelCopyWithImpl(_$_CommonUIConfigModel _value, - $Res Function(_$_CommonUIConfigModel) _then) +class __$$CommonUIConfigModelImplCopyWithImpl<$Res> + extends _$CommonUIConfigModelCopyWithImpl<$Res, _$CommonUIConfigModelImpl> + implements _$$CommonUIConfigModelImplCopyWith<$Res> { + __$$CommonUIConfigModelImplCopyWithImpl(_$CommonUIConfigModelImpl _value, + $Res Function(_$CommonUIConfigModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -283,7 +284,7 @@ class __$$_CommonUIConfigModelCopyWithImpl<$Res> Object? cboMyWorksSearchCriteria = freezed, Object? cboMyServiceRequestsConfig = freezed, }) { - return _then(_$_CommonUIConfigModel( + return _then(_$CommonUIConfigModelImpl( cboHomeScreenConfig: freezed == cboHomeScreenConfig ? _value._cboHomeScreenConfig : cboHomeScreenConfig // ignore: cast_nullable_to_non_nullable @@ -302,20 +303,20 @@ class __$$_CommonUIConfigModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_CommonUIConfigModel implements _CommonUIConfigModel { - const _$_CommonUIConfigModel( +class _$CommonUIConfigModelImpl implements _CommonUIConfigModel { + const _$CommonUIConfigModelImpl( {@JsonKey(name: 'CBOHomeScreenConfig') - final List? cboHomeScreenConfig, + final List? cboHomeScreenConfig, @JsonKey(name: 'CBOMyWorks') - final List? cboMyWorksSearchCriteria, + final List? cboMyWorksSearchCriteria, @JsonKey(name: 'CBOMyServiceRequests') - final List? cboMyServiceRequestsConfig}) + final List? cboMyServiceRequestsConfig}) : _cboHomeScreenConfig = cboHomeScreenConfig, _cboMyWorksSearchCriteria = cboMyWorksSearchCriteria, _cboMyServiceRequestsConfig = cboMyServiceRequestsConfig; - factory _$_CommonUIConfigModel.fromJson(Map json) => - _$$_CommonUIConfigModelFromJson(json); + factory _$CommonUIConfigModelImpl.fromJson(Map json) => + _$$CommonUIConfigModelImplFromJson(json); final List? _cboHomeScreenConfig; @override @@ -359,10 +360,10 @@ class _$_CommonUIConfigModel implements _CommonUIConfigModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_CommonUIConfigModel && + other is _$CommonUIConfigModelImpl && const DeepCollectionEquality() .equals(other._cboHomeScreenConfig, _cboHomeScreenConfig) && const DeepCollectionEquality().equals( @@ -383,13 +384,13 @@ class _$_CommonUIConfigModel implements _CommonUIConfigModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_CommonUIConfigModelCopyWith<_$_CommonUIConfigModel> get copyWith => - __$$_CommonUIConfigModelCopyWithImpl<_$_CommonUIConfigModel>( + _$$CommonUIConfigModelImplCopyWith<_$CommonUIConfigModelImpl> get copyWith => + __$$CommonUIConfigModelImplCopyWithImpl<_$CommonUIConfigModelImpl>( this, _$identity); @override Map toJson() { - return _$$_CommonUIConfigModelToJson( + return _$$CommonUIConfigModelImplToJson( this, ); } @@ -397,16 +398,16 @@ class _$_CommonUIConfigModel implements _CommonUIConfigModel { abstract class _CommonUIConfigModel implements CommonUIConfigModel { const factory _CommonUIConfigModel( - {@JsonKey(name: 'CBOHomeScreenConfig') + {@JsonKey(name: 'CBOHomeScreenConfig') final List? cboHomeScreenConfig, - @JsonKey(name: 'CBOMyWorks') + @JsonKey(name: 'CBOMyWorks') final List? cboMyWorksSearchCriteria, - @JsonKey(name: 'CBOMyServiceRequests') - final List? - cboMyServiceRequestsConfig}) = _$_CommonUIConfigModel; + @JsonKey(name: 'CBOMyServiceRequests') + final List? cboMyServiceRequestsConfig}) = + _$CommonUIConfigModelImpl; factory _CommonUIConfigModel.fromJson(Map json) = - _$_CommonUIConfigModel.fromJson; + _$CommonUIConfigModelImpl.fromJson; @override @JsonKey(name: 'CBOHomeScreenConfig') @@ -419,7 +420,7 @@ abstract class _CommonUIConfigModel implements CommonUIConfigModel { List? get cboMyServiceRequestsConfig; @override @JsonKey(ignore: true) - _$$_CommonUIConfigModelCopyWith<_$_CommonUIConfigModel> get copyWith => + _$$CommonUIConfigModelImplCopyWith<_$CommonUIConfigModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -502,12 +503,12 @@ class _$CBOHomeScreenConfigModelCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_CBOHomeScreenConfigModelCopyWith<$Res> +abstract class _$$CBOHomeScreenConfigModelImplCopyWith<$Res> implements $CBOHomeScreenConfigModelCopyWith<$Res> { - factory _$$_CBOHomeScreenConfigModelCopyWith( - _$_CBOHomeScreenConfigModel value, - $Res Function(_$_CBOHomeScreenConfigModel) then) = - __$$_CBOHomeScreenConfigModelCopyWithImpl<$Res>; + factory _$$CBOHomeScreenConfigModelImplCopyWith( + _$CBOHomeScreenConfigModelImpl value, + $Res Function(_$CBOHomeScreenConfigModelImpl) then) = + __$$CBOHomeScreenConfigModelImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -519,12 +520,13 @@ abstract class _$$_CBOHomeScreenConfigModelCopyWith<$Res> } /// @nodoc -class __$$_CBOHomeScreenConfigModelCopyWithImpl<$Res> +class __$$CBOHomeScreenConfigModelImplCopyWithImpl<$Res> extends _$CBOHomeScreenConfigModelCopyWithImpl<$Res, - _$_CBOHomeScreenConfigModel> - implements _$$_CBOHomeScreenConfigModelCopyWith<$Res> { - __$$_CBOHomeScreenConfigModelCopyWithImpl(_$_CBOHomeScreenConfigModel _value, - $Res Function(_$_CBOHomeScreenConfigModel) _then) + _$CBOHomeScreenConfigModelImpl> + implements _$$CBOHomeScreenConfigModelImplCopyWith<$Res> { + __$$CBOHomeScreenConfigModelImplCopyWithImpl( + _$CBOHomeScreenConfigModelImpl _value, + $Res Function(_$CBOHomeScreenConfigModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -536,7 +538,7 @@ class __$$_CBOHomeScreenConfigModelCopyWithImpl<$Res> Object? label = freezed, Object? active = freezed, }) { - return _then(_$_CBOHomeScreenConfigModel( + return _then(_$CBOHomeScreenConfigModelImpl( order: null == order ? _value.order : order // ignore: cast_nullable_to_non_nullable @@ -563,16 +565,16 @@ class __$$_CBOHomeScreenConfigModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_CBOHomeScreenConfigModel implements _CBOHomeScreenConfigModel { - const _$_CBOHomeScreenConfigModel( +class _$CBOHomeScreenConfigModelImpl implements _CBOHomeScreenConfigModel { + const _$CBOHomeScreenConfigModelImpl( {required this.order, required this.key, this.displayName, this.label, this.active}); - factory _$_CBOHomeScreenConfigModel.fromJson(Map json) => - _$$_CBOHomeScreenConfigModelFromJson(json); + factory _$CBOHomeScreenConfigModelImpl.fromJson(Map json) => + _$$CBOHomeScreenConfigModelImplFromJson(json); @override final int order; @@ -591,10 +593,10 @@ class _$_CBOHomeScreenConfigModel implements _CBOHomeScreenConfigModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_CBOHomeScreenConfigModel && + other is _$CBOHomeScreenConfigModelImpl && (identical(other.order, order) || other.order == order) && (identical(other.key, key) || other.key == key) && (identical(other.displayName, displayName) || @@ -611,13 +613,13 @@ class _$_CBOHomeScreenConfigModel implements _CBOHomeScreenConfigModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_CBOHomeScreenConfigModelCopyWith<_$_CBOHomeScreenConfigModel> - get copyWith => __$$_CBOHomeScreenConfigModelCopyWithImpl< - _$_CBOHomeScreenConfigModel>(this, _$identity); + _$$CBOHomeScreenConfigModelImplCopyWith<_$CBOHomeScreenConfigModelImpl> + get copyWith => __$$CBOHomeScreenConfigModelImplCopyWithImpl< + _$CBOHomeScreenConfigModelImpl>(this, _$identity); @override Map toJson() { - return _$$_CBOHomeScreenConfigModelToJson( + return _$$CBOHomeScreenConfigModelImplToJson( this, ); } @@ -629,10 +631,10 @@ abstract class _CBOHomeScreenConfigModel implements CBOHomeScreenConfigModel { required final String key, final String? displayName, final String? label, - final bool? active}) = _$_CBOHomeScreenConfigModel; + final bool? active}) = _$CBOHomeScreenConfigModelImpl; factory _CBOHomeScreenConfigModel.fromJson(Map json) = - _$_CBOHomeScreenConfigModel.fromJson; + _$CBOHomeScreenConfigModelImpl.fromJson; @override int get order; @@ -646,6 +648,6 @@ abstract class _CBOHomeScreenConfigModel implements CBOHomeScreenConfigModel { bool? get active; @override @JsonKey(ignore: true) - _$$_CBOHomeScreenConfigModelCopyWith<_$_CBOHomeScreenConfigModel> + _$$CBOHomeScreenConfigModelImplCopyWith<_$CBOHomeScreenConfigModelImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/screen_config/home_screen_config.g.dart b/frontend/works_shg_app/lib/models/screen_config/home_screen_config.g.dart index 8be84a71db..6cf61b3c97 100644 --- a/frontend/works_shg_app/lib/models/screen_config/home_screen_config.g.dart +++ b/frontend/works_shg_app/lib/models/screen_config/home_screen_config.g.dart @@ -6,24 +6,24 @@ part of 'home_screen_config.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_HomeScreenConfigModel _$$_HomeScreenConfigModelFromJson( +_$HomeScreenConfigModelImpl _$$HomeScreenConfigModelImplFromJson( Map json) => - _$_HomeScreenConfigModel( + _$HomeScreenConfigModelImpl( commonUiConfig: json['commonUiConfig'] == null ? null : CommonUIConfigModel.fromJson( json['commonUiConfig'] as Map), ); -Map _$$_HomeScreenConfigModelToJson( - _$_HomeScreenConfigModel instance) => +Map _$$HomeScreenConfigModelImplToJson( + _$HomeScreenConfigModelImpl instance) => { 'commonUiConfig': instance.commonUiConfig, }; -_$_CommonUIConfigModel _$$_CommonUIConfigModelFromJson( +_$CommonUIConfigModelImpl _$$CommonUIConfigModelImplFromJson( Map json) => - _$_CommonUIConfigModel( + _$CommonUIConfigModelImpl( cboHomeScreenConfig: (json['CBOHomeScreenConfig'] as List?) ?.map((e) => CBOHomeScreenConfigModel.fromJson(e as Map)) @@ -39,26 +39,26 @@ _$_CommonUIConfigModel _$$_CommonUIConfigModelFromJson( .toList(), ); -Map _$$_CommonUIConfigModelToJson( - _$_CommonUIConfigModel instance) => +Map _$$CommonUIConfigModelImplToJson( + _$CommonUIConfigModelImpl instance) => { 'CBOHomeScreenConfig': instance.cboHomeScreenConfig, 'CBOMyWorks': instance.cboMyWorksSearchCriteria, 'CBOMyServiceRequests': instance.cboMyServiceRequestsConfig, }; -_$_CBOHomeScreenConfigModel _$$_CBOHomeScreenConfigModelFromJson( +_$CBOHomeScreenConfigModelImpl _$$CBOHomeScreenConfigModelImplFromJson( Map json) => - _$_CBOHomeScreenConfigModel( - order: json['order'] as int, + _$CBOHomeScreenConfigModelImpl( + order: (json['order'] as num).toInt(), key: json['key'] as String, displayName: json['displayName'] as String?, label: json['label'] as String?, active: json['active'] as bool?, ); -Map _$$_CBOHomeScreenConfigModelToJson( - _$_CBOHomeScreenConfigModel instance) => +Map _$$CBOHomeScreenConfigModelImplToJson( + _$CBOHomeScreenConfigModelImpl instance) => { 'order': instance.order, 'key': instance.key, diff --git a/frontend/works_shg_app/lib/models/skills/skills.freezed.dart b/frontend/works_shg_app/lib/models/skills/skills.freezed.dart index 9257538503..bb8eb7161e 100644 --- a/frontend/works_shg_app/lib/models/skills/skills.freezed.dart +++ b/frontend/works_shg_app/lib/models/skills/skills.freezed.dart @@ -12,7 +12,7 @@ part of 'skills.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); SkillsList _$SkillsListFromJson(Map json) { return _SkillsList.fromJson(json); @@ -64,22 +64,22 @@ class _$SkillsListCopyWithImpl<$Res, $Val extends SkillsList> } /// @nodoc -abstract class _$$_SkillsListCopyWith<$Res> +abstract class _$$SkillsListImplCopyWith<$Res> implements $SkillsListCopyWith<$Res> { - factory _$$_SkillsListCopyWith( - _$_SkillsList value, $Res Function(_$_SkillsList) then) = - __$$_SkillsListCopyWithImpl<$Res>; + factory _$$SkillsListImplCopyWith( + _$SkillsListImpl value, $Res Function(_$SkillsListImpl) then) = + __$$SkillsListImplCopyWithImpl<$Res>; @override @useResult $Res call({@JsonKey(name: 'SOR') List? wageSeekerSkills}); } /// @nodoc -class __$$_SkillsListCopyWithImpl<$Res> - extends _$SkillsListCopyWithImpl<$Res, _$_SkillsList> - implements _$$_SkillsListCopyWith<$Res> { - __$$_SkillsListCopyWithImpl( - _$_SkillsList _value, $Res Function(_$_SkillsList) _then) +class __$$SkillsListImplCopyWithImpl<$Res> + extends _$SkillsListCopyWithImpl<$Res, _$SkillsListImpl> + implements _$$SkillsListImplCopyWith<$Res> { + __$$SkillsListImplCopyWithImpl( + _$SkillsListImpl _value, $Res Function(_$SkillsListImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -87,7 +87,7 @@ class __$$_SkillsListCopyWithImpl<$Res> $Res call({ Object? wageSeekerSkills = freezed, }) { - return _then(_$_SkillsList( + return _then(_$SkillsListImpl( wageSeekerSkills: freezed == wageSeekerSkills ? _value._wageSeekerSkills : wageSeekerSkills // ignore: cast_nullable_to_non_nullable @@ -98,13 +98,13 @@ class __$$_SkillsListCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_SkillsList implements _SkillsList { - const _$_SkillsList( +class _$SkillsListImpl implements _SkillsList { + const _$SkillsListImpl( {@JsonKey(name: 'SOR') final List? wageSeekerSkills}) : _wageSeekerSkills = wageSeekerSkills; - factory _$_SkillsList.fromJson(Map json) => - _$$_SkillsListFromJson(json); + factory _$SkillsListImpl.fromJson(Map json) => + _$$SkillsListImplFromJson(json); final List? _wageSeekerSkills; @override @@ -124,10 +124,10 @@ class _$_SkillsList implements _SkillsList { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_SkillsList && + other is _$SkillsListImpl && const DeepCollectionEquality() .equals(other._wageSeekerSkills, _wageSeekerSkills)); } @@ -140,12 +140,12 @@ class _$_SkillsList implements _SkillsList { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_SkillsListCopyWith<_$_SkillsList> get copyWith => - __$$_SkillsListCopyWithImpl<_$_SkillsList>(this, _$identity); + _$$SkillsListImplCopyWith<_$SkillsListImpl> get copyWith => + __$$SkillsListImplCopyWithImpl<_$SkillsListImpl>(this, _$identity); @override Map toJson() { - return _$$_SkillsListToJson( + return _$$SkillsListImplToJson( this, ); } @@ -154,17 +154,17 @@ class _$_SkillsList implements _SkillsList { abstract class _SkillsList implements SkillsList { const factory _SkillsList( {@JsonKey(name: 'SOR') - final List? wageSeekerSkills}) = _$_SkillsList; + final List? wageSeekerSkills}) = _$SkillsListImpl; factory _SkillsList.fromJson(Map json) = - _$_SkillsList.fromJson; + _$SkillsListImpl.fromJson; @override @JsonKey(name: 'SOR') List? get wageSeekerSkills; @override @JsonKey(ignore: true) - _$$_SkillsListCopyWith<_$_SkillsList> get copyWith => + _$$SkillsListImplCopyWith<_$SkillsListImpl> get copyWith => throw _privateConstructorUsedError; } @@ -245,11 +245,11 @@ class _$WageSeekerSkillsCopyWithImpl<$Res, $Val extends WageSeekerSkills> } /// @nodoc -abstract class _$$_WageSeekerSkillsCopyWith<$Res> +abstract class _$$WageSeekerSkillsImplCopyWith<$Res> implements $WageSeekerSkillsCopyWith<$Res> { - factory _$$_WageSeekerSkillsCopyWith( - _$_WageSeekerSkills value, $Res Function(_$_WageSeekerSkills) then) = - __$$_WageSeekerSkillsCopyWithImpl<$Res>; + factory _$$WageSeekerSkillsImplCopyWith(_$WageSeekerSkillsImpl value, + $Res Function(_$WageSeekerSkillsImpl) then) = + __$$WageSeekerSkillsImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -261,11 +261,11 @@ abstract class _$$_WageSeekerSkillsCopyWith<$Res> } /// @nodoc -class __$$_WageSeekerSkillsCopyWithImpl<$Res> - extends _$WageSeekerSkillsCopyWithImpl<$Res, _$_WageSeekerSkills> - implements _$$_WageSeekerSkillsCopyWith<$Res> { - __$$_WageSeekerSkillsCopyWithImpl( - _$_WageSeekerSkills _value, $Res Function(_$_WageSeekerSkills) _then) +class __$$WageSeekerSkillsImplCopyWithImpl<$Res> + extends _$WageSeekerSkillsCopyWithImpl<$Res, _$WageSeekerSkillsImpl> + implements _$$WageSeekerSkillsImplCopyWith<$Res> { + __$$WageSeekerSkillsImplCopyWithImpl(_$WageSeekerSkillsImpl _value, + $Res Function(_$WageSeekerSkillsImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -277,7 +277,7 @@ class __$$_WageSeekerSkillsCopyWithImpl<$Res> Object? description = freezed, Object? id = freezed, }) { - return _then(_$_WageSeekerSkills( + return _then(_$WageSeekerSkillsImpl( freezed == code ? _value.code : code // ignore: cast_nullable_to_non_nullable @@ -304,12 +304,12 @@ class __$$_WageSeekerSkillsCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_WageSeekerSkills implements _WageSeekerSkills { - const _$_WageSeekerSkills( +class _$WageSeekerSkillsImpl implements _WageSeekerSkills { + const _$WageSeekerSkillsImpl( this.code, this.amount, this.active, this.description, this.id); - factory _$_WageSeekerSkills.fromJson(Map json) => - _$$_WageSeekerSkillsFromJson(json); + factory _$WageSeekerSkillsImpl.fromJson(Map json) => + _$$WageSeekerSkillsImplFromJson(json); @override final String? code; @@ -328,10 +328,10 @@ class _$_WageSeekerSkills implements _WageSeekerSkills { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_WageSeekerSkills && + other is _$WageSeekerSkillsImpl && (identical(other.code, code) || other.code == code) && (identical(other.amount, amount) || other.amount == amount) && (identical(other.active, active) || other.active == active) && @@ -348,12 +348,13 @@ class _$_WageSeekerSkills implements _WageSeekerSkills { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_WageSeekerSkillsCopyWith<_$_WageSeekerSkills> get copyWith => - __$$_WageSeekerSkillsCopyWithImpl<_$_WageSeekerSkills>(this, _$identity); + _$$WageSeekerSkillsImplCopyWith<_$WageSeekerSkillsImpl> get copyWith => + __$$WageSeekerSkillsImplCopyWithImpl<_$WageSeekerSkillsImpl>( + this, _$identity); @override Map toJson() { - return _$$_WageSeekerSkillsToJson( + return _$$WageSeekerSkillsImplToJson( this, ); } @@ -365,10 +366,10 @@ abstract class _WageSeekerSkills implements WageSeekerSkills { final int? amount, final bool? active, final String? description, - final String? id) = _$_WageSeekerSkills; + final String? id) = _$WageSeekerSkillsImpl; factory _WageSeekerSkills.fromJson(Map json) = - _$_WageSeekerSkills.fromJson; + _$WageSeekerSkillsImpl.fromJson; @override String? get code; @@ -382,6 +383,6 @@ abstract class _WageSeekerSkills implements WageSeekerSkills { String? get id; @override @JsonKey(ignore: true) - _$$_WageSeekerSkillsCopyWith<_$_WageSeekerSkills> get copyWith => + _$$WageSeekerSkillsImplCopyWith<_$WageSeekerSkillsImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/skills/skills.g.dart b/frontend/works_shg_app/lib/models/skills/skills.g.dart index de23248b61..fa9ad43bb6 100644 --- a/frontend/works_shg_app/lib/models/skills/skills.g.dart +++ b/frontend/works_shg_app/lib/models/skills/skills.g.dart @@ -6,28 +6,30 @@ part of 'skills.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_SkillsList _$$_SkillsListFromJson(Map json) => - _$_SkillsList( +_$SkillsListImpl _$$SkillsListImplFromJson(Map json) => + _$SkillsListImpl( wageSeekerSkills: (json['SOR'] as List?) ?.map((e) => WageSeekerSkills.fromJson(e as Map)) .toList(), ); -Map _$$_SkillsListToJson(_$_SkillsList instance) => +Map _$$SkillsListImplToJson(_$SkillsListImpl instance) => { 'SOR': instance.wageSeekerSkills, }; -_$_WageSeekerSkills _$$_WageSeekerSkillsFromJson(Map json) => - _$_WageSeekerSkills( +_$WageSeekerSkillsImpl _$$WageSeekerSkillsImplFromJson( + Map json) => + _$WageSeekerSkillsImpl( json['code'] as String?, - json['amount'] as int?, + (json['amount'] as num?)?.toInt(), json['active'] as bool?, json['description'] as String?, json['id'] as String?, ); -Map _$$_WageSeekerSkillsToJson(_$_WageSeekerSkills instance) => +Map _$$WageSeekerSkillsImplToJson( + _$WageSeekerSkillsImpl instance) => { 'code': instance.code, 'amount': instance.amount, diff --git a/frontend/works_shg_app/lib/models/table/table_model.freezed.dart b/frontend/works_shg_app/lib/models/table/table_model.freezed.dart index 9f5f8b10a0..fafda8b0e2 100644 --- a/frontend/works_shg_app/lib/models/table/table_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/table/table_model.freezed.dart @@ -12,7 +12,7 @@ part of 'table_model.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); TableDataModel _$TableDataModelFromJson(Map json) { return _TableDataModel.fromJson(json); @@ -161,11 +161,11 @@ class _$TableDataModelCopyWithImpl<$Res, $Val extends TableDataModel> } /// @nodoc -abstract class _$$_TableDataModelCopyWith<$Res> +abstract class _$$TableDataModelImplCopyWith<$Res> implements $TableDataModelCopyWith<$Res> { - factory _$$_TableDataModelCopyWith( - _$_TableDataModel value, $Res Function(_$_TableDataModel) then) = - __$$_TableDataModelCopyWithImpl<$Res>; + factory _$$TableDataModelImplCopyWith(_$TableDataModelImpl value, + $Res Function(_$TableDataModelImpl) then) = + __$$TableDataModelImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -187,11 +187,11 @@ abstract class _$$_TableDataModelCopyWith<$Res> } /// @nodoc -class __$$_TableDataModelCopyWithImpl<$Res> - extends _$TableDataModelCopyWithImpl<$Res, _$_TableDataModel> - implements _$$_TableDataModelCopyWith<$Res> { - __$$_TableDataModelCopyWithImpl( - _$_TableDataModel _value, $Res Function(_$_TableDataModel) _then) +class __$$TableDataModelImplCopyWithImpl<$Res> + extends _$TableDataModelCopyWithImpl<$Res, _$TableDataModelImpl> + implements _$$TableDataModelImplCopyWith<$Res> { + __$$TableDataModelImplCopyWithImpl( + _$TableDataModelImpl _value, $Res Function(_$TableDataModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -213,7 +213,7 @@ class __$$_TableDataModelCopyWithImpl<$Res> Object? friIndex = freezed, Object? satIndex = freezed, }) { - return _then(_$_TableDataModel( + return _then(_$TableDataModelImpl( name: freezed == name ? _value.name : name // ignore: cast_nullable_to_non_nullable @@ -281,8 +281,8 @@ class __$$_TableDataModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable(explicitToJson: true) -class _$_TableDataModel implements _TableDataModel { - const _$_TableDataModel( +class _$TableDataModelImpl implements _TableDataModel { + const _$TableDataModelImpl( {required this.name, this.aadhaar, this.individualGaurdianName, @@ -299,8 +299,8 @@ class _$_TableDataModel implements _TableDataModel { this.friIndex, this.satIndex}); - factory _$_TableDataModel.fromJson(Map json) => - _$$_TableDataModelFromJson(json); + factory _$TableDataModelImpl.fromJson(Map json) => + _$$TableDataModelImplFromJson(json); @override final String? name; @@ -339,10 +339,10 @@ class _$_TableDataModel implements _TableDataModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_TableDataModel && + other is _$TableDataModelImpl && (identical(other.name, name) || other.name == name) && (identical(other.aadhaar, aadhaar) || other.aadhaar == aadhaar) && (identical(other.individualGaurdianName, individualGaurdianName) || @@ -394,12 +394,13 @@ class _$_TableDataModel implements _TableDataModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_TableDataModelCopyWith<_$_TableDataModel> get copyWith => - __$$_TableDataModelCopyWithImpl<_$_TableDataModel>(this, _$identity); + _$$TableDataModelImplCopyWith<_$TableDataModelImpl> get copyWith => + __$$TableDataModelImplCopyWithImpl<_$TableDataModelImpl>( + this, _$identity); @override Map toJson() { - return _$$_TableDataModelToJson( + return _$$TableDataModelImplToJson( this, ); } @@ -421,10 +422,10 @@ abstract class _TableDataModel implements TableDataModel { final double? wedIndex, final double? thursIndex, final double? friIndex, - final double? satIndex}) = _$_TableDataModel; + final double? satIndex}) = _$TableDataModelImpl; factory _TableDataModel.fromJson(Map json) = - _$_TableDataModel.fromJson; + _$TableDataModelImpl.fromJson; @override String? get name; @@ -458,6 +459,6 @@ abstract class _TableDataModel implements TableDataModel { double? get satIndex; @override @JsonKey(ignore: true) - _$$_TableDataModelCopyWith<_$_TableDataModel> get copyWith => + _$$TableDataModelImplCopyWith<_$TableDataModelImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/table/table_model.g.dart b/frontend/works_shg_app/lib/models/table/table_model.g.dart index a396502042..d03db06a54 100644 --- a/frontend/works_shg_app/lib/models/table/table_model.g.dart +++ b/frontend/works_shg_app/lib/models/table/table_model.g.dart @@ -6,8 +6,8 @@ part of 'table_model.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_TableDataModel _$$_TableDataModelFromJson(Map json) => - _$_TableDataModel( +_$TableDataModelImpl _$$TableDataModelImplFromJson(Map json) => + _$TableDataModelImpl( name: json['name'] as String?, aadhaar: json['aadhaar'] as String?, individualGaurdianName: json['individualGaurdianName'] as String?, @@ -25,7 +25,8 @@ _$_TableDataModel _$$_TableDataModelFromJson(Map json) => satIndex: (json['satIndex'] as num?)?.toDouble(), ); -Map _$$_TableDataModelToJson(_$_TableDataModel instance) => +Map _$$TableDataModelImplToJson( + _$TableDataModelImpl instance) => { 'name': instance.name, 'aadhaar': instance.aadhaar, diff --git a/frontend/works_shg_app/lib/models/user_details/user_details_model.freezed.dart b/frontend/works_shg_app/lib/models/user_details/user_details_model.freezed.dart index e85e2b71fd..900861c25f 100644 --- a/frontend/works_shg_app/lib/models/user_details/user_details_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/user_details/user_details_model.freezed.dart @@ -12,7 +12,7 @@ part of 'user_details_model.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); UserDetailsModel _$UserDetailsModelFromJson(Map json) { return _UserDetailsModel.fromJson(json); @@ -113,11 +113,11 @@ class _$UserDetailsModelCopyWithImpl<$Res, $Val extends UserDetailsModel> } /// @nodoc -abstract class _$$_UserDetailsModelCopyWith<$Res> +abstract class _$$UserDetailsModelImplCopyWith<$Res> implements $UserDetailsModelCopyWith<$Res> { - factory _$$_UserDetailsModelCopyWith( - _$_UserDetailsModel value, $Res Function(_$_UserDetailsModel) then) = - __$$_UserDetailsModelCopyWithImpl<$Res>; + factory _$$UserDetailsModelImplCopyWith(_$UserDetailsModelImpl value, + $Res Function(_$UserDetailsModelImpl) then) = + __$$UserDetailsModelImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -133,11 +133,11 @@ abstract class _$$_UserDetailsModelCopyWith<$Res> } /// @nodoc -class __$$_UserDetailsModelCopyWithImpl<$Res> - extends _$UserDetailsModelCopyWithImpl<$Res, _$_UserDetailsModel> - implements _$$_UserDetailsModelCopyWith<$Res> { - __$$_UserDetailsModelCopyWithImpl( - _$_UserDetailsModel _value, $Res Function(_$_UserDetailsModel) _then) +class __$$UserDetailsModelImplCopyWithImpl<$Res> + extends _$UserDetailsModelCopyWithImpl<$Res, _$UserDetailsModelImpl> + implements _$$UserDetailsModelImplCopyWith<$Res> { + __$$UserDetailsModelImplCopyWithImpl(_$UserDetailsModelImpl _value, + $Res Function(_$UserDetailsModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -150,7 +150,7 @@ class __$$_UserDetailsModelCopyWithImpl<$Res> Object? expires_in = freezed, Object? scope = freezed, }) { - return _then(_$_UserDetailsModel( + return _then(_$UserDetailsModelImpl( userRequestModel: freezed == userRequestModel ? _value.userRequestModel : userRequestModel // ignore: cast_nullable_to_non_nullable @@ -181,8 +181,8 @@ class __$$_UserDetailsModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_UserDetailsModel implements _UserDetailsModel { - const _$_UserDetailsModel( +class _$UserDetailsModelImpl implements _UserDetailsModel { + const _$UserDetailsModelImpl( {@JsonKey(name: 'UserRequest') this.userRequestModel, this.access_token, this.token_type, @@ -190,8 +190,8 @@ class _$_UserDetailsModel implements _UserDetailsModel { this.expires_in, this.scope}); - factory _$_UserDetailsModel.fromJson(Map json) => - _$$_UserDetailsModelFromJson(json); + factory _$UserDetailsModelImpl.fromJson(Map json) => + _$$UserDetailsModelImplFromJson(json); @override @JsonKey(name: 'UserRequest') @@ -213,10 +213,10 @@ class _$_UserDetailsModel implements _UserDetailsModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_UserDetailsModel && + other is _$UserDetailsModelImpl && (identical(other.userRequestModel, userRequestModel) || other.userRequestModel == userRequestModel) && (identical(other.access_token, access_token) || @@ -238,12 +238,13 @@ class _$_UserDetailsModel implements _UserDetailsModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_UserDetailsModelCopyWith<_$_UserDetailsModel> get copyWith => - __$$_UserDetailsModelCopyWithImpl<_$_UserDetailsModel>(this, _$identity); + _$$UserDetailsModelImplCopyWith<_$UserDetailsModelImpl> get copyWith => + __$$UserDetailsModelImplCopyWithImpl<_$UserDetailsModelImpl>( + this, _$identity); @override Map toJson() { - return _$$_UserDetailsModelToJson( + return _$$UserDetailsModelImplToJson( this, ); } @@ -256,10 +257,10 @@ abstract class _UserDetailsModel implements UserDetailsModel { final String? token_type, final String? refresh_token, final int? expires_in, - final String? scope}) = _$_UserDetailsModel; + final String? scope}) = _$UserDetailsModelImpl; factory _UserDetailsModel.fromJson(Map json) = - _$_UserDetailsModel.fromJson; + _$UserDetailsModelImpl.fromJson; @override @JsonKey(name: 'UserRequest') @@ -276,7 +277,7 @@ abstract class _UserDetailsModel implements UserDetailsModel { String? get scope; @override @JsonKey(ignore: true) - _$$_UserDetailsModelCopyWith<_$_UserDetailsModel> get copyWith => + _$$UserDetailsModelImplCopyWith<_$UserDetailsModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -400,11 +401,11 @@ class _$UserRequestModelCopyWithImpl<$Res, $Val extends UserRequestModel> } /// @nodoc -abstract class _$$_UserRequestModelCopyWith<$Res> +abstract class _$$UserRequestModelImplCopyWith<$Res> implements $UserRequestModelCopyWith<$Res> { - factory _$$_UserRequestModelCopyWith( - _$_UserRequestModel value, $Res Function(_$_UserRequestModel) then) = - __$$_UserRequestModelCopyWithImpl<$Res>; + factory _$$UserRequestModelImplCopyWith(_$UserRequestModelImpl value, + $Res Function(_$UserRequestModelImpl) then) = + __$$UserRequestModelImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -422,11 +423,11 @@ abstract class _$$_UserRequestModelCopyWith<$Res> } /// @nodoc -class __$$_UserRequestModelCopyWithImpl<$Res> - extends _$UserRequestModelCopyWithImpl<$Res, _$_UserRequestModel> - implements _$$_UserRequestModelCopyWith<$Res> { - __$$_UserRequestModelCopyWithImpl( - _$_UserRequestModel _value, $Res Function(_$_UserRequestModel) _then) +class __$$UserRequestModelImplCopyWithImpl<$Res> + extends _$UserRequestModelCopyWithImpl<$Res, _$UserRequestModelImpl> + implements _$$UserRequestModelImplCopyWith<$Res> { + __$$UserRequestModelImplCopyWithImpl(_$UserRequestModelImpl _value, + $Res Function(_$UserRequestModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -444,7 +445,7 @@ class __$$_UserRequestModelCopyWithImpl<$Res> Object? uuid = freezed, Object? rolesModel = freezed, }) { - return _then(_$_UserRequestModel( + return _then(_$UserRequestModelImpl( active: freezed == active ? _value.active : active // ignore: cast_nullable_to_non_nullable @@ -495,8 +496,8 @@ class __$$_UserRequestModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_UserRequestModel implements _UserRequestModel { - const _$_UserRequestModel( +class _$UserRequestModelImpl implements _UserRequestModel { + const _$UserRequestModelImpl( {this.active, this.id, this.emailId, @@ -510,8 +511,8 @@ class _$_UserRequestModel implements _UserRequestModel { @JsonKey(name: 'roles') final List? rolesModel}) : _rolesModel = rolesModel; - factory _$_UserRequestModel.fromJson(Map json) => - _$$_UserRequestModelFromJson(json); + factory _$UserRequestModelImpl.fromJson(Map json) => + _$$UserRequestModelImplFromJson(json); @override final bool? active; @@ -550,10 +551,10 @@ class _$_UserRequestModel implements _UserRequestModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_UserRequestModel && + other is _$UserRequestModelImpl && (identical(other.active, active) || other.active == active) && (identical(other.id, id) || other.id == id) && (identical(other.emailId, emailId) || other.emailId == emailId) && @@ -590,12 +591,13 @@ class _$_UserRequestModel implements _UserRequestModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_UserRequestModelCopyWith<_$_UserRequestModel> get copyWith => - __$$_UserRequestModelCopyWithImpl<_$_UserRequestModel>(this, _$identity); + _$$UserRequestModelImplCopyWith<_$UserRequestModelImpl> get copyWith => + __$$UserRequestModelImplCopyWithImpl<_$UserRequestModelImpl>( + this, _$identity); @override Map toJson() { - return _$$_UserRequestModelToJson( + return _$$UserRequestModelImplToJson( this, ); } @@ -614,10 +616,10 @@ abstract class _UserRequestModel implements UserRequestModel { final String? userName, final String? uuid, @JsonKey(name: 'roles') final List? rolesModel}) = - _$_UserRequestModel; + _$UserRequestModelImpl; factory _UserRequestModel.fromJson(Map json) = - _$_UserRequestModel.fromJson; + _$UserRequestModelImpl.fromJson; @override bool? get active; @@ -644,7 +646,7 @@ abstract class _UserRequestModel implements UserRequestModel { List? get rolesModel; @override @JsonKey(ignore: true) - _$$_UserRequestModelCopyWith<_$_UserRequestModel> get copyWith => + _$$UserRequestModelImplCopyWith<_$UserRequestModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -708,22 +710,22 @@ class _$RolesModelCopyWithImpl<$Res, $Val extends RolesModel> } /// @nodoc -abstract class _$$_RolesModelCopyWith<$Res> +abstract class _$$RolesModelImplCopyWith<$Res> implements $RolesModelCopyWith<$Res> { - factory _$$_RolesModelCopyWith( - _$_RolesModel value, $Res Function(_$_RolesModel) then) = - __$$_RolesModelCopyWithImpl<$Res>; + factory _$$RolesModelImplCopyWith( + _$RolesModelImpl value, $Res Function(_$RolesModelImpl) then) = + __$$RolesModelImplCopyWithImpl<$Res>; @override @useResult $Res call({String? code, String? name, String? tenantId}); } /// @nodoc -class __$$_RolesModelCopyWithImpl<$Res> - extends _$RolesModelCopyWithImpl<$Res, _$_RolesModel> - implements _$$_RolesModelCopyWith<$Res> { - __$$_RolesModelCopyWithImpl( - _$_RolesModel _value, $Res Function(_$_RolesModel) _then) +class __$$RolesModelImplCopyWithImpl<$Res> + extends _$RolesModelCopyWithImpl<$Res, _$RolesModelImpl> + implements _$$RolesModelImplCopyWith<$Res> { + __$$RolesModelImplCopyWithImpl( + _$RolesModelImpl _value, $Res Function(_$RolesModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -733,7 +735,7 @@ class __$$_RolesModelCopyWithImpl<$Res> Object? name = freezed, Object? tenantId = freezed, }) { - return _then(_$_RolesModel( + return _then(_$RolesModelImpl( code: freezed == code ? _value.code : code // ignore: cast_nullable_to_non_nullable @@ -752,11 +754,11 @@ class __$$_RolesModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_RolesModel implements _RolesModel { - const _$_RolesModel({this.code, this.name, this.tenantId}); +class _$RolesModelImpl implements _RolesModel { + const _$RolesModelImpl({this.code, this.name, this.tenantId}); - factory _$_RolesModel.fromJson(Map json) => - _$$_RolesModelFromJson(json); + factory _$RolesModelImpl.fromJson(Map json) => + _$$RolesModelImplFromJson(json); @override final String? code; @@ -771,10 +773,10 @@ class _$_RolesModel implements _RolesModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_RolesModel && + other is _$RolesModelImpl && (identical(other.code, code) || other.code == code) && (identical(other.name, name) || other.name == name) && (identical(other.tenantId, tenantId) || @@ -788,12 +790,12 @@ class _$_RolesModel implements _RolesModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_RolesModelCopyWith<_$_RolesModel> get copyWith => - __$$_RolesModelCopyWithImpl<_$_RolesModel>(this, _$identity); + _$$RolesModelImplCopyWith<_$RolesModelImpl> get copyWith => + __$$RolesModelImplCopyWithImpl<_$RolesModelImpl>(this, _$identity); @override Map toJson() { - return _$$_RolesModelToJson( + return _$$RolesModelImplToJson( this, ); } @@ -803,10 +805,10 @@ abstract class _RolesModel implements RolesModel { const factory _RolesModel( {final String? code, final String? name, - final String? tenantId}) = _$_RolesModel; + final String? tenantId}) = _$RolesModelImpl; factory _RolesModel.fromJson(Map json) = - _$_RolesModel.fromJson; + _$RolesModelImpl.fromJson; @override String? get code; @@ -816,6 +818,6 @@ abstract class _RolesModel implements RolesModel { String? get tenantId; @override @JsonKey(ignore: true) - _$$_RolesModelCopyWith<_$_RolesModel> get copyWith => + _$$RolesModelImplCopyWith<_$RolesModelImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/user_details/user_details_model.g.dart b/frontend/works_shg_app/lib/models/user_details/user_details_model.g.dart index 69a4e0cd39..48541c35c9 100644 --- a/frontend/works_shg_app/lib/models/user_details/user_details_model.g.dart +++ b/frontend/works_shg_app/lib/models/user_details/user_details_model.g.dart @@ -6,8 +6,9 @@ part of 'user_details_model.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_UserDetailsModel _$$_UserDetailsModelFromJson(Map json) => - _$_UserDetailsModel( +_$UserDetailsModelImpl _$$UserDetailsModelImplFromJson( + Map json) => + _$UserDetailsModelImpl( userRequestModel: json['UserRequest'] == null ? null : UserRequestModel.fromJson( @@ -15,11 +16,12 @@ _$_UserDetailsModel _$$_UserDetailsModelFromJson(Map json) => access_token: json['access_token'] as String?, token_type: json['token_type'] as String?, refresh_token: json['refresh_token'] as String?, - expires_in: json['expires_in'] as int?, + expires_in: (json['expires_in'] as num?)?.toInt(), scope: json['scope'] as String?, ); -Map _$$_UserDetailsModelToJson(_$_UserDetailsModel instance) => +Map _$$UserDetailsModelImplToJson( + _$UserDetailsModelImpl instance) => { 'UserRequest': instance.userRequestModel, 'access_token': instance.access_token, @@ -29,10 +31,11 @@ Map _$$_UserDetailsModelToJson(_$_UserDetailsModel instance) => 'scope': instance.scope, }; -_$_UserRequestModel _$$_UserRequestModelFromJson(Map json) => - _$_UserRequestModel( +_$UserRequestModelImpl _$$UserRequestModelImplFromJson( + Map json) => + _$UserRequestModelImpl( active: json['active'] as bool?, - id: json['id'] as int?, + id: (json['id'] as num?)?.toInt(), emailId: json['emailId'] as String?, mobileNumber: json['mobileNumber'] as String?, name: json['name'] as String?, @@ -46,7 +49,8 @@ _$_UserRequestModel _$$_UserRequestModelFromJson(Map json) => .toList(), ); -Map _$$_UserRequestModelToJson(_$_UserRequestModel instance) => +Map _$$UserRequestModelImplToJson( + _$UserRequestModelImpl instance) => { 'active': instance.active, 'id': instance.id, @@ -61,14 +65,14 @@ Map _$$_UserRequestModelToJson(_$_UserRequestModel instance) => 'roles': instance.rolesModel, }; -_$_RolesModel _$$_RolesModelFromJson(Map json) => - _$_RolesModel( +_$RolesModelImpl _$$RolesModelImplFromJson(Map json) => + _$RolesModelImpl( code: json['code'] as String?, name: json['name'] as String?, tenantId: json['tenantId'] as String?, ); -Map _$$_RolesModelToJson(_$_RolesModel instance) => +Map _$$RolesModelImplToJson(_$RolesModelImpl instance) => { 'code': instance.code, 'name': instance.name, diff --git a/frontend/works_shg_app/lib/models/user_search/user_search_model.freezed.dart b/frontend/works_shg_app/lib/models/user_search/user_search_model.freezed.dart index 7ab04c9dbe..836f64b8c5 100644 --- a/frontend/works_shg_app/lib/models/user_search/user_search_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/user_search/user_search_model.freezed.dart @@ -12,7 +12,7 @@ part of 'user_search_model.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); UserSearchModel _$UserSearchModelFromJson(Map json) { return _UserSearchModel.fromJson(json); @@ -63,22 +63,22 @@ class _$UserSearchModelCopyWithImpl<$Res, $Val extends UserSearchModel> } /// @nodoc -abstract class _$$_UserSearchModelCopyWith<$Res> +abstract class _$$UserSearchModelImplCopyWith<$Res> implements $UserSearchModelCopyWith<$Res> { - factory _$$_UserSearchModelCopyWith( - _$_UserSearchModel value, $Res Function(_$_UserSearchModel) then) = - __$$_UserSearchModelCopyWithImpl<$Res>; + factory _$$UserSearchModelImplCopyWith(_$UserSearchModelImpl value, + $Res Function(_$UserSearchModelImpl) then) = + __$$UserSearchModelImplCopyWithImpl<$Res>; @override @useResult $Res call({@JsonKey(name: 'user') List? user}); } /// @nodoc -class __$$_UserSearchModelCopyWithImpl<$Res> - extends _$UserSearchModelCopyWithImpl<$Res, _$_UserSearchModel> - implements _$$_UserSearchModelCopyWith<$Res> { - __$$_UserSearchModelCopyWithImpl( - _$_UserSearchModel _value, $Res Function(_$_UserSearchModel) _then) +class __$$UserSearchModelImplCopyWithImpl<$Res> + extends _$UserSearchModelCopyWithImpl<$Res, _$UserSearchModelImpl> + implements _$$UserSearchModelImplCopyWith<$Res> { + __$$UserSearchModelImplCopyWithImpl( + _$UserSearchModelImpl _value, $Res Function(_$UserSearchModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -86,7 +86,7 @@ class __$$_UserSearchModelCopyWithImpl<$Res> $Res call({ Object? user = freezed, }) { - return _then(_$_UserSearchModel( + return _then(_$UserSearchModelImpl( user: freezed == user ? _value._user : user // ignore: cast_nullable_to_non_nullable @@ -97,13 +97,13 @@ class __$$_UserSearchModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_UserSearchModel implements _UserSearchModel { - const _$_UserSearchModel( +class _$UserSearchModelImpl implements _UserSearchModel { + const _$UserSearchModelImpl( {@JsonKey(name: 'user') final List? user}) : _user = user; - factory _$_UserSearchModel.fromJson(Map json) => - _$$_UserSearchModelFromJson(json); + factory _$UserSearchModelImpl.fromJson(Map json) => + _$$UserSearchModelImplFromJson(json); final List? _user; @override @@ -122,10 +122,10 @@ class _$_UserSearchModel implements _UserSearchModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_UserSearchModel && + other is _$UserSearchModelImpl && const DeepCollectionEquality().equals(other._user, _user)); } @@ -137,12 +137,13 @@ class _$_UserSearchModel implements _UserSearchModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_UserSearchModelCopyWith<_$_UserSearchModel> get copyWith => - __$$_UserSearchModelCopyWithImpl<_$_UserSearchModel>(this, _$identity); + _$$UserSearchModelImplCopyWith<_$UserSearchModelImpl> get copyWith => + __$$UserSearchModelImplCopyWithImpl<_$UserSearchModelImpl>( + this, _$identity); @override Map toJson() { - return _$$_UserSearchModelToJson( + return _$$UserSearchModelImplToJson( this, ); } @@ -151,16 +152,16 @@ class _$_UserSearchModel implements _UserSearchModel { abstract class _UserSearchModel implements UserSearchModel { const factory _UserSearchModel( {@JsonKey(name: 'user') final List? user}) = - _$_UserSearchModel; + _$UserSearchModelImpl; factory _UserSearchModel.fromJson(Map json) = - _$_UserSearchModel.fromJson; + _$UserSearchModelImpl.fromJson; @override @JsonKey(name: 'user') List? get user; @override @JsonKey(ignore: true) - _$$_UserSearchModelCopyWith<_$_UserSearchModel> get copyWith => + _$$UserSearchModelImplCopyWith<_$UserSearchModelImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/user_search/user_search_model.g.dart b/frontend/works_shg_app/lib/models/user_search/user_search_model.g.dart index 16eb9d9dba..d97642d255 100644 --- a/frontend/works_shg_app/lib/models/user_search/user_search_model.g.dart +++ b/frontend/works_shg_app/lib/models/user_search/user_search_model.g.dart @@ -6,14 +6,16 @@ part of 'user_search_model.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_UserSearchModel _$$_UserSearchModelFromJson(Map json) => - _$_UserSearchModel( +_$UserSearchModelImpl _$$UserSearchModelImplFromJson( + Map json) => + _$UserSearchModelImpl( user: (json['user'] as List?) ?.map((e) => UserRequestModel.fromJson(e as Map)) .toList(), ); -Map _$$_UserSearchModelToJson(_$_UserSearchModel instance) => +Map _$$UserSearchModelImplToJson( + _$UserSearchModelImpl instance) => { 'user': instance.user, }; diff --git a/frontend/works_shg_app/lib/models/wage_seeker/banking_details_model.mapper.dart b/frontend/works_shg_app/lib/models/wage_seeker/banking_details_model.mapper.dart index 60d417279e..8a6d96e356 100644 --- a/frontend/works_shg_app/lib/models/wage_seeker/banking_details_model.mapper.dart +++ b/frontend/works_shg_app/lib/models/wage_seeker/banking_details_model.mapper.dart @@ -1,219 +1,243 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element +// ignore_for_file: unused_element, unnecessary_cast, override_on_non_overriding_member +// ignore_for_file: strict_raw_type, inference_failure_on_untyped_parameter part of 'banking_details_model.dart'; -class BankingDetailsModelMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {BankingDetailsModelMapper()}, - )..linkAll({BankAccountsMapper.container}); +class BankingDetailsModelMapper extends ClassMapperBase { + BankingDetailsModelMapper._(); - @override - BankingDetailsModelMapperElement createElement(MapperContainer container) { - return BankingDetailsModelMapperElement._(this, container); + static BankingDetailsModelMapper? _instance; + static BankingDetailsModelMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = BankingDetailsModelMapper._()); + BankAccountsMapper.ensureInitialized(); + } + return _instance!; } @override - String get id => 'BankingDetailsModel'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + final String id = 'BankingDetailsModel'; -class BankingDetailsModelMapperElement - extends MapperElementBase { - BankingDetailsModelMapperElement._(super.mapper, super.container); + static List? _$bankAccounts(BankingDetailsModel v) => + v.bankAccounts; + static const Field> _f$bankAccounts = + Field('bankAccounts', _$bankAccounts, opt: true); @override - Function get decoder => decode; - BankingDetailsModel decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - BankingDetailsModel fromMap(Map map) => - BankingDetailsModel(bankAccounts: container.$getOpt(map, 'bankAccounts')); + final MappableFields fields = const { + #bankAccounts: _f$bankAccounts, + }; - @override - Function get encoder => encode; - dynamic encode(BankingDetailsModel v) => toMap(v); - Map toMap(BankingDetailsModel b) => - {'bankAccounts': container.$enc(b.bankAccounts, 'bankAccounts')}; + static BankingDetailsModel _instantiate(DecodingData data) { + return BankingDetailsModel(bankAccounts: data.dec(_f$bankAccounts)); + } @override - String stringify(BankingDetailsModel self) => - 'BankingDetailsModel(bankAccounts: ${container.asString(self.bankAccounts)})'; - @override - int hash(BankingDetailsModel self) => container.hash(self.bankAccounts); - @override - bool equals(BankingDetailsModel self, BankingDetailsModel other) => - container.isEqual(self.bankAccounts, other.bankAccounts); + final Function instantiate = _instantiate; + + static BankingDetailsModel fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static BankingDetailsModel fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin BankingDetailsModelMappable { - String toJson() => - BankingDetailsModelMapper.container.toJson(this as BankingDetailsModel); - Map toMap() => - BankingDetailsModelMapper.container.toMap(this as BankingDetailsModel); + String toJson() { + return BankingDetailsModelMapper.ensureInitialized() + .encodeJson(this as BankingDetailsModel); + } + + Map toMap() { + return BankingDetailsModelMapper.ensureInitialized() + .encodeMap(this as BankingDetailsModel); + } + BankingDetailsModelCopyWith get copyWith => _BankingDetailsModelCopyWithImpl( this as BankingDetailsModel, $identity, $identity); @override - String toString() => BankingDetailsModelMapper.container.asString(this); + String toString() { + return BankingDetailsModelMapper.ensureInitialized() + .stringifyValue(this as BankingDetailsModel); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - BankingDetailsModelMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return BankingDetailsModelMapper.ensureInitialized() + .equalsValue(this as BankingDetailsModel, other); + } + @override - int get hashCode => BankingDetailsModelMapper.container.hash(this); + int get hashCode { + return BankingDetailsModelMapper.ensureInitialized() + .hashValue(this as BankingDetailsModel); + } } -extension BankingDetailsModelValueCopy<$R, $Out extends BankingDetailsModel> +extension BankingDetailsModelValueCopy<$R, $Out> on ObjectCopyWith<$R, BankingDetailsModel, $Out> { BankingDetailsModelCopyWith<$R, BankingDetailsModel, $Out> - get asBankingDetailsModel => - base.as((v, t, t2) => _BankingDetailsModelCopyWithImpl(v, t, t2)); + get $asBankingDetailsModel => + $base.as((v, t, t2) => _BankingDetailsModelCopyWithImpl(v, t, t2)); } -typedef BankingDetailsModelCopyWithBound = BankingDetailsModel; - abstract class BankingDetailsModelCopyWith<$R, $In extends BankingDetailsModel, - $Out extends BankingDetailsModel> implements ObjectCopyWith<$R, $In, $Out> { - BankingDetailsModelCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends BankingDetailsModel>( - Then t, Then<$Out2, $R2> t2); + $Out> implements ClassCopyWith<$R, $In, $Out> { ListCopyWith<$R, BankAccounts, BankAccountsCopyWith<$R, BankAccounts, BankAccounts>>? get bankAccounts; $R call({List? bankAccounts}); + BankingDetailsModelCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _BankingDetailsModelCopyWithImpl<$R, $Out extends BankingDetailsModel> - extends CopyWithBase<$R, BankingDetailsModel, $Out> +class _BankingDetailsModelCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, BankingDetailsModel, $Out> implements BankingDetailsModelCopyWith<$R, BankingDetailsModel, $Out> { _BankingDetailsModelCopyWithImpl(super.value, super.then, super.then2); - @override - BankingDetailsModelCopyWith<$R2, BankingDetailsModel, $Out2> - chain<$R2, $Out2 extends BankingDetailsModel>( - Then t, Then<$Out2, $R2> t2) => - _BankingDetailsModelCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + BankingDetailsModelMapper.ensureInitialized(); @override ListCopyWith<$R, BankAccounts, BankAccountsCopyWith<$R, BankAccounts, BankAccounts>>? get bankAccounts => $value.bankAccounts != null - ? ListCopyWith( - $value.bankAccounts!, - (v, t) => v.copyWith.chain<$R, BankAccounts>($identity, t), + ? ListCopyWith($value.bankAccounts!, (v, t) => v.copyWith.$chain(t), (v) => call(bankAccounts: v)) : null; @override - $R call({Object? bankAccounts = $none}) => $then( - BankingDetailsModel(bankAccounts: or(bankAccounts, $value.bankAccounts))); + $R call({Object? bankAccounts = $none}) => $apply(FieldCopyWithData( + {if (bankAccounts != $none) #bankAccounts: bankAccounts})); + @override + BankingDetailsModel $make(CopyWithData data) => BankingDetailsModel( + bankAccounts: data.get(#bankAccounts, or: $value.bankAccounts)); + + @override + BankingDetailsModelCopyWith<$R2, BankingDetailsModel, $Out2> + $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _BankingDetailsModelCopyWithImpl($value, $cast, t); } -class BankAccountsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {BankAccountsMapper()}, - )..linkAll({ - BankAccountDetailsMapper.container, - ContractAuditDetailsMapper.container - }); +class BankAccountsMapper extends ClassMapperBase { + BankAccountsMapper._(); + + static BankAccountsMapper? _instance; + static BankAccountsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = BankAccountsMapper._()); + BankAccountDetailsMapper.ensureInitialized(); + ContractAuditDetailsMapper.ensureInitialized(); + } + return _instance!; + } @override - BankAccountsMapperElement createElement(MapperContainer container) { - return BankAccountsMapperElement._(this, container); + final String id = 'BankAccounts'; + + static String? _$id(BankAccounts v) => v.id; + static const Field _f$id = Field('id', _$id, opt: true); + static String? _$tenantId(BankAccounts v) => v.tenantId; + static const Field _f$tenantId = + Field('tenantId', _$tenantId, opt: true); + static String? _$referenceId(BankAccounts v) => v.referenceId; + static const Field _f$referenceId = + Field('referenceId', _$referenceId, opt: true); + static String? _$serviceCode(BankAccounts v) => v.serviceCode; + static const Field _f$serviceCode = + Field('serviceCode', _$serviceCode, opt: true); + static List? _$bankAccountDetails(BankAccounts v) => + v.bankAccountDetails; + static const Field> + _f$bankAccountDetails = + Field('bankAccountDetails', _$bankAccountDetails, opt: true); + static String? _$indID(BankAccounts v) => v.indID; + static const Field _f$indID = + Field('indID', _$indID, opt: true); + static ContractAuditDetails? _$auditDetails(BankAccounts v) => v.auditDetails; + static const Field _f$auditDetails = + Field('auditDetails', _$auditDetails, opt: true); + + @override + final MappableFields fields = const { + #id: _f$id, + #tenantId: _f$tenantId, + #referenceId: _f$referenceId, + #serviceCode: _f$serviceCode, + #bankAccountDetails: _f$bankAccountDetails, + #indID: _f$indID, + #auditDetails: _f$auditDetails, + }; + + static BankAccounts _instantiate(DecodingData data) { + return BankAccounts( + id: data.dec(_f$id), + tenantId: data.dec(_f$tenantId), + referenceId: data.dec(_f$referenceId), + serviceCode: data.dec(_f$serviceCode), + bankAccountDetails: data.dec(_f$bankAccountDetails), + indID: data.dec(_f$indID), + auditDetails: data.dec(_f$auditDetails)); } @override - String get id => 'BankAccounts'; + final Function instantiate = _instantiate; - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + static BankAccounts fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } -class BankAccountsMapperElement extends MapperElementBase { - BankAccountsMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - BankAccounts decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - BankAccounts fromMap(Map map) => BankAccounts( - id: container.$getOpt(map, 'id'), - tenantId: container.$getOpt(map, 'tenantId'), - referenceId: container.$getOpt(map, 'referenceId'), - serviceCode: container.$getOpt(map, 'serviceCode'), - bankAccountDetails: container.$getOpt(map, 'bankAccountDetails'), - indID: container.$getOpt(map, 'indID'), - auditDetails: container.$getOpt(map, 'auditDetails')); - - @override - Function get encoder => encode; - dynamic encode(BankAccounts v) => toMap(v); - Map toMap(BankAccounts b) => { - 'id': container.$enc(b.id, 'id'), - 'tenantId': container.$enc(b.tenantId, 'tenantId'), - 'referenceId': container.$enc(b.referenceId, 'referenceId'), - 'serviceCode': container.$enc(b.serviceCode, 'serviceCode'), - 'bankAccountDetails': - container.$enc(b.bankAccountDetails, 'bankAccountDetails'), - 'indID': container.$enc(b.indID, 'indID'), - 'auditDetails': container.$enc(b.auditDetails, 'auditDetails') - }; - - @override - String stringify(BankAccounts self) => - 'BankAccounts(serviceCode: ${container.asString(self.serviceCode)}, tenantId: ${container.asString(self.tenantId)}, referenceId: ${container.asString(self.referenceId)}, id: ${container.asString(self.id)}, indID: ${container.asString(self.indID)}, auditDetails: ${container.asString(self.auditDetails)}, bankAccountDetails: ${container.asString(self.bankAccountDetails)})'; - @override - int hash(BankAccounts self) => - container.hash(self.serviceCode) ^ - container.hash(self.tenantId) ^ - container.hash(self.referenceId) ^ - container.hash(self.id) ^ - container.hash(self.indID) ^ - container.hash(self.auditDetails) ^ - container.hash(self.bankAccountDetails); - @override - bool equals(BankAccounts self, BankAccounts other) => - container.isEqual(self.serviceCode, other.serviceCode) && - container.isEqual(self.tenantId, other.tenantId) && - container.isEqual(self.referenceId, other.referenceId) && - container.isEqual(self.id, other.id) && - container.isEqual(self.indID, other.indID) && - container.isEqual(self.auditDetails, other.auditDetails) && - container.isEqual(self.bankAccountDetails, other.bankAccountDetails); + static BankAccounts fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin BankAccountsMappable { - String toJson() => BankAccountsMapper.container.toJson(this as BankAccounts); - Map toMap() => - BankAccountsMapper.container.toMap(this as BankAccounts); + String toJson() { + return BankAccountsMapper.ensureInitialized() + .encodeJson(this as BankAccounts); + } + + Map toMap() { + return BankAccountsMapper.ensureInitialized() + .encodeMap(this as BankAccounts); + } + BankAccountsCopyWith get copyWith => _BankAccountsCopyWithImpl(this as BankAccounts, $identity, $identity); @override - String toString() => BankAccountsMapper.container.asString(this); + String toString() { + return BankAccountsMapper.ensureInitialized() + .stringifyValue(this as BankAccounts); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - BankAccountsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return BankAccountsMapper.ensureInitialized() + .equalsValue(this as BankAccounts, other); + } + @override - int get hashCode => BankAccountsMapper.container.hash(this); + int get hashCode { + return BankAccountsMapper.ensureInitialized() + .hashValue(this as BankAccounts); + } } -extension BankAccountsValueCopy<$R, $Out extends BankAccounts> +extension BankAccountsValueCopy<$R, $Out> on ObjectCopyWith<$R, BankAccounts, $Out> { - BankAccountsCopyWith<$R, BankAccounts, $Out> get asBankAccounts => - base.as((v, t, t2) => _BankAccountsCopyWithImpl(v, t, t2)); + BankAccountsCopyWith<$R, BankAccounts, $Out> get $asBankAccounts => + $base.as((v, t, t2) => _BankAccountsCopyWithImpl(v, t, t2)); } -typedef BankAccountsCopyWithBound = BankAccounts; - -abstract class BankAccountsCopyWith<$R, $In extends BankAccounts, - $Out extends BankAccounts> implements ObjectCopyWith<$R, $In, $Out> { - BankAccountsCopyWith<$R2, $In, $Out2> chain<$R2, $Out2 extends BankAccounts>( - Then t, Then<$Out2, $R2> t2); +abstract class BankAccountsCopyWith<$R, $In extends BankAccounts, $Out> + implements ClassCopyWith<$R, $In, $Out> { ListCopyWith< $R, BankAccountDetails, @@ -229,18 +253,17 @@ abstract class BankAccountsCopyWith<$R, $In extends BankAccounts, List? bankAccountDetails, String? indID, ContractAuditDetails? auditDetails}); + BankAccountsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); } -class _BankAccountsCopyWithImpl<$R, $Out extends BankAccounts> - extends CopyWithBase<$R, BankAccounts, $Out> +class _BankAccountsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, BankAccounts, $Out> implements BankAccountsCopyWith<$R, BankAccounts, $Out> { _BankAccountsCopyWithImpl(super.value, super.then, super.then2); - @override - BankAccountsCopyWith<$R2, BankAccounts, $Out2> - chain<$R2, $Out2 extends BankAccounts>( - Then t, Then<$Out2, $R2> t2) => - _BankAccountsCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + BankAccountsMapper.ensureInitialized(); @override ListCopyWith< $R, @@ -250,13 +273,13 @@ class _BankAccountsCopyWithImpl<$R, $Out extends BankAccounts> $value.bankAccountDetails != null ? ListCopyWith( $value.bankAccountDetails!, - (v, t) => v.copyWith.chain<$R, BankAccountDetails>($identity, t), + (v, t) => v.copyWith.$chain(t), (v) => call(bankAccountDetails: v)) : null; @override ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? - get auditDetails => $value.auditDetails?.copyWith - .chain($identity, (v) => call(auditDetails: v)); + get auditDetails => + $value.auditDetails?.copyWith.$chain((v) => call(auditDetails: v)); @override $R call( {Object? id = $none, @@ -266,126 +289,155 @@ class _BankAccountsCopyWithImpl<$R, $Out extends BankAccounts> Object? bankAccountDetails = $none, Object? indID = $none, Object? auditDetails = $none}) => - $then(BankAccounts( - id: or(id, $value.id), - tenantId: or(tenantId, $value.tenantId), - referenceId: or(referenceId, $value.referenceId), - serviceCode: or(serviceCode, $value.serviceCode), - bankAccountDetails: or(bankAccountDetails, $value.bankAccountDetails), - indID: or(indID, $value.indID), - auditDetails: or(auditDetails, $value.auditDetails))); + $apply(FieldCopyWithData({ + if (id != $none) #id: id, + if (tenantId != $none) #tenantId: tenantId, + if (referenceId != $none) #referenceId: referenceId, + if (serviceCode != $none) #serviceCode: serviceCode, + if (bankAccountDetails != $none) + #bankAccountDetails: bankAccountDetails, + if (indID != $none) #indID: indID, + if (auditDetails != $none) #auditDetails: auditDetails + })); + @override + BankAccounts $make(CopyWithData data) => BankAccounts( + id: data.get(#id, or: $value.id), + tenantId: data.get(#tenantId, or: $value.tenantId), + referenceId: data.get(#referenceId, or: $value.referenceId), + serviceCode: data.get(#serviceCode, or: $value.serviceCode), + bankAccountDetails: + data.get(#bankAccountDetails, or: $value.bankAccountDetails), + indID: data.get(#indID, or: $value.indID), + auditDetails: data.get(#auditDetails, or: $value.auditDetails)); + + @override + BankAccountsCopyWith<$R2, BankAccounts, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _BankAccountsCopyWithImpl($value, $cast, t); } -class BankAccountDetailsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {BankAccountDetailsMapper()}, - )..linkAll({BankBranchIdentifierMapper.container}); +class BankAccountDetailsMapper extends ClassMapperBase { + BankAccountDetailsMapper._(); + + static BankAccountDetailsMapper? _instance; + static BankAccountDetailsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = BankAccountDetailsMapper._()); + BankBranchIdentifierMapper.ensureInitialized(); + } + return _instance!; + } @override - BankAccountDetailsMapperElement createElement(MapperContainer container) { - return BankAccountDetailsMapperElement._(this, container); + final String id = 'BankAccountDetails'; + + static String? _$id(BankAccountDetails v) => v.id; + static const Field _f$id = + Field('id', _$id, opt: true); + static String? _$tenantId(BankAccountDetails v) => v.tenantId; + static const Field _f$tenantId = + Field('tenantId', _$tenantId, opt: true); + static String? _$accountHolderName(BankAccountDetails v) => + v.accountHolderName; + static const Field _f$accountHolderName = + Field('accountHolderName', _$accountHolderName, opt: true); + static String? _$accountNumber(BankAccountDetails v) => v.accountNumber; + static const Field _f$accountNumber = + Field('accountNumber', _$accountNumber, opt: true); + static String? _$accountType(BankAccountDetails v) => v.accountType; + static const Field _f$accountType = + Field('accountType', _$accountType, opt: true); + static BankBranchIdentifier? _$bankBranchIdentifier(BankAccountDetails v) => + v.bankBranchIdentifier; + static const Field + _f$bankBranchIdentifier = + Field('bankBranchIdentifier', _$bankBranchIdentifier, opt: true); + static bool? _$isPrimary(BankAccountDetails v) => v.isPrimary; + static const Field _f$isPrimary = + Field('isPrimary', _$isPrimary, opt: true); + static bool? _$isActive(BankAccountDetails v) => v.isActive; + static const Field _f$isActive = + Field('isActive', _$isActive, opt: true); + + @override + final MappableFields fields = const { + #id: _f$id, + #tenantId: _f$tenantId, + #accountHolderName: _f$accountHolderName, + #accountNumber: _f$accountNumber, + #accountType: _f$accountType, + #bankBranchIdentifier: _f$bankBranchIdentifier, + #isPrimary: _f$isPrimary, + #isActive: _f$isActive, + }; + + static BankAccountDetails _instantiate(DecodingData data) { + return BankAccountDetails( + id: data.dec(_f$id), + tenantId: data.dec(_f$tenantId), + accountHolderName: data.dec(_f$accountHolderName), + accountNumber: data.dec(_f$accountNumber), + accountType: data.dec(_f$accountType), + bankBranchIdentifier: data.dec(_f$bankBranchIdentifier), + isPrimary: data.dec(_f$isPrimary), + isActive: data.dec(_f$isActive)); } @override - String get id => 'BankAccountDetails'; + final Function instantiate = _instantiate; - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + static BankAccountDetails fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } -class BankAccountDetailsMapperElement - extends MapperElementBase { - BankAccountDetailsMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - BankAccountDetails decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - BankAccountDetails fromMap(Map map) => BankAccountDetails( - id: container.$getOpt(map, 'id'), - tenantId: container.$getOpt(map, 'tenantId'), - accountHolderName: container.$getOpt(map, 'accountHolderName'), - accountNumber: container.$getOpt(map, 'accountNumber'), - accountType: container.$getOpt(map, 'accountType'), - bankBranchIdentifier: container.$getOpt(map, 'bankBranchIdentifier'), - isPrimary: container.$getOpt(map, 'isPrimary'), - isActive: container.$getOpt(map, 'isActive')); - - @override - Function get encoder => encode; - dynamic encode(BankAccountDetails v) => toMap(v); - Map toMap(BankAccountDetails b) => { - 'id': container.$enc(b.id, 'id'), - 'tenantId': container.$enc(b.tenantId, 'tenantId'), - 'accountHolderName': - container.$enc(b.accountHolderName, 'accountHolderName'), - 'accountNumber': container.$enc(b.accountNumber, 'accountNumber'), - 'accountType': container.$enc(b.accountType, 'accountType'), - 'bankBranchIdentifier': - container.$enc(b.bankBranchIdentifier, 'bankBranchIdentifier'), - 'isPrimary': container.$enc(b.isPrimary, 'isPrimary'), - 'isActive': container.$enc(b.isActive, 'isActive') - }; - - @override - String stringify(BankAccountDetails self) => - 'BankAccountDetails(accountHolderName: ${container.asString(self.accountHolderName)}, tenantId: ${container.asString(self.tenantId)}, accountNumber: ${container.asString(self.accountNumber)}, id: ${container.asString(self.id)}, accountType: ${container.asString(self.accountType)}, isActive: ${container.asString(self.isActive)}, isPrimary: ${container.asString(self.isPrimary)}, bankBranchIdentifier: ${container.asString(self.bankBranchIdentifier)})'; - @override - int hash(BankAccountDetails self) => - container.hash(self.accountHolderName) ^ - container.hash(self.tenantId) ^ - container.hash(self.accountNumber) ^ - container.hash(self.id) ^ - container.hash(self.accountType) ^ - container.hash(self.isActive) ^ - container.hash(self.isPrimary) ^ - container.hash(self.bankBranchIdentifier); - @override - bool equals(BankAccountDetails self, BankAccountDetails other) => - container.isEqual(self.accountHolderName, other.accountHolderName) && - container.isEqual(self.tenantId, other.tenantId) && - container.isEqual(self.accountNumber, other.accountNumber) && - container.isEqual(self.id, other.id) && - container.isEqual(self.accountType, other.accountType) && - container.isEqual(self.isActive, other.isActive) && - container.isEqual(self.isPrimary, other.isPrimary) && - container.isEqual(self.bankBranchIdentifier, other.bankBranchIdentifier); + static BankAccountDetails fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin BankAccountDetailsMappable { - String toJson() => - BankAccountDetailsMapper.container.toJson(this as BankAccountDetails); - Map toMap() => - BankAccountDetailsMapper.container.toMap(this as BankAccountDetails); + String toJson() { + return BankAccountDetailsMapper.ensureInitialized() + .encodeJson(this as BankAccountDetails); + } + + Map toMap() { + return BankAccountDetailsMapper.ensureInitialized() + .encodeMap(this as BankAccountDetails); + } + BankAccountDetailsCopyWith get copyWith => _BankAccountDetailsCopyWithImpl( this as BankAccountDetails, $identity, $identity); @override - String toString() => BankAccountDetailsMapper.container.asString(this); + String toString() { + return BankAccountDetailsMapper.ensureInitialized() + .stringifyValue(this as BankAccountDetails); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - BankAccountDetailsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return BankAccountDetailsMapper.ensureInitialized() + .equalsValue(this as BankAccountDetails, other); + } + @override - int get hashCode => BankAccountDetailsMapper.container.hash(this); + int get hashCode { + return BankAccountDetailsMapper.ensureInitialized() + .hashValue(this as BankAccountDetails); + } } -extension BankAccountDetailsValueCopy<$R, $Out extends BankAccountDetails> +extension BankAccountDetailsValueCopy<$R, $Out> on ObjectCopyWith<$R, BankAccountDetails, $Out> { BankAccountDetailsCopyWith<$R, BankAccountDetails, $Out> - get asBankAccountDetails => - base.as((v, t, t2) => _BankAccountDetailsCopyWithImpl(v, t, t2)); + get $asBankAccountDetails => + $base.as((v, t, t2) => _BankAccountDetailsCopyWithImpl(v, t, t2)); } -typedef BankAccountDetailsCopyWithBound = BankAccountDetails; - abstract class BankAccountDetailsCopyWith<$R, $In extends BankAccountDetails, - $Out extends BankAccountDetails> implements ObjectCopyWith<$R, $In, $Out> { - BankAccountDetailsCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends BankAccountDetails>( - Then t, Then<$Out2, $R2> t2); + $Out> implements ClassCopyWith<$R, $In, $Out> { BankBranchIdentifierCopyWith<$R, BankBranchIdentifier, BankBranchIdentifier>? get bankBranchIdentifier; $R call( @@ -397,22 +449,22 @@ abstract class BankAccountDetailsCopyWith<$R, $In extends BankAccountDetails, BankBranchIdentifier? bankBranchIdentifier, bool? isPrimary, bool? isActive}); + BankAccountDetailsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _BankAccountDetailsCopyWithImpl<$R, $Out extends BankAccountDetails> - extends CopyWithBase<$R, BankAccountDetails, $Out> +class _BankAccountDetailsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, BankAccountDetails, $Out> implements BankAccountDetailsCopyWith<$R, BankAccountDetails, $Out> { _BankAccountDetailsCopyWithImpl(super.value, super.then, super.then2); - @override - BankAccountDetailsCopyWith<$R2, BankAccountDetails, $Out2> - chain<$R2, $Out2 extends BankAccountDetails>( - Then t, Then<$Out2, $R2> t2) => - _BankAccountDetailsCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + BankAccountDetailsMapper.ensureInitialized(); @override BankBranchIdentifierCopyWith<$R, BankBranchIdentifier, BankBranchIdentifier>? get bankBranchIdentifier => $value.bankBranchIdentifier?.copyWith - .chain($identity, (v) => call(bankBranchIdentifier: v)); + .$chain((v) => call(bankBranchIdentifier: v)); @override $R call( {Object? id = $none, @@ -423,113 +475,139 @@ class _BankAccountDetailsCopyWithImpl<$R, $Out extends BankAccountDetails> Object? bankBranchIdentifier = $none, Object? isPrimary = $none, Object? isActive = $none}) => - $then(BankAccountDetails( - id: or(id, $value.id), - tenantId: or(tenantId, $value.tenantId), - accountHolderName: or(accountHolderName, $value.accountHolderName), - accountNumber: or(accountNumber, $value.accountNumber), - accountType: or(accountType, $value.accountType), - bankBranchIdentifier: - or(bankBranchIdentifier, $value.bankBranchIdentifier), - isPrimary: or(isPrimary, $value.isPrimary), - isActive: or(isActive, $value.isActive))); + $apply(FieldCopyWithData({ + if (id != $none) #id: id, + if (tenantId != $none) #tenantId: tenantId, + if (accountHolderName != $none) #accountHolderName: accountHolderName, + if (accountNumber != $none) #accountNumber: accountNumber, + if (accountType != $none) #accountType: accountType, + if (bankBranchIdentifier != $none) + #bankBranchIdentifier: bankBranchIdentifier, + if (isPrimary != $none) #isPrimary: isPrimary, + if (isActive != $none) #isActive: isActive + })); + @override + BankAccountDetails $make(CopyWithData data) => BankAccountDetails( + id: data.get(#id, or: $value.id), + tenantId: data.get(#tenantId, or: $value.tenantId), + accountHolderName: + data.get(#accountHolderName, or: $value.accountHolderName), + accountNumber: data.get(#accountNumber, or: $value.accountNumber), + accountType: data.get(#accountType, or: $value.accountType), + bankBranchIdentifier: + data.get(#bankBranchIdentifier, or: $value.bankBranchIdentifier), + isPrimary: data.get(#isPrimary, or: $value.isPrimary), + isActive: data.get(#isActive, or: $value.isActive)); + + @override + BankAccountDetailsCopyWith<$R2, BankAccountDetails, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _BankAccountDetailsCopyWithImpl($value, $cast, t); } -class BankBranchIdentifierMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {BankBranchIdentifierMapper()}, - )..linkAll({BranchAdditionalDetailsMapper.container}); +class BankBranchIdentifierMapper extends ClassMapperBase { + BankBranchIdentifierMapper._(); + + static BankBranchIdentifierMapper? _instance; + static BankBranchIdentifierMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = BankBranchIdentifierMapper._()); + BranchAdditionalDetailsMapper.ensureInitialized(); + } + return _instance!; + } @override - BankBranchIdentifierMapperElement createElement(MapperContainer container) { - return BankBranchIdentifierMapperElement._(this, container); + final String id = 'BankBranchIdentifier'; + + static String? _$type(BankBranchIdentifier v) => v.type; + static const Field _f$type = + Field('type', _$type, opt: true); + static String? _$id(BankBranchIdentifier v) => v.id; + static const Field _f$id = + Field('id', _$id, opt: true); + static String? _$code(BankBranchIdentifier v) => v.code; + static const Field _f$code = + Field('code', _$code, opt: true); + static BranchAdditionalDetails? _$additionalDetails(BankBranchIdentifier v) => + v.additionalDetails; + static const Field + _f$additionalDetails = + Field('additionalDetails', _$additionalDetails, opt: true); + + @override + final MappableFields fields = const { + #type: _f$type, + #id: _f$id, + #code: _f$code, + #additionalDetails: _f$additionalDetails, + }; + + static BankBranchIdentifier _instantiate(DecodingData data) { + return BankBranchIdentifier( + type: data.dec(_f$type), + id: data.dec(_f$id), + code: data.dec(_f$code), + additionalDetails: data.dec(_f$additionalDetails)); } @override - String get id => 'BankBranchIdentifier'; + final Function instantiate = _instantiate; - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + static BankBranchIdentifier fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } -class BankBranchIdentifierMapperElement - extends MapperElementBase { - BankBranchIdentifierMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - BankBranchIdentifier decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - BankBranchIdentifier fromMap(Map map) => - BankBranchIdentifier( - type: container.$getOpt(map, 'type'), - id: container.$getOpt(map, 'id'), - code: container.$getOpt(map, 'code'), - additionalDetails: container.$getOpt(map, 'additionalDetails')); - - @override - Function get encoder => encode; - dynamic encode(BankBranchIdentifier v) => toMap(v); - Map toMap(BankBranchIdentifier b) => { - 'type': container.$enc(b.type, 'type'), - 'id': container.$enc(b.id, 'id'), - 'code': container.$enc(b.code, 'code'), - 'additionalDetails': - container.$enc(b.additionalDetails, 'additionalDetails') - }; - - @override - String stringify(BankBranchIdentifier self) => - 'BankBranchIdentifier(type: ${container.asString(self.type)}, code: ${container.asString(self.code)}, id: ${container.asString(self.id)}, additionalDetails: ${container.asString(self.additionalDetails)})'; - @override - int hash(BankBranchIdentifier self) => - container.hash(self.type) ^ - container.hash(self.code) ^ - container.hash(self.id) ^ - container.hash(self.additionalDetails); - @override - bool equals(BankBranchIdentifier self, BankBranchIdentifier other) => - container.isEqual(self.type, other.type) && - container.isEqual(self.code, other.code) && - container.isEqual(self.id, other.id) && - container.isEqual(self.additionalDetails, other.additionalDetails); + static BankBranchIdentifier fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin BankBranchIdentifierMappable { - String toJson() => - BankBranchIdentifierMapper.container.toJson(this as BankBranchIdentifier); - Map toMap() => - BankBranchIdentifierMapper.container.toMap(this as BankBranchIdentifier); + String toJson() { + return BankBranchIdentifierMapper.ensureInitialized() + .encodeJson(this as BankBranchIdentifier); + } + + Map toMap() { + return BankBranchIdentifierMapper.ensureInitialized() + .encodeMap(this as BankBranchIdentifier); + } + BankBranchIdentifierCopyWith get copyWith => _BankBranchIdentifierCopyWithImpl( this as BankBranchIdentifier, $identity, $identity); @override - String toString() => BankBranchIdentifierMapper.container.asString(this); + String toString() { + return BankBranchIdentifierMapper.ensureInitialized() + .stringifyValue(this as BankBranchIdentifier); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - BankBranchIdentifierMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return BankBranchIdentifierMapper.ensureInitialized() + .equalsValue(this as BankBranchIdentifier, other); + } + @override - int get hashCode => BankBranchIdentifierMapper.container.hash(this); + int get hashCode { + return BankBranchIdentifierMapper.ensureInitialized() + .hashValue(this as BankBranchIdentifier); + } } -extension BankBranchIdentifierValueCopy<$R, $Out extends BankBranchIdentifier> +extension BankBranchIdentifierValueCopy<$R, $Out> on ObjectCopyWith<$R, BankBranchIdentifier, $Out> { BankBranchIdentifierCopyWith<$R, BankBranchIdentifier, $Out> - get asBankBranchIdentifier => - base.as((v, t, t2) => _BankBranchIdentifierCopyWithImpl(v, t, t2)); + get $asBankBranchIdentifier => + $base.as((v, t, t2) => _BankBranchIdentifierCopyWithImpl(v, t, t2)); } -typedef BankBranchIdentifierCopyWithBound = BankBranchIdentifier; - -abstract class BankBranchIdentifierCopyWith<$R, - $In extends BankBranchIdentifier, $Out extends BankBranchIdentifier> - implements ObjectCopyWith<$R, $In, $Out> { - BankBranchIdentifierCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends BankBranchIdentifier>( - Then t, Then<$Out2, $R2> t2); +abstract class BankBranchIdentifierCopyWith< + $R, + $In extends BankBranchIdentifier, + $Out> implements ClassCopyWith<$R, $In, $Out> { BranchAdditionalDetailsCopyWith<$R, BranchAdditionalDetails, BranchAdditionalDetails>? get additionalDetails; $R call( @@ -537,136 +615,158 @@ abstract class BankBranchIdentifierCopyWith<$R, String? id, String? code, BranchAdditionalDetails? additionalDetails}); + BankBranchIdentifierCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _BankBranchIdentifierCopyWithImpl<$R, $Out extends BankBranchIdentifier> - extends CopyWithBase<$R, BankBranchIdentifier, $Out> +class _BankBranchIdentifierCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, BankBranchIdentifier, $Out> implements BankBranchIdentifierCopyWith<$R, BankBranchIdentifier, $Out> { _BankBranchIdentifierCopyWithImpl(super.value, super.then, super.then2); - @override - BankBranchIdentifierCopyWith<$R2, BankBranchIdentifier, $Out2> - chain<$R2, $Out2 extends BankBranchIdentifier>( - Then t, Then<$Out2, $R2> t2) => - _BankBranchIdentifierCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + BankBranchIdentifierMapper.ensureInitialized(); @override BranchAdditionalDetailsCopyWith<$R, BranchAdditionalDetails, BranchAdditionalDetails>? get additionalDetails => $value.additionalDetails?.copyWith - .chain($identity, (v) => call(additionalDetails: v)); + .$chain((v) => call(additionalDetails: v)); @override $R call( {Object? type = $none, Object? id = $none, Object? code = $none, Object? additionalDetails = $none}) => - $then(BankBranchIdentifier( - type: or(type, $value.type), - id: or(id, $value.id), - code: or(code, $value.code), - additionalDetails: or(additionalDetails, $value.additionalDetails))); + $apply(FieldCopyWithData({ + if (type != $none) #type: type, + if (id != $none) #id: id, + if (code != $none) #code: code, + if (additionalDetails != $none) #additionalDetails: additionalDetails + })); + @override + BankBranchIdentifier $make(CopyWithData data) => BankBranchIdentifier( + type: data.get(#type, or: $value.type), + id: data.get(#id, or: $value.id), + code: data.get(#code, or: $value.code), + additionalDetails: + data.get(#additionalDetails, or: $value.additionalDetails)); + + @override + BankBranchIdentifierCopyWith<$R2, BankBranchIdentifier, $Out2> + $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _BankBranchIdentifierCopyWithImpl($value, $cast, t); } class BranchAdditionalDetailsMapper - extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {BranchAdditionalDetailsMapper()}, - ); - - @override - BranchAdditionalDetailsMapperElement createElement( - MapperContainer container) { - return BranchAdditionalDetailsMapperElement._(this, container); + extends ClassMapperBase { + BranchAdditionalDetailsMapper._(); + + static BranchAdditionalDetailsMapper? _instance; + static BranchAdditionalDetailsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals + .use(_instance = BranchAdditionalDetailsMapper._()); + } + return _instance!; } @override - String get id => 'BranchAdditionalDetails'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + final String id = 'BranchAdditionalDetails'; -class BranchAdditionalDetailsMapperElement - extends MapperElementBase { - BranchAdditionalDetailsMapperElement._(super.mapper, super.container); + static String? _$ifsccode(BranchAdditionalDetails v) => v.ifsccode; + static const Field _f$ifsccode = + Field('ifsccode', _$ifsccode, opt: true); @override - Function get decoder => decode; - BranchAdditionalDetails decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - BranchAdditionalDetails fromMap(Map map) => - BranchAdditionalDetails(ifsccode: container.$getOpt(map, 'ifsccode')); + final MappableFields fields = const { + #ifsccode: _f$ifsccode, + }; - @override - Function get encoder => encode; - dynamic encode(BranchAdditionalDetails v) => toMap(v); - Map toMap(BranchAdditionalDetails b) => - {'ifsccode': container.$enc(b.ifsccode, 'ifsccode')}; + static BranchAdditionalDetails _instantiate(DecodingData data) { + return BranchAdditionalDetails(ifsccode: data.dec(_f$ifsccode)); + } @override - String stringify(BranchAdditionalDetails self) => - 'BranchAdditionalDetails(ifsccode: ${container.asString(self.ifsccode)})'; - @override - int hash(BranchAdditionalDetails self) => container.hash(self.ifsccode); - @override - bool equals(BranchAdditionalDetails self, BranchAdditionalDetails other) => - container.isEqual(self.ifsccode, other.ifsccode); + final Function instantiate = _instantiate; + + static BranchAdditionalDetails fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static BranchAdditionalDetails fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin BranchAdditionalDetailsMappable { - String toJson() => BranchAdditionalDetailsMapper.container - .toJson(this as BranchAdditionalDetails); - Map toMap() => BranchAdditionalDetailsMapper.container - .toMap(this as BranchAdditionalDetails); + String toJson() { + return BranchAdditionalDetailsMapper.ensureInitialized() + .encodeJson(this as BranchAdditionalDetails); + } + + Map toMap() { + return BranchAdditionalDetailsMapper.ensureInitialized() + .encodeMap(this as BranchAdditionalDetails); + } + BranchAdditionalDetailsCopyWith get copyWith => _BranchAdditionalDetailsCopyWithImpl( this as BranchAdditionalDetails, $identity, $identity); @override - String toString() => BranchAdditionalDetailsMapper.container.asString(this); + String toString() { + return BranchAdditionalDetailsMapper.ensureInitialized() + .stringifyValue(this as BranchAdditionalDetails); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - BranchAdditionalDetailsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return BranchAdditionalDetailsMapper.ensureInitialized() + .equalsValue(this as BranchAdditionalDetails, other); + } + @override - int get hashCode => BranchAdditionalDetailsMapper.container.hash(this); + int get hashCode { + return BranchAdditionalDetailsMapper.ensureInitialized() + .hashValue(this as BranchAdditionalDetails); + } } -extension BranchAdditionalDetailsValueCopy<$R, - $Out extends BranchAdditionalDetails> +extension BranchAdditionalDetailsValueCopy<$R, $Out> on ObjectCopyWith<$R, BranchAdditionalDetails, $Out> { BranchAdditionalDetailsCopyWith<$R, BranchAdditionalDetails, $Out> - get asBranchAdditionalDetails => - base.as((v, t, t2) => _BranchAdditionalDetailsCopyWithImpl(v, t, t2)); + get $asBranchAdditionalDetails => $base + .as((v, t, t2) => _BranchAdditionalDetailsCopyWithImpl(v, t, t2)); } -typedef BranchAdditionalDetailsCopyWithBound = BranchAdditionalDetails; - abstract class BranchAdditionalDetailsCopyWith< - $R, - $In extends BranchAdditionalDetails, - $Out extends BranchAdditionalDetails> - implements ObjectCopyWith<$R, $In, $Out> { - BranchAdditionalDetailsCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends BranchAdditionalDetails>( - Then t, Then<$Out2, $R2> t2); + $R, + $In extends BranchAdditionalDetails, + $Out> implements ClassCopyWith<$R, $In, $Out> { $R call({String? ifsccode}); + BranchAdditionalDetailsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _BranchAdditionalDetailsCopyWithImpl<$R, - $Out extends BranchAdditionalDetails> - extends CopyWithBase<$R, BranchAdditionalDetails, $Out> +class _BranchAdditionalDetailsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, BranchAdditionalDetails, $Out> implements BranchAdditionalDetailsCopyWith<$R, BranchAdditionalDetails, $Out> { _BranchAdditionalDetailsCopyWithImpl(super.value, super.then, super.then2); - @override - BranchAdditionalDetailsCopyWith<$R2, BranchAdditionalDetails, $Out2> - chain<$R2, $Out2 extends BranchAdditionalDetails>( - Then t, Then<$Out2, $R2> t2) => - _BranchAdditionalDetailsCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + BranchAdditionalDetailsMapper.ensureInitialized(); @override $R call({Object? ifsccode = $none}) => - $then(BranchAdditionalDetails(ifsccode: or(ifsccode, $value.ifsccode))); + $apply(FieldCopyWithData({if (ifsccode != $none) #ifsccode: ifsccode})); + @override + BranchAdditionalDetails $make(CopyWithData data) => BranchAdditionalDetails( + ifsccode: data.get(#ifsccode, or: $value.ifsccode)); + + @override + BranchAdditionalDetailsCopyWith<$R2, BranchAdditionalDetails, $Out2> + $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _BranchAdditionalDetailsCopyWithImpl($value, $cast, t); } diff --git a/frontend/works_shg_app/lib/models/wage_seeker/financial_details_model.mapper.dart b/frontend/works_shg_app/lib/models/wage_seeker/financial_details_model.mapper.dart index 8f10a06c60..178d0c7cbe 100644 --- a/frontend/works_shg_app/lib/models/wage_seeker/financial_details_model.mapper.dart +++ b/frontend/works_shg_app/lib/models/wage_seeker/financial_details_model.mapper.dart @@ -1,117 +1,128 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element +// ignore_for_file: unused_element, unnecessary_cast, override_on_non_overriding_member +// ignore_for_file: strict_raw_type, inference_failure_on_untyped_parameter part of 'financial_details_model.dart'; -class FinancialDetailsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {FinancialDetailsMapper()}, - ); +class FinancialDetailsMapper extends ClassMapperBase { + FinancialDetailsMapper._(); - @override - FinancialDetailsMapperElement createElement(MapperContainer container) { - return FinancialDetailsMapperElement._(this, container); + static FinancialDetailsMapper? _instance; + static FinancialDetailsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = FinancialDetailsMapper._()); + } + return _instance!; } @override - String get id => 'FinancialDetails'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + final String id = 'FinancialDetails'; -class FinancialDetailsMapperElement - extends MapperElementBase { - FinancialDetailsMapperElement._(super.mapper, super.container); + static String? _$accountHolderName(FinancialDetails v) => v.accountHolderName; + static const Field _f$accountHolderName = + Field('accountHolderName', _$accountHolderName, opt: true); + static String? _$accountNumber(FinancialDetails v) => v.accountNumber; + static const Field _f$accountNumber = + Field('accountNumber', _$accountNumber, opt: true); + static String? _$reAccountNumber(FinancialDetails v) => v.reAccountNumber; + static const Field _f$reAccountNumber = + Field('reAccountNumber', _$reAccountNumber, opt: true); + static String? _$accountType(FinancialDetails v) => v.accountType; + static const Field _f$accountType = + Field('accountType', _$accountType, opt: true); + static String? _$ifscCode(FinancialDetails v) => v.ifscCode; + static const Field _f$ifscCode = + Field('ifscCode', _$ifscCode, opt: true); + static String? _$referenceID(FinancialDetails v) => v.referenceID; + static const Field _f$referenceID = + Field('referenceID', _$referenceID, opt: true); + static String? _$branchName(FinancialDetails v) => v.branchName; + static const Field _f$branchName = + Field('branchName', _$branchName, opt: true); + static String? _$bankName(FinancialDetails v) => v.bankName; + static const Field _f$bankName = + Field('bankName', _$bankName, opt: true); @override - Function get decoder => decode; - FinancialDetails decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - FinancialDetails fromMap(Map map) => FinancialDetails( - accountHolderName: container.$getOpt(map, 'accountHolderName'), - accountNumber: container.$getOpt(map, 'accountNumber'), - reAccountNumber: container.$getOpt(map, 'reAccountNumber'), - accountType: container.$getOpt(map, 'accountType'), - ifscCode: container.$getOpt(map, 'ifscCode'), - referenceID: container.$getOpt(map, 'referenceID'), - branchName: container.$getOpt(map, 'branchName'), - bankName: container.$getOpt(map, 'bankName')); + final MappableFields fields = const { + #accountHolderName: _f$accountHolderName, + #accountNumber: _f$accountNumber, + #reAccountNumber: _f$reAccountNumber, + #accountType: _f$accountType, + #ifscCode: _f$ifscCode, + #referenceID: _f$referenceID, + #branchName: _f$branchName, + #bankName: _f$bankName, + }; - @override - Function get encoder => encode; - dynamic encode(FinancialDetails v) => toMap(v); - Map toMap(FinancialDetails f) => { - 'accountHolderName': - container.$enc(f.accountHolderName, 'accountHolderName'), - 'accountNumber': container.$enc(f.accountNumber, 'accountNumber'), - 'reAccountNumber': container.$enc(f.reAccountNumber, 'reAccountNumber'), - 'accountType': container.$enc(f.accountType, 'accountType'), - 'ifscCode': container.$enc(f.ifscCode, 'ifscCode'), - 'referenceID': container.$enc(f.referenceID, 'referenceID'), - 'branchName': container.$enc(f.branchName, 'branchName'), - 'bankName': container.$enc(f.bankName, 'bankName') - }; + static FinancialDetails _instantiate(DecodingData data) { + return FinancialDetails( + accountHolderName: data.dec(_f$accountHolderName), + accountNumber: data.dec(_f$accountNumber), + reAccountNumber: data.dec(_f$reAccountNumber), + accountType: data.dec(_f$accountType), + ifscCode: data.dec(_f$ifscCode), + referenceID: data.dec(_f$referenceID), + branchName: data.dec(_f$branchName), + bankName: data.dec(_f$bankName)); + } @override - String stringify(FinancialDetails self) => - 'FinancialDetails(accountHolderName: ${container.asString(self.accountHolderName)}, accountNumber: ${container.asString(self.accountNumber)}, reAccountNumber: ${container.asString(self.reAccountNumber)}, accountType: ${container.asString(self.accountType)}, ifscCode: ${container.asString(self.ifscCode)}, referenceID: ${container.asString(self.referenceID)}, branchName: ${container.asString(self.branchName)}, bankName: ${container.asString(self.bankName)})'; - @override - int hash(FinancialDetails self) => - container.hash(self.accountHolderName) ^ - container.hash(self.accountNumber) ^ - container.hash(self.reAccountNumber) ^ - container.hash(self.accountType) ^ - container.hash(self.ifscCode) ^ - container.hash(self.referenceID) ^ - container.hash(self.branchName) ^ - container.hash(self.bankName); - @override - bool equals(FinancialDetails self, FinancialDetails other) => - container.isEqual(self.accountHolderName, other.accountHolderName) && - container.isEqual(self.accountNumber, other.accountNumber) && - container.isEqual(self.reAccountNumber, other.reAccountNumber) && - container.isEqual(self.accountType, other.accountType) && - container.isEqual(self.ifscCode, other.ifscCode) && - container.isEqual(self.referenceID, other.referenceID) && - container.isEqual(self.branchName, other.branchName) && - container.isEqual(self.bankName, other.bankName); + final Function instantiate = _instantiate; + + static FinancialDetails fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static FinancialDetails fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin FinancialDetailsMappable { - String toJson() => - FinancialDetailsMapper.container.toJson(this as FinancialDetails); - Map toMap() => - FinancialDetailsMapper.container.toMap(this as FinancialDetails); + String toJson() { + return FinancialDetailsMapper.ensureInitialized() + .encodeJson(this as FinancialDetails); + } + + Map toMap() { + return FinancialDetailsMapper.ensureInitialized() + .encodeMap(this as FinancialDetails); + } + FinancialDetailsCopyWith get copyWith => _FinancialDetailsCopyWithImpl( this as FinancialDetails, $identity, $identity); @override - String toString() => FinancialDetailsMapper.container.asString(this); + String toString() { + return FinancialDetailsMapper.ensureInitialized() + .stringifyValue(this as FinancialDetails); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - FinancialDetailsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return FinancialDetailsMapper.ensureInitialized() + .equalsValue(this as FinancialDetails, other); + } + @override - int get hashCode => FinancialDetailsMapper.container.hash(this); + int get hashCode { + return FinancialDetailsMapper.ensureInitialized() + .hashValue(this as FinancialDetails); + } } -extension FinancialDetailsValueCopy<$R, $Out extends FinancialDetails> +extension FinancialDetailsValueCopy<$R, $Out> on ObjectCopyWith<$R, FinancialDetails, $Out> { - FinancialDetailsCopyWith<$R, FinancialDetails, $Out> get asFinancialDetails => - base.as((v, t, t2) => _FinancialDetailsCopyWithImpl(v, t, t2)); + FinancialDetailsCopyWith<$R, FinancialDetails, $Out> + get $asFinancialDetails => + $base.as((v, t, t2) => _FinancialDetailsCopyWithImpl(v, t, t2)); } -typedef FinancialDetailsCopyWithBound = FinancialDetails; - -abstract class FinancialDetailsCopyWith<$R, $In extends FinancialDetails, - $Out extends FinancialDetails> implements ObjectCopyWith<$R, $In, $Out> { - FinancialDetailsCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends FinancialDetails>( - Then t, Then<$Out2, $R2> t2); +abstract class FinancialDetailsCopyWith<$R, $In extends FinancialDetails, $Out> + implements ClassCopyWith<$R, $In, $Out> { $R call( {String? accountHolderName, String? accountNumber, @@ -121,18 +132,18 @@ abstract class FinancialDetailsCopyWith<$R, $In extends FinancialDetails, String? referenceID, String? branchName, String? bankName}); + FinancialDetailsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _FinancialDetailsCopyWithImpl<$R, $Out extends FinancialDetails> - extends CopyWithBase<$R, FinancialDetails, $Out> +class _FinancialDetailsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, FinancialDetails, $Out> implements FinancialDetailsCopyWith<$R, FinancialDetails, $Out> { _FinancialDetailsCopyWithImpl(super.value, super.then, super.then2); - @override - FinancialDetailsCopyWith<$R2, FinancialDetails, $Out2> - chain<$R2, $Out2 extends FinancialDetails>( - Then t, Then<$Out2, $R2> t2) => - _FinancialDetailsCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + FinancialDetailsMapper.ensureInitialized(); @override $R call( {Object? accountHolderName = $none, @@ -143,13 +154,30 @@ class _FinancialDetailsCopyWithImpl<$R, $Out extends FinancialDetails> Object? referenceID = $none, Object? branchName = $none, Object? bankName = $none}) => - $then(FinancialDetails( - accountHolderName: or(accountHolderName, $value.accountHolderName), - accountNumber: or(accountNumber, $value.accountNumber), - reAccountNumber: or(reAccountNumber, $value.reAccountNumber), - accountType: or(accountType, $value.accountType), - ifscCode: or(ifscCode, $value.ifscCode), - referenceID: or(referenceID, $value.referenceID), - branchName: or(branchName, $value.branchName), - bankName: or(bankName, $value.bankName))); + $apply(FieldCopyWithData({ + if (accountHolderName != $none) #accountHolderName: accountHolderName, + if (accountNumber != $none) #accountNumber: accountNumber, + if (reAccountNumber != $none) #reAccountNumber: reAccountNumber, + if (accountType != $none) #accountType: accountType, + if (ifscCode != $none) #ifscCode: ifscCode, + if (referenceID != $none) #referenceID: referenceID, + if (branchName != $none) #branchName: branchName, + if (bankName != $none) #bankName: bankName + })); + @override + FinancialDetails $make(CopyWithData data) => FinancialDetails( + accountHolderName: + data.get(#accountHolderName, or: $value.accountHolderName), + accountNumber: data.get(#accountNumber, or: $value.accountNumber), + reAccountNumber: data.get(#reAccountNumber, or: $value.reAccountNumber), + accountType: data.get(#accountType, or: $value.accountType), + ifscCode: data.get(#ifscCode, or: $value.ifscCode), + referenceID: data.get(#referenceID, or: $value.referenceID), + branchName: data.get(#branchName, or: $value.branchName), + bankName: data.get(#bankName, or: $value.bankName)); + + @override + FinancialDetailsCopyWith<$R2, FinancialDetails, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _FinancialDetailsCopyWithImpl($value, $cast, t); } diff --git a/frontend/works_shg_app/lib/models/wage_seeker/individual_details_model.mapper.dart b/frontend/works_shg_app/lib/models/wage_seeker/individual_details_model.mapper.dart index dcf375bfa8..4eb85ff2c7 100644 --- a/frontend/works_shg_app/lib/models/wage_seeker/individual_details_model.mapper.dart +++ b/frontend/works_shg_app/lib/models/wage_seeker/individual_details_model.mapper.dart @@ -1,147 +1,166 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element +// ignore_for_file: unused_element, unnecessary_cast, override_on_non_overriding_member +// ignore_for_file: strict_raw_type, inference_failure_on_untyped_parameter part of 'individual_details_model.dart'; -class IndividualDetailsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {IndividualDetailsMapper()}, - ); +class IndividualDetailsMapper extends ClassMapperBase { + IndividualDetailsMapper._(); - @override - IndividualDetailsMapperElement createElement(MapperContainer container) { - return IndividualDetailsMapperElement._(this, container); + static IndividualDetailsMapper? _instance; + static IndividualDetailsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = IndividualDetailsMapper._()); + } + return _instance!; } @override - String get id => 'IndividualDetails'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + final String id = 'IndividualDetails'; -class IndividualDetailsMapperElement - extends MapperElementBase { - IndividualDetailsMapperElement._(super.mapper, super.container); + static String? _$aadhaarNo(IndividualDetails v) => v.aadhaarNo; + static const Field _f$aadhaarNo = + Field('aadhaarNo', _$aadhaarNo, opt: true); + static String? _$name(IndividualDetails v) => v.name; + static const Field _f$name = + Field('name', _$name, opt: true); + static String? _$fatherName(IndividualDetails v) => v.fatherName; + static const Field _f$fatherName = + Field('fatherName', _$fatherName, opt: true); + static String? _$relationship(IndividualDetails v) => v.relationship; + static const Field _f$relationship = + Field('relationship', _$relationship, opt: true); + static DateTime? _$dateOfBirth(IndividualDetails v) => v.dateOfBirth; + static const Field _f$dateOfBirth = + Field('dateOfBirth', _$dateOfBirth, opt: true); + static String? _$gender(IndividualDetails v) => v.gender; + static const Field _f$gender = + Field('gender', _$gender, opt: true); + static String? _$socialCategory(IndividualDetails v) => v.socialCategory; + static const Field _f$socialCategory = + Field('socialCategory', _$socialCategory, opt: true); + static String? _$mobileNumber(IndividualDetails v) => v.mobileNumber; + static const Field _f$mobileNumber = + Field('mobileNumber', _$mobileNumber, opt: true); + static File? _$imageFile(IndividualDetails v) => v.imageFile; + static const Field _f$imageFile = + Field('imageFile', _$imageFile, opt: true); + static Uint8List? _$bytes(IndividualDetails v) => v.bytes; + static const Field _f$bytes = + Field('bytes', _$bytes, opt: true); + static String? _$photo(IndividualDetails v) => v.photo; + static const Field _f$photo = + Field('photo', _$photo, opt: true); + static bool? _$adharVerified(IndividualDetails v) => v.adharVerified; + static const Field _f$adharVerified = + Field('adharVerified', _$adharVerified, opt: true); + static String? _$documentType(IndividualDetails v) => v.documentType; + static const Field _f$documentType = + Field('documentType', _$documentType, opt: true); + static int? _$timeStamp(IndividualDetails v) => v.timeStamp; + static const Field _f$timeStamp = + Field('timeStamp', _$timeStamp, opt: true); + static AdharCardResponse? _$adharCardResponse(IndividualDetails v) => + v.adharCardResponse; + static const Field + _f$adharCardResponse = + Field('adharCardResponse', _$adharCardResponse, opt: true); @override - Function get decoder => decode; - IndividualDetails decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - IndividualDetails fromMap(Map map) => IndividualDetails( - aadhaarNo: container.$getOpt(map, 'aadhaarNo'), - name: container.$getOpt(map, 'name'), - fatherName: container.$getOpt(map, 'fatherName'), - relationship: container.$getOpt(map, 'relationship'), - dateOfBirth: container.$getOpt(map, 'dateOfBirth'), - gender: container.$getOpt(map, 'gender'), - socialCategory: container.$getOpt(map, 'socialCategory'), - mobileNumber: container.$getOpt(map, 'mobileNumber'), - imageFile: container.$getOpt(map, 'imageFile'), - bytes: container.$getOpt(map, 'bytes'), - photo: container.$getOpt(map, 'photo'), - adharVerified: container.$getOpt(map, 'adharVerified'), - documentType: container.$getOpt(map, 'documentType'), - timeStamp: container.$getOpt(map, 'timeStamp'), - adharCardResponse: container.$getOpt(map, 'adharCardResponse')); + final MappableFields fields = const { + #aadhaarNo: _f$aadhaarNo, + #name: _f$name, + #fatherName: _f$fatherName, + #relationship: _f$relationship, + #dateOfBirth: _f$dateOfBirth, + #gender: _f$gender, + #socialCategory: _f$socialCategory, + #mobileNumber: _f$mobileNumber, + #imageFile: _f$imageFile, + #bytes: _f$bytes, + #photo: _f$photo, + #adharVerified: _f$adharVerified, + #documentType: _f$documentType, + #timeStamp: _f$timeStamp, + #adharCardResponse: _f$adharCardResponse, + }; - @override - Function get encoder => encode; - dynamic encode(IndividualDetails v) => toMap(v); - Map toMap(IndividualDetails i) => { - 'aadhaarNo': container.$enc(i.aadhaarNo, 'aadhaarNo'), - 'name': container.$enc(i.name, 'name'), - 'fatherName': container.$enc(i.fatherName, 'fatherName'), - 'relationship': container.$enc(i.relationship, 'relationship'), - 'dateOfBirth': container.$enc(i.dateOfBirth, 'dateOfBirth'), - 'gender': container.$enc(i.gender, 'gender'), - 'socialCategory': container.$enc(i.socialCategory, 'socialCategory'), - 'mobileNumber': container.$enc(i.mobileNumber, 'mobileNumber'), - 'imageFile': container.$enc(i.imageFile, 'imageFile'), - 'bytes': container.$enc(i.bytes, 'bytes'), - 'photo': container.$enc(i.photo, 'photo'), - 'adharVerified': container.$enc(i.adharVerified, 'adharVerified'), - 'documentType': container.$enc(i.documentType, 'documentType'), - 'timeStamp': container.$enc(i.timeStamp, 'timeStamp'), - 'adharCardResponse': - container.$enc(i.adharCardResponse, 'adharCardResponse') - }; + static IndividualDetails _instantiate(DecodingData data) { + return IndividualDetails( + aadhaarNo: data.dec(_f$aadhaarNo), + name: data.dec(_f$name), + fatherName: data.dec(_f$fatherName), + relationship: data.dec(_f$relationship), + dateOfBirth: data.dec(_f$dateOfBirth), + gender: data.dec(_f$gender), + socialCategory: data.dec(_f$socialCategory), + mobileNumber: data.dec(_f$mobileNumber), + imageFile: data.dec(_f$imageFile), + bytes: data.dec(_f$bytes), + photo: data.dec(_f$photo), + adharVerified: data.dec(_f$adharVerified), + documentType: data.dec(_f$documentType), + timeStamp: data.dec(_f$timeStamp), + adharCardResponse: data.dec(_f$adharCardResponse)); + } @override - String stringify(IndividualDetails self) => - 'IndividualDetails(aadhaarNo: ${container.asString(self.aadhaarNo)}, name: ${container.asString(self.name)}, fatherName: ${container.asString(self.fatherName)}, relationship: ${container.asString(self.relationship)}, dateOfBirth: ${container.asString(self.dateOfBirth)}, gender: ${container.asString(self.gender)}, socialCategory: ${container.asString(self.socialCategory)}, mobileNumber: ${container.asString(self.mobileNumber)}, imageFile: ${container.asString(self.imageFile)}, bytes: ${container.asString(self.bytes)}, photo: ${container.asString(self.photo)}, documentType: ${container.asString(self.documentType)}, adharVerified: ${container.asString(self.adharVerified)}, timeStamp: ${container.asString(self.timeStamp)}, adharCardResponse: ${container.asString(self.adharCardResponse)})'; - @override - int hash(IndividualDetails self) => - container.hash(self.aadhaarNo) ^ - container.hash(self.name) ^ - container.hash(self.fatherName) ^ - container.hash(self.relationship) ^ - container.hash(self.dateOfBirth) ^ - container.hash(self.gender) ^ - container.hash(self.socialCategory) ^ - container.hash(self.mobileNumber) ^ - container.hash(self.imageFile) ^ - container.hash(self.bytes) ^ - container.hash(self.photo) ^ - container.hash(self.documentType) ^ - container.hash(self.adharVerified) ^ - container.hash(self.timeStamp) ^ - container.hash(self.adharCardResponse); - @override - bool equals(IndividualDetails self, IndividualDetails other) => - container.isEqual(self.aadhaarNo, other.aadhaarNo) && - container.isEqual(self.name, other.name) && - container.isEqual(self.fatherName, other.fatherName) && - container.isEqual(self.relationship, other.relationship) && - container.isEqual(self.dateOfBirth, other.dateOfBirth) && - container.isEqual(self.gender, other.gender) && - container.isEqual(self.socialCategory, other.socialCategory) && - container.isEqual(self.mobileNumber, other.mobileNumber) && - container.isEqual(self.imageFile, other.imageFile) && - container.isEqual(self.bytes, other.bytes) && - container.isEqual(self.photo, other.photo) && - container.isEqual(self.documentType, other.documentType) && - container.isEqual(self.adharVerified, other.adharVerified) && - container.isEqual(self.timeStamp, other.timeStamp) && - container.isEqual(self.adharCardResponse, other.adharCardResponse); + final Function instantiate = _instantiate; + + static IndividualDetails fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static IndividualDetails fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin IndividualDetailsMappable { - String toJson() => - IndividualDetailsMapper.container.toJson(this as IndividualDetails); - Map toMap() => - IndividualDetailsMapper.container.toMap(this as IndividualDetails); + String toJson() { + return IndividualDetailsMapper.ensureInitialized() + .encodeJson(this as IndividualDetails); + } + + Map toMap() { + return IndividualDetailsMapper.ensureInitialized() + .encodeMap(this as IndividualDetails); + } + IndividualDetailsCopyWith get copyWith => _IndividualDetailsCopyWithImpl( this as IndividualDetails, $identity, $identity); @override - String toString() => IndividualDetailsMapper.container.asString(this); + String toString() { + return IndividualDetailsMapper.ensureInitialized() + .stringifyValue(this as IndividualDetails); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - IndividualDetailsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return IndividualDetailsMapper.ensureInitialized() + .equalsValue(this as IndividualDetails, other); + } + @override - int get hashCode => IndividualDetailsMapper.container.hash(this); + int get hashCode { + return IndividualDetailsMapper.ensureInitialized() + .hashValue(this as IndividualDetails); + } } -extension IndividualDetailsValueCopy<$R, $Out extends IndividualDetails> +extension IndividualDetailsValueCopy<$R, $Out> on ObjectCopyWith<$R, IndividualDetails, $Out> { IndividualDetailsCopyWith<$R, IndividualDetails, $Out> - get asIndividualDetails => - base.as((v, t, t2) => _IndividualDetailsCopyWithImpl(v, t, t2)); + get $asIndividualDetails => + $base.as((v, t, t2) => _IndividualDetailsCopyWithImpl(v, t, t2)); } -typedef IndividualDetailsCopyWithBound = IndividualDetails; - abstract class IndividualDetailsCopyWith<$R, $In extends IndividualDetails, - $Out extends IndividualDetails> implements ObjectCopyWith<$R, $In, $Out> { - IndividualDetailsCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends IndividualDetails>( - Then t, Then<$Out2, $R2> t2); + $Out> implements ClassCopyWith<$R, $In, $Out> { $R call( {String? aadhaarNo, String? name, @@ -158,18 +177,18 @@ abstract class IndividualDetailsCopyWith<$R, $In extends IndividualDetails, String? documentType, int? timeStamp, AdharCardResponse? adharCardResponse}); + IndividualDetailsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _IndividualDetailsCopyWithImpl<$R, $Out extends IndividualDetails> - extends CopyWithBase<$R, IndividualDetails, $Out> +class _IndividualDetailsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, IndividualDetails, $Out> implements IndividualDetailsCopyWith<$R, IndividualDetails, $Out> { _IndividualDetailsCopyWithImpl(super.value, super.then, super.then2); - @override - IndividualDetailsCopyWith<$R2, IndividualDetails, $Out2> - chain<$R2, $Out2 extends IndividualDetails>( - Then t, Then<$Out2, $R2> t2) => - _IndividualDetailsCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + IndividualDetailsMapper.ensureInitialized(); @override $R call( {Object? aadhaarNo = $none, @@ -187,20 +206,44 @@ class _IndividualDetailsCopyWithImpl<$R, $Out extends IndividualDetails> Object? documentType = $none, Object? timeStamp = $none, Object? adharCardResponse = $none}) => - $then(IndividualDetails( - aadhaarNo: or(aadhaarNo, $value.aadhaarNo), - name: or(name, $value.name), - fatherName: or(fatherName, $value.fatherName), - relationship: or(relationship, $value.relationship), - dateOfBirth: or(dateOfBirth, $value.dateOfBirth), - gender: or(gender, $value.gender), - socialCategory: or(socialCategory, $value.socialCategory), - mobileNumber: or(mobileNumber, $value.mobileNumber), - imageFile: or(imageFile, $value.imageFile), - bytes: or(bytes, $value.bytes), - photo: or(photo, $value.photo), - adharVerified: or(adharVerified, $value.adharVerified), - documentType: or(documentType, $value.documentType), - timeStamp: or(timeStamp, $value.timeStamp), - adharCardResponse: or(adharCardResponse, $value.adharCardResponse))); + $apply(FieldCopyWithData({ + if (aadhaarNo != $none) #aadhaarNo: aadhaarNo, + if (name != $none) #name: name, + if (fatherName != $none) #fatherName: fatherName, + if (relationship != $none) #relationship: relationship, + if (dateOfBirth != $none) #dateOfBirth: dateOfBirth, + if (gender != $none) #gender: gender, + if (socialCategory != $none) #socialCategory: socialCategory, + if (mobileNumber != $none) #mobileNumber: mobileNumber, + if (imageFile != $none) #imageFile: imageFile, + if (bytes != $none) #bytes: bytes, + if (photo != $none) #photo: photo, + if (adharVerified != $none) #adharVerified: adharVerified, + if (documentType != $none) #documentType: documentType, + if (timeStamp != $none) #timeStamp: timeStamp, + if (adharCardResponse != $none) #adharCardResponse: adharCardResponse + })); + @override + IndividualDetails $make(CopyWithData data) => IndividualDetails( + aadhaarNo: data.get(#aadhaarNo, or: $value.aadhaarNo), + name: data.get(#name, or: $value.name), + fatherName: data.get(#fatherName, or: $value.fatherName), + relationship: data.get(#relationship, or: $value.relationship), + dateOfBirth: data.get(#dateOfBirth, or: $value.dateOfBirth), + gender: data.get(#gender, or: $value.gender), + socialCategory: data.get(#socialCategory, or: $value.socialCategory), + mobileNumber: data.get(#mobileNumber, or: $value.mobileNumber), + imageFile: data.get(#imageFile, or: $value.imageFile), + bytes: data.get(#bytes, or: $value.bytes), + photo: data.get(#photo, or: $value.photo), + adharVerified: data.get(#adharVerified, or: $value.adharVerified), + documentType: data.get(#documentType, or: $value.documentType), + timeStamp: data.get(#timeStamp, or: $value.timeStamp), + adharCardResponse: + data.get(#adharCardResponse, or: $value.adharCardResponse)); + + @override + IndividualDetailsCopyWith<$R2, IndividualDetails, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _IndividualDetailsCopyWithImpl($value, $cast, t); } diff --git a/frontend/works_shg_app/lib/models/wage_seeker/location_details_model.mapper.dart b/frontend/works_shg_app/lib/models/wage_seeker/location_details_model.mapper.dart index 22a553e7be..ce4d0b90e4 100644 --- a/frontend/works_shg_app/lib/models/wage_seeker/location_details_model.mapper.dart +++ b/frontend/works_shg_app/lib/models/wage_seeker/location_details_model.mapper.dart @@ -1,107 +1,117 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element +// ignore_for_file: unused_element, unnecessary_cast, override_on_non_overriding_member +// ignore_for_file: strict_raw_type, inference_failure_on_untyped_parameter part of 'location_details_model.dart'; -class LocationDetailsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {LocationDetailsMapper()}, - ); +class LocationDetailsMapper extends ClassMapperBase { + LocationDetailsMapper._(); - @override - LocationDetailsMapperElement createElement(MapperContainer container) { - return LocationDetailsMapperElement._(this, container); + static LocationDetailsMapper? _instance; + static LocationDetailsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = LocationDetailsMapper._()); + } + return _instance!; } @override - String get id => 'LocationDetails'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + final String id = 'LocationDetails'; -class LocationDetailsMapperElement extends MapperElementBase { - LocationDetailsMapperElement._(super.mapper, super.container); + static String? _$pinCode(LocationDetails v) => v.pinCode; + static const Field _f$pinCode = + Field('pinCode', _$pinCode, opt: true); + static String? _$locality(LocationDetails v) => v.locality; + static const Field _f$locality = + Field('locality', _$locality, opt: true); + static String? _$ward(LocationDetails v) => v.ward; + static const Field _f$ward = + Field('ward', _$ward, opt: true); + static String? _$city(LocationDetails v) => v.city; + static const Field _f$city = + Field('city', _$city, opt: true); + static String? _$streetName(LocationDetails v) => v.streetName; + static const Field _f$streetName = + Field('streetName', _$streetName, opt: true); + static String? _$doorNo(LocationDetails v) => v.doorNo; + static const Field _f$doorNo = + Field('doorNo', _$doorNo, opt: true); @override - Function get decoder => decode; - LocationDetails decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - LocationDetails fromMap(Map map) => LocationDetails( - pinCode: container.$getOpt(map, 'pinCode'), - locality: container.$getOpt(map, 'locality'), - ward: container.$getOpt(map, 'ward'), - city: container.$getOpt(map, 'city'), - streetName: container.$getOpt(map, 'streetName'), - doorNo: container.$getOpt(map, 'doorNo')); + final MappableFields fields = const { + #pinCode: _f$pinCode, + #locality: _f$locality, + #ward: _f$ward, + #city: _f$city, + #streetName: _f$streetName, + #doorNo: _f$doorNo, + }; - @override - Function get encoder => encode; - dynamic encode(LocationDetails v) => toMap(v); - Map toMap(LocationDetails l) => { - 'pinCode': container.$enc(l.pinCode, 'pinCode'), - 'locality': container.$enc(l.locality, 'locality'), - 'ward': container.$enc(l.ward, 'ward'), - 'city': container.$enc(l.city, 'city'), - 'streetName': container.$enc(l.streetName, 'streetName'), - 'doorNo': container.$enc(l.doorNo, 'doorNo') - }; + static LocationDetails _instantiate(DecodingData data) { + return LocationDetails( + pinCode: data.dec(_f$pinCode), + locality: data.dec(_f$locality), + ward: data.dec(_f$ward), + city: data.dec(_f$city), + streetName: data.dec(_f$streetName), + doorNo: data.dec(_f$doorNo)); + } @override - String stringify(LocationDetails self) => - 'LocationDetails(pinCode: ${container.asString(self.pinCode)}, locality: ${container.asString(self.locality)}, city: ${container.asString(self.city)}, ward: ${container.asString(self.ward)}, streetName: ${container.asString(self.streetName)}, doorNo: ${container.asString(self.doorNo)})'; - @override - int hash(LocationDetails self) => - container.hash(self.pinCode) ^ - container.hash(self.locality) ^ - container.hash(self.city) ^ - container.hash(self.ward) ^ - container.hash(self.streetName) ^ - container.hash(self.doorNo); - @override - bool equals(LocationDetails self, LocationDetails other) => - container.isEqual(self.pinCode, other.pinCode) && - container.isEqual(self.locality, other.locality) && - container.isEqual(self.city, other.city) && - container.isEqual(self.ward, other.ward) && - container.isEqual(self.streetName, other.streetName) && - container.isEqual(self.doorNo, other.doorNo); + final Function instantiate = _instantiate; + + static LocationDetails fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static LocationDetails fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin LocationDetailsMappable { - String toJson() => - LocationDetailsMapper.container.toJson(this as LocationDetails); - Map toMap() => - LocationDetailsMapper.container.toMap(this as LocationDetails); + String toJson() { + return LocationDetailsMapper.ensureInitialized() + .encodeJson(this as LocationDetails); + } + + Map toMap() { + return LocationDetailsMapper.ensureInitialized() + .encodeMap(this as LocationDetails); + } + LocationDetailsCopyWith get copyWith => _LocationDetailsCopyWithImpl( this as LocationDetails, $identity, $identity); @override - String toString() => LocationDetailsMapper.container.asString(this); + String toString() { + return LocationDetailsMapper.ensureInitialized() + .stringifyValue(this as LocationDetails); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - LocationDetailsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return LocationDetailsMapper.ensureInitialized() + .equalsValue(this as LocationDetails, other); + } + @override - int get hashCode => LocationDetailsMapper.container.hash(this); + int get hashCode { + return LocationDetailsMapper.ensureInitialized() + .hashValue(this as LocationDetails); + } } -extension LocationDetailsValueCopy<$R, $Out extends LocationDetails> +extension LocationDetailsValueCopy<$R, $Out> on ObjectCopyWith<$R, LocationDetails, $Out> { - LocationDetailsCopyWith<$R, LocationDetails, $Out> get asLocationDetails => - base.as((v, t, t2) => _LocationDetailsCopyWithImpl(v, t, t2)); + LocationDetailsCopyWith<$R, LocationDetails, $Out> get $asLocationDetails => + $base.as((v, t, t2) => _LocationDetailsCopyWithImpl(v, t, t2)); } -typedef LocationDetailsCopyWithBound = LocationDetails; - -abstract class LocationDetailsCopyWith<$R, $In extends LocationDetails, - $Out extends LocationDetails> implements ObjectCopyWith<$R, $In, $Out> { - LocationDetailsCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends LocationDetails>( - Then t, Then<$Out2, $R2> t2); +abstract class LocationDetailsCopyWith<$R, $In extends LocationDetails, $Out> + implements ClassCopyWith<$R, $In, $Out> { $R call( {String? pinCode, String? locality, @@ -109,18 +119,18 @@ abstract class LocationDetailsCopyWith<$R, $In extends LocationDetails, String? city, String? streetName, String? doorNo}); + LocationDetailsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _LocationDetailsCopyWithImpl<$R, $Out extends LocationDetails> - extends CopyWithBase<$R, LocationDetails, $Out> +class _LocationDetailsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, LocationDetails, $Out> implements LocationDetailsCopyWith<$R, LocationDetails, $Out> { _LocationDetailsCopyWithImpl(super.value, super.then, super.then2); - @override - LocationDetailsCopyWith<$R2, LocationDetails, $Out2> - chain<$R2, $Out2 extends LocationDetails>( - Then t, Then<$Out2, $R2> t2) => - _LocationDetailsCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + LocationDetailsMapper.ensureInitialized(); @override $R call( {Object? pinCode = $none, @@ -129,11 +139,25 @@ class _LocationDetailsCopyWithImpl<$R, $Out extends LocationDetails> Object? city = $none, Object? streetName = $none, Object? doorNo = $none}) => - $then(LocationDetails( - pinCode: or(pinCode, $value.pinCode), - locality: or(locality, $value.locality), - ward: or(ward, $value.ward), - city: or(city, $value.city), - streetName: or(streetName, $value.streetName), - doorNo: or(doorNo, $value.doorNo))); + $apply(FieldCopyWithData({ + if (pinCode != $none) #pinCode: pinCode, + if (locality != $none) #locality: locality, + if (ward != $none) #ward: ward, + if (city != $none) #city: city, + if (streetName != $none) #streetName: streetName, + if (doorNo != $none) #doorNo: doorNo + })); + @override + LocationDetails $make(CopyWithData data) => LocationDetails( + pinCode: data.get(#pinCode, or: $value.pinCode), + locality: data.get(#locality, or: $value.locality), + ward: data.get(#ward, or: $value.ward), + city: data.get(#city, or: $value.city), + streetName: data.get(#streetName, or: $value.streetName), + doorNo: data.get(#doorNo, or: $value.doorNo)); + + @override + LocationDetailsCopyWith<$R2, LocationDetails, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _LocationDetailsCopyWithImpl($value, $cast, t); } diff --git a/frontend/works_shg_app/lib/models/wage_seeker/skill_details_model.mapper.dart b/frontend/works_shg_app/lib/models/wage_seeker/skill_details_model.mapper.dart index 25a5cc26a7..00f2f1b3aa 100644 --- a/frontend/works_shg_app/lib/models/wage_seeker/skill_details_model.mapper.dart +++ b/frontend/works_shg_app/lib/models/wage_seeker/skill_details_model.mapper.dart @@ -1,209 +1,236 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element +// ignore_for_file: unused_element, unnecessary_cast, override_on_non_overriding_member +// ignore_for_file: strict_raw_type, inference_failure_on_untyped_parameter part of 'skill_details_model.dart'; -class SkillDetailsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {SkillDetailsMapper()}, - )..linkAll({IndividualSkillMapper.container}); +class SkillDetailsMapper extends ClassMapperBase { + SkillDetailsMapper._(); - @override - SkillDetailsMapperElement createElement(MapperContainer container) { - return SkillDetailsMapperElement._(this, container); + static SkillDetailsMapper? _instance; + static SkillDetailsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = SkillDetailsMapper._()); + IndividualSkillMapper.ensureInitialized(); + } + return _instance!; } @override - String get id => 'SkillDetails'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + final String id = 'SkillDetails'; -class SkillDetailsMapperElement extends MapperElementBase { - SkillDetailsMapperElement._(super.mapper, super.container); + static List? _$individualSkills(SkillDetails v) => + v.individualSkills; + static const Field> _f$individualSkills = + Field('individualSkills', _$individualSkills, opt: true); @override - Function get decoder => decode; - SkillDetails decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - SkillDetails fromMap(Map map) => SkillDetails( - individualSkills: container.$getOpt(map, 'individualSkills')); + final MappableFields fields = const { + #individualSkills: _f$individualSkills, + }; - @override - Function get encoder => encode; - dynamic encode(SkillDetails v) => toMap(v); - Map toMap(SkillDetails s) => { - 'individualSkills': - container.$enc(s.individualSkills, 'individualSkills') - }; + static SkillDetails _instantiate(DecodingData data) { + return SkillDetails(individualSkills: data.dec(_f$individualSkills)); + } @override - String stringify(SkillDetails self) => - 'SkillDetails(individualSkills: ${container.asString(self.individualSkills)})'; - @override - int hash(SkillDetails self) => container.hash(self.individualSkills); - @override - bool equals(SkillDetails self, SkillDetails other) => - container.isEqual(self.individualSkills, other.individualSkills); + final Function instantiate = _instantiate; + + static SkillDetails fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static SkillDetails fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin SkillDetailsMappable { - String toJson() => SkillDetailsMapper.container.toJson(this as SkillDetails); - Map toMap() => - SkillDetailsMapper.container.toMap(this as SkillDetails); + String toJson() { + return SkillDetailsMapper.ensureInitialized() + .encodeJson(this as SkillDetails); + } + + Map toMap() { + return SkillDetailsMapper.ensureInitialized() + .encodeMap(this as SkillDetails); + } + SkillDetailsCopyWith get copyWith => _SkillDetailsCopyWithImpl(this as SkillDetails, $identity, $identity); @override - String toString() => SkillDetailsMapper.container.asString(this); + String toString() { + return SkillDetailsMapper.ensureInitialized() + .stringifyValue(this as SkillDetails); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - SkillDetailsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return SkillDetailsMapper.ensureInitialized() + .equalsValue(this as SkillDetails, other); + } + @override - int get hashCode => SkillDetailsMapper.container.hash(this); + int get hashCode { + return SkillDetailsMapper.ensureInitialized() + .hashValue(this as SkillDetails); + } } -extension SkillDetailsValueCopy<$R, $Out extends SkillDetails> +extension SkillDetailsValueCopy<$R, $Out> on ObjectCopyWith<$R, SkillDetails, $Out> { - SkillDetailsCopyWith<$R, SkillDetails, $Out> get asSkillDetails => - base.as((v, t, t2) => _SkillDetailsCopyWithImpl(v, t, t2)); + SkillDetailsCopyWith<$R, SkillDetails, $Out> get $asSkillDetails => + $base.as((v, t, t2) => _SkillDetailsCopyWithImpl(v, t, t2)); } -typedef SkillDetailsCopyWithBound = SkillDetails; - -abstract class SkillDetailsCopyWith<$R, $In extends SkillDetails, - $Out extends SkillDetails> implements ObjectCopyWith<$R, $In, $Out> { - SkillDetailsCopyWith<$R2, $In, $Out2> chain<$R2, $Out2 extends SkillDetails>( - Then t, Then<$Out2, $R2> t2); +abstract class SkillDetailsCopyWith<$R, $In extends SkillDetails, $Out> + implements ClassCopyWith<$R, $In, $Out> { ListCopyWith<$R, IndividualSkill, IndividualSkillCopyWith<$R, IndividualSkill, IndividualSkill>>? get individualSkills; $R call({List? individualSkills}); + SkillDetailsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); } -class _SkillDetailsCopyWithImpl<$R, $Out extends SkillDetails> - extends CopyWithBase<$R, SkillDetails, $Out> +class _SkillDetailsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, SkillDetails, $Out> implements SkillDetailsCopyWith<$R, SkillDetails, $Out> { _SkillDetailsCopyWithImpl(super.value, super.then, super.then2); - @override - SkillDetailsCopyWith<$R2, SkillDetails, $Out2> - chain<$R2, $Out2 extends SkillDetails>( - Then t, Then<$Out2, $R2> t2) => - _SkillDetailsCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + SkillDetailsMapper.ensureInitialized(); @override ListCopyWith<$R, IndividualSkill, IndividualSkillCopyWith<$R, IndividualSkill, IndividualSkill>>? get individualSkills => $value.individualSkills != null - ? ListCopyWith( - $value.individualSkills!, - (v, t) => v.copyWith.chain<$R, IndividualSkill>($identity, t), - (v) => call(individualSkills: v)) + ? ListCopyWith($value.individualSkills!, + (v, t) => v.copyWith.$chain(t), (v) => call(individualSkills: v)) : null; @override - $R call({Object? individualSkills = $none}) => $then(SkillDetails( - individualSkills: or(individualSkills, $value.individualSkills))); + $R call({Object? individualSkills = $none}) => $apply(FieldCopyWithData( + {if (individualSkills != $none) #individualSkills: individualSkills})); + @override + SkillDetails $make(CopyWithData data) => SkillDetails( + individualSkills: + data.get(#individualSkills, or: $value.individualSkills)); + + @override + SkillDetailsCopyWith<$R2, SkillDetails, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _SkillDetailsCopyWithImpl($value, $cast, t); } -class IndividualSkillMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {IndividualSkillMapper()}, - ); +class IndividualSkillMapper extends ClassMapperBase { + IndividualSkillMapper._(); - @override - IndividualSkillMapperElement createElement(MapperContainer container) { - return IndividualSkillMapperElement._(this, container); + static IndividualSkillMapper? _instance; + static IndividualSkillMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = IndividualSkillMapper._()); + } + return _instance!; } @override - String get id => 'IndividualSkill'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + final String id = 'IndividualSkill'; -class IndividualSkillMapperElement extends MapperElementBase { - IndividualSkillMapperElement._(super.mapper, super.container); + static String? _$type(IndividualSkill v) => v.type; + static const Field _f$type = + Field('type', _$type, opt: true); + static String? _$level(IndividualSkill v) => v.level; + static const Field _f$level = + Field('level', _$level, opt: true); @override - Function get decoder => decode; - IndividualSkill decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - IndividualSkill fromMap(Map map) => IndividualSkill( - type: container.$getOpt(map, 'type'), - level: container.$getOpt(map, 'level')); + final MappableFields fields = const { + #type: _f$type, + #level: _f$level, + }; - @override - Function get encoder => encode; - dynamic encode(IndividualSkill v) => toMap(v); - Map toMap(IndividualSkill i) => { - 'type': container.$enc(i.type, 'type'), - 'level': container.$enc(i.level, 'level') - }; + static IndividualSkill _instantiate(DecodingData data) { + return IndividualSkill(type: data.dec(_f$type), level: data.dec(_f$level)); + } @override - String stringify(IndividualSkill self) => - 'IndividualSkill(type: ${container.asString(self.type)}, level: ${container.asString(self.level)})'; - @override - int hash(IndividualSkill self) => - container.hash(self.type) ^ container.hash(self.level); - @override - bool equals(IndividualSkill self, IndividualSkill other) => - container.isEqual(self.type, other.type) && - container.isEqual(self.level, other.level); + final Function instantiate = _instantiate; + + static IndividualSkill fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static IndividualSkill fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin IndividualSkillMappable { - String toJson() => - IndividualSkillMapper.container.toJson(this as IndividualSkill); - Map toMap() => - IndividualSkillMapper.container.toMap(this as IndividualSkill); + String toJson() { + return IndividualSkillMapper.ensureInitialized() + .encodeJson(this as IndividualSkill); + } + + Map toMap() { + return IndividualSkillMapper.ensureInitialized() + .encodeMap(this as IndividualSkill); + } + IndividualSkillCopyWith get copyWith => _IndividualSkillCopyWithImpl( this as IndividualSkill, $identity, $identity); @override - String toString() => IndividualSkillMapper.container.asString(this); + String toString() { + return IndividualSkillMapper.ensureInitialized() + .stringifyValue(this as IndividualSkill); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - IndividualSkillMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return IndividualSkillMapper.ensureInitialized() + .equalsValue(this as IndividualSkill, other); + } + @override - int get hashCode => IndividualSkillMapper.container.hash(this); + int get hashCode { + return IndividualSkillMapper.ensureInitialized() + .hashValue(this as IndividualSkill); + } } -extension IndividualSkillValueCopy<$R, $Out extends IndividualSkill> +extension IndividualSkillValueCopy<$R, $Out> on ObjectCopyWith<$R, IndividualSkill, $Out> { - IndividualSkillCopyWith<$R, IndividualSkill, $Out> get asIndividualSkill => - base.as((v, t, t2) => _IndividualSkillCopyWithImpl(v, t, t2)); + IndividualSkillCopyWith<$R, IndividualSkill, $Out> get $asIndividualSkill => + $base.as((v, t, t2) => _IndividualSkillCopyWithImpl(v, t, t2)); } -typedef IndividualSkillCopyWithBound = IndividualSkill; - -abstract class IndividualSkillCopyWith<$R, $In extends IndividualSkill, - $Out extends IndividualSkill> implements ObjectCopyWith<$R, $In, $Out> { - IndividualSkillCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends IndividualSkill>( - Then t, Then<$Out2, $R2> t2); +abstract class IndividualSkillCopyWith<$R, $In extends IndividualSkill, $Out> + implements ClassCopyWith<$R, $In, $Out> { $R call({String? type, String? level}); + IndividualSkillCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _IndividualSkillCopyWithImpl<$R, $Out extends IndividualSkill> - extends CopyWithBase<$R, IndividualSkill, $Out> +class _IndividualSkillCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, IndividualSkill, $Out> implements IndividualSkillCopyWith<$R, IndividualSkill, $Out> { _IndividualSkillCopyWithImpl(super.value, super.then, super.then2); - @override - IndividualSkillCopyWith<$R2, IndividualSkill, $Out2> - chain<$R2, $Out2 extends IndividualSkill>( - Then t, Then<$Out2, $R2> t2) => - _IndividualSkillCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + IndividualSkillMapper.ensureInitialized(); @override $R call({Object? type = $none, Object? level = $none}) => - $then(IndividualSkill( - type: or(type, $value.type), level: or(level, $value.level))); + $apply(FieldCopyWithData( + {if (type != $none) #type: type, if (level != $none) #level: level})); + @override + IndividualSkill $make(CopyWithData data) => IndividualSkill( + type: data.get(#type, or: $value.type), + level: data.get(#level, or: $value.level)); + + @override + IndividualSkillCopyWith<$R2, IndividualSkill, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _IndividualSkillCopyWithImpl($value, $cast, t); } diff --git a/frontend/works_shg_app/lib/models/works/contracts_model.mapper.dart b/frontend/works_shg_app/lib/models/works/contracts_model.mapper.dart index 5a63ccb4f6..f1d659617b 100644 --- a/frontend/works_shg_app/lib/models/works/contracts_model.mapper.dart +++ b/frontend/works_shg_app/lib/models/works/contracts_model.mapper.dart @@ -1,289 +1,322 @@ // coverage:ignore-file // GENERATED CODE - DO NOT MODIFY BY HAND // ignore_for_file: type=lint -// ignore_for_file: unused_element +// ignore_for_file: unused_element, unnecessary_cast, override_on_non_overriding_member +// ignore_for_file: strict_raw_type, inference_failure_on_untyped_parameter part of 'contracts_model.dart'; -class ContractsModelMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {ContractsModelMapper()}, - )..linkAll({ContractsMapper.container}); +class ContractsModelMapper extends ClassMapperBase { + ContractsModelMapper._(); - @override - ContractsModelMapperElement createElement(MapperContainer container) { - return ContractsModelMapperElement._(this, container); + static ContractsModelMapper? _instance; + static ContractsModelMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = ContractsModelMapper._()); + ContractsMapper.ensureInitialized(); + } + return _instance!; } @override - String get id => 'ContractsModel'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} + final String id = 'ContractsModel'; -class ContractsModelMapperElement extends MapperElementBase { - ContractsModelMapperElement._(super.mapper, super.container); + static List? _$contracts(ContractsModel v) => v.contracts; + static const Field> _f$contracts = + Field('contracts', _$contracts, opt: true); @override - Function get decoder => decode; - ContractsModel decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - ContractsModel fromMap(Map map) => - ContractsModel(contracts: container.$getOpt(map, 'contracts')); + final MappableFields fields = const { + #contracts: _f$contracts, + }; - @override - Function get encoder => encode; - dynamic encode(ContractsModel v) => toMap(v); - Map toMap(ContractsModel c) => - {'contracts': container.$enc(c.contracts, 'contracts')}; + static ContractsModel _instantiate(DecodingData data) { + return ContractsModel(contracts: data.dec(_f$contracts)); + } @override - String stringify(ContractsModel self) => - 'ContractsModel(contracts: ${container.asString(self.contracts)})'; - @override - int hash(ContractsModel self) => container.hash(self.contracts); - @override - bool equals(ContractsModel self, ContractsModel other) => - container.isEqual(self.contracts, other.contracts); + final Function instantiate = _instantiate; + + static ContractsModel fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static ContractsModel fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin ContractsModelMappable { - String toJson() => - ContractsModelMapper.container.toJson(this as ContractsModel); - Map toMap() => - ContractsModelMapper.container.toMap(this as ContractsModel); + String toJson() { + return ContractsModelMapper.ensureInitialized() + .encodeJson(this as ContractsModel); + } + + Map toMap() { + return ContractsModelMapper.ensureInitialized() + .encodeMap(this as ContractsModel); + } + ContractsModelCopyWith get copyWith => _ContractsModelCopyWithImpl( this as ContractsModel, $identity, $identity); @override - String toString() => ContractsModelMapper.container.asString(this); + String toString() { + return ContractsModelMapper.ensureInitialized() + .stringifyValue(this as ContractsModel); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - ContractsModelMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return ContractsModelMapper.ensureInitialized() + .equalsValue(this as ContractsModel, other); + } + @override - int get hashCode => ContractsModelMapper.container.hash(this); + int get hashCode { + return ContractsModelMapper.ensureInitialized() + .hashValue(this as ContractsModel); + } } -extension ContractsModelValueCopy<$R, $Out extends ContractsModel> +extension ContractsModelValueCopy<$R, $Out> on ObjectCopyWith<$R, ContractsModel, $Out> { - ContractsModelCopyWith<$R, ContractsModel, $Out> get asContractsModel => - base.as((v, t, t2) => _ContractsModelCopyWithImpl(v, t, t2)); + ContractsModelCopyWith<$R, ContractsModel, $Out> get $asContractsModel => + $base.as((v, t, t2) => _ContractsModelCopyWithImpl(v, t, t2)); } -typedef ContractsModelCopyWithBound = ContractsModel; - -abstract class ContractsModelCopyWith<$R, $In extends ContractsModel, - $Out extends ContractsModel> implements ObjectCopyWith<$R, $In, $Out> { - ContractsModelCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends ContractsModel>( - Then t, Then<$Out2, $R2> t2); +abstract class ContractsModelCopyWith<$R, $In extends ContractsModel, $Out> + implements ClassCopyWith<$R, $In, $Out> { ListCopyWith<$R, Contracts, ContractsCopyWith<$R, Contracts, Contracts>>? get contracts; $R call({List? contracts}); + ContractsModelCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _ContractsModelCopyWithImpl<$R, $Out extends ContractsModel> - extends CopyWithBase<$R, ContractsModel, $Out> +class _ContractsModelCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, ContractsModel, $Out> implements ContractsModelCopyWith<$R, ContractsModel, $Out> { _ContractsModelCopyWithImpl(super.value, super.then, super.then2); - @override - ContractsModelCopyWith<$R2, ContractsModel, $Out2> - chain<$R2, $Out2 extends ContractsModel>( - Then t, Then<$Out2, $R2> t2) => - _ContractsModelCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + ContractsModelMapper.ensureInitialized(); @override ListCopyWith<$R, Contracts, ContractsCopyWith<$R, Contracts, Contracts>>? get contracts => $value.contracts != null - ? ListCopyWith( - $value.contracts!, - (v, t) => v.copyWith.chain<$R, Contracts>($identity, t), + ? ListCopyWith($value.contracts!, (v, t) => v.copyWith.$chain(t), (v) => call(contracts: v)) : null; @override - $R call({Object? contracts = $none}) => - $then(ContractsModel(contracts: or(contracts, $value.contracts))); -} - -class ContractsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {ContractsMapper()}, - )..linkAll({ - LineItemsMapper.container, - DocumentsMapper.container, - ContractProcessInstanceMapper.container, - ContractAdditionalDetailsMapper.container, - ContractAuditDetailsMapper.container, - }); - - @override - ContractsMapperElement createElement(MapperContainer container) { - return ContractsMapperElement._(this, container); - } - - @override - String get id => 'Contracts'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} - -class ContractsMapperElement extends MapperElementBase { - ContractsMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - Contracts decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - Contracts fromMap(Map map) => Contracts( - id: container.$getOpt(map, 'id'), - contractNumber: container.$getOpt(map, 'contractNumber'), - tenantId: container.$getOpt(map, 'tenantId'), - status: container.$getOpt(map, 'status'), - endDate: container.$getOpt(map, 'endDate'), - startDate: container.$getOpt(map, 'startDate'), - agreementDate: container.$getOpt(map, 'agreementDate'), - completionPeriod: container.$getOpt(map, 'completionPeriod'), - contractType: container.$getOpt(map, 'contractType'), - defectLiabilityPeriod: container.$getOpt(map, 'defectLiabilityPeriod'), - executingAuthority: container.$getOpt(map, 'executingAuthority'), - issueDate: container.$getOpt(map, 'issueDate'), - orgId: container.$getOpt(map, 'orgId'), - securityDeposit: container.$getOpt(map, 'securityDeposit'), - wfStatus: container.$getOpt(map, 'wfStatus'), - totalContractedAmount: container.$getOpt(map, 'totalContractedAmount'), - lineItems: container.$getOpt(map, 'lineItems'), - documents: container.$getOpt(map, 'documents'), - processInstance: container.$getOpt(map, 'processInstance'), - additionalDetails: container.$getOpt(map, 'additionalDetails'), - auditDetails: container.$getOpt(map, 'auditDetails'), - businessService: container.$getOpt(map, 'businessService'), - supplementNumber: container.$getOpt(map, 'supplementNumber')); - - @override - Function get encoder => encode; - dynamic encode(Contracts v) => toMap(v); - Map toMap(Contracts c) => { - 'id': container.$enc(c.id, 'id'), - 'contractNumber': container.$enc(c.contractNumber, 'contractNumber'), - 'tenantId': container.$enc(c.tenantId, 'tenantId'), - 'status': container.$enc(c.status, 'status'), - 'endDate': container.$enc(c.endDate, 'endDate'), - 'startDate': container.$enc(c.startDate, 'startDate'), - 'agreementDate': container.$enc(c.agreementDate, 'agreementDate'), - 'completionPeriod': - container.$enc(c.completionPeriod, 'completionPeriod'), - 'contractType': container.$enc(c.contractType, 'contractType'), - 'defectLiabilityPeriod': - container.$enc(c.defectLiabilityPeriod, 'defectLiabilityPeriod'), - 'executingAuthority': - container.$enc(c.executingAuthority, 'executingAuthority'), - 'issueDate': container.$enc(c.issueDate, 'issueDate'), - 'orgId': container.$enc(c.orgId, 'orgId'), - 'securityDeposit': container.$enc(c.securityDeposit, 'securityDeposit'), - 'wfStatus': container.$enc(c.wfStatus, 'wfStatus'), - 'totalContractedAmount': - container.$enc(c.totalContractedAmount, 'totalContractedAmount'), - 'lineItems': container.$enc(c.lineItems, 'lineItems'), - 'documents': container.$enc(c.documents, 'documents'), - 'processInstance': container.$enc(c.processInstance, 'processInstance'), - 'additionalDetails': - container.$enc(c.additionalDetails, 'additionalDetails'), - 'auditDetails': container.$enc(c.auditDetails, 'auditDetails'), - 'businessService': container.$enc(c.businessService, 'businessService'), - 'supplementNumber': - container.$enc(c.supplementNumber, 'supplementNumber') - }; - - @override - String stringify(Contracts self) => - 'Contracts(id: ${container.asString(self.id)}, contractNumber: ${container.asString(self.contractNumber)}, businessService: ${container.asString(self.businessService)}, tenantId: ${container.asString(self.tenantId)}, wfStatus: ${container.asString(self.wfStatus)}, executingAuthority: ${container.asString(self.executingAuthority)}, contractType: ${container.asString(self.contractType)}, totalContractedAmount: ${container.asString(self.totalContractedAmount)}, securityDeposit: ${container.asString(self.securityDeposit)}, agreementDate: ${container.asString(self.agreementDate)}, issueDate: ${container.asString(self.issueDate)}, defectLiabilityPeriod: ${container.asString(self.defectLiabilityPeriod)}, orgId: ${container.asString(self.orgId)}, startDate: ${container.asString(self.startDate)}, endDate: ${container.asString(self.endDate)}, completionPeriod: ${container.asString(self.completionPeriod)}, status: ${container.asString(self.status)}, lineItems: ${container.asString(self.lineItems)}, supplementNumber: ${container.asString(self.supplementNumber)}, documents: ${container.asString(self.documents)}, auditDetails: ${container.asString(self.auditDetails)}, additionalDetails: ${container.asString(self.additionalDetails)}, processInstance: ${container.asString(self.processInstance)})'; - @override - int hash(Contracts self) => - container.hash(self.id) ^ - container.hash(self.contractNumber) ^ - container.hash(self.businessService) ^ - container.hash(self.tenantId) ^ - container.hash(self.wfStatus) ^ - container.hash(self.executingAuthority) ^ - container.hash(self.contractType) ^ - container.hash(self.totalContractedAmount) ^ - container.hash(self.securityDeposit) ^ - container.hash(self.agreementDate) ^ - container.hash(self.issueDate) ^ - container.hash(self.defectLiabilityPeriod) ^ - container.hash(self.orgId) ^ - container.hash(self.startDate) ^ - container.hash(self.endDate) ^ - container.hash(self.completionPeriod) ^ - container.hash(self.status) ^ - container.hash(self.lineItems) ^ - container.hash(self.supplementNumber) ^ - container.hash(self.documents) ^ - container.hash(self.auditDetails) ^ - container.hash(self.additionalDetails) ^ - container.hash(self.processInstance); - @override - bool equals(Contracts self, Contracts other) => - container.isEqual(self.id, other.id) && - container.isEqual(self.contractNumber, other.contractNumber) && - container.isEqual(self.businessService, other.businessService) && - container.isEqual(self.tenantId, other.tenantId) && - container.isEqual(self.wfStatus, other.wfStatus) && - container.isEqual(self.executingAuthority, other.executingAuthority) && - container.isEqual(self.contractType, other.contractType) && - container.isEqual( - self.totalContractedAmount, other.totalContractedAmount) && - container.isEqual(self.securityDeposit, other.securityDeposit) && - container.isEqual(self.agreementDate, other.agreementDate) && - container.isEqual(self.issueDate, other.issueDate) && - container.isEqual( - self.defectLiabilityPeriod, other.defectLiabilityPeriod) && - container.isEqual(self.orgId, other.orgId) && - container.isEqual(self.startDate, other.startDate) && - container.isEqual(self.endDate, other.endDate) && - container.isEqual(self.completionPeriod, other.completionPeriod) && - container.isEqual(self.status, other.status) && - container.isEqual(self.lineItems, other.lineItems) && - container.isEqual(self.supplementNumber, other.supplementNumber) && - container.isEqual(self.documents, other.documents) && - container.isEqual(self.auditDetails, other.auditDetails) && - container.isEqual(self.additionalDetails, other.additionalDetails) && - container.isEqual(self.processInstance, other.processInstance); + $R call({Object? contracts = $none}) => $apply( + FieldCopyWithData({if (contracts != $none) #contracts: contracts})); + @override + ContractsModel $make(CopyWithData data) => + ContractsModel(contracts: data.get(#contracts, or: $value.contracts)); + + @override + ContractsModelCopyWith<$R2, ContractsModel, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _ContractsModelCopyWithImpl($value, $cast, t); +} + +class ContractsMapper extends ClassMapperBase { + ContractsMapper._(); + + static ContractsMapper? _instance; + static ContractsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = ContractsMapper._()); + LineItemsMapper.ensureInitialized(); + DocumentsMapper.ensureInitialized(); + ContractProcessInstanceMapper.ensureInitialized(); + ContractAdditionalDetailsMapper.ensureInitialized(); + ContractAuditDetailsMapper.ensureInitialized(); + } + return _instance!; + } + + @override + final String id = 'Contracts'; + + static String? _$id(Contracts v) => v.id; + static const Field _f$id = Field('id', _$id, opt: true); + static String? _$contractNumber(Contracts v) => v.contractNumber; + static const Field _f$contractNumber = + Field('contractNumber', _$contractNumber, opt: true); + static String? _$tenantId(Contracts v) => v.tenantId; + static const Field _f$tenantId = + Field('tenantId', _$tenantId, opt: true); + static String? _$status(Contracts v) => v.status; + static const Field _f$status = + Field('status', _$status, opt: true); + static int? _$endDate(Contracts v) => v.endDate; + static const Field _f$endDate = + Field('endDate', _$endDate, opt: true); + static int? _$startDate(Contracts v) => v.startDate; + static const Field _f$startDate = + Field('startDate', _$startDate, opt: true); + static int? _$agreementDate(Contracts v) => v.agreementDate; + static const Field _f$agreementDate = + Field('agreementDate', _$agreementDate, opt: true); + static int? _$completionPeriod(Contracts v) => v.completionPeriod; + static const Field _f$completionPeriod = + Field('completionPeriod', _$completionPeriod, opt: true); + static String? _$contractType(Contracts v) => v.contractType; + static const Field _f$contractType = + Field('contractType', _$contractType, opt: true); + static int? _$defectLiabilityPeriod(Contracts v) => v.defectLiabilityPeriod; + static const Field _f$defectLiabilityPeriod = + Field('defectLiabilityPeriod', _$defectLiabilityPeriod, opt: true); + static String? _$executingAuthority(Contracts v) => v.executingAuthority; + static const Field _f$executingAuthority = + Field('executingAuthority', _$executingAuthority, opt: true); + static int? _$issueDate(Contracts v) => v.issueDate; + static const Field _f$issueDate = + Field('issueDate', _$issueDate, opt: true); + static String? _$orgId(Contracts v) => v.orgId; + static const Field _f$orgId = + Field('orgId', _$orgId, opt: true); + static double? _$securityDeposit(Contracts v) => v.securityDeposit; + static const Field _f$securityDeposit = + Field('securityDeposit', _$securityDeposit, opt: true); + static String? _$wfStatus(Contracts v) => v.wfStatus; + static const Field _f$wfStatus = + Field('wfStatus', _$wfStatus, opt: true); + static double? _$totalContractedAmount(Contracts v) => + v.totalContractedAmount; + static const Field _f$totalContractedAmount = + Field('totalContractedAmount', _$totalContractedAmount, opt: true); + static List? _$lineItems(Contracts v) => v.lineItems; + static const Field> _f$lineItems = + Field('lineItems', _$lineItems, opt: true); + static List? _$documents(Contracts v) => v.documents; + static const Field> _f$documents = + Field('documents', _$documents, opt: true); + static ContractProcessInstance? _$processInstance(Contracts v) => + v.processInstance; + static const Field _f$processInstance = + Field('processInstance', _$processInstance, opt: true); + static ContractAdditionalDetails? _$additionalDetails(Contracts v) => + v.additionalDetails; + static const Field + _f$additionalDetails = + Field('additionalDetails', _$additionalDetails, opt: true); + static ContractAuditDetails? _$auditDetails(Contracts v) => v.auditDetails; + static const Field _f$auditDetails = + Field('auditDetails', _$auditDetails, opt: true); + static String? _$businessService(Contracts v) => v.businessService; + static const Field _f$businessService = + Field('businessService', _$businessService, opt: true); + static String? _$supplementNumber(Contracts v) => v.supplementNumber; + static const Field _f$supplementNumber = + Field('supplementNumber', _$supplementNumber, opt: true); + + @override + final MappableFields fields = const { + #id: _f$id, + #contractNumber: _f$contractNumber, + #tenantId: _f$tenantId, + #status: _f$status, + #endDate: _f$endDate, + #startDate: _f$startDate, + #agreementDate: _f$agreementDate, + #completionPeriod: _f$completionPeriod, + #contractType: _f$contractType, + #defectLiabilityPeriod: _f$defectLiabilityPeriod, + #executingAuthority: _f$executingAuthority, + #issueDate: _f$issueDate, + #orgId: _f$orgId, + #securityDeposit: _f$securityDeposit, + #wfStatus: _f$wfStatus, + #totalContractedAmount: _f$totalContractedAmount, + #lineItems: _f$lineItems, + #documents: _f$documents, + #processInstance: _f$processInstance, + #additionalDetails: _f$additionalDetails, + #auditDetails: _f$auditDetails, + #businessService: _f$businessService, + #supplementNumber: _f$supplementNumber, + }; + + static Contracts _instantiate(DecodingData data) { + return Contracts( + id: data.dec(_f$id), + contractNumber: data.dec(_f$contractNumber), + tenantId: data.dec(_f$tenantId), + status: data.dec(_f$status), + endDate: data.dec(_f$endDate), + startDate: data.dec(_f$startDate), + agreementDate: data.dec(_f$agreementDate), + completionPeriod: data.dec(_f$completionPeriod), + contractType: data.dec(_f$contractType), + defectLiabilityPeriod: data.dec(_f$defectLiabilityPeriod), + executingAuthority: data.dec(_f$executingAuthority), + issueDate: data.dec(_f$issueDate), + orgId: data.dec(_f$orgId), + securityDeposit: data.dec(_f$securityDeposit), + wfStatus: data.dec(_f$wfStatus), + totalContractedAmount: data.dec(_f$totalContractedAmount), + lineItems: data.dec(_f$lineItems), + documents: data.dec(_f$documents), + processInstance: data.dec(_f$processInstance), + additionalDetails: data.dec(_f$additionalDetails), + auditDetails: data.dec(_f$auditDetails), + businessService: data.dec(_f$businessService), + supplementNumber: data.dec(_f$supplementNumber)); + } + + @override + final Function instantiate = _instantiate; + + static Contracts fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static Contracts fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin ContractsMappable { - String toJson() => ContractsMapper.container.toJson(this as Contracts); - Map toMap() => - ContractsMapper.container.toMap(this as Contracts); + String toJson() { + return ContractsMapper.ensureInitialized() + .encodeJson(this as Contracts); + } + + Map toMap() { + return ContractsMapper.ensureInitialized() + .encodeMap(this as Contracts); + } + ContractsCopyWith get copyWith => _ContractsCopyWithImpl(this as Contracts, $identity, $identity); @override - String toString() => ContractsMapper.container.asString(this); + String toString() { + return ContractsMapper.ensureInitialized() + .stringifyValue(this as Contracts); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - ContractsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return ContractsMapper.ensureInitialized() + .equalsValue(this as Contracts, other); + } + @override - int get hashCode => ContractsMapper.container.hash(this); + int get hashCode { + return ContractsMapper.ensureInitialized().hashValue(this as Contracts); + } } -extension ContractsValueCopy<$R, $Out extends Contracts> - on ObjectCopyWith<$R, Contracts, $Out> { - ContractsCopyWith<$R, Contracts, $Out> get asContracts => - base.as((v, t, t2) => _ContractsCopyWithImpl(v, t, t2)); +extension ContractsValueCopy<$R, $Out> on ObjectCopyWith<$R, Contracts, $Out> { + ContractsCopyWith<$R, Contracts, $Out> get $asContracts => + $base.as((v, t, t2) => _ContractsCopyWithImpl(v, t, t2)); } -typedef ContractsCopyWithBound = Contracts; - -abstract class ContractsCopyWith<$R, $In extends Contracts, - $Out extends Contracts> implements ObjectCopyWith<$R, $In, $Out> { - ContractsCopyWith<$R2, $In, $Out2> chain<$R2, $Out2 extends Contracts>( - Then t, Then<$Out2, $R2> t2); +abstract class ContractsCopyWith<$R, $In extends Contracts, $Out> + implements ClassCopyWith<$R, $In, $Out> { ListCopyWith<$R, LineItems, LineItemsCopyWith<$R, LineItems, LineItems>>? get lineItems; ListCopyWith<$R, Documents, DocumentsCopyWith<$R, Documents, Documents>>? @@ -318,47 +351,43 @@ abstract class ContractsCopyWith<$R, $In extends Contracts, ContractAuditDetails? auditDetails, String? businessService, String? supplementNumber}); + ContractsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); } -class _ContractsCopyWithImpl<$R, $Out extends Contracts> - extends CopyWithBase<$R, Contracts, $Out> +class _ContractsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, Contracts, $Out> implements ContractsCopyWith<$R, Contracts, $Out> { _ContractsCopyWithImpl(super.value, super.then, super.then2); - @override - ContractsCopyWith<$R2, Contracts, $Out2> chain<$R2, $Out2 extends Contracts>( - Then t, Then<$Out2, $R2> t2) => - _ContractsCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + ContractsMapper.ensureInitialized(); @override ListCopyWith<$R, LineItems, LineItemsCopyWith<$R, LineItems, LineItems>>? get lineItems => $value.lineItems != null - ? ListCopyWith( - $value.lineItems!, - (v, t) => v.copyWith.chain<$R, LineItems>($identity, t), + ? ListCopyWith($value.lineItems!, (v, t) => v.copyWith.$chain(t), (v) => call(lineItems: v)) : null; @override ListCopyWith<$R, Documents, DocumentsCopyWith<$R, Documents, Documents>>? get documents => $value.documents != null - ? ListCopyWith( - $value.documents!, - (v, t) => v.copyWith.chain<$R, Documents>($identity, t), + ? ListCopyWith($value.documents!, (v, t) => v.copyWith.$chain(t), (v) => call(documents: v)) : null; @override ContractProcessInstanceCopyWith<$R, ContractProcessInstance, ContractProcessInstance>? get processInstance => $value.processInstance?.copyWith - .chain($identity, (v) => call(processInstance: v)); + .$chain((v) => call(processInstance: v)); @override ContractAdditionalDetailsCopyWith<$R, ContractAdditionalDetails, ContractAdditionalDetails>? get additionalDetails => $value.additionalDetails?.copyWith - .chain($identity, (v) => call(additionalDetails: v)); + .$chain((v) => call(additionalDetails: v)); @override ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? - get auditDetails => $value.auditDetails?.copyWith - .chain($identity, (v) => call(auditDetails: v)); + get auditDetails => + $value.auditDetails?.copyWith.$chain((v) => call(auditDetails: v)); @override $R call( {Object? id = $none, @@ -384,261 +413,202 @@ class _ContractsCopyWithImpl<$R, $Out extends Contracts> Object? auditDetails = $none, Object? businessService = $none, Object? supplementNumber = $none}) => - $then(Contracts( - id: or(id, $value.id), - contractNumber: or(contractNumber, $value.contractNumber), - tenantId: or(tenantId, $value.tenantId), - status: or(status, $value.status), - endDate: or(endDate, $value.endDate), - startDate: or(startDate, $value.startDate), - agreementDate: or(agreementDate, $value.agreementDate), - completionPeriod: or(completionPeriod, $value.completionPeriod), - contractType: or(contractType, $value.contractType), - defectLiabilityPeriod: - or(defectLiabilityPeriod, $value.defectLiabilityPeriod), - executingAuthority: or(executingAuthority, $value.executingAuthority), - issueDate: or(issueDate, $value.issueDate), - orgId: or(orgId, $value.orgId), - securityDeposit: or(securityDeposit, $value.securityDeposit), - wfStatus: or(wfStatus, $value.wfStatus), - totalContractedAmount: - or(totalContractedAmount, $value.totalContractedAmount), - lineItems: or(lineItems, $value.lineItems), - documents: or(documents, $value.documents), - processInstance: or(processInstance, $value.processInstance), - additionalDetails: or(additionalDetails, $value.additionalDetails), - auditDetails: or(auditDetails, $value.auditDetails), - businessService: or(businessService, $value.businessService), - supplementNumber: or(supplementNumber, $value.supplementNumber))); -} - -class ORGAdditionalDetailsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {ORGAdditionalDetailsMapper()}, - ); - - @override - ORGAdditionalDetailsMapperElement createElement(MapperContainer container) { - return ORGAdditionalDetailsMapperElement._(this, container); + $apply(FieldCopyWithData({ + if (id != $none) #id: id, + if (contractNumber != $none) #contractNumber: contractNumber, + if (tenantId != $none) #tenantId: tenantId, + if (status != $none) #status: status, + if (endDate != $none) #endDate: endDate, + if (startDate != $none) #startDate: startDate, + if (agreementDate != $none) #agreementDate: agreementDate, + if (completionPeriod != $none) #completionPeriod: completionPeriod, + if (contractType != $none) #contractType: contractType, + if (defectLiabilityPeriod != $none) + #defectLiabilityPeriod: defectLiabilityPeriod, + if (executingAuthority != $none) + #executingAuthority: executingAuthority, + if (issueDate != $none) #issueDate: issueDate, + if (orgId != $none) #orgId: orgId, + if (securityDeposit != $none) #securityDeposit: securityDeposit, + if (wfStatus != $none) #wfStatus: wfStatus, + if (totalContractedAmount != $none) + #totalContractedAmount: totalContractedAmount, + if (lineItems != $none) #lineItems: lineItems, + if (documents != $none) #documents: documents, + if (processInstance != $none) #processInstance: processInstance, + if (additionalDetails != $none) #additionalDetails: additionalDetails, + if (auditDetails != $none) #auditDetails: auditDetails, + if (businessService != $none) #businessService: businessService, + if (supplementNumber != $none) #supplementNumber: supplementNumber + })); + @override + Contracts $make(CopyWithData data) => Contracts( + id: data.get(#id, or: $value.id), + contractNumber: data.get(#contractNumber, or: $value.contractNumber), + tenantId: data.get(#tenantId, or: $value.tenantId), + status: data.get(#status, or: $value.status), + endDate: data.get(#endDate, or: $value.endDate), + startDate: data.get(#startDate, or: $value.startDate), + agreementDate: data.get(#agreementDate, or: $value.agreementDate), + completionPeriod: + data.get(#completionPeriod, or: $value.completionPeriod), + contractType: data.get(#contractType, or: $value.contractType), + defectLiabilityPeriod: + data.get(#defectLiabilityPeriod, or: $value.defectLiabilityPeriod), + executingAuthority: + data.get(#executingAuthority, or: $value.executingAuthority), + issueDate: data.get(#issueDate, or: $value.issueDate), + orgId: data.get(#orgId, or: $value.orgId), + securityDeposit: data.get(#securityDeposit, or: $value.securityDeposit), + wfStatus: data.get(#wfStatus, or: $value.wfStatus), + totalContractedAmount: + data.get(#totalContractedAmount, or: $value.totalContractedAmount), + lineItems: data.get(#lineItems, or: $value.lineItems), + documents: data.get(#documents, or: $value.documents), + processInstance: data.get(#processInstance, or: $value.processInstance), + additionalDetails: + data.get(#additionalDetails, or: $value.additionalDetails), + auditDetails: data.get(#auditDetails, or: $value.auditDetails), + businessService: data.get(#businessService, or: $value.businessService), + supplementNumber: + data.get(#supplementNumber, or: $value.supplementNumber)); + + @override + ContractsCopyWith<$R2, Contracts, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _ContractsCopyWithImpl($value, $cast, t); +} + +class LineItemsMapper extends ClassMapperBase { + LineItemsMapper._(); + + static LineItemsMapper? _instance; + static LineItemsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = LineItemsMapper._()); + ContractAuditDetailsMapper.ensureInitialized(); + AmountBreakupsMapper.ensureInitialized(); + } + return _instance!; } @override - String get id => 'ORGAdditionalDetails'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} - -class ORGAdditionalDetailsMapperElement - extends MapperElementBase { - ORGAdditionalDetailsMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - ORGAdditionalDetails decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - ORGAdditionalDetails fromMap(Map map) => - ORGAdditionalDetails( - deptRegistrationNum: container.$getOpt(map, 'deptRegistrationNum'), - registeredByDept: container.$getOpt(map, 'registeredByDept')); - - @override - Function get encoder => encode; - dynamic encode(ORGAdditionalDetails v) => toMap(v); - Map toMap(ORGAdditionalDetails o) => { - 'deptRegistrationNum': - container.$enc(o.deptRegistrationNum, 'deptRegistrationNum'), - 'registeredByDept': - container.$enc(o.registeredByDept, 'registeredByDept') - }; - - @override - String stringify(ORGAdditionalDetails self) => - 'ORGAdditionalDetails(registeredByDept: ${container.asString(self.registeredByDept)}, deptRegistrationNum: ${container.asString(self.deptRegistrationNum)})'; - @override - int hash(ORGAdditionalDetails self) => - container.hash(self.registeredByDept) ^ - container.hash(self.deptRegistrationNum); - @override - bool equals(ORGAdditionalDetails self, ORGAdditionalDetails other) => - container.isEqual(self.registeredByDept, other.registeredByDept) && - container.isEqual(self.deptRegistrationNum, other.deptRegistrationNum); -} + final String id = 'LineItems'; + + static String? _$id(LineItems v) => v.id; + static const Field _f$id = Field('id', _$id, opt: true); + static String? _$status(LineItems v) => v.status; + static const Field _f$status = + Field('status', _$status, opt: true); + static String? _$tenantId(LineItems v) => v.tenantId; + static const Field _f$tenantId = + Field('tenantId', _$tenantId, opt: true); + static String? _$name(LineItems v) => v.name; + static const Field _f$name = + Field('name', _$name, opt: true); + static ContractAuditDetails? _$auditDetails(LineItems v) => v.auditDetails; + static const Field _f$auditDetails = + Field('auditDetails', _$auditDetails, opt: true); + static List? _$amountBreakups(LineItems v) => + v.amountBreakups; + static const Field> _f$amountBreakups = + Field('amountBreakups', _$amountBreakups, opt: true); + static String? _$category(LineItems v) => v.category; + static const Field _f$category = + Field('category', _$category, opt: true); + static String? _$estimateId(LineItems v) => v.estimateId; + static const Field _f$estimateId = + Field('estimateId', _$estimateId, opt: true); + static String? _$estimateLineItemId(LineItems v) => v.estimateLineItemId; + static const Field _f$estimateLineItemId = + Field('estimateLineItemId', _$estimateLineItemId, opt: true); + static double? _$noOfunit(LineItems v) => v.noOfunit; + static const Field _f$noOfunit = + Field('noOfunit', _$noOfunit, opt: true); + static double? _$unitRate(LineItems v) => v.unitRate; + static const Field _f$unitRate = + Field('unitRate', _$unitRate, opt: true); + + @override + final MappableFields fields = const { + #id: _f$id, + #status: _f$status, + #tenantId: _f$tenantId, + #name: _f$name, + #auditDetails: _f$auditDetails, + #amountBreakups: _f$amountBreakups, + #category: _f$category, + #estimateId: _f$estimateId, + #estimateLineItemId: _f$estimateLineItemId, + #noOfunit: _f$noOfunit, + #unitRate: _f$unitRate, + }; + + static LineItems _instantiate(DecodingData data) { + return LineItems( + id: data.dec(_f$id), + status: data.dec(_f$status), + tenantId: data.dec(_f$tenantId), + name: data.dec(_f$name), + auditDetails: data.dec(_f$auditDetails), + amountBreakups: data.dec(_f$amountBreakups), + category: data.dec(_f$category), + estimateId: data.dec(_f$estimateId), + estimateLineItemId: data.dec(_f$estimateLineItemId), + noOfunit: data.dec(_f$noOfunit), + unitRate: data.dec(_f$unitRate)); + } -mixin ORGAdditionalDetailsMappable { - String toJson() => - ORGAdditionalDetailsMapper.container.toJson(this as ORGAdditionalDetails); - Map toMap() => - ORGAdditionalDetailsMapper.container.toMap(this as ORGAdditionalDetails); - ORGAdditionalDetailsCopyWith - get copyWith => _ORGAdditionalDetailsCopyWithImpl( - this as ORGAdditionalDetails, $identity, $identity); @override - String toString() => ORGAdditionalDetailsMapper.container.asString(this); - @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - ORGAdditionalDetailsMapper.container.isEqual(this, other)); - @override - int get hashCode => ORGAdditionalDetailsMapper.container.hash(this); -} - -extension ORGAdditionalDetailsValueCopy<$R, $Out extends ORGAdditionalDetails> - on ObjectCopyWith<$R, ORGAdditionalDetails, $Out> { - ORGAdditionalDetailsCopyWith<$R, ORGAdditionalDetails, $Out> - get asORGAdditionalDetails => - base.as((v, t, t2) => _ORGAdditionalDetailsCopyWithImpl(v, t, t2)); -} + final Function instantiate = _instantiate; -typedef ORGAdditionalDetailsCopyWithBound = ORGAdditionalDetails; + static LineItems fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } -abstract class ORGAdditionalDetailsCopyWith<$R, - $In extends ORGAdditionalDetails, $Out extends ORGAdditionalDetails> - implements ObjectCopyWith<$R, $In, $Out> { - ORGAdditionalDetailsCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends ORGAdditionalDetails>( - Then t, Then<$Out2, $R2> t2); - $R call({String? deptRegistrationNum, String? registeredByDept}); + static LineItems fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -class _ORGAdditionalDetailsCopyWithImpl<$R, $Out extends ORGAdditionalDetails> - extends CopyWithBase<$R, ORGAdditionalDetails, $Out> - implements ORGAdditionalDetailsCopyWith<$R, ORGAdditionalDetails, $Out> { - _ORGAdditionalDetailsCopyWithImpl(super.value, super.then, super.then2); - @override - ORGAdditionalDetailsCopyWith<$R2, ORGAdditionalDetails, $Out2> - chain<$R2, $Out2 extends ORGAdditionalDetails>( - Then t, Then<$Out2, $R2> t2) => - _ORGAdditionalDetailsCopyWithImpl($value, t, t2); +mixin LineItemsMappable { + String toJson() { + return LineItemsMapper.ensureInitialized() + .encodeJson(this as LineItems); + } - @override - $R call( - {Object? deptRegistrationNum = $none, - Object? registeredByDept = $none}) => - $then(ORGAdditionalDetails( - deptRegistrationNum: - or(deptRegistrationNum, $value.deptRegistrationNum), - registeredByDept: or(registeredByDept, $value.registeredByDept))); -} - -class LineItemsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {LineItemsMapper()}, - )..linkAll( - {ContractAuditDetailsMapper.container, AmountBreakupsMapper.container}); - - @override - LineItemsMapperElement createElement(MapperContainer container) { - return LineItemsMapperElement._(this, container); - } - - @override - String get id => 'LineItems'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} - -class LineItemsMapperElement extends MapperElementBase { - LineItemsMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - LineItems decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - LineItems fromMap(Map map) => LineItems( - id: container.$getOpt(map, 'id'), - status: container.$getOpt(map, 'status'), - tenantId: container.$getOpt(map, 'tenantId'), - name: container.$getOpt(map, 'name'), - auditDetails: container.$getOpt(map, 'auditDetails'), - amountBreakups: container.$getOpt(map, 'amountBreakups'), - category: container.$getOpt(map, 'category'), - estimateId: container.$getOpt(map, 'estimateId'), - estimateLineItemId: container.$getOpt(map, 'estimateLineItemId'), - noOfunit: container.$getOpt(map, 'noOfunit'), - unitRate: container.$getOpt(map, 'unitRate')); - - @override - Function get encoder => encode; - dynamic encode(LineItems v) => toMap(v); - Map toMap(LineItems l) => { - 'id': container.$enc(l.id, 'id'), - 'status': container.$enc(l.status, 'status'), - 'tenantId': container.$enc(l.tenantId, 'tenantId'), - 'name': container.$enc(l.name, 'name'), - 'auditDetails': container.$enc(l.auditDetails, 'auditDetails'), - 'amountBreakups': container.$enc(l.amountBreakups, 'amountBreakups'), - 'category': container.$enc(l.category, 'category'), - 'estimateId': container.$enc(l.estimateId, 'estimateId'), - 'estimateLineItemId': - container.$enc(l.estimateLineItemId, 'estimateLineItemId'), - 'noOfunit': container.$enc(l.noOfunit, 'noOfunit'), - 'unitRate': container.$enc(l.unitRate, 'unitRate') - }; - - @override - String stringify(LineItems self) => - 'LineItems(id: ${container.asString(self.id)}, estimateId: ${container.asString(self.estimateId)}, estimateLineItemId: ${container.asString(self.estimateLineItemId)}, tenantId: ${container.asString(self.tenantId)}, unitRate: ${container.asString(self.unitRate)}, noOfunit: ${container.asString(self.noOfunit)}, category: ${container.asString(self.category)}, name: ${container.asString(self.name)}, status: ${container.asString(self.status)}, amountBreakups: ${container.asString(self.amountBreakups)}, auditDetails: ${container.asString(self.auditDetails)})'; - @override - int hash(LineItems self) => - container.hash(self.id) ^ - container.hash(self.estimateId) ^ - container.hash(self.estimateLineItemId) ^ - container.hash(self.tenantId) ^ - container.hash(self.unitRate) ^ - container.hash(self.noOfunit) ^ - container.hash(self.category) ^ - container.hash(self.name) ^ - container.hash(self.status) ^ - container.hash(self.amountBreakups) ^ - container.hash(self.auditDetails); - @override - bool equals(LineItems self, LineItems other) => - container.isEqual(self.id, other.id) && - container.isEqual(self.estimateId, other.estimateId) && - container.isEqual(self.estimateLineItemId, other.estimateLineItemId) && - container.isEqual(self.tenantId, other.tenantId) && - container.isEqual(self.unitRate, other.unitRate) && - container.isEqual(self.noOfunit, other.noOfunit) && - container.isEqual(self.category, other.category) && - container.isEqual(self.name, other.name) && - container.isEqual(self.status, other.status) && - container.isEqual(self.amountBreakups, other.amountBreakups) && - container.isEqual(self.auditDetails, other.auditDetails); -} + Map toMap() { + return LineItemsMapper.ensureInitialized() + .encodeMap(this as LineItems); + } -mixin LineItemsMappable { - String toJson() => LineItemsMapper.container.toJson(this as LineItems); - Map toMap() => - LineItemsMapper.container.toMap(this as LineItems); LineItemsCopyWith get copyWith => _LineItemsCopyWithImpl(this as LineItems, $identity, $identity); @override - String toString() => LineItemsMapper.container.asString(this); + String toString() { + return LineItemsMapper.ensureInitialized() + .stringifyValue(this as LineItems); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - LineItemsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return LineItemsMapper.ensureInitialized() + .equalsValue(this as LineItems, other); + } + @override - int get hashCode => LineItemsMapper.container.hash(this); + int get hashCode { + return LineItemsMapper.ensureInitialized().hashValue(this as LineItems); + } } -extension LineItemsValueCopy<$R, $Out extends LineItems> - on ObjectCopyWith<$R, LineItems, $Out> { - LineItemsCopyWith<$R, LineItems, $Out> get asLineItems => - base.as((v, t, t2) => _LineItemsCopyWithImpl(v, t, t2)); +extension LineItemsValueCopy<$R, $Out> on ObjectCopyWith<$R, LineItems, $Out> { + LineItemsCopyWith<$R, LineItems, $Out> get $asLineItems => + $base.as((v, t, t2) => _LineItemsCopyWithImpl(v, t, t2)); } -typedef LineItemsCopyWithBound = LineItems; - -abstract class LineItemsCopyWith<$R, $In extends LineItems, - $Out extends LineItems> implements ObjectCopyWith<$R, $In, $Out> { - LineItemsCopyWith<$R2, $In, $Out2> chain<$R2, $Out2 extends LineItems>( - Then t, Then<$Out2, $R2> t2); +abstract class LineItemsCopyWith<$R, $In extends LineItems, $Out> + implements ClassCopyWith<$R, $In, $Out> { ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? get auditDetails; ListCopyWith<$R, AmountBreakups, @@ -656,28 +626,26 @@ abstract class LineItemsCopyWith<$R, $In extends LineItems, String? estimateLineItemId, double? noOfunit, double? unitRate}); + LineItemsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); } -class _LineItemsCopyWithImpl<$R, $Out extends LineItems> - extends CopyWithBase<$R, LineItems, $Out> +class _LineItemsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, LineItems, $Out> implements LineItemsCopyWith<$R, LineItems, $Out> { _LineItemsCopyWithImpl(super.value, super.then, super.then2); - @override - LineItemsCopyWith<$R2, LineItems, $Out2> chain<$R2, $Out2 extends LineItems>( - Then t, Then<$Out2, $R2> t2) => - _LineItemsCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + LineItemsMapper.ensureInitialized(); @override ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? - get auditDetails => $value.auditDetails?.copyWith - .chain($identity, (v) => call(auditDetails: v)); + get auditDetails => + $value.auditDetails?.copyWith.$chain((v) => call(auditDetails: v)); @override ListCopyWith<$R, AmountBreakups, AmountBreakupsCopyWith<$R, AmountBreakups, AmountBreakups>>? get amountBreakups => $value.amountBreakups != null - ? ListCopyWith( - $value.amountBreakups!, - (v, t) => v.copyWith.chain<$R, AmountBreakups>($identity, t), + ? ListCopyWith($value.amountBreakups!, (v, t) => v.copyWith.$chain(t), (v) => call(amountBreakups: v)) : null; @override @@ -693,772 +661,1450 @@ class _LineItemsCopyWithImpl<$R, $Out extends LineItems> Object? estimateLineItemId = $none, Object? noOfunit = $none, Object? unitRate = $none}) => - $then(LineItems( - id: or(id, $value.id), - status: or(status, $value.status), - tenantId: or(tenantId, $value.tenantId), - name: or(name, $value.name), - auditDetails: or(auditDetails, $value.auditDetails), - amountBreakups: or(amountBreakups, $value.amountBreakups), - category: or(category, $value.category), - estimateId: or(estimateId, $value.estimateId), - estimateLineItemId: or(estimateLineItemId, $value.estimateLineItemId), - noOfunit: or(noOfunit, $value.noOfunit), - unitRate: or(unitRate, $value.unitRate))); -} - -class ContractProcessInstanceMapper - extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {ContractProcessInstanceMapper()}, - )..linkAll({ContractStateMapper.container}); + $apply(FieldCopyWithData({ + if (id != $none) #id: id, + if (status != $none) #status: status, + if (tenantId != $none) #tenantId: tenantId, + if (name != $none) #name: name, + if (auditDetails != $none) #auditDetails: auditDetails, + if (amountBreakups != $none) #amountBreakups: amountBreakups, + if (category != $none) #category: category, + if (estimateId != $none) #estimateId: estimateId, + if (estimateLineItemId != $none) + #estimateLineItemId: estimateLineItemId, + if (noOfunit != $none) #noOfunit: noOfunit, + if (unitRate != $none) #unitRate: unitRate + })); + @override + LineItems $make(CopyWithData data) => LineItems( + id: data.get(#id, or: $value.id), + status: data.get(#status, or: $value.status), + tenantId: data.get(#tenantId, or: $value.tenantId), + name: data.get(#name, or: $value.name), + auditDetails: data.get(#auditDetails, or: $value.auditDetails), + amountBreakups: data.get(#amountBreakups, or: $value.amountBreakups), + category: data.get(#category, or: $value.category), + estimateId: data.get(#estimateId, or: $value.estimateId), + estimateLineItemId: + data.get(#estimateLineItemId, or: $value.estimateLineItemId), + noOfunit: data.get(#noOfunit, or: $value.noOfunit), + unitRate: data.get(#unitRate, or: $value.unitRate)); + + @override + LineItemsCopyWith<$R2, LineItems, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _LineItemsCopyWithImpl($value, $cast, t); +} + +class ContractAuditDetailsMapper extends ClassMapperBase { + ContractAuditDetailsMapper._(); + + static ContractAuditDetailsMapper? _instance; + static ContractAuditDetailsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = ContractAuditDetailsMapper._()); + } + return _instance!; + } @override - ContractProcessInstanceMapperElement createElement( - MapperContainer container) { - return ContractProcessInstanceMapperElement._(this, container); + final String id = 'ContractAuditDetails'; + + static int? _$createdTime(ContractAuditDetails v) => v.createdTime; + static const Field _f$createdTime = + Field('createdTime', _$createdTime, opt: true); + static int? _$lastModifiedTime(ContractAuditDetails v) => v.lastModifiedTime; + static const Field _f$lastModifiedTime = + Field('lastModifiedTime', _$lastModifiedTime, opt: true); + static String? _$createdBy(ContractAuditDetails v) => v.createdBy; + static const Field _f$createdBy = + Field('createdBy', _$createdBy, opt: true); + static String? _$lastModifiedBy(ContractAuditDetails v) => v.lastModifiedBy; + static const Field _f$lastModifiedBy = + Field('lastModifiedBy', _$lastModifiedBy, opt: true); + + @override + final MappableFields fields = const { + #createdTime: _f$createdTime, + #lastModifiedTime: _f$lastModifiedTime, + #createdBy: _f$createdBy, + #lastModifiedBy: _f$lastModifiedBy, + }; + + static ContractAuditDetails _instantiate(DecodingData data) { + return ContractAuditDetails( + createdTime: data.dec(_f$createdTime), + lastModifiedTime: data.dec(_f$lastModifiedTime), + createdBy: data.dec(_f$createdBy), + lastModifiedBy: data.dec(_f$lastModifiedBy)); } @override - String get id => 'ContractProcessInstance'; + final Function instantiate = _instantiate; - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; + static ContractAuditDetails fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static ContractAuditDetails fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -class ContractProcessInstanceMapperElement - extends MapperElementBase { - ContractProcessInstanceMapperElement._(super.mapper, super.container); +mixin ContractAuditDetailsMappable { + String toJson() { + return ContractAuditDetailsMapper.ensureInitialized() + .encodeJson(this as ContractAuditDetails); + } - @override - Function get decoder => decode; - ContractProcessInstance decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - ContractProcessInstance fromMap(Map map) => - ContractProcessInstance( - action: container.$getOpt(map, 'action'), - tenantId: container.$getOpt(map, 'tenantId'), - state: container.$getOpt(map, 'state'), - id: container.$getOpt(map, 'id'), - businessId: container.$getOpt(map, 'businessId'), - businessService: container.$getOpt(map, 'businessService'), - moduleName: container.$getOpt(map, 'moduleName')); + Map toMap() { + return ContractAuditDetailsMapper.ensureInitialized() + .encodeMap(this as ContractAuditDetails); + } + ContractAuditDetailsCopyWith + get copyWith => _ContractAuditDetailsCopyWithImpl( + this as ContractAuditDetails, $identity, $identity); @override - Function get encoder => encode; - dynamic encode(ContractProcessInstance v) => toMap(v); - Map toMap(ContractProcessInstance c) => { - 'action': container.$enc(c.action, 'action'), - 'tenantId': container.$enc(c.tenantId, 'tenantId'), - 'state': container.$enc(c.state, 'state'), - 'id': container.$enc(c.id, 'id'), - 'businessId': container.$enc(c.businessId, 'businessId'), - 'businessService': container.$enc(c.businessService, 'businessService'), - 'moduleName': container.$enc(c.moduleName, 'moduleName') - }; + String toString() { + return ContractAuditDetailsMapper.ensureInitialized() + .stringifyValue(this as ContractAuditDetails); + } @override - String stringify(ContractProcessInstance self) => - 'ContractProcessInstance(id: ${container.asString(self.id)}, tenantId: ${container.asString(self.tenantId)}, businessService: ${container.asString(self.businessService)}, businessId: ${container.asString(self.businessId)}, action: ${container.asString(self.action)}, moduleName: ${container.asString(self.moduleName)}, state: ${container.asString(self.state)})'; - @override - int hash(ContractProcessInstance self) => - container.hash(self.id) ^ - container.hash(self.tenantId) ^ - container.hash(self.businessService) ^ - container.hash(self.businessId) ^ - container.hash(self.action) ^ - container.hash(self.moduleName) ^ - container.hash(self.state); - @override - bool equals(ContractProcessInstance self, ContractProcessInstance other) => - container.isEqual(self.id, other.id) && - container.isEqual(self.tenantId, other.tenantId) && - container.isEqual(self.businessService, other.businessService) && - container.isEqual(self.businessId, other.businessId) && - container.isEqual(self.action, other.action) && - container.isEqual(self.moduleName, other.moduleName) && - container.isEqual(self.state, other.state); -} + bool operator ==(Object other) { + return ContractAuditDetailsMapper.ensureInitialized() + .equalsValue(this as ContractAuditDetails, other); + } -mixin ContractProcessInstanceMappable { - String toJson() => ContractProcessInstanceMapper.container - .toJson(this as ContractProcessInstance); - Map toMap() => ContractProcessInstanceMapper.container - .toMap(this as ContractProcessInstance); - ContractProcessInstanceCopyWith - get copyWith => _ContractProcessInstanceCopyWithImpl( - this as ContractProcessInstance, $identity, $identity); - @override - String toString() => ContractProcessInstanceMapper.container.asString(this); @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - ContractProcessInstanceMapper.container.isEqual(this, other)); - @override - int get hashCode => ContractProcessInstanceMapper.container.hash(this); + int get hashCode { + return ContractAuditDetailsMapper.ensureInitialized() + .hashValue(this as ContractAuditDetails); + } } -extension ContractProcessInstanceValueCopy<$R, - $Out extends ContractProcessInstance> - on ObjectCopyWith<$R, ContractProcessInstance, $Out> { - ContractProcessInstanceCopyWith<$R, ContractProcessInstance, $Out> - get asContractProcessInstance => - base.as((v, t, t2) => _ContractProcessInstanceCopyWithImpl(v, t, t2)); +extension ContractAuditDetailsValueCopy<$R, $Out> + on ObjectCopyWith<$R, ContractAuditDetails, $Out> { + ContractAuditDetailsCopyWith<$R, ContractAuditDetails, $Out> + get $asContractAuditDetails => + $base.as((v, t, t2) => _ContractAuditDetailsCopyWithImpl(v, t, t2)); } -typedef ContractProcessInstanceCopyWithBound = ContractProcessInstance; - -abstract class ContractProcessInstanceCopyWith< - $R, - $In extends ContractProcessInstance, - $Out extends ContractProcessInstance> - implements ObjectCopyWith<$R, $In, $Out> { - ContractProcessInstanceCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends ContractProcessInstance>( - Then t, Then<$Out2, $R2> t2); - ContractStateCopyWith<$R, ContractState, ContractState>? get state; +abstract class ContractAuditDetailsCopyWith< + $R, + $In extends ContractAuditDetails, + $Out> implements ClassCopyWith<$R, $In, $Out> { $R call( - {String? action, - String? tenantId, - ContractState? state, - String? id, - String? businessId, - String? businessService, - String? moduleName}); + {int? createdTime, + int? lastModifiedTime, + String? createdBy, + String? lastModifiedBy}); + ContractAuditDetailsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _ContractProcessInstanceCopyWithImpl<$R, - $Out extends ContractProcessInstance> - extends CopyWithBase<$R, ContractProcessInstance, $Out> - implements - ContractProcessInstanceCopyWith<$R, ContractProcessInstance, $Out> { - _ContractProcessInstanceCopyWithImpl(super.value, super.then, super.then2); - @override - ContractProcessInstanceCopyWith<$R2, ContractProcessInstance, $Out2> - chain<$R2, $Out2 extends ContractProcessInstance>( - Then t, Then<$Out2, $R2> t2) => - _ContractProcessInstanceCopyWithImpl($value, t, t2); +class _ContractAuditDetailsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, ContractAuditDetails, $Out> + implements ContractAuditDetailsCopyWith<$R, ContractAuditDetails, $Out> { + _ContractAuditDetailsCopyWithImpl(super.value, super.then, super.then2); @override - ContractStateCopyWith<$R, ContractState, ContractState>? get state => - $value.state?.copyWith.chain($identity, (v) => call(state: v)); + late final ClassMapperBase $mapper = + ContractAuditDetailsMapper.ensureInitialized(); @override $R call( - {Object? action = $none, - Object? tenantId = $none, - Object? state = $none, - Object? id = $none, - Object? businessId = $none, - Object? businessService = $none, - Object? moduleName = $none}) => - $then(ContractProcessInstance( - action: or(action, $value.action), - tenantId: or(tenantId, $value.tenantId), - state: or(state, $value.state), - id: or(id, $value.id), - businessId: or(businessId, $value.businessId), - businessService: or(businessService, $value.businessService), - moduleName: or(moduleName, $value.moduleName))); + {Object? createdTime = $none, + Object? lastModifiedTime = $none, + Object? createdBy = $none, + Object? lastModifiedBy = $none}) => + $apply(FieldCopyWithData({ + if (createdTime != $none) #createdTime: createdTime, + if (lastModifiedTime != $none) #lastModifiedTime: lastModifiedTime, + if (createdBy != $none) #createdBy: createdBy, + if (lastModifiedBy != $none) #lastModifiedBy: lastModifiedBy + })); + @override + ContractAuditDetails $make(CopyWithData data) => ContractAuditDetails( + createdTime: data.get(#createdTime, or: $value.createdTime), + lastModifiedTime: + data.get(#lastModifiedTime, or: $value.lastModifiedTime), + createdBy: data.get(#createdBy, or: $value.createdBy), + lastModifiedBy: data.get(#lastModifiedBy, or: $value.lastModifiedBy)); + + @override + ContractAuditDetailsCopyWith<$R2, ContractAuditDetails, $Out2> + $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _ContractAuditDetailsCopyWithImpl($value, $cast, t); } -class ContractAdditionalDetailsMapper - extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {ContractAdditionalDetailsMapper()}, - )..linkAll({ - EstimateDocsMapper.container, - DescriptionMapper.container, - OfficerInChargeMapper.container, - }); +class AmountBreakupsMapper extends ClassMapperBase { + AmountBreakupsMapper._(); + + static AmountBreakupsMapper? _instance; + static AmountBreakupsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = AmountBreakupsMapper._()); + } + return _instance!; + } @override - ContractAdditionalDetailsMapperElement createElement( - MapperContainer container) { - return ContractAdditionalDetailsMapperElement._(this, container); + final String id = 'AmountBreakups'; + + static String? _$id(AmountBreakups v) => v.id; + static const Field _f$id = + Field('id', _$id, opt: true); + static String? _$status(AmountBreakups v) => v.status; + static const Field _f$status = + Field('status', _$status, opt: true); + static double? _$additionalDetails(AmountBreakups v) => v.additionalDetails; + static const Field _f$additionalDetails = + Field('additionalDetails', _$additionalDetails, opt: true); + static String? _$amount(AmountBreakups v) => v.amount; + static const Field _f$amount = + Field('amount', _$amount, opt: true); + static String? _$estimateAmountBreakupId(AmountBreakups v) => + v.estimateAmountBreakupId; + static const Field _f$estimateAmountBreakupId = + Field('estimateAmountBreakupId', _$estimateAmountBreakupId, opt: true); + + @override + final MappableFields fields = const { + #id: _f$id, + #status: _f$status, + #additionalDetails: _f$additionalDetails, + #amount: _f$amount, + #estimateAmountBreakupId: _f$estimateAmountBreakupId, + }; + + static AmountBreakups _instantiate(DecodingData data) { + return AmountBreakups( + id: data.dec(_f$id), + status: data.dec(_f$status), + additionalDetails: data.dec(_f$additionalDetails), + amount: data.dec(_f$amount), + estimateAmountBreakupId: data.dec(_f$estimateAmountBreakupId)); } @override - String get id => 'ContractAdditionalDetails'; + final Function instantiate = _instantiate; - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; + static AmountBreakups fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static AmountBreakups fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -class ContractAdditionalDetailsMapperElement - extends MapperElementBase { - ContractAdditionalDetailsMapperElement._(super.mapper, super.container); +mixin AmountBreakupsMappable { + String toJson() { + return AmountBreakupsMapper.ensureInitialized() + .encodeJson(this as AmountBreakups); + } - @override - Function get decoder => decode; - ContractAdditionalDetails decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - ContractAdditionalDetails fromMap(Map map) => - ContractAdditionalDetails( - officerInChargeId: container.$getOpt(map, 'officerInChargeId'), - attendanceRegisterNumber: - container.$getOpt(map, 'attendanceRegisterNumber'), - cboOrgNumber: container.$getOpt(map, 'cboOrgNumber'), - projectId: container.$getOpt(map, 'projectId'), - projectType: container.$getOpt(map, 'projectType'), - orgName: container.$getOpt(map, 'orgName'), - projectName: container.$getOpt(map, 'projectName'), - ward: container.$getOpt(map, 'ward'), - locality: container.$getOpt(map, 'locality'), - cboCode: container.$getOpt(map, 'cboCode'), - cboName: container.$getOpt(map, 'cboName'), - estimateDocs: container.$getOpt(map, 'estimateDocs'), - estimateNumber: container.$getOpt(map, 'estimateNumber'), - totalEstimatedAmount: container.$getOpt(map, 'totalEstimatedAmount'), - completionPeriod: container.$getOpt(map, 'completionPeriod'), - termsAndConditions: container.$getOpt(map, 'termsAndConditions'), - projectDesc: container.$getOpt(map, 'projectDesc'), - officerInChargeName: container.$getOpt(map, 'officerInChargeName'), - officerInChargeDesgn: container.$getOpt(map, 'officerInChargeDesgn'), - timeExtReason: container.$getOpt(map, 'timeExtReason'), - timeExt: container.$getOpt(map, 'timeExt')); - - @override - Function get encoder => encode; - dynamic encode(ContractAdditionalDetails v) => toMap(v); - Map toMap(ContractAdditionalDetails c) => { - 'officerInChargeId': - container.$enc(c.officerInChargeId, 'officerInChargeId'), - 'attendanceRegisterNumber': container.$enc( - c.attendanceRegisterNumber, 'attendanceRegisterNumber'), - 'cboOrgNumber': container.$enc(c.cboOrgNumber, 'cboOrgNumber'), - 'projectId': container.$enc(c.projectId, 'projectId'), - 'projectType': container.$enc(c.projectType, 'projectType'), - 'orgName': container.$enc(c.orgName, 'orgName'), - 'projectName': container.$enc(c.projectName, 'projectName'), - 'ward': container.$enc(c.ward, 'ward'), - 'locality': container.$enc(c.locality, 'locality'), - 'cboCode': container.$enc(c.cboCode, 'cboCode'), - 'cboName': container.$enc(c.cboName, 'cboName'), - 'estimateDocs': container.$enc(c.estimateDocs, 'estimateDocs'), - 'estimateNumber': container.$enc(c.estimateNumber, 'estimateNumber'), - 'totalEstimatedAmount': - container.$enc(c.totalEstimatedAmount, 'totalEstimatedAmount'), - 'completionPeriod': - container.$enc(c.completionPeriod, 'completionPeriod'), - 'termsAndConditions': - container.$enc(c.termsAndConditions, 'termsAndConditions'), - 'projectDesc': container.$enc(c.projectDesc, 'projectDesc'), - 'officerInChargeName': - container.$enc(c.officerInChargeName, 'officerInChargeName'), - 'officerInChargeDesgn': - container.$enc(c.officerInChargeDesgn, 'officerInChargeDesgn'), - 'timeExtReason': container.$enc(c.timeExtReason, 'timeExtReason'), - 'timeExt': container.$enc(c.timeExt, 'timeExt') - }; - - @override - String stringify(ContractAdditionalDetails self) => - 'ContractAdditionalDetails(officerInChargeId: ${container.asString(self.officerInChargeId)}, attendanceRegisterNumber: ${container.asString(self.attendanceRegisterNumber)}, orgName: ${container.asString(self.orgName)}, cboOrgNumber: ${container.asString(self.cboOrgNumber)}, projectId: ${container.asString(self.projectId)}, projectName: ${container.asString(self.projectName)}, projectDesc: ${container.asString(self.projectDesc)}, projectType: ${container.asString(self.projectType)}, ward: ${container.asString(self.ward)}, cboName: ${container.asString(self.cboName)}, officerInChargeName: ${container.asString(self.officerInChargeName)}, officerInChargeDesgn: ${container.asString(self.officerInChargeDesgn)}, cboCode: ${container.asString(self.cboCode)}, estimateNumber: ${container.asString(self.estimateNumber)}, locality: ${container.asString(self.locality)}, totalEstimatedAmount: ${container.asString(self.totalEstimatedAmount)}, estimateDocs: ${container.asString(self.estimateDocs)}, termsAndConditions: ${container.asString(self.termsAndConditions)}, completionPeriod: ${container.asString(self.completionPeriod)}, timeExtReason: ${container.asString(self.timeExtReason)}, timeExt: ${container.asString(self.timeExt)})'; - @override - int hash(ContractAdditionalDetails self) => - container.hash(self.officerInChargeId) ^ - container.hash(self.attendanceRegisterNumber) ^ - container.hash(self.orgName) ^ - container.hash(self.cboOrgNumber) ^ - container.hash(self.projectId) ^ - container.hash(self.projectName) ^ - container.hash(self.projectDesc) ^ - container.hash(self.projectType) ^ - container.hash(self.ward) ^ - container.hash(self.cboName) ^ - container.hash(self.officerInChargeName) ^ - container.hash(self.officerInChargeDesgn) ^ - container.hash(self.cboCode) ^ - container.hash(self.estimateNumber) ^ - container.hash(self.locality) ^ - container.hash(self.totalEstimatedAmount) ^ - container.hash(self.estimateDocs) ^ - container.hash(self.termsAndConditions) ^ - container.hash(self.completionPeriod) ^ - container.hash(self.timeExtReason) ^ - container.hash(self.timeExt); - @override - bool equals( - ContractAdditionalDetails self, ContractAdditionalDetails other) => - container.isEqual(self.officerInChargeId, other.officerInChargeId) && - container.isEqual( - self.attendanceRegisterNumber, other.attendanceRegisterNumber) && - container.isEqual(self.orgName, other.orgName) && - container.isEqual(self.cboOrgNumber, other.cboOrgNumber) && - container.isEqual(self.projectId, other.projectId) && - container.isEqual(self.projectName, other.projectName) && - container.isEqual(self.projectDesc, other.projectDesc) && - container.isEqual(self.projectType, other.projectType) && - container.isEqual(self.ward, other.ward) && - container.isEqual(self.cboName, other.cboName) && - container.isEqual(self.officerInChargeName, other.officerInChargeName) && - container.isEqual( - self.officerInChargeDesgn, other.officerInChargeDesgn) && - container.isEqual(self.cboCode, other.cboCode) && - container.isEqual(self.estimateNumber, other.estimateNumber) && - container.isEqual(self.locality, other.locality) && - container.isEqual( - self.totalEstimatedAmount, other.totalEstimatedAmount) && - container.isEqual(self.estimateDocs, other.estimateDocs) && - container.isEqual(self.termsAndConditions, other.termsAndConditions) && - container.isEqual(self.completionPeriod, other.completionPeriod) && - container.isEqual(self.timeExtReason, other.timeExtReason) && - container.isEqual(self.timeExt, other.timeExt); -} + Map toMap() { + return AmountBreakupsMapper.ensureInitialized() + .encodeMap(this as AmountBreakups); + } -mixin ContractAdditionalDetailsMappable { - String toJson() => ContractAdditionalDetailsMapper.container - .toJson(this as ContractAdditionalDetails); - Map toMap() => ContractAdditionalDetailsMapper.container - .toMap(this as ContractAdditionalDetails); - ContractAdditionalDetailsCopyWith - get copyWith => _ContractAdditionalDetailsCopyWithImpl( - this as ContractAdditionalDetails, $identity, $identity); + AmountBreakupsCopyWith + get copyWith => _AmountBreakupsCopyWithImpl( + this as AmountBreakups, $identity, $identity); @override - String toString() => ContractAdditionalDetailsMapper.container.asString(this); + String toString() { + return AmountBreakupsMapper.ensureInitialized() + .stringifyValue(this as AmountBreakups); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - ContractAdditionalDetailsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return AmountBreakupsMapper.ensureInitialized() + .equalsValue(this as AmountBreakups, other); + } + @override - int get hashCode => ContractAdditionalDetailsMapper.container.hash(this); + int get hashCode { + return AmountBreakupsMapper.ensureInitialized() + .hashValue(this as AmountBreakups); + } } -extension ContractAdditionalDetailsValueCopy<$R, - $Out extends ContractAdditionalDetails> - on ObjectCopyWith<$R, ContractAdditionalDetails, $Out> { - ContractAdditionalDetailsCopyWith<$R, ContractAdditionalDetails, $Out> - get asContractAdditionalDetails => base - .as((v, t, t2) => _ContractAdditionalDetailsCopyWithImpl(v, t, t2)); +extension AmountBreakupsValueCopy<$R, $Out> + on ObjectCopyWith<$R, AmountBreakups, $Out> { + AmountBreakupsCopyWith<$R, AmountBreakups, $Out> get $asAmountBreakups => + $base.as((v, t, t2) => _AmountBreakupsCopyWithImpl(v, t, t2)); } -typedef ContractAdditionalDetailsCopyWithBound = ContractAdditionalDetails; - -abstract class ContractAdditionalDetailsCopyWith< - $R, - $In extends ContractAdditionalDetails, - $Out extends ContractAdditionalDetails> - implements ObjectCopyWith<$R, $In, $Out> { - ContractAdditionalDetailsCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends ContractAdditionalDetails>( - Then t, Then<$Out2, $R2> t2); - ListCopyWith<$R, EstimateDocs, - EstimateDocsCopyWith<$R, EstimateDocs, EstimateDocs>>? get estimateDocs; - ListCopyWith<$R, Description?, - DescriptionCopyWith<$R, Description, Description>?>? - get termsAndConditions; - OfficerInChargeCopyWith<$R, OfficerInCharge, OfficerInCharge>? - get officerInChargeName; +abstract class AmountBreakupsCopyWith<$R, $In extends AmountBreakups, $Out> + implements ClassCopyWith<$R, $In, $Out> { $R call( - {String? officerInChargeId, - String? attendanceRegisterNumber, - String? cboOrgNumber, - String? projectId, - String? projectType, - String? orgName, - String? projectName, - String? ward, - String? locality, - String? cboCode, - String? cboName, - List? estimateDocs, - String? estimateNumber, - double? totalEstimatedAmount, - int? completionPeriod, - List? termsAndConditions, - String? projectDesc, - OfficerInCharge? officerInChargeName, - String? officerInChargeDesgn, - String? timeExtReason, - String? timeExt}); + {String? id, + String? status, + double? additionalDetails, + String? amount, + String? estimateAmountBreakupId}); + AmountBreakupsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _ContractAdditionalDetailsCopyWithImpl<$R, - $Out extends ContractAdditionalDetails> - extends CopyWithBase<$R, ContractAdditionalDetails, $Out> - implements - ContractAdditionalDetailsCopyWith<$R, ContractAdditionalDetails, $Out> { - _ContractAdditionalDetailsCopyWithImpl(super.value, super.then, super.then2); - @override - ContractAdditionalDetailsCopyWith<$R2, ContractAdditionalDetails, $Out2> - chain<$R2, $Out2 extends ContractAdditionalDetails>( - Then t, Then<$Out2, $R2> t2) => - _ContractAdditionalDetailsCopyWithImpl($value, t, t2); +class _AmountBreakupsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, AmountBreakups, $Out> + implements AmountBreakupsCopyWith<$R, AmountBreakups, $Out> { + _AmountBreakupsCopyWithImpl(super.value, super.then, super.then2); @override - ListCopyWith<$R, EstimateDocs, - EstimateDocsCopyWith<$R, EstimateDocs, EstimateDocs>>? - get estimateDocs => $value.estimateDocs != null - ? ListCopyWith( - $value.estimateDocs!, - (v, t) => v.copyWith.chain<$R, EstimateDocs>($identity, t), - (v) => call(estimateDocs: v)) - : null; + late final ClassMapperBase $mapper = + AmountBreakupsMapper.ensureInitialized(); @override - ListCopyWith<$R, Description?, - DescriptionCopyWith<$R, Description, Description>?>? - get termsAndConditions => $value.termsAndConditions != null - ? ListCopyWith( - $value.termsAndConditions!, - (v, t) => v?.copyWith.chain<$R, Description>($identity, t), - (v) => call(termsAndConditions: v)) - : null; + $R call( + {Object? id = $none, + Object? status = $none, + Object? additionalDetails = $none, + Object? amount = $none, + Object? estimateAmountBreakupId = $none}) => + $apply(FieldCopyWithData({ + if (id != $none) #id: id, + if (status != $none) #status: status, + if (additionalDetails != $none) #additionalDetails: additionalDetails, + if (amount != $none) #amount: amount, + if (estimateAmountBreakupId != $none) + #estimateAmountBreakupId: estimateAmountBreakupId + })); + @override + AmountBreakups $make(CopyWithData data) => AmountBreakups( + id: data.get(#id, or: $value.id), + status: data.get(#status, or: $value.status), + additionalDetails: + data.get(#additionalDetails, or: $value.additionalDetails), + amount: data.get(#amount, or: $value.amount), + estimateAmountBreakupId: data.get(#estimateAmountBreakupId, + or: $value.estimateAmountBreakupId)); + + @override + AmountBreakupsCopyWith<$R2, AmountBreakups, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _AmountBreakupsCopyWithImpl($value, $cast, t); +} + +class DocumentsMapper extends ClassMapperBase { + DocumentsMapper._(); + + static DocumentsMapper? _instance; + static DocumentsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = DocumentsMapper._()); + DocumentAdditionalDetailsMapper.ensureInitialized(); + } + return _instance!; + } + @override - OfficerInChargeCopyWith<$R, OfficerInCharge, OfficerInCharge>? - get officerInChargeName => $value.officerInChargeName?.copyWith - .chain($identity, (v) => call(officerInChargeName: v)); + final String id = 'Documents'; + + static DocumentAdditionalDetails? _$additionalDetails(Documents v) => + v.additionalDetails; + static const Field + _f$additionalDetails = + Field('additionalDetails', _$additionalDetails, opt: true); + static String? _$contractId(Documents v) => v.contractId; + static const Field _f$contractId = + Field('contractId', _$contractId, opt: true); + static String? _$id(Documents v) => v.id; + static const Field _f$id = Field('id', _$id, opt: true); + static String? _$documentType(Documents v) => v.documentType; + static const Field _f$documentType = + Field('documentType', _$documentType, opt: true); + static String? _$status(Documents v) => v.status; + static const Field _f$status = + Field('status', _$status, opt: true); + static String? _$documentUid(Documents v) => v.documentUid; + static const Field _f$documentUid = + Field('documentUid', _$documentUid, opt: true); + static String? _$fileStore(Documents v) => v.fileStore; + static const Field _f$fileStore = + Field('fileStore', _$fileStore, opt: true); + + @override + final MappableFields fields = const { + #additionalDetails: _f$additionalDetails, + #contractId: _f$contractId, + #id: _f$id, + #documentType: _f$documentType, + #status: _f$status, + #documentUid: _f$documentUid, + #fileStore: _f$fileStore, + }; + + static Documents _instantiate(DecodingData data) { + return Documents( + additionalDetails: data.dec(_f$additionalDetails), + contractId: data.dec(_f$contractId), + id: data.dec(_f$id), + documentType: data.dec(_f$documentType), + status: data.dec(_f$status), + documentUid: data.dec(_f$documentUid), + fileStore: data.dec(_f$fileStore)); + } + @override - $R call( - {Object? officerInChargeId = $none, - Object? attendanceRegisterNumber = $none, - Object? cboOrgNumber = $none, - Object? projectId = $none, - Object? projectType = $none, - Object? orgName = $none, - Object? projectName = $none, - Object? ward = $none, - Object? locality = $none, - Object? cboCode = $none, - Object? cboName = $none, - Object? estimateDocs = $none, - Object? estimateNumber = $none, - Object? totalEstimatedAmount = $none, - Object? completionPeriod = $none, - Object? termsAndConditions = $none, - Object? projectDesc = $none, - Object? officerInChargeName = $none, - Object? officerInChargeDesgn = $none, - Object? timeExtReason = $none, - Object? timeExt = $none}) => - $then(ContractAdditionalDetails( - officerInChargeId: or(officerInChargeId, $value.officerInChargeId), - attendanceRegisterNumber: - or(attendanceRegisterNumber, $value.attendanceRegisterNumber), - cboOrgNumber: or(cboOrgNumber, $value.cboOrgNumber), - projectId: or(projectId, $value.projectId), - projectType: or(projectType, $value.projectType), - orgName: or(orgName, $value.orgName), - projectName: or(projectName, $value.projectName), - ward: or(ward, $value.ward), - locality: or(locality, $value.locality), - cboCode: or(cboCode, $value.cboCode), - cboName: or(cboName, $value.cboName), - estimateDocs: or(estimateDocs, $value.estimateDocs), - estimateNumber: or(estimateNumber, $value.estimateNumber), - totalEstimatedAmount: - or(totalEstimatedAmount, $value.totalEstimatedAmount), - completionPeriod: or(completionPeriod, $value.completionPeriod), - termsAndConditions: or(termsAndConditions, $value.termsAndConditions), - projectDesc: or(projectDesc, $value.projectDesc), - officerInChargeName: - or(officerInChargeName, $value.officerInChargeName), - officerInChargeDesgn: - or(officerInChargeDesgn, $value.officerInChargeDesgn), - timeExtReason: or(timeExtReason, $value.timeExtReason), - timeExt: or(timeExt, $value.timeExt))); + final Function instantiate = _instantiate; + + static Documents fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static Documents fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -class OfficerInChargeMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {OfficerInChargeMapper()}, - ); +mixin DocumentsMappable { + String toJson() { + return DocumentsMapper.ensureInitialized() + .encodeJson(this as Documents); + } + + Map toMap() { + return DocumentsMapper.ensureInitialized() + .encodeMap(this as Documents); + } + DocumentsCopyWith get copyWith => + _DocumentsCopyWithImpl(this as Documents, $identity, $identity); @override - OfficerInChargeMapperElement createElement(MapperContainer container) { - return OfficerInChargeMapperElement._(this, container); + String toString() { + return DocumentsMapper.ensureInitialized() + .stringifyValue(this as Documents); } @override - String get id => 'OfficerInCharge'; + bool operator ==(Object other) { + return DocumentsMapper.ensureInitialized() + .equalsValue(this as Documents, other); + } - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; + @override + int get hashCode { + return DocumentsMapper.ensureInitialized().hashValue(this as Documents); + } } -class OfficerInChargeMapperElement extends MapperElementBase { - OfficerInChargeMapperElement._(super.mapper, super.container); +extension DocumentsValueCopy<$R, $Out> on ObjectCopyWith<$R, Documents, $Out> { + DocumentsCopyWith<$R, Documents, $Out> get $asDocuments => + $base.as((v, t, t2) => _DocumentsCopyWithImpl(v, t, t2)); +} - @override - Function get decoder => decode; - OfficerInCharge decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - OfficerInCharge fromMap(Map map) => OfficerInCharge( - code: container.$getOpt(map, 'code'), - name: container.$getOpt(map, 'name')); +abstract class DocumentsCopyWith<$R, $In extends Documents, $Out> + implements ClassCopyWith<$R, $In, $Out> { + DocumentAdditionalDetailsCopyWith<$R, DocumentAdditionalDetails, + DocumentAdditionalDetails>? get additionalDetails; + $R call( + {DocumentAdditionalDetails? additionalDetails, + String? contractId, + String? id, + String? documentType, + String? status, + String? documentUid, + String? fileStore}); + DocumentsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); +} - @override - Function get encoder => encode; - dynamic encode(OfficerInCharge v) => toMap(v); - Map toMap(OfficerInCharge o) => { - 'code': container.$enc(o.code, 'code'), - 'name': container.$enc(o.name, 'name') - }; +class _DocumentsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, Documents, $Out> + implements DocumentsCopyWith<$R, Documents, $Out> { + _DocumentsCopyWithImpl(super.value, super.then, super.then2); @override - String stringify(OfficerInCharge self) => - 'OfficerInCharge(code: ${container.asString(self.code)}, name: ${container.asString(self.name)})'; + late final ClassMapperBase $mapper = + DocumentsMapper.ensureInitialized(); @override - int hash(OfficerInCharge self) => - container.hash(self.code) ^ container.hash(self.name); + DocumentAdditionalDetailsCopyWith<$R, DocumentAdditionalDetails, + DocumentAdditionalDetails>? + get additionalDetails => $value.additionalDetails?.copyWith + .$chain((v) => call(additionalDetails: v)); @override - bool equals(OfficerInCharge self, OfficerInCharge other) => - container.isEqual(self.code, other.code) && - container.isEqual(self.name, other.name); + $R call( + {Object? additionalDetails = $none, + Object? contractId = $none, + Object? id = $none, + Object? documentType = $none, + Object? status = $none, + Object? documentUid = $none, + Object? fileStore = $none}) => + $apply(FieldCopyWithData({ + if (additionalDetails != $none) #additionalDetails: additionalDetails, + if (contractId != $none) #contractId: contractId, + if (id != $none) #id: id, + if (documentType != $none) #documentType: documentType, + if (status != $none) #status: status, + if (documentUid != $none) #documentUid: documentUid, + if (fileStore != $none) #fileStore: fileStore + })); + @override + Documents $make(CopyWithData data) => Documents( + additionalDetails: + data.get(#additionalDetails, or: $value.additionalDetails), + contractId: data.get(#contractId, or: $value.contractId), + id: data.get(#id, or: $value.id), + documentType: data.get(#documentType, or: $value.documentType), + status: data.get(#status, or: $value.status), + documentUid: data.get(#documentUid, or: $value.documentUid), + fileStore: data.get(#fileStore, or: $value.fileStore)); + + @override + DocumentsCopyWith<$R2, Documents, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _DocumentsCopyWithImpl($value, $cast, t); } -mixin OfficerInChargeMappable { - String toJson() => - OfficerInChargeMapper.container.toJson(this as OfficerInCharge); - Map toMap() => - OfficerInChargeMapper.container.toMap(this as OfficerInCharge); - OfficerInChargeCopyWith - get copyWith => _OfficerInChargeCopyWithImpl( - this as OfficerInCharge, $identity, $identity); +class DocumentAdditionalDetailsMapper + extends ClassMapperBase { + DocumentAdditionalDetailsMapper._(); + + static DocumentAdditionalDetailsMapper? _instance; + static DocumentAdditionalDetailsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals + .use(_instance = DocumentAdditionalDetailsMapper._()); + } + return _instance!; + } + @override - String toString() => OfficerInChargeMapper.container.asString(this); + final String id = 'DocumentAdditionalDetails'; + + static String? _$fileName(DocumentAdditionalDetails v) => v.fileName; + static const Field _f$fileName = + Field('fileName', _$fileName); + static String? _$otherCategoryName(DocumentAdditionalDetails v) => + v.otherCategoryName; + static const Field _f$otherCategoryName = + Field('otherCategoryName', _$otherCategoryName); + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - OfficerInChargeMapper.container.isEqual(this, other)); + final MappableFields fields = const { + #fileName: _f$fileName, + #otherCategoryName: _f$otherCategoryName, + }; + + static DocumentAdditionalDetails _instantiate(DecodingData data) { + return DocumentAdditionalDetails( + data.dec(_f$fileName), data.dec(_f$otherCategoryName)); + } + @override - int get hashCode => OfficerInChargeMapper.container.hash(this); + final Function instantiate = _instantiate; + + static DocumentAdditionalDetails fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static DocumentAdditionalDetails fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -extension OfficerInChargeValueCopy<$R, $Out extends OfficerInCharge> - on ObjectCopyWith<$R, OfficerInCharge, $Out> { - OfficerInChargeCopyWith<$R, OfficerInCharge, $Out> get asOfficerInCharge => - base.as((v, t, t2) => _OfficerInChargeCopyWithImpl(v, t, t2)); +mixin DocumentAdditionalDetailsMappable { + String toJson() { + return DocumentAdditionalDetailsMapper.ensureInitialized() + .encodeJson( + this as DocumentAdditionalDetails); + } + + Map toMap() { + return DocumentAdditionalDetailsMapper.ensureInitialized() + .encodeMap( + this as DocumentAdditionalDetails); + } + + DocumentAdditionalDetailsCopyWith + get copyWith => _DocumentAdditionalDetailsCopyWithImpl( + this as DocumentAdditionalDetails, $identity, $identity); + @override + String toString() { + return DocumentAdditionalDetailsMapper.ensureInitialized() + .stringifyValue(this as DocumentAdditionalDetails); + } + + @override + bool operator ==(Object other) { + return DocumentAdditionalDetailsMapper.ensureInitialized() + .equalsValue(this as DocumentAdditionalDetails, other); + } + + @override + int get hashCode { + return DocumentAdditionalDetailsMapper.ensureInitialized() + .hashValue(this as DocumentAdditionalDetails); + } } -typedef OfficerInChargeCopyWithBound = OfficerInCharge; +extension DocumentAdditionalDetailsValueCopy<$R, $Out> + on ObjectCopyWith<$R, DocumentAdditionalDetails, $Out> { + DocumentAdditionalDetailsCopyWith<$R, DocumentAdditionalDetails, $Out> + get $asDocumentAdditionalDetails => $base + .as((v, t, t2) => _DocumentAdditionalDetailsCopyWithImpl(v, t, t2)); +} -abstract class OfficerInChargeCopyWith<$R, $In extends OfficerInCharge, - $Out extends OfficerInCharge> implements ObjectCopyWith<$R, $In, $Out> { - OfficerInChargeCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends OfficerInCharge>( - Then t, Then<$Out2, $R2> t2); - $R call({String? code, String? name}); +abstract class DocumentAdditionalDetailsCopyWith< + $R, + $In extends DocumentAdditionalDetails, + $Out> implements ClassCopyWith<$R, $In, $Out> { + $R call({String? fileName, String? otherCategoryName}); + DocumentAdditionalDetailsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _OfficerInChargeCopyWithImpl<$R, $Out extends OfficerInCharge> - extends CopyWithBase<$R, OfficerInCharge, $Out> - implements OfficerInChargeCopyWith<$R, OfficerInCharge, $Out> { - _OfficerInChargeCopyWithImpl(super.value, super.then, super.then2); +class _DocumentAdditionalDetailsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, DocumentAdditionalDetails, $Out> + implements + DocumentAdditionalDetailsCopyWith<$R, DocumentAdditionalDetails, $Out> { + _DocumentAdditionalDetailsCopyWithImpl(super.value, super.then, super.then2); + + @override + late final ClassMapperBase $mapper = + DocumentAdditionalDetailsMapper.ensureInitialized(); @override - OfficerInChargeCopyWith<$R2, OfficerInCharge, $Out2> - chain<$R2, $Out2 extends OfficerInCharge>( - Then t, Then<$Out2, $R2> t2) => - _OfficerInChargeCopyWithImpl($value, t, t2); + $R call({Object? fileName = $none, Object? otherCategoryName = $none}) => + $apply(FieldCopyWithData({ + if (fileName != $none) #fileName: fileName, + if (otherCategoryName != $none) #otherCategoryName: otherCategoryName + })); + @override + DocumentAdditionalDetails $make(CopyWithData data) => + DocumentAdditionalDetails(data.get(#fileName, or: $value.fileName), + data.get(#otherCategoryName, or: $value.otherCategoryName)); @override - $R call({Object? code = $none, Object? name = $none}) => - $then(OfficerInCharge( - code: or(code, $value.code), name: or(name, $value.name))); + DocumentAdditionalDetailsCopyWith<$R2, DocumentAdditionalDetails, $Out2> + $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _DocumentAdditionalDetailsCopyWithImpl($value, $cast, t); } -class DescriptionMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {DescriptionMapper()}, - ); +class ContractProcessInstanceMapper + extends ClassMapperBase { + ContractProcessInstanceMapper._(); + + static ContractProcessInstanceMapper? _instance; + static ContractProcessInstanceMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals + .use(_instance = ContractProcessInstanceMapper._()); + ContractStateMapper.ensureInitialized(); + } + return _instance!; + } @override - DescriptionMapperElement createElement(MapperContainer container) { - return DescriptionMapperElement._(this, container); + final String id = 'ContractProcessInstance'; + + static String? _$action(ContractProcessInstance v) => v.action; + static const Field _f$action = + Field('action', _$action, opt: true); + static String? _$tenantId(ContractProcessInstance v) => v.tenantId; + static const Field _f$tenantId = + Field('tenantId', _$tenantId, opt: true); + static ContractState? _$state(ContractProcessInstance v) => v.state; + static const Field _f$state = + Field('state', _$state, opt: true); + static String? _$id(ContractProcessInstance v) => v.id; + static const Field _f$id = + Field('id', _$id, opt: true); + static String? _$businessId(ContractProcessInstance v) => v.businessId; + static const Field _f$businessId = + Field('businessId', _$businessId, opt: true); + static String? _$businessService(ContractProcessInstance v) => + v.businessService; + static const Field _f$businessService = + Field('businessService', _$businessService, opt: true); + static String? _$moduleName(ContractProcessInstance v) => v.moduleName; + static const Field _f$moduleName = + Field('moduleName', _$moduleName, opt: true); + + @override + final MappableFields fields = const { + #action: _f$action, + #tenantId: _f$tenantId, + #state: _f$state, + #id: _f$id, + #businessId: _f$businessId, + #businessService: _f$businessService, + #moduleName: _f$moduleName, + }; + + static ContractProcessInstance _instantiate(DecodingData data) { + return ContractProcessInstance( + action: data.dec(_f$action), + tenantId: data.dec(_f$tenantId), + state: data.dec(_f$state), + id: data.dec(_f$id), + businessId: data.dec(_f$businessId), + businessService: data.dec(_f$businessService), + moduleName: data.dec(_f$moduleName)); } @override - String get id => 'Description'; + final Function instantiate = _instantiate; - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; + static ContractProcessInstance fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static ContractProcessInstance fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -class DescriptionMapperElement extends MapperElementBase { - DescriptionMapperElement._(super.mapper, super.container); +mixin ContractProcessInstanceMappable { + String toJson() { + return ContractProcessInstanceMapper.ensureInitialized() + .encodeJson(this as ContractProcessInstance); + } + + Map toMap() { + return ContractProcessInstanceMapper.ensureInitialized() + .encodeMap(this as ContractProcessInstance); + } + + ContractProcessInstanceCopyWith + get copyWith => _ContractProcessInstanceCopyWithImpl( + this as ContractProcessInstance, $identity, $identity); + @override + String toString() { + return ContractProcessInstanceMapper.ensureInitialized() + .stringifyValue(this as ContractProcessInstance); + } @override - Function get decoder => decode; - Description decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - Description fromMap(Map map) => - Description(description: container.$getOpt(map, 'description')); + bool operator ==(Object other) { + return ContractProcessInstanceMapper.ensureInitialized() + .equalsValue(this as ContractProcessInstance, other); + } + + @override + int get hashCode { + return ContractProcessInstanceMapper.ensureInitialized() + .hashValue(this as ContractProcessInstance); + } +} +extension ContractProcessInstanceValueCopy<$R, $Out> + on ObjectCopyWith<$R, ContractProcessInstance, $Out> { + ContractProcessInstanceCopyWith<$R, ContractProcessInstance, $Out> + get $asContractProcessInstance => $base + .as((v, t, t2) => _ContractProcessInstanceCopyWithImpl(v, t, t2)); +} + +abstract class ContractProcessInstanceCopyWith< + $R, + $In extends ContractProcessInstance, + $Out> implements ClassCopyWith<$R, $In, $Out> { + ContractStateCopyWith<$R, ContractState, ContractState>? get state; + $R call( + {String? action, + String? tenantId, + ContractState? state, + String? id, + String? businessId, + String? businessService, + String? moduleName}); + ContractProcessInstanceCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); +} + +class _ContractProcessInstanceCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, ContractProcessInstance, $Out> + implements + ContractProcessInstanceCopyWith<$R, ContractProcessInstance, $Out> { + _ContractProcessInstanceCopyWithImpl(super.value, super.then, super.then2); + + @override + late final ClassMapperBase $mapper = + ContractProcessInstanceMapper.ensureInitialized(); + @override + ContractStateCopyWith<$R, ContractState, ContractState>? get state => + $value.state?.copyWith.$chain((v) => call(state: v)); @override - Function get encoder => encode; - dynamic encode(Description v) => toMap(v); - Map toMap(Description d) => - {'description': container.$enc(d.description, 'description')}; + $R call( + {Object? action = $none, + Object? tenantId = $none, + Object? state = $none, + Object? id = $none, + Object? businessId = $none, + Object? businessService = $none, + Object? moduleName = $none}) => + $apply(FieldCopyWithData({ + if (action != $none) #action: action, + if (tenantId != $none) #tenantId: tenantId, + if (state != $none) #state: state, + if (id != $none) #id: id, + if (businessId != $none) #businessId: businessId, + if (businessService != $none) #businessService: businessService, + if (moduleName != $none) #moduleName: moduleName + })); + @override + ContractProcessInstance $make(CopyWithData data) => ContractProcessInstance( + action: data.get(#action, or: $value.action), + tenantId: data.get(#tenantId, or: $value.tenantId), + state: data.get(#state, or: $value.state), + id: data.get(#id, or: $value.id), + businessId: data.get(#businessId, or: $value.businessId), + businessService: data.get(#businessService, or: $value.businessService), + moduleName: data.get(#moduleName, or: $value.moduleName)); @override - String stringify(Description self) => - 'Description(description: ${container.asString(self.description)})'; + ContractProcessInstanceCopyWith<$R2, ContractProcessInstance, $Out2> + $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _ContractProcessInstanceCopyWithImpl($value, $cast, t); +} + +class ContractStateMapper extends ClassMapperBase { + ContractStateMapper._(); + + static ContractStateMapper? _instance; + static ContractStateMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = ContractStateMapper._()); + ContractAuditDetailsMapper.ensureInitialized(); + } + return _instance!; + } + @override - int hash(Description self) => container.hash(self.description); + final String id = 'ContractState'; + + static ContractAuditDetails? _$auditDetails(ContractState v) => + v.auditDetails; + static const Field _f$auditDetails = + Field('auditDetails', _$auditDetails, opt: true); + static String? _$uuid(ContractState v) => v.uuid; + static const Field _f$uuid = + Field('uuid', _$uuid, opt: true); + static String? _$tenantId(ContractState v) => v.tenantId; + static const Field _f$tenantId = + Field('tenantId', _$tenantId, opt: true); + static String? _$state(ContractState v) => v.state; + static const Field _f$state = + Field('state', _$state, opt: true); + static String? _$applicationStatus(ContractState v) => v.applicationStatus; + static const Field _f$applicationStatus = + Field('applicationStatus', _$applicationStatus, opt: true); + static String? _$businessServiceId(ContractState v) => v.businessServiceId; + static const Field _f$businessServiceId = + Field('businessServiceId', _$businessServiceId, opt: true); + + @override + final MappableFields fields = const { + #auditDetails: _f$auditDetails, + #uuid: _f$uuid, + #tenantId: _f$tenantId, + #state: _f$state, + #applicationStatus: _f$applicationStatus, + #businessServiceId: _f$businessServiceId, + }; + + static ContractState _instantiate(DecodingData data) { + return ContractState( + auditDetails: data.dec(_f$auditDetails), + uuid: data.dec(_f$uuid), + tenantId: data.dec(_f$tenantId), + state: data.dec(_f$state), + applicationStatus: data.dec(_f$applicationStatus), + businessServiceId: data.dec(_f$businessServiceId)); + } + @override - bool equals(Description self, Description other) => - container.isEqual(self.description, other.description); + final Function instantiate = _instantiate; + + static ContractState fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static ContractState fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -mixin DescriptionMappable { - String toJson() => DescriptionMapper.container.toJson(this as Description); - Map toMap() => - DescriptionMapper.container.toMap(this as Description); - DescriptionCopyWith get copyWith => - _DescriptionCopyWithImpl(this as Description, $identity, $identity); +mixin ContractStateMappable { + String toJson() { + return ContractStateMapper.ensureInitialized() + .encodeJson(this as ContractState); + } + + Map toMap() { + return ContractStateMapper.ensureInitialized() + .encodeMap(this as ContractState); + } + + ContractStateCopyWith + get copyWith => _ContractStateCopyWithImpl( + this as ContractState, $identity, $identity); @override - String toString() => DescriptionMapper.container.asString(this); + String toString() { + return ContractStateMapper.ensureInitialized() + .stringifyValue(this as ContractState); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - DescriptionMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return ContractStateMapper.ensureInitialized() + .equalsValue(this as ContractState, other); + } + @override - int get hashCode => DescriptionMapper.container.hash(this); + int get hashCode { + return ContractStateMapper.ensureInitialized() + .hashValue(this as ContractState); + } } -extension DescriptionValueCopy<$R, $Out extends Description> - on ObjectCopyWith<$R, Description, $Out> { - DescriptionCopyWith<$R, Description, $Out> get asDescription => - base.as((v, t, t2) => _DescriptionCopyWithImpl(v, t, t2)); +extension ContractStateValueCopy<$R, $Out> + on ObjectCopyWith<$R, ContractState, $Out> { + ContractStateCopyWith<$R, ContractState, $Out> get $asContractState => + $base.as((v, t, t2) => _ContractStateCopyWithImpl(v, t, t2)); } -typedef DescriptionCopyWithBound = Description; +abstract class ContractStateCopyWith<$R, $In extends ContractState, $Out> + implements ClassCopyWith<$R, $In, $Out> { + ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? + get auditDetails; + $R call( + {ContractAuditDetails? auditDetails, + String? uuid, + String? tenantId, + String? state, + String? applicationStatus, + String? businessServiceId}); + ContractStateCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); +} -abstract class DescriptionCopyWith<$R, $In extends Description, - $Out extends Description> implements ObjectCopyWith<$R, $In, $Out> { - DescriptionCopyWith<$R2, $In, $Out2> chain<$R2, $Out2 extends Description>( - Then t, Then<$Out2, $R2> t2); - $R call({String? description}); +class _ContractStateCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, ContractState, $Out> + implements ContractStateCopyWith<$R, ContractState, $Out> { + _ContractStateCopyWithImpl(super.value, super.then, super.then2); + + @override + late final ClassMapperBase $mapper = + ContractStateMapper.ensureInitialized(); + @override + ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? + get auditDetails => + $value.auditDetails?.copyWith.$chain((v) => call(auditDetails: v)); + @override + $R call( + {Object? auditDetails = $none, + Object? uuid = $none, + Object? tenantId = $none, + Object? state = $none, + Object? applicationStatus = $none, + Object? businessServiceId = $none}) => + $apply(FieldCopyWithData({ + if (auditDetails != $none) #auditDetails: auditDetails, + if (uuid != $none) #uuid: uuid, + if (tenantId != $none) #tenantId: tenantId, + if (state != $none) #state: state, + if (applicationStatus != $none) #applicationStatus: applicationStatus, + if (businessServiceId != $none) #businessServiceId: businessServiceId + })); + @override + ContractState $make(CopyWithData data) => ContractState( + auditDetails: data.get(#auditDetails, or: $value.auditDetails), + uuid: data.get(#uuid, or: $value.uuid), + tenantId: data.get(#tenantId, or: $value.tenantId), + state: data.get(#state, or: $value.state), + applicationStatus: + data.get(#applicationStatus, or: $value.applicationStatus), + businessServiceId: + data.get(#businessServiceId, or: $value.businessServiceId)); + + @override + ContractStateCopyWith<$R2, ContractState, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _ContractStateCopyWithImpl($value, $cast, t); } -class _DescriptionCopyWithImpl<$R, $Out extends Description> - extends CopyWithBase<$R, Description, $Out> - implements DescriptionCopyWith<$R, Description, $Out> { - _DescriptionCopyWithImpl(super.value, super.then, super.then2); +class ContractAdditionalDetailsMapper + extends ClassMapperBase { + ContractAdditionalDetailsMapper._(); + + static ContractAdditionalDetailsMapper? _instance; + static ContractAdditionalDetailsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals + .use(_instance = ContractAdditionalDetailsMapper._()); + EstimateDocsMapper.ensureInitialized(); + DescriptionMapper.ensureInitialized(); + OfficerInChargeMapper.ensureInitialized(); + } + return _instance!; + } + @override - DescriptionCopyWith<$R2, Description, $Out2> - chain<$R2, $Out2 extends Description>( - Then t, Then<$Out2, $R2> t2) => - _DescriptionCopyWithImpl($value, t, t2); + final String id = 'ContractAdditionalDetails'; + + static String? _$officerInChargeId(ContractAdditionalDetails v) => + v.officerInChargeId; + static const Field _f$officerInChargeId = + Field('officerInChargeId', _$officerInChargeId, opt: true); + static String? _$attendanceRegisterNumber(ContractAdditionalDetails v) => + v.attendanceRegisterNumber; + static const Field + _f$attendanceRegisterNumber = + Field('attendanceRegisterNumber', _$attendanceRegisterNumber, opt: true); + static String? _$cboOrgNumber(ContractAdditionalDetails v) => v.cboOrgNumber; + static const Field _f$cboOrgNumber = + Field('cboOrgNumber', _$cboOrgNumber, opt: true); + static String? _$projectId(ContractAdditionalDetails v) => v.projectId; + static const Field _f$projectId = + Field('projectId', _$projectId, opt: true); + static String? _$projectType(ContractAdditionalDetails v) => v.projectType; + static const Field _f$projectType = + Field('projectType', _$projectType, opt: true); + static String? _$orgName(ContractAdditionalDetails v) => v.orgName; + static const Field _f$orgName = + Field('orgName', _$orgName, opt: true); + static String? _$projectName(ContractAdditionalDetails v) => v.projectName; + static const Field _f$projectName = + Field('projectName', _$projectName, opt: true); + static String? _$ward(ContractAdditionalDetails v) => v.ward; + static const Field _f$ward = + Field('ward', _$ward, opt: true); + static String? _$locality(ContractAdditionalDetails v) => v.locality; + static const Field _f$locality = + Field('locality', _$locality, opt: true); + static String? _$cboCode(ContractAdditionalDetails v) => v.cboCode; + static const Field _f$cboCode = + Field('cboCode', _$cboCode, opt: true); + static String? _$cboName(ContractAdditionalDetails v) => v.cboName; + static const Field _f$cboName = + Field('cboName', _$cboName, opt: true); + static List? _$estimateDocs(ContractAdditionalDetails v) => + v.estimateDocs; + static const Field> + _f$estimateDocs = Field('estimateDocs', _$estimateDocs, opt: true); + static String? _$estimateNumber(ContractAdditionalDetails v) => + v.estimateNumber; + static const Field _f$estimateNumber = + Field('estimateNumber', _$estimateNumber, opt: true); + static double? _$totalEstimatedAmount(ContractAdditionalDetails v) => + v.totalEstimatedAmount; + static const Field + _f$totalEstimatedAmount = + Field('totalEstimatedAmount', _$totalEstimatedAmount, opt: true); + static int? _$completionPeriod(ContractAdditionalDetails v) => + v.completionPeriod; + static const Field _f$completionPeriod = + Field('completionPeriod', _$completionPeriod, opt: true); + static List? _$termsAndConditions( + ContractAdditionalDetails v) => + v.termsAndConditions; + static const Field> + _f$termsAndConditions = + Field('termsAndConditions', _$termsAndConditions, opt: true); + static String? _$projectDesc(ContractAdditionalDetails v) => v.projectDesc; + static const Field _f$projectDesc = + Field('projectDesc', _$projectDesc, opt: true); + static OfficerInCharge? _$officerInChargeName(ContractAdditionalDetails v) => + v.officerInChargeName; + static const Field + _f$officerInChargeName = + Field('officerInChargeName', _$officerInChargeName, opt: true); + static String? _$officerInChargeDesgn(ContractAdditionalDetails v) => + v.officerInChargeDesgn; + static const Field + _f$officerInChargeDesgn = + Field('officerInChargeDesgn', _$officerInChargeDesgn, opt: true); + static String? _$timeExtReason(ContractAdditionalDetails v) => + v.timeExtReason; + static const Field _f$timeExtReason = + Field('timeExtReason', _$timeExtReason, opt: true); + static String? _$timeExt(ContractAdditionalDetails v) => v.timeExt; + static const Field _f$timeExt = + Field('timeExt', _$timeExt, opt: true); + + @override + final MappableFields fields = const { + #officerInChargeId: _f$officerInChargeId, + #attendanceRegisterNumber: _f$attendanceRegisterNumber, + #cboOrgNumber: _f$cboOrgNumber, + #projectId: _f$projectId, + #projectType: _f$projectType, + #orgName: _f$orgName, + #projectName: _f$projectName, + #ward: _f$ward, + #locality: _f$locality, + #cboCode: _f$cboCode, + #cboName: _f$cboName, + #estimateDocs: _f$estimateDocs, + #estimateNumber: _f$estimateNumber, + #totalEstimatedAmount: _f$totalEstimatedAmount, + #completionPeriod: _f$completionPeriod, + #termsAndConditions: _f$termsAndConditions, + #projectDesc: _f$projectDesc, + #officerInChargeName: _f$officerInChargeName, + #officerInChargeDesgn: _f$officerInChargeDesgn, + #timeExtReason: _f$timeExtReason, + #timeExt: _f$timeExt, + }; + + static ContractAdditionalDetails _instantiate(DecodingData data) { + return ContractAdditionalDetails( + officerInChargeId: data.dec(_f$officerInChargeId), + attendanceRegisterNumber: data.dec(_f$attendanceRegisterNumber), + cboOrgNumber: data.dec(_f$cboOrgNumber), + projectId: data.dec(_f$projectId), + projectType: data.dec(_f$projectType), + orgName: data.dec(_f$orgName), + projectName: data.dec(_f$projectName), + ward: data.dec(_f$ward), + locality: data.dec(_f$locality), + cboCode: data.dec(_f$cboCode), + cboName: data.dec(_f$cboName), + estimateDocs: data.dec(_f$estimateDocs), + estimateNumber: data.dec(_f$estimateNumber), + totalEstimatedAmount: data.dec(_f$totalEstimatedAmount), + completionPeriod: data.dec(_f$completionPeriod), + termsAndConditions: data.dec(_f$termsAndConditions), + projectDesc: data.dec(_f$projectDesc), + officerInChargeName: data.dec(_f$officerInChargeName), + officerInChargeDesgn: data.dec(_f$officerInChargeDesgn), + timeExtReason: data.dec(_f$timeExtReason), + timeExt: data.dec(_f$timeExt)); + } @override - $R call({Object? description = $none}) => - $then(Description(description: or(description, $value.description))); + final Function instantiate = _instantiate; + + static ContractAdditionalDetails fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static ContractAdditionalDetails fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -class EstimateDocsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {EstimateDocsMapper()}, - ); +mixin ContractAdditionalDetailsMappable { + String toJson() { + return ContractAdditionalDetailsMapper.ensureInitialized() + .encodeJson( + this as ContractAdditionalDetails); + } + + Map toMap() { + return ContractAdditionalDetailsMapper.ensureInitialized() + .encodeMap( + this as ContractAdditionalDetails); + } + ContractAdditionalDetailsCopyWith + get copyWith => _ContractAdditionalDetailsCopyWithImpl( + this as ContractAdditionalDetails, $identity, $identity); @override - EstimateDocsMapperElement createElement(MapperContainer container) { - return EstimateDocsMapperElement._(this, container); + String toString() { + return ContractAdditionalDetailsMapper.ensureInitialized() + .stringifyValue(this as ContractAdditionalDetails); } @override - String get id => 'EstimateDocs'; + bool operator ==(Object other) { + return ContractAdditionalDetailsMapper.ensureInitialized() + .equalsValue(this as ContractAdditionalDetails, other); + } - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; + @override + int get hashCode { + return ContractAdditionalDetailsMapper.ensureInitialized() + .hashValue(this as ContractAdditionalDetails); + } } -class EstimateDocsMapperElement extends MapperElementBase { - EstimateDocsMapperElement._(super.mapper, super.container); +extension ContractAdditionalDetailsValueCopy<$R, $Out> + on ObjectCopyWith<$R, ContractAdditionalDetails, $Out> { + ContractAdditionalDetailsCopyWith<$R, ContractAdditionalDetails, $Out> + get $asContractAdditionalDetails => $base + .as((v, t, t2) => _ContractAdditionalDetailsCopyWithImpl(v, t, t2)); +} + +abstract class ContractAdditionalDetailsCopyWith< + $R, + $In extends ContractAdditionalDetails, + $Out> implements ClassCopyWith<$R, $In, $Out> { + ListCopyWith<$R, EstimateDocs, + EstimateDocsCopyWith<$R, EstimateDocs, EstimateDocs>>? get estimateDocs; + ListCopyWith<$R, Description?, + DescriptionCopyWith<$R, Description, Description>?>? + get termsAndConditions; + OfficerInChargeCopyWith<$R, OfficerInCharge, OfficerInCharge>? + get officerInChargeName; + $R call( + {String? officerInChargeId, + String? attendanceRegisterNumber, + String? cboOrgNumber, + String? projectId, + String? projectType, + String? orgName, + String? projectName, + String? ward, + String? locality, + String? cboCode, + String? cboName, + List? estimateDocs, + String? estimateNumber, + double? totalEstimatedAmount, + int? completionPeriod, + List? termsAndConditions, + String? projectDesc, + OfficerInCharge? officerInChargeName, + String? officerInChargeDesgn, + String? timeExtReason, + String? timeExt}); + ContractAdditionalDetailsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); +} + +class _ContractAdditionalDetailsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, ContractAdditionalDetails, $Out> + implements + ContractAdditionalDetailsCopyWith<$R, ContractAdditionalDetails, $Out> { + _ContractAdditionalDetailsCopyWithImpl(super.value, super.then, super.then2); + + @override + late final ClassMapperBase $mapper = + ContractAdditionalDetailsMapper.ensureInitialized(); + @override + ListCopyWith<$R, EstimateDocs, + EstimateDocsCopyWith<$R, EstimateDocs, EstimateDocs>>? + get estimateDocs => $value.estimateDocs != null + ? ListCopyWith($value.estimateDocs!, (v, t) => v.copyWith.$chain(t), + (v) => call(estimateDocs: v)) + : null; + @override + ListCopyWith<$R, Description?, + DescriptionCopyWith<$R, Description, Description>?>? + get termsAndConditions => $value.termsAndConditions != null + ? ListCopyWith( + $value.termsAndConditions!, + (v, t) => v?.copyWith.$chain(t), + (v) => call(termsAndConditions: v)) + : null; + @override + OfficerInChargeCopyWith<$R, OfficerInCharge, OfficerInCharge>? + get officerInChargeName => $value.officerInChargeName?.copyWith + .$chain((v) => call(officerInChargeName: v)); + @override + $R call( + {Object? officerInChargeId = $none, + Object? attendanceRegisterNumber = $none, + Object? cboOrgNumber = $none, + Object? projectId = $none, + Object? projectType = $none, + Object? orgName = $none, + Object? projectName = $none, + Object? ward = $none, + Object? locality = $none, + Object? cboCode = $none, + Object? cboName = $none, + Object? estimateDocs = $none, + Object? estimateNumber = $none, + Object? totalEstimatedAmount = $none, + Object? completionPeriod = $none, + Object? termsAndConditions = $none, + Object? projectDesc = $none, + Object? officerInChargeName = $none, + Object? officerInChargeDesgn = $none, + Object? timeExtReason = $none, + Object? timeExt = $none}) => + $apply(FieldCopyWithData({ + if (officerInChargeId != $none) #officerInChargeId: officerInChargeId, + if (attendanceRegisterNumber != $none) + #attendanceRegisterNumber: attendanceRegisterNumber, + if (cboOrgNumber != $none) #cboOrgNumber: cboOrgNumber, + if (projectId != $none) #projectId: projectId, + if (projectType != $none) #projectType: projectType, + if (orgName != $none) #orgName: orgName, + if (projectName != $none) #projectName: projectName, + if (ward != $none) #ward: ward, + if (locality != $none) #locality: locality, + if (cboCode != $none) #cboCode: cboCode, + if (cboName != $none) #cboName: cboName, + if (estimateDocs != $none) #estimateDocs: estimateDocs, + if (estimateNumber != $none) #estimateNumber: estimateNumber, + if (totalEstimatedAmount != $none) + #totalEstimatedAmount: totalEstimatedAmount, + if (completionPeriod != $none) #completionPeriod: completionPeriod, + if (termsAndConditions != $none) + #termsAndConditions: termsAndConditions, + if (projectDesc != $none) #projectDesc: projectDesc, + if (officerInChargeName != $none) + #officerInChargeName: officerInChargeName, + if (officerInChargeDesgn != $none) + #officerInChargeDesgn: officerInChargeDesgn, + if (timeExtReason != $none) #timeExtReason: timeExtReason, + if (timeExt != $none) #timeExt: timeExt + })); + @override + ContractAdditionalDetails $make(CopyWithData data) => + ContractAdditionalDetails( + officerInChargeId: + data.get(#officerInChargeId, or: $value.officerInChargeId), + attendanceRegisterNumber: data.get(#attendanceRegisterNumber, + or: $value.attendanceRegisterNumber), + cboOrgNumber: data.get(#cboOrgNumber, or: $value.cboOrgNumber), + projectId: data.get(#projectId, or: $value.projectId), + projectType: data.get(#projectType, or: $value.projectType), + orgName: data.get(#orgName, or: $value.orgName), + projectName: data.get(#projectName, or: $value.projectName), + ward: data.get(#ward, or: $value.ward), + locality: data.get(#locality, or: $value.locality), + cboCode: data.get(#cboCode, or: $value.cboCode), + cboName: data.get(#cboName, or: $value.cboName), + estimateDocs: data.get(#estimateDocs, or: $value.estimateDocs), + estimateNumber: data.get(#estimateNumber, or: $value.estimateNumber), + totalEstimatedAmount: + data.get(#totalEstimatedAmount, or: $value.totalEstimatedAmount), + completionPeriod: + data.get(#completionPeriod, or: $value.completionPeriod), + termsAndConditions: + data.get(#termsAndConditions, or: $value.termsAndConditions), + projectDesc: data.get(#projectDesc, or: $value.projectDesc), + officerInChargeName: + data.get(#officerInChargeName, or: $value.officerInChargeName), + officerInChargeDesgn: + data.get(#officerInChargeDesgn, or: $value.officerInChargeDesgn), + timeExtReason: data.get(#timeExtReason, or: $value.timeExtReason), + timeExt: data.get(#timeExt, or: $value.timeExt)); + + @override + ContractAdditionalDetailsCopyWith<$R2, ContractAdditionalDetails, $Out2> + $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _ContractAdditionalDetailsCopyWithImpl($value, $cast, t); +} + +class EstimateDocsMapper extends ClassMapperBase { + EstimateDocsMapper._(); + + static EstimateDocsMapper? _instance; + static EstimateDocsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = EstimateDocsMapper._()); + } + return _instance!; + } @override - Function get decoder => decode; - EstimateDocs decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - EstimateDocs fromMap(Map map) => EstimateDocs( - tenantId: container.$getOpt(map, 'tenantId'), - documentUid: container.$getOpt(map, 'documentUid'), - fileStoreId: container.$getOpt(map, 'fileStoreId'), - fileName: container.$getOpt(map, 'fileName'), - fileType: container.$getOpt(map, 'fileType')); + final String id = 'EstimateDocs'; + + static String? _$tenantId(EstimateDocs v) => v.tenantId; + static const Field _f$tenantId = + Field('tenantId', _$tenantId, opt: true); + static String? _$documentUid(EstimateDocs v) => v.documentUid; + static const Field _f$documentUid = + Field('documentUid', _$documentUid, opt: true); + static String? _$fileStoreId(EstimateDocs v) => v.fileStoreId; + static const Field _f$fileStoreId = + Field('fileStoreId', _$fileStoreId, opt: true); + static String? _$fileName(EstimateDocs v) => v.fileName; + static const Field _f$fileName = + Field('fileName', _$fileName, opt: true); + static String? _$fileType(EstimateDocs v) => v.fileType; + static const Field _f$fileType = + Field('fileType', _$fileType, opt: true); + + @override + final MappableFields fields = const { + #tenantId: _f$tenantId, + #documentUid: _f$documentUid, + #fileStoreId: _f$fileStoreId, + #fileName: _f$fileName, + #fileType: _f$fileType, + }; + + static EstimateDocs _instantiate(DecodingData data) { + return EstimateDocs( + tenantId: data.dec(_f$tenantId), + documentUid: data.dec(_f$documentUid), + fileStoreId: data.dec(_f$fileStoreId), + fileName: data.dec(_f$fileName), + fileType: data.dec(_f$fileType)); + } @override - Function get encoder => encode; - dynamic encode(EstimateDocs v) => toMap(v); - Map toMap(EstimateDocs e) => { - 'tenantId': container.$enc(e.tenantId, 'tenantId'), - 'documentUid': container.$enc(e.documentUid, 'documentUid'), - 'fileStoreId': container.$enc(e.fileStoreId, 'fileStoreId'), - 'fileName': container.$enc(e.fileName, 'fileName'), - 'fileType': container.$enc(e.fileType, 'fileType') - }; + final Function instantiate = _instantiate; - @override - String stringify(EstimateDocs self) => - 'EstimateDocs(documentUid: ${container.asString(self.documentUid)}, fileName: ${container.asString(self.fileName)}, fileStoreId: ${container.asString(self.fileStoreId)}, fileType: ${container.asString(self.fileType)}, tenantId: ${container.asString(self.tenantId)})'; - @override - int hash(EstimateDocs self) => - container.hash(self.documentUid) ^ - container.hash(self.fileName) ^ - container.hash(self.fileStoreId) ^ - container.hash(self.fileType) ^ - container.hash(self.tenantId); - @override - bool equals(EstimateDocs self, EstimateDocs other) => - container.isEqual(self.documentUid, other.documentUid) && - container.isEqual(self.fileName, other.fileName) && - container.isEqual(self.fileStoreId, other.fileStoreId) && - container.isEqual(self.fileType, other.fileType) && - container.isEqual(self.tenantId, other.tenantId); + static EstimateDocs fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } + + static EstimateDocs fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } mixin EstimateDocsMappable { - String toJson() => EstimateDocsMapper.container.toJson(this as EstimateDocs); - Map toMap() => - EstimateDocsMapper.container.toMap(this as EstimateDocs); + String toJson() { + return EstimateDocsMapper.ensureInitialized() + .encodeJson(this as EstimateDocs); + } + + Map toMap() { + return EstimateDocsMapper.ensureInitialized() + .encodeMap(this as EstimateDocs); + } + EstimateDocsCopyWith get copyWith => _EstimateDocsCopyWithImpl(this as EstimateDocs, $identity, $identity); @override - String toString() => EstimateDocsMapper.container.asString(this); + String toString() { + return EstimateDocsMapper.ensureInitialized() + .stringifyValue(this as EstimateDocs); + } + @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - EstimateDocsMapper.container.isEqual(this, other)); + bool operator ==(Object other) { + return EstimateDocsMapper.ensureInitialized() + .equalsValue(this as EstimateDocs, other); + } + @override - int get hashCode => EstimateDocsMapper.container.hash(this); + int get hashCode { + return EstimateDocsMapper.ensureInitialized() + .hashValue(this as EstimateDocs); + } } -extension EstimateDocsValueCopy<$R, $Out extends EstimateDocs> +extension EstimateDocsValueCopy<$R, $Out> on ObjectCopyWith<$R, EstimateDocs, $Out> { - EstimateDocsCopyWith<$R, EstimateDocs, $Out> get asEstimateDocs => - base.as((v, t, t2) => _EstimateDocsCopyWithImpl(v, t, t2)); + EstimateDocsCopyWith<$R, EstimateDocs, $Out> get $asEstimateDocs => + $base.as((v, t, t2) => _EstimateDocsCopyWithImpl(v, t, t2)); } -typedef EstimateDocsCopyWithBound = EstimateDocs; - -abstract class EstimateDocsCopyWith<$R, $In extends EstimateDocs, - $Out extends EstimateDocs> implements ObjectCopyWith<$R, $In, $Out> { - EstimateDocsCopyWith<$R2, $In, $Out2> chain<$R2, $Out2 extends EstimateDocs>( - Then t, Then<$Out2, $R2> t2); +abstract class EstimateDocsCopyWith<$R, $In extends EstimateDocs, $Out> + implements ClassCopyWith<$R, $In, $Out> { $R call( {String? tenantId, String? documentUid, String? fileStoreId, String? fileName, String? fileType}); + EstimateDocsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); } -class _EstimateDocsCopyWithImpl<$R, $Out extends EstimateDocs> - extends CopyWithBase<$R, EstimateDocs, $Out> +class _EstimateDocsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, EstimateDocs, $Out> implements EstimateDocsCopyWith<$R, EstimateDocs, $Out> { _EstimateDocsCopyWithImpl(super.value, super.then, super.then2); - @override - EstimateDocsCopyWith<$R2, EstimateDocs, $Out2> - chain<$R2, $Out2 extends EstimateDocs>( - Then t, Then<$Out2, $R2> t2) => - _EstimateDocsCopyWithImpl($value, t, t2); + @override + late final ClassMapperBase $mapper = + EstimateDocsMapper.ensureInitialized(); @override $R call( {Object? tenantId = $none, @@ -1466,663 +2112,365 @@ class _EstimateDocsCopyWithImpl<$R, $Out extends EstimateDocs> Object? fileStoreId = $none, Object? fileName = $none, Object? fileType = $none}) => - $then(EstimateDocs( - tenantId: or(tenantId, $value.tenantId), - documentUid: or(documentUid, $value.documentUid), - fileStoreId: or(fileStoreId, $value.fileStoreId), - fileName: or(fileName, $value.fileName), - fileType: or(fileType, $value.fileType))); -} - -class ContractAuditDetailsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {ContractAuditDetailsMapper()}, - ); - - @override - ContractAuditDetailsMapperElement createElement(MapperContainer container) { - return ContractAuditDetailsMapperElement._(this, container); + $apply(FieldCopyWithData({ + if (tenantId != $none) #tenantId: tenantId, + if (documentUid != $none) #documentUid: documentUid, + if (fileStoreId != $none) #fileStoreId: fileStoreId, + if (fileName != $none) #fileName: fileName, + if (fileType != $none) #fileType: fileType + })); + @override + EstimateDocs $make(CopyWithData data) => EstimateDocs( + tenantId: data.get(#tenantId, or: $value.tenantId), + documentUid: data.get(#documentUid, or: $value.documentUid), + fileStoreId: data.get(#fileStoreId, or: $value.fileStoreId), + fileName: data.get(#fileName, or: $value.fileName), + fileType: data.get(#fileType, or: $value.fileType)); + + @override + EstimateDocsCopyWith<$R2, EstimateDocs, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _EstimateDocsCopyWithImpl($value, $cast, t); +} + +class DescriptionMapper extends ClassMapperBase { + DescriptionMapper._(); + + static DescriptionMapper? _instance; + static DescriptionMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = DescriptionMapper._()); + } + return _instance!; } @override - String get id => 'ContractAuditDetails'; + final String id = 'Description'; - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} - -class ContractAuditDetailsMapperElement - extends MapperElementBase { - ContractAuditDetailsMapperElement._(super.mapper, super.container); - - @override - Function get decoder => decode; - ContractAuditDetails decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - ContractAuditDetails fromMap(Map map) => - ContractAuditDetails( - createdTime: container.$getOpt(map, 'createdTime'), - lastModifiedTime: container.$getOpt(map, 'lastModifiedTime'), - createdBy: container.$getOpt(map, 'createdBy'), - lastModifiedBy: container.$getOpt(map, 'lastModifiedBy')); + static String? _$description(Description v) => v.description; + static const Field _f$description = + Field('description', _$description, opt: true); @override - Function get encoder => encode; - dynamic encode(ContractAuditDetails v) => toMap(v); - Map toMap(ContractAuditDetails c) => { - 'createdTime': container.$enc(c.createdTime, 'createdTime'), - 'lastModifiedTime': - container.$enc(c.lastModifiedTime, 'lastModifiedTime'), - 'createdBy': container.$enc(c.createdBy, 'createdBy'), - 'lastModifiedBy': container.$enc(c.lastModifiedBy, 'lastModifiedBy') - }; + final MappableFields fields = const { + #description: _f$description, + }; - @override - String stringify(ContractAuditDetails self) => - 'ContractAuditDetails(createdBy: ${container.asString(self.createdBy)}, lastModifiedBy: ${container.asString(self.lastModifiedBy)}, createdTime: ${container.asString(self.createdTime)}, lastModifiedTime: ${container.asString(self.lastModifiedTime)})'; - @override - int hash(ContractAuditDetails self) => - container.hash(self.createdBy) ^ - container.hash(self.lastModifiedBy) ^ - container.hash(self.createdTime) ^ - container.hash(self.lastModifiedTime); - @override - bool equals(ContractAuditDetails self, ContractAuditDetails other) => - container.isEqual(self.createdBy, other.createdBy) && - container.isEqual(self.lastModifiedBy, other.lastModifiedBy) && - container.isEqual(self.createdTime, other.createdTime) && - container.isEqual(self.lastModifiedTime, other.lastModifiedTime); -} + static Description _instantiate(DecodingData data) { + return Description(description: data.dec(_f$description)); + } -mixin ContractAuditDetailsMappable { - String toJson() => - ContractAuditDetailsMapper.container.toJson(this as ContractAuditDetails); - Map toMap() => - ContractAuditDetailsMapper.container.toMap(this as ContractAuditDetails); - ContractAuditDetailsCopyWith - get copyWith => _ContractAuditDetailsCopyWithImpl( - this as ContractAuditDetails, $identity, $identity); - @override - String toString() => ContractAuditDetailsMapper.container.asString(this); - @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - ContractAuditDetailsMapper.container.isEqual(this, other)); @override - int get hashCode => ContractAuditDetailsMapper.container.hash(this); -} - -extension ContractAuditDetailsValueCopy<$R, $Out extends ContractAuditDetails> - on ObjectCopyWith<$R, ContractAuditDetails, $Out> { - ContractAuditDetailsCopyWith<$R, ContractAuditDetails, $Out> - get asContractAuditDetails => - base.as((v, t, t2) => _ContractAuditDetailsCopyWithImpl(v, t, t2)); -} - -typedef ContractAuditDetailsCopyWithBound = ContractAuditDetails; - -abstract class ContractAuditDetailsCopyWith<$R, - $In extends ContractAuditDetails, $Out extends ContractAuditDetails> - implements ObjectCopyWith<$R, $In, $Out> { - ContractAuditDetailsCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends ContractAuditDetails>( - Then t, Then<$Out2, $R2> t2); - $R call( - {int? createdTime, - int? lastModifiedTime, - String? createdBy, - String? lastModifiedBy}); -} + final Function instantiate = _instantiate; -class _ContractAuditDetailsCopyWithImpl<$R, $Out extends ContractAuditDetails> - extends CopyWithBase<$R, ContractAuditDetails, $Out> - implements ContractAuditDetailsCopyWith<$R, ContractAuditDetails, $Out> { - _ContractAuditDetailsCopyWithImpl(super.value, super.then, super.then2); - @override - ContractAuditDetailsCopyWith<$R2, ContractAuditDetails, $Out2> - chain<$R2, $Out2 extends ContractAuditDetails>( - Then t, Then<$Out2, $R2> t2) => - _ContractAuditDetailsCopyWithImpl($value, t, t2); + static Description fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } - @override - $R call( - {Object? createdTime = $none, - Object? lastModifiedTime = $none, - Object? createdBy = $none, - Object? lastModifiedBy = $none}) => - $then(ContractAuditDetails( - createdTime: or(createdTime, $value.createdTime), - lastModifiedTime: or(lastModifiedTime, $value.lastModifiedTime), - createdBy: or(createdBy, $value.createdBy), - lastModifiedBy: or(lastModifiedBy, $value.lastModifiedBy))); + static Description fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -class DocumentsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {DocumentsMapper()}, - )..linkAll({DocumentAdditionalDetailsMapper.container}); - - @override - DocumentsMapperElement createElement(MapperContainer container) { - return DocumentsMapperElement._(this, container); +mixin DescriptionMappable { + String toJson() { + return DescriptionMapper.ensureInitialized() + .encodeJson(this as Description); } - @override - String get id => 'Documents'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} - -class DocumentsMapperElement extends MapperElementBase { - DocumentsMapperElement._(super.mapper, super.container); + Map toMap() { + return DescriptionMapper.ensureInitialized() + .encodeMap(this as Description); + } + DescriptionCopyWith get copyWith => + _DescriptionCopyWithImpl(this as Description, $identity, $identity); @override - Function get decoder => decode; - Documents decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - Documents fromMap(Map map) => Documents( - additionalDetails: container.$getOpt(map, 'additionalDetails'), - contractId: container.$getOpt(map, 'contractId'), - id: container.$getOpt(map, 'id'), - documentType: container.$getOpt(map, 'documentType'), - status: container.$getOpt(map, 'status'), - documentUid: container.$getOpt(map, 'documentUid'), - fileStore: container.$getOpt(map, 'fileStore')); + String toString() { + return DescriptionMapper.ensureInitialized() + .stringifyValue(this as Description); + } @override - Function get encoder => encode; - dynamic encode(Documents v) => toMap(v); - Map toMap(Documents d) => { - 'additionalDetails': - container.$enc(d.additionalDetails, 'additionalDetails'), - 'contractId': container.$enc(d.contractId, 'contractId'), - 'id': container.$enc(d.id, 'id'), - 'documentType': container.$enc(d.documentType, 'documentType'), - 'status': container.$enc(d.status, 'status'), - 'documentUid': container.$enc(d.documentUid, 'documentUid'), - 'fileStore': container.$enc(d.fileStore, 'fileStore') - }; + bool operator ==(Object other) { + return DescriptionMapper.ensureInitialized() + .equalsValue(this as Description, other); + } @override - String stringify(Documents self) => - 'Documents(additionalDetails: ${container.asString(self.additionalDetails)}, contractId: ${container.asString(self.contractId)}, id: ${container.asString(self.id)}, documentType: ${container.asString(self.documentType)}, fileStore: ${container.asString(self.fileStore)}, documentUid: ${container.asString(self.documentUid)}, status: ${container.asString(self.status)})'; - @override - int hash(Documents self) => - container.hash(self.additionalDetails) ^ - container.hash(self.contractId) ^ - container.hash(self.id) ^ - container.hash(self.documentType) ^ - container.hash(self.fileStore) ^ - container.hash(self.documentUid) ^ - container.hash(self.status); - @override - bool equals(Documents self, Documents other) => - container.isEqual(self.additionalDetails, other.additionalDetails) && - container.isEqual(self.contractId, other.contractId) && - container.isEqual(self.id, other.id) && - container.isEqual(self.documentType, other.documentType) && - container.isEqual(self.fileStore, other.fileStore) && - container.isEqual(self.documentUid, other.documentUid) && - container.isEqual(self.status, other.status); + int get hashCode { + return DescriptionMapper.ensureInitialized().hashValue(this as Description); + } } -mixin DocumentsMappable { - String toJson() => DocumentsMapper.container.toJson(this as Documents); - Map toMap() => - DocumentsMapper.container.toMap(this as Documents); - DocumentsCopyWith get copyWith => - _DocumentsCopyWithImpl(this as Documents, $identity, $identity); - @override - String toString() => DocumentsMapper.container.asString(this); - @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - DocumentsMapper.container.isEqual(this, other)); - @override - int get hashCode => DocumentsMapper.container.hash(this); +extension DescriptionValueCopy<$R, $Out> + on ObjectCopyWith<$R, Description, $Out> { + DescriptionCopyWith<$R, Description, $Out> get $asDescription => + $base.as((v, t, t2) => _DescriptionCopyWithImpl(v, t, t2)); } -extension DocumentsValueCopy<$R, $Out extends Documents> - on ObjectCopyWith<$R, Documents, $Out> { - DocumentsCopyWith<$R, Documents, $Out> get asDocuments => - base.as((v, t, t2) => _DocumentsCopyWithImpl(v, t, t2)); +abstract class DescriptionCopyWith<$R, $In extends Description, $Out> + implements ClassCopyWith<$R, $In, $Out> { + $R call({String? description}); + DescriptionCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>(Then<$Out2, $R2> t); } -typedef DocumentsCopyWithBound = Documents; - -abstract class DocumentsCopyWith<$R, $In extends Documents, - $Out extends Documents> implements ObjectCopyWith<$R, $In, $Out> { - DocumentsCopyWith<$R2, $In, $Out2> chain<$R2, $Out2 extends Documents>( - Then t, Then<$Out2, $R2> t2); - DocumentAdditionalDetailsCopyWith<$R, DocumentAdditionalDetails, - DocumentAdditionalDetails>? get additionalDetails; - $R call( - {DocumentAdditionalDetails? additionalDetails, - String? contractId, - String? id, - String? documentType, - String? status, - String? documentUid, - String? fileStore}); -} +class _DescriptionCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, Description, $Out> + implements DescriptionCopyWith<$R, Description, $Out> { + _DescriptionCopyWithImpl(super.value, super.then, super.then2); -class _DocumentsCopyWithImpl<$R, $Out extends Documents> - extends CopyWithBase<$R, Documents, $Out> - implements DocumentsCopyWith<$R, Documents, $Out> { - _DocumentsCopyWithImpl(super.value, super.then, super.then2); @override - DocumentsCopyWith<$R2, Documents, $Out2> chain<$R2, $Out2 extends Documents>( - Then t, Then<$Out2, $R2> t2) => - _DocumentsCopyWithImpl($value, t, t2); - + late final ClassMapperBase $mapper = + DescriptionMapper.ensureInitialized(); @override - DocumentAdditionalDetailsCopyWith<$R, DocumentAdditionalDetails, - DocumentAdditionalDetails>? - get additionalDetails => $value.additionalDetails?.copyWith - .chain($identity, (v) => call(additionalDetails: v)); + $R call({Object? description = $none}) => $apply( + FieldCopyWithData({if (description != $none) #description: description})); @override - $R call( - {Object? additionalDetails = $none, - Object? contractId = $none, - Object? id = $none, - Object? documentType = $none, - Object? status = $none, - Object? documentUid = $none, - Object? fileStore = $none}) => - $then(Documents( - additionalDetails: or(additionalDetails, $value.additionalDetails), - contractId: or(contractId, $value.contractId), - id: or(id, $value.id), - documentType: or(documentType, $value.documentType), - status: or(status, $value.status), - documentUid: or(documentUid, $value.documentUid), - fileStore: or(fileStore, $value.fileStore))); + Description $make(CopyWithData data) => + Description(description: data.get(#description, or: $value.description)); + + @override + DescriptionCopyWith<$R2, Description, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _DescriptionCopyWithImpl($value, $cast, t); } -class DocumentAdditionalDetailsMapper - extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {DocumentAdditionalDetailsMapper()}, - ); +class OfficerInChargeMapper extends ClassMapperBase { + OfficerInChargeMapper._(); - @override - DocumentAdditionalDetailsMapperElement createElement( - MapperContainer container) { - return DocumentAdditionalDetailsMapperElement._(this, container); + static OfficerInChargeMapper? _instance; + static OfficerInChargeMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = OfficerInChargeMapper._()); + } + return _instance!; } @override - String get id => 'DocumentAdditionalDetails'; + final String id = 'OfficerInCharge'; - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; -} - -class DocumentAdditionalDetailsMapperElement - extends MapperElementBase { - DocumentAdditionalDetailsMapperElement._(super.mapper, super.container); + static String? _$code(OfficerInCharge v) => v.code; + static const Field _f$code = + Field('code', _$code, opt: true); + static String? _$name(OfficerInCharge v) => v.name; + static const Field _f$name = + Field('name', _$name, opt: true); @override - Function get decoder => decode; - DocumentAdditionalDetails decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - DocumentAdditionalDetails fromMap(Map map) => - DocumentAdditionalDetails(container.$getOpt(map, 'fileName'), - container.$getOpt(map, 'otherCategoryName')); + final MappableFields fields = const { + #code: _f$code, + #name: _f$name, + }; - @override - Function get encoder => encode; - dynamic encode(DocumentAdditionalDetails v) => toMap(v); - Map toMap(DocumentAdditionalDetails d) => { - 'fileName': container.$enc(d.fileName, 'fileName'), - 'otherCategoryName': - container.$enc(d.otherCategoryName, 'otherCategoryName') - }; + static OfficerInCharge _instantiate(DecodingData data) { + return OfficerInCharge(code: data.dec(_f$code), name: data.dec(_f$name)); + } @override - String stringify(DocumentAdditionalDetails self) => - 'DocumentAdditionalDetails(fileName: ${container.asString(self.fileName)}, otherCategoryName: ${container.asString(self.otherCategoryName)})'; - @override - int hash(DocumentAdditionalDetails self) => - container.hash(self.fileName) ^ container.hash(self.otherCategoryName); - @override - bool equals( - DocumentAdditionalDetails self, DocumentAdditionalDetails other) => - container.isEqual(self.fileName, other.fileName) && - container.isEqual(self.otherCategoryName, other.otherCategoryName); -} + final Function instantiate = _instantiate; -mixin DocumentAdditionalDetailsMappable { - String toJson() => DocumentAdditionalDetailsMapper.container - .toJson(this as DocumentAdditionalDetails); - Map toMap() => DocumentAdditionalDetailsMapper.container - .toMap(this as DocumentAdditionalDetails); - DocumentAdditionalDetailsCopyWith - get copyWith => _DocumentAdditionalDetailsCopyWithImpl( - this as DocumentAdditionalDetails, $identity, $identity); - @override - String toString() => DocumentAdditionalDetailsMapper.container.asString(this); - @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - DocumentAdditionalDetailsMapper.container.isEqual(this, other)); - @override - int get hashCode => DocumentAdditionalDetailsMapper.container.hash(this); -} + static OfficerInCharge fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } -extension DocumentAdditionalDetailsValueCopy<$R, - $Out extends DocumentAdditionalDetails> - on ObjectCopyWith<$R, DocumentAdditionalDetails, $Out> { - DocumentAdditionalDetailsCopyWith<$R, DocumentAdditionalDetails, $Out> - get asDocumentAdditionalDetails => base - .as((v, t, t2) => _DocumentAdditionalDetailsCopyWithImpl(v, t, t2)); + static OfficerInCharge fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -typedef DocumentAdditionalDetailsCopyWithBound = DocumentAdditionalDetails; - -abstract class DocumentAdditionalDetailsCopyWith< - $R, - $In extends DocumentAdditionalDetails, - $Out extends DocumentAdditionalDetails> - implements ObjectCopyWith<$R, $In, $Out> { - DocumentAdditionalDetailsCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends DocumentAdditionalDetails>( - Then t, Then<$Out2, $R2> t2); - $R call({String? fileName, String? otherCategoryName}); -} +mixin OfficerInChargeMappable { + String toJson() { + return OfficerInChargeMapper.ensureInitialized() + .encodeJson(this as OfficerInCharge); + } -class _DocumentAdditionalDetailsCopyWithImpl<$R, - $Out extends DocumentAdditionalDetails> - extends CopyWithBase<$R, DocumentAdditionalDetails, $Out> - implements - DocumentAdditionalDetailsCopyWith<$R, DocumentAdditionalDetails, $Out> { - _DocumentAdditionalDetailsCopyWithImpl(super.value, super.then, super.then2); - @override - DocumentAdditionalDetailsCopyWith<$R2, DocumentAdditionalDetails, $Out2> - chain<$R2, $Out2 extends DocumentAdditionalDetails>( - Then t, Then<$Out2, $R2> t2) => - _DocumentAdditionalDetailsCopyWithImpl($value, t, t2); + Map toMap() { + return OfficerInChargeMapper.ensureInitialized() + .encodeMap(this as OfficerInCharge); + } + OfficerInChargeCopyWith + get copyWith => _OfficerInChargeCopyWithImpl( + this as OfficerInCharge, $identity, $identity); @override - $R call({Object? fileName = $none, Object? otherCategoryName = $none}) => - $then(DocumentAdditionalDetails(or(fileName, $value.fileName), - or(otherCategoryName, $value.otherCategoryName))); -} - -class AmountBreakupsMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {AmountBreakupsMapper()}, - ); + String toString() { + return OfficerInChargeMapper.ensureInitialized() + .stringifyValue(this as OfficerInCharge); + } @override - AmountBreakupsMapperElement createElement(MapperContainer container) { - return AmountBreakupsMapperElement._(this, container); + bool operator ==(Object other) { + return OfficerInChargeMapper.ensureInitialized() + .equalsValue(this as OfficerInCharge, other); } @override - String get id => 'AmountBreakups'; - - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; + int get hashCode { + return OfficerInChargeMapper.ensureInitialized() + .hashValue(this as OfficerInCharge); + } } -class AmountBreakupsMapperElement extends MapperElementBase { - AmountBreakupsMapperElement._(super.mapper, super.container); +extension OfficerInChargeValueCopy<$R, $Out> + on ObjectCopyWith<$R, OfficerInCharge, $Out> { + OfficerInChargeCopyWith<$R, OfficerInCharge, $Out> get $asOfficerInCharge => + $base.as((v, t, t2) => _OfficerInChargeCopyWithImpl(v, t, t2)); +} - @override - Function get decoder => decode; - AmountBreakups decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - AmountBreakups fromMap(Map map) => AmountBreakups( - id: container.$getOpt(map, 'id'), - status: container.$getOpt(map, 'status'), - additionalDetails: container.$getOpt(map, 'additionalDetails'), - amount: container.$getOpt(map, 'amount'), - estimateAmountBreakupId: - container.$getOpt(map, 'estimateAmountBreakupId')); +abstract class OfficerInChargeCopyWith<$R, $In extends OfficerInCharge, $Out> + implements ClassCopyWith<$R, $In, $Out> { + $R call({String? code, String? name}); + OfficerInChargeCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); +} - @override - Function get encoder => encode; - dynamic encode(AmountBreakups v) => toMap(v); - Map toMap(AmountBreakups a) => { - 'id': container.$enc(a.id, 'id'), - 'status': container.$enc(a.status, 'status'), - 'additionalDetails': - container.$enc(a.additionalDetails, 'additionalDetails'), - 'amount': container.$enc(a.amount, 'amount'), - 'estimateAmountBreakupId': - container.$enc(a.estimateAmountBreakupId, 'estimateAmountBreakupId') - }; +class _OfficerInChargeCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, OfficerInCharge, $Out> + implements OfficerInChargeCopyWith<$R, OfficerInCharge, $Out> { + _OfficerInChargeCopyWithImpl(super.value, super.then, super.then2); @override - String stringify(AmountBreakups self) => - 'AmountBreakups(id: ${container.asString(self.id)}, estimateAmountBreakupId: ${container.asString(self.estimateAmountBreakupId)}, amount: ${container.asString(self.amount)}, status: ${container.asString(self.status)}, additionalDetails: ${container.asString(self.additionalDetails)})'; + late final ClassMapperBase $mapper = + OfficerInChargeMapper.ensureInitialized(); @override - int hash(AmountBreakups self) => - container.hash(self.id) ^ - container.hash(self.estimateAmountBreakupId) ^ - container.hash(self.amount) ^ - container.hash(self.status) ^ - container.hash(self.additionalDetails); + $R call({Object? code = $none, Object? name = $none}) => + $apply(FieldCopyWithData( + {if (code != $none) #code: code, if (name != $none) #name: name})); @override - bool equals(AmountBreakups self, AmountBreakups other) => - container.isEqual(self.id, other.id) && - container.isEqual( - self.estimateAmountBreakupId, other.estimateAmountBreakupId) && - container.isEqual(self.amount, other.amount) && - container.isEqual(self.status, other.status) && - container.isEqual(self.additionalDetails, other.additionalDetails); -} + OfficerInCharge $make(CopyWithData data) => OfficerInCharge( + code: data.get(#code, or: $value.code), + name: data.get(#name, or: $value.name)); -mixin AmountBreakupsMappable { - String toJson() => - AmountBreakupsMapper.container.toJson(this as AmountBreakups); - Map toMap() => - AmountBreakupsMapper.container.toMap(this as AmountBreakups); - AmountBreakupsCopyWith - get copyWith => _AmountBreakupsCopyWithImpl( - this as AmountBreakups, $identity, $identity); @override - String toString() => AmountBreakupsMapper.container.asString(this); - @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - AmountBreakupsMapper.container.isEqual(this, other)); - @override - int get hashCode => AmountBreakupsMapper.container.hash(this); -} - -extension AmountBreakupsValueCopy<$R, $Out extends AmountBreakups> - on ObjectCopyWith<$R, AmountBreakups, $Out> { - AmountBreakupsCopyWith<$R, AmountBreakups, $Out> get asAmountBreakups => - base.as((v, t, t2) => _AmountBreakupsCopyWithImpl(v, t, t2)); + OfficerInChargeCopyWith<$R2, OfficerInCharge, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t) => + _OfficerInChargeCopyWithImpl($value, $cast, t); } -typedef AmountBreakupsCopyWithBound = AmountBreakups; - -abstract class AmountBreakupsCopyWith<$R, $In extends AmountBreakups, - $Out extends AmountBreakups> implements ObjectCopyWith<$R, $In, $Out> { - AmountBreakupsCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends AmountBreakups>( - Then t, Then<$Out2, $R2> t2); - $R call( - {String? id, - String? status, - double? additionalDetails, - String? amount, - String? estimateAmountBreakupId}); -} +class ORGAdditionalDetailsMapper extends ClassMapperBase { + ORGAdditionalDetailsMapper._(); -class _AmountBreakupsCopyWithImpl<$R, $Out extends AmountBreakups> - extends CopyWithBase<$R, AmountBreakups, $Out> - implements AmountBreakupsCopyWith<$R, AmountBreakups, $Out> { - _AmountBreakupsCopyWithImpl(super.value, super.then, super.then2); - @override - AmountBreakupsCopyWith<$R2, AmountBreakups, $Out2> - chain<$R2, $Out2 extends AmountBreakups>( - Then t, Then<$Out2, $R2> t2) => - _AmountBreakupsCopyWithImpl($value, t, t2); + static ORGAdditionalDetailsMapper? _instance; + static ORGAdditionalDetailsMapper ensureInitialized() { + if (_instance == null) { + MapperContainer.globals.use(_instance = ORGAdditionalDetailsMapper._()); + } + return _instance!; + } @override - $R call( - {Object? id = $none, - Object? status = $none, - Object? additionalDetails = $none, - Object? amount = $none, - Object? estimateAmountBreakupId = $none}) => - $then(AmountBreakups( - id: or(id, $value.id), - status: or(status, $value.status), - additionalDetails: or(additionalDetails, $value.additionalDetails), - amount: or(amount, $value.amount), - estimateAmountBreakupId: - or(estimateAmountBreakupId, $value.estimateAmountBreakupId))); -} + final String id = 'ORGAdditionalDetails'; -class ContractStateMapper extends MapperBase { - static MapperContainer container = MapperContainer( - mappers: {ContractStateMapper()}, - )..linkAll({ContractAuditDetailsMapper.container}); + static String? _$deptRegistrationNum(ORGAdditionalDetails v) => + v.deptRegistrationNum; + static const Field _f$deptRegistrationNum = + Field('deptRegistrationNum', _$deptRegistrationNum, opt: true); + static String? _$registeredByDept(ORGAdditionalDetails v) => + v.registeredByDept; + static const Field _f$registeredByDept = + Field('registeredByDept', _$registeredByDept, opt: true); @override - ContractStateMapperElement createElement(MapperContainer container) { - return ContractStateMapperElement._(this, container); + final MappableFields fields = const { + #deptRegistrationNum: _f$deptRegistrationNum, + #registeredByDept: _f$registeredByDept, + }; + + static ORGAdditionalDetails _instantiate(DecodingData data) { + return ORGAdditionalDetails( + deptRegistrationNum: data.dec(_f$deptRegistrationNum), + registeredByDept: data.dec(_f$registeredByDept)); } @override - String get id => 'ContractState'; + final Function instantiate = _instantiate; + + static ORGAdditionalDetails fromMap(Map map) { + return ensureInitialized().decodeMap(map); + } - static final fromMap = container.fromMap; - static final fromJson = container.fromJson; + static ORGAdditionalDetails fromJson(String json) { + return ensureInitialized().decodeJson(json); + } } -class ContractStateMapperElement extends MapperElementBase { - ContractStateMapperElement._(super.mapper, super.container); +mixin ORGAdditionalDetailsMappable { + String toJson() { + return ORGAdditionalDetailsMapper.ensureInitialized() + .encodeJson(this as ORGAdditionalDetails); + } - @override - Function get decoder => decode; - ContractState decode(dynamic v) => - checkedType(v, (Map map) => fromMap(map)); - ContractState fromMap(Map map) => ContractState( - auditDetails: container.$getOpt(map, 'auditDetails'), - uuid: container.$getOpt(map, 'uuid'), - tenantId: container.$getOpt(map, 'tenantId'), - state: container.$getOpt(map, 'state'), - applicationStatus: container.$getOpt(map, 'applicationStatus'), - businessServiceId: container.$getOpt(map, 'businessServiceId')); + Map toMap() { + return ORGAdditionalDetailsMapper.ensureInitialized() + .encodeMap(this as ORGAdditionalDetails); + } + ORGAdditionalDetailsCopyWith + get copyWith => _ORGAdditionalDetailsCopyWithImpl( + this as ORGAdditionalDetails, $identity, $identity); @override - Function get encoder => encode; - dynamic encode(ContractState v) => toMap(v); - Map toMap(ContractState c) => { - 'auditDetails': container.$enc(c.auditDetails, 'auditDetails'), - 'uuid': container.$enc(c.uuid, 'uuid'), - 'tenantId': container.$enc(c.tenantId, 'tenantId'), - 'state': container.$enc(c.state, 'state'), - 'applicationStatus': - container.$enc(c.applicationStatus, 'applicationStatus'), - 'businessServiceId': - container.$enc(c.businessServiceId, 'businessServiceId') - }; + String toString() { + return ORGAdditionalDetailsMapper.ensureInitialized() + .stringifyValue(this as ORGAdditionalDetails); + } @override - String stringify(ContractState self) => - 'ContractState(auditDetails: ${container.asString(self.auditDetails)}, uuid: ${container.asString(self.uuid)}, tenantId: ${container.asString(self.tenantId)}, businessServiceId: ${container.asString(self.businessServiceId)}, applicationStatus: ${container.asString(self.applicationStatus)}, state: ${container.asString(self.state)})'; - @override - int hash(ContractState self) => - container.hash(self.auditDetails) ^ - container.hash(self.uuid) ^ - container.hash(self.tenantId) ^ - container.hash(self.businessServiceId) ^ - container.hash(self.applicationStatus) ^ - container.hash(self.state); - @override - bool equals(ContractState self, ContractState other) => - container.isEqual(self.auditDetails, other.auditDetails) && - container.isEqual(self.uuid, other.uuid) && - container.isEqual(self.tenantId, other.tenantId) && - container.isEqual(self.businessServiceId, other.businessServiceId) && - container.isEqual(self.applicationStatus, other.applicationStatus) && - container.isEqual(self.state, other.state); -} + bool operator ==(Object other) { + return ORGAdditionalDetailsMapper.ensureInitialized() + .equalsValue(this as ORGAdditionalDetails, other); + } -mixin ContractStateMappable { - String toJson() => - ContractStateMapper.container.toJson(this as ContractState); - Map toMap() => - ContractStateMapper.container.toMap(this as ContractState); - ContractStateCopyWith - get copyWith => _ContractStateCopyWithImpl( - this as ContractState, $identity, $identity); - @override - String toString() => ContractStateMapper.container.asString(this); @override - bool operator ==(Object other) => - identical(this, other) || - (runtimeType == other.runtimeType && - ContractStateMapper.container.isEqual(this, other)); - @override - int get hashCode => ContractStateMapper.container.hash(this); + int get hashCode { + return ORGAdditionalDetailsMapper.ensureInitialized() + .hashValue(this as ORGAdditionalDetails); + } } -extension ContractStateValueCopy<$R, $Out extends ContractState> - on ObjectCopyWith<$R, ContractState, $Out> { - ContractStateCopyWith<$R, ContractState, $Out> get asContractState => - base.as((v, t, t2) => _ContractStateCopyWithImpl(v, t, t2)); +extension ORGAdditionalDetailsValueCopy<$R, $Out> + on ObjectCopyWith<$R, ORGAdditionalDetails, $Out> { + ORGAdditionalDetailsCopyWith<$R, ORGAdditionalDetails, $Out> + get $asORGAdditionalDetails => + $base.as((v, t, t2) => _ORGAdditionalDetailsCopyWithImpl(v, t, t2)); } -typedef ContractStateCopyWithBound = ContractState; - -abstract class ContractStateCopyWith<$R, $In extends ContractState, - $Out extends ContractState> implements ObjectCopyWith<$R, $In, $Out> { - ContractStateCopyWith<$R2, $In, $Out2> - chain<$R2, $Out2 extends ContractState>( - Then t, Then<$Out2, $R2> t2); - ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? - get auditDetails; - $R call( - {ContractAuditDetails? auditDetails, - String? uuid, - String? tenantId, - String? state, - String? applicationStatus, - String? businessServiceId}); +abstract class ORGAdditionalDetailsCopyWith< + $R, + $In extends ORGAdditionalDetails, + $Out> implements ClassCopyWith<$R, $In, $Out> { + $R call({String? deptRegistrationNum, String? registeredByDept}); + ORGAdditionalDetailsCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( + Then<$Out2, $R2> t); } -class _ContractStateCopyWithImpl<$R, $Out extends ContractState> - extends CopyWithBase<$R, ContractState, $Out> - implements ContractStateCopyWith<$R, ContractState, $Out> { - _ContractStateCopyWithImpl(super.value, super.then, super.then2); - @override - ContractStateCopyWith<$R2, ContractState, $Out2> - chain<$R2, $Out2 extends ContractState>( - Then t, Then<$Out2, $R2> t2) => - _ContractStateCopyWithImpl($value, t, t2); +class _ORGAdditionalDetailsCopyWithImpl<$R, $Out> + extends ClassCopyWithBase<$R, ORGAdditionalDetails, $Out> + implements ORGAdditionalDetailsCopyWith<$R, ORGAdditionalDetails, $Out> { + _ORGAdditionalDetailsCopyWithImpl(super.value, super.then, super.then2); @override - ContractAuditDetailsCopyWith<$R, ContractAuditDetails, ContractAuditDetails>? - get auditDetails => $value.auditDetails?.copyWith - .chain($identity, (v) => call(auditDetails: v)); + late final ClassMapperBase $mapper = + ORGAdditionalDetailsMapper.ensureInitialized(); @override $R call( - {Object? auditDetails = $none, - Object? uuid = $none, - Object? tenantId = $none, - Object? state = $none, - Object? applicationStatus = $none, - Object? businessServiceId = $none}) => - $then(ContractState( - auditDetails: or(auditDetails, $value.auditDetails), - uuid: or(uuid, $value.uuid), - tenantId: or(tenantId, $value.tenantId), - state: or(state, $value.state), - applicationStatus: or(applicationStatus, $value.applicationStatus), - businessServiceId: or(businessServiceId, $value.businessServiceId))); + {Object? deptRegistrationNum = $none, + Object? registeredByDept = $none}) => + $apply(FieldCopyWithData({ + if (deptRegistrationNum != $none) + #deptRegistrationNum: deptRegistrationNum, + if (registeredByDept != $none) #registeredByDept: registeredByDept + })); + @override + ORGAdditionalDetails $make(CopyWithData data) => ORGAdditionalDetails( + deptRegistrationNum: + data.get(#deptRegistrationNum, or: $value.deptRegistrationNum), + registeredByDept: + data.get(#registeredByDept, or: $value.registeredByDept)); + + @override + ORGAdditionalDetailsCopyWith<$R2, ORGAdditionalDetails, $Out2> + $chain<$R2, $Out2>(Then<$Out2, $R2> t) => + _ORGAdditionalDetailsCopyWithImpl($value, $cast, t); } diff --git a/frontend/works_shg_app/lib/models/works/my_works_search_criteria.freezed.dart b/frontend/works_shg_app/lib/models/works/my_works_search_criteria.freezed.dart index 600d77ce2e..cf05cf3dd9 100644 --- a/frontend/works_shg_app/lib/models/works/my_works_search_criteria.freezed.dart +++ b/frontend/works_shg_app/lib/models/works/my_works_search_criteria.freezed.dart @@ -12,7 +12,7 @@ part of 'my_works_search_criteria.dart'; T _$identity(T value) => value; final _privateConstructorUsedError = UnsupportedError( - 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods'); + 'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models'); MyWorksSearchCriteriaModel _$MyWorksSearchCriteriaModelFromJson( Map json) { @@ -81,12 +81,12 @@ class _$MyWorksSearchCriteriaModelCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_MyWorksSearchCriteriaModelCopyWith<$Res> +abstract class _$$MyWorksSearchCriteriaModelImplCopyWith<$Res> implements $MyWorksSearchCriteriaModelCopyWith<$Res> { - factory _$$_MyWorksSearchCriteriaModelCopyWith( - _$_MyWorksSearchCriteriaModel value, - $Res Function(_$_MyWorksSearchCriteriaModel) then) = - __$$_MyWorksSearchCriteriaModelCopyWithImpl<$Res>; + factory _$$MyWorksSearchCriteriaModelImplCopyWith( + _$MyWorksSearchCriteriaModelImpl value, + $Res Function(_$MyWorksSearchCriteriaModelImpl) then) = + __$$MyWorksSearchCriteriaModelImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -97,13 +97,13 @@ abstract class _$$_MyWorksSearchCriteriaModelCopyWith<$Res> } /// @nodoc -class __$$_MyWorksSearchCriteriaModelCopyWithImpl<$Res> +class __$$MyWorksSearchCriteriaModelImplCopyWithImpl<$Res> extends _$MyWorksSearchCriteriaModelCopyWithImpl<$Res, - _$_MyWorksSearchCriteriaModel> - implements _$$_MyWorksSearchCriteriaModelCopyWith<$Res> { - __$$_MyWorksSearchCriteriaModelCopyWithImpl( - _$_MyWorksSearchCriteriaModel _value, - $Res Function(_$_MyWorksSearchCriteriaModel) _then) + _$MyWorksSearchCriteriaModelImpl> + implements _$$MyWorksSearchCriteriaModelImplCopyWith<$Res> { + __$$MyWorksSearchCriteriaModelImplCopyWithImpl( + _$MyWorksSearchCriteriaModelImpl _value, + $Res Function(_$MyWorksSearchCriteriaModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -111,7 +111,7 @@ class __$$_MyWorksSearchCriteriaModelCopyWithImpl<$Res> $Res call({ Object? commonUiConfig = freezed, }) { - return _then(_$_MyWorksSearchCriteriaModel( + return _then(_$MyWorksSearchCriteriaModelImpl( commonUiConfig: freezed == commonUiConfig ? _value.commonUiConfig : commonUiConfig // ignore: cast_nullable_to_non_nullable @@ -122,12 +122,13 @@ class __$$_MyWorksSearchCriteriaModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_MyWorksSearchCriteriaModel implements _MyWorksSearchCriteriaModel { - const _$_MyWorksSearchCriteriaModel( +class _$MyWorksSearchCriteriaModelImpl implements _MyWorksSearchCriteriaModel { + const _$MyWorksSearchCriteriaModelImpl( {@JsonKey(name: 'commonUiConfig') this.commonUiConfig}); - factory _$_MyWorksSearchCriteriaModel.fromJson(Map json) => - _$$_MyWorksSearchCriteriaModelFromJson(json); + factory _$MyWorksSearchCriteriaModelImpl.fromJson( + Map json) => + _$$MyWorksSearchCriteriaModelImplFromJson(json); @override @JsonKey(name: 'commonUiConfig') @@ -139,10 +140,10 @@ class _$_MyWorksSearchCriteriaModel implements _MyWorksSearchCriteriaModel { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_MyWorksSearchCriteriaModel && + other is _$MyWorksSearchCriteriaModelImpl && (identical(other.commonUiConfig, commonUiConfig) || other.commonUiConfig == commonUiConfig)); } @@ -154,13 +155,13 @@ class _$_MyWorksSearchCriteriaModel implements _MyWorksSearchCriteriaModel { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_MyWorksSearchCriteriaModelCopyWith<_$_MyWorksSearchCriteriaModel> - get copyWith => __$$_MyWorksSearchCriteriaModelCopyWithImpl< - _$_MyWorksSearchCriteriaModel>(this, _$identity); + _$$MyWorksSearchCriteriaModelImplCopyWith<_$MyWorksSearchCriteriaModelImpl> + get copyWith => __$$MyWorksSearchCriteriaModelImplCopyWithImpl< + _$MyWorksSearchCriteriaModelImpl>(this, _$identity); @override Map toJson() { - return _$$_MyWorksSearchCriteriaModelToJson( + return _$$MyWorksSearchCriteriaModelImplToJson( this, ); } @@ -170,18 +171,18 @@ abstract class _MyWorksSearchCriteriaModel implements MyWorksSearchCriteriaModel { const factory _MyWorksSearchCriteriaModel( {@JsonKey(name: 'commonUiConfig') - final CommonUIConfigModel? commonUiConfig}) = - _$_MyWorksSearchCriteriaModel; + final CommonUIConfigModel? commonUiConfig}) = + _$MyWorksSearchCriteriaModelImpl; factory _MyWorksSearchCriteriaModel.fromJson(Map json) = - _$_MyWorksSearchCriteriaModel.fromJson; + _$MyWorksSearchCriteriaModelImpl.fromJson; @override @JsonKey(name: 'commonUiConfig') CommonUIConfigModel? get commonUiConfig; @override @JsonKey(ignore: true) - _$$_MyWorksSearchCriteriaModelCopyWith<_$_MyWorksSearchCriteriaModel> + _$$MyWorksSearchCriteriaModelImplCopyWith<_$MyWorksSearchCriteriaModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -243,25 +244,25 @@ class _$CBOMyWorksSearchCriteriaModelCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_CBOMyWorksSearchCriteriaModelCopyWith<$Res> +abstract class _$$CBOMyWorksSearchCriteriaModelImplCopyWith<$Res> implements $CBOMyWorksSearchCriteriaModelCopyWith<$Res> { - factory _$$_CBOMyWorksSearchCriteriaModelCopyWith( - _$_CBOMyWorksSearchCriteriaModel value, - $Res Function(_$_CBOMyWorksSearchCriteriaModel) then) = - __$$_CBOMyWorksSearchCriteriaModelCopyWithImpl<$Res>; + factory _$$CBOMyWorksSearchCriteriaModelImplCopyWith( + _$CBOMyWorksSearchCriteriaModelImpl value, + $Res Function(_$CBOMyWorksSearchCriteriaModelImpl) then) = + __$$CBOMyWorksSearchCriteriaModelImplCopyWithImpl<$Res>; @override @useResult $Res call({List? searchCriteria, String? acceptCode}); } /// @nodoc -class __$$_CBOMyWorksSearchCriteriaModelCopyWithImpl<$Res> +class __$$CBOMyWorksSearchCriteriaModelImplCopyWithImpl<$Res> extends _$CBOMyWorksSearchCriteriaModelCopyWithImpl<$Res, - _$_CBOMyWorksSearchCriteriaModel> - implements _$$_CBOMyWorksSearchCriteriaModelCopyWith<$Res> { - __$$_CBOMyWorksSearchCriteriaModelCopyWithImpl( - _$_CBOMyWorksSearchCriteriaModel _value, - $Res Function(_$_CBOMyWorksSearchCriteriaModel) _then) + _$CBOMyWorksSearchCriteriaModelImpl> + implements _$$CBOMyWorksSearchCriteriaModelImplCopyWith<$Res> { + __$$CBOMyWorksSearchCriteriaModelImplCopyWithImpl( + _$CBOMyWorksSearchCriteriaModelImpl _value, + $Res Function(_$CBOMyWorksSearchCriteriaModelImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -270,7 +271,7 @@ class __$$_CBOMyWorksSearchCriteriaModelCopyWithImpl<$Res> Object? searchCriteria = freezed, Object? acceptCode = freezed, }) { - return _then(_$_CBOMyWorksSearchCriteriaModel( + return _then(_$CBOMyWorksSearchCriteriaModelImpl( searchCriteria: freezed == searchCriteria ? _value._searchCriteria : searchCriteria // ignore: cast_nullable_to_non_nullable @@ -285,15 +286,15 @@ class __$$_CBOMyWorksSearchCriteriaModelCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_CBOMyWorksSearchCriteriaModel +class _$CBOMyWorksSearchCriteriaModelImpl implements _CBOMyWorksSearchCriteriaModel { - const _$_CBOMyWorksSearchCriteriaModel( + const _$CBOMyWorksSearchCriteriaModelImpl( {final List? searchCriteria, this.acceptCode}) : _searchCriteria = searchCriteria; - factory _$_CBOMyWorksSearchCriteriaModel.fromJson( + factory _$CBOMyWorksSearchCriteriaModelImpl.fromJson( Map json) => - _$$_CBOMyWorksSearchCriteriaModelFromJson(json); + _$$CBOMyWorksSearchCriteriaModelImplFromJson(json); final List? _searchCriteria; @override @@ -314,10 +315,10 @@ class _$_CBOMyWorksSearchCriteriaModel } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_CBOMyWorksSearchCriteriaModel && + other is _$CBOMyWorksSearchCriteriaModelImpl && const DeepCollectionEquality() .equals(other._searchCriteria, _searchCriteria) && (identical(other.acceptCode, acceptCode) || @@ -332,13 +333,14 @@ class _$_CBOMyWorksSearchCriteriaModel @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_CBOMyWorksSearchCriteriaModelCopyWith<_$_CBOMyWorksSearchCriteriaModel> - get copyWith => __$$_CBOMyWorksSearchCriteriaModelCopyWithImpl< - _$_CBOMyWorksSearchCriteriaModel>(this, _$identity); + _$$CBOMyWorksSearchCriteriaModelImplCopyWith< + _$CBOMyWorksSearchCriteriaModelImpl> + get copyWith => __$$CBOMyWorksSearchCriteriaModelImplCopyWithImpl< + _$CBOMyWorksSearchCriteriaModelImpl>(this, _$identity); @override Map toJson() { - return _$$_CBOMyWorksSearchCriteriaModelToJson( + return _$$CBOMyWorksSearchCriteriaModelImplToJson( this, ); } @@ -348,10 +350,10 @@ abstract class _CBOMyWorksSearchCriteriaModel implements CBOMyWorksSearchCriteriaModel { const factory _CBOMyWorksSearchCriteriaModel( {final List? searchCriteria, - final String? acceptCode}) = _$_CBOMyWorksSearchCriteriaModel; + final String? acceptCode}) = _$CBOMyWorksSearchCriteriaModelImpl; factory _CBOMyWorksSearchCriteriaModel.fromJson(Map json) = - _$_CBOMyWorksSearchCriteriaModel.fromJson; + _$CBOMyWorksSearchCriteriaModelImpl.fromJson; @override List? get searchCriteria; @@ -359,7 +361,8 @@ abstract class _CBOMyWorksSearchCriteriaModel String? get acceptCode; @override @JsonKey(ignore: true) - _$$_CBOMyWorksSearchCriteriaModelCopyWith<_$_CBOMyWorksSearchCriteriaModel> + _$$CBOMyWorksSearchCriteriaModelImplCopyWith< + _$CBOMyWorksSearchCriteriaModelImpl> get copyWith => throw _privateConstructorUsedError; } @@ -429,12 +432,12 @@ class _$CBOMyServiceRequestsConfigCopyWithImpl<$Res, } /// @nodoc -abstract class _$$_CBOMyServiceRequestsConfigCopyWith<$Res> +abstract class _$$CBOMyServiceRequestsConfigImplCopyWith<$Res> implements $CBOMyServiceRequestsConfigCopyWith<$Res> { - factory _$$_CBOMyServiceRequestsConfigCopyWith( - _$_CBOMyServiceRequestsConfig value, - $Res Function(_$_CBOMyServiceRequestsConfig) then) = - __$$_CBOMyServiceRequestsConfigCopyWithImpl<$Res>; + factory _$$CBOMyServiceRequestsConfigImplCopyWith( + _$CBOMyServiceRequestsConfigImpl value, + $Res Function(_$CBOMyServiceRequestsConfigImpl) then) = + __$$CBOMyServiceRequestsConfigImplCopyWithImpl<$Res>; @override @useResult $Res call( @@ -444,13 +447,13 @@ abstract class _$$_CBOMyServiceRequestsConfigCopyWith<$Res> } /// @nodoc -class __$$_CBOMyServiceRequestsConfigCopyWithImpl<$Res> +class __$$CBOMyServiceRequestsConfigImplCopyWithImpl<$Res> extends _$CBOMyServiceRequestsConfigCopyWithImpl<$Res, - _$_CBOMyServiceRequestsConfig> - implements _$$_CBOMyServiceRequestsConfigCopyWith<$Res> { - __$$_CBOMyServiceRequestsConfigCopyWithImpl( - _$_CBOMyServiceRequestsConfig _value, - $Res Function(_$_CBOMyServiceRequestsConfig) _then) + _$CBOMyServiceRequestsConfigImpl> + implements _$$CBOMyServiceRequestsConfigImplCopyWith<$Res> { + __$$CBOMyServiceRequestsConfigImplCopyWithImpl( + _$CBOMyServiceRequestsConfigImpl _value, + $Res Function(_$CBOMyServiceRequestsConfigImpl) _then) : super(_value, _then); @pragma('vm:prefer-inline') @@ -460,7 +463,7 @@ class __$$_CBOMyServiceRequestsConfigCopyWithImpl<$Res> Object? editActionCode = freezed, Object? searchCriteria = freezed, }) { - return _then(_$_CBOMyServiceRequestsConfig( + return _then(_$CBOMyServiceRequestsConfigImpl( editTimeExtReqCode: freezed == editTimeExtReqCode ? _value.editTimeExtReqCode : editTimeExtReqCode // ignore: cast_nullable_to_non_nullable @@ -479,12 +482,13 @@ class __$$_CBOMyServiceRequestsConfigCopyWithImpl<$Res> /// @nodoc @JsonSerializable() -class _$_CBOMyServiceRequestsConfig implements _CBOMyServiceRequestsConfig { - const _$_CBOMyServiceRequestsConfig( +class _$CBOMyServiceRequestsConfigImpl implements _CBOMyServiceRequestsConfig { + const _$CBOMyServiceRequestsConfigImpl( {this.editTimeExtReqCode, this.editActionCode, this.searchCriteria}); - factory _$_CBOMyServiceRequestsConfig.fromJson(Map json) => - _$$_CBOMyServiceRequestsConfigFromJson(json); + factory _$CBOMyServiceRequestsConfigImpl.fromJson( + Map json) => + _$$CBOMyServiceRequestsConfigImplFromJson(json); @override final String? editTimeExtReqCode; @@ -499,10 +503,10 @@ class _$_CBOMyServiceRequestsConfig implements _CBOMyServiceRequestsConfig { } @override - bool operator ==(dynamic other) { + bool operator ==(Object other) { return identical(this, other) || (other.runtimeType == runtimeType && - other is _$_CBOMyServiceRequestsConfig && + other is _$CBOMyServiceRequestsConfigImpl && (identical(other.editTimeExtReqCode, editTimeExtReqCode) || other.editTimeExtReqCode == editTimeExtReqCode) && (identical(other.editActionCode, editActionCode) || @@ -519,13 +523,13 @@ class _$_CBOMyServiceRequestsConfig implements _CBOMyServiceRequestsConfig { @JsonKey(ignore: true) @override @pragma('vm:prefer-inline') - _$$_CBOMyServiceRequestsConfigCopyWith<_$_CBOMyServiceRequestsConfig> - get copyWith => __$$_CBOMyServiceRequestsConfigCopyWithImpl< - _$_CBOMyServiceRequestsConfig>(this, _$identity); + _$$CBOMyServiceRequestsConfigImplCopyWith<_$CBOMyServiceRequestsConfigImpl> + get copyWith => __$$CBOMyServiceRequestsConfigImplCopyWithImpl< + _$CBOMyServiceRequestsConfigImpl>(this, _$identity); @override Map toJson() { - return _$$_CBOMyServiceRequestsConfigToJson( + return _$$CBOMyServiceRequestsConfigImplToJson( this, ); } @@ -536,10 +540,10 @@ abstract class _CBOMyServiceRequestsConfig const factory _CBOMyServiceRequestsConfig( {final String? editTimeExtReqCode, final String? editActionCode, - final String? searchCriteria}) = _$_CBOMyServiceRequestsConfig; + final String? searchCriteria}) = _$CBOMyServiceRequestsConfigImpl; factory _CBOMyServiceRequestsConfig.fromJson(Map json) = - _$_CBOMyServiceRequestsConfig.fromJson; + _$CBOMyServiceRequestsConfigImpl.fromJson; @override String? get editTimeExtReqCode; @@ -549,6 +553,6 @@ abstract class _CBOMyServiceRequestsConfig String? get searchCriteria; @override @JsonKey(ignore: true) - _$$_CBOMyServiceRequestsConfigCopyWith<_$_CBOMyServiceRequestsConfig> + _$$CBOMyServiceRequestsConfigImplCopyWith<_$CBOMyServiceRequestsConfigImpl> get copyWith => throw _privateConstructorUsedError; } diff --git a/frontend/works_shg_app/lib/models/works/my_works_search_criteria.g.dart b/frontend/works_shg_app/lib/models/works/my_works_search_criteria.g.dart index d5063c6126..c1b4814a19 100644 --- a/frontend/works_shg_app/lib/models/works/my_works_search_criteria.g.dart +++ b/frontend/works_shg_app/lib/models/works/my_works_search_criteria.g.dart @@ -6,47 +6,47 @@ part of 'my_works_search_criteria.dart'; // JsonSerializableGenerator // ************************************************************************** -_$_MyWorksSearchCriteriaModel _$$_MyWorksSearchCriteriaModelFromJson( +_$MyWorksSearchCriteriaModelImpl _$$MyWorksSearchCriteriaModelImplFromJson( Map json) => - _$_MyWorksSearchCriteriaModel( + _$MyWorksSearchCriteriaModelImpl( commonUiConfig: json['commonUiConfig'] == null ? null : CommonUIConfigModel.fromJson( json['commonUiConfig'] as Map), ); -Map _$$_MyWorksSearchCriteriaModelToJson( - _$_MyWorksSearchCriteriaModel instance) => +Map _$$MyWorksSearchCriteriaModelImplToJson( + _$MyWorksSearchCriteriaModelImpl instance) => { 'commonUiConfig': instance.commonUiConfig, }; -_$_CBOMyWorksSearchCriteriaModel _$$_CBOMyWorksSearchCriteriaModelFromJson( - Map json) => - _$_CBOMyWorksSearchCriteriaModel( - searchCriteria: (json['searchCriteria'] as List?) - ?.map((e) => e as String) - .toList(), - acceptCode: json['acceptCode'] as String?, - ); - -Map _$$_CBOMyWorksSearchCriteriaModelToJson( - _$_CBOMyWorksSearchCriteriaModel instance) => +_$CBOMyWorksSearchCriteriaModelImpl + _$$CBOMyWorksSearchCriteriaModelImplFromJson(Map json) => + _$CBOMyWorksSearchCriteriaModelImpl( + searchCriteria: (json['searchCriteria'] as List?) + ?.map((e) => e as String) + .toList(), + acceptCode: json['acceptCode'] as String?, + ); + +Map _$$CBOMyWorksSearchCriteriaModelImplToJson( + _$CBOMyWorksSearchCriteriaModelImpl instance) => { 'searchCriteria': instance.searchCriteria, 'acceptCode': instance.acceptCode, }; -_$_CBOMyServiceRequestsConfig _$$_CBOMyServiceRequestsConfigFromJson( +_$CBOMyServiceRequestsConfigImpl _$$CBOMyServiceRequestsConfigImplFromJson( Map json) => - _$_CBOMyServiceRequestsConfig( + _$CBOMyServiceRequestsConfigImpl( editTimeExtReqCode: json['editTimeExtReqCode'] as String?, editActionCode: json['editActionCode'] as String?, searchCriteria: json['searchCriteria'] as String?, ); -Map _$$_CBOMyServiceRequestsConfigToJson( - _$_CBOMyServiceRequestsConfig instance) => +Map _$$CBOMyServiceRequestsConfigImplToJson( + _$CBOMyServiceRequestsConfigImpl instance) => { 'editTimeExtReqCode': instance.editTimeExtReqCode, 'editActionCode': instance.editActionCode, diff --git a/frontend/works_shg_app/lib/pages/attendance_register_table.dart b/frontend/works_shg_app/lib/pages/attendance_register_table.dart index f3990730d0..64ff6df941 100644 --- a/frontend/works_shg_app/lib/pages/attendance_register_table.dart +++ b/frontend/works_shg_app/lib/pages/attendance_register_table.dart @@ -31,6 +31,7 @@ import '../widgets/atoms/auto_complete_search_bar.dart'; import '../widgets/drawer_wrapper.dart'; import '../widgets/loaders.dart' as shg_loader; +@RoutePage() class AttendanceRegisterTablePage extends StatefulWidget { final String registerId; final String tenantId; @@ -166,6 +167,7 @@ class _AttendanceRegisterTablePage extends State { ), ), appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -609,7 +611,9 @@ class _AttendanceRegisterTablePage extends State { const SizedBox(height: 30), const Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ), ])) ],), diff --git a/frontend/works_shg_app/lib/pages/authenticated.dart b/frontend/works_shg_app/lib/pages/authenticated.dart index 150bb4d24d..d29d497604 100644 --- a/frontend/works_shg_app/lib/pages/authenticated.dart +++ b/frontend/works_shg_app/lib/pages/authenticated.dart @@ -6,11 +6,11 @@ import 'package:works_shg_app/blocs/organisation/org_search_bloc.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import '../blocs/localization/localization.dart'; - -class AuthenticatedPageWrapper extends StatefulWidget { - const AuthenticatedPageWrapper({ - Key? key, - }) : super(key: key); +@RoutePage() +class AuthenticatedWrapperPage extends StatefulWidget { + const AuthenticatedWrapperPage({ + super.key, + }); @override State createState() { @@ -18,7 +18,7 @@ class AuthenticatedPageWrapper extends StatefulWidget { } } -class _AuthenticatedPageWrapper extends State { +class _AuthenticatedPageWrapper extends State { String? selectedLocale; @override diff --git a/frontend/works_shg_app/lib/pages/bills/my_bills.dart b/frontend/works_shg_app/lib/pages/bills/my_bills.dart index b2d98f5f7d..5e53c6a40e 100644 --- a/frontend/works_shg_app/lib/pages/bills/my_bills.dart +++ b/frontend/works_shg_app/lib/pages/bills/my_bills.dart @@ -2,6 +2,7 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/my_bills/my_bills_inbox_bloc.dart'; +import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/date_formats.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -21,8 +22,9 @@ import '../../widgets/SideBar.dart'; import '../../widgets/atoms/app_bar_logo.dart'; import '../../widgets/drawer_wrapper.dart'; +@RoutePage() class MyBillsPage extends StatefulWidget { - const MyBillsPage({Key? key}) : super(key: key); + const MyBillsPage({super.key}); @override State createState() { @@ -56,6 +58,7 @@ class _MyBillsPage extends State { var t = AppLocalizations.of(context); return Scaffold( appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -72,7 +75,9 @@ class _MyBillsPage extends State { height: 30, child: Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ), ) : const SizedBox.shrink(); @@ -348,7 +353,9 @@ class _MyBillsPage extends State { ? const Align( alignment: Alignment .bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ) : const SizedBox.shrink() ]), diff --git a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart index 42a1dbe1e2..bbee852cae 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart @@ -29,6 +29,7 @@ import '../../widgets/drawer_wrapper.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; +@RoutePage() class MBTypeConfirmationPage extends StatefulWidget { final NextActions? nextActions; final String? contractNumber; @@ -151,6 +152,7 @@ class _MBTypeConfirmationPageState extends State { child: Scaffold( backgroundColor: const DigitColors().white, appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -254,7 +256,7 @@ class _MBTypeConfirmationPageState extends State { label: t.translate(i18.measurementBook.mbCancel), onPressed: () { - context.router.pop(); + context.router.maybePopTop(); }, ), ), @@ -267,7 +269,7 @@ class _MBTypeConfirmationPageState extends State { children: [ IconButton( onPressed: () { - context.router.pop(); + context.router.maybePopTop(); }, icon: const Icon(Icons.close)), ], @@ -482,7 +484,7 @@ class _MBTypeConfirmationPageState extends State { label: t.translate(i18.measurementBook.mbCancel), onPressed: () { - context.router.pop(); + context.router.maybePopTop(); }, ), ), @@ -495,7 +497,7 @@ class _MBTypeConfirmationPageState extends State { children: [ IconButton( onPressed: () { - context.router.pop(); + context.router.maybePopTop(); }, icon: const Icon(Icons.close)), ], diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index 6c6e86caed..dc0665e27c 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -41,6 +41,7 @@ import '../../widgets/mb/text_button_underline.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; +@RoutePage() class MBDetailPage extends StatefulWidget { final String contractNumber; final String mbNumber; @@ -623,6 +624,7 @@ class _MBDetailPageState extends State ), backgroundColor: const DigitColors().seaShellGray, appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -1899,7 +1901,7 @@ class CustomTab extends StatelessWidget { return GestureDetector( onTap: () => onTap(), child: Container( - height: 50, + height: 55, width: MediaQuery.sizeOf(context).width / 3, decoration: BoxDecoration( border: Border( @@ -1974,7 +1976,7 @@ class SORTableCard extends StatelessWidget { Widget build(BuildContext context) { final theme = Theme.of(context); return Padding( - padding: const EdgeInsets.only(top: 16), + padding: const EdgeInsets.only(top: 10), child: Container( decoration: BoxDecoration( color: color, diff --git a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart index 2f7bc6ddbd..8c0a6b03dd 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart @@ -24,6 +24,7 @@ import '../../widgets/drawer_wrapper.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; +@RoutePage() class MBFilterPage extends StatefulWidget { const MBFilterPage({super.key}); @@ -123,6 +124,7 @@ class _MBFilterPageState extends State { loaded: (location) { return Scaffold( appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -171,7 +173,7 @@ class _MBFilterPageState extends State { .tenantId!, ), ); - context.router.pop(); + context.router.maybePopTop(); }, ), ), @@ -225,7 +227,7 @@ class _MBFilterPageState extends State { data: s, ), ); - context.router.pop(); + context.router.maybePopTop(); } else { ToastUtils.showCustomToast( context, @@ -486,7 +488,7 @@ class _MBFilterPageState extends State { ); } - context.router.pop(); + context.router.maybePopTop(); } }, ), @@ -516,7 +518,7 @@ class _MBFilterPageState extends State { .tenantId!, ), ); - context.router.pop(); + context.router.maybePopTop(); }, icon: const Icon(Icons.close)), ], diff --git a/frontend/works_shg_app/lib/pages/employee/mb_history.dart b/frontend/works_shg_app/lib/pages/employee/mb_history.dart index f5924c3739..9ab60a9dc5 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_history.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_history.dart @@ -26,6 +26,7 @@ import 'mb_inbox.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; +@RoutePage() class MBHistoryBookPage extends StatefulWidget { final String contractNumber; final String mbNumber; @@ -188,6 +189,7 @@ class _MBHistoryBookPageState extends State { ), backgroundColor: const DigitColors().seaShellGray, appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -213,7 +215,7 @@ class _MBHistoryBookPageState extends State { Back( widget: null, callback: () { - context.router.pop(); + context.router.maybePopTop(); //Navigator.of(context).pop(); }, diff --git a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart index f3d561afee..c088059325 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart @@ -23,6 +23,7 @@ import '../../widgets/mb/mb_detail_card.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; +@RoutePage() class MeasurementBookInboxPage extends StatefulWidget { const MeasurementBookInboxPage({super.key}); @@ -155,6 +156,7 @@ class _MeasurementBookInboxPageState extends State { }, ), appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -187,7 +189,7 @@ class _MeasurementBookInboxPageState extends State { children: [ Back( callback: () { - context.router.pop(); + context.router.maybePop(); }, ), Padding( @@ -350,14 +352,27 @@ class _MeasurementBookInboxPageState extends State { child: SizedBox( width: MediaQuery.sizeOf(context).width, child: OutlinedButton( - style: OutlinedButton.styleFrom( - side: BorderSide( - width: 1.0, - color: const DigitColors() - .burningOrange, - style: BorderStyle.solid, - ), - ), + style: Theme.of(context) + .outlinedButtonTheme + .style + ?.copyWith( + side: MaterialStateProperty.all( + BorderSide( + width: 1.0, + color: const DigitColors() + .burningOrange, + style: BorderStyle.solid, + ), + ), + shape: + MaterialStateProperty.all( + RoundedRectangleBorder( + borderRadius: + BorderRadius.circular( + 5), + ), + ), + ), child: Text(t.translate( i18.measurementBook.openMbBook)), onPressed: () { diff --git a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart index 226a07cebe..200c294153 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart @@ -1,4 +1,5 @@ import 'package:collection/collection.dart'; +import 'package:digit_components/theme/colors.dart'; import 'package:digit_components/theme/digit_theme.dart'; import 'package:digit_components/widgets/widgets.dart'; import 'package:flutter/material.dart'; @@ -9,6 +10,7 @@ import 'package:works_shg_app/blocs/muster_rolls/get_muster_workflow.dart'; import 'package:works_shg_app/blocs/muster_rolls/muster_roll_pdf.dart'; import 'package:works_shg_app/blocs/muster_rolls/search_muster_roll.dart'; import 'package:works_shg_app/models/muster_rolls/muster_workflow_model.dart'; +import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/common_methods.dart'; import 'package:works_shg_app/utils/date_formats.dart'; import 'package:works_shg_app/utils/models/track_attendance_payload.dart'; @@ -29,6 +31,7 @@ import '../../widgets/Back.dart'; import '../../widgets/atoms/table_dropdown.dart'; import '../../widgets/drawer_wrapper.dart'; +@RoutePage() class MBMusterScreenPage extends StatefulWidget { final String tenantId; final String musterRollNumber; @@ -81,6 +84,7 @@ class _MBMusterScreenPageState extends State { builder: (context, localState) { return Scaffold( appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -402,7 +406,9 @@ class _MBMusterScreenPageState extends State { ]), const Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ) ])) diff --git a/frontend/works_shg_app/lib/pages/employee/mb_wrapper.dart b/frontend/works_shg_app/lib/pages/employee/mb_wrapper.dart index a9edcbb0cb..da3a6a1cf5 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_wrapper.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_wrapper.dart @@ -1,10 +1,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:freezed_annotation/freezed_annotation.dart'; import '../../blocs/employee/mb/measurement_book.dart'; import '../../router/app_router.dart'; -class MeasurementBookWrapperPage extends StatefulWidget with AutoRouteWrapper { +@RoutePage() +class MeasurementBookWrapperPage extends StatefulWidget implements AutoRouteWrapper { const MeasurementBookWrapperPage({super.key}); @override diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart index 6772c0203f..fd499d87d1 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart @@ -22,6 +22,7 @@ import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dar import '../../../widgets/drawer_wrapper.dart'; +@RoutePage() class WOFilterPage extends StatefulWidget { const WOFilterPage({super.key}); @@ -113,6 +114,7 @@ class _WOFilterPageState extends State { loaded: (organization) { return Scaffold( appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -151,7 +153,7 @@ class _WOFilterPageState extends State { tenantId: GlobalVariables.tenantId!, ), ); - context.router.pop(); + context.router.maybePopTop(); }, ), ), @@ -198,7 +200,7 @@ class _WOFilterPageState extends State { data: payload, limit: 10, offset: 0)); - context.router.pop(); + context.router.maybePopTop(); }, ), ) @@ -220,7 +222,7 @@ class _WOFilterPageState extends State { tenantId: GlobalVariables.tenantId!, ), ); - context.router.pop(); + context.router.maybePopTop(); }, icon: const Icon(Icons.close)), ], @@ -302,6 +304,7 @@ class _WOFilterPageState extends State { loading: () { return Scaffold( appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart index 4c5a70be9c..9104abe472 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart @@ -1,4 +1,3 @@ -import 'package:auto_route/auto_route.dart'; import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -17,6 +16,7 @@ import '../../../widgets/work_order/work_order_card.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; +@RoutePage() class WorkOrderDetailPage extends StatefulWidget { const WorkOrderDetailPage({super.key}); @@ -50,6 +50,7 @@ class _WorkOrderDetailPageState extends State { ), ), appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -67,7 +68,7 @@ class _WorkOrderDetailPageState extends State { callback: () { // context.router.popUntilRouteWithPath('home') ; // context.router.push(const WorkOrderRoute()); - context.router.pop(); + context.router.maybePopTop(); }, ), CommonWidgets.downloadButton( diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart index 51a24f364a..a89647ce38 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart @@ -28,6 +28,7 @@ import '../../../widgets/work_order/work_order_card.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; +@RoutePage() class WorkOderInboxPage extends StatefulWidget { const WorkOderInboxPage({super.key}); @@ -181,6 +182,7 @@ class _WorkOderInboxPageState extends State { FloatingActionButtonLocation.centerDocked, backgroundColor: const DigitColors().seaShellGray, appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -211,7 +213,7 @@ class _WorkOderInboxPageState extends State { children: [ Back( callback: () { - context.router.pop(); + context.router.maybePopTop(); }, ), Padding( diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_wrapper.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_wrapper.dart index 562395baa7..69c46dcb29 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_wrapper.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_wrapper.dart @@ -2,7 +2,8 @@ import 'package:flutter/material.dart'; import '../../../router/app_router.dart'; -class WorkOrderWrapperPage extends StatefulWidget with AutoRouteWrapper { +@RoutePage() +class WorkOrderWrapperPage extends StatefulWidget implements AutoRouteWrapper { const WorkOrderWrapperPage({super.key}); @override diff --git a/frontend/works_shg_app/lib/pages/home.dart b/frontend/works_shg_app/lib/pages/home.dart index 4e8ea2301d..22864c1b1f 100644 --- a/frontend/works_shg_app/lib/pages/home.dart +++ b/frontend/works_shg_app/lib/pages/home.dart @@ -27,8 +27,9 @@ import '../widgets/SideBar.dart'; import '../widgets/drawer_wrapper.dart'; import '../widgets/loaders.dart' as shg_loader; +@RoutePage() class HomePage extends StatefulWidget { - const HomePage({Key? key}) : super(key: key); + const HomePage({super.key}); @override State createState() { @@ -62,7 +63,9 @@ class _HomePage extends State { Widget build(BuildContext context) { var t = AppLocalizations.of(context); return Scaffold( + appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title:GlobalVariables.roleType == RoleType.cbo? BlocBuilder( builder: (context, state) { @@ -303,7 +306,9 @@ class _HomePage extends State { return ScrollableContent( footer: const Padding( padding: EdgeInsets.all(16.0), - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ), children: [ DigitCard( diff --git a/frontend/works_shg_app/lib/pages/language_selection_page.dart b/frontend/works_shg_app/lib/pages/language_selection_page.dart index 37d4fcf95a..d5c64a0035 100644 --- a/frontend/works_shg_app/lib/pages/language_selection_page.dart +++ b/frontend/works_shg_app/lib/pages/language_selection_page.dart @@ -19,6 +19,7 @@ import '../router/app_router.dart'; import '../utils/common_methods.dart'; import '../widgets/loaders.dart' as shg_app; +@RoutePage() class LanguageSelectionPage extends StatefulWidget { const LanguageSelectionPage({Key? key}) : super(key: key); @@ -59,11 +60,11 @@ class _LanguageSelectionPage extends State { orElse: () => false, loading: () => shg_app.Loaders.circularLoader(context), loaded: (AppVersionModel? cboAppVersion) { - CommonMethods().checkVersion( - context, - cboAppVersion?.packageName, - cboAppVersion?.iOSId, - cboAppVersion?.version); + // CommonMethods().checkVersion( + // context, + // cboAppVersion?.packageName, + // cboAppVersion?.iOSId, + // cboAppVersion?.version); }, error: (String? error) { return const Center( diff --git a/frontend/works_shg_app/lib/pages/login.dart b/frontend/works_shg_app/lib/pages/login.dart index 52f903460d..5fcb979160 100644 --- a/frontend/works_shg_app/lib/pages/login.dart +++ b/frontend/works_shg_app/lib/pages/login.dart @@ -1,4 +1,3 @@ - import 'package:digit_components/digit_components.dart'; import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; import 'package:flutter/material.dart'; @@ -9,7 +8,8 @@ import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/blocs/auth/otp_bloc.dart'; import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/global_variables.dart'; -import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; +import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' + as i18; import 'package:works_shg_app/widgets/atoms/app_logo.dart'; import '../blocs/app_initilization/app_initilization.dart'; @@ -19,14 +19,16 @@ import '../utils/notifiers.dart'; import '../widgets/molecules/desktop_view.dart'; import '../widgets/molecules/mobile_view.dart'; +@RoutePage() class LoginPage extends StatefulWidget { - const LoginPage({Key? key}) : super(key: key); + const LoginPage({super.key}); @override State createState() => _LoginPageState(); } -class _LoginPageState extends State with SingleTickerProviderStateMixin { +class _LoginPageState extends State + with SingleTickerProviderStateMixin { late TabController _tabController; final userIdController = TextEditingController(); final userNameController = TextEditingController(); @@ -79,11 +81,14 @@ class _LoginPageState extends State with SingleTickerProviderStateMix } } - Widget getLoginCard(AppLocalizations t, BuildContext loginContext, AppInitializationState data) { + Widget getLoginCard(AppLocalizations t, BuildContext loginContext, + AppInitializationState data) { return Center( child: Form( key: formKey, - autovalidateMode: autoValidation ? AutovalidateMode.always : AutovalidateMode.disabled, + autovalidateMode: autoValidation + ? AutovalidateMode.always + : AutovalidateMode.disabled, child: DigitCard( child: Column( mainAxisSize: MainAxisSize.min, @@ -93,13 +98,17 @@ class _LoginPageState extends State with SingleTickerProviderStateMix padding: const EdgeInsets.all(8.0), child: Text( t.translate(i18.login.loginLabel), - style: const TextStyle(fontSize: 18, fontWeight: FontWeight.w700), + style: const TextStyle( + fontSize: 18, fontWeight: FontWeight.w700), ), ), TabBar( controller: _tabController, labelColor: const DigitColors().burningOrange, unselectedLabelColor: Colors.black, + dividerHeight: 0, + indicatorColor: const DigitColors().burningOrange, + indicatorPadding: EdgeInsets.zero, tabs: [ Tab( child: Text(t.translate(i18.measurementBook.mbCbo)), @@ -110,14 +119,20 @@ class _LoginPageState extends State with SingleTickerProviderStateMix ], ), AnimatedContainer( - height: _tabController.index == 0 ? 120 : 325, + height: _tabController.index == 0 + ? 120 + : MediaQuery.of(context).size.height * 0.4, duration: const Duration(milliseconds: 100), child: TabBarView( physics: const NeverScrollableScrollPhysics(), controller: _tabController, children: [ cboLogin(loginContext), - employeeLogin(t, loginContext, data,), + employeeLogin( + t, + loginContext, + data, + ), ], ), ), @@ -136,7 +151,8 @@ class _LoginPageState extends State with SingleTickerProviderStateMix state.maybeWhen( orElse: () {}, loaded: () { - context.router.push(OTPVerificationRoute(mobileNumber: userIdController.text)); + context.router.push( + OTPVerificationRoute(mobileNumber: userIdController.text)); }, error: () { Notifiers.getToastMessage( @@ -151,7 +167,9 @@ class _LoginPageState extends State with SingleTickerProviderStateMix onPressed: canContinue ? () { if (formKey.currentState!.validate()) { - loginContext.read().add(OTPSendEvent(mobileNumber: userIdController.text)); + loginContext + .read() + .add(OTPSendEvent(mobileNumber: userIdController.text)); } else { setState(() { autoValidation = true; @@ -180,28 +198,29 @@ class _LoginPageState extends State with SingleTickerProviderStateMix }, child: DigitElevatedButton( onPressed: (userNameController.text.isNotEmpty && - userPasswordController.text.isNotEmpty && - selectTenantId.isNotEmpty)? - () { - if (userNameController.text.isNotEmpty && - userPasswordController.text.isNotEmpty && - selectTenantId.isNotEmpty) { - context.read().add( - AuthLoginEvent( - userId: userNameController.text, - password: userPasswordController.text, - roleType: RoleType.employee, - tenantId: selectTenantId, - ), - ); - } else { - Notifiers.getToastMessage( - context, - t.translate(i18.common.allFieldsMandatory), - 'ERROR', - ); - } - }:null, + userPasswordController.text.isNotEmpty && + selectTenantId.isNotEmpty) + ? () { + if (userNameController.text.isNotEmpty && + userPasswordController.text.isNotEmpty && + selectTenantId.isNotEmpty) { + context.read().add( + AuthLoginEvent( + userId: userNameController.text, + password: userPasswordController.text, + roleType: RoleType.employee, + tenantId: selectTenantId, + ), + ); + } else { + Notifiers.getToastMessage( + context, + t.translate(i18.common.allFieldsMandatory), + 'ERROR', + ); + } + } + : null, child: Center( child: Text(t.translate(i18.common.continueLabel)), ), @@ -217,7 +236,8 @@ class _LoginPageState extends State with SingleTickerProviderStateMix builder: (context) { return AlertDialog( contentPadding: const EdgeInsets.symmetric(horizontal: 4.0), - titlePadding: const EdgeInsets.only(top: 16.0, left: 5.0, bottom: 2.0), + titlePadding: + const EdgeInsets.only(top: 16.0, left: 5.0, bottom: 2.0), title: Text(t.translate(i18.login.forgotPassword)), content: SizedBox( width: MediaQuery.of(context).size.width, @@ -252,12 +272,15 @@ class _LoginPageState extends State with SingleTickerProviderStateMix height: MediaQuery.of(loginContext).size.height * 0.7, child: SingleChildScrollView( child: DigitTextField( - label: '${AppLocalizations.of(loginContext).translate(i18.common.mobileNumber)}*', + label: + '${AppLocalizations.of(loginContext).translate(i18.common.mobileNumber)}*', controller: userIdController, isRequired: true, prefixText: '+91 - ', focusNode: _numberFocus, - autoValidation: phoneNumberAutoValidation ? AutovalidateMode.always : AutovalidateMode.disabled, + autoValidation: phoneNumberAutoValidation + ? AutovalidateMode.always + : AutovalidateMode.disabled, textInputType: TextInputType.number, inputFormatter: [FilteringTextInputFormatter.allow(RegExp("[0-9]"))], validator: (val) { @@ -287,6 +310,7 @@ class _LoginPageState extends State with SingleTickerProviderStateMix length: 2, child: Scaffold( appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), automaticallyImplyLeading: true, ), body: BlocBuilder( @@ -314,8 +338,11 @@ class _LoginPageState extends State with SingleTickerProviderStateMix ); } - SizedBox employeeLogin(AppLocalizations t, BuildContext context, AppInitializationState data, - ) { + SizedBox employeeLogin( + AppLocalizations t, + BuildContext context, + AppInitializationState data, + ) { return SizedBox( height: MediaQuery.of(context).size.height * 0.7, child: Column( @@ -345,8 +372,11 @@ class _LoginPageState extends State with SingleTickerProviderStateMix }); }, icon: Icon( - iconVisibility ? Icons.visibility_rounded : Icons.visibility_off_rounded, + iconVisibility + ? Icons.visibility_rounded + : Icons.visibility_off_rounded, size: 30, + color: const DigitColors().burningOrange, ), ), validator: (val) { @@ -366,7 +396,8 @@ class _LoginPageState extends State with SingleTickerProviderStateMix value: null, label: "${t.translate(i18.common.city)} *", menuItems: data.initMdmsModel!.tenant!.tenantListModel!, - valueMapper: (value) => t.translate(Conversion.convertToTenant(value!.code!)), + valueMapper: (value) => + t.translate(Conversion.convertToTenant(value!.code!)), ), DigitIconButton( iconText: t.translate(i18.login.forgotPassword), @@ -379,7 +410,3 @@ class _LoginPageState extends State with SingleTickerProviderStateMix ); } } - - - - diff --git a/frontend/works_shg_app/lib/pages/org_profile.dart b/frontend/works_shg_app/lib/pages/org_profile.dart index 38f8cc95a3..9cccbfb639 100644 --- a/frontend/works_shg_app/lib/pages/org_profile.dart +++ b/frontend/works_shg_app/lib/pages/org_profile.dart @@ -2,6 +2,7 @@ import 'package:digit_components/digit_components.dart'; import 'package:easy_stepper/easy_stepper.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/date_formats.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -21,8 +22,9 @@ import '../widgets/atoms/app_bar_logo.dart'; import '../widgets/drawer_wrapper.dart'; import '../widgets/loaders.dart' as shg_loader; +@RoutePage() class ORGProfilePage extends StatefulWidget { - const ORGProfilePage({Key? key}) : super(key: key); + const ORGProfilePage({super.key}); @override State createState() { @@ -60,6 +62,7 @@ class _ORGProfilePage extends State { var t = AppLocalizations.of(context); return Scaffold( appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -327,7 +330,9 @@ class _ORGProfilePage extends State { const SizedBox(height: 30), const Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ), ])); })); diff --git a/frontend/works_shg_app/lib/pages/otp_verification.dart b/frontend/works_shg_app/lib/pages/otp_verification.dart index 66bd7791f0..96aa691931 100644 --- a/frontend/works_shg_app/lib/pages/otp_verification.dart +++ b/frontend/works_shg_app/lib/pages/otp_verification.dart @@ -5,6 +5,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:pin_input_text_field/pin_input_text_field.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -20,6 +21,7 @@ import '../widgets/atoms/app_bar_logo.dart'; import '../widgets/atoms/resend_otp.dart'; import '../widgets/atoms/sub_label.dart'; +@RoutePage() class OTPVerificationPage extends StatefulWidget { final String mobileNumber; const OTPVerificationPage({Key? key, required this.mobileNumber}) @@ -55,6 +57,7 @@ class _OTPVerificationPage extends State { '{mobileNumber}', '+91 - ${widget.mobileNumber}'); return Scaffold( appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 16, title: const AppBarLogo(), automaticallyImplyLeading: false, @@ -64,7 +67,9 @@ class _OTPVerificationPage extends State { padding: const EdgeInsets.all(8.0), child: const Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ), ), body: SingleChildScrollView( diff --git a/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart b/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart index ce6ad0dec0..04ea95ac07 100644 --- a/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart +++ b/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart @@ -23,9 +23,9 @@ import '../../widgets/atoms/app_bar_logo.dart'; import '../../widgets/atoms/empty_image.dart'; import '../../widgets/atoms/tabs_button.dart'; import '../../widgets/drawer_wrapper.dart'; - +@RoutePage() class MyServiceRequestsPage extends StatefulWidget { - const MyServiceRequestsPage({Key? key}) : super(key: key); + const MyServiceRequestsPage({super.key}); @override State createState() { @@ -62,6 +62,7 @@ class _MyServiceRequestsPage extends State { var t = AppLocalizations.of(context); return Scaffold( appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -80,7 +81,9 @@ class _MyServiceRequestsPage extends State { height: 30, child: Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ), ) : const SizedBox.shrink(); @@ -385,7 +388,9 @@ class _MyServiceRequestsPage extends State { alignment: Alignment .bottomCenter, child: - PoweredByDigit(), + PoweredByDigit( + // version: Constants.appVersion, + ), ) : const SizedBox .shrink() diff --git a/frontend/works_shg_app/lib/pages/shg_inbox.dart b/frontend/works_shg_app/lib/pages/shg_inbox.dart index 1869c9eab3..158906d889 100644 --- a/frontend/works_shg_app/lib/pages/shg_inbox.dart +++ b/frontend/works_shg_app/lib/pages/shg_inbox.dart @@ -49,6 +49,7 @@ import '../widgets/atoms/table_dropdown.dart'; import '../widgets/drawer_wrapper.dart'; import '../widgets/loaders.dart' as shg_loader; +@RoutePage() class SHGInboxPage extends StatefulWidget { final String tenantId; final String musterRollNo; @@ -160,6 +161,7 @@ class _SHGInboxPage extends State { builder: (context, localState) { return Scaffold( appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -863,7 +865,9 @@ class _SHGInboxPage extends State { Alignment .bottomCenter, child: - PoweredByDigit(), + PoweredByDigit( + //version: Constants.appVersion, + ), ) ])) ]), diff --git a/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart b/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart index e713429b03..8bceebb702 100644 --- a/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart +++ b/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart @@ -3,8 +3,9 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:reactive_forms/reactive_forms.dart'; +import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' -as i18; + as i18; import 'package:works_shg_app/widgets/atoms/empty_image.dart'; import '../../blocs/localization/app_localization.dart'; @@ -23,12 +24,16 @@ import '../../widgets/atoms/app_bar_logo.dart'; import '../../widgets/drawer_wrapper.dart'; import '../../widgets/loaders.dart' as shg_loader; +@RoutePage() class CreateTimeExtensionRequestPage extends StatefulWidget { final String? contractNumber; final bool? isEdit; - const CreateTimeExtensionRequestPage( - {super.key, @queryParam this.contractNumber,@queryParam this.isEdit,}); + const CreateTimeExtensionRequestPage({ + super.key, + @queryParam this.contractNumber, + @queryParam this.isEdit, + }); @override State createState() { @@ -51,19 +56,20 @@ class _CreateTimeExtensionRequestPage afterViewBuild() async { context.read().add( - IndividualWorkSearchEvent(contractNumber: widget.contractNumber, body: widget.isEdit == true - ? { - "businessService": "CONTRACT-REVISION" - } : null), - ); + IndividualWorkSearchEvent( + contractNumber: widget.contractNumber, + body: widget.isEdit == true + ? {"businessService": "CONTRACT-REVISION"} + : null), + ); await Future.delayed(const Duration(seconds: 1)); } @override void deactivate() { context.read().add( - const DisposeIndividualContract(), - ); + const DisposeIndividualContract(), + ); super.deactivate(); } @@ -72,11 +78,10 @@ class _CreateTimeExtensionRequestPage var t = AppLocalizations.of(context); return WillPopScope( onWillPop: () async { - if(context.router.currentUrl.contains('isEdit')){ + if (context.router.currentUrl.contains('isEdit')) { context.router.popUntilRouteWithPath('home'); context.router.push(const MyServiceRequestsRoute()); - } - else { + } else { context.router.popUntilRouteWithPath('home'); context.router.push(const WorkOrderRoute()); } @@ -84,6 +89,7 @@ class _CreateTimeExtensionRequestPage }, child: Scaffold( appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -93,365 +99,385 @@ class _CreateTimeExtensionRequestPage height: 50, child: Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ), ), - body: BlocBuilder( + body: BlocBuilder( builder: (context, contractState) { - return contractState.maybeWhen(orElse: () => const SizedBox.shrink(), - loading: () => shg_loader.Loaders.circularLoader(context), - loaded: (ContractsModel? contracts) { - return ReactiveFormBuilder(form: () => buildForm(contractState), - builder: (context, form, child) { - return ScrollableContent( - footer: SizedBox( - height: 100, - child: Center( - child: DigitCard( - child: DigitElevatedButton( - onPressed: () { - form.markAllAsTouched( - updateParent: - false); - if (!form.valid) { - return; - } else { - DateTime endDate = DateTime - .fromMillisecondsSinceEpoch( - contracts?.contracts?.first.endDate ?? 0); - int extensionDate = endDate - .add(Duration(days: int.parse(form - .value[extensionDaysKey].toString()))) - .millisecondsSinceEpoch; - // sorting contracts list based on last modified time + return contractState.maybeWhen( + orElse: () => const SizedBox.shrink(), + loading: () => shg_loader.Loaders.circularLoader(context), + loaded: (ContractsModel? contracts) { + return ReactiveFormBuilder( + form: () => buildForm(contractState), + builder: (context, form, child) { + return ScrollableContent( + footer: SizedBox( + height: 100, + child: Center( + child: DigitCard( + child: DigitElevatedButton( + onPressed: () { + form.markAllAsTouched(updateParent: false); + if (!form.valid) { + return; + } else if (int.parse(form + .value[extensionDaysKey] + .toString()) > + 365) { + Notifiers.getToastMessage( + context, + t.translate( + i18.workOrder.extensionReqInDaysMaxVal, + ), + 'ERROR', + ); + return; + } else { + DateTime endDate = + DateTime.fromMillisecondsSinceEpoch( + contracts?.contracts?.first + .endDate ?? + 0); + int extensionDate = endDate + .add(Duration( + days: int.parse(form + .value[extensionDaysKey] + .toString()))) + .millisecondsSinceEpoch; + // sorting contracts list based on last modified time // to send the latest conract data for time extention - contracts?.contracts!.sort((a, b) => b.auditDetails!.lastModifiedTime!.compareTo(a.auditDetails!.lastModifiedTime!)); ; - context.read< - CreateTimeExtensionRequestBloc>().add( - TimeExtensionRequestEvent( - contractsModel: contracts?.contracts?.first, - action: widget.isEdit == true ? 'EDIT' : 'CREATE', - extensionDate: extensionDate, - isEdit: widget.isEdit ?? false, - reason: form - .value[reasonForExtensionKey] - .toString(), - extensionDays: form - .value[extensionDaysKey] - .toString() - )); - } - }, - child: Center( - child: Text( - t.translate( - i18.common.submit))), - ), - ), + contracts?.contracts!.sort((a, b) => b + .auditDetails!.lastModifiedTime! + .compareTo( + a.auditDetails!.lastModifiedTime!)); + + context + .read() + .add(TimeExtensionRequestEvent( + contractsModel: + contracts?.contracts?.first, + action: widget.isEdit == true + ? 'EDIT' + : 'CREATE', + extensionDate: extensionDate, + isEdit: widget.isEdit ?? false, + reason: form + .value[reasonForExtensionKey] + .toString(), + extensionDays: form + .value[extensionDaysKey] + .toString())); + } + }, + child: Center( + child: + Text(t.translate(i18.common.submit))), ), ), - children: [ - BlocBuilder( - builder: (context, localState) { - return BlocConsumer( - listener: (context, state) { - state.maybeWhen( - orElse: () => false, - ); - }, - builder: (context, searchState) { - return searchState.maybeWhen( - orElse: () => Container(), - loading: () => - shg_loader.Loaders.circularLoader(context), - initial: () => Container(), - loaded: (ContractsModel? contractsModel) { - final contracts = contractsModel?.contracts; - if (contracts != null) { - return Column( - crossAxisAlignment: CrossAxisAlignment - .start, + ), + ), + children: [ + BlocBuilder( + builder: (context, localState) { + return BlocConsumer( + listener: (context, state) { + state.maybeWhen( + orElse: () => false, + ); + }, + builder: (context, searchState) { + return searchState.maybeWhen( + orElse: () => Container(), + loading: () => + shg_loader.Loaders.circularLoader( + context), + initial: () => Container(), + loaded: (ContractsModel? contractsModel) { + final contracts = + contractsModel?.contracts; + if (contracts != null) { + return Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + Back( + backLabel: AppLocalizations.of( + context) + .translate(i18.common.back), + callback: () { + if (context.router.currentUrl + .contains('isEdit')) { + context.router + .popUntilRouteWithPath( + 'home'); + context.router.push( + const MyServiceRequestsRoute()); + } else { + context.router + .popUntilRouteWithPath( + 'home'); + context.router.push( + const WorkOrderRoute()); + } + }, + ), + DigitCard( + padding: + const EdgeInsets.all(8.0), + child: Column( + mainAxisAlignment: + MainAxisAlignment.start, + crossAxisAlignment: + CrossAxisAlignment + .start, children: [ - Back( - backLabel: AppLocalizations.of( - context) - .translate(i18.common.back), - callback: () { - if(context.router.currentUrl.contains('isEdit')){ - context.router.popUntilRouteWithPath('home'); - context.router.push(const MyServiceRequestsRoute()); - } - else { - context.router.popUntilRouteWithPath('home'); - context.router.push(const WorkOrderRoute()); - } - }, - ), - DigitCard( - padding: const EdgeInsets.all(8.0), - child: Column( - mainAxisAlignment: MainAxisAlignment - .start, - crossAxisAlignment: CrossAxisAlignment - .start, - children: [ - contracts.isNotEmpty - ? Column( - children: [ - CommonWidgets - .getItemWidget( - context, - title: t.translate(i18.workOrder - .workOrderNo), - description: contracts - .first - .contractNumber ?? - t.translate(i18.common - .noValue)), - CommonWidgets - .getItemWidget( - context, - title: t.translate(i18 - .attendanceMgmt - .projectId), - description: contracts - .first - .additionalDetails - ?.projectId ?? - t.translate(i18.common - .noValue)), - CommonWidgets - .getItemWidget( - context, - title: t.translate(i18 - .attendanceMgmt - .projectDesc), - description: contracts - .first - .additionalDetails - ?.projectDesc ?? - t.translate( - i18.common - .noValue)), - CommonWidgets - .getItemWidget( - context, - title: t.translate(i18.workOrder - .completionPeriod), - description: '${contracts - .first - .completionPeriod} ${t - .translate( - i18.common - .days)}'), - CommonWidgets - .getItemWidget( - context, - title: t.translate(i18.workOrder - .workStartDate), - description: contracts - .first - .startDate != - null && - contracts.first - .startDate != - 0 - ? DateFormats - .getFilteredDate( - DateTime - .fromMillisecondsSinceEpoch( - contracts - .first - .startDate ?? - 0) - .toString()) - : t.translate( - i18.common - .noValue)), - CommonWidgets - .getItemWidget( - context, - title: t.translate(i18.workOrder - .workEndDate), - description: contracts - .first.endDate != - null && - contracts.first - .endDate != 0 - ? DateFormats - .getFilteredDate( - DateTime - .fromMillisecondsSinceEpoch( - contracts - .first - .endDate ?? - 0) - .toString()) - : t.translate( - i18.common - .noValue)), - ], - ) - : EmptyImage( - label: t.translate( + contracts.isNotEmpty + ? Column( + children: [ + CommonWidgets.getItemWidget( + context, + title: t.translate(i18 + .workOrder + .workOrderNo), + description: contracts + .first + .contractNumber ?? + t.translate(i18 + .common + .noValue)), + CommonWidgets.getItemWidget( + context, + title: t.translate(i18 + .attendanceMgmt + .projectId), + description: contracts + .first + .additionalDetails + ?.projectId ?? + t.translate(i18 + .common + .noValue)), + CommonWidgets.getItemWidget( + context, + title: t.translate(i18 + .attendanceMgmt + .projectDesc), + description: contracts + .first + .additionalDetails + ?.projectDesc ?? + t.translate(i18 + .common + .noValue)), + CommonWidgets.getItemWidget( + context, + title: t.translate(i18 + .workOrder + .completionPeriod), + description: + '${contracts.first.completionPeriod} ${t.translate(i18.common.days)}'), + CommonWidgets.getItemWidget( + context, + title: t.translate(i18 + .workOrder + .workStartDate), + description: contracts.first.startDate != + null && + contracts.first.startDate != + 0 + ? DateFormats.getFilteredDate(DateTime.fromMillisecondsSinceEpoch(contracts.first.startDate ?? 0) + .toString()) + : t.translate(i18 + .common + .noValue)), + CommonWidgets.getItemWidget( + context, + title: t.translate(i18 + .workOrder + .workEndDate), + description: contracts.first.endDate != + null && + contracts.first.endDate != + 0 + ? DateFormats.getFilteredDate(DateTime.fromMillisecondsSinceEpoch(contracts.first.endDate ?? 0) + .toString()) + : t.translate(i18 + .common + .noValue)), + ], + ) + : EmptyImage( + label: t.translate(i18 + .workOrder + .noWorkOrderAssigned), + align: Alignment + .center, + ), + Column( + children: [ + DigitTextFormField( + label: t.translate(i18 + .workOrder + .extensionReqInDays), + formControlName: + extensionDaysKey, + isRequired: true, + keyboardType: + TextInputType + .number, + inputFormatter: [ + FilteringTextInputFormatter + .allow(RegExp( + "[0-9]")) + ], + validationMessages: { + 'required': (_) => + t.translate( + i18.workOrder + .extensionReqInDaysIsRequired, + ), + 'min': (_) => + t.translate( i18.workOrder - .noWorkOrderAssigned), - align: Alignment.center, - ), - Column( - children: [ - DigitTextFormField( - label: t.translate(i18.workOrder - .extensionReqInDays), - formControlName: - extensionDaysKey, - isRequired: true, - keyboardType: - TextInputType.number, - inputFormatter: [ - FilteringTextInputFormatter - .allow( - RegExp("[0-9]")) - ], - validationMessages: { - 'required': (_) => - t.translate( - i18.workOrder - .extensionReqInDaysIsRequired, - ), - 'min': (_) => - t.translate( - i18.workOrder - .extensionReqInDaysMinVal, - ), - // 'max':(_)=>t.translate( - // i18.workOrder - // .extensionReqInDaysMaxVal, - // ), - }, + .extensionReqInDaysMinVal, ), - DigitTextFormField( - label: t.translate(i18.workOrder - .reasonForExtension), - formControlName: - reasonForExtensionKey, - isRequired: true, - keyboardType: - TextInputType.text, - inputFormatter: [ - FilteringTextInputFormatter - .allow(RegExp( - "[a-zA-Z0-9 .,\\/\\-_@#\\']")) - ], - validationMessages: { - 'required': (_) => - t.translate( - i18.workOrder - .reasonForExtensionIsRequired, - ), - 'minLength': (_) => - t.translate( - i18.workOrder - .reasonForExtensionMinChar, - ), - 'maxLength': (_) => - t.translate( - i18.workOrder - .reasonForExtensionMaxChar, - ), - }, + // 'max':(_)=>t.translate( + // i18.workOrder + // .extensionReqInDaysMaxVal, + // ), + }, + ), + DigitTextFormField( + label: t.translate(i18 + .workOrder + .reasonForExtension), + formControlName: + reasonForExtensionKey, + isRequired: true, + keyboardType: + TextInputType + .text, + inputFormatter: [ + FilteringTextInputFormatter + .allow(RegExp( + "[a-zA-Z0-9 .,\\/\\-_@#\\']")) + ], + validationMessages: { + 'required': (_) => + t.translate( + i18.workOrder + .reasonForExtensionIsRequired, ), - ], - ), - const SizedBox( - height: 16.0, - ), - ]), + 'minLength': (_) => + t.translate( + i18.workOrder + .reasonForExtensionMinChar, + ), + 'maxLength': (_) => + t.translate( + i18.workOrder + .reasonForExtensionMaxChar, + ), + }, + ), + ], ), - ]); - } else { - return Container(); - } - }); - }, - ); - }), - BlocListener( - listener: (context, timeExtensionState) { - timeExtensionState.maybeWhen(orElse: () => false, - loading: () => Loaders.circularLoader(context), - error: (String? error) => Notifiers.getToastMessage(context, error.toString(), 'ERROR'), - loaded: (ContractsModel? contractsModel) { - if (widget.isEdit == true) { - Notifiers.getToastMessage( - context, t.translate(i18.workOrder.timeExtensionRequestedUpdatedSuccessfully), "SUCCESS"); - context.router.pop(); - } - else { - context.router - .popAndPush( - SuccessResponseRoute( - header: t.translate( - i18.workOrder - .timeExtensionRequestedSuccess), - subHeader: t.translate( - i18.workOrder.requestID), - subText: - contractsModel?.contracts - ?.first - .supplementNumber, - subTitle: t - .translate( - i18.workOrder - .timeExtensionRequestedSuccessSubText), - backButton: - true, - callBack: () => - context.router.push( - const HomeRoute()), - buttonLabel: t - .translate( - i18 - .common - .backToHome, - ))); - } - }); - }, - child: const SizedBox.shrink(),) - ], - ); - } - ); - } - ); - } - ), + const SizedBox( + height: 16.0, + ), + ]), + ), + ]); + } else { + return Container(); + } + }); + }, + ); + }), + BlocListener( + listener: (context, timeExtensionState) { + timeExtensionState.maybeWhen( + orElse: () => false, + loading: () => + Loaders.circularLoader(context), + error: (String? error) => + Notifiers.getToastMessage( + context, error.toString(), 'ERROR'), + loaded: (ContractsModel? contractsModel) { + if (widget.isEdit == true) { + Notifiers.getToastMessage( + context, + t.translate(i18.workOrder + .timeExtensionRequestedUpdatedSuccessfully), + "SUCCESS"); + context.router.maybePopTop(); + } else { + context.router.popAndPush( + SuccessResponseRoute( + header: t.translate(i18.workOrder + .timeExtensionRequestedSuccess), + subHeader: t.translate( + i18.workOrder.requestID), + subText: contractsModel?.contracts + ?.first.supplementNumber, + subTitle: t.translate(i18 + .workOrder + .timeExtensionRequestedSuccessSubText), + backButton: true, + callBack: () => context.router + .push(const HomeRoute()), + buttonLabel: t.translate( + i18.common.backToHome, + ))); + } + }); + }, + child: const SizedBox.shrink(), + ) + ], + ); + }); + }); + }), ), ); } FormGroup buildForm(SearchIndividualWorkState contractState) { final extensionDays = contractState.mapOrNull(loaded: (value) { - return widget.isEdit == true ? value.contractsModel?.contracts?.first.additionalDetails?.timeExt : ''; + return widget.isEdit == true + ? value.contractsModel?.contracts?.first.additionalDetails?.timeExt + : ''; }); final extensionReason = contractState.mapOrNull(loaded: (value) { - return widget.isEdit == true ? value.contractsModel?.contracts?.first.additionalDetails?.timeExtReason : ''; + return widget.isEdit == true + ? value + .contractsModel?.contracts?.first.additionalDetails?.timeExtReason + : ''; }); return fb.group({ - extensionDaysKey: FormControl(value: extensionDays ?? '', validators: [ + extensionDaysKey: + FormControl(value: extensionDays ?? '', validators: [ Validators.required, Validators.min('1'), - - ]), - reasonForExtensionKey: FormControl(value: extensionReason ?? '', validators: [ - Validators.required, - Validators.minLength(2), - Validators.maxLength(128) + // Validators.max("365") + // Validators.required, + // Validators.min(1), + // Validators.max(365) ]), + reasonForExtensionKey: FormControl( + value: extensionReason ?? '', + validators: [ + Validators.required, + Validators.minLength(2), + Validators.maxLength(128) + ]), }); } } diff --git a/frontend/works_shg_app/lib/pages/trackAttendance/track-attendance_inbox.dart b/frontend/works_shg_app/lib/pages/trackAttendance/track-attendance_inbox.dart index f5b9f65213..ca0d8d74c3 100644 --- a/frontend/works_shg_app/lib/pages/trackAttendance/track-attendance_inbox.dart +++ b/frontend/works_shg_app/lib/pages/trackAttendance/track-attendance_inbox.dart @@ -1,6 +1,8 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; import 'package:works_shg_app/widgets/WorkDetailsCard.dart'; @@ -19,6 +21,7 @@ import '../../widgets/atoms/empty_image.dart'; import '../../widgets/drawer_wrapper.dart'; import '../../widgets/loaders.dart' as shg_loader; +@RoutePage() class TrackAttendanceInboxPage extends StatefulWidget { const TrackAttendanceInboxPage({Key? key}) : super(key: key); @@ -51,6 +54,7 @@ class _TrackAttendanceInboxPage extends State { builder: (context, localState) { return Scaffold( appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -69,7 +73,9 @@ class _TrackAttendanceInboxPage extends State { height: 30, child: Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ), ) : const SizedBox.shrink(); @@ -178,7 +184,9 @@ class _TrackAttendanceInboxPage extends State { projectList.isNotEmpty && projectList.length > 1 ? const Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ) : const SizedBox.shrink() ]); diff --git a/frontend/works_shg_app/lib/pages/track_attendance.dart b/frontend/works_shg_app/lib/pages/track_attendance.dart index 952a17dad0..36d13124f7 100644 --- a/frontend/works_shg_app/lib/pages/track_attendance.dart +++ b/frontend/works_shg_app/lib/pages/track_attendance.dart @@ -49,6 +49,7 @@ import 'package:async/async.dart'; import 'dart:async'; import '../widgets/loaders.dart' as shg_loader; +@RoutePage() class TrackAttendancePage extends StatefulWidget { final String id; final String tenantId; @@ -149,6 +150,7 @@ class _TrackAttendancePage extends State { builder: (context, localState) { return Scaffold( appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), diff --git a/frontend/works_shg_app/lib/pages/unauthenticated.dart b/frontend/works_shg_app/lib/pages/unauthenticated.dart index 73716065f8..e724294fcb 100644 --- a/frontend/works_shg_app/lib/pages/unauthenticated.dart +++ b/frontend/works_shg_app/lib/pages/unauthenticated.dart @@ -5,10 +5,11 @@ import 'package:works_shg_app/blocs/localization/localization.dart'; import '../widgets/loaders.dart'; -class UnauthenticatedPageWrapper extends StatelessWidget { - const UnauthenticatedPageWrapper({ - Key? key, - }) : super(key: key); +@RoutePage() +class UnauthenticatedWrapperPage extends StatelessWidget { + const UnauthenticatedWrapperPage({ + super.key, + }); @override Widget build(BuildContext context) { diff --git a/frontend/works_shg_app/lib/pages/view_muster_rolls.dart b/frontend/works_shg_app/lib/pages/view_muster_rolls.dart index d077b2d800..d439f7f998 100644 --- a/frontend/works_shg_app/lib/pages/view_muster_rolls.dart +++ b/frontend/works_shg_app/lib/pages/view_muster_rolls.dart @@ -2,6 +2,7 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/muster_rolls/search_muster_roll.dart'; +import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; import 'package:works_shg_app/widgets/WorkDetailsCard.dart'; @@ -20,8 +21,9 @@ import '../widgets/atoms/app_bar_logo.dart'; import '../widgets/drawer_wrapper.dart'; import '../widgets/loaders.dart' as shg_loader; +@RoutePage() class ViewMusterRollsPage extends StatefulWidget { - const ViewMusterRollsPage({Key? key}) : super(key: key); + const ViewMusterRollsPage({super.key}); @override State createState() { @@ -55,6 +57,7 @@ class _ViewMusterRollsPage extends State { builder: (context, localState) { return Scaffold( appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -74,7 +77,9 @@ class _ViewMusterRollsPage extends State { height: 30, child: Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ), ) : const SizedBox.shrink(); @@ -184,7 +189,9 @@ class _ViewMusterRollsPage extends State { musterList.length > 1 ? const Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ) : const SizedBox.shrink() ]); diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart index 277bb71537..60717a4210 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart @@ -6,6 +6,8 @@ import 'package:works_shg_app/pages/wage_seeker_registration/financial_details.d import 'package:works_shg_app/pages/wage_seeker_registration/individual_details.dart'; import 'package:works_shg_app/pages/wage_seeker_registration/location_details.dart'; import 'package:works_shg_app/pages/wage_seeker_registration/summary_details.dart'; +import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -28,6 +30,7 @@ import '../../widgets/SideBar.dart'; import '../../widgets/atoms/app_bar_logo.dart'; import '../../widgets/drawer_wrapper.dart'; +@RoutePage() class RegisterIndividualPage extends StatefulWidget { const RegisterIndividualPage({Key? key}) : super(key: key); @@ -103,6 +106,7 @@ class RegisterIndividualPageState extends State { builder: (context, localState) { return Scaffold( appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -183,7 +187,9 @@ class RegisterIndividualPageState extends State { ), const Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ) ]), )); diff --git a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart index c68b7f4eb7..f610c9b730 100644 --- a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart +++ b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart @@ -37,6 +37,7 @@ import '../../widgets/atoms/attachments.dart'; import '../../widgets/drawer_wrapper.dart'; import '../../widgets/loaders.dart' as shg_loader; +@RoutePage() class ViewWorkDetailsPage extends StatefulWidget { final String? contractNumber; final String? wfStatus; @@ -119,6 +120,7 @@ class _ViewWorkDetailsPage extends State { }, child: Scaffold( appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -629,7 +631,9 @@ class _ViewWorkDetailsPage extends State { ), const Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ) ]), ]); @@ -1867,7 +1871,9 @@ class _ViewWorkDetailsPage extends State { const Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ) ]), ]); diff --git a/frontend/works_shg_app/lib/pages/work_order/work_order.dart b/frontend/works_shg_app/lib/pages/work_order/work_order.dart index 0658fe244b..8ecb0cbff5 100644 --- a/frontend/works_shg_app/lib/pages/work_order/work_order.dart +++ b/frontend/works_shg_app/lib/pages/work_order/work_order.dart @@ -27,8 +27,9 @@ import '../../widgets/atoms/app_bar_logo.dart'; import '../../widgets/atoms/tabs_button.dart'; import '../../widgets/drawer_wrapper.dart'; +@RoutePage() class WorkOrderPage extends StatefulWidget { - const WorkOrderPage({Key? key}) : super(key: key); + const WorkOrderPage({super.key}); @override State createState() { @@ -68,6 +69,7 @@ class _WorkOrderPage extends State { var t = AppLocalizations.of(context); return Scaffold( appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -86,7 +88,9 @@ class _WorkOrderPage extends State { height: 30, child: Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ), ) : const SizedBox.shrink(); @@ -347,7 +351,9 @@ class _WorkOrderPage extends State { workOrderList.length > 1 ? const Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + // version: Constants.appVersion, + ), ) : const SizedBox.shrink() ]), diff --git a/frontend/works_shg_app/lib/router/app_router.dart b/frontend/works_shg_app/lib/router/app_router.dart index d363f54a2d..cb0310b052 100644 --- a/frontend/works_shg_app/lib/router/app_router.dart +++ b/frontend/works_shg_app/lib/router/app_router.dart @@ -39,73 +39,149 @@ export 'package:auto_route/auto_route.dart'; part 'app_router.gr.dart'; -@MaterialAutoRouter( - replaceInRouteName: 'Page,Route', - routes: [ - AutoRoute( - page: UnauthenticatedPageWrapper, + +// @MaterialAutoRouter( +// replaceInRouteName: 'Page,Route', +// routes: [ +// AutoRoute( +// page: UnauthenticatedPageWrapper, +// path: '/', +// children: [ +// AutoRoute( +// page: LanguageSelectionPage, +// path: 'language_selection', +// initial: true, +// ), +// AutoRoute(page: LoginPage, path: 'login'), +// AutoRoute(page: OTPVerificationPage, path: 'otp') +// ], +// ), +// AutoRoute( +// page: AuthenticatedPageWrapper, +// path: '/', +// children: [ +// AutoRoute(page: HomePage, path: 'home', initial: true), +// AutoRoute(page: ORGProfilePage, path: 'orgProfile'), +// AutoRoute( +// page: AttendanceRegisterTablePage, +// path: 'manageAttendanceTable/:registerId/:tenantId'), +// AutoRoute(page: WorkOrderPage, path: 'work-orders'), +// AutoRoute(page: ViewMusterRollsPage, path: 'muster-rolls'), +// AutoRoute( +// page: SHGInboxPage, +// path: 'shg-inbox/:tenantId/:musterRollNo/:sentBackCode'), +// AutoRoute( +// page: TrackAttendanceInboxPage, path: 'track-attendance-inbox'), +// AutoRoute( +// page: TrackAttendancePage, path: 'track-attendance/:id/:tenantId'), +// AutoRoute(page: RegisterIndividualPage, path: 'register-individual'), +// AutoRoute(page: ViewWorkDetailsPage, path: 'view-work-order'), +// AutoRoute(page: SuccessResponsePage, path: 'success'), +// AutoRoute(page: MyBillsPage, path: 'my-bills'), +// AutoRoute( +// page: CreateTimeExtensionRequestPage, +// path: 'create-time-extension'), +// AutoRoute(page: MyServiceRequestsPage, path: 'my-service-requests'), + +// // mb for employee + +// // MeasurementBookInboxPage +// AutoRoute( +// page: MeasurementBookInboxPage, +// path: 'measurement-inbox', +// ), +// AutoRoute(page: MBFilterPage, path: 'mb-filter'), +// AutoRoute(page: MBDetailPage, path: 'mb-detail'), +// AutoRoute(page: MBHistoryBookPage, path: 'mb-history'), +// AutoRoute(page: MBMusterScreenPage, path: 'mb-muster-screen'), +// AutoRoute(page: MBTypeConfirmationPage, path: 'mb-type-confirmation'), + + +// // work order -employee + +// AutoRoute( +// page: WorkOderInboxPage, +// path: 'workOrder-inbox', +// ), +// AutoRoute(page: WorkOrderDetailPage, path: 'workOrder-details'), +// AutoRoute(page: WOFilterPage, path: 'wo-filter'), +// ], +// ), +// ], +// ) +// class AppRouter extends _$AppRouter {} + + +@AutoRouterConfig(replaceInRouteName: 'Page,Route') +class AppRouter extends _$AppRouter { + +@override +List get routes => [ + AutoRoute( + page: UnauthenticatedWrapperRoute.page, path: '/', children: [ AutoRoute( - page: LanguageSelectionPage, + page: LanguageSelectionRoute.page, path: 'language_selection', initial: true, ), - AutoRoute(page: LoginPage, path: 'login'), - AutoRoute(page: OTPVerificationPage, path: 'otp') + AutoRoute(page: LoginRoute.page, path: 'login'), + AutoRoute(page: OTPVerificationRoute.page, path: 'otp') ], ), AutoRoute( - page: AuthenticatedPageWrapper, + page: AuthenticatedWrapperRoute.page, path: '/', children: [ - AutoRoute(page: HomePage, path: 'home', initial: true), - AutoRoute(page: ORGProfilePage, path: 'orgProfile'), + AutoRoute(page: HomeRoute.page, path: 'home', initial: true), + AutoRoute(page: ORGProfileRoute.page, path: 'orgProfile'), AutoRoute( - page: AttendanceRegisterTablePage, + page: AttendanceRegisterTableRoute.page, path: 'manageAttendanceTable/:registerId/:tenantId'), - AutoRoute(page: WorkOrderPage, path: 'work-orders'), - AutoRoute(page: ViewMusterRollsPage, path: 'muster-rolls'), + AutoRoute(page: WorkOrderRoute.page, path: 'work-orders'), + AutoRoute(page: ViewMusterRollsRoute.page, path: 'muster-rolls'), AutoRoute( - page: SHGInboxPage, + page: SHGInboxRoute.page, path: 'shg-inbox/:tenantId/:musterRollNo/:sentBackCode'), AutoRoute( - page: TrackAttendanceInboxPage, path: 'track-attendance-inbox'), + page: TrackAttendanceInboxRoute.page, path: 'track-attendance-inbox'), AutoRoute( - page: TrackAttendancePage, path: 'track-attendance/:id/:tenantId'), - AutoRoute(page: RegisterIndividualPage, path: 'register-individual'), - AutoRoute(page: ViewWorkDetailsPage, path: 'view-work-order'), - AutoRoute(page: SuccessResponsePage, path: 'success'), - AutoRoute(page: MyBillsPage, path: 'my-bills'), + page: TrackAttendanceRoute.page, path: 'track-attendance/:id/:tenantId'), + AutoRoute(page: RegisterIndividualRoute.page, path: 'register-individual'), + AutoRoute(page: ViewWorkDetailsRoute.page, path: 'view-work-order'), + AutoRoute(page: SuccessResponseRoute.page, path: 'success'), + AutoRoute(page: MyBillsRoute.page, path: 'my-bills'), AutoRoute( - page: CreateTimeExtensionRequestPage, + page: CreateTimeExtensionRequestRoute.page, path: 'create-time-extension'), - AutoRoute(page: MyServiceRequestsPage, path: 'my-service-requests'), + AutoRoute(page: MyServiceRequestsRoute.page, path: 'my-service-requests'), // mb for employee // MeasurementBookInboxPage AutoRoute( - page: MeasurementBookInboxPage, + page: MeasurementBookInboxRoute.page, path: 'measurement-inbox', ), - AutoRoute(page: MBFilterPage, path: 'mb-filter'), - AutoRoute(page: MBDetailPage, path: 'mb-detail'), - AutoRoute(page: MBHistoryBookPage, path: 'mb-history'), - AutoRoute(page: MBMusterScreenPage, path: 'mb-muster-screen'), - AutoRoute(page: MBTypeConfirmationPage, path: 'mb-type-confirmation'), + AutoRoute(page: MBFilterRoute.page, path: 'mb-filter'), + AutoRoute(page: MBDetailRoute.page, path: 'mb-detail'), + AutoRoute(page: MBHistoryBookRoute.page, path: 'mb-history'), + AutoRoute(page: MBMusterScreenRoute.page, path: 'mb-muster-screen'), + AutoRoute(page: MBTypeConfirmationRoute.page, path: 'mb-type-confirmation'), // work order -employee AutoRoute( - page: WorkOderInboxPage, + page: WorkOderInboxRoute.page, path: 'workOrder-inbox', ), - AutoRoute(page: WorkOrderDetailPage, path: 'workOrder-details'), - AutoRoute(page: WOFilterPage, path: 'wo-filter'), + AutoRoute(page: WorkOrderDetailRoute.page, path: 'workOrder-details'), + AutoRoute(page: WOFilterRoute.page, path: 'wo-filter'), ], ), - ], -) -class AppRouter extends _$AppRouter {} + ]; +} + + diff --git a/frontend/works_shg_app/lib/router/app_router.gr.dart b/frontend/works_shg_app/lib/router/app_router.gr.dart index e7c0a2b18b..43091b0793 100644 --- a/frontend/works_shg_app/lib/router/app_router.gr.dart +++ b/frontend/works_shg_app/lib/router/app_router.gr.dart @@ -1,167 +1,200 @@ -// ************************************************************************** -// AutoRouteGenerator -// ************************************************************************** - // GENERATED CODE - DO NOT MODIFY BY HAND // ************************************************************************** -// AutoRouteGenerator +// AutoRouterGenerator // ************************************************************************** -// + // ignore_for_file: type=lint +// coverage:ignore-file part of 'app_router.dart'; -class _$AppRouter extends RootStackRouter { - _$AppRouter([GlobalKey? navigatorKey]) : super(navigatorKey); +abstract class _$AppRouter extends RootStackRouter { + // ignore: unused_element + _$AppRouter({super.navigatorKey}); @override final Map pagesMap = { - UnauthenticatedRouteWrapper.name: (routeData) { - return MaterialPageX( + AttendanceRegisterTableRoute.name: (routeData) { + final pathParams = routeData.inheritedPathParams; + final args = routeData.argsAs( + orElse: () => AttendanceRegisterTableRouteArgs( + registerId: pathParams.getString('registerId'), + tenantId: pathParams.getString('tenantId'), + )); + return AutoRoutePage( + routeData: routeData, + child: AttendanceRegisterTablePage( + args.registerId, + args.tenantId, + key: args.key, + ), + ); + }, + AuthenticatedWrapperRoute.name: (routeData) { + return AutoRoutePage( + routeData: routeData, + child: const AuthenticatedWrapperPage(), + ); + }, + CreateTimeExtensionRequestRoute.name: (routeData) { + final queryParams = routeData.queryParams; + final args = routeData.argsAs( + orElse: () => CreateTimeExtensionRequestRouteArgs( + contractNumber: queryParams.optString('contractNumber'), + isEdit: queryParams.optBool('isEdit'), + )); + return AutoRoutePage( routeData: routeData, - child: const UnauthenticatedPageWrapper(), + child: CreateTimeExtensionRequestPage( + key: args.key, + contractNumber: args.contractNumber, + isEdit: args.isEdit, + ), ); }, - AuthenticatedRouteWrapper.name: (routeData) { - return MaterialPageX( + HomeRoute.name: (routeData) { + return AutoRoutePage( routeData: routeData, - child: const AuthenticatedPageWrapper(), + child: const HomePage(), ); }, LanguageSelectionRoute.name: (routeData) { - return MaterialPageX( + return AutoRoutePage( routeData: routeData, child: const LanguageSelectionPage(), ); }, LoginRoute.name: (routeData) { - return MaterialPageX( + return AutoRoutePage( routeData: routeData, child: const LoginPage(), ); }, - OTPVerificationRoute.name: (routeData) { - final args = routeData.argsAs(); - return MaterialPageX( + MBDetailRoute.name: (routeData) { + final args = routeData.argsAs(); + return AutoRoutePage( routeData: routeData, - child: OTPVerificationPage( + child: MBDetailPage( key: args.key, - mobileNumber: args.mobileNumber, + contractNumber: args.contractNumber, + mbNumber: args.mbNumber, + tenantId: args.tenantId, + type: args.type, ), ); }, - HomeRoute.name: (routeData) { - return MaterialPageX( + MBFilterRoute.name: (routeData) { + return AutoRoutePage( routeData: routeData, - child: const HomePage(), + child: const MBFilterPage(), ); }, - ORGProfileRoute.name: (routeData) { - return MaterialPageX( + MBHistoryBookRoute.name: (routeData) { + final args = routeData.argsAs(); + return AutoRoutePage( routeData: routeData, - child: const ORGProfilePage(), + child: MBHistoryBookPage( + key: args.key, + contractNumber: args.contractNumber, + mbNumber: args.mbNumber, + tenantId: args.tenantId, + type: args.type, + ), ); }, - AttendanceRegisterTableRoute.name: (routeData) { - final pathParams = routeData.inheritedPathParams; - final args = routeData.argsAs( - orElse: () => AttendanceRegisterTableRouteArgs( - registerId: pathParams.getString('registerId'), - tenantId: pathParams.getString('tenantId'), - )); - return MaterialPageX( + MBMusterScreenRoute.name: (routeData) { + final args = routeData.argsAs(); + return AutoRoutePage( routeData: routeData, - child: AttendanceRegisterTablePage( - args.registerId, - args.tenantId, + child: MBMusterScreenPage( key: args.key, + tenantId: args.tenantId, + musterRollNumber: args.musterRollNumber, ), ); }, - WorkOrderRoute.name: (routeData) { - return MaterialPageX( + MBTypeConfirmationRoute.name: (routeData) { + final args = routeData.argsAs(); + return AutoRoutePage( routeData: routeData, - child: const WorkOrderPage(), + child: MBTypeConfirmationPage( + key: args.key, + nextActions: args.nextActions, + contractNumber: args.contractNumber, + mbNumber: args.mbNumber, + type: args.type, + stateActions: args.stateActions, + ), ); }, - ViewMusterRollsRoute.name: (routeData) { - return MaterialPageX( + MeasurementBookInboxRoute.name: (routeData) { + return AutoRoutePage( routeData: routeData, - child: const ViewMusterRollsPage(), + child: const MeasurementBookInboxPage(), ); }, - SHGInboxRoute.name: (routeData) { - final pathParams = routeData.inheritedPathParams; - final args = routeData.argsAs( - orElse: () => SHGInboxRouteArgs( - tenantId: pathParams.getString('tenantId'), - musterRollNo: pathParams.getString('musterRollNo'), - sentBackCode: pathParams.getString('sentBackCode'), - )); - return MaterialPageX( + MeasurementBookWrapperRoute.name: (routeData) { + return AutoRoutePage( routeData: routeData, - child: SHGInboxPage( - args.tenantId, - args.musterRollNo, - args.sentBackCode, - key: args.key, - ), + child: WrappedRoute(child: const MeasurementBookWrapperPage()), ); }, - TrackAttendanceInboxRoute.name: (routeData) { - return MaterialPageX( + MyBillsRoute.name: (routeData) { + return AutoRoutePage( routeData: routeData, - child: const TrackAttendanceInboxPage(), + child: const MyBillsPage(), ); }, - TrackAttendanceRoute.name: (routeData) { - final pathParams = routeData.inheritedPathParams; - final args = routeData.argsAs( - orElse: () => TrackAttendanceRouteArgs( - id: pathParams.getString('id'), - tenantId: pathParams.getString('tenantId'), - )); - return MaterialPageX( + MyServiceRequestsRoute.name: (routeData) { + return AutoRoutePage( routeData: routeData, - child: TrackAttendancePage( - args.id, - args.tenantId, + child: const MyServiceRequestsPage(), + ); + }, + ORGProfileRoute.name: (routeData) { + return AutoRoutePage( + routeData: routeData, + child: const ORGProfilePage(), + ); + }, + OTPVerificationRoute.name: (routeData) { + final args = routeData.argsAs(); + return AutoRoutePage( + routeData: routeData, + child: OTPVerificationPage( key: args.key, + mobileNumber: args.mobileNumber, ), ); }, RegisterIndividualRoute.name: (routeData) { - return MaterialPageX( + return AutoRoutePage( routeData: routeData, child: const RegisterIndividualPage(), ); }, - ViewWorkDetailsRoute.name: (routeData) { - final queryParams = routeData.queryParams; - final args = routeData.argsAs( - orElse: () => ViewWorkDetailsRouteArgs( - contractNumber: queryParams.optString( - 'contractNumber', - 'contractNumber', - ), - wfStatus: queryParams.optString( - 'wfStatus', - 'wfStatus', - ), + SHGInboxRoute.name: (routeData) { + final pathParams = routeData.inheritedPathParams; + final args = routeData.argsAs( + orElse: () => SHGInboxRouteArgs( + tenantId: pathParams.getString('tenantId'), + musterRollNo: pathParams.getString('musterRollNo'), + sentBackCode: pathParams.getString('sentBackCode'), )); - return MaterialPageX( + return AutoRoutePage( routeData: routeData, - child: ViewWorkDetailsPage( + child: SHGInboxPage( + args.tenantId, + args.musterRollNo, + args.sentBackCode, key: args.key, - contractNumber: args.contractNumber, - wfStatus: args.wfStatus, ), ); }, SuccessResponseRoute.name: (routeData) { final args = routeData.argsAs(); - return MaterialPageX( + return AutoRoutePage( routeData: routeData, child: SuccessResponsePage( key: args.key, @@ -183,384 +216,93 @@ class _$AppRouter extends RootStackRouter { ), ); }, - MyBillsRoute.name: (routeData) { - return MaterialPageX( + TrackAttendanceInboxRoute.name: (routeData) { + return AutoRoutePage( routeData: routeData, - child: const MyBillsPage(), + child: const TrackAttendanceInboxPage(), ); }, - CreateTimeExtensionRequestRoute.name: (routeData) { - final queryParams = routeData.queryParams; - final args = routeData.argsAs( - orElse: () => CreateTimeExtensionRequestRouteArgs( - contractNumber: queryParams.optString('contractNumber'), - isEdit: queryParams.optBool('isEdit'), + TrackAttendanceRoute.name: (routeData) { + final pathParams = routeData.inheritedPathParams; + final args = routeData.argsAs( + orElse: () => TrackAttendanceRouteArgs( + id: pathParams.getString('id'), + tenantId: pathParams.getString('tenantId'), )); - return MaterialPageX( + return AutoRoutePage( routeData: routeData, - child: CreateTimeExtensionRequestPage( + child: TrackAttendancePage( + args.id, + args.tenantId, key: args.key, - contractNumber: args.contractNumber, - isEdit: args.isEdit, ), ); }, - MyServiceRequestsRoute.name: (routeData) { - return MaterialPageX( - routeData: routeData, - child: const MyServiceRequestsPage(), - ); - }, - MeasurementBookInboxRoute.name: (routeData) { - return MaterialPageX( - routeData: routeData, - child: const MeasurementBookInboxPage(), - ); - }, - MBFilterRoute.name: (routeData) { - return MaterialPageX( + UnauthenticatedWrapperRoute.name: (routeData) { + return AutoRoutePage( routeData: routeData, - child: const MBFilterPage(), + child: const UnauthenticatedWrapperPage(), ); }, - MBDetailRoute.name: (routeData) { - final args = routeData.argsAs(); - return MaterialPageX( + ViewMusterRollsRoute.name: (routeData) { + return AutoRoutePage( routeData: routeData, - child: MBDetailPage( - key: args.key, - contractNumber: args.contractNumber, - mbNumber: args.mbNumber, - tenantId: args.tenantId, - type: args.type, - ), + child: const ViewMusterRollsPage(), ); }, - MBHistoryBookRoute.name: (routeData) { - final args = routeData.argsAs(); - return MaterialPageX( + ViewWorkDetailsRoute.name: (routeData) { + final queryParams = routeData.queryParams; + final args = routeData.argsAs( + orElse: () => ViewWorkDetailsRouteArgs( + contractNumber: queryParams.optString( + 'contractNumber', + 'contractNumber', + ), + wfStatus: queryParams.optString( + 'wfStatus', + 'wfStatus', + ), + )); + return AutoRoutePage( routeData: routeData, - child: MBHistoryBookPage( + child: ViewWorkDetailsPage( key: args.key, contractNumber: args.contractNumber, - mbNumber: args.mbNumber, - tenantId: args.tenantId, - type: args.type, - ), - ); - }, - MBMusterScreenRoute.name: (routeData) { - final args = routeData.argsAs(); - return MaterialPageX( - routeData: routeData, - child: MBMusterScreenPage( - key: args.key, - tenantId: args.tenantId, - musterRollNumber: args.musterRollNumber, + wfStatus: args.wfStatus, ), ); }, - MBTypeConfirmationRoute.name: (routeData) { - final args = routeData.argsAs(); - return MaterialPageX( + WOFilterRoute.name: (routeData) { + return AutoRoutePage( routeData: routeData, - child: MBTypeConfirmationPage( - key: args.key, - nextActions: args.nextActions, - contractNumber: args.contractNumber, - mbNumber: args.mbNumber, - type: args.type, - stateActions: args.stateActions, - ), + child: const WOFilterPage(), ); }, WorkOderInboxRoute.name: (routeData) { - return MaterialPageX( + return AutoRoutePage( routeData: routeData, child: const WorkOderInboxPage(), ); }, WorkOrderDetailRoute.name: (routeData) { - return MaterialPageX( + return AutoRoutePage( routeData: routeData, child: const WorkOrderDetailPage(), ); }, - WOFilterRoute.name: (routeData) { - return MaterialPageX( + WorkOrderRoute.name: (routeData) { + return AutoRoutePage( routeData: routeData, - child: const WOFilterPage(), + child: const WorkOrderPage(), + ); + }, + WorkOrderWrapperRoute.name: (routeData) { + return AutoRoutePage( + routeData: routeData, + child: WrappedRoute(child: const WorkOrderWrapperPage()), ); }, }; - - @override - List get routes => [ - RouteConfig( - UnauthenticatedRouteWrapper.name, - path: '/', - children: [ - RouteConfig( - '#redirect', - path: '', - parent: UnauthenticatedRouteWrapper.name, - redirectTo: 'language_selection', - fullMatch: true, - ), - RouteConfig( - LanguageSelectionRoute.name, - path: 'language_selection', - parent: UnauthenticatedRouteWrapper.name, - ), - RouteConfig( - LoginRoute.name, - path: 'login', - parent: UnauthenticatedRouteWrapper.name, - ), - RouteConfig( - OTPVerificationRoute.name, - path: 'otp', - parent: UnauthenticatedRouteWrapper.name, - ), - ], - ), - RouteConfig( - AuthenticatedRouteWrapper.name, - path: '/', - children: [ - RouteConfig( - '#redirect', - path: '', - parent: AuthenticatedRouteWrapper.name, - redirectTo: 'home', - fullMatch: true, - ), - RouteConfig( - HomeRoute.name, - path: 'home', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - ORGProfileRoute.name, - path: 'orgProfile', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - AttendanceRegisterTableRoute.name, - path: 'manageAttendanceTable/:registerId/:tenantId', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - WorkOrderRoute.name, - path: 'work-orders', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - ViewMusterRollsRoute.name, - path: 'muster-rolls', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - SHGInboxRoute.name, - path: 'shg-inbox/:tenantId/:musterRollNo/:sentBackCode', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - TrackAttendanceInboxRoute.name, - path: 'track-attendance-inbox', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - TrackAttendanceRoute.name, - path: 'track-attendance/:id/:tenantId', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - RegisterIndividualRoute.name, - path: 'register-individual', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - ViewWorkDetailsRoute.name, - path: 'view-work-order', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - SuccessResponseRoute.name, - path: 'success', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - MyBillsRoute.name, - path: 'my-bills', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - CreateTimeExtensionRequestRoute.name, - path: 'create-time-extension', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - MyServiceRequestsRoute.name, - path: 'my-service-requests', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - MeasurementBookInboxRoute.name, - path: 'measurement-inbox', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - MBFilterRoute.name, - path: 'mb-filter', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - MBDetailRoute.name, - path: 'mb-detail', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - MBHistoryBookRoute.name, - path: 'mb-history', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - MBMusterScreenRoute.name, - path: 'mb-muster-screen', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - MBTypeConfirmationRoute.name, - path: 'mb-type-confirmation', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - WorkOderInboxRoute.name, - path: 'workOrder-inbox', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - WorkOrderDetailRoute.name, - path: 'workOrder-details', - parent: AuthenticatedRouteWrapper.name, - ), - RouteConfig( - WOFilterRoute.name, - path: 'wo-filter', - parent: AuthenticatedRouteWrapper.name, - ), - ], - ), - ]; -} - -/// generated route for -/// [UnauthenticatedPageWrapper] -class UnauthenticatedRouteWrapper extends PageRouteInfo { - const UnauthenticatedRouteWrapper({List? children}) - : super( - UnauthenticatedRouteWrapper.name, - path: '/', - initialChildren: children, - ); - - static const String name = 'UnauthenticatedRouteWrapper'; -} - -/// generated route for -/// [AuthenticatedPageWrapper] -class AuthenticatedRouteWrapper extends PageRouteInfo { - const AuthenticatedRouteWrapper({List? children}) - : super( - AuthenticatedRouteWrapper.name, - path: '/', - initialChildren: children, - ); - - static const String name = 'AuthenticatedRouteWrapper'; -} - -/// generated route for -/// [LanguageSelectionPage] -class LanguageSelectionRoute extends PageRouteInfo { - const LanguageSelectionRoute() - : super( - LanguageSelectionRoute.name, - path: 'language_selection', - ); - - static const String name = 'LanguageSelectionRoute'; -} - -/// generated route for -/// [LoginPage] -class LoginRoute extends PageRouteInfo { - const LoginRoute() - : super( - LoginRoute.name, - path: 'login', - ); - - static const String name = 'LoginRoute'; -} - -/// generated route for -/// [OTPVerificationPage] -class OTPVerificationRoute extends PageRouteInfo { - OTPVerificationRoute({ - Key? key, - required String mobileNumber, - }) : super( - OTPVerificationRoute.name, - path: 'otp', - args: OTPVerificationRouteArgs( - key: key, - mobileNumber: mobileNumber, - ), - ); - - static const String name = 'OTPVerificationRoute'; -} - -class OTPVerificationRouteArgs { - const OTPVerificationRouteArgs({ - this.key, - required this.mobileNumber, - }); - - final Key? key; - - final String mobileNumber; - - @override - String toString() { - return 'OTPVerificationRouteArgs{key: $key, mobileNumber: $mobileNumber}'; - } -} - -/// generated route for -/// [HomePage] -class HomeRoute extends PageRouteInfo { - const HomeRoute() - : super( - HomeRoute.name, - path: 'home', - ); - - static const String name = 'HomeRoute'; -} - -/// generated route for -/// [ORGProfilePage] -class ORGProfileRoute extends PageRouteInfo { - const ORGProfileRoute() - : super( - ORGProfileRoute.name, - path: 'orgProfile', - ); - - static const String name = 'ORGProfileRoute'; } /// generated route for @@ -571,9 +313,9 @@ class AttendanceRegisterTableRoute required String registerId, required String tenantId, Key? key, + List? children, }) : super( AttendanceRegisterTableRoute.name, - path: 'manageAttendanceTable/:registerId/:tenantId', args: AttendanceRegisterTableRouteArgs( registerId: registerId, tenantId: tenantId, @@ -583,9 +325,13 @@ class AttendanceRegisterTableRoute 'registerId': registerId, 'tenantId': tenantId, }, + initialChildren: children, ); static const String name = 'AttendanceRegisterTableRoute'; + + static const PageInfo page = + PageInfo(name); } class AttendanceRegisterTableRouteArgs { @@ -608,608 +354,816 @@ class AttendanceRegisterTableRouteArgs { } /// generated route for -/// [WorkOrderPage] -class WorkOrderRoute extends PageRouteInfo { - const WorkOrderRoute() +/// [AuthenticatedWrapperPage] +class AuthenticatedWrapperRoute extends PageRouteInfo { + const AuthenticatedWrapperRoute({List? children}) : super( - WorkOrderRoute.name, - path: 'work-orders', + AuthenticatedWrapperRoute.name, + initialChildren: children, ); - static const String name = 'WorkOrderRoute'; -} - -/// generated route for -/// [ViewMusterRollsPage] -class ViewMusterRollsRoute extends PageRouteInfo { - const ViewMusterRollsRoute() - : super( - ViewMusterRollsRoute.name, - path: 'muster-rolls', - ); + static const String name = 'AuthenticatedWrapperRoute'; - static const String name = 'ViewMusterRollsRoute'; + static const PageInfo page = PageInfo(name); } /// generated route for -/// [SHGInboxPage] -class SHGInboxRoute extends PageRouteInfo { - SHGInboxRoute({ - required String tenantId, - required String musterRollNo, - required String sentBackCode, +/// [CreateTimeExtensionRequestPage] +class CreateTimeExtensionRequestRoute + extends PageRouteInfo { + CreateTimeExtensionRequestRoute({ Key? key, + String? contractNumber, + bool? isEdit, + List? children, }) : super( - SHGInboxRoute.name, - path: 'shg-inbox/:tenantId/:musterRollNo/:sentBackCode', - args: SHGInboxRouteArgs( - tenantId: tenantId, - musterRollNo: musterRollNo, - sentBackCode: sentBackCode, + CreateTimeExtensionRequestRoute.name, + args: CreateTimeExtensionRequestRouteArgs( key: key, + contractNumber: contractNumber, + isEdit: isEdit, ), - rawPathParams: { - 'tenantId': tenantId, - 'musterRollNo': musterRollNo, - 'sentBackCode': sentBackCode, + rawQueryParams: { + 'contractNumber': contractNumber, + 'isEdit': isEdit, }, + initialChildren: children, ); - static const String name = 'SHGInboxRoute'; + static const String name = 'CreateTimeExtensionRequestRoute'; + + static const PageInfo page = + PageInfo(name); } -class SHGInboxRouteArgs { - const SHGInboxRouteArgs({ - required this.tenantId, - required this.musterRollNo, - required this.sentBackCode, +class CreateTimeExtensionRequestRouteArgs { + const CreateTimeExtensionRequestRouteArgs({ this.key, + this.contractNumber, + this.isEdit, }); - final String tenantId; - - final String musterRollNo; + final Key? key; - final String sentBackCode; + final String? contractNumber; - final Key? key; + final bool? isEdit; @override String toString() { - return 'SHGInboxRouteArgs{tenantId: $tenantId, musterRollNo: $musterRollNo, sentBackCode: $sentBackCode, key: $key}'; + return 'CreateTimeExtensionRequestRouteArgs{key: $key, contractNumber: $contractNumber, isEdit: $isEdit}'; } } /// generated route for -/// [TrackAttendanceInboxPage] -class TrackAttendanceInboxRoute extends PageRouteInfo { - const TrackAttendanceInboxRoute() +/// [HomePage] +class HomeRoute extends PageRouteInfo { + const HomeRoute({List? children}) : super( - TrackAttendanceInboxRoute.name, - path: 'track-attendance-inbox', + HomeRoute.name, + initialChildren: children, ); - static const String name = 'TrackAttendanceInboxRoute'; + static const String name = 'HomeRoute'; + + static const PageInfo page = PageInfo(name); } /// generated route for -/// [TrackAttendancePage] -class TrackAttendanceRoute extends PageRouteInfo { - TrackAttendanceRoute({ - required String id, - required String tenantId, +/// [LanguageSelectionPage] +class LanguageSelectionRoute extends PageRouteInfo { + const LanguageSelectionRoute({List? children}) + : super( + LanguageSelectionRoute.name, + initialChildren: children, + ); + + static const String name = 'LanguageSelectionRoute'; + + static const PageInfo page = PageInfo(name); +} + +/// generated route for +/// [LoginPage] +class LoginRoute extends PageRouteInfo { + const LoginRoute({List? children}) + : super( + LoginRoute.name, + initialChildren: children, + ); + + static const String name = 'LoginRoute'; + + static const PageInfo page = PageInfo(name); +} + +/// generated route for +/// [MBDetailPage] +class MBDetailRoute extends PageRouteInfo { + MBDetailRoute({ Key? key, + required String contractNumber, + required String mbNumber, + String? tenantId, + required MBScreen type, + List? children, }) : super( - TrackAttendanceRoute.name, - path: 'track-attendance/:id/:tenantId', - args: TrackAttendanceRouteArgs( - id: id, - tenantId: tenantId, + MBDetailRoute.name, + args: MBDetailRouteArgs( key: key, + contractNumber: contractNumber, + mbNumber: mbNumber, + tenantId: tenantId, + type: type, ), - rawPathParams: { - 'id': id, - 'tenantId': tenantId, - }, + initialChildren: children, ); - static const String name = 'TrackAttendanceRoute'; + static const String name = 'MBDetailRoute'; + + static const PageInfo page = + PageInfo(name); } -class TrackAttendanceRouteArgs { - const TrackAttendanceRouteArgs({ - required this.id, - required this.tenantId, +class MBDetailRouteArgs { + const MBDetailRouteArgs({ this.key, + required this.contractNumber, + required this.mbNumber, + this.tenantId, + required this.type, }); - final String id; + final Key? key; - final String tenantId; + final String contractNumber; - final Key? key; + final String mbNumber; + + final String? tenantId; + + final MBScreen type; @override String toString() { - return 'TrackAttendanceRouteArgs{id: $id, tenantId: $tenantId, key: $key}'; + return 'MBDetailRouteArgs{key: $key, contractNumber: $contractNumber, mbNumber: $mbNumber, tenantId: $tenantId, type: $type}'; } } /// generated route for -/// [RegisterIndividualPage] -class RegisterIndividualRoute extends PageRouteInfo { - const RegisterIndividualRoute() +/// [MBFilterPage] +class MBFilterRoute extends PageRouteInfo { + const MBFilterRoute({List? children}) : super( - RegisterIndividualRoute.name, - path: 'register-individual', + MBFilterRoute.name, + initialChildren: children, ); - static const String name = 'RegisterIndividualRoute'; + static const String name = 'MBFilterRoute'; + + static const PageInfo page = PageInfo(name); } /// generated route for -/// [ViewWorkDetailsPage] -class ViewWorkDetailsRoute extends PageRouteInfo { - ViewWorkDetailsRoute({ +/// [MBHistoryBookPage] +class MBHistoryBookRoute extends PageRouteInfo { + MBHistoryBookRoute({ Key? key, - String? contractNumber = 'contractNumber', - String? wfStatus = 'wfStatus', + required String contractNumber, + required String mbNumber, + String? tenantId, + required MBScreen type, + List? children, }) : super( - ViewWorkDetailsRoute.name, - path: 'view-work-order', - args: ViewWorkDetailsRouteArgs( + MBHistoryBookRoute.name, + args: MBHistoryBookRouteArgs( key: key, contractNumber: contractNumber, - wfStatus: wfStatus, + mbNumber: mbNumber, + tenantId: tenantId, + type: type, ), - rawQueryParams: { - 'contractNumber': contractNumber, - 'wfStatus': wfStatus, - }, + initialChildren: children, ); - static const String name = 'ViewWorkDetailsRoute'; + static const String name = 'MBHistoryBookRoute'; + + static const PageInfo page = + PageInfo(name); } -class ViewWorkDetailsRouteArgs { - const ViewWorkDetailsRouteArgs({ +class MBHistoryBookRouteArgs { + const MBHistoryBookRouteArgs({ this.key, - this.contractNumber = 'contractNumber', - this.wfStatus = 'wfStatus', + required this.contractNumber, + required this.mbNumber, + this.tenantId, + required this.type, }); final Key? key; - final String? contractNumber; + final String contractNumber; - final String? wfStatus; + final String mbNumber; + + final String? tenantId; + + final MBScreen type; @override String toString() { - return 'ViewWorkDetailsRouteArgs{key: $key, contractNumber: $contractNumber, wfStatus: $wfStatus}'; + return 'MBHistoryBookRouteArgs{key: $key, contractNumber: $contractNumber, mbNumber: $mbNumber, tenantId: $tenantId, type: $type}'; } } /// generated route for -/// [SuccessResponsePage] -class SuccessResponseRoute extends PageRouteInfo { - SuccessResponseRoute({ +/// [MBMusterScreenPage] +class MBMusterScreenRoute extends PageRouteInfo { + MBMusterScreenRoute({ Key? key, - required String header, - String? subHeader, - String? subText, - String? subTitle, - void Function()? callBack, - void Function()? callBackWhatsapp, - void Function()? callBackDownload, - void Function()? callBackPrint, - bool? backButton, - String? buttonLabel, - bool isWithoutLogin = false, - String? downloadLabel, - String? printLabel, - String? whatsAppLabel, - String? backButtonLabel, + required String tenantId, + required String musterRollNumber, + List? children, }) : super( - SuccessResponseRoute.name, - path: 'success', - args: SuccessResponseRouteArgs( + MBMusterScreenRoute.name, + args: MBMusterScreenRouteArgs( key: key, - header: header, - subHeader: subHeader, - subText: subText, - subTitle: subTitle, - callBack: callBack, - callBackWhatsapp: callBackWhatsapp, - callBackDownload: callBackDownload, - callBackPrint: callBackPrint, - backButton: backButton, - buttonLabel: buttonLabel, - isWithoutLogin: isWithoutLogin, - downloadLabel: downloadLabel, - printLabel: printLabel, - whatsAppLabel: whatsAppLabel, - backButtonLabel: backButtonLabel, + tenantId: tenantId, + musterRollNumber: musterRollNumber, ), + initialChildren: children, ); - static const String name = 'SuccessResponseRoute'; + static const String name = 'MBMusterScreenRoute'; + + static const PageInfo page = + PageInfo(name); } -class SuccessResponseRouteArgs { - const SuccessResponseRouteArgs({ +class MBMusterScreenRouteArgs { + const MBMusterScreenRouteArgs({ this.key, - required this.header, - this.subHeader, - this.subText, - this.subTitle, - this.callBack, - this.callBackWhatsapp, - this.callBackDownload, - this.callBackPrint, - this.backButton, - this.buttonLabel, - this.isWithoutLogin = false, - this.downloadLabel, - this.printLabel, - this.whatsAppLabel, - this.backButtonLabel, + required this.tenantId, + required this.musterRollNumber, }); final Key? key; - final String header; - - final String? subHeader; - - final String? subText; + final String tenantId; - final String? subTitle; + final String musterRollNumber; - final void Function()? callBack; + @override + String toString() { + return 'MBMusterScreenRouteArgs{key: $key, tenantId: $tenantId, musterRollNumber: $musterRollNumber}'; + } +} - final void Function()? callBackWhatsapp; +/// generated route for +/// [MBTypeConfirmationPage] +class MBTypeConfirmationRoute + extends PageRouteInfo { + MBTypeConfirmationRoute({ + Key? key, + required NextActions? nextActions, + String? contractNumber, + String? mbNumber, + required MBScreen type, + StateActions? stateActions, + List? children, + }) : super( + MBTypeConfirmationRoute.name, + args: MBTypeConfirmationRouteArgs( + key: key, + nextActions: nextActions, + contractNumber: contractNumber, + mbNumber: mbNumber, + type: type, + stateActions: stateActions, + ), + initialChildren: children, + ); - final void Function()? callBackDownload; + static const String name = 'MBTypeConfirmationRoute'; - final void Function()? callBackPrint; + static const PageInfo page = + PageInfo(name); +} - final bool? backButton; +class MBTypeConfirmationRouteArgs { + const MBTypeConfirmationRouteArgs({ + this.key, + required this.nextActions, + this.contractNumber, + this.mbNumber, + required this.type, + this.stateActions, + }); - final String? buttonLabel; + final Key? key; - final bool isWithoutLogin; + final NextActions? nextActions; - final String? downloadLabel; + final String? contractNumber; - final String? printLabel; + final String? mbNumber; - final String? whatsAppLabel; + final MBScreen type; - final String? backButtonLabel; + final StateActions? stateActions; @override String toString() { - return 'SuccessResponseRouteArgs{key: $key, header: $header, subHeader: $subHeader, subText: $subText, subTitle: $subTitle, callBack: $callBack, callBackWhatsapp: $callBackWhatsapp, callBackDownload: $callBackDownload, callBackPrint: $callBackPrint, backButton: $backButton, buttonLabel: $buttonLabel, isWithoutLogin: $isWithoutLogin, downloadLabel: $downloadLabel, printLabel: $printLabel, whatsAppLabel: $whatsAppLabel, backButtonLabel: $backButtonLabel}'; + return 'MBTypeConfirmationRouteArgs{key: $key, nextActions: $nextActions, contractNumber: $contractNumber, mbNumber: $mbNumber, type: $type, stateActions: $stateActions}'; } } +/// generated route for +/// [MeasurementBookInboxPage] +class MeasurementBookInboxRoute extends PageRouteInfo { + const MeasurementBookInboxRoute({List? children}) + : super( + MeasurementBookInboxRoute.name, + initialChildren: children, + ); + + static const String name = 'MeasurementBookInboxRoute'; + + static const PageInfo page = PageInfo(name); +} + +/// generated route for +/// [MeasurementBookWrapperPage] +class MeasurementBookWrapperRoute extends PageRouteInfo { + const MeasurementBookWrapperRoute({List? children}) + : super( + MeasurementBookWrapperRoute.name, + initialChildren: children, + ); + + static const String name = 'MeasurementBookWrapperRoute'; + + static const PageInfo page = PageInfo(name); +} + /// generated route for /// [MyBillsPage] class MyBillsRoute extends PageRouteInfo { - const MyBillsRoute() + const MyBillsRoute({List? children}) : super( MyBillsRoute.name, - path: 'my-bills', + initialChildren: children, ); static const String name = 'MyBillsRoute'; + + static const PageInfo page = PageInfo(name); } /// generated route for -/// [CreateTimeExtensionRequestPage] -class CreateTimeExtensionRequestRoute - extends PageRouteInfo { - CreateTimeExtensionRequestRoute({ +/// [MyServiceRequestsPage] +class MyServiceRequestsRoute extends PageRouteInfo { + const MyServiceRequestsRoute({List? children}) + : super( + MyServiceRequestsRoute.name, + initialChildren: children, + ); + + static const String name = 'MyServiceRequestsRoute'; + + static const PageInfo page = PageInfo(name); +} + +/// generated route for +/// [ORGProfilePage] +class ORGProfileRoute extends PageRouteInfo { + const ORGProfileRoute({List? children}) + : super( + ORGProfileRoute.name, + initialChildren: children, + ); + + static const String name = 'ORGProfileRoute'; + + static const PageInfo page = PageInfo(name); +} + +/// generated route for +/// [OTPVerificationPage] +class OTPVerificationRoute extends PageRouteInfo { + OTPVerificationRoute({ Key? key, - String? contractNumber, - bool? isEdit, + required String mobileNumber, + List? children, }) : super( - CreateTimeExtensionRequestRoute.name, - path: 'create-time-extension', - args: CreateTimeExtensionRequestRouteArgs( + OTPVerificationRoute.name, + args: OTPVerificationRouteArgs( key: key, - contractNumber: contractNumber, - isEdit: isEdit, + mobileNumber: mobileNumber, ), - rawQueryParams: { - 'contractNumber': contractNumber, - 'isEdit': isEdit, - }, + initialChildren: children, ); - static const String name = 'CreateTimeExtensionRequestRoute'; + static const String name = 'OTPVerificationRoute'; + + static const PageInfo page = + PageInfo(name); } -class CreateTimeExtensionRequestRouteArgs { - const CreateTimeExtensionRequestRouteArgs({ +class OTPVerificationRouteArgs { + const OTPVerificationRouteArgs({ this.key, - this.contractNumber, - this.isEdit, + required this.mobileNumber, }); final Key? key; - final String? contractNumber; - - final bool? isEdit; + final String mobileNumber; @override String toString() { - return 'CreateTimeExtensionRequestRouteArgs{key: $key, contractNumber: $contractNumber, isEdit: $isEdit}'; + return 'OTPVerificationRouteArgs{key: $key, mobileNumber: $mobileNumber}'; } } /// generated route for -/// [MyServiceRequestsPage] -class MyServiceRequestsRoute extends PageRouteInfo { - const MyServiceRequestsRoute() +/// [RegisterIndividualPage] +class RegisterIndividualRoute extends PageRouteInfo { + const RegisterIndividualRoute({List? children}) : super( - MyServiceRequestsRoute.name, - path: 'my-service-requests', + RegisterIndividualRoute.name, + initialChildren: children, ); - static const String name = 'MyServiceRequestsRoute'; + static const String name = 'RegisterIndividualRoute'; + + static const PageInfo page = PageInfo(name); } /// generated route for -/// [MeasurementBookInboxPage] -class MeasurementBookInboxRoute extends PageRouteInfo { - const MeasurementBookInboxRoute() - : super( - MeasurementBookInboxRoute.name, - path: 'measurement-inbox', +/// [SHGInboxPage] +class SHGInboxRoute extends PageRouteInfo { + SHGInboxRoute({ + required String tenantId, + required String musterRollNo, + required String sentBackCode, + Key? key, + List? children, + }) : super( + SHGInboxRoute.name, + args: SHGInboxRouteArgs( + tenantId: tenantId, + musterRollNo: musterRollNo, + sentBackCode: sentBackCode, + key: key, + ), + rawPathParams: { + 'tenantId': tenantId, + 'musterRollNo': musterRollNo, + 'sentBackCode': sentBackCode, + }, + initialChildren: children, ); - static const String name = 'MeasurementBookInboxRoute'; + static const String name = 'SHGInboxRoute'; + + static const PageInfo page = + PageInfo(name); } -/// generated route for -/// [MBFilterPage] -class MBFilterRoute extends PageRouteInfo { - const MBFilterRoute() - : super( - MBFilterRoute.name, - path: 'mb-filter', - ); +class SHGInboxRouteArgs { + const SHGInboxRouteArgs({ + required this.tenantId, + required this.musterRollNo, + required this.sentBackCode, + this.key, + }); - static const String name = 'MBFilterRoute'; + final String tenantId; + + final String musterRollNo; + + final String sentBackCode; + + final Key? key; + + @override + String toString() { + return 'SHGInboxRouteArgs{tenantId: $tenantId, musterRollNo: $musterRollNo, sentBackCode: $sentBackCode, key: $key}'; + } } /// generated route for -/// [MBDetailPage] -class MBDetailRoute extends PageRouteInfo { - MBDetailRoute({ +/// [SuccessResponsePage] +class SuccessResponseRoute extends PageRouteInfo { + SuccessResponseRoute({ Key? key, - required String contractNumber, - required String mbNumber, - String? tenantId, - required MBScreen type, + required String header, + String? subHeader, + String? subText, + String? subTitle, + void Function()? callBack, + void Function()? callBackWhatsapp, + void Function()? callBackDownload, + void Function()? callBackPrint, + bool? backButton, + String? buttonLabel, + bool isWithoutLogin = false, + String? downloadLabel, + String? printLabel, + String? whatsAppLabel, + String? backButtonLabel, + List? children, }) : super( - MBDetailRoute.name, - path: 'mb-detail', - args: MBDetailRouteArgs( + SuccessResponseRoute.name, + args: SuccessResponseRouteArgs( key: key, - contractNumber: contractNumber, - mbNumber: mbNumber, - tenantId: tenantId, - type: type, + header: header, + subHeader: subHeader, + subText: subText, + subTitle: subTitle, + callBack: callBack, + callBackWhatsapp: callBackWhatsapp, + callBackDownload: callBackDownload, + callBackPrint: callBackPrint, + backButton: backButton, + buttonLabel: buttonLabel, + isWithoutLogin: isWithoutLogin, + downloadLabel: downloadLabel, + printLabel: printLabel, + whatsAppLabel: whatsAppLabel, + backButtonLabel: backButtonLabel, ), + initialChildren: children, ); - static const String name = 'MBDetailRoute'; + static const String name = 'SuccessResponseRoute'; + + static const PageInfo page = + PageInfo(name); } -class MBDetailRouteArgs { - const MBDetailRouteArgs({ +class SuccessResponseRouteArgs { + const SuccessResponseRouteArgs({ this.key, - required this.contractNumber, - required this.mbNumber, - this.tenantId, - required this.type, + required this.header, + this.subHeader, + this.subText, + this.subTitle, + this.callBack, + this.callBackWhatsapp, + this.callBackDownload, + this.callBackPrint, + this.backButton, + this.buttonLabel, + this.isWithoutLogin = false, + this.downloadLabel, + this.printLabel, + this.whatsAppLabel, + this.backButtonLabel, }); final Key? key; - final String contractNumber; + final String header; - final String mbNumber; + final String? subHeader; - final String? tenantId; + final String? subText; - final MBScreen type; + final String? subTitle; - @override - String toString() { - return 'MBDetailRouteArgs{key: $key, contractNumber: $contractNumber, mbNumber: $mbNumber, tenantId: $tenantId, type: $type}'; - } -} + final void Function()? callBack; -/// generated route for -/// [MBHistoryBookPage] -class MBHistoryBookRoute extends PageRouteInfo { - MBHistoryBookRoute({ - Key? key, - required String contractNumber, - required String mbNumber, - String? tenantId, - required MBScreen type, - }) : super( - MBHistoryBookRoute.name, - path: 'mb-history', - args: MBHistoryBookRouteArgs( - key: key, - contractNumber: contractNumber, - mbNumber: mbNumber, - tenantId: tenantId, - type: type, - ), - ); + final void Function()? callBackWhatsapp; - static const String name = 'MBHistoryBookRoute'; -} + final void Function()? callBackDownload; -class MBHistoryBookRouteArgs { - const MBHistoryBookRouteArgs({ - this.key, - required this.contractNumber, - required this.mbNumber, - this.tenantId, - required this.type, - }); + final void Function()? callBackPrint; - final Key? key; + final bool? backButton; - final String contractNumber; + final String? buttonLabel; - final String mbNumber; + final bool isWithoutLogin; - final String? tenantId; + final String? downloadLabel; - final MBScreen type; + final String? printLabel; + + final String? whatsAppLabel; + + final String? backButtonLabel; @override String toString() { - return 'MBHistoryBookRouteArgs{key: $key, contractNumber: $contractNumber, mbNumber: $mbNumber, tenantId: $tenantId, type: $type}'; + return 'SuccessResponseRouteArgs{key: $key, header: $header, subHeader: $subHeader, subText: $subText, subTitle: $subTitle, callBack: $callBack, callBackWhatsapp: $callBackWhatsapp, callBackDownload: $callBackDownload, callBackPrint: $callBackPrint, backButton: $backButton, buttonLabel: $buttonLabel, isWithoutLogin: $isWithoutLogin, downloadLabel: $downloadLabel, printLabel: $printLabel, whatsAppLabel: $whatsAppLabel, backButtonLabel: $backButtonLabel}'; } } /// generated route for -/// [MBMusterScreenPage] -class MBMusterScreenRoute extends PageRouteInfo { - MBMusterScreenRoute({ - Key? key, +/// [TrackAttendanceInboxPage] +class TrackAttendanceInboxRoute extends PageRouteInfo { + const TrackAttendanceInboxRoute({List? children}) + : super( + TrackAttendanceInboxRoute.name, + initialChildren: children, + ); + + static const String name = 'TrackAttendanceInboxRoute'; + + static const PageInfo page = PageInfo(name); +} + +/// generated route for +/// [TrackAttendancePage] +class TrackAttendanceRoute extends PageRouteInfo { + TrackAttendanceRoute({ + required String id, required String tenantId, - required String musterRollNumber, + Key? key, + List? children, }) : super( - MBMusterScreenRoute.name, - path: 'mb-muster-screen', - args: MBMusterScreenRouteArgs( - key: key, + TrackAttendanceRoute.name, + args: TrackAttendanceRouteArgs( + id: id, tenantId: tenantId, - musterRollNumber: musterRollNumber, + key: key, ), + rawPathParams: { + 'id': id, + 'tenantId': tenantId, + }, + initialChildren: children, ); - static const String name = 'MBMusterScreenRoute'; + static const String name = 'TrackAttendanceRoute'; + + static const PageInfo page = + PageInfo(name); } -class MBMusterScreenRouteArgs { - const MBMusterScreenRouteArgs({ - this.key, +class TrackAttendanceRouteArgs { + const TrackAttendanceRouteArgs({ + required this.id, required this.tenantId, - required this.musterRollNumber, + this.key, }); - final Key? key; + final String id; final String tenantId; - final String musterRollNumber; + final Key? key; @override String toString() { - return 'MBMusterScreenRouteArgs{key: $key, tenantId: $tenantId, musterRollNumber: $musterRollNumber}'; + return 'TrackAttendanceRouteArgs{id: $id, tenantId: $tenantId, key: $key}'; } } /// generated route for -/// [MBTypeConfirmationPage] -class MBTypeConfirmationRoute - extends PageRouteInfo { - MBTypeConfirmationRoute({ +/// [UnauthenticatedWrapperPage] +class UnauthenticatedWrapperRoute extends PageRouteInfo { + const UnauthenticatedWrapperRoute({List? children}) + : super( + UnauthenticatedWrapperRoute.name, + initialChildren: children, + ); + + static const String name = 'UnauthenticatedWrapperRoute'; + + static const PageInfo page = PageInfo(name); +} + +/// generated route for +/// [ViewMusterRollsPage] +class ViewMusterRollsRoute extends PageRouteInfo { + const ViewMusterRollsRoute({List? children}) + : super( + ViewMusterRollsRoute.name, + initialChildren: children, + ); + + static const String name = 'ViewMusterRollsRoute'; + + static const PageInfo page = PageInfo(name); +} + +/// generated route for +/// [ViewWorkDetailsPage] +class ViewWorkDetailsRoute extends PageRouteInfo { + ViewWorkDetailsRoute({ Key? key, - required NextActions? nextActions, - String? contractNumber, - String? mbNumber, - required MBScreen type, - StateActions? stateActions, + String? contractNumber = 'contractNumber', + String? wfStatus = 'wfStatus', + List? children, }) : super( - MBTypeConfirmationRoute.name, - path: 'mb-type-confirmation', - args: MBTypeConfirmationRouteArgs( + ViewWorkDetailsRoute.name, + args: ViewWorkDetailsRouteArgs( key: key, - nextActions: nextActions, contractNumber: contractNumber, - mbNumber: mbNumber, - type: type, - stateActions: stateActions, + wfStatus: wfStatus, ), + rawQueryParams: { + 'contractNumber': contractNumber, + 'wfStatus': wfStatus, + }, + initialChildren: children, ); - static const String name = 'MBTypeConfirmationRoute'; + static const String name = 'ViewWorkDetailsRoute'; + + static const PageInfo page = + PageInfo(name); } -class MBTypeConfirmationRouteArgs { - const MBTypeConfirmationRouteArgs({ +class ViewWorkDetailsRouteArgs { + const ViewWorkDetailsRouteArgs({ this.key, - required this.nextActions, - this.contractNumber, - this.mbNumber, - required this.type, - this.stateActions, + this.contractNumber = 'contractNumber', + this.wfStatus = 'wfStatus', }); final Key? key; - final NextActions? nextActions; - final String? contractNumber; - final String? mbNumber; - - final MBScreen type; - - final StateActions? stateActions; + final String? wfStatus; @override String toString() { - return 'MBTypeConfirmationRouteArgs{key: $key, nextActions: $nextActions, contractNumber: $contractNumber, mbNumber: $mbNumber, type: $type, stateActions: $stateActions}'; + return 'ViewWorkDetailsRouteArgs{key: $key, contractNumber: $contractNumber, wfStatus: $wfStatus}'; } } +/// generated route for +/// [WOFilterPage] +class WOFilterRoute extends PageRouteInfo { + const WOFilterRoute({List? children}) + : super( + WOFilterRoute.name, + initialChildren: children, + ); + + static const String name = 'WOFilterRoute'; + + static const PageInfo page = PageInfo(name); +} + /// generated route for /// [WorkOderInboxPage] class WorkOderInboxRoute extends PageRouteInfo { - const WorkOderInboxRoute() + const WorkOderInboxRoute({List? children}) : super( WorkOderInboxRoute.name, - path: 'workOrder-inbox', + initialChildren: children, ); static const String name = 'WorkOderInboxRoute'; + + static const PageInfo page = PageInfo(name); } /// generated route for /// [WorkOrderDetailPage] class WorkOrderDetailRoute extends PageRouteInfo { - const WorkOrderDetailRoute() + const WorkOrderDetailRoute({List? children}) : super( WorkOrderDetailRoute.name, - path: 'workOrder-details', + initialChildren: children, ); static const String name = 'WorkOrderDetailRoute'; + + static const PageInfo page = PageInfo(name); } /// generated route for -/// [WOFilterPage] -class WOFilterRoute extends PageRouteInfo { - const WOFilterRoute() +/// [WorkOrderPage] +class WorkOrderRoute extends PageRouteInfo { + const WorkOrderRoute({List? children}) : super( - WOFilterRoute.name, - path: 'wo-filter', + WorkOrderRoute.name, + initialChildren: children, ); - static const String name = 'WOFilterRoute'; + static const String name = 'WorkOrderRoute'; + + static const PageInfo page = PageInfo(name); +} + +/// generated route for +/// [WorkOrderWrapperPage] +class WorkOrderWrapperRoute extends PageRouteInfo { + const WorkOrderWrapperRoute({List? children}) + : super( + WorkOrderWrapperRoute.name, + initialChildren: children, + ); + + static const String name = 'WorkOrderWrapperRoute'; + + static const PageInfo page = PageInfo(name); } diff --git a/frontend/works_shg_app/lib/theme.dart b/frontend/works_shg_app/lib/theme.dart index c5c68703d0..bc6b1cf930 100644 --- a/frontend/works_shg_app/lib/theme.dart +++ b/frontend/works_shg_app/lib/theme.dart @@ -2,10 +2,11 @@ import 'package:digit_components/theme/colors.dart'; import 'package:flutter/material.dart'; ThemeData get theme => ThemeData( + useMaterial3: false, primarySwatch: createMaterialColor(const Color(0XFFf47738)), highlightColor: createMaterialColor(const Color(0XFFC7E0F1)), - backgroundColor: - createMaterialColor(const Color.fromRGBO(238, 238, 238, 1)), + // backgroundColor: + // createMaterialColor(const Color.fromRGBO(238, 238, 238, 1)), primaryColor: const Color.fromRGBO(244, 119, 56, 1), hintColor: const Color.fromRGBO(177, 180, 182, 1), primaryColorDark: const Color.fromRGBO(11, 12, 12, 1), @@ -101,7 +102,7 @@ ColorScheme get colorScheme => ColorScheme( onSecondary: colors.white, error: colors.lavaRed, onError: colors.white, - background: colors.seaShellGray, + background: createMaterialColor(const Color.fromRGBO(238, 238, 238, 1)), onBackground: colors.woodsmokeBlack, surface: colors.alabasterWhite, onSurface: colors.woodsmokeBlack, diff --git a/frontend/works_shg_app/lib/utils/Toast/toast_animation.dart b/frontend/works_shg_app/lib/utils/Toast/toast_animation.dart index 2ed194a41f..5e5b129bc5 100644 --- a/frontend/works_shg_app/lib/utils/Toast/toast_animation.dart +++ b/frontend/works_shg_app/lib/utils/Toast/toast_animation.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; class SlideInToastMessageAnimation extends StatelessWidget { final Widget child; - SlideInToastMessageAnimation(this.child); + const SlideInToastMessageAnimation(this.child, {super.key}); @override Widget build(BuildContext context) { @@ -13,6 +13,6 @@ class SlideInToastMessageAnimation extends StatelessWidget { opacity: 1.0, duration: const Duration(seconds: 5), // The green box must be a child of the AnimatedOpacity widget. - child: this.child); + child: child); } } diff --git a/frontend/works_shg_app/lib/utils/constants.dart b/frontend/works_shg_app/lib/utils/constants.dart index 646512d18c..fdca3290e0 100644 --- a/frontend/works_shg_app/lib/utils/constants.dart +++ b/frontend/works_shg_app/lib/utils/constants.dart @@ -46,6 +46,7 @@ class Constants { static const inWorkFlowKey = 'INWORKFLOW'; static const verifyAdhar="SUCCESS"; static const saveAsDraft="SAVE_AS_DRAFT"; + static const appVersion="1.1.3"; } final scaffoldMessengerKey = GlobalKey(); diff --git a/frontend/works_shg_app/lib/utils/string_extension.dart b/frontend/works_shg_app/lib/utils/string_extension.dart index e865a14ce7..3141a4c8db 100644 --- a/frontend/works_shg_app/lib/utils/string_extension.dart +++ b/frontend/works_shg_app/lib/utils/string_extension.dart @@ -1,8 +1,8 @@ extension StringExtension on String { String capitalize() { - if (this.isEmpty) { + if (isEmpty) { return this; } - return this[0].toUpperCase() + this.substring(1); + return this[0].toUpperCase() + substring(1); } } diff --git a/frontend/works_shg_app/lib/widgets/Back.dart b/frontend/works_shg_app/lib/widgets/Back.dart index d22ef0ce4d..cb675a5575 100644 --- a/frontend/works_shg_app/lib/widgets/Back.dart +++ b/frontend/works_shg_app/lib/widgets/Back.dart @@ -12,8 +12,7 @@ class Back extends StatelessWidget { final VoidCallback? callback; final String? backLabel; - const Back({Key? key, this.widget, this.callback, this.backLabel}) - : super(key: key); + const Back({super.key, this.widget, this.callback, this.backLabel}); @override Widget build(BuildContext context) { diff --git a/frontend/works_shg_app/lib/widgets/FormWrapper.dart b/frontend/works_shg_app/lib/widgets/FormWrapper.dart index 49c25ae74e..876711a379 100644 --- a/frontend/works_shg_app/lib/widgets/FormWrapper.dart +++ b/frontend/works_shg_app/lib/widgets/FormWrapper.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; class FormWrapper extends StatelessWidget { final Widget widget; - FormWrapper(this.widget); + const FormWrapper(this.widget, {super.key}); @override Widget build(BuildContext context) { diff --git a/frontend/works_shg_app/lib/widgets/LabelText.dart b/frontend/works_shg_app/lib/widgets/LabelText.dart index 5bd1f9c3f0..8196ac1d3a 100644 --- a/frontend/works_shg_app/lib/widgets/LabelText.dart +++ b/frontend/works_shg_app/lib/widgets/LabelText.dart @@ -2,7 +2,7 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; class LabelText extends StatelessWidget { - final input; + final String input; final EdgeInsets? padding; const LabelText(this.input, {super.key, this.padding}); @override diff --git a/frontend/works_shg_app/lib/widgets/ScrollParent.dart b/frontend/works_shg_app/lib/widgets/ScrollParent.dart index 1fe2cc4f0e..4a3e880f0c 100644 --- a/frontend/works_shg_app/lib/widgets/ScrollParent.dart +++ b/frontend/works_shg_app/lib/widgets/ScrollParent.dart @@ -4,7 +4,7 @@ class ScrollParent extends StatelessWidget { final ScrollController controller; final Widget child; - ScrollParent(this.controller, this.child); + const ScrollParent(this.controller, this.child, {super.key}); @override Widget build(BuildContext context) { diff --git a/frontend/works_shg_app/lib/widgets/SideBar.dart b/frontend/works_shg_app/lib/widgets/SideBar.dart index 8441b348eb..a9bea0d7f0 100644 --- a/frontend/works_shg_app/lib/widgets/SideBar.dart +++ b/frontend/works_shg_app/lib/widgets/SideBar.dart @@ -269,7 +269,9 @@ class _SideBar extends State { orElse: () => const SizedBox.shrink(), loaded: (value) { return ScrollableContent( - footer: const PoweredByDigit(), + footer: const PoweredByDigit( + // version: Constants.appVersion, + ), children: [ BlocBuilder( builder: (context, state) { diff --git a/frontend/works_shg_app/lib/widgets/atoms/app_bar_logo.dart b/frontend/works_shg_app/lib/widgets/atoms/app_bar_logo.dart index d2ba033dc9..83b6ec8a1f 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/app_bar_logo.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/app_bar_logo.dart @@ -1,3 +1,4 @@ +import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/utils/global_variables.dart'; @@ -31,9 +32,11 @@ class AppBarLogo extends StatelessWidget { ?.first.name ?? '' : '', - style: const TextStyle( + style: Theme.of(context).textTheme.labelSmall?.copyWith( fontWeight: FontWeight.w400, fontSize: 12, + color: const DigitColors().white + ), textAlign: TextAlign.start, ), @@ -43,9 +46,11 @@ class AppBarLogo extends StatelessWidget { GlobalVariables.organisationListModel?.organisations?.first .orgNumber ?? '', - style: const TextStyle( + style: Theme.of(context).textTheme.labelSmall?.copyWith( fontWeight: FontWeight.w400, fontSize: 12, + color: const DigitColors().white + ), textAlign: TextAlign.start, ) diff --git a/frontend/works_shg_app/lib/widgets/atoms/auto_complete_search_bar.dart b/frontend/works_shg_app/lib/widgets/atoms/auto_complete_search_bar.dart index 39b4e2cd99..7e597a5656 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/auto_complete_search_bar.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/auto_complete_search_bar.dart @@ -23,7 +23,7 @@ class AutoCompleteSearchBar extends StatelessWidget { final String? hintText; const AutoCompleteSearchBar( - {Key? key, + {super.key, required this.labelText, required this.callBack, required this.onSuggestionSelected, @@ -37,8 +37,7 @@ class AutoCompleteSearchBar extends StatelessWidget { this.textInputType, this.hintText, this.maxLength, - this.minCharsForSuggestions}) - : super(key: key); + this.minCharsForSuggestions}); @override Widget build(BuildContext context) { @@ -72,29 +71,6 @@ class AutoCompleteSearchBar extends StatelessWidget { }); } - Widget _text(BuildContext context) { - return Align( - alignment: Alignment.centerLeft, - child: Wrap(direction: Axis.horizontal, children: [ - Text(labelText, - textAlign: TextAlign.left, - style: TextStyle( - fontWeight: FontWeight.w400, - fontSize: 16, - color: (isEnabled ?? true) - ? Theme.of(context).primaryColorDark - : Colors.grey)), - Text((isRequired ?? false) ? '* ' : ' ', - textAlign: TextAlign.left, - style: TextStyle( - fontWeight: FontWeight.w400, - fontSize: 16, - color: (isEnabled ?? true) - ? Theme.of(context).primaryColorDark - : Colors.grey)), - ]), - ); - } Widget _autoComplete(BuildContext context) { return TypeAheadFormField( diff --git a/frontend/works_shg_app/lib/widgets/atoms/back_navigation_help_header.dart b/frontend/works_shg_app/lib/widgets/atoms/back_navigation_help_header.dart index 9061feb779..defd36f2b0 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/back_navigation_help_header.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/back_navigation_help_header.dart @@ -25,9 +25,9 @@ class BackNavigationHelpHeaderWidget extends StatelessWidget { foregroundColor: theme.colorScheme.onBackground, padding: EdgeInsets.zero, ), - onPressed: () => context.router.pop(), - child: Row( - children: const [ + onPressed: () => context.router.maybePopTop(), + child: const Row( + children: [ Icon(Icons.arrow_left_sharp), Text('Back'), ], @@ -39,8 +39,8 @@ class BackNavigationHelpHeaderWidget extends StatelessWidget { TextButton( style: TextButton.styleFrom(padding: EdgeInsets.zero), onPressed: null, - child: Row( - children: const [ + child: const Row( + children: [ Text('Help'), Icon(Icons.help_outline_outlined), ], diff --git a/frontend/works_shg_app/lib/widgets/atoms/date_range_picker.dart b/frontend/works_shg_app/lib/widgets/atoms/date_range_picker.dart index cc4c2bd2ba..e159c65842 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/date_range_picker.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/date_range_picker.dart @@ -18,8 +18,8 @@ class DateRangePicker extends StatelessWidget { final DateTime? minDate; final DateTime? maxDate; - DateRangePicker( - {Key? key, + const DateRangePicker( + {super.key, required this.label, required this.controller, required this.rangePickerController, @@ -32,8 +32,7 @@ class DateRangePicker extends StatelessWidget { this.onCancel, this.minDate, this.maxDate, - this.format,}) - : super(key: key); + this.format,}); @override Widget build(BuildContext context) { diff --git a/frontend/works_shg_app/lib/widgets/atoms/digit_base_stepper.dart b/frontend/works_shg_app/lib/widgets/atoms/digit_base_stepper.dart index c28162f196..a22aa05359 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/digit_base_stepper.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/digit_base_stepper.dart @@ -9,7 +9,7 @@ typedef OnStepReached = void Function(int index); class DigitBaseStepper extends StatefulWidget { /// Creates a basic stepper. DigitBaseStepper({ - Key? key, + super.key, this.children, this.textChildren, this.stepTappingDisabled = true, @@ -30,7 +30,7 @@ class DigitBaseStepper extends StatefulWidget { this.scrollingDisabled = false, this.activeStep = 0, this.alignment, - }) : super(key: key) { + }) { assert( lineDotRadius <= 10 && lineDotRadius > 0, 'lineDotRadius must be less than or equal to 10 and greater than 0', diff --git a/frontend/works_shg_app/lib/widgets/atoms/multiselect_checkbox.dart b/frontend/works_shg_app/lib/widgets/atoms/multiselect_checkbox.dart index bbcfff9cd3..79c75a590a 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/multiselect_checkbox.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/multiselect_checkbox.dart @@ -11,13 +11,13 @@ class MultiSelectSearchCheckBox extends StatefulWidget { final String? hintText; const MultiSelectSearchCheckBox({ - Key? key, + super.key, required this.label, required this.options, required this.selectedOptions, this.hintText, this.onChange, - }) : super(key: key); + }); @override MultiSelectSearchCheckBoxState createState() => diff --git a/frontend/works_shg_app/lib/widgets/loaders.dart b/frontend/works_shg_app/lib/widgets/loaders.dart index f84c83bacb..49f25da0a7 100644 --- a/frontend/works_shg_app/lib/widgets/loaders.dart +++ b/frontend/works_shg_app/lib/widgets/loaders.dart @@ -2,8 +2,9 @@ import 'package:flutter/material.dart'; class Loaders { static circularLoader(BuildContext context) { - return WillPopScope( - onWillPop: () async => false, + return PopScope( + onPopInvoked: null, + canPop: false, child: SizedBox( height: MediaQuery.of(context).size.height, width: MediaQuery.of(context).size.width, @@ -39,8 +40,9 @@ class Loaders { context: context, barrierDismissible: false, builder: (BuildContext context) { - return WillPopScope( - onWillPop: () async => false, + return PopScope( + onPopInvoked: null, + canPop: false, child: SizedBox( height: MediaQuery.of(context).size.height, width: MediaQuery.of(context).size.width, diff --git a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart index 76f4d58535..64408516d8 100644 --- a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart +++ b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart @@ -131,7 +131,7 @@ class _HorizontalCardListDialogState extends State { // context // .read() // .add(const UpdateMsgCodeEvent(updateCode: 0)); - context.router.pop(); + context.router.maybePopTop(); }, icon: Icon( Icons.close, @@ -191,7 +191,7 @@ class _HorizontalCardListDialogState extends State { sorId: widget.sorId, type: widget.type, )); - context.router.pop(); + context.router.maybePopTop(); }, ), ), diff --git a/frontend/works_shg_app/lib/widgets/molecules/desktop_view.dart b/frontend/works_shg_app/lib/widgets/molecules/desktop_view.dart index 3d4dc3d1f9..c416a0b122 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/desktop_view.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/desktop_view.dart @@ -1,5 +1,6 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; +import 'package:works_shg_app/utils/constants.dart'; import '../atoms/background_container.dart'; @@ -23,6 +24,7 @@ class DesktopView extends StatelessWidget { padding: const EdgeInsets.all(8), child: widget)))), const Center( child: PoweredByDigit( + // version: Constants.appVersion, isWhiteLogo: true, )) ]), diff --git a/frontend/works_shg_app/lib/widgets/molecules/digit_reactive_type_ahead.dart b/frontend/works_shg_app/lib/widgets/molecules/digit_reactive_type_ahead.dart index 83916294bf..72ca0471df 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/digit_reactive_type_ahead.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/digit_reactive_type_ahead.dart @@ -6,12 +6,12 @@ import 'package:reactive_forms/reactive_forms.dart'; /// class DigitReactiveTypeAhead extends ReactiveFormField { DigitReactiveTypeAhead({ - Key? key, - String? formControlName, - FormControl? formControl, - Map? validationMessages, - ControlValueAccessor? valueAccessor, - ShowErrorsFunction? showErrors, + super.key, + super.formControlName, + super.formControl, + super.validationMessages, + super.valueAccessor, + ShowErrorsFunction? super.showErrors, SuggestionSelectionCallback? onSuggestionSelected, required this.stringify, V Function(String)? viewDataTypeFromTextEditingValue, @@ -59,12 +59,6 @@ class DigitReactiveTypeAhead extends ReactiveFormField { V? initialValue, String? initialValueText, }) : super( - key: key, - formControl: formControl, - formControlName: formControlName, - valueAccessor: valueAccessor, - validationMessages: validationMessages, - showErrors: showErrors, builder: (field) { final state = field as _ReactiveTypeaheadState; final effectiveDecoration = textFieldConfiguration.decoration diff --git a/frontend/works_shg_app/lib/widgets/molecules/digit_search_dropdown.dart b/frontend/works_shg_app/lib/widgets/molecules/digit_search_dropdown.dart index 49efa48e29..99741ce71e 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/digit_search_dropdown.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/digit_search_dropdown.dart @@ -19,7 +19,7 @@ class DigitSearchDropdown extends StatelessWidget { final Map? validationMessages; const DigitSearchDropdown({ - Key? key, + super.key, required this.suggestionsCallback, this.onSuggestionSelected, required this.label, @@ -31,7 +31,7 @@ class DigitSearchDropdown extends StatelessWidget { this.onChanged, this.validationMessages, this.initialValueText, - }) : super(key: key); + }); @override Widget build(BuildContext context) { diff --git a/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart b/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart index 72adbe5936..733dd450b8 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart @@ -2,6 +2,7 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/localization/localization.dart'; +import 'package:works_shg_app/utils/constants.dart'; import '../atoms/background_container.dart'; @@ -61,6 +62,7 @@ class MobileView extends StatelessWidget { child: const Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( + //version: Constants.appVersion, isWhiteLogo: true, ), ), diff --git a/frontend/works_shg_app/lib/widgets/molecules/success_page.dart b/frontend/works_shg_app/lib/widgets/molecules/success_page.dart index e6252784c5..a45ab55ea7 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/success_page.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/success_page.dart @@ -1,6 +1,7 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/utils/constants.dart'; import '../../utils/common_methods.dart'; import '../Back.dart'; @@ -9,6 +10,7 @@ import '../atoms/app_bar_logo.dart'; import '../atoms/success_message.dart'; import '../drawer_wrapper.dart'; +@RoutePage() class SuccessResponsePage extends StatelessWidget { final String header; final String? subHeader; @@ -57,11 +59,14 @@ class SuccessResponsePage extends StatelessWidget { padding: const EdgeInsets.all(8.0), child: const Align( alignment: Alignment.bottomCenter, - child: PoweredByDigit(), + child: PoweredByDigit( + //version: Constants.appVersion, + ), ), ), appBar: isWithoutLogin ? AppBar( + title: const Text('MuktaSoft'), automaticallyImplyLeading: false, ) diff --git a/frontend/works_shg_app/lib/widgets/work_order/work_order_card.dart b/frontend/works_shg_app/lib/widgets/work_order/work_order_card.dart index d5c2781014..c55f16b0be 100644 --- a/frontend/works_shg_app/lib/widgets/work_order/work_order_card.dart +++ b/frontend/works_shg_app/lib/widgets/work_order/work_order_card.dart @@ -9,12 +9,12 @@ class WorkOrderCard extends StatefulWidget { final Widget? widget1; final Widget? widget2; const WorkOrderCard({ - Key? key, + super.key, this.headLabel, required this.items, this.widget1, this.widget2, - }) : super(key: key); + }); @override State createState() => _WorkOrderCardState(); diff --git a/frontend/works_shg_app/linux/flutter/generated_plugin_registrant.cc b/frontend/works_shg_app/linux/flutter/generated_plugin_registrant.cc index 3ccd551358..86980a0cbd 100644 --- a/frontend/works_shg_app/linux/flutter/generated_plugin_registrant.cc +++ b/frontend/works_shg_app/linux/flutter/generated_plugin_registrant.cc @@ -6,11 +6,15 @@ #include "generated_plugin_registrant.h" +#include #include #include #include void fl_register_plugins(FlPluginRegistry* registry) { + g_autoptr(FlPluginRegistrar) charset_converter_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "CharsetConverterPlugin"); + charset_converter_plugin_register_with_registrar(charset_converter_registrar); g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); file_selector_plugin_register_with_registrar(file_selector_linux_registrar); diff --git a/frontend/works_shg_app/linux/flutter/generated_plugins.cmake b/frontend/works_shg_app/linux/flutter/generated_plugins.cmake index 9ce94c49de..e3149c5eae 100644 --- a/frontend/works_shg_app/linux/flutter/generated_plugins.cmake +++ b/frontend/works_shg_app/linux/flutter/generated_plugins.cmake @@ -3,6 +3,7 @@ # list(APPEND FLUTTER_PLUGIN_LIST + charset_converter file_selector_linux flutter_secure_storage_linux url_launcher_linux diff --git a/frontend/works_shg_app/macos/Flutter/GeneratedPluginRegistrant.swift b/frontend/works_shg_app/macos/Flutter/GeneratedPluginRegistrant.swift index 7590e18d7e..d79b320c77 100644 --- a/frontend/works_shg_app/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/frontend/works_shg_app/macos/Flutter/GeneratedPluginRegistrant.swift @@ -16,7 +16,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) FlutterSecureStoragePlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStoragePlugin")) LocationPlugin.register(with: registry.registrar(forPlugin: "LocationPlugin")) - FLTPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FLTPackageInfoPlusPlugin")) + FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) } diff --git a/frontend/works_shg_app/pubspec.yaml b/frontend/works_shg_app/pubspec.yaml index 9c6c5e8aec..49acbbd472 100644 --- a/frontend/works_shg_app/pubspec.yaml +++ b/frontend/works_shg_app/pubspec.yaml @@ -21,7 +21,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev version: 1.1.3+1 environment: - sdk: ">=2.19.0 <=4.0.0" + sdk: ">=3.0.0 <=4.0.0" # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -37,56 +37,57 @@ dependencies: url: https://github.com/egovernments/health-campaign-field-worker-app ref: main-parallel path: ./packages/digit_components + #digit_components: ^1.0.0+8 universal_html: ^2.2.4 - csslib: ^0.17.0 - flutter_secure_storage: ^8.0.0 + csslib: ^1.0.0 + flutter_secure_storage: ^9.2.2 easy_stepper: ^0.5.2+1 url_strategy: ^0.2.0 - url_launcher: ^6.0.9 - flutter_bloc: ^8.1.1 - auto_route: ^5.0.2 - freezed_annotation: ^2.2.0 - json_annotation: ^4.8.0 - http_mock_adapter: ^0.3.3 - pin_input_text_field: ^4.5.0 + url_launcher: ^6.3.0 + flutter_bloc: ^8.1.6 + auto_route: ^7.9.2 + freezed_annotation: ^2.4.4 + json_annotation: ^4.9.0 + http_mock_adapter: ^0.6.1 + pin_input_text_field: ^4.5.1 logging: ^1.1.0 - plugin_platform_interface: ^2.1.3 - horizontal_data_table: ^4.1.3 - collection: ^1.17.1 - reactive_forms: ^14.1.0 - retrofit: ^3.3.1 - dio: ^4.0.6 - uuid: ^3.0.6 + plugin_platform_interface: ^2.1.8 + horizontal_data_table: ^4.3.1 + collection: ^1.18.0 + reactive_forms: ^14.3.0 + retrofit: ^4.1.0 + dio: ^5.5.0+1 + uuid: ^3.0.7 intl: ^0.18.0 - dart_mappable: ^2.0.3 + dart_mappable: ^4.2.2 flutter_focus_watcher: ^2.0.0 syncfusion_flutter_datepicker: ^20.4.43 - flutter_spinkit: ^5.1.0 - flutter_typeahead: ^4.3.3 - file_picker: ^5.2.7 - image_picker: ^0.8.7 - mime: ^1.0.4 + flutter_spinkit: ^5.2.1 + flutter_typeahead: ^4.8.0 + file_picker: ^8.0.0+1 + image_picker: ^1.0.8 + mime: ^1.0.5 http_parser: ^4.0.2 - http: ^0.13.5 - path_provider: ^2.0.14 - charset_converter: ^2.1.1 - path: ^1.8.2 - flutter_svg: ^2.0.3 + http: ^0.13.6 + path_provider: ^2.1.3 + charset_converter: ^2.2.0 + path: ^1.8.3 + flutter_svg: ^2.0.9 multi_select_flutter: ^4.1.3 timelines: ^0.1.0 - flutter_downloader: ^1.10.2 - permission_handler: ^8.1.4+2 + flutter_downloader: ^1.11.7 + permission_handler: ^11.3.1 dropdown_search: ^5.0.6 flutter_dotenv: ^5.0.2 - open_filex: ^4.3.2 - package_info_plus: ^4.0.2 + open_filex: ^4.4.0 + package_info_plus: ^5.0.1 root_checker_plus: ^0.0.3 flutter_localizations: sdk: flutter # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^1.0.2 + cupertino_icons: ^1.0.8 hive: ^2.2.3 hive_flutter: ^1.1.0 @@ -94,14 +95,14 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - build_runner: ^2.3.0 - freezed: ^2.2.0 - auto_route_generator: ^5.0.2 - dart_mappable_builder: ^2.0.2 - json_serializable: ^6.5.4 - retrofit_generator: ">=4.0.0 <5.0.0" - dart_code_metrics: ^5.6.0 - mocktail: ^0.3.0 + build_runner: ^2.4.9 + freezed: ^2.5.2 + auto_route_generator: ^7.3.2 + dart_mappable_builder: ^4.2.3 + json_serializable: ^6.8.0 + retrofit_generator: ^8.1.2 + dart_code_metrics: ^5.7.6 + mocktail: ^1.0.4 flutter_launcher_icons: ^0.13.1 # The "flutter_lints" package below contains a set of recommended lints to @@ -109,7 +110,7 @@ dev_dependencies: # activated in the `analysis_options.yaml` file located at the root of your # package. See that file for information about deactivating specific lint # rules and activating additional ones. - flutter_lints: ^2.0.0 + flutter_lints: ^4.0.0 hive_generator: ^2.0.1 diff --git a/frontend/works_shg_app/windows/flutter/generated_plugin_registrant.cc b/frontend/works_shg_app/windows/flutter/generated_plugin_registrant.cc index f9acb3b169..ad6d95c5cf 100644 --- a/frontend/works_shg_app/windows/flutter/generated_plugin_registrant.cc +++ b/frontend/works_shg_app/windows/flutter/generated_plugin_registrant.cc @@ -9,6 +9,7 @@ #include #include #include +#include #include void RegisterPlugins(flutter::PluginRegistry* registry) { @@ -18,6 +19,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { registry->GetRegistrarForPlugin("FileSelectorWindows")); FlutterSecureStorageWindowsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin")); + PermissionHandlerWindowsPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin")); UrlLauncherWindowsRegisterWithRegistrar( registry->GetRegistrarForPlugin("UrlLauncherWindows")); } diff --git a/frontend/works_shg_app/windows/flutter/generated_plugins.cmake b/frontend/works_shg_app/windows/flutter/generated_plugins.cmake index 80622c70d8..5d4e0868c3 100644 --- a/frontend/works_shg_app/windows/flutter/generated_plugins.cmake +++ b/frontend/works_shg_app/windows/flutter/generated_plugins.cmake @@ -6,6 +6,7 @@ list(APPEND FLUTTER_PLUGIN_LIST charset_converter file_selector_windows flutter_secure_storage_windows + permission_handler_windows url_launcher_windows ) From b7d01c6a602b964a663d1ce81bb9c948907a45f5 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Mon, 5 Aug 2024 15:40:21 +0530 Subject: [PATCH 119/292] core upgrade in progress --- .../works_shg_app/android/app/build.gradle | 2 +- .../employee/mb/mb_detail_view.freezed.dart | 198 ++--- frontend/works_shg_app/lib/main.dart | 2 - .../mb/mb_detail_response.freezed.dart | 437 +++++++---- .../mb/mb_inbox_response.freezed.dart | 741 ++++++++++++------ .../work_order/wo_inbox_response.freezed.dart | 56 +- .../lib/pages/employee/mb_detail_page.dart | 429 +++++----- .../lib/pages/employee/mb_filter_page.dart | 1 - .../lib/pages/employee/mb_history.dart | 2 +- .../lib/pages/employee/mb_inbox.dart | 4 +- .../lib/pages/employee/mb_muster_screen.dart | 4 +- frontend/works_shg_app/lib/pages/login.dart | 5 +- .../lib/pages/otp_verification.dart | 3 +- .../summary_details.dart | 1 - .../{LabelText.dart => labelText.dart} | 0 .../lib/widgets/mb/float_action_card.dart | 38 +- frontend/works_shg_app/pubspec.yaml | 1 + 17 files changed, 1118 insertions(+), 806 deletions(-) rename frontend/works_shg_app/lib/widgets/{LabelText.dart => labelText.dart} (100%) diff --git a/frontend/works_shg_app/android/app/build.gradle b/frontend/works_shg_app/android/app/build.gradle index 007c300b3a..fddc286a15 100644 --- a/frontend/works_shg_app/android/app/build.gradle +++ b/frontend/works_shg_app/android/app/build.gradle @@ -72,7 +72,7 @@ android { release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.release + signingConfig signingConfigs.debug } } diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.freezed.dart index e99b85029e..6324cadb0b 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.freezed.dart @@ -21,8 +21,7 @@ mixin _$MeasurementDetailBlocEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -53,8 +52,7 @@ mixin _$MeasurementDetailBlocEvent { dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -75,8 +73,7 @@ mixin _$MeasurementDetailBlocEvent { TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -107,8 +104,7 @@ mixin _$MeasurementDetailBlocEvent { dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -129,8 +125,7 @@ mixin _$MeasurementDetailBlocEvent { TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -161,8 +156,7 @@ mixin _$MeasurementDetailBlocEvent { dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -345,8 +339,7 @@ class _$MeasurementUploadDocumentBlocEventImpl required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -377,8 +370,7 @@ class _$MeasurementUploadDocumentBlocEventImpl dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -402,8 +394,7 @@ class _$MeasurementUploadDocumentBlocEventImpl TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -434,8 +425,7 @@ class _$MeasurementUploadDocumentBlocEventImpl dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -459,8 +449,7 @@ class _$MeasurementUploadDocumentBlocEventImpl TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -491,8 +480,7 @@ class _$MeasurementUploadDocumentBlocEventImpl dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -703,8 +691,7 @@ class _$MeasurementDetailBookBlocEventImpl required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -735,8 +722,7 @@ class _$MeasurementDetailBookBlocEventImpl dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -760,8 +746,7 @@ class _$MeasurementDetailBookBlocEventImpl TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -792,8 +777,7 @@ class _$MeasurementDetailBookBlocEventImpl dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -818,8 +802,7 @@ class _$MeasurementDetailBookBlocEventImpl TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -850,8 +833,7 @@ class _$MeasurementDetailBookBlocEventImpl dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -1002,8 +984,7 @@ class _$MeasurementDetailBlocClearEventImpl required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -1034,8 +1015,7 @@ class _$MeasurementDetailBlocClearEventImpl dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -1059,8 +1039,7 @@ class _$MeasurementDetailBlocClearEventImpl TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -1091,8 +1070,7 @@ class _$MeasurementDetailBlocClearEventImpl dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -1116,8 +1094,7 @@ class _$MeasurementDetailBlocClearEventImpl TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -1148,8 +1125,7 @@ class _$MeasurementDetailBlocClearEventImpl dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -1430,8 +1406,7 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -1462,8 +1437,7 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -1498,8 +1472,7 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -1530,8 +1503,7 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -1566,8 +1538,7 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -1598,8 +1569,7 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -1929,8 +1899,7 @@ class _$UpdateToMeasurementLineEventImpl required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -1961,8 +1930,7 @@ class _$UpdateToMeasurementLineEventImpl dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -1998,8 +1966,7 @@ class _$UpdateToMeasurementLineEventImpl TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -2030,8 +1997,7 @@ class _$UpdateToMeasurementLineEventImpl dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -2067,8 +2033,7 @@ class _$UpdateToMeasurementLineEventImpl TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -2099,8 +2064,7 @@ class _$UpdateToMeasurementLineEventImpl dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -2302,8 +2266,7 @@ class _$UpdateViewModeEventImpl implements UpdateViewModeEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -2334,8 +2297,7 @@ class _$UpdateViewModeEventImpl implements UpdateViewModeEvent { dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -2359,8 +2321,7 @@ class _$UpdateViewModeEventImpl implements UpdateViewModeEvent { TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -2391,8 +2352,7 @@ class _$UpdateViewModeEventImpl implements UpdateViewModeEvent { dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -2416,8 +2376,7 @@ class _$UpdateViewModeEventImpl implements UpdateViewModeEvent { TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -2448,8 +2407,7 @@ class _$UpdateViewModeEventImpl implements UpdateViewModeEvent { dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -2650,8 +2608,7 @@ class _$CancelUpdateEventImpl implements CancelUpdateEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -2682,8 +2639,7 @@ class _$CancelUpdateEventImpl implements CancelUpdateEvent { dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -2708,8 +2664,7 @@ class _$CancelUpdateEventImpl implements CancelUpdateEvent { TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -2740,8 +2695,7 @@ class _$CancelUpdateEventImpl implements CancelUpdateEvent { dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -2766,8 +2720,7 @@ class _$CancelUpdateEventImpl implements CancelUpdateEvent { TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -2798,8 +2751,7 @@ class _$CancelUpdateEventImpl implements CancelUpdateEvent { dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -3045,8 +2997,7 @@ class _$SubmitLineEventImpl implements SubmitLineEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -3077,8 +3028,7 @@ class _$SubmitLineEventImpl implements SubmitLineEvent { dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -3103,8 +3053,7 @@ class _$SubmitLineEventImpl implements SubmitLineEvent { TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -3135,8 +3084,7 @@ class _$SubmitLineEventImpl implements SubmitLineEvent { dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -3161,8 +3109,7 @@ class _$SubmitLineEventImpl implements SubmitLineEvent { TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -3193,8 +3140,7 @@ class _$SubmitLineEventImpl implements SubmitLineEvent { dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -3373,8 +3319,7 @@ class _$UpdateMsgCodeEventImpl implements UpdateMsgCodeEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -3405,8 +3350,7 @@ class _$UpdateMsgCodeEventImpl implements UpdateMsgCodeEvent { dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -3430,8 +3374,7 @@ class _$UpdateMsgCodeEventImpl implements UpdateMsgCodeEvent { TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -3462,8 +3405,7 @@ class _$UpdateMsgCodeEventImpl implements UpdateMsgCodeEvent { dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -3487,8 +3429,7 @@ class _$UpdateMsgCodeEventImpl implements UpdateMsgCodeEvent { TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -3519,8 +3460,7 @@ class _$UpdateMsgCodeEventImpl implements UpdateMsgCodeEvent { dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, @@ -3734,8 +3674,7 @@ class _$DeleteMeasurementLineEventImpl implements DeleteMeasurementLineEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -3766,8 +3705,7 @@ class _$DeleteMeasurementLineEventImpl implements DeleteMeasurementLineEvent { dynamic quantity) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -3792,8 +3730,7 @@ class _$DeleteMeasurementLineEventImpl implements DeleteMeasurementLineEvent { TResult? whenOrNull({ TResult? Function(String tenantId, List workflowDocument)? uploadDocument, - TResult? Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult? Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult? Function()? clear, TResult? Function( @@ -3824,8 +3761,7 @@ class _$DeleteMeasurementLineEventImpl implements DeleteMeasurementLineEvent { dynamic quantity)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, - TResult? Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult? Function( dynamic noOfUnit, @@ -3850,8 +3786,7 @@ class _$DeleteMeasurementLineEventImpl implements DeleteMeasurementLineEvent { TResult maybeWhen({ TResult Function(String tenantId, List workflowDocument)? uploadDocument, - TResult Function(String tenantId, String contractNumber, - String measurementNumber, MBScreen screenType)? + TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType)? create, TResult Function()? clear, TResult Function( @@ -3882,8 +3817,7 @@ class _$DeleteMeasurementLineEventImpl implements DeleteMeasurementLineEvent { dynamic quantity)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, - TResult Function(bool cancelUpdate, String sorId, - dynamic filteredMeasurementsMeasureId, String type)? + TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? cancelUpdate, TResult Function( dynamic noOfUnit, diff --git a/frontend/works_shg_app/lib/main.dart b/frontend/works_shg_app/lib/main.dart index 4c8a983c21..d7912ece19 100644 --- a/frontend/works_shg_app/lib/main.dart +++ b/frontend/works_shg_app/lib/main.dart @@ -9,7 +9,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_downloader/flutter_downloader.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; -import 'package:hive_flutter/hive_flutter.dart'; import 'package:open_filex/open_filex.dart'; import 'package:url_strategy/url_strategy.dart'; import 'package:works_shg_app/blocs/app_initilization/home_screen_bloc.dart'; @@ -31,7 +30,6 @@ import 'package:works_shg_app/blocs/work_orders/decline_work_order.dart'; import 'package:works_shg_app/data/init_client.dart'; import 'package:works_shg_app/data/repositories/attendance_mdms.dart'; import 'package:works_shg_app/data/repositories/common_repository/common_repository.dart'; -import 'package:works_shg_app/data/schema/localization.dart'; import 'package:works_shg_app/router/app_navigator_observer.dart'; import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/common_methods.dart'; diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.freezed.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.freezed.dart index f23f127de2..c24b43939c 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.freezed.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.freezed.dart @@ -477,11 +477,14 @@ class __$$WorkFlowImplCopyWithImpl<$Res> @JsonSerializable() class _$WorkFlowImpl implements _WorkFlow { const _$WorkFlowImpl( - {@JsonKey(name: 'action') this.action, - @JsonKey(name: 'comment') this.comment, - @JsonKey(name: 'assignees') final List? assignees, + {@JsonKey(name: 'action') + this.action, + @JsonKey(name: 'comment') + this.comment, + @JsonKey(name: 'assignees') + final List? assignees, @JsonKey(name: 'documents') - final List? documents}) + final List? documents}) : _assignees = assignees, _documents = documents; @@ -559,11 +562,14 @@ class _$WorkFlowImpl implements _WorkFlow { abstract class _WorkFlow implements WorkFlow { const factory _WorkFlow( - {@JsonKey(name: 'action') final String? action, - @JsonKey(name: 'comment') final String? comment, - @JsonKey(name: 'assignees') final List? assignees, + {@JsonKey(name: 'action') + final String? action, + @JsonKey(name: 'comment') + final String? comment, + @JsonKey(name: 'assignees') + final List? assignees, @JsonKey(name: 'documents') - final List? documents}) = _$WorkFlowImpl; + final List? documents}) = _$WorkFlowImpl; factory _WorkFlow.fromJson(Map json) = _$WorkFlowImpl.fromJson; @@ -879,19 +885,30 @@ abstract class $MusterRollCopyWith<$Res> { _$MusterRollCopyWithImpl<$Res, MusterRoll>; @useResult $Res call( - {@JsonKey(name: 'id') String? id, - @JsonKey(name: 'tenantId') String? tenantId, - @JsonKey(name: 'musterRollNumber') dynamic musterRollNumber, - @JsonKey(name: 'registerId') String? registerId, - @JsonKey(name: 'status') String? status, - @JsonKey(name: 'musterRollStatus') String? musterRollStatus, - @JsonKey(name: 'startDate') int? startDate, - @JsonKey(name: 'endDate') int? endDate, - @JsonKey(name: 'referenceId') String? referenceId, - @JsonKey(name: 'serviceCode') String? serviceCode, - @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, + {@JsonKey(name: 'id') + String? id, + @JsonKey(name: 'tenantId') + String? tenantId, + @JsonKey(name: 'musterRollNumber') + dynamic musterRollNumber, + @JsonKey(name: 'registerId') + String? registerId, + @JsonKey(name: 'status') + String? status, + @JsonKey(name: 'musterRollStatus') + String? musterRollStatus, + @JsonKey(name: 'startDate') + int? startDate, + @JsonKey(name: 'endDate') + int? endDate, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'serviceCode') + String? serviceCode, + @JsonKey(name: 'auditDetails') + AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - MusterRollAdditionalDetails? additional}); + MusterRollAdditionalDetails? additional}); $AuditDetailsCopyWith<$Res>? get auditDetails; $MusterRollAdditionalDetailsCopyWith<$Res>? get additional; @@ -1010,19 +1027,30 @@ abstract class _$$MusterRollImplCopyWith<$Res> @override @useResult $Res call( - {@JsonKey(name: 'id') String? id, - @JsonKey(name: 'tenantId') String? tenantId, - @JsonKey(name: 'musterRollNumber') dynamic musterRollNumber, - @JsonKey(name: 'registerId') String? registerId, - @JsonKey(name: 'status') String? status, - @JsonKey(name: 'musterRollStatus') String? musterRollStatus, - @JsonKey(name: 'startDate') int? startDate, - @JsonKey(name: 'endDate') int? endDate, - @JsonKey(name: 'referenceId') String? referenceId, - @JsonKey(name: 'serviceCode') String? serviceCode, - @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, + {@JsonKey(name: 'id') + String? id, + @JsonKey(name: 'tenantId') + String? tenantId, + @JsonKey(name: 'musterRollNumber') + dynamic musterRollNumber, + @JsonKey(name: 'registerId') + String? registerId, + @JsonKey(name: 'status') + String? status, + @JsonKey(name: 'musterRollStatus') + String? musterRollStatus, + @JsonKey(name: 'startDate') + int? startDate, + @JsonKey(name: 'endDate') + int? endDate, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'serviceCode') + String? serviceCode, + @JsonKey(name: 'auditDetails') + AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - MusterRollAdditionalDetails? additional}); + MusterRollAdditionalDetails? additional}); @override $AuditDetailsCopyWith<$Res>? get auditDetails; @@ -1230,19 +1258,30 @@ class _$MusterRollImpl implements _MusterRoll { abstract class _MusterRoll implements MusterRoll { const factory _MusterRoll( - {@JsonKey(name: 'id') final String? id, - @JsonKey(name: 'tenantId') final String? tenantId, - @JsonKey(name: 'musterRollNumber') final dynamic musterRollNumber, - @JsonKey(name: 'registerId') final String? registerId, - @JsonKey(name: 'status') final String? status, - @JsonKey(name: 'musterRollStatus') final String? musterRollStatus, - @JsonKey(name: 'startDate') final int? startDate, - @JsonKey(name: 'endDate') final int? endDate, - @JsonKey(name: 'referenceId') final String? referenceId, - @JsonKey(name: 'serviceCode') final String? serviceCode, - @JsonKey(name: 'auditDetails') final AuditDetails? auditDetails, + {@JsonKey(name: 'id') + final String? id, + @JsonKey(name: 'tenantId') + final String? tenantId, + @JsonKey(name: 'musterRollNumber') + final dynamic musterRollNumber, + @JsonKey(name: 'registerId') + final String? registerId, + @JsonKey(name: 'status') + final String? status, + @JsonKey(name: 'musterRollStatus') + final String? musterRollStatus, + @JsonKey(name: 'startDate') + final int? startDate, + @JsonKey(name: 'endDate') + final int? endDate, + @JsonKey(name: 'referenceId') + final String? referenceId, + @JsonKey(name: 'serviceCode') + final String? serviceCode, + @JsonKey(name: 'auditDetails') + final AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - final MusterRollAdditionalDetails? additional}) = _$MusterRollImpl; + final MusterRollAdditionalDetails? additional}) = _$MusterRollImpl; factory _MusterRoll.fromJson(Map json) = _$MusterRollImpl.fromJson; @@ -1680,21 +1719,33 @@ class _$MusterRollAdditionalDetailsImpl abstract class _MusterRollAdditionalDetails implements MusterRollAdditionalDetails { const factory _MusterRollAdditionalDetails( - {@JsonKey(name: 'ward') final String? ward, - @JsonKey(name: 'orgId') final String? orgId, - @JsonKey(name: 'amount') final double? amount, - @JsonKey(name: 'orgName') final String? orgName, - @JsonKey(name: 'locality') final String? locality, - @JsonKey(name: 'projectId') final String? projectId, - @JsonKey(name: 'contractId') final String? contractId, - @JsonKey(name: 'projectDesc') final String? projectDesc, - @JsonKey(name: 'projectName') final String? projectName, - @JsonKey(name: 'projectType') final String? projectType, - @JsonKey(name: 'executingAuthority') final String? executingAuthority, - @JsonKey(name: 'attendanceRegisterNo') final String? attendanceRegisterNo, - @JsonKey(name: 'attendanceRegisterName') - final String? - attendanceRegisterName}) = _$MusterRollAdditionalDetailsImpl; + {@JsonKey(name: 'ward') + final String? ward, + @JsonKey(name: 'orgId') + final String? orgId, + @JsonKey(name: 'amount') + final double? amount, + @JsonKey(name: 'orgName') + final String? orgName, + @JsonKey(name: 'locality') + final String? locality, + @JsonKey(name: 'projectId') + final String? projectId, + @JsonKey(name: 'contractId') + final String? contractId, + @JsonKey(name: 'projectDesc') + final String? projectDesc, + @JsonKey(name: 'projectName') + final String? projectName, + @JsonKey(name: 'projectType') + final String? projectType, + @JsonKey(name: 'executingAuthority') + final String? executingAuthority, + @JsonKey(name: 'attendanceRegisterNo') + final String? attendanceRegisterNo, + @JsonKey(name: 'attendanceRegisterName') + final String? attendanceRegisterName}) = + _$MusterRollAdditionalDetailsImpl; factory _MusterRollAdditionalDetails.fromJson(Map json) = _$MusterRollAdditionalDetailsImpl.fromJson; @@ -1791,20 +1842,32 @@ abstract class $MeasurementCopyWith<$Res> { _$MeasurementCopyWithImpl<$Res, Measurement>; @useResult $Res call( - {@JsonKey(name: 'id') String? id, - @JsonKey(name: 'tenantId') String? tenantId, - @JsonKey(name: 'measurementNumber') String? measurementNumber, - @JsonKey(name: 'physicalRefNumber') String? physicalRefNumber, - @JsonKey(name: 'referenceId') String? referenceId, - @JsonKey(name: 'entryDate') int? entryDate, - @JsonKey(name: 'isActive') bool? isActive, - @JsonKey(name: 'wfStatus') String? wfStatus, - @JsonKey(name: 'workflow') WorkFlow? workflow, - @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, + {@JsonKey(name: 'id') + String? id, + @JsonKey(name: 'tenantId') + String? tenantId, + @JsonKey(name: 'measurementNumber') + String? measurementNumber, + @JsonKey(name: 'physicalRefNumber') + String? physicalRefNumber, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'entryDate') + int? entryDate, + @JsonKey(name: 'isActive') + bool? isActive, + @JsonKey(name: 'wfStatus') + String? wfStatus, + @JsonKey(name: 'workflow') + WorkFlow? workflow, + @JsonKey(name: 'auditDetails') + AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - MeasurementAdditionalDetail? additionalDetail, - @JsonKey(name: 'measures') List? measures, - @JsonKey(name: 'documents') List? documents}); + MeasurementAdditionalDetail? additionalDetail, + @JsonKey(name: 'measures') + List? measures, + @JsonKey(name: 'documents') + List? documents}); $WorkFlowCopyWith<$Res>? get workflow; $AuditDetailsCopyWith<$Res>? get auditDetails; @@ -1941,20 +2004,32 @@ abstract class _$$MeasurementImplCopyWith<$Res> @override @useResult $Res call( - {@JsonKey(name: 'id') String? id, - @JsonKey(name: 'tenantId') String? tenantId, - @JsonKey(name: 'measurementNumber') String? measurementNumber, - @JsonKey(name: 'physicalRefNumber') String? physicalRefNumber, - @JsonKey(name: 'referenceId') String? referenceId, - @JsonKey(name: 'entryDate') int? entryDate, - @JsonKey(name: 'isActive') bool? isActive, - @JsonKey(name: 'wfStatus') String? wfStatus, - @JsonKey(name: 'workflow') WorkFlow? workflow, - @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, + {@JsonKey(name: 'id') + String? id, + @JsonKey(name: 'tenantId') + String? tenantId, + @JsonKey(name: 'measurementNumber') + String? measurementNumber, + @JsonKey(name: 'physicalRefNumber') + String? physicalRefNumber, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'entryDate') + int? entryDate, + @JsonKey(name: 'isActive') + bool? isActive, + @JsonKey(name: 'wfStatus') + String? wfStatus, + @JsonKey(name: 'workflow') + WorkFlow? workflow, + @JsonKey(name: 'auditDetails') + AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - MeasurementAdditionalDetail? additionalDetail, - @JsonKey(name: 'measures') List? measures, - @JsonKey(name: 'documents') List? documents}); + MeasurementAdditionalDetail? additionalDetail, + @JsonKey(name: 'measures') + List? measures, + @JsonKey(name: 'documents') + List? documents}); @override $WorkFlowCopyWith<$Res>? get workflow; @@ -2194,21 +2269,32 @@ class _$MeasurementImpl implements _Measurement { abstract class _Measurement implements Measurement { const factory _Measurement( - {@JsonKey(name: 'id') final String? id, - @JsonKey(name: 'tenantId') final String? tenantId, - @JsonKey(name: 'measurementNumber') final String? measurementNumber, - @JsonKey(name: 'physicalRefNumber') final String? physicalRefNumber, - @JsonKey(name: 'referenceId') final String? referenceId, - @JsonKey(name: 'entryDate') final int? entryDate, - @JsonKey(name: 'isActive') final bool? isActive, - @JsonKey(name: 'wfStatus') final String? wfStatus, - @JsonKey(name: 'workflow') final WorkFlow? workflow, - @JsonKey(name: 'auditDetails') final AuditDetails? auditDetails, + {@JsonKey(name: 'id') + final String? id, + @JsonKey(name: 'tenantId') + final String? tenantId, + @JsonKey(name: 'measurementNumber') + final String? measurementNumber, + @JsonKey(name: 'physicalRefNumber') + final String? physicalRefNumber, + @JsonKey(name: 'referenceId') + final String? referenceId, + @JsonKey(name: 'entryDate') + final int? entryDate, + @JsonKey(name: 'isActive') + final bool? isActive, + @JsonKey(name: 'wfStatus') + final String? wfStatus, + @JsonKey(name: 'workflow') + final WorkFlow? workflow, + @JsonKey(name: 'auditDetails') + final AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - final MeasurementAdditionalDetail? additionalDetail, - @JsonKey(name: 'measures') final List? measures, + final MeasurementAdditionalDetail? additionalDetail, + @JsonKey(name: 'measures') + final List? measures, @JsonKey(name: 'documents') - final List? documents}) = _$MeasurementImpl; + final List? documents}) = _$MeasurementImpl; factory _Measurement.fromJson(Map json) = _$MeasurementImpl.fromJson; @@ -3107,25 +3193,42 @@ class __$$EstimateImplCopyWithImpl<$Res> @JsonSerializable() class _$EstimateImpl implements _Estimate { const _$EstimateImpl( - {@JsonKey(name: 'id') this.id, - @JsonKey(name: 'tenantId') this.tenantId, - @JsonKey(name: 'estimateNumber') this.estimateNumber, - @JsonKey(name: 'revisionNumber') this.revisionNumber, - @JsonKey(name: 'businessService') this.businessService, - @JsonKey(name: 'oldUuid') this.oldUuid, - @JsonKey(name: 'projectId') this.projectId, - @JsonKey(name: 'versionNumber') this.versionNumber, - @JsonKey(name: 'proposalDate') this.proposalDate, - @JsonKey(name: 'status') this.status, - @JsonKey(name: 'wfStatus') this.wfStatus, - @JsonKey(name: 'name') this.name, - @JsonKey(name: 'referenceNumber') this.referenceNumber, - @JsonKey(name: 'description') this.description, - @JsonKey(name: 'executingDepartment') this.executingDepartment, - @JsonKey(name: 'address') this.address, + {@JsonKey(name: 'id') + this.id, + @JsonKey(name: 'tenantId') + this.tenantId, + @JsonKey(name: 'estimateNumber') + this.estimateNumber, + @JsonKey(name: 'revisionNumber') + this.revisionNumber, + @JsonKey(name: 'businessService') + this.businessService, + @JsonKey(name: 'oldUuid') + this.oldUuid, + @JsonKey(name: 'projectId') + this.projectId, + @JsonKey(name: 'versionNumber') + this.versionNumber, + @JsonKey(name: 'proposalDate') + this.proposalDate, + @JsonKey(name: 'status') + this.status, + @JsonKey(name: 'wfStatus') + this.wfStatus, + @JsonKey(name: 'name') + this.name, + @JsonKey(name: 'referenceNumber') + this.referenceNumber, + @JsonKey(name: 'description') + this.description, + @JsonKey(name: 'executingDepartment') + this.executingDepartment, + @JsonKey(name: 'address') + this.address, @JsonKey(name: 'estimateDetails') - final List? estimateDetails, - @JsonKey(name: 'auditDetails') this.auditDetails}) + final List? estimateDetails, + @JsonKey(name: 'auditDetails') + this.auditDetails}) : _estimateDetails = estimateDetails; factory _$EstimateImpl.fromJson(Map json) => @@ -3276,26 +3379,42 @@ class _$EstimateImpl implements _Estimate { abstract class _Estimate implements Estimate { const factory _Estimate( - {@JsonKey(name: 'id') final String? id, - @JsonKey(name: 'tenantId') final String? tenantId, - @JsonKey(name: 'estimateNumber') final String? estimateNumber, - @JsonKey(name: 'revisionNumber') final String? revisionNumber, - @JsonKey(name: 'businessService') final String? businessService, - @JsonKey(name: 'oldUuid') final String? oldUuid, - @JsonKey(name: 'projectId') final String? projectId, - @JsonKey(name: 'versionNumber') final int? versionNumber, - @JsonKey(name: 'proposalDate') final int? proposalDate, - @JsonKey(name: 'status') final String? status, - @JsonKey(name: 'wfStatus') final String? wfStatus, - @JsonKey(name: 'name') final String? name, - @JsonKey(name: 'referenceNumber') final String? referenceNumber, - @JsonKey(name: 'description') final String? description, - @JsonKey(name: 'executingDepartment') final String? executingDepartment, - @JsonKey(name: 'address') final EstimateAddress? address, + {@JsonKey(name: 'id') + final String? id, + @JsonKey(name: 'tenantId') + final String? tenantId, + @JsonKey(name: 'estimateNumber') + final String? estimateNumber, + @JsonKey(name: 'revisionNumber') + final String? revisionNumber, + @JsonKey(name: 'businessService') + final String? businessService, + @JsonKey(name: 'oldUuid') + final String? oldUuid, + @JsonKey(name: 'projectId') + final String? projectId, + @JsonKey(name: 'versionNumber') + final int? versionNumber, + @JsonKey(name: 'proposalDate') + final int? proposalDate, + @JsonKey(name: 'status') + final String? status, + @JsonKey(name: 'wfStatus') + final String? wfStatus, + @JsonKey(name: 'name') + final String? name, + @JsonKey(name: 'referenceNumber') + final String? referenceNumber, + @JsonKey(name: 'description') + final String? description, + @JsonKey(name: 'executingDepartment') + final String? executingDepartment, + @JsonKey(name: 'address') + final EstimateAddress? address, @JsonKey(name: 'estimateDetails') - final List? estimateDetails, + final List? estimateDetails, @JsonKey(name: 'auditDetails') - final AuditDetails? auditDetails}) = _$EstimateImpl; + final AuditDetails? auditDetails}) = _$EstimateImpl; factory _Estimate.fromJson(Map json) = _$EstimateImpl.fromJson; @@ -3830,24 +3949,40 @@ class _$EstimateDetailImpl implements _EstimateDetail { abstract class _EstimateDetail implements EstimateDetail { const factory _EstimateDetail( - {@JsonKey(name: 'id') final String? id, - @JsonKey(name: 'previousLineItemId') final String? previousLineItemId, - @JsonKey(name: 'sorId') final String? sorId, - @JsonKey(name: 'category') final String? category, - @JsonKey(name: 'name') final String? name, - @JsonKey(name: 'description') final String? description, - @JsonKey(name: 'unitRate') final double? unitRate, - @JsonKey(name: 'noOfunit') final num? noOfunit, - @JsonKey(name: 'uom') final String? uom, - @JsonKey(name: 'uomValue') final double? uomValue, - @JsonKey(name: 'length') final num? length, - @JsonKey(name: 'width') final num? width, - @JsonKey(name: 'height') final num? height, - @JsonKey(name: 'quantity') final num? quantity, - @JsonKey(name: 'isDeduction') final bool? isDeduction, - @JsonKey(name: 'isActive') final bool? isActive, + {@JsonKey(name: 'id') + final String? id, + @JsonKey(name: 'previousLineItemId') + final String? previousLineItemId, + @JsonKey(name: 'sorId') + final String? sorId, + @JsonKey(name: 'category') + final String? category, + @JsonKey(name: 'name') + final String? name, + @JsonKey(name: 'description') + final String? description, + @JsonKey(name: 'unitRate') + final double? unitRate, + @JsonKey(name: 'noOfunit') + final num? noOfunit, + @JsonKey(name: 'uom') + final String? uom, + @JsonKey(name: 'uomValue') + final double? uomValue, + @JsonKey(name: 'length') + final num? length, + @JsonKey(name: 'width') + final num? width, + @JsonKey(name: 'height') + final num? height, + @JsonKey(name: 'quantity') + final num? quantity, + @JsonKey(name: 'isDeduction') + final bool? isDeduction, + @JsonKey(name: 'isActive') + final bool? isActive, @JsonKey(name: 'amountDetail') - final List? amountDetails}) = _$EstimateDetailImpl; + final List? amountDetails}) = _$EstimateDetailImpl; factory _EstimateDetail.fromJson(Map json) = _$EstimateDetailImpl.fromJson; diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.freezed.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.freezed.dart index c90f20a9a2..74400044e8 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.freezed.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.freezed.dart @@ -673,9 +673,10 @@ class _$ItemDataImpl implements _ItemData { abstract class _ItemData implements ItemData { const factory _ItemData( - {@JsonKey(name: 'ProcessInstance') final ProcessInstance? processInstance, + {@JsonKey(name: 'ProcessInstance') + final ProcessInstance? processInstance, @JsonKey(name: 'businessObject') - final BusinessObject? businessObject}) = _$ItemDataImpl; + final BusinessObject? businessObject}) = _$ItemDataImpl; factory _ItemData.fromJson(Map json) = _$ItemDataImpl.fromJson; @@ -2991,15 +2992,22 @@ abstract class $BusinessObjectCopyWith<$Res> { _$BusinessObjectCopyWithImpl<$Res, BusinessObject>; @useResult $Res call( - {@JsonKey(name: 'measurementNumber') String? measurementNumber, - @JsonKey(name: 'id') String? id, - @JsonKey(name: 'referenceId') String? referenceId, - @JsonKey(name: 'measures') List? measures, - @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, - @JsonKey(name: 'contract') Contract? contract, - @JsonKey(name: 'serviceSla') int? serviceSla, + {@JsonKey(name: 'measurementNumber') + String? measurementNumber, + @JsonKey(name: 'id') + String? id, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'measures') + List? measures, + @JsonKey(name: 'auditDetails') + AuditDetails? auditDetails, + @JsonKey(name: 'contract') + Contract? contract, + @JsonKey(name: 'serviceSla') + int? serviceSla, @JsonKey(name: 'additionalDetails') - MeasurementAdditionalDetail? measurementAdditionalDetail}); + MeasurementAdditionalDetail? measurementAdditionalDetail}); $AuditDetailsCopyWith<$Res>? get auditDetails; $ContractCopyWith<$Res>? get contract; @@ -3111,15 +3119,22 @@ abstract class _$$BusinessObjectImplCopyWith<$Res> @override @useResult $Res call( - {@JsonKey(name: 'measurementNumber') String? measurementNumber, - @JsonKey(name: 'id') String? id, - @JsonKey(name: 'referenceId') String? referenceId, - @JsonKey(name: 'measures') List? measures, - @JsonKey(name: 'auditDetails') AuditDetails? auditDetails, - @JsonKey(name: 'contract') Contract? contract, - @JsonKey(name: 'serviceSla') int? serviceSla, + {@JsonKey(name: 'measurementNumber') + String? measurementNumber, + @JsonKey(name: 'id') + String? id, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'measures') + List? measures, + @JsonKey(name: 'auditDetails') + AuditDetails? auditDetails, + @JsonKey(name: 'contract') + Contract? contract, + @JsonKey(name: 'serviceSla') + int? serviceSla, @JsonKey(name: 'additionalDetails') - MeasurementAdditionalDetail? measurementAdditionalDetail}); + MeasurementAdditionalDetail? measurementAdditionalDetail}); @override $AuditDetailsCopyWith<$Res>? get auditDetails; @@ -3294,15 +3309,22 @@ class _$BusinessObjectImpl implements _BusinessObject { abstract class _BusinessObject implements BusinessObject { const factory _BusinessObject( - {@JsonKey(name: 'measurementNumber') final String? measurementNumber, - @JsonKey(name: 'id') final String? id, - @JsonKey(name: 'referenceId') final String? referenceId, - @JsonKey(name: 'measures') final List? measures, - @JsonKey(name: 'auditDetails') final AuditDetails? auditDetails, - @JsonKey(name: 'contract') final Contract? contract, - @JsonKey(name: 'serviceSla') final int? serviceSla, + {@JsonKey(name: 'measurementNumber') + final String? measurementNumber, + @JsonKey(name: 'id') + final String? id, + @JsonKey(name: 'referenceId') + final String? referenceId, + @JsonKey(name: 'measures') + final List? measures, + @JsonKey(name: 'auditDetails') + final AuditDetails? auditDetails, + @JsonKey(name: 'contract') + final Contract? contract, + @JsonKey(name: 'serviceSla') + final int? serviceSla, @JsonKey(name: 'additionalDetails') - final MeasurementAdditionalDetail? measurementAdditionalDetail}) = + final MeasurementAdditionalDetail? measurementAdditionalDetail}) = _$BusinessObjectImpl; factory _BusinessObject.fromJson(Map json) = @@ -3383,20 +3405,32 @@ abstract class $MeasureCopyWith<$Res> { _$MeasureCopyWithImpl<$Res, Measure>; @useResult $Res call( - {@JsonKey(name: 'description') String? description, - @JsonKey(name: 'comments') String? comments, - @JsonKey(name: 'targetId') String? targetId, - @JsonKey(name: 'breadth') double? breadth, - @JsonKey(name: 'length') double? length, - @JsonKey(name: 'isActive') bool? isActive, - @JsonKey(name: 'referenceId') String? referenceId, - @JsonKey(name: 'numItems') double? numItems, - @JsonKey(name: 'id') String? id, - @JsonKey(name: 'currentValue') double? currentValue, - @JsonKey(name: 'cumulativeValue') double? cumulativeValue, - @JsonKey(name: 'height') double? height, + {@JsonKey(name: 'description') + String? description, + @JsonKey(name: 'comments') + String? comments, + @JsonKey(name: 'targetId') + String? targetId, + @JsonKey(name: 'breadth') + double? breadth, + @JsonKey(name: 'length') + double? length, + @JsonKey(name: 'isActive') + bool? isActive, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'numItems') + double? numItems, + @JsonKey(name: 'id') + String? id, + @JsonKey(name: 'currentValue') + double? currentValue, + @JsonKey(name: 'cumulativeValue') + double? cumulativeValue, + @JsonKey(name: 'height') + double? height, @JsonKey(name: 'additionalDetails') - MeasureAdditionalDetails? measureAdditionalDetails}); + MeasureAdditionalDetails? measureAdditionalDetails}); $MeasureAdditionalDetailsCopyWith<$Res>? get measureAdditionalDetails; } @@ -3506,20 +3540,32 @@ abstract class _$$MeasureImplCopyWith<$Res> implements $MeasureCopyWith<$Res> { @override @useResult $Res call( - {@JsonKey(name: 'description') String? description, - @JsonKey(name: 'comments') String? comments, - @JsonKey(name: 'targetId') String? targetId, - @JsonKey(name: 'breadth') double? breadth, - @JsonKey(name: 'length') double? length, - @JsonKey(name: 'isActive') bool? isActive, - @JsonKey(name: 'referenceId') String? referenceId, - @JsonKey(name: 'numItems') double? numItems, - @JsonKey(name: 'id') String? id, - @JsonKey(name: 'currentValue') double? currentValue, - @JsonKey(name: 'cumulativeValue') double? cumulativeValue, - @JsonKey(name: 'height') double? height, + {@JsonKey(name: 'description') + String? description, + @JsonKey(name: 'comments') + String? comments, + @JsonKey(name: 'targetId') + String? targetId, + @JsonKey(name: 'breadth') + double? breadth, + @JsonKey(name: 'length') + double? length, + @JsonKey(name: 'isActive') + bool? isActive, + @JsonKey(name: 'referenceId') + String? referenceId, + @JsonKey(name: 'numItems') + double? numItems, + @JsonKey(name: 'id') + String? id, + @JsonKey(name: 'currentValue') + double? currentValue, + @JsonKey(name: 'cumulativeValue') + double? cumulativeValue, + @JsonKey(name: 'height') + double? height, @JsonKey(name: 'additionalDetails') - MeasureAdditionalDetails? measureAdditionalDetails}); + MeasureAdditionalDetails? measureAdditionalDetails}); @override $MeasureAdditionalDetailsCopyWith<$Res>? get measureAdditionalDetails; @@ -3737,20 +3783,32 @@ class _$MeasureImpl implements _Measure { abstract class _Measure implements Measure { const factory _Measure( - {@JsonKey(name: 'description') final String? description, - @JsonKey(name: 'comments') final String? comments, - @JsonKey(name: 'targetId') final String? targetId, - @JsonKey(name: 'breadth') final double? breadth, - @JsonKey(name: 'length') final double? length, - @JsonKey(name: 'isActive') final bool? isActive, - @JsonKey(name: 'referenceId') final String? referenceId, - @JsonKey(name: 'numItems') final double? numItems, - @JsonKey(name: 'id') final String? id, - @JsonKey(name: 'currentValue') final double? currentValue, - @JsonKey(name: 'cumulativeValue') final double? cumulativeValue, - @JsonKey(name: 'height') final double? height, + {@JsonKey(name: 'description') + final String? description, + @JsonKey(name: 'comments') + final String? comments, + @JsonKey(name: 'targetId') + final String? targetId, + @JsonKey(name: 'breadth') + final double? breadth, + @JsonKey(name: 'length') + final double? length, + @JsonKey(name: 'isActive') + final bool? isActive, + @JsonKey(name: 'referenceId') + final String? referenceId, + @JsonKey(name: 'numItems') + final double? numItems, + @JsonKey(name: 'id') + final String? id, + @JsonKey(name: 'currentValue') + final double? currentValue, + @JsonKey(name: 'cumulativeValue') + final double? cumulativeValue, + @JsonKey(name: 'height') + final double? height, @JsonKey(name: 'additionalDetails') - final MeasureAdditionalDetails? measureAdditionalDetails}) = + final MeasureAdditionalDetails? measureAdditionalDetails}) = _$MeasureImpl; factory _Measure.fromJson(Map json) = _$MeasureImpl.fromJson; @@ -3828,10 +3886,12 @@ abstract class $MeasureAdditionalDetailsCopyWith<$Res> { _$MeasureAdditionalDetailsCopyWithImpl<$Res, MeasureAdditionalDetails>; @useResult $Res call( - {@JsonKey(name: 'type') String? type, - @JsonKey(name: 'mbAmount') double? mbAmount, + {@JsonKey(name: 'type') + String? type, + @JsonKey(name: 'mbAmount') + double? mbAmount, @JsonKey(name: "measureLineItems") - List? measureLineItems}); + List? measureLineItems}); } /// @nodoc @@ -3879,10 +3939,12 @@ abstract class _$$MeasureAdditionalDetailsImplCopyWith<$Res> @override @useResult $Res call( - {@JsonKey(name: 'type') String? type, - @JsonKey(name: 'mbAmount') double? mbAmount, + {@JsonKey(name: 'type') + String? type, + @JsonKey(name: 'mbAmount') + double? mbAmount, @JsonKey(name: "measureLineItems") - List? measureLineItems}); + List? measureLineItems}); } /// @nodoc @@ -3923,10 +3985,12 @@ class __$$MeasureAdditionalDetailsImplCopyWithImpl<$Res> @JsonSerializable() class _$MeasureAdditionalDetailsImpl implements _MeasureAdditionalDetails { const _$MeasureAdditionalDetailsImpl( - {@JsonKey(name: 'type') this.type, - @JsonKey(name: 'mbAmount') this.mbAmount, + {@JsonKey(name: 'type') + this.type, + @JsonKey(name: 'mbAmount') + this.mbAmount, @JsonKey(name: "measureLineItems") - final List? measureLineItems}) + final List? measureLineItems}) : _measureLineItems = measureLineItems; factory _$MeasureAdditionalDetailsImpl.fromJson(Map json) => @@ -3989,10 +4053,12 @@ class _$MeasureAdditionalDetailsImpl implements _MeasureAdditionalDetails { abstract class _MeasureAdditionalDetails implements MeasureAdditionalDetails { const factory _MeasureAdditionalDetails( - {@JsonKey(name: 'type') final String? type, - @JsonKey(name: 'mbAmount') final double? mbAmount, + {@JsonKey(name: 'type') + final String? type, + @JsonKey(name: 'mbAmount') + final double? mbAmount, @JsonKey(name: "measureLineItems") - final List? measureLineItems}) = + final List? measureLineItems}) = _$MeasureAdditionalDetailsImpl; factory _MeasureAdditionalDetails.fromJson(Map json) = @@ -4246,13 +4312,18 @@ class _$MeasureLineItemImpl implements _MeasureLineItem { abstract class _MeasureLineItem implements MeasureLineItem { const factory _MeasureLineItem( - {@JsonKey(name: 'width') final dynamic width, - @JsonKey(name: 'height') final dynamic height, - @JsonKey(name: "length") final dynamic length, - @JsonKey(name: 'number') final dynamic number, - @JsonKey(name: 'quantity') final dynamic quantity, + {@JsonKey(name: 'width') + final dynamic width, + @JsonKey(name: 'height') + final dynamic height, + @JsonKey(name: "length") + final dynamic length, + @JsonKey(name: 'number') + final dynamic number, + @JsonKey(name: 'quantity') + final dynamic quantity, @JsonKey(name: 'measurelineitemNo') - final dynamic measurelineitemNo}) = _$MeasureLineItemImpl; + final dynamic measurelineitemNo}) = _$MeasureLineItemImpl; factory _MeasureLineItem.fromJson(Map json) = _$MeasureLineItemImpl.fromJson; @@ -4343,28 +4414,48 @@ abstract class $ContractCopyWith<$Res> { _$ContractCopyWithImpl<$Res, Contract>; @useResult $Res call( - {@JsonKey(name: 'contractNumber') String? contractNumber, - @JsonKey(name: 'id') String? id, - @JsonKey(name: 'versionNumber') int? versionNumber, - @JsonKey(name: 'oldUuid') String? oldUuid, - @JsonKey(name: 'businessService') String? businessService, - @JsonKey(name: 'tenantId') String? tenantId, - @JsonKey(name: 'wfStatus') String? wfStatus, - @JsonKey(name: 'executingAuthority') String? executingAuthority, - @JsonKey(name: 'contractType') String? contractType, - @JsonKey(name: 'totalContractedAmount') double? totalContractedAmount, - @JsonKey(name: 'securityDeposit') double? securityDeposit, - @JsonKey(name: 'agreementDate') int? agreementDate, - @JsonKey(name: 'issueDate') int? issueDate, - @JsonKey(name: 'defectLiabilityPeriod') int? defectLiabilityPeriod, - @JsonKey(name: 'orgId') String? orgId, - @JsonKey(name: 'startDate') int? startDate, - @JsonKey(name: 'endDate') int? endDate, - @JsonKey(name: 'completionPeriod') int? completionPeriod, - @JsonKey(name: 'status') String? status, - @JsonKey(name: 'lineItems') List? lineItems, + {@JsonKey(name: 'contractNumber') + String? contractNumber, + @JsonKey(name: 'id') + String? id, + @JsonKey(name: 'versionNumber') + int? versionNumber, + @JsonKey(name: 'oldUuid') + String? oldUuid, + @JsonKey(name: 'businessService') + String? businessService, + @JsonKey(name: 'tenantId') + String? tenantId, + @JsonKey(name: 'wfStatus') + String? wfStatus, + @JsonKey(name: 'executingAuthority') + String? executingAuthority, + @JsonKey(name: 'contractType') + String? contractType, + @JsonKey(name: 'totalContractedAmount') + double? totalContractedAmount, + @JsonKey(name: 'securityDeposit') + double? securityDeposit, + @JsonKey(name: 'agreementDate') + int? agreementDate, + @JsonKey(name: 'issueDate') + int? issueDate, + @JsonKey(name: 'defectLiabilityPeriod') + int? defectLiabilityPeriod, + @JsonKey(name: 'orgId') + String? orgId, + @JsonKey(name: 'startDate') + int? startDate, + @JsonKey(name: 'endDate') + int? endDate, + @JsonKey(name: 'completionPeriod') + int? completionPeriod, + @JsonKey(name: 'status') + String? status, + @JsonKey(name: 'lineItems') + List? lineItems, @JsonKey(name: 'additionalDetails') - ContractAdditionalDetails? additionalDetails}); + ContractAdditionalDetails? additionalDetails}); $ContractAdditionalDetailsCopyWith<$Res>? get additionalDetails; } @@ -4515,28 +4606,48 @@ abstract class _$$ContractImplCopyWith<$Res> @override @useResult $Res call( - {@JsonKey(name: 'contractNumber') String? contractNumber, - @JsonKey(name: 'id') String? id, - @JsonKey(name: 'versionNumber') int? versionNumber, - @JsonKey(name: 'oldUuid') String? oldUuid, - @JsonKey(name: 'businessService') String? businessService, - @JsonKey(name: 'tenantId') String? tenantId, - @JsonKey(name: 'wfStatus') String? wfStatus, - @JsonKey(name: 'executingAuthority') String? executingAuthority, - @JsonKey(name: 'contractType') String? contractType, - @JsonKey(name: 'totalContractedAmount') double? totalContractedAmount, - @JsonKey(name: 'securityDeposit') double? securityDeposit, - @JsonKey(name: 'agreementDate') int? agreementDate, - @JsonKey(name: 'issueDate') int? issueDate, - @JsonKey(name: 'defectLiabilityPeriod') int? defectLiabilityPeriod, - @JsonKey(name: 'orgId') String? orgId, - @JsonKey(name: 'startDate') int? startDate, - @JsonKey(name: 'endDate') int? endDate, - @JsonKey(name: 'completionPeriod') int? completionPeriod, - @JsonKey(name: 'status') String? status, - @JsonKey(name: 'lineItems') List? lineItems, + {@JsonKey(name: 'contractNumber') + String? contractNumber, + @JsonKey(name: 'id') + String? id, + @JsonKey(name: 'versionNumber') + int? versionNumber, + @JsonKey(name: 'oldUuid') + String? oldUuid, + @JsonKey(name: 'businessService') + String? businessService, + @JsonKey(name: 'tenantId') + String? tenantId, + @JsonKey(name: 'wfStatus') + String? wfStatus, + @JsonKey(name: 'executingAuthority') + String? executingAuthority, + @JsonKey(name: 'contractType') + String? contractType, + @JsonKey(name: 'totalContractedAmount') + double? totalContractedAmount, + @JsonKey(name: 'securityDeposit') + double? securityDeposit, + @JsonKey(name: 'agreementDate') + int? agreementDate, + @JsonKey(name: 'issueDate') + int? issueDate, + @JsonKey(name: 'defectLiabilityPeriod') + int? defectLiabilityPeriod, + @JsonKey(name: 'orgId') + String? orgId, + @JsonKey(name: 'startDate') + int? startDate, + @JsonKey(name: 'endDate') + int? endDate, + @JsonKey(name: 'completionPeriod') + int? completionPeriod, + @JsonKey(name: 'status') + String? status, + @JsonKey(name: 'lineItems') + List? lineItems, @JsonKey(name: 'additionalDetails') - ContractAdditionalDetails? additionalDetails}); + ContractAdditionalDetails? additionalDetails}); @override $ContractAdditionalDetailsCopyWith<$Res>? get additionalDetails; @@ -4858,29 +4969,48 @@ class _$ContractImpl implements _Contract { abstract class _Contract implements Contract { const factory _Contract( - {@JsonKey(name: 'contractNumber') final String? contractNumber, - @JsonKey(name: 'id') final String? id, - @JsonKey(name: 'versionNumber') final int? versionNumber, - @JsonKey(name: 'oldUuid') final String? oldUuid, - @JsonKey(name: 'businessService') final String? businessService, - @JsonKey(name: 'tenantId') final String? tenantId, - @JsonKey(name: 'wfStatus') final String? wfStatus, - @JsonKey(name: 'executingAuthority') final String? executingAuthority, - @JsonKey(name: 'contractType') final String? contractType, + {@JsonKey(name: 'contractNumber') + final String? contractNumber, + @JsonKey(name: 'id') + final String? id, + @JsonKey(name: 'versionNumber') + final int? versionNumber, + @JsonKey(name: 'oldUuid') + final String? oldUuid, + @JsonKey(name: 'businessService') + final String? businessService, + @JsonKey(name: 'tenantId') + final String? tenantId, + @JsonKey(name: 'wfStatus') + final String? wfStatus, + @JsonKey(name: 'executingAuthority') + final String? executingAuthority, + @JsonKey(name: 'contractType') + final String? contractType, @JsonKey(name: 'totalContractedAmount') - final double? totalContractedAmount, - @JsonKey(name: 'securityDeposit') final double? securityDeposit, - @JsonKey(name: 'agreementDate') final int? agreementDate, - @JsonKey(name: 'issueDate') final int? issueDate, - @JsonKey(name: 'defectLiabilityPeriod') final int? defectLiabilityPeriod, - @JsonKey(name: 'orgId') final String? orgId, - @JsonKey(name: 'startDate') final int? startDate, - @JsonKey(name: 'endDate') final int? endDate, - @JsonKey(name: 'completionPeriod') final int? completionPeriod, - @JsonKey(name: 'status') final String? status, - @JsonKey(name: 'lineItems') final List? lineItems, + final double? totalContractedAmount, + @JsonKey(name: 'securityDeposit') + final double? securityDeposit, + @JsonKey(name: 'agreementDate') + final int? agreementDate, + @JsonKey(name: 'issueDate') + final int? issueDate, + @JsonKey(name: 'defectLiabilityPeriod') + final int? defectLiabilityPeriod, + @JsonKey(name: 'orgId') + final String? orgId, + @JsonKey(name: 'startDate') + final int? startDate, + @JsonKey(name: 'endDate') + final int? endDate, + @JsonKey(name: 'completionPeriod') + final int? completionPeriod, + @JsonKey(name: 'status') + final String? status, + @JsonKey(name: 'lineItems') + final List? lineItems, @JsonKey(name: 'additionalDetails') - final ContractAdditionalDetails? additionalDetails}) = _$ContractImpl; + final ContractAdditionalDetails? additionalDetails}) = _$ContractImpl; factory _Contract.fromJson(Map json) = _$ContractImpl.fromJson; @@ -5016,28 +5146,46 @@ abstract class $ContractAdditionalDetailsCopyWith<$Res> { _$ContractAdditionalDetailsCopyWithImpl<$Res, ContractAdditionalDetails>; @useResult $Res call( - {@JsonKey(name: 'orgName') String? orgName, - @JsonKey(name: 'totalEstimatedAmount') double? totalEstimatedAmount, + {@JsonKey(name: 'orgName') + String? orgName, + @JsonKey(name: 'totalEstimatedAmount') + double? totalEstimatedAmount, @JsonKey(name: 'attendanceRegisterNumber') - String? attendanceRegisterNumber, - @JsonKey(name: 'officerInChargeId') String? officerInChargeId, - @JsonKey(name: 'cboOrgNumber') String? cboOrgNumber, - @JsonKey(name: 'estimateNumber') String? estimateNumber, - @JsonKey(name: 'locality') String? locality, - @JsonKey(name: 'projectType') String? projectType, - @JsonKey(name: 'timeExtReason') String? timeExtReason, - @JsonKey(name: 'ward') String? ward, - @JsonKey(name: 'officerInChargeDesgn') String? officerInChargeDesgn, - @JsonKey(name: 'projectDesc') String? projectDesc, - @JsonKey(name: 'projectName') String? projectName, - @JsonKey(name: 'cboCode') String? cboCode, - @JsonKey(name: 'projectId') String? projectId, - @JsonKey(name: 'cboName') String? cboName, - @JsonKey(name: 'timeExt') dynamic timeExt, - @JsonKey(name: 'completionPeriod') int? completionPeriod, - @JsonKey(name: 'estimateDocs') List? estmateDocs, + String? attendanceRegisterNumber, + @JsonKey(name: 'officerInChargeId') + String? officerInChargeId, + @JsonKey(name: 'cboOrgNumber') + String? cboOrgNumber, + @JsonKey(name: 'estimateNumber') + String? estimateNumber, + @JsonKey(name: 'locality') + String? locality, + @JsonKey(name: 'projectType') + String? projectType, + @JsonKey(name: 'timeExtReason') + String? timeExtReason, + @JsonKey(name: 'ward') + String? ward, + @JsonKey(name: 'officerInChargeDesgn') + String? officerInChargeDesgn, + @JsonKey(name: 'projectDesc') + String? projectDesc, + @JsonKey(name: 'projectName') + String? projectName, + @JsonKey(name: 'cboCode') + String? cboCode, + @JsonKey(name: 'projectId') + String? projectId, + @JsonKey(name: 'cboName') + String? cboName, + @JsonKey(name: 'timeExt') + dynamic timeExt, + @JsonKey(name: 'completionPeriod') + int? completionPeriod, + @JsonKey(name: 'estimateDocs') + List? estmateDocs, @JsonKey(name: 'termsAndConditions') - List? termsAndConditions}); + List? termsAndConditions}); } /// @nodoc @@ -5170,28 +5318,46 @@ abstract class _$$ContractAdditionalDetailsImplCopyWith<$Res> @override @useResult $Res call( - {@JsonKey(name: 'orgName') String? orgName, - @JsonKey(name: 'totalEstimatedAmount') double? totalEstimatedAmount, + {@JsonKey(name: 'orgName') + String? orgName, + @JsonKey(name: 'totalEstimatedAmount') + double? totalEstimatedAmount, @JsonKey(name: 'attendanceRegisterNumber') - String? attendanceRegisterNumber, - @JsonKey(name: 'officerInChargeId') String? officerInChargeId, - @JsonKey(name: 'cboOrgNumber') String? cboOrgNumber, - @JsonKey(name: 'estimateNumber') String? estimateNumber, - @JsonKey(name: 'locality') String? locality, - @JsonKey(name: 'projectType') String? projectType, - @JsonKey(name: 'timeExtReason') String? timeExtReason, - @JsonKey(name: 'ward') String? ward, - @JsonKey(name: 'officerInChargeDesgn') String? officerInChargeDesgn, - @JsonKey(name: 'projectDesc') String? projectDesc, - @JsonKey(name: 'projectName') String? projectName, - @JsonKey(name: 'cboCode') String? cboCode, - @JsonKey(name: 'projectId') String? projectId, - @JsonKey(name: 'cboName') String? cboName, - @JsonKey(name: 'timeExt') dynamic timeExt, - @JsonKey(name: 'completionPeriod') int? completionPeriod, - @JsonKey(name: 'estimateDocs') List? estmateDocs, + String? attendanceRegisterNumber, + @JsonKey(name: 'officerInChargeId') + String? officerInChargeId, + @JsonKey(name: 'cboOrgNumber') + String? cboOrgNumber, + @JsonKey(name: 'estimateNumber') + String? estimateNumber, + @JsonKey(name: 'locality') + String? locality, + @JsonKey(name: 'projectType') + String? projectType, + @JsonKey(name: 'timeExtReason') + String? timeExtReason, + @JsonKey(name: 'ward') + String? ward, + @JsonKey(name: 'officerInChargeDesgn') + String? officerInChargeDesgn, + @JsonKey(name: 'projectDesc') + String? projectDesc, + @JsonKey(name: 'projectName') + String? projectName, + @JsonKey(name: 'cboCode') + String? cboCode, + @JsonKey(name: 'projectId') + String? projectId, + @JsonKey(name: 'cboName') + String? cboName, + @JsonKey(name: 'timeExt') + dynamic timeExt, + @JsonKey(name: 'completionPeriod') + int? completionPeriod, + @JsonKey(name: 'estimateDocs') + List? estmateDocs, @JsonKey(name: 'termsAndConditions') - List? termsAndConditions}); + List? termsAndConditions}); } /// @nodoc @@ -5317,27 +5483,46 @@ class __$$ContractAdditionalDetailsImplCopyWithImpl<$Res> @JsonSerializable() class _$ContractAdditionalDetailsImpl implements _ContractAdditionalDetails { const _$ContractAdditionalDetailsImpl( - {@JsonKey(name: 'orgName') this.orgName, - @JsonKey(name: 'totalEstimatedAmount') this.totalEstimatedAmount, - @JsonKey(name: 'attendanceRegisterNumber') this.attendanceRegisterNumber, - @JsonKey(name: 'officerInChargeId') this.officerInChargeId, - @JsonKey(name: 'cboOrgNumber') this.cboOrgNumber, - @JsonKey(name: 'estimateNumber') this.estimateNumber, - @JsonKey(name: 'locality') this.locality, - @JsonKey(name: 'projectType') this.projectType, - @JsonKey(name: 'timeExtReason') this.timeExtReason, - @JsonKey(name: 'ward') this.ward, - @JsonKey(name: 'officerInChargeDesgn') this.officerInChargeDesgn, - @JsonKey(name: 'projectDesc') this.projectDesc, - @JsonKey(name: 'projectName') this.projectName, - @JsonKey(name: 'cboCode') this.cboCode, - @JsonKey(name: 'projectId') this.projectId, - @JsonKey(name: 'cboName') this.cboName, - @JsonKey(name: 'timeExt') this.timeExt, - @JsonKey(name: 'completionPeriod') this.completionPeriod, - @JsonKey(name: 'estimateDocs') final List? estmateDocs, + {@JsonKey(name: 'orgName') + this.orgName, + @JsonKey(name: 'totalEstimatedAmount') + this.totalEstimatedAmount, + @JsonKey(name: 'attendanceRegisterNumber') + this.attendanceRegisterNumber, + @JsonKey(name: 'officerInChargeId') + this.officerInChargeId, + @JsonKey(name: 'cboOrgNumber') + this.cboOrgNumber, + @JsonKey(name: 'estimateNumber') + this.estimateNumber, + @JsonKey(name: 'locality') + this.locality, + @JsonKey(name: 'projectType') + this.projectType, + @JsonKey(name: 'timeExtReason') + this.timeExtReason, + @JsonKey(name: 'ward') + this.ward, + @JsonKey(name: 'officerInChargeDesgn') + this.officerInChargeDesgn, + @JsonKey(name: 'projectDesc') + this.projectDesc, + @JsonKey(name: 'projectName') + this.projectName, + @JsonKey(name: 'cboCode') + this.cboCode, + @JsonKey(name: 'projectId') + this.projectId, + @JsonKey(name: 'cboName') + this.cboName, + @JsonKey(name: 'timeExt') + this.timeExt, + @JsonKey(name: 'completionPeriod') + this.completionPeriod, + @JsonKey(name: 'estimateDocs') + final List? estmateDocs, @JsonKey(name: 'termsAndConditions') - final List? termsAndConditions}) + final List? termsAndConditions}) : _estmateDocs = estmateDocs, _termsAndConditions = termsAndConditions; @@ -5512,29 +5697,47 @@ class _$ContractAdditionalDetailsImpl implements _ContractAdditionalDetails { abstract class _ContractAdditionalDetails implements ContractAdditionalDetails { const factory _ContractAdditionalDetails( - {@JsonKey(name: 'orgName') final String? orgName, - @JsonKey(name: 'totalEstimatedAmount') final double? totalEstimatedAmount, - @JsonKey(name: 'attendanceRegisterNumber') - final String? attendanceRegisterNumber, - @JsonKey(name: 'officerInChargeId') final String? officerInChargeId, - @JsonKey(name: 'cboOrgNumber') final String? cboOrgNumber, - @JsonKey(name: 'estimateNumber') final String? estimateNumber, - @JsonKey(name: 'locality') final String? locality, - @JsonKey(name: 'projectType') final String? projectType, - @JsonKey(name: 'timeExtReason') final String? timeExtReason, - @JsonKey(name: 'ward') final String? ward, - @JsonKey(name: 'officerInChargeDesgn') final String? officerInChargeDesgn, - @JsonKey(name: 'projectDesc') final String? projectDesc, - @JsonKey(name: 'projectName') final String? projectName, - @JsonKey(name: 'cboCode') final String? cboCode, - @JsonKey(name: 'projectId') final String? projectId, - @JsonKey(name: 'cboName') final String? cboName, - @JsonKey(name: 'timeExt') final dynamic timeExt, - @JsonKey(name: 'completionPeriod') final int? completionPeriod, - @JsonKey(name: 'estimateDocs') final List? estmateDocs, - @JsonKey(name: 'termsAndConditions') - final List? - termsAndConditions}) = _$ContractAdditionalDetailsImpl; + {@JsonKey(name: 'orgName') + final String? orgName, + @JsonKey(name: 'totalEstimatedAmount') + final double? totalEstimatedAmount, + @JsonKey(name: 'attendanceRegisterNumber') + final String? attendanceRegisterNumber, + @JsonKey(name: 'officerInChargeId') + final String? officerInChargeId, + @JsonKey(name: 'cboOrgNumber') + final String? cboOrgNumber, + @JsonKey(name: 'estimateNumber') + final String? estimateNumber, + @JsonKey(name: 'locality') + final String? locality, + @JsonKey(name: 'projectType') + final String? projectType, + @JsonKey(name: 'timeExtReason') + final String? timeExtReason, + @JsonKey(name: 'ward') + final String? ward, + @JsonKey(name: 'officerInChargeDesgn') + final String? officerInChargeDesgn, + @JsonKey(name: 'projectDesc') + final String? projectDesc, + @JsonKey(name: 'projectName') + final String? projectName, + @JsonKey(name: 'cboCode') + final String? cboCode, + @JsonKey(name: 'projectId') + final String? projectId, + @JsonKey(name: 'cboName') + final String? cboName, + @JsonKey(name: 'timeExt') + final dynamic timeExt, + @JsonKey(name: 'completionPeriod') + final int? completionPeriod, + @JsonKey(name: 'estimateDocs') + final List? estmateDocs, + @JsonKey(name: 'termsAndConditions') + final List? termsAndConditions}) = + _$ContractAdditionalDetailsImpl; factory _ContractAdditionalDetails.fromJson(Map json) = _$ContractAdditionalDetailsImpl.fromJson; @@ -6248,19 +6451,30 @@ class __$$LineItemImplCopyWithImpl<$Res> @JsonSerializable() class _$LineItemImpl implements _LineItem { const _$LineItemImpl( - {@JsonKey(name: 'id') this.id, - @JsonKey(name: 'estimateId') this.estimateId, - @JsonKey(name: 'estimateLineItemId') this.estimateLineItemId, - @JsonKey(name: 'contractLineItemRef') this.contractLineItemRef, - @JsonKey(name: 'tenantId') this.tenantId, - @JsonKey(name: 'unitRate') this.unitRate, - @JsonKey(name: 'category') this.category, - @JsonKey(name: 'noOfunit') this.noOfunit, - @JsonKey(name: 'name') this.name, - @JsonKey(name: 'status') this.status, + {@JsonKey(name: 'id') + this.id, + @JsonKey(name: 'estimateId') + this.estimateId, + @JsonKey(name: 'estimateLineItemId') + this.estimateLineItemId, + @JsonKey(name: 'contractLineItemRef') + this.contractLineItemRef, + @JsonKey(name: 'tenantId') + this.tenantId, + @JsonKey(name: 'unitRate') + this.unitRate, + @JsonKey(name: 'category') + this.category, + @JsonKey(name: 'noOfunit') + this.noOfunit, + @JsonKey(name: 'name') + this.name, + @JsonKey(name: 'status') + this.status, @JsonKey(name: 'amountBreakups') - final List? amountBreakups, - @JsonKey(name: 'auditDetails') this.auditDetails}) + final List? amountBreakups, + @JsonKey(name: 'auditDetails') + this.auditDetails}) : _amountBreakups = amountBreakups; factory _$LineItemImpl.fromJson(Map json) => @@ -6377,20 +6591,30 @@ class _$LineItemImpl implements _LineItem { abstract class _LineItem implements LineItem { const factory _LineItem( - {@JsonKey(name: 'id') final String? id, - @JsonKey(name: 'estimateId') final String? estimateId, - @JsonKey(name: 'estimateLineItemId') final String? estimateLineItemId, - @JsonKey(name: 'contractLineItemRef') final String? contractLineItemRef, - @JsonKey(name: 'tenantId') final String? tenantId, - @JsonKey(name: 'unitRate') final double? unitRate, - @JsonKey(name: 'category') final String? category, - @JsonKey(name: 'noOfunit') final num? noOfunit, - @JsonKey(name: 'name') final String? name, - @JsonKey(name: 'status') final String? status, + {@JsonKey(name: 'id') + final String? id, + @JsonKey(name: 'estimateId') + final String? estimateId, + @JsonKey(name: 'estimateLineItemId') + final String? estimateLineItemId, + @JsonKey(name: 'contractLineItemRef') + final String? contractLineItemRef, + @JsonKey(name: 'tenantId') + final String? tenantId, + @JsonKey(name: 'unitRate') + final double? unitRate, + @JsonKey(name: 'category') + final String? category, + @JsonKey(name: 'noOfunit') + final num? noOfunit, + @JsonKey(name: 'name') + final String? name, + @JsonKey(name: 'status') + final String? status, @JsonKey(name: 'amountBreakups') - final List? amountBreakups, + final List? amountBreakups, @JsonKey(name: 'auditDetails') - final AuditDetails? auditDetails}) = _$LineItemImpl; + final AuditDetails? auditDetails}) = _$LineItemImpl; factory _LineItem.fromJson(Map json) = _$LineItemImpl.fromJson; @@ -6626,11 +6850,14 @@ class _$AmountBreakupImpl implements _AmountBreakup { abstract class _AmountBreakup implements AmountBreakup { const factory _AmountBreakup( - {@JsonKey(name: 'id') final String? id, + {@JsonKey(name: 'id') + final String? id, @JsonKey(name: 'estimateAmountBreakupId') - final String? estimateAmountBreakupId, - @JsonKey(name: 'amount') final double? amount, - @JsonKey(name: 'status') final String? status}) = _$AmountBreakupImpl; + final String? estimateAmountBreakupId, + @JsonKey(name: 'amount') + final double? amount, + @JsonKey(name: 'status') + final String? status}) = _$AmountBreakupImpl; factory _AmountBreakup.fromJson(Map json) = _$AmountBreakupImpl.fromJson; diff --git a/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.freezed.dart b/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.freezed.dart index b54395955b..20d39cf129 100644 --- a/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.freezed.dart +++ b/frontend/works_shg_app/lib/models/employee/work_order/wo_inbox_response.freezed.dart @@ -436,9 +436,10 @@ class _$WOItemDataImpl implements _WOItemData { abstract class _WOItemData implements WOItemData { const factory _WOItemData( - {@JsonKey(name: 'ProcessInstance') final ProcessInstance? processInstance, + {@JsonKey(name: 'ProcessInstance') + final ProcessInstance? processInstance, @JsonKey(name: 'businessObject') - final WOBusinessObject? woBusinessObject}) = _$WOItemDataImpl; + final WOBusinessObject? woBusinessObject}) = _$WOItemDataImpl; factory _WOItemData.fromJson(Map json) = _$WOItemDataImpl.fromJson; @@ -488,13 +489,18 @@ abstract class $WOBusinessObjectCopyWith<$Res> { _$WOBusinessObjectCopyWithImpl<$Res, WOBusinessObject>; @useResult $Res call( - {@JsonKey(name: 'totalContractedAmount') double? totalContractedAmount, - @JsonKey(name: 'businessService') String? businessService, - @JsonKey(name: 'contractNumber') String? contractNumber, - @JsonKey(name: 'serviceSla') int? serviceSla, + {@JsonKey(name: 'totalContractedAmount') + double? totalContractedAmount, + @JsonKey(name: 'businessService') + String? businessService, + @JsonKey(name: 'contractNumber') + String? contractNumber, + @JsonKey(name: 'serviceSla') + int? serviceSla, @JsonKey(name: 'additionalDetails') - WOAdditionalDetails? woAdditionalDetails, - @JsonKey(name: 'auditDetails') AuditDetails? auditDetails}); + WOAdditionalDetails? woAdditionalDetails, + @JsonKey(name: 'auditDetails') + AuditDetails? auditDetails}); $WOAdditionalDetailsCopyWith<$Res>? get woAdditionalDetails; $AuditDetailsCopyWith<$Res>? get auditDetails; @@ -583,13 +589,18 @@ abstract class _$$WOBusinessObjectImplCopyWith<$Res> @override @useResult $Res call( - {@JsonKey(name: 'totalContractedAmount') double? totalContractedAmount, - @JsonKey(name: 'businessService') String? businessService, - @JsonKey(name: 'contractNumber') String? contractNumber, - @JsonKey(name: 'serviceSla') int? serviceSla, + {@JsonKey(name: 'totalContractedAmount') + double? totalContractedAmount, + @JsonKey(name: 'businessService') + String? businessService, + @JsonKey(name: 'contractNumber') + String? contractNumber, + @JsonKey(name: 'serviceSla') + int? serviceSla, @JsonKey(name: 'additionalDetails') - WOAdditionalDetails? woAdditionalDetails, - @JsonKey(name: 'auditDetails') AuditDetails? auditDetails}); + WOAdditionalDetails? woAdditionalDetails, + @JsonKey(name: 'auditDetails') + AuditDetails? auditDetails}); @override $WOAdditionalDetailsCopyWith<$Res>? get woAdditionalDetails; @@ -729,15 +740,18 @@ class _$WOBusinessObjectImpl implements _WOBusinessObject { abstract class _WOBusinessObject implements WOBusinessObject { const factory _WOBusinessObject( - {@JsonKey(name: 'totalContractedAmount') + {@JsonKey(name: 'totalContractedAmount') final double? totalContractedAmount, - @JsonKey(name: 'businessService') final String? businessService, - @JsonKey(name: 'contractNumber') final String? contractNumber, - @JsonKey(name: 'serviceSla') final int? serviceSla, - @JsonKey(name: 'additionalDetails') + @JsonKey(name: 'businessService') + final String? businessService, + @JsonKey(name: 'contractNumber') + final String? contractNumber, + @JsonKey(name: 'serviceSla') + final int? serviceSla, + @JsonKey(name: 'additionalDetails') final WOAdditionalDetails? woAdditionalDetails, - @JsonKey(name: 'auditDetails') final AuditDetails? auditDetails}) = - _$WOBusinessObjectImpl; + @JsonKey(name: 'auditDetails') + final AuditDetails? auditDetails}) = _$WOBusinessObjectImpl; factory _WOBusinessObject.fromJson(Map json) = _$WOBusinessObjectImpl.fromJson; diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index dc0665e27c..4413e3fc83 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -4,9 +4,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:intl/intl.dart'; import 'package:works_shg_app/blocs/auth/auth.dart'; -import 'package:works_shg_app/blocs/employee/estimate/estimate.dart'; import 'package:works_shg_app/blocs/employee/mb/mb_crud.dart'; -import 'package:works_shg_app/blocs/employee/mb/project_type.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; import 'package:works_shg_app/blocs/localization/localization.dart'; import 'package:works_shg_app/models/muster_rolls/muster_workflow_model.dart'; @@ -1127,18 +1125,19 @@ class _MBDetailPageState extends State width: MediaQuery.sizeOf( context) .width, + height: 25, child: Text( - AppLocalizations.of(context) - .translate( + mm![index] .name .toString(), - ), + maxLines: - 3, + 1, overflow: TextOverflow.ellipsis, + style: DigitTheme.instance.mobileTheme.textTheme.bodyMedium, ), ), ), @@ -1174,18 +1173,19 @@ class _MBDetailPageState extends State .sizeOf( context) .width, + height: 25, child: Text( - AppLocalizations.of( - context) - .translate( + mm![index] .name .toString(), - ), - maxLines: 3, + + maxLines: 1, + softWrap: true, overflow: TextOverflow .ellipsis, + style: DigitTheme.instance.mobileTheme.textTheme.bodyMedium, ), ), ), @@ -1426,15 +1426,15 @@ class _MBDetailPageState extends State double photoSize(int photok) { switch (photok) { case 1: - return (photok * 115) + 112; + return (photok * 115) + 132; case 2: - return (photok * 100) + 88; + return (photok * 100) + 120; case 3: - return (photok * 100) + 80; + return (photok * 100) + 90; case 4: - return (photok * 90) + 80; + return (photok * 90) + 100; case 5: - return (photok * 80) + 80; + return (photok * 86.2) + 100; default: return 350; @@ -1473,217 +1473,214 @@ class _MBDetailPageState extends State }); return Card( - child: SizedBox( - height: 480, - child: Padding( - padding: const EdgeInsets.only(left: 8.0, bottom: 8.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Text( - "$cardLevel ${index + 1}", - style: - DigitTheme.instance.mobileTheme.textTheme.headlineLarge, - ), + child: Padding( + padding: const EdgeInsets.only(left: 8.0, bottom: 8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: Text( + "$cardLevel ${index + 1}", + style: + DigitTheme.instance.mobileTheme.textTheme.headlineLarge, ), - SORTableCard( - element: { - t.translate(i18.measurementBook.description): - magic.first.contracts!.first.estimates!.first.name, - t.translate(i18.measurementBook.unit): line[0].uom, - t.translate(i18.measurementBook.rate): - line[0].unitRate == null - ? 0.00 - : double.parse(line[0].unitRate!.toString()) - .toStringAsFixed(2), - t.translate(i18.measurementBook.approvedQty): noOfQty, - - //TODO:[localization] - "${t.translate(i18.measurementBook.preConsumedKey)}\n${t.translate(i18.measurementBook.preConsumedPre)}": - // t.translate(i18.measurementBook.consumedQty): - preSorNonSor == null ? "0.0000" : preConumed - }, - ), - - Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(bottom: 10.0), - child: Text(t.translate(i18.measurementBook.currentMBEntry), - style: Theme.of(context).textTheme.headlineSmall), - ), - Container( - padding: const EdgeInsets.all(5.0), - decoration: BoxDecoration( - border: Border.all( - color: const DigitColors().cloudGray, - width: 2.0, - ), - borderRadius: BorderRadius.circular(1), + ), + SORTableCard( + element: { + t.translate(i18.measurementBook.description): + magic.first.contracts!.first.estimates!.first.name, + t.translate(i18.measurementBook.unit): line[0].uom, + t.translate(i18.measurementBook.rate): + line[0].unitRate == null + ? 0.00 + : double.parse(line[0].unitRate!.toString()) + .toStringAsFixed(2), + t.translate(i18.measurementBook.approvedQty): noOfQty, + + //TODO:[localization] + "${t.translate(i18.measurementBook.preConsumedKey)}\n${t.translate(i18.measurementBook.preConsumedPre)}": + // t.translate(i18.measurementBook.consumedQty): + preSorNonSor == null ? "0.0000" : preConumed + }, + ), + + Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(bottom: 10.0), + child: Text(t.translate(i18.measurementBook.currentMBEntry), + style: Theme.of(context).textTheme.headlineSmall), + ), + Container( + padding: const EdgeInsets.all(5.0), + decoration: BoxDecoration( + border: Border.all( + color: const DigitColors().cloudGray, + width: 2.0, ), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Padding( - padding: const EdgeInsets.only(left: 4.0), - child: Text( - (magic.fold(0.0, (sum, obj) { - double m; - if (obj.contracts?.first.estimates?.first - .isDeduction == - false) { - m = obj.measureLineItems!.fold(0.0, - (subSum, ob) { - double mk = - double.parse(ob.quantity!.toString()); - return subSum + mk; - }); - } else { - m = obj.measureLineItems!.fold(0.0, - (subSum, ob) { - double mr = - double.parse(ob.quantity!.toString()); - return subSum + mr; - }); - m = -m; - } - return sum + m; - })).toStringAsFixed(4), - style: const TextStyle( - fontSize: 16, - fontWeight: FontWeight.w400, - ), - maxLines: 3, + borderRadius: BorderRadius.circular(1), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Padding( + padding: const EdgeInsets.only(left: 4.0), + child: Text( + (magic.fold(0.0, (sum, obj) { + double m; + if (obj.contracts?.first.estimates?.first + .isDeduction == + false) { + m = obj.measureLineItems!.fold(0.0, + (subSum, ob) { + double mk = + double.parse(ob.quantity!.toString()); + return subSum + mk; + }); + } else { + m = obj.measureLineItems!.fold(0.0, + (subSum, ob) { + double mr = + double.parse(ob.quantity!.toString()); + return subSum + mr; + }); + m = -m; + } + return sum + m; + })).toStringAsFixed(4), + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w400, ), + maxLines: 3, ), - GestureDetector( - onTap: () { - showDialog( - context: ctx, - builder: (_) { - return HorizontalCardListDialog( - lineItems: magic, - index: index, - type: type, - // noOfUnit: line[0].noOfunit, - noOfUnit: noOfQty, - cummulativePrevQty: preSorNonSor == null - ? 0.0000 - // : preSorNonSor!.first.cumulativeValue, - : preSorNonSor!.fold(0.0000, (sum, obj) { - double m = obj - .contracts! - .first - .estimates! - .first - .isDeduction == - true - ? -(obj.cumulativeValue!) - : (obj.cumulativeValue!); - return sum + m.toDouble(); - }), - sorId: sorNonSorId, - ); - }, - ); - }, - child: Padding( - padding: const EdgeInsets.only(right: 0.0), - child: Icon( - Icons.add_circle, - size: 30, - color: const DigitColors().burningOrange, - ), + ), + GestureDetector( + onTap: () { + showDialog( + context: ctx, + builder: (_) { + return HorizontalCardListDialog( + lineItems: magic, + index: index, + type: type, + // noOfUnit: line[0].noOfunit, + noOfUnit: noOfQty, + cummulativePrevQty: preSorNonSor == null + ? 0.0000 + // : preSorNonSor!.first.cumulativeValue, + : preSorNonSor!.fold(0.0000, (sum, obj) { + double m = obj + .contracts! + .first + .estimates! + .first + .isDeduction == + true + ? -(obj.cumulativeValue!) + : (obj.cumulativeValue!); + return sum + m.toDouble(); + }), + sorId: sorNonSorId, + ); + }, + ); + }, + child: Padding( + padding: const EdgeInsets.only(right: 0.0), + child: Icon( + Icons.add_circle, + size: 30, + color: const DigitColors().burningOrange, ), ), - ], - ), + ), + ], ), - ], - ), - - // end - Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 8.0, bottom: 5.0), - child: Text( - t.translate(i18.measurementBook.mbAmtCurrentEntry), - style: Theme.of(context).textTheme.headlineSmall, - textScaleFactor: 0.99, - ), + ), + ], + ), + + // end + Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(top: 8.0, bottom: 5.0), + child: Text( + t.translate(i18.measurementBook.mbAmtCurrentEntry), + style: Theme.of(context).textTheme.headlineSmall, + textScaleFactor: 0.99, ), - Container( - width: MediaQuery.sizeOf(context).width, - padding: const EdgeInsets.only( - top: 10.0, left: 5.0, right: 5.0, bottom: 10), - decoration: BoxDecoration( - border: Border.all( - color: const DigitColors().cloudGray, - width: 2.0, - ), - borderRadius: BorderRadius.circular(1), + ), + Container( + width: MediaQuery.sizeOf(context).width, + padding: const EdgeInsets.only( + top: 10.0, left: 5.0, right: 5.0, bottom: 10), + decoration: BoxDecoration( + border: Border.all( + color: const DigitColors().cloudGray, + width: 2.0, ), - child: Padding( - padding: const EdgeInsets.only(left: 4.0), - child: Text( - (magic.fold(0.0, (sum, obj) { - double m = obj.mbAmount != null - ? (obj.mbAmount != null && obj.mbAmount! < 0) - ? (obj.mbAmount! * (-1)) - : obj.mbAmount! - : 0.00; - if (obj.contracts?.first.estimates?.first - .isDeduction == - true) { - m = -(m); // Negate the amount for deductions - } else { - m = (m); - } - return sum + m; - })).toStringAsFixed(2), - style: const TextStyle( - fontSize: 16, - fontWeight: FontWeight.w400, - ), - maxLines: 3, + borderRadius: BorderRadius.circular(1), + ), + child: Padding( + padding: const EdgeInsets.only(left: 4.0), + child: Text( + (magic.fold(0.0, (sum, obj) { + double m = obj.mbAmount != null + ? (obj.mbAmount != null && obj.mbAmount! < 0) + ? (obj.mbAmount! * (-1)) + : obj.mbAmount! + : 0.00; + if (obj.contracts?.first.estimates?.first + .isDeduction == + true) { + m = -(m); // Negate the amount for deductions + } else { + m = (m); + } + return sum + m; + })).toStringAsFixed(2), + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w400, ), + maxLines: 3, ), ), - ], - ), - - // - - // DigitTextField( - // controller: TextEditingController() - // ..value - // ..text = (magic.fold(0.0, (sum, obj) { - // double m = obj.mbAmount != null - // ? (obj.mbAmount != null && obj.mbAmount! < 0) - // ? (obj.mbAmount! * (-1)) - // : obj.mbAmount! - // : 0.00; - // if (obj.contracts?.first.estimates?.first.isDeduction == - // true) { - // m = -(m); // Negate the amount for deductions - // } else { - // m = (m); - // } - // return sum + m; - // })).toStringAsFixed(2), - // label: t.translate(i18.measurementBook.mbAmtCurrentEntry), - // isDisabled: true, - // ), - ], - ), + ), + ], + ), + + // + + // DigitTextField( + // controller: TextEditingController() + // ..value + // ..text = (magic.fold(0.0, (sum, obj) { + // double m = obj.mbAmount != null + // ? (obj.mbAmount != null && obj.mbAmount! < 0) + // ? (obj.mbAmount! * (-1)) + // : obj.mbAmount! + // : 0.00; + // if (obj.contracts?.first.estimates?.first.isDeduction == + // true) { + // m = -(m); // Negate the amount for deductions + // } else { + // m = (m); + // } + // return sum + m; + // })).toStringAsFixed(2), + // label: t.translate(i18.measurementBook.mbAmtCurrentEntry), + // isDisabled: true, + // ), + ], ), ), ); @@ -1737,8 +1734,10 @@ class _MBDetailPageState extends State padding: const EdgeInsets.only(bottom: 8.0), child: ListTile( title: Text( + // "Total SOR Amount", t.translate(i18.measurementBook.totalSorAmount), + maxLines: 1, style: DigitTheme .instance.mobileTheme.textTheme.headlineMedium, ), diff --git a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart index 8c0a6b03dd..4bd1011018 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart @@ -16,7 +16,6 @@ import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/widgets/atoms/radio_button_list.dart'; import '../../blocs/wage_seeker_registration/wage_seeker_location_bloc.dart'; -import '../../services/local_storage.dart'; import '../../utils/common_methods.dart'; import '../../widgets/SideBar.dart'; import '../../widgets/atoms/app_bar_logo.dart'; diff --git a/frontend/works_shg_app/lib/pages/employee/mb_history.dart b/frontend/works_shg_app/lib/pages/employee/mb_history.dart index 9ab60a9dc5..f8185928cc 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_history.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_history.dart @@ -354,7 +354,7 @@ class _MBHistoryBookPageState extends State { DigitTheme.instance.mobileTheme.textTheme.bodySmall, ), trailing: Text( - totalSorAmount!.toDouble().toStringAsFixed(2).toString(), + totalSorAmount.toDouble().toStringAsFixed(2).toString(), style: DigitTheme .instance.mobileTheme.textTheme.headlineMedium, ), diff --git a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart index c088059325..28325e8d2e 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart @@ -458,10 +458,10 @@ class _MeasurementBookInboxPageState extends State { ); }, childCount: mbInboxResponse.isLoading - ? mbInboxResponse! + ? mbInboxResponse .mbInboxResponse.items!.length + 1 - : mbInboxResponse! + : mbInboxResponse .mbInboxResponse.items!.length, ), ), diff --git a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart index 200c294153..3fbfc7785b 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart @@ -142,7 +142,7 @@ class _MBMusterScreenPageState extends State { '', id: e.id ?? (value.musterRollsModel!.musterRoll!.first.individualEntries!.any((i) => i.individualId == e.individualId) - ? value.musterRollsModel!?.musterRoll!.first.individualEntries?.firstWhere((s) => s.individualId == e.individualId).id ?? '' + ? value.musterRollsModel!.musterRoll!.first.individualEntries?.firstWhere((s) => s.individualId == e.individualId).id ?? '' : ''), skill: value.musterRollsModel!.musterRoll!.first.individualEntries!.any((i) => i.individualId == e.individualId) ? value.musterRollsModel!?.musterRoll!.first.individualEntries?.firstWhere((s) => s.individualId == e.individualId).musterIndividualAdditionalDetails?.skillCode ?? '' : '', monEntryId: e.attendanceEntries != null ? e.attendanceEntries?.lastWhere((att) => DateFormats.getDay(att.time!) == 'Mon').attendanceEntriesAdditionalDetails?.entryAttendanceLogId : null, @@ -492,7 +492,7 @@ class _MBMusterScreenPageState extends State { apiKey: tableDataModel.skill, hide: false, widget: DropDownDialog( - isDisabled: true || (tableDataModel.skillCodeList ?? []).isEmpty, + isDisabled: true , options: tableDataModel.skillCodeList ?? [], label: i18.common.selectSkill, selectedOption: tableDataModel.skill.toString(), diff --git a/frontend/works_shg_app/lib/pages/login.dart b/frontend/works_shg_app/lib/pages/login.dart index 5fcb979160..dd04f77593 100644 --- a/frontend/works_shg_app/lib/pages/login.dart +++ b/frontend/works_shg_app/lib/pages/login.dart @@ -121,7 +121,7 @@ class _LoginPageState extends State AnimatedContainer( height: _tabController.index == 0 ? 120 - : MediaQuery.of(context).size.height * 0.4, + : MediaQuery.of(context).size.height * 0.45, duration: const Duration(milliseconds: 100), child: TabBarView( physics: const NeverScrollableScrollPhysics(), @@ -344,7 +344,8 @@ class _LoginPageState extends State AppInitializationState data, ) { return SizedBox( - height: MediaQuery.of(context).size.height * 0.7, + height: MediaQuery.of(context).size.height* 0.7 , + width: MediaQuery.of(context).size.width, child: Column( children: [ DigitTextField( diff --git a/frontend/works_shg_app/lib/pages/otp_verification.dart b/frontend/works_shg_app/lib/pages/otp_verification.dart index 96aa691931..aaa0a08459 100644 --- a/frontend/works_shg_app/lib/pages/otp_verification.dart +++ b/frontend/works_shg_app/lib/pages/otp_verification.dart @@ -5,7 +5,6 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:pin_input_text_field/pin_input_text_field.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; import 'package:works_shg_app/router/app_router.dart'; -import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -16,7 +15,7 @@ import '../data/repositories/auth_repository/auth.dart'; import '../services/urls.dart'; import '../utils/notifiers.dart'; import '../widgets/Back.dart'; -import '../widgets/LabelText.dart'; +import '../widgets/labelText.dart'; import '../widgets/atoms/app_bar_logo.dart'; import '../widgets/atoms/resend_otp.dart'; import '../widgets/atoms/sub_label.dart'; diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart index d7bc3ab428..58d4363762 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart @@ -22,7 +22,6 @@ import '../../models/wage_seeker/individual_details_model.dart'; import '../../models/wage_seeker/location_details_model.dart'; import '../../utils/global_variables.dart'; import '../../utils/notifiers.dart'; -import 'package:async/async.dart'; import 'dart:async'; import '../../widgets/loaders.dart' as shg_loader; diff --git a/frontend/works_shg_app/lib/widgets/LabelText.dart b/frontend/works_shg_app/lib/widgets/labelText.dart similarity index 100% rename from frontend/works_shg_app/lib/widgets/LabelText.dart rename to frontend/works_shg_app/lib/widgets/labelText.dart diff --git a/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart b/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart index ebbab333c6..8ed0c00664 100644 --- a/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart +++ b/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart @@ -56,23 +56,29 @@ class FloatActionCard extends StatelessWidget { child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - RichText( - text: TextSpan( - text: '$totalAmountText \n', - style: DigitTheme.instance.mobileTheme.textTheme - .headlineMedium, - children: [ - TextSpan( - text: subtext??"", - style: DigitTheme.instance.mobileTheme - .textTheme.bodySmall, - ) - ]), + Expanded( + flex: 6, + child: RichText( + text: TextSpan( + text: '$totalAmountText \n', + style: DigitTheme.instance.mobileTheme.textTheme + .headlineMedium, + children: [ + TextSpan( + text: subtext??"", + style: DigitTheme.instance.mobileTheme + .textTheme.bodySmall, + ) + ]), + ), ), - Text( - amount, - style: DigitTheme - .instance.mobileTheme.textTheme.headlineMedium, + Expanded( + flex: 2, + child: Text( + amount, + style: DigitTheme + .instance.mobileTheme.textTheme.headlineMedium, + ), ), ], ), diff --git a/frontend/works_shg_app/pubspec.yaml b/frontend/works_shg_app/pubspec.yaml index 49acbbd472..b03cfeaf97 100644 --- a/frontend/works_shg_app/pubspec.yaml +++ b/frontend/works_shg_app/pubspec.yaml @@ -61,6 +61,7 @@ dependencies: intl: ^0.18.0 dart_mappable: ^4.2.2 flutter_focus_watcher: ^2.0.0 + watcher: ^1.1.0 syncfusion_flutter_datepicker: ^20.4.43 flutter_spinkit: ^5.2.1 flutter_typeahead: ^4.8.0 From 5b6614d20b9738fa09dd25bf7046ca20e434ccc4 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 6 Aug 2024 15:09:07 +0530 Subject: [PATCH 120/292] removed the unused and deprecated code --- .../works_shg_app/lib/Env/env_config.dart | 2 +- .../app_initilization/app_initilization.dart | 2 +- .../app_initilization/home_screen_bloc.dart | 2 +- .../works_shg_app/lib/blocs/auth/auth.dart | 1 - .../lib/blocs/employee/mb/mb_crud.dart | 3 - .../lib/blocs/employee/mb/mb_detail_view.dart | 13 +- .../lib/blocs/employee/mb/project_type.dart | 2 - .../employee/work_order/workorder_book.dart | 40 +- .../lib/blocs/localization/localization.dart | 11 +- .../muster_inbox_status_bloc.dart | 1 - .../wage_seeker_create_bloc.dart | 2 +- .../work_orders/search_individual_work.dart | 1 - .../individual_repository.dart | 2 +- .../common_repository/common_repository.dart | 2 +- .../core_repo/core_repository.dart | 2 +- ..._repo.dart => get_global_config_repo.dart} | 0 frontend/works_shg_app/lib/main.dart | 6 +- .../app_config/app_config_model.freezed.dart | 22 +- .../attendance_registry_model.freezed.dart | 59 +- .../attendance/attendee_model.freezed.dart | 12 +- .../attendance/individual_list_model.dart | 8 +- .../individual_list_model.mapper.dart | 52 +- .../attendance/muster_submission.freezed.dart | 8 +- ...onfigModel.dart => home_config_model.dart} | 4 +- ...ed.dart => home_config_model.freezed.dart} | 4 +- ...gModel.g.dart => home_config_model.g.dart} | 2 +- ...d_Measures.dart => filtered_measures.dart} | 4 +- ...ed.dart => filtered_measures.freezed.dart} | 2 +- ...asures.g.dart => filtered_measures.g.dart} | 2 +- .../employee/mb/mb_detail_response.dart | 3 +- .../employee/mb/mb_project_type.freezed.dart | 2 +- .../employee/mb/role_based_hrms.freezed.dart | 11 +- .../global_config_model.freezed.dart | 26 +- .../init_mdms/init_mdms_model.freezed.dart | 29 +- .../models/mdms/attendance_hours.freezed.dart | 8 +- .../models/mdms/location_mdms.freezed.dart | 16 +- .../models/mdms/wage_seeker_mdms.freezed.dart | 63 +- .../business_service_workflow.freezed.dart | 12 +- .../estimate_muster_roll_model.freezed.dart | 66 +- .../muster_inbox_status.freezed.dart | 8 +- .../muster_roll_model.freezed.dart | 60 +- .../muster_workflow_model.freezed.dart | 14 +- .../my_bills_inbox_config.freezed.dart | 8 +- .../home_screen_config.freezed.dart | 33 +- .../lib/models/skills/skills.freezed.dart | 2 +- .../lib/models/table/table_model.dart | 3 +- .../lib/models/table/table_model.freezed.dart | 3 +- .../lib/models/table/table_model.g.dart | 20 + .../my_works_search_criteria.freezed.dart | 2 +- .../lib/pages/attendance_register_table.dart | 27 +- .../lib/pages/authenticated.dart | 15 +- .../lib/pages/bills/my_bills.dart | 6 +- .../lib/pages/employee/mb_config_warning.dart | 875 +++++++++--------- .../lib/pages/employee/mb_detail_page.dart | 91 +- .../lib/pages/employee/mb_filter_page.dart | 10 +- .../lib/pages/employee/mb_history.dart | 10 +- .../lib/pages/employee/mb_inbox.dart | 10 +- .../lib/pages/employee/mb_muster_screen.dart | 31 +- .../lib/pages/employee/mb_wrapper.dart | 1 - .../employee/workOrder/wo_filter_page.dart | 6 +- .../workOrder/work_order_details.dart | 4 +- .../employee/workOrder/work_order_inbox.dart | 73 +- frontend/works_shg_app/lib/pages/home.dart | 8 +- .../lib/pages/language_selection_page.dart | 4 +- frontend/works_shg_app/lib/pages/login.dart | 2 +- .../works_shg_app/lib/pages/org_profile.dart | 6 +- .../lib/pages/otp_verification.dart | 7 +- .../service_requests/service_requests.dart | 4 +- .../works_shg_app/lib/pages/shg_inbox.dart | 19 +- .../create_time_extension.dart | 5 +- ...inbox.dart => track_attendance_inbox.dart} | 9 +- .../lib/pages/track_attendance.dart | 20 +- .../lib/pages/view_muster_rolls.dart | 6 +- .../individual_details.dart | 8 +- .../location_details.dart | 4 +- .../register_individual.dart | 7 +- .../summary_details.dart | 12 +- .../pages/work_order/view_work_details.dart | 19 +- .../lib/pages/work_order/work_order.dart | 6 +- .../works_shg_app/lib/router/app_router.dart | 2 +- .../lib/utils/Toast/toaster.dart | 2 +- .../lib/utils/common_methods.dart | 4 +- .../lib/utils/employee/mb/mb_logic.dart | 55 +- .../lib/widgets/atoms/digit_indicator.dart | 2 +- .../lib/widgets/atoms/table_dropdown.dart | 3 +- .../lib/widgets/{Back.dart => back.dart} | 0 .../{ButtonLink.dart => button_link.dart} | 0 ...rcularButton.dart => circular_button.dart} | 0 .../{FormWrapper.dart => form_wrapper.dart} | 0 .../{labelText.dart => label_text.dart} | 0 .../lib/widgets/mb/multi_image.dart | 40 +- .../lib/widgets/mb/sor_item_add_mb.dart | 80 +- .../widgets/mb/text_field_decimal_match.dart | 1 - ...onList.dart => work_flow_button_list.dart} | 26 +- .../lib/widgets/molecules/desktop_view.dart | 1 - .../lib/widgets/molecules/digit_table.dart | 2 +- .../lib/widgets/molecules/file_picker.dart | 18 +- .../lib/widgets/molecules/mobile_view.dart | 1 - .../lib/widgets/molecules/success_page.dart | 5 +- .../{ScrollParent.dart => scroll_parent.dart} | 0 .../widgets/{SideBar.dart => side_bar.dart} | 214 ----- ...etailsCard.dart => work_details_card.dart} | 6 +- 102 files changed, 1076 insertions(+), 1351 deletions(-) rename frontend/works_shg_app/lib/data/repositories/remote/{getGlobalConfig_repo.dart => get_global_config_repo.dart} (100%) rename frontend/works_shg_app/lib/models/employee/homeconfig/{homeConfigModel.dart => home_config_model.dart} (92%) rename frontend/works_shg_app/lib/models/employee/homeconfig/{homeConfigModel.freezed.dart => home_config_model.freezed.dart} (99%) rename frontend/works_shg_app/lib/models/employee/homeconfig/{homeConfigModel.g.dart => home_config_model.g.dart} (97%) rename frontend/works_shg_app/lib/models/employee/mb/{filtered_Measures.dart => filtered_measures.dart} (97%) rename frontend/works_shg_app/lib/models/employee/mb/{filtered_Measures.freezed.dart => filtered_measures.freezed.dart} (99%) rename frontend/works_shg_app/lib/models/employee/mb/{filtered_Measures.g.dart => filtered_measures.g.dart} (99%) rename frontend/works_shg_app/lib/pages/trackAttendance/{track-attendance_inbox.dart => track_attendance_inbox.dart} (97%) rename frontend/works_shg_app/lib/widgets/{Back.dart => back.dart} (100%) rename frontend/works_shg_app/lib/widgets/{ButtonLink.dart => button_link.dart} (100%) rename frontend/works_shg_app/lib/widgets/{CircularButton.dart => circular_button.dart} (100%) rename frontend/works_shg_app/lib/widgets/{FormWrapper.dart => form_wrapper.dart} (100%) rename frontend/works_shg_app/lib/widgets/{labelText.dart => label_text.dart} (100%) rename frontend/works_shg_app/lib/widgets/mb/{workFlowButtonList.dart => work_flow_button_list.dart} (94%) rename frontend/works_shg_app/lib/widgets/{ScrollParent.dart => scroll_parent.dart} (100%) rename frontend/works_shg_app/lib/widgets/{SideBar.dart => side_bar.dart} (55%) rename frontend/works_shg_app/lib/widgets/{WorkDetailsCard.dart => work_details_card.dart} (99%) diff --git a/frontend/works_shg_app/lib/Env/env_config.dart b/frontend/works_shg_app/lib/Env/env_config.dart index 4d18d86516..af3003be89 100644 --- a/frontend/works_shg_app/lib/Env/env_config.dart +++ b/frontend/works_shg_app/lib/Env/env_config.dart @@ -25,7 +25,7 @@ class EnvironmentConfiguration { await _dotEnv.load(); _variables = Variables(dotEnv: _dotEnv); } catch (error) { - print('catch Error'); + AppLogger.instance.error( title: runtimeType.toString(), message: 'Error while accessing .env file. Using fallback values', diff --git a/frontend/works_shg_app/lib/blocs/app_initilization/app_initilization.dart b/frontend/works_shg_app/lib/blocs/app_initilization/app_initilization.dart index ce7c3a345b..1138ab21c9 100644 --- a/frontend/works_shg_app/lib/blocs/app_initilization/app_initilization.dart +++ b/frontend/works_shg_app/lib/blocs/app_initilization/app_initilization.dart @@ -11,7 +11,7 @@ import 'package:works_shg_app/models/init_mdms/init_mdms_model.dart'; import 'package:works_shg_app/services/urls.dart'; import 'package:works_shg_app/utils/global_variables.dart'; -import '../../data/repositories/remote/getGlobalConfig_repo.dart'; +import '../../data/repositories/remote/get_global_config_repo.dart'; import '../../data/repositories/remote/mdms.dart'; import '../../models/init_mdms/global_config_model.dart'; import '../../services/local_storage.dart'; diff --git a/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.dart b/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.dart index 5ad3496e8a..3f9babde95 100644 --- a/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.dart @@ -4,7 +4,7 @@ import 'package:dio/dio.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:works_shg_app/data/repositories/common_repository/common_repository.dart'; -import 'package:works_shg_app/models/employee/homeconfig/homeConfigModel.dart'; +import 'package:works_shg_app/models/employee/homeconfig/home_config_model.dart'; import 'package:works_shg_app/services/urls.dart'; import '../../../utils/global_variables.dart'; diff --git a/frontend/works_shg_app/lib/blocs/auth/auth.dart b/frontend/works_shg_app/lib/blocs/auth/auth.dart index 7ac35a6f83..573cba9f0a 100644 --- a/frontend/works_shg_app/lib/blocs/auth/auth.dart +++ b/frontend/works_shg_app/lib/blocs/auth/auth.dart @@ -136,7 +136,6 @@ class AuthBloc extends Bloc { FutureOr _onClearLoggedInDetails( AuthClearLoggedDetailsEvent event, AuthEmitter emit) async { - Client client = Client(); try { List? languages = await GlobalVariables.getLanguages(); diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart index d115f008f7..a5848f89cd 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_crud.dart @@ -1,19 +1,16 @@ //mb_crud import 'dart:async'; -import 'dart:convert'; import 'package:dio/dio.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:works_shg_app/services/urls.dart'; import 'package:works_shg_app/utils/employee/mb/mb_logic.dart'; -import 'package:works_shg_app/utils/employee/mb/mb_logic.dart'; import '../../../data/remote_client.dart'; import '../../../data/repositories/employee_repository/mb.dart'; import '../../../models/employee/mb/mb_detail_response.dart'; -import '../../../utils/employee/mb/mb_logic.dart'; part 'mb_crud.freezed.dart'; typedef MeasurementCrudBlocEventEmitter = Emitter; diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart index e37a9c1c97..db0158a0bf 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart @@ -1,21 +1,18 @@ //mb_detail_view import 'dart:async'; -import 'dart:convert'; import 'dart:core'; -import 'dart:math'; import 'package:collection/collection.dart'; import 'package:dio/dio.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; -import 'package:uuid/uuid.dart'; import 'package:works_shg_app/models/employee/mb/mb_inbox_response.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import '../../../data/remote_client.dart'; import '../../../data/repositories/employee_repository/mb.dart'; -import '../../../models/employee/mb/filtered_Measures.dart'; +import '../../../models/employee/mb/filtered_measures.dart'; import '../../../models/employee/mb/mb_detail_response.dart'; import '../../../models/muster_rolls/muster_workflow_model.dart'; import '../../../services/urls.dart'; @@ -255,8 +252,8 @@ class MeasurementDetailBloc List data = MBLogic.deleteMeasurementLine( value.sor!, event.sorId, - event.filteredMeasurementMeasureId!, - event.measurementLineIndex!, + event.filteredMeasurementMeasureId, + event.measurementLineIndex, ); emit(value.copyWith( @@ -267,8 +264,8 @@ class MeasurementDetailBloc List data = MBLogic.deleteMeasurementLine( value.nonSor!, event.sorId, - event.filteredMeasurementMeasureId!, - event.measurementLineIndex!, + event.filteredMeasurementMeasureId, + event.measurementLineIndex, ); emit(value.copyWith( diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart b/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart index b969f67163..9625bbf472 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart @@ -1,9 +1,7 @@ //mb_detail_view import 'dart:async'; -import 'dart:convert'; import 'dart:core'; -import 'dart:math'; import 'package:dio/dio.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.dart b/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.dart index 46ded332e2..5502c0475c 100644 --- a/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.dart +++ b/frontend/works_shg_app/lib/blocs/employee/work_order/workorder_book.dart @@ -3,7 +3,6 @@ import 'dart:async'; import 'package:dio/dio.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; -import 'package:works_shg_app/data/repositories/employee_repository/work_order.dart'; import 'package:works_shg_app/models/employee/work_order/wo_inbox_response.dart'; import 'package:works_shg_app/utils/global_variables.dart'; @@ -95,7 +94,7 @@ class WorkOrderInboxBloc emit( WorkOrderInboxState.loaded( - null, data!.length < 10 ? false : true, data, false, {}), + null, data.length < 10 ? false : true, data, false, {}), ); }, ); @@ -163,20 +162,6 @@ class WorkOrderInboxBloc if (event.offset == 0) { emit(const WorkOrderInboxState.loading()); } - final s = { - "tenantId": GlobalVariables.tenantId ?? - GlobalVariables - .organisationListModel!.organisations!.first.tenantId, - "contractNumber": event.contractNumber, - "orgIds": [], - "wfStatus": ["ACCEPTED","APPROVED"], - "pagination": { - "limit": "10", - "offSet": event.offset.toString(), - "sortBy": "lastModifiedTime", - "order": "desc" - } - }; ContractsModel contractsModel = await MyWorksRepository(client.init()).searchMyWorks( @@ -195,7 +180,7 @@ class WorkOrderInboxBloc contractsModel.contracts! .where((e) => e.status != Constants.inActive) .toList() - .length! < + .length < 10 ? false : true, @@ -220,7 +205,7 @@ class WorkOrderInboxBloc emit( WorkOrderInboxState.loaded( null, - data!.length < 10 ? false : true, + data.length < 10 ? false : true, data, true, event.data, @@ -247,23 +232,8 @@ class WorkOrderInboxBloc return null; }, loaded: (value) async { - // final s = { - // "inbox": { - // "tenantId": "od.testing", - // "moduleSearchCriteria": { - // "tenantId": "od.testing", - // "status": value.status, - // "ward": value.ward, - // }, - // "processSearchCriteria": { - // "businessService": ["MB"], - // "moduleName": "measurement-service" - // }, - // "limit": 10, - // "offset": event.offset - // } - // }; - value!.searchData['pagination']!['offset'] = event.offset; + + value.searchData['pagination']!['offset'] = event.offset; ContractsModel contractsModel = await MyWorksRepository(client.init()).searchMyWorks( url: Urls.workServices.myWorks, diff --git a/frontend/works_shg_app/lib/blocs/localization/localization.dart b/frontend/works_shg_app/lib/blocs/localization/localization.dart index d206b8e797..9e93460328 100644 --- a/frontend/works_shg_app/lib/blocs/localization/localization.dart +++ b/frontend/works_shg_app/lib/blocs/localization/localization.dart @@ -14,7 +14,6 @@ import 'package:universal_html/html.dart' as html; import '../../data/repositories/remote/localization.dart'; import '../../data/schema/localization.dart'; import '../../models/app_config/app_config_model.dart'; -import '../../models/init_mdms/init_mdms_model.dart'; import '../../models/localization/localization_model.dart'; import 'app_localization.dart'; @@ -52,7 +51,7 @@ class LocalizationBloc extends Bloc { ); }).toList(); // Extract selected modules - final List selectedModules = event.module!.split(','); + final List selectedModules = event.module.split(','); // filter the selected module for fetching the localization data @@ -159,7 +158,7 @@ class LocalizationBloc extends Bloc { } }).toList(); // Extract selected modules from the event - final List selectedModules = event.module!.split(','); + final List selectedModules = event.module.split(','); // Clone the existing module status list List ss = List.from(value.moduleStatus!); // Create a copy of selected modules list @@ -168,9 +167,9 @@ class LocalizationBloc extends Bloc { for (final selectedModule in loopingData) { final index = - ss!.indexWhere((element) => element.value == selectedModule); + ss.indexWhere((element) => element.value == selectedModule); if (index != -1) { - if (ss![index].status[event.locale] == true) { + if (ss[index].status[event.locale] == true) { selectedModules.remove(selectedModule); } else { final Map updatedStatus = Map.from( @@ -245,7 +244,7 @@ class LocalizationBloc extends Bloc { } else { // If no modules are selected, emit updated state without fetching new data final List codes = event.locale.split('_'); - await _loadLocale(codes, event.locale!); + await _loadLocale(codes, event.locale); emit(value.copyWith(moduleStatus: ss, languages: configLanguage)); } diff --git a/frontend/works_shg_app/lib/blocs/muster_rolls/muster_inbox_status_bloc.dart b/frontend/works_shg_app/lib/blocs/muster_rolls/muster_inbox_status_bloc.dart index 504108d907..fbbd96ebe0 100644 --- a/frontend/works_shg_app/lib/blocs/muster_rolls/muster_inbox_status_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/muster_rolls/muster_inbox_status_bloc.dart @@ -6,7 +6,6 @@ import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:works_shg_app/services/urls.dart'; import '../../data/repositories/remote/mdms.dart'; -import '../../models/attendance/muster_submission.dart'; import '../../models/muster_rolls/muster_inbox_status.dart'; import '../../utils/global_variables.dart'; diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.dart index 100735fdf4..8ba243bed1 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_create_bloc.dart @@ -67,7 +67,7 @@ class WageSeekerCreateBloc CreateWageSeekerEvent event, WageSeekerCreateEmitter emit) async { Client client = Client(); try { - print(event.individualDetails?.adharCardResponse?.toJson()); + emit(const WageSeekerCreateState.loading()); SingleIndividualModel individualListModel = await WageSeekerRepository(client.init()).createIndividual( diff --git a/frontend/works_shg_app/lib/blocs/work_orders/search_individual_work.dart b/frontend/works_shg_app/lib/blocs/work_orders/search_individual_work.dart index 32d5c63ae8..ace3c814d1 100644 --- a/frontend/works_shg_app/lib/blocs/work_orders/search_individual_work.dart +++ b/frontend/works_shg_app/lib/blocs/work_orders/search_individual_work.dart @@ -11,7 +11,6 @@ import 'package:works_shg_app/utils/global_variables.dart'; import '../../data/remote_client.dart'; import '../../models/works/contracts_model.dart'; -import '../../utils/constants.dart'; part 'search_individual_work.freezed.dart'; diff --git a/frontend/works_shg_app/lib/data/repositories/attendence_repository/individual_repository.dart b/frontend/works_shg_app/lib/data/repositories/attendence_repository/individual_repository.dart index 7678ce8841..2f3234a296 100644 --- a/frontend/works_shg_app/lib/data/repositories/attendence_repository/individual_repository.dart +++ b/frontend/works_shg_app/lib/data/repositories/attendence_repository/individual_repository.dart @@ -62,7 +62,7 @@ class IndividualRepository { item["businessObject"]["individualId"] != null && item["businessObject"]["individualId"] != "null" && item["businessObject"].containsKey("individualId")).toList(); - print("filtered Items"); + // Update the "items" key with the filtered items responseData["items"] = filteredItems; } diff --git a/frontend/works_shg_app/lib/data/repositories/common_repository/common_repository.dart b/frontend/works_shg_app/lib/data/repositories/common_repository/common_repository.dart index 08427f58ad..31b270c348 100644 --- a/frontend/works_shg_app/lib/data/repositories/common_repository/common_repository.dart +++ b/frontend/works_shg_app/lib/data/repositories/common_repository/common_repository.dart @@ -8,7 +8,7 @@ import 'package:works_shg_app/Env/env_config.dart'; import 'package:works_shg_app/models/init_mdms/init_mdms_model.dart'; import 'package:works_shg_app/utils/global_variables.dart'; -import '../../../models/employee/homeconfig/homeConfigModel.dart'; +import '../../../models/employee/homeconfig/home_config_model.dart'; import '../../../models/mdms/location_mdms.dart'; import '../../../models/muster_rolls/business_service_workflow.dart'; import '../../../models/screen_config/home_screen_config.dart'; diff --git a/frontend/works_shg_app/lib/data/repositories/core_repo/core_repository.dart b/frontend/works_shg_app/lib/data/repositories/core_repo/core_repository.dart index 7096bc6943..4b8931e44c 100644 --- a/frontend/works_shg_app/lib/data/repositories/core_repo/core_repository.dart +++ b/frontend/works_shg_app/lib/data/repositories/core_repo/core_repository.dart @@ -98,7 +98,7 @@ class CoreRepository { final response = await http.get(Uri.parse(url)); final bytes = response.bodyBytes; await saveAndLaunchFile(bytes, fileName ?? 'Common.pdf'); - } catch (e, s) { + } catch (e) { print(e); // Notifiers.getToastMessage( // scaffoldMessengerKey.currentContext!, e.toString(), 'ERROR'); diff --git a/frontend/works_shg_app/lib/data/repositories/remote/getGlobalConfig_repo.dart b/frontend/works_shg_app/lib/data/repositories/remote/get_global_config_repo.dart similarity index 100% rename from frontend/works_shg_app/lib/data/repositories/remote/getGlobalConfig_repo.dart rename to frontend/works_shg_app/lib/data/repositories/remote/get_global_config_repo.dart diff --git a/frontend/works_shg_app/lib/main.dart b/frontend/works_shg_app/lib/main.dart index d7912ece19..841b580da4 100644 --- a/frontend/works_shg_app/lib/main.dart +++ b/frontend/works_shg_app/lib/main.dart @@ -244,11 +244,7 @@ class _MainApplicationState extends State { BlocProvider( create: (_) => UserSearchBloc()..add(const SearchUserEvent()), ), - //TODO:[old code] - // BlocProvider( - // create: (_) => - // MusterRollSearchBloc()..add(const SearchMusterRollEvent()), - // ), + BlocProvider( create: (_) => MusterRollSearchBloc(), diff --git a/frontend/works_shg_app/lib/models/app_config/app_config_model.freezed.dart b/frontend/works_shg_app/lib/models/app_config/app_config_model.freezed.dart index cfee02c9c1..77501c5ca9 100644 --- a/frontend/works_shg_app/lib/models/app_config/app_config_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/app_config/app_config_model.freezed.dart @@ -405,9 +405,10 @@ abstract class $AppConfigCopyWith<$Res> { _$AppConfigCopyWithImpl<$Res, AppConfig>; @useResult $Res call( - {@JsonKey(name: 'LANGUAGES') List languages, + {@JsonKey(name: 'LANGUAGES') + List languages, @JsonKey(name: 'LOCALIZATION_MODULES') - List? localizationModules}); + List? localizationModules}); } /// @nodoc @@ -448,9 +449,10 @@ abstract class _$$AppConfigImplCopyWith<$Res> @override @useResult $Res call( - {@JsonKey(name: 'LANGUAGES') List languages, + {@JsonKey(name: 'LANGUAGES') + List languages, @JsonKey(name: 'LOCALIZATION_MODULES') - List? localizationModules}); + List? localizationModules}); } /// @nodoc @@ -484,9 +486,10 @@ class __$$AppConfigImplCopyWithImpl<$Res> @JsonSerializable() class _$AppConfigImpl implements _AppConfig { _$AppConfigImpl( - {@JsonKey(name: 'LANGUAGES') required final List languages, + {@JsonKey(name: 'LANGUAGES') + required final List languages, @JsonKey(name: 'LOCALIZATION_MODULES') - required final List? localizationModules}) + required final List? localizationModules}) : _languages = languages, _localizationModules = localizationModules; @@ -553,9 +556,10 @@ class _$AppConfigImpl implements _AppConfig { abstract class _AppConfig implements AppConfig { factory _AppConfig( - {@JsonKey(name: 'LANGUAGES') required final List languages, + {@JsonKey(name: 'LANGUAGES') + required final List languages, @JsonKey(name: 'LOCALIZATION_MODULES') - required final List? localizationModules}) = + required final List? localizationModules}) = _$AppConfigImpl; factory _AppConfig.fromJson(Map json) = @@ -711,7 +715,7 @@ class _$LanguagesListImpl implements _LanguagesList { abstract class _LanguagesList implements LanguagesList { factory _LanguagesList( {@JsonKey(name: 'languages') - required final List? languages}) = _$LanguagesListImpl; + required final List? languages}) = _$LanguagesListImpl; factory _LanguagesList.fromJson(Map json) = _$LanguagesListImpl.fromJson; diff --git a/frontend/works_shg_app/lib/models/attendance/attendance_registry_model.freezed.dart b/frontend/works_shg_app/lib/models/attendance/attendance_registry_model.freezed.dart index 13f832c610..5b9f263867 100644 --- a/frontend/works_shg_app/lib/models/attendance/attendance_registry_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/attendance/attendance_registry_model.freezed.dart @@ -39,7 +39,7 @@ abstract class $AttendanceRegistersModelCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'attendanceRegister') - List? attendanceRegister}); + List? attendanceRegister}); } /// @nodoc @@ -78,7 +78,7 @@ abstract class _$$AttendanceRegistersModelImplCopyWith<$Res> @useResult $Res call( {@JsonKey(name: 'attendanceRegister') - List? attendanceRegister}); + List? attendanceRegister}); } /// @nodoc @@ -110,7 +110,7 @@ class __$$AttendanceRegistersModelImplCopyWithImpl<$Res> class _$AttendanceRegistersModelImpl implements _AttendanceRegistersModel { const _$AttendanceRegistersModelImpl( {@JsonKey(name: 'attendanceRegister') - final List? attendanceRegister}) + final List? attendanceRegister}) : _attendanceRegister = attendanceRegister; factory _$AttendanceRegistersModelImpl.fromJson(Map json) => @@ -165,7 +165,7 @@ class _$AttendanceRegistersModelImpl implements _AttendanceRegistersModel { abstract class _AttendanceRegistersModel implements AttendanceRegistersModel { const factory _AttendanceRegistersModel( {@JsonKey(name: 'attendanceRegister') - final List? attendanceRegister}) = + final List? attendanceRegister}) = _$AttendanceRegistersModelImpl; factory _AttendanceRegistersModel.fromJson(Map json) = @@ -231,10 +231,14 @@ abstract class $AttendanceRegisterCopyWith<$Res> { int? endDate, String? status, @JsonKey(name: 'additionalDetails') - AttendanceRegisterAdditionalDetails? attendanceRegisterAdditionalDetails, - @JsonKey(name: 'staff') List? staffEntries, - @JsonKey(name: 'auditDetails') RegisterAuditDetails? registerAuditDetails, - @JsonKey(name: 'attendees') List? attendeesEntries}); + AttendanceRegisterAdditionalDetails? + attendanceRegisterAdditionalDetails, + @JsonKey(name: 'staff') + List? staffEntries, + @JsonKey(name: 'auditDetails') + RegisterAuditDetails? registerAuditDetails, + @JsonKey(name: 'attendees') + List? attendeesEntries}); $AttendanceRegisterAdditionalDetailsCopyWith<$Res>? get attendanceRegisterAdditionalDetails; @@ -373,10 +377,14 @@ abstract class _$$AttendanceRegisterImplCopyWith<$Res> int? endDate, String? status, @JsonKey(name: 'additionalDetails') - AttendanceRegisterAdditionalDetails? attendanceRegisterAdditionalDetails, - @JsonKey(name: 'staff') List? staffEntries, - @JsonKey(name: 'auditDetails') RegisterAuditDetails? registerAuditDetails, - @JsonKey(name: 'attendees') List? attendeesEntries}); + AttendanceRegisterAdditionalDetails? + attendanceRegisterAdditionalDetails, + @JsonKey(name: 'staff') + List? staffEntries, + @JsonKey(name: 'auditDetails') + RegisterAuditDetails? registerAuditDetails, + @JsonKey(name: 'attendees') + List? attendeesEntries}); @override $AttendanceRegisterAdditionalDetailsCopyWith<$Res>? @@ -482,11 +490,13 @@ class _$AttendanceRegisterImpl implements _AttendanceRegister { this.endDate, this.status, @JsonKey(name: 'additionalDetails') - this.attendanceRegisterAdditionalDetails, - @JsonKey(name: 'staff') final List? staffEntries, - @JsonKey(name: 'auditDetails') this.registerAuditDetails, + this.attendanceRegisterAdditionalDetails, + @JsonKey(name: 'staff') + final List? staffEntries, + @JsonKey(name: 'auditDetails') + this.registerAuditDetails, @JsonKey(name: 'attendees') - final List? attendeesEntries}) + final List? attendeesEntries}) : _staffEntries = staffEntries, _attendeesEntries = attendeesEntries; @@ -622,13 +632,14 @@ abstract class _AttendanceRegister implements AttendanceRegister { final int? endDate, final String? status, @JsonKey(name: 'additionalDetails') - final AttendanceRegisterAdditionalDetails? - attendanceRegisterAdditionalDetails, - @JsonKey(name: 'staff') final List? staffEntries, + final AttendanceRegisterAdditionalDetails? + attendanceRegisterAdditionalDetails, + @JsonKey(name: 'staff') + final List? staffEntries, @JsonKey(name: 'auditDetails') - final RegisterAuditDetails? registerAuditDetails, + final RegisterAuditDetails? registerAuditDetails, @JsonKey(name: 'attendees') - final List? attendeesEntries}) = + final List? attendeesEntries}) = _$AttendanceRegisterImpl; factory _AttendanceRegister.fromJson(Map json) = @@ -1483,7 +1494,7 @@ abstract class $AttendeesEntriesCopyWith<$Res> { int? enrollmentDate, int? denrollmentDate, @JsonKey(name: 'additionalDetails') - AttendeesAdditionalDetails? additionalDetails}); + AttendeesAdditionalDetails? additionalDetails}); $AttendeesAdditionalDetailsCopyWith<$Res>? get additionalDetails; } @@ -1571,7 +1582,7 @@ abstract class _$$AttendeesEntriesImplCopyWith<$Res> int? enrollmentDate, int? denrollmentDate, @JsonKey(name: 'additionalDetails') - AttendeesAdditionalDetails? additionalDetails}); + AttendeesAdditionalDetails? additionalDetails}); @override $AttendeesAdditionalDetailsCopyWith<$Res>? get additionalDetails; @@ -1714,7 +1725,7 @@ abstract class _AttendeesEntries implements AttendeesEntries { final int? enrollmentDate, final int? denrollmentDate, @JsonKey(name: 'additionalDetails') - final AttendeesAdditionalDetails? additionalDetails}) = + final AttendeesAdditionalDetails? additionalDetails}) = _$AttendeesEntriesImpl; factory _AttendeesEntries.fromJson(Map json) = diff --git a/frontend/works_shg_app/lib/models/attendance/attendee_model.freezed.dart b/frontend/works_shg_app/lib/models/attendance/attendee_model.freezed.dart index 5666c2b6f4..3f997687c0 100644 --- a/frontend/works_shg_app/lib/models/attendance/attendee_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/attendance/attendee_model.freezed.dart @@ -38,7 +38,7 @@ abstract class $AttendeeModelCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'attendanceRegister') - List? attendanceRegister}); + List? attendanceRegister}); } /// @nodoc @@ -75,7 +75,7 @@ abstract class _$$AttendeeModelImplCopyWith<$Res> @useResult $Res call( {@JsonKey(name: 'attendanceRegister') - List? attendanceRegister}); + List? attendanceRegister}); } /// @nodoc @@ -105,7 +105,7 @@ class __$$AttendeeModelImplCopyWithImpl<$Res> class _$AttendeeModelImpl implements _AttendeeModel { const _$AttendeeModelImpl( {@JsonKey(name: 'attendanceRegister') - final List? attendanceRegister}) + final List? attendanceRegister}) : _attendanceRegister = attendanceRegister; factory _$AttendeeModelImpl.fromJson(Map json) => @@ -159,7 +159,7 @@ class _$AttendeeModelImpl implements _AttendeeModel { abstract class _AttendeeModel implements AttendeeModel { const factory _AttendeeModel( {@JsonKey(name: 'attendanceRegister') - final List? attendanceRegister}) = + final List? attendanceRegister}) = _$AttendeeModelImpl; factory _AttendeeModel.fromJson(Map json) = @@ -266,7 +266,7 @@ class __$$AttendeeTrackListModelImplCopyWithImpl<$Res> class _$AttendeeTrackListModelImpl implements _AttendeeTrackListModel { const _$AttendeeTrackListModelImpl( {@JsonKey(ignore: true) - final List? attendeeList = const []}) + final List? attendeeList = const []}) : _attendeeList = attendeeList; factory _$AttendeeTrackListModelImpl.fromJson(Map json) => @@ -320,7 +320,7 @@ class _$AttendeeTrackListModelImpl implements _AttendeeTrackListModel { abstract class _AttendeeTrackListModel implements AttendeeTrackListModel { const factory _AttendeeTrackListModel( {@JsonKey(ignore: true) - final List? attendeeList}) = + final List? attendeeList}) = _$AttendeeTrackListModelImpl; factory _AttendeeTrackListModel.fromJson(Map json) = diff --git a/frontend/works_shg_app/lib/models/attendance/individual_list_model.dart b/frontend/works_shg_app/lib/models/attendance/individual_list_model.dart index 34cc5d0988..deec8c161b 100644 --- a/frontend/works_shg_app/lib/models/attendance/individual_list_model.dart +++ b/frontend/works_shg_app/lib/models/attendance/individual_list_model.dart @@ -4,14 +4,14 @@ part 'individual_list_model.mapper.dart'; @MappableClass() class IndividualListModel with IndividualListModelMappable { - List? Individual; - IndividualListModel({this.Individual}); + List? individual; + IndividualListModel({this.individual}); } @MappableClass() class SingleIndividualModel with SingleIndividualModelMappable { - IndividualModel? Individual; - SingleIndividualModel({this.Individual}); + IndividualModel? individual; + SingleIndividualModel({this.individual}); } @MappableClass() diff --git a/frontend/works_shg_app/lib/models/attendance/individual_list_model.mapper.dart b/frontend/works_shg_app/lib/models/attendance/individual_list_model.mapper.dart index b2b7b55cc3..09fe78a7a6 100644 --- a/frontend/works_shg_app/lib/models/attendance/individual_list_model.mapper.dart +++ b/frontend/works_shg_app/lib/models/attendance/individual_list_model.mapper.dart @@ -21,18 +21,18 @@ class IndividualListModelMapper extends ClassMapperBase { @override final String id = 'IndividualListModel'; - static List? _$Individual(IndividualListModel v) => - v.Individual; - static const Field> _f$Individual = - Field('Individual', _$Individual, opt: true); + static List? _$individual(IndividualListModel v) => + v.individual; + static const Field> _f$individual = + Field('individual', _$individual, opt: true); @override final MappableFields fields = const { - #Individual: _f$Individual, + #individual: _f$individual, }; static IndividualListModel _instantiate(DecodingData data) { - return IndividualListModel(Individual: data.dec(_f$Individual)); + return IndividualListModel(individual: data.dec(_f$individual)); } @override @@ -92,8 +92,8 @@ abstract class IndividualListModelCopyWith<$R, $In extends IndividualListModel, $Out> implements ClassCopyWith<$R, $In, $Out> { ListCopyWith<$R, IndividualModel, IndividualModelCopyWith<$R, IndividualModel, IndividualModel>>? - get Individual; - $R call({List? Individual}); + get individual; + $R call({List? individual}); IndividualListModelCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( Then<$Out2, $R2> t); } @@ -109,16 +109,16 @@ class _IndividualListModelCopyWithImpl<$R, $Out> @override ListCopyWith<$R, IndividualModel, IndividualModelCopyWith<$R, IndividualModel, IndividualModel>>? - get Individual => $value.Individual != null - ? ListCopyWith($value.Individual!, (v, t) => v.copyWith.$chain(t), - (v) => call(Individual: v)) + get individual => $value.individual != null + ? ListCopyWith($value.individual!, (v, t) => v.copyWith.$chain(t), + (v) => call(individual: v)) : null; @override - $R call({Object? Individual = $none}) => $apply( - FieldCopyWithData({if (Individual != $none) #Individual: Individual})); + $R call({Object? individual = $none}) => $apply( + FieldCopyWithData({if (individual != $none) #individual: individual})); @override IndividualListModel $make(CopyWithData data) => IndividualListModel( - Individual: data.get(#Individual, or: $value.Individual)); + individual: data.get(#individual, or: $value.individual)); @override IndividualListModelCopyWith<$R2, IndividualListModel, $Out2> @@ -2080,17 +2080,17 @@ class SingleIndividualModelMapper @override final String id = 'SingleIndividualModel'; - static IndividualModel? _$Individual(SingleIndividualModel v) => v.Individual; - static const Field _f$Individual = - Field('Individual', _$Individual, opt: true); + static IndividualModel? _$individual(SingleIndividualModel v) => v.individual; + static const Field _f$individual = + Field('individual', _$individual, opt: true); @override final MappableFields fields = const { - #Individual: _f$Individual, + #individual: _f$individual, }; static SingleIndividualModel _instantiate(DecodingData data) { - return SingleIndividualModel(Individual: data.dec(_f$Individual)); + return SingleIndividualModel(individual: data.dec(_f$individual)); } @override @@ -2150,8 +2150,8 @@ abstract class SingleIndividualModelCopyWith< $R, $In extends SingleIndividualModel, $Out> implements ClassCopyWith<$R, $In, $Out> { - IndividualModelCopyWith<$R, IndividualModel, IndividualModel>? get Individual; - $R call({IndividualModel? Individual}); + IndividualModelCopyWith<$R, IndividualModel, IndividualModel>? get individual; + $R call({IndividualModel? individual}); SingleIndividualModelCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( Then<$Out2, $R2> t); } @@ -2166,14 +2166,14 @@ class _SingleIndividualModelCopyWithImpl<$R, $Out> SingleIndividualModelMapper.ensureInitialized(); @override IndividualModelCopyWith<$R, IndividualModel, IndividualModel>? - get Individual => - $value.Individual?.copyWith.$chain((v) => call(Individual: v)); + get individual => + $value.individual?.copyWith.$chain((v) => call(individual: v)); @override - $R call({Object? Individual = $none}) => $apply( - FieldCopyWithData({if (Individual != $none) #Individual: Individual})); + $R call({Object? individual = $none}) => $apply( + FieldCopyWithData({if (individual != $none) #individual: individual})); @override SingleIndividualModel $make(CopyWithData data) => SingleIndividualModel( - Individual: data.get(#Individual, or: $value.Individual)); + individual: data.get(#individual, or: $value.individual)); @override SingleIndividualModelCopyWith<$R2, SingleIndividualModel, $Out2> diff --git a/frontend/works_shg_app/lib/models/attendance/muster_submission.freezed.dart b/frontend/works_shg_app/lib/models/attendance/muster_submission.freezed.dart index ba48118cb9..049961c31a 100644 --- a/frontend/works_shg_app/lib/models/attendance/muster_submission.freezed.dart +++ b/frontend/works_shg_app/lib/models/attendance/muster_submission.freezed.dart @@ -38,7 +38,7 @@ abstract class $MusterSubmissionListCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'CBOMusterSubmission') - List? musterSubmission}); + List? musterSubmission}); } /// @nodoc @@ -76,7 +76,7 @@ abstract class _$$MusterSubmissionListImplCopyWith<$Res> @useResult $Res call( {@JsonKey(name: 'CBOMusterSubmission') - List? musterSubmission}); + List? musterSubmission}); } /// @nodoc @@ -106,7 +106,7 @@ class __$$MusterSubmissionListImplCopyWithImpl<$Res> class _$MusterSubmissionListImpl implements _MusterSubmissionList { const _$MusterSubmissionListImpl( {@JsonKey(name: 'CBOMusterSubmission') - final List? musterSubmission}) + final List? musterSubmission}) : _musterSubmission = musterSubmission; factory _$MusterSubmissionListImpl.fromJson(Map json) => @@ -162,7 +162,7 @@ class _$MusterSubmissionListImpl implements _MusterSubmissionList { abstract class _MusterSubmissionList implements MusterSubmissionList { const factory _MusterSubmissionList( {@JsonKey(name: 'CBOMusterSubmission') - final List? musterSubmission}) = + final List? musterSubmission}) = _$MusterSubmissionListImpl; factory _MusterSubmissionList.fromJson(Map json) = diff --git a/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.dart b/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.dart similarity index 92% rename from frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.dart rename to frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.dart index b5cebcb574..ac33a2bb14 100644 --- a/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.dart +++ b/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.dart @@ -1,7 +1,7 @@ import 'package:freezed_annotation/freezed_annotation.dart'; -part 'homeConfigModel.freezed.dart'; -part 'homeConfigModel.g.dart'; +part 'home_config_model.freezed.dart'; +part 'home_config_model.g.dart'; @freezed class HomeConfigModel with _$HomeConfigModel { diff --git a/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.freezed.dart b/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.freezed.dart similarity index 99% rename from frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.freezed.dart rename to frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.freezed.dart index 07314e8a2f..9a0304c3f5 100644 --- a/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.freezed.dart +++ b/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.freezed.dart @@ -3,7 +3,7 @@ // ignore_for_file: type=lint // ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark -part of 'homeConfigModel.dart'; +part of 'home_config_model.dart'; // ************************************************************************** // FreezedGenerator @@ -151,7 +151,7 @@ class _$HomeConfigModelImpl implements _HomeConfigModel { abstract class _HomeConfigModel implements HomeConfigModel { factory _HomeConfigModel( {@JsonKey(name: 'actions') - required final List homeActions}) = _$HomeConfigModelImpl; + required final List homeActions}) = _$HomeConfigModelImpl; factory _HomeConfigModel.fromJson(Map json) = _$HomeConfigModelImpl.fromJson; diff --git a/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.g.dart b/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.g.dart similarity index 97% rename from frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.g.dart rename to frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.g.dart index d6b0c7b479..3938e12c33 100644 --- a/frontend/works_shg_app/lib/models/employee/homeconfig/homeConfigModel.g.dart +++ b/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.g.dart @@ -1,6 +1,6 @@ // GENERATED CODE - DO NOT MODIFY BY HAND -part of 'homeConfigModel.dart'; +part of 'home_config_model.dart'; // ************************************************************************** // JsonSerializableGenerator diff --git a/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.dart b/frontend/works_shg_app/lib/models/employee/mb/filtered_measures.dart similarity index 97% rename from frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.dart rename to frontend/works_shg_app/lib/models/employee/mb/filtered_measures.dart index 122d7b34c5..f379115970 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/filtered_measures.dart @@ -5,8 +5,8 @@ import 'package:works_shg_app/models/employee/mb/mb_inbox_response.dart'; import '../../muster_rolls/muster_workflow_model.dart'; -part 'filtered_Measures.freezed.dart'; -part 'filtered_Measures.g.dart'; +part 'filtered_measures.freezed.dart'; +part 'filtered_measures.g.dart'; @freezed class FilteredMeasurements with _$FilteredMeasurements { diff --git a/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.freezed.dart b/frontend/works_shg_app/lib/models/employee/mb/filtered_measures.freezed.dart similarity index 99% rename from frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.freezed.dart rename to frontend/works_shg_app/lib/models/employee/mb/filtered_measures.freezed.dart index 9dae703e8c..5d2fc2a649 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.freezed.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/filtered_measures.freezed.dart @@ -3,7 +3,7 @@ // ignore_for_file: type=lint // ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark -part of 'filtered_Measures.dart'; +part of 'filtered_measures.dart'; // ************************************************************************** // FreezedGenerator diff --git a/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.g.dart b/frontend/works_shg_app/lib/models/employee/mb/filtered_measures.g.dart similarity index 99% rename from frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.g.dart rename to frontend/works_shg_app/lib/models/employee/mb/filtered_measures.g.dart index b9ced8c973..5fc69a7a2a 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/filtered_Measures.g.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/filtered_measures.g.dart @@ -1,6 +1,6 @@ // GENERATED CODE - DO NOT MODIFY BY HAND -part of 'filtered_Measures.dart'; +part of 'filtered_measures.dart'; // ************************************************************************** // JsonSerializableGenerator diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.dart index a884605c43..32d3ddcd8f 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_detail_response.dart @@ -1,9 +1,8 @@ import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:works_shg_app/models/employee/mb/mb_inbox_response.dart'; -import 'package:works_shg_app/models/muster_rolls/estimate_muster_roll_model.dart'; import 'package:works_shg_app/models/muster_rolls/muster_workflow_model.dart'; -import 'filtered_Measures.dart'; +import 'filtered_measures.dart'; part 'mb_detail_response.freezed.dart'; part 'mb_detail_response.g.dart'; diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.freezed.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.freezed.dart index 8e429d4ad7..b225f882dd 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.freezed.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_project_type.freezed.dart @@ -459,7 +459,7 @@ class _$MBWorksImpl implements _MBWorks { abstract class _MBWorks implements MBWorks { const factory _MBWorks( {@JsonKey(name: 'ProjectType') - final List? projectType}) = _$MBWorksImpl; + final List? projectType}) = _$MBWorksImpl; factory _MBWorks.fromJson(Map json) = _$MBWorksImpl.fromJson; diff --git a/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.freezed.dart b/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.freezed.dart index 5262ca9809..4e769532cf 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.freezed.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/role_based_hrms.freezed.dart @@ -661,10 +661,13 @@ class _$EmployeeUserImpl implements _EmployeeUser { abstract class _EmployeeUser implements EmployeeUser { const factory _EmployeeUser( {@JsonKey(name: 'correspondenceAddress') - final String? correspondenceAddress, - @JsonKey(name: 'mobileNumber') final String? mobileNumber, - @JsonKey(name: 'name') final String? name, - @JsonKey(name: 'userName') final String? userName}) = _$EmployeeUserImpl; + final String? correspondenceAddress, + @JsonKey(name: 'mobileNumber') + final String? mobileNumber, + @JsonKey(name: 'name') + final String? name, + @JsonKey(name: 'userName') + final String? userName}) = _$EmployeeUserImpl; factory _EmployeeUser.fromJson(Map json) = _$EmployeeUserImpl.fromJson; diff --git a/frontend/works_shg_app/lib/models/init_mdms/global_config_model.freezed.dart b/frontend/works_shg_app/lib/models/init_mdms/global_config_model.freezed.dart index d05b9e01f0..0a172d9c20 100644 --- a/frontend/works_shg_app/lib/models/init_mdms/global_config_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/init_mdms/global_config_model.freezed.dart @@ -161,7 +161,7 @@ class _$GlobalConfigModelImpl implements _GlobalConfigModel { abstract class _GlobalConfigModel implements GlobalConfigModel { const factory _GlobalConfigModel( {@JsonKey(name: 'globalConfigs') - final GlobalConfigs? globalConfigs}) = _$GlobalConfigModelImpl; + final GlobalConfigs? globalConfigs}) = _$GlobalConfigModelImpl; factory _GlobalConfigModel.fromJson(Map json) = _$GlobalConfigModelImpl.fromJson; @@ -453,16 +453,22 @@ class _$GlobalConfigsImpl implements _GlobalConfigs { abstract class _GlobalConfigs implements GlobalConfigs { const factory _GlobalConfigs( - {@JsonKey(name: 'stateTenantId') required final String stateTenantId, - @JsonKey(name: 'gmaps_api_key') final String? gmaps_api_key, - @JsonKey(name: 'finEnv') final String? finEnv, - @JsonKey(name: 'contextPath') final String? contextPath, - @JsonKey(name: 'footerLogoURL') final String? footerLogoURL, - @JsonKey(name: 'footerBWLogoURL') final String? footerBWLogoURL, - @JsonKey(name: 'centralInstanceEnabled') + {@JsonKey(name: 'stateTenantId') + required final String stateTenantId, + @JsonKey(name: 'gmaps_api_key') + final String? gmaps_api_key, + @JsonKey(name: 'finEnv') + final String? finEnv, + @JsonKey(name: 'contextPath') + final String? contextPath, + @JsonKey(name: 'footerLogoURL') + final String? footerLogoURL, + @JsonKey(name: 'footerBWLogoURL') + final String? footerBWLogoURL, + @JsonKey(name: 'centralInstanceEnabled') final bool? centralInstanceEnabled, - @JsonKey(name: 'assetS3Bucket') final String? assetS3Bucket}) = - _$GlobalConfigsImpl; + @JsonKey(name: 'assetS3Bucket') + final String? assetS3Bucket}) = _$GlobalConfigsImpl; factory _GlobalConfigs.fromJson(Map json) = _$GlobalConfigsImpl.fromJson; diff --git a/frontend/works_shg_app/lib/models/init_mdms/init_mdms_model.freezed.dart b/frontend/works_shg_app/lib/models/init_mdms/init_mdms_model.freezed.dart index cceb01ed28..8383ed65eb 100644 --- a/frontend/works_shg_app/lib/models/init_mdms/init_mdms_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/init_mdms/init_mdms_model.freezed.dart @@ -197,10 +197,10 @@ class _$InitMdmsModelImpl implements _InitMdmsModel { abstract class _InitMdmsModel implements InitMdmsModel { const factory _InitMdmsModel( - {@JsonKey(name: 'common-masters') + {@JsonKey(name: 'common-masters') final CommonMastersModel? commonMastersModel, - @JsonKey(name: 'tenant') final TenantModel? tenant}) = - _$InitMdmsModelImpl; + @JsonKey(name: 'tenant') + final TenantModel? tenant}) = _$InitMdmsModelImpl; factory _InitMdmsModel.fromJson(Map json) = _$InitMdmsModelImpl.fromJson; @@ -320,9 +320,10 @@ class __$$TenantModelImplCopyWithImpl<$Res> @JsonSerializable() class _$TenantModelImpl implements _TenantModel { const _$TenantModelImpl( - {@JsonKey(name: 'tenants') final List? tenantListModel, + {@JsonKey(name: 'tenants') + final List? tenantListModel, @JsonKey(name: 'citymodule') - final List? cityModuleModel}) + final List? cityModuleModel}) : _tenantListModel = tenantListModel, _cityModuleModel = cityModuleModel; @@ -390,9 +391,10 @@ class _$TenantModelImpl implements _TenantModel { abstract class _TenantModel implements TenantModel { const factory _TenantModel( - {@JsonKey(name: 'tenants') final List? tenantListModel, + {@JsonKey(name: 'tenants') + final List? tenantListModel, @JsonKey(name: 'citymodule') - final List? cityModuleModel}) = _$TenantModelImpl; + final List? cityModuleModel}) = _$TenantModelImpl; factory _TenantModel.fromJson(Map json) = _$TenantModelImpl.fromJson; @@ -513,9 +515,9 @@ class __$$CommonMastersModelImplCopyWithImpl<$Res> class _$CommonMastersModelImpl implements _CommonMastersModel { const _$CommonMastersModelImpl( {@JsonKey(name: 'StateInfo') - final List? stateInfoListModel, + final List? stateInfoListModel, @JsonKey(name: 'AppVersion') - final List? appVersionModel}) + final List? appVersionModel}) : _stateInfoListModel = stateInfoListModel, _appVersionModel = appVersionModel; @@ -585,10 +587,11 @@ class _$CommonMastersModelImpl implements _CommonMastersModel { abstract class _CommonMastersModel implements CommonMastersModel { const factory _CommonMastersModel( - {@JsonKey(name: 'StateInfo') - final List? stateInfoListModel, - @JsonKey(name: 'AppVersion') - final List? appVersionModel}) = _$CommonMastersModelImpl; + {@JsonKey(name: 'StateInfo') + final List? stateInfoListModel, + @JsonKey(name: 'AppVersion') + final List? appVersionModel}) = + _$CommonMastersModelImpl; factory _CommonMastersModel.fromJson(Map json) = _$CommonMastersModelImpl.fromJson; diff --git a/frontend/works_shg_app/lib/models/mdms/attendance_hours.freezed.dart b/frontend/works_shg_app/lib/models/mdms/attendance_hours.freezed.dart index c1fb3581d4..4613ca77ea 100644 --- a/frontend/works_shg_app/lib/models/mdms/attendance_hours.freezed.dart +++ b/frontend/works_shg_app/lib/models/mdms/attendance_hours.freezed.dart @@ -38,7 +38,7 @@ abstract class $AttendanceHoursListCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'AttendanceHours') - List? attendanceHours}); + List? attendanceHours}); } /// @nodoc @@ -75,7 +75,7 @@ abstract class _$$AttendanceHoursListImplCopyWith<$Res> @useResult $Res call( {@JsonKey(name: 'AttendanceHours') - List? attendanceHours}); + List? attendanceHours}); } /// @nodoc @@ -105,7 +105,7 @@ class __$$AttendanceHoursListImplCopyWithImpl<$Res> class _$AttendanceHoursListImpl implements _AttendanceHoursList { const _$AttendanceHoursListImpl( {@JsonKey(name: 'AttendanceHours') - final List? attendanceHours}) + final List? attendanceHours}) : _attendanceHours = attendanceHours; factory _$AttendanceHoursListImpl.fromJson(Map json) => @@ -159,7 +159,7 @@ class _$AttendanceHoursListImpl implements _AttendanceHoursList { abstract class _AttendanceHoursList implements AttendanceHoursList { const factory _AttendanceHoursList( {@JsonKey(name: 'AttendanceHours') - final List? attendanceHours}) = + final List? attendanceHours}) = _$AttendanceHoursListImpl; factory _AttendanceHoursList.fromJson(Map json) = diff --git a/frontend/works_shg_app/lib/models/mdms/location_mdms.freezed.dart b/frontend/works_shg_app/lib/models/mdms/location_mdms.freezed.dart index fb5b1a9cf0..39ef6494b2 100644 --- a/frontend/works_shg_app/lib/models/mdms/location_mdms.freezed.dart +++ b/frontend/works_shg_app/lib/models/mdms/location_mdms.freezed.dart @@ -37,7 +37,7 @@ abstract class $LocationCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'TenantBoundary') - List? tenantBoundaryList}); + List? tenantBoundaryList}); } /// @nodoc @@ -74,7 +74,7 @@ abstract class _$$LocationImplCopyWith<$Res> @useResult $Res call( {@JsonKey(name: 'TenantBoundary') - List? tenantBoundaryList}); + List? tenantBoundaryList}); } /// @nodoc @@ -104,7 +104,7 @@ class __$$LocationImplCopyWithImpl<$Res> class _$LocationImpl implements _Location { const _$LocationImpl( {@JsonKey(name: 'TenantBoundary') - final List? tenantBoundaryList}) + final List? tenantBoundaryList}) : _tenantBoundaryList = tenantBoundaryList; factory _$LocationImpl.fromJson(Map json) => @@ -158,7 +158,7 @@ class _$LocationImpl implements _Location { abstract class _Location implements Location { const factory _Location( {@JsonKey(name: 'TenantBoundary') - final List? tenantBoundaryList}) = _$LocationImpl; + final List? tenantBoundaryList}) = _$LocationImpl; factory _Location.fromJson(Map json) = _$LocationImpl.fromJson; @@ -504,10 +504,12 @@ class _$WardBoundaryImpl implements _WardBoundary { abstract class _WardBoundary implements WardBoundary { const factory _WardBoundary( - {@JsonKey(name: 'code') final String? code, - @JsonKey(name: 'name') final String? name, + {@JsonKey(name: 'code') + final String? code, + @JsonKey(name: 'name') + final String? name, @JsonKey(name: 'children') - final List? localityChildren}) = _$WardBoundaryImpl; + final List? localityChildren}) = _$WardBoundaryImpl; factory _WardBoundary.fromJson(Map json) = _$WardBoundaryImpl.fromJson; diff --git a/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.freezed.dart b/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.freezed.dart index 6c1a96e254..9d49ca5c57 100644 --- a/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.freezed.dart +++ b/frontend/works_shg_app/lib/models/mdms/wage_seeker_mdms.freezed.dart @@ -233,10 +233,12 @@ class _$WageSeekerMDMSImpl implements _WageSeekerMDMS { abstract class _WageSeekerMDMS implements WageSeekerMDMS { const factory _WageSeekerMDMS( - {@JsonKey(name: 'common-masters') final WageSeekerCommonMDMS? commonMDMS, - @JsonKey(name: 'works') final WageSeekerWorksMDMS? worksMDMS, + {@JsonKey(name: 'common-masters') + final WageSeekerCommonMDMS? commonMDMS, + @JsonKey(name: 'works') + final WageSeekerWorksMDMS? worksMDMS, @JsonKey(name: 'tenant') - final TenantMDMS? tenantMDMS}) = _$WageSeekerMDMSImpl; + final TenantMDMS? tenantMDMS}) = _$WageSeekerMDMSImpl; factory _WageSeekerMDMS.fromJson(Map json) = _$WageSeekerMDMSImpl.fromJson; @@ -395,7 +397,7 @@ class _$WageSeekerWorksMDMSImpl implements _WageSeekerWorksMDMS { abstract class _WageSeekerWorksMDMS implements WageSeekerWorksMDMS { const factory _WageSeekerWorksMDMS( {@JsonKey(name: 'BankAccType') - final List? bankAccType}) = _$WageSeekerWorksMDMSImpl; + final List? bankAccType}) = _$WageSeekerWorksMDMSImpl; factory _WageSeekerWorksMDMS.fromJson(Map json) = _$WageSeekerWorksMDMSImpl.fromJson; @@ -962,12 +964,16 @@ abstract class $WageSeekerCommonMDMSCopyWith<$Res> { _$WageSeekerCommonMDMSCopyWithImpl<$Res, WageSeekerCommonMDMS>; @useResult $Res call( - {@JsonKey(name: 'GenderType') List? genderType, + {@JsonKey(name: 'GenderType') + List? genderType, @JsonKey(name: 'WageSeekerSkills') - List? wageSeekerSkills, - @JsonKey(name: 'Relationship') List? relationship, - @JsonKey(name: 'SocialCategory') List? socialCategory, - @JsonKey(name: 'DocumentType') List? documentType}); + List? wageSeekerSkills, + @JsonKey(name: 'Relationship') + List? relationship, + @JsonKey(name: 'SocialCategory') + List? socialCategory, + @JsonKey(name: 'DocumentType') + List? documentType}); } /// @nodoc @@ -1024,12 +1030,16 @@ abstract class _$$WageSeekerCommonMDMSImplCopyWith<$Res> @override @useResult $Res call( - {@JsonKey(name: 'GenderType') List? genderType, + {@JsonKey(name: 'GenderType') + List? genderType, @JsonKey(name: 'WageSeekerSkills') - List? wageSeekerSkills, - @JsonKey(name: 'Relationship') List? relationship, - @JsonKey(name: 'SocialCategory') List? socialCategory, - @JsonKey(name: 'DocumentType') List? documentType}); + List? wageSeekerSkills, + @JsonKey(name: 'Relationship') + List? relationship, + @JsonKey(name: 'SocialCategory') + List? socialCategory, + @JsonKey(name: 'DocumentType') + List? documentType}); } /// @nodoc @@ -1078,13 +1088,16 @@ class __$$WageSeekerCommonMDMSImplCopyWithImpl<$Res> @JsonSerializable() class _$WageSeekerCommonMDMSImpl implements _WageSeekerCommonMDMS { const _$WageSeekerCommonMDMSImpl( - {@JsonKey(name: 'GenderType') final List? genderType, + {@JsonKey(name: 'GenderType') + final List? genderType, @JsonKey(name: 'WageSeekerSkills') - final List? wageSeekerSkills, - @JsonKey(name: 'Relationship') final List? relationship, + final List? wageSeekerSkills, + @JsonKey(name: 'Relationship') + final List? relationship, @JsonKey(name: 'SocialCategory') - final List? socialCategory, - @JsonKey(name: 'DocumentType') final List? documentType}) + final List? socialCategory, + @JsonKey(name: 'DocumentType') + final List? documentType}) : _genderType = genderType, _wageSeekerSkills = wageSeekerSkills, _relationship = relationship, @@ -1200,14 +1213,16 @@ class _$WageSeekerCommonMDMSImpl implements _WageSeekerCommonMDMS { abstract class _WageSeekerCommonMDMS implements WageSeekerCommonMDMS { const factory _WageSeekerCommonMDMS( - {@JsonKey(name: 'GenderType') final List? genderType, + {@JsonKey(name: 'GenderType') + final List? genderType, @JsonKey(name: 'WageSeekerSkills') - final List? wageSeekerSkills, - @JsonKey(name: 'Relationship') final List? relationship, + final List? wageSeekerSkills, + @JsonKey(name: 'Relationship') + final List? relationship, @JsonKey(name: 'SocialCategory') - final List? socialCategory, + final List? socialCategory, @JsonKey(name: 'DocumentType') - final List? documentType}) = _$WageSeekerCommonMDMSImpl; + final List? documentType}) = _$WageSeekerCommonMDMSImpl; factory _WageSeekerCommonMDMS.fromJson(Map json) = _$WageSeekerCommonMDMSImpl.fromJson; diff --git a/frontend/works_shg_app/lib/models/muster_rolls/business_service_workflow.freezed.dart b/frontend/works_shg_app/lib/models/muster_rolls/business_service_workflow.freezed.dart index 02a3da3bbd..39f9833120 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/business_service_workflow.freezed.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/business_service_workflow.freezed.dart @@ -41,7 +41,7 @@ abstract class $BusinessServiceWorkflowModelCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'BusinessServices') - List? businessServices}); + List? businessServices}); } /// @nodoc @@ -80,7 +80,7 @@ abstract class _$$BusinessServiceWorkflowModelImplCopyWith<$Res> @useResult $Res call( {@JsonKey(name: 'BusinessServices') - List? businessServices}); + List? businessServices}); } /// @nodoc @@ -113,7 +113,7 @@ class _$BusinessServiceWorkflowModelImpl implements _BusinessServiceWorkflowModel { const _$BusinessServiceWorkflowModelImpl( {@JsonKey(name: 'BusinessServices') - final List? businessServices}) + final List? businessServices}) : _businessServices = businessServices; factory _$BusinessServiceWorkflowModelImpl.fromJson( @@ -171,7 +171,7 @@ abstract class _BusinessServiceWorkflowModel implements BusinessServiceWorkflowModel { const factory _BusinessServiceWorkflowModel( {@JsonKey(name: 'BusinessServices') - final List? businessServices}) = + final List? businessServices}) = _$BusinessServiceWorkflowModelImpl; factory _BusinessServiceWorkflowModel.fromJson(Map json) = @@ -346,7 +346,7 @@ class _$BusinessServicesImpl implements _BusinessServices { this.business, this.businessServiceSla, @JsonKey(name: 'states') - final List? workflowState}) + final List? workflowState}) : _workflowState = workflowState; factory _$BusinessServicesImpl.fromJson(Map json) => @@ -430,7 +430,7 @@ abstract class _BusinessServices implements BusinessServices { final String? business, final int? businessServiceSla, @JsonKey(name: 'states') - final List? workflowState}) = + final List? workflowState}) = _$BusinessServicesImpl; factory _BusinessServices.fromJson(Map json) = diff --git a/frontend/works_shg_app/lib/models/muster_rolls/estimate_muster_roll_model.freezed.dart b/frontend/works_shg_app/lib/models/muster_rolls/estimate_muster_roll_model.freezed.dart index 208faa10f6..61007a95e5 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/estimate_muster_roll_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/estimate_muster_roll_model.freezed.dart @@ -180,9 +180,10 @@ class _$EstimateMusterRollsModelImpl implements _EstimateMusterRollsModel { abstract class _EstimateMusterRollsModel implements EstimateMusterRollsModel { const factory _EstimateMusterRollsModel( - {@JsonKey(name: 'musterRolls') final List? musterRoll, + {@JsonKey(name: 'musterRolls') + final List? musterRoll, @JsonKey(name: 'count') - final int? count}) = _$EstimateMusterRollsModelImpl; + final int? count}) = _$EstimateMusterRollsModelImpl; factory _EstimateMusterRollsModel.fromJson(Map json) = _$EstimateMusterRollsModelImpl.fromJson; @@ -244,10 +245,11 @@ abstract class $EstimateMusterRollCopyWith<$Res> { int? startDate, int? endDate, @JsonKey(name: 'individualEntries') - List? individualEntries, + List? individualEntries, @JsonKey(name: 'additionalDetails') - MusterAdditionalDetails? musterAdditionalDetails, - @JsonKey(name: 'auditDetails') AuditDetails? musterAuditDetails}); + MusterAdditionalDetails? musterAdditionalDetails, + @JsonKey(name: 'auditDetails') + AuditDetails? musterAuditDetails}); $MusterAdditionalDetailsCopyWith<$Res>? get musterAdditionalDetails; $AuditDetailsCopyWith<$Res>? get musterAuditDetails; @@ -370,10 +372,11 @@ abstract class _$$EstimateMusterRollImplCopyWith<$Res> int? startDate, int? endDate, @JsonKey(name: 'individualEntries') - List? individualEntries, + List? individualEntries, @JsonKey(name: 'additionalDetails') - MusterAdditionalDetails? musterAdditionalDetails, - @JsonKey(name: 'auditDetails') AuditDetails? musterAuditDetails}); + MusterAdditionalDetails? musterAdditionalDetails, + @JsonKey(name: 'auditDetails') + AuditDetails? musterAuditDetails}); @override $MusterAdditionalDetailsCopyWith<$Res>? get musterAdditionalDetails; @@ -466,9 +469,11 @@ class _$EstimateMusterRollImpl implements _EstimateMusterRoll { this.startDate, this.endDate, @JsonKey(name: 'individualEntries') - final List? individualEntries, - @JsonKey(name: 'additionalDetails') this.musterAdditionalDetails, - @JsonKey(name: 'auditDetails') this.musterAuditDetails}) + final List? individualEntries, + @JsonKey(name: 'additionalDetails') + this.musterAdditionalDetails, + @JsonKey(name: 'auditDetails') + this.musterAuditDetails}) : _individualEntries = individualEntries; factory _$EstimateMusterRollImpl.fromJson(Map json) => @@ -583,11 +588,11 @@ abstract class _EstimateMusterRoll implements EstimateMusterRoll { final int? startDate, final int? endDate, @JsonKey(name: 'individualEntries') - final List? individualEntries, + final List? individualEntries, @JsonKey(name: 'additionalDetails') - final MusterAdditionalDetails? musterAdditionalDetails, + final MusterAdditionalDetails? musterAdditionalDetails, @JsonKey(name: 'auditDetails') - final AuditDetails? musterAuditDetails}) = _$EstimateMusterRollImpl; + final AuditDetails? musterAuditDetails}) = _$EstimateMusterRollImpl; factory _EstimateMusterRoll.fromJson(Map json) = _$EstimateMusterRollImpl.fromJson; @@ -658,10 +663,10 @@ abstract class $EstimateIndividualEntriesCopyWith<$Res> { String? individualId, double? totalAttendance, @JsonKey(name: 'attendanceEntries') - List? attendanceEntries, + List? attendanceEntries, @JsonKey(name: 'additionalDetails') - EstimateMusterIndividualAdditionalDetails? - musterIndividualAdditionalDetails}); + EstimateMusterIndividualAdditionalDetails? + musterIndividualAdditionalDetails}); $EstimateMusterIndividualAdditionalDetailsCopyWith<$Res>? get musterIndividualAdditionalDetails; @@ -742,10 +747,10 @@ abstract class _$$EstimateIndividualEntriesImplCopyWith<$Res> String? individualId, double? totalAttendance, @JsonKey(name: 'attendanceEntries') - List? attendanceEntries, + List? attendanceEntries, @JsonKey(name: 'additionalDetails') - EstimateMusterIndividualAdditionalDetails? - musterIndividualAdditionalDetails}); + EstimateMusterIndividualAdditionalDetails? + musterIndividualAdditionalDetails}); @override $EstimateMusterIndividualAdditionalDetailsCopyWith<$Res>? @@ -805,9 +810,9 @@ class _$EstimateIndividualEntriesImpl implements _EstimateIndividualEntries { this.individualId, this.totalAttendance, @JsonKey(name: 'attendanceEntries') - final List? attendanceEntries, + final List? attendanceEntries, @JsonKey(name: 'additionalDetails') - this.musterIndividualAdditionalDetails}) + this.musterIndividualAdditionalDetails}) : _attendanceEntries = attendanceEntries; factory _$EstimateIndividualEntriesImpl.fromJson(Map json) => @@ -886,14 +891,15 @@ class _$EstimateIndividualEntriesImpl implements _EstimateIndividualEntries { abstract class _EstimateIndividualEntries implements EstimateIndividualEntries { const factory _EstimateIndividualEntries( - {final String? id, - final String? individualId, - final double? totalAttendance, - @JsonKey(name: 'attendanceEntries') - final List? attendanceEntries, - @JsonKey(name: 'additionalDetails') - final EstimateMusterIndividualAdditionalDetails? - musterIndividualAdditionalDetails}) = _$EstimateIndividualEntriesImpl; + {final String? id, + final String? individualId, + final double? totalAttendance, + @JsonKey(name: 'attendanceEntries') + final List? attendanceEntries, + @JsonKey(name: 'additionalDetails') + final EstimateMusterIndividualAdditionalDetails? + musterIndividualAdditionalDetails}) = + _$EstimateIndividualEntriesImpl; factory _EstimateIndividualEntries.fromJson(Map json) = _$EstimateIndividualEntriesImpl.fromJson; diff --git a/frontend/works_shg_app/lib/models/muster_rolls/muster_inbox_status.freezed.dart b/frontend/works_shg_app/lib/models/muster_rolls/muster_inbox_status.freezed.dart index 9236db875f..a9d4991411 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/muster_inbox_status.freezed.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/muster_inbox_status.freezed.dart @@ -39,7 +39,7 @@ abstract class $MusterInboxStatusListCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'CBOMusterInboxConfig') - List? musterInboxStatus}); + List? musterInboxStatus}); } /// @nodoc @@ -78,7 +78,7 @@ abstract class _$$MusterInboxStatusListImplCopyWith<$Res> @useResult $Res call( {@JsonKey(name: 'CBOMusterInboxConfig') - List? musterInboxStatus}); + List? musterInboxStatus}); } /// @nodoc @@ -109,7 +109,7 @@ class __$$MusterInboxStatusListImplCopyWithImpl<$Res> class _$MusterInboxStatusListImpl implements _MusterInboxStatusList { const _$MusterInboxStatusListImpl( {@JsonKey(name: 'CBOMusterInboxConfig') - final List? musterInboxStatus}) + final List? musterInboxStatus}) : _musterInboxStatus = musterInboxStatus; factory _$MusterInboxStatusListImpl.fromJson(Map json) => @@ -164,7 +164,7 @@ class _$MusterInboxStatusListImpl implements _MusterInboxStatusList { abstract class _MusterInboxStatusList implements MusterInboxStatusList { const factory _MusterInboxStatusList( {@JsonKey(name: 'CBOMusterInboxConfig') - final List? musterInboxStatus}) = + final List? musterInboxStatus}) = _$MusterInboxStatusListImpl; factory _MusterInboxStatusList.fromJson(Map json) = diff --git a/frontend/works_shg_app/lib/models/muster_rolls/muster_roll_model.freezed.dart b/frontend/works_shg_app/lib/models/muster_rolls/muster_roll_model.freezed.dart index bad17b90bd..d4cc36c8f0 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/muster_roll_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/muster_roll_model.freezed.dart @@ -241,10 +241,11 @@ abstract class $MusterRollCopyWith<$Res> { int? startDate, int? endDate, @JsonKey(name: 'individualEntries') - List? individualEntries, + List? individualEntries, @JsonKey(name: 'additionalDetails') - MusterAdditionalDetails? musterAdditionalDetails, - @JsonKey(name: 'auditDetails') AuditDetails? musterAuditDetails}); + MusterAdditionalDetails? musterAdditionalDetails, + @JsonKey(name: 'auditDetails') + AuditDetails? musterAuditDetails}); $MusterAdditionalDetailsCopyWith<$Res>? get musterAdditionalDetails; $AuditDetailsCopyWith<$Res>? get musterAuditDetails; @@ -379,10 +380,11 @@ abstract class _$$MusterRollImplCopyWith<$Res> int? startDate, int? endDate, @JsonKey(name: 'individualEntries') - List? individualEntries, + List? individualEntries, @JsonKey(name: 'additionalDetails') - MusterAdditionalDetails? musterAdditionalDetails, - @JsonKey(name: 'auditDetails') AuditDetails? musterAuditDetails}); + MusterAdditionalDetails? musterAdditionalDetails, + @JsonKey(name: 'auditDetails') + AuditDetails? musterAuditDetails}); @override $MusterAdditionalDetailsCopyWith<$Res>? get musterAdditionalDetails; @@ -487,9 +489,11 @@ class _$MusterRollImpl implements _MusterRoll { this.startDate, this.endDate, @JsonKey(name: 'individualEntries') - final List? individualEntries, - @JsonKey(name: 'additionalDetails') this.musterAdditionalDetails, - @JsonKey(name: 'auditDetails') this.musterAuditDetails}) + final List? individualEntries, + @JsonKey(name: 'additionalDetails') + this.musterAdditionalDetails, + @JsonKey(name: 'auditDetails') + this.musterAuditDetails}) : _individualEntries = individualEntries; factory _$MusterRollImpl.fromJson(Map json) => @@ -615,11 +619,11 @@ abstract class _MusterRoll implements MusterRoll { final int? startDate, final int? endDate, @JsonKey(name: 'individualEntries') - final List? individualEntries, + final List? individualEntries, @JsonKey(name: 'additionalDetails') - final MusterAdditionalDetails? musterAdditionalDetails, + final MusterAdditionalDetails? musterAdditionalDetails, @JsonKey(name: 'auditDetails') - final AuditDetails? musterAuditDetails}) = _$MusterRollImpl; + final AuditDetails? musterAuditDetails}) = _$MusterRollImpl; factory _MusterRoll.fromJson(Map json) = _$MusterRollImpl.fromJson; @@ -692,9 +696,10 @@ abstract class $IndividualEntriesCopyWith<$Res> { String? individualId, double? totalAttendance, @JsonKey(name: 'attendanceEntries') - List? attendanceEntries, + List? attendanceEntries, @JsonKey(name: 'additionalDetails') - MusterIndividualAdditionalDetails? musterIndividualAdditionalDetails}); + MusterIndividualAdditionalDetails? + musterIndividualAdditionalDetails}); $MusterIndividualAdditionalDetailsCopyWith<$Res>? get musterIndividualAdditionalDetails; @@ -773,9 +778,10 @@ abstract class _$$IndividualEntriesImplCopyWith<$Res> String? individualId, double? totalAttendance, @JsonKey(name: 'attendanceEntries') - List? attendanceEntries, + List? attendanceEntries, @JsonKey(name: 'additionalDetails') - MusterIndividualAdditionalDetails? musterIndividualAdditionalDetails}); + MusterIndividualAdditionalDetails? + musterIndividualAdditionalDetails}); @override $MusterIndividualAdditionalDetailsCopyWith<$Res>? @@ -833,9 +839,9 @@ class _$IndividualEntriesImpl implements _IndividualEntries { this.individualId, this.totalAttendance, @JsonKey(name: 'attendanceEntries') - final List? attendanceEntries, + final List? attendanceEntries, @JsonKey(name: 'additionalDetails') - this.musterIndividualAdditionalDetails}) + this.musterIndividualAdditionalDetails}) : _attendanceEntries = attendanceEntries; factory _$IndividualEntriesImpl.fromJson(Map json) => @@ -917,10 +923,10 @@ abstract class _IndividualEntries implements IndividualEntries { final String? individualId, final double? totalAttendance, @JsonKey(name: 'attendanceEntries') - final List? attendanceEntries, + final List? attendanceEntries, @JsonKey(name: 'additionalDetails') - final MusterIndividualAdditionalDetails? - musterIndividualAdditionalDetails}) = _$IndividualEntriesImpl; + final MusterIndividualAdditionalDetails? + musterIndividualAdditionalDetails}) = _$IndividualEntriesImpl; factory _IndividualEntries.fromJson(Map json) = _$IndividualEntriesImpl.fromJson; @@ -1673,7 +1679,8 @@ abstract class $AttendanceEntriesCopyWith<$Res> { int? time, AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - AttendanceEntriesAdditionalDetails? attendanceEntriesAdditionalDetails}); + AttendanceEntriesAdditionalDetails? + attendanceEntriesAdditionalDetails}); $AuditDetailsCopyWith<$Res>? get auditDetails; $AttendanceEntriesAdditionalDetailsCopyWith<$Res>? @@ -1766,7 +1773,8 @@ abstract class _$$AttendanceEntriesImplCopyWith<$Res> int? time, AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - AttendanceEntriesAdditionalDetails? attendanceEntriesAdditionalDetails}); + AttendanceEntriesAdditionalDetails? + attendanceEntriesAdditionalDetails}); @override $AuditDetailsCopyWith<$Res>? get auditDetails; @@ -1827,7 +1835,7 @@ class _$AttendanceEntriesImpl implements _AttendanceEntries { this.time, this.auditDetails, @JsonKey(name: 'additionalDetails') - this.attendanceEntriesAdditionalDetails}); + this.attendanceEntriesAdditionalDetails}); factory _$AttendanceEntriesImpl.fromJson(Map json) => _$$AttendanceEntriesImplFromJson(json); @@ -1893,8 +1901,8 @@ abstract class _AttendanceEntries implements AttendanceEntries { final int? time, final AuditDetails? auditDetails, @JsonKey(name: 'additionalDetails') - final AttendanceEntriesAdditionalDetails? - attendanceEntriesAdditionalDetails}) = _$AttendanceEntriesImpl; + final AttendanceEntriesAdditionalDetails? + attendanceEntriesAdditionalDetails}) = _$AttendanceEntriesImpl; factory _AttendanceEntries.fromJson(Map json) = _$AttendanceEntriesImpl.fromJson; diff --git a/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.freezed.dart b/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.freezed.dart index af5f104dd4..c07457b187 100644 --- a/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/muster_rolls/muster_workflow_model.freezed.dart @@ -38,7 +38,7 @@ abstract class $MusterWorkFlowModelCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'ProcessInstances') - List? processInstances}); + List? processInstances}); } /// @nodoc @@ -75,7 +75,7 @@ abstract class _$$MusterWorkFlowModelImplCopyWith<$Res> @useResult $Res call( {@JsonKey(name: 'ProcessInstances') - List? processInstances}); + List? processInstances}); } /// @nodoc @@ -105,7 +105,7 @@ class __$$MusterWorkFlowModelImplCopyWithImpl<$Res> class _$MusterWorkFlowModelImpl implements _MusterWorkFlowModel { const _$MusterWorkFlowModelImpl( {@JsonKey(name: 'ProcessInstances') - final List? processInstances}) + final List? processInstances}) : _processInstances = processInstances; factory _$MusterWorkFlowModelImpl.fromJson(Map json) => @@ -160,7 +160,7 @@ class _$MusterWorkFlowModelImpl implements _MusterWorkFlowModel { abstract class _MusterWorkFlowModel implements MusterWorkFlowModel { const factory _MusterWorkFlowModel( {@JsonKey(name: 'ProcessInstances') - final List? processInstances}) = + final List? processInstances}) = _$MusterWorkFlowModelImpl; factory _MusterWorkFlowModel.fromJson(Map json) = @@ -927,7 +927,7 @@ abstract class $WorkflowDocumentCopyWith<$Res> { bool? isActive, int? indexing, @JsonKey(name: 'additionalDetails') - DocumentAdditionalDetails? documentAdditionalDetails}); + DocumentAdditionalDetails? documentAdditionalDetails}); $DocumentAdditionalDetailsCopyWith<$Res>? get documentAdditionalDetails; } @@ -1027,7 +1027,7 @@ abstract class _$$WorkflowDocumentImplCopyWith<$Res> bool? isActive, int? indexing, @JsonKey(name: 'additionalDetails') - DocumentAdditionalDetails? documentAdditionalDetails}); + DocumentAdditionalDetails? documentAdditionalDetails}); @override $DocumentAdditionalDetailsCopyWith<$Res>? get documentAdditionalDetails; @@ -1202,7 +1202,7 @@ abstract class _WorkflowDocument implements WorkflowDocument { final bool? isActive, final int? indexing, @JsonKey(name: 'additionalDetails') - final DocumentAdditionalDetails? documentAdditionalDetails}) = + final DocumentAdditionalDetails? documentAdditionalDetails}) = _$WorkflowDocumentImpl; factory _WorkflowDocument.fromJson(Map json) = diff --git a/frontend/works_shg_app/lib/models/my_bills/my_bills_inbox_config.freezed.dart b/frontend/works_shg_app/lib/models/my_bills/my_bills_inbox_config.freezed.dart index d5526f20e2..e90fc5bd63 100644 --- a/frontend/works_shg_app/lib/models/my_bills/my_bills_inbox_config.freezed.dart +++ b/frontend/works_shg_app/lib/models/my_bills/my_bills_inbox_config.freezed.dart @@ -39,7 +39,7 @@ abstract class $MyBillsInboxConfigListCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'CBOBillInboxConfig') - List myBillsInboxConfig}); + List myBillsInboxConfig}); } /// @nodoc @@ -78,7 +78,7 @@ abstract class _$$MyBillsInboxConfigListImplCopyWith<$Res> @useResult $Res call( {@JsonKey(name: 'CBOBillInboxConfig') - List myBillsInboxConfig}); + List myBillsInboxConfig}); } /// @nodoc @@ -110,7 +110,7 @@ class __$$MyBillsInboxConfigListImplCopyWithImpl<$Res> class _$MyBillsInboxConfigListImpl implements _MyBillsInboxConfigList { const _$MyBillsInboxConfigListImpl( {@JsonKey(name: 'CBOBillInboxConfig') - required final List myBillsInboxConfig}) + required final List myBillsInboxConfig}) : _myBillsInboxConfig = myBillsInboxConfig; factory _$MyBillsInboxConfigListImpl.fromJson(Map json) => @@ -163,7 +163,7 @@ class _$MyBillsInboxConfigListImpl implements _MyBillsInboxConfigList { abstract class _MyBillsInboxConfigList implements MyBillsInboxConfigList { const factory _MyBillsInboxConfigList( {@JsonKey(name: 'CBOBillInboxConfig') - required final List myBillsInboxConfig}) = + required final List myBillsInboxConfig}) = _$MyBillsInboxConfigListImpl; factory _MyBillsInboxConfigList.fromJson(Map json) = diff --git a/frontend/works_shg_app/lib/models/screen_config/home_screen_config.freezed.dart b/frontend/works_shg_app/lib/models/screen_config/home_screen_config.freezed.dart index 1f9c550135..cd8f9a6ee2 100644 --- a/frontend/works_shg_app/lib/models/screen_config/home_screen_config.freezed.dart +++ b/frontend/works_shg_app/lib/models/screen_config/home_screen_config.freezed.dart @@ -166,8 +166,9 @@ class _$HomeScreenConfigModelImpl implements _HomeScreenConfigModel { abstract class _HomeScreenConfigModel implements HomeScreenConfigModel { const factory _HomeScreenConfigModel( - {@JsonKey(name: 'commonUiConfig') - final CommonUIConfigModel? commonUiConfig}) = _$HomeScreenConfigModelImpl; + {@JsonKey(name: 'commonUiConfig') + final CommonUIConfigModel? commonUiConfig}) = + _$HomeScreenConfigModelImpl; factory _HomeScreenConfigModel.fromJson(Map json) = _$HomeScreenConfigModelImpl.fromJson; @@ -211,11 +212,11 @@ abstract class $CommonUIConfigModelCopyWith<$Res> { @useResult $Res call( {@JsonKey(name: 'CBOHomeScreenConfig') - List? cboHomeScreenConfig, + List? cboHomeScreenConfig, @JsonKey(name: 'CBOMyWorks') - List? cboMyWorksSearchCriteria, + List? cboMyWorksSearchCriteria, @JsonKey(name: 'CBOMyServiceRequests') - List? cboMyServiceRequestsConfig}); + List? cboMyServiceRequestsConfig}); } /// @nodoc @@ -262,11 +263,11 @@ abstract class _$$CommonUIConfigModelImplCopyWith<$Res> @useResult $Res call( {@JsonKey(name: 'CBOHomeScreenConfig') - List? cboHomeScreenConfig, + List? cboHomeScreenConfig, @JsonKey(name: 'CBOMyWorks') - List? cboMyWorksSearchCriteria, + List? cboMyWorksSearchCriteria, @JsonKey(name: 'CBOMyServiceRequests') - List? cboMyServiceRequestsConfig}); + List? cboMyServiceRequestsConfig}); } /// @nodoc @@ -306,11 +307,11 @@ class __$$CommonUIConfigModelImplCopyWithImpl<$Res> class _$CommonUIConfigModelImpl implements _CommonUIConfigModel { const _$CommonUIConfigModelImpl( {@JsonKey(name: 'CBOHomeScreenConfig') - final List? cboHomeScreenConfig, + final List? cboHomeScreenConfig, @JsonKey(name: 'CBOMyWorks') - final List? cboMyWorksSearchCriteria, + final List? cboMyWorksSearchCriteria, @JsonKey(name: 'CBOMyServiceRequests') - final List? cboMyServiceRequestsConfig}) + final List? cboMyServiceRequestsConfig}) : _cboHomeScreenConfig = cboHomeScreenConfig, _cboMyWorksSearchCriteria = cboMyWorksSearchCriteria, _cboMyServiceRequestsConfig = cboMyServiceRequestsConfig; @@ -398,13 +399,13 @@ class _$CommonUIConfigModelImpl implements _CommonUIConfigModel { abstract class _CommonUIConfigModel implements CommonUIConfigModel { const factory _CommonUIConfigModel( - {@JsonKey(name: 'CBOHomeScreenConfig') + {@JsonKey(name: 'CBOHomeScreenConfig') final List? cboHomeScreenConfig, - @JsonKey(name: 'CBOMyWorks') + @JsonKey(name: 'CBOMyWorks') final List? cboMyWorksSearchCriteria, - @JsonKey(name: 'CBOMyServiceRequests') - final List? cboMyServiceRequestsConfig}) = - _$CommonUIConfigModelImpl; + @JsonKey(name: 'CBOMyServiceRequests') + final List? + cboMyServiceRequestsConfig}) = _$CommonUIConfigModelImpl; factory _CommonUIConfigModel.fromJson(Map json) = _$CommonUIConfigModelImpl.fromJson; diff --git a/frontend/works_shg_app/lib/models/skills/skills.freezed.dart b/frontend/works_shg_app/lib/models/skills/skills.freezed.dart index bb8eb7161e..9a9b3993e2 100644 --- a/frontend/works_shg_app/lib/models/skills/skills.freezed.dart +++ b/frontend/works_shg_app/lib/models/skills/skills.freezed.dart @@ -154,7 +154,7 @@ class _$SkillsListImpl implements _SkillsList { abstract class _SkillsList implements SkillsList { const factory _SkillsList( {@JsonKey(name: 'SOR') - final List? wageSeekerSkills}) = _$SkillsListImpl; + final List? wageSeekerSkills}) = _$SkillsListImpl; factory _SkillsList.fromJson(Map json) = _$SkillsListImpl.fromJson; diff --git a/frontend/works_shg_app/lib/models/table/table_model.dart b/frontend/works_shg_app/lib/models/table/table_model.dart index 51bc487ef8..9581632a2f 100644 --- a/frontend/works_shg_app/lib/models/table/table_model.dart +++ b/frontend/works_shg_app/lib/models/table/table_model.dart @@ -4,8 +4,9 @@ part 'table_model.freezed.dart'; part 'table_model.g.dart'; @freezed +@JsonSerializable(explicitToJson: true) class TableDataModel with _$TableDataModel { - @JsonSerializable(explicitToJson: true) + const factory TableDataModel({ required String? name, String? aadhaar, diff --git a/frontend/works_shg_app/lib/models/table/table_model.freezed.dart b/frontend/works_shg_app/lib/models/table/table_model.freezed.dart index fafda8b0e2..2efaf5115e 100644 --- a/frontend/works_shg_app/lib/models/table/table_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/table/table_model.freezed.dart @@ -279,8 +279,7 @@ class __$$TableDataModelImplCopyWithImpl<$Res> } /// @nodoc - -@JsonSerializable(explicitToJson: true) +@JsonSerializable() class _$TableDataModelImpl implements _TableDataModel { const _$TableDataModelImpl( {required this.name, diff --git a/frontend/works_shg_app/lib/models/table/table_model.g.dart b/frontend/works_shg_app/lib/models/table/table_model.g.dart index d03db06a54..a023f04aa3 100644 --- a/frontend/works_shg_app/lib/models/table/table_model.g.dart +++ b/frontend/works_shg_app/lib/models/table/table_model.g.dart @@ -6,6 +6,26 @@ part of 'table_model.dart'; // JsonSerializableGenerator // ************************************************************************** + +Map _$TableDataModelToJson(TableDataModel instance) => + { + 'name': instance.name, + 'aadhaar': instance.aadhaar, + 'individualGaurdianName': instance.individualGaurdianName, + 'mobileNumber': instance.mobileNumber, + 'individualCode': instance.individualCode, + 'skill': instance.skill, + 'uuid': instance.uuid, + 'individualId': instance.individualId, + 'bankNumber': instance.bankNumber, + 'monIndex': instance.monIndex, + 'tueIndex': instance.tueIndex, + 'wedIndex': instance.wedIndex, + 'thursIndex': instance.thursIndex, + 'friIndex': instance.friIndex, + 'satIndex': instance.satIndex, + }; + _$TableDataModelImpl _$$TableDataModelImplFromJson(Map json) => _$TableDataModelImpl( name: json['name'] as String?, diff --git a/frontend/works_shg_app/lib/models/works/my_works_search_criteria.freezed.dart b/frontend/works_shg_app/lib/models/works/my_works_search_criteria.freezed.dart index cf05cf3dd9..e5d1a58532 100644 --- a/frontend/works_shg_app/lib/models/works/my_works_search_criteria.freezed.dart +++ b/frontend/works_shg_app/lib/models/works/my_works_search_criteria.freezed.dart @@ -171,7 +171,7 @@ abstract class _MyWorksSearchCriteriaModel implements MyWorksSearchCriteriaModel { const factory _MyWorksSearchCriteriaModel( {@JsonKey(name: 'commonUiConfig') - final CommonUIConfigModel? commonUiConfig}) = + final CommonUIConfigModel? commonUiConfig}) = _$MyWorksSearchCriteriaModelImpl; factory _MyWorksSearchCriteriaModel.fromJson(Map json) = diff --git a/frontend/works_shg_app/lib/pages/attendance_register_table.dart b/frontend/works_shg_app/lib/pages/attendance_register_table.dart index 64ff6df941..c817964d0a 100644 --- a/frontend/works_shg_app/lib/pages/attendance_register_table.dart +++ b/frontend/works_shg_app/lib/pages/attendance_register_table.dart @@ -7,8 +7,8 @@ import 'package:works_shg_app/models/table/table_model.dart'; import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; -import 'package:works_shg_app/widgets/Back.dart'; -import 'package:works_shg_app/widgets/WorkDetailsCard.dart'; +import 'package:works_shg_app/widgets/back.dart'; +import 'package:works_shg_app/widgets/work_details_card.dart'; import 'package:works_shg_app/widgets/atoms/delete_button.dart'; import 'package:works_shg_app/widgets/atoms/empty_image.dart'; import 'package:works_shg_app/widgets/molecules/digit_table.dart' as shg_app; @@ -24,8 +24,8 @@ import '../router/app_router.dart'; import '../utils/common_methods.dart'; import '../utils/models.dart'; import '../utils/notifiers.dart'; -import '../widgets/ButtonLink.dart'; -import '../widgets/SideBar.dart'; +import '../widgets/button_link.dart'; +import '../widgets/side_bar.dart'; import '../widgets/atoms/app_bar_logo.dart'; import '../widgets/atoms/auto_complete_search_bar.dart'; import '../widgets/drawer_wrapper.dart'; @@ -37,8 +37,7 @@ class AttendanceRegisterTablePage extends StatefulWidget { final String tenantId; const AttendanceRegisterTablePage(@PathParam('registerId') this.registerId, @PathParam('tenantId') this.tenantId, - {Key? key}) - : super(key: key); + {super.key}); @override State createState() { @@ -83,7 +82,7 @@ class _AttendanceRegisterTablePage extends State { searchUser = false; context.read().add( SearchIndividualAttendanceRegisterEvent( - registerNumber: widget.registerId ?? '', + registerNumber: widget.registerId , tenantId: widget.tenantId.toString()), ); await Future.delayed(const Duration(seconds: 1)); @@ -297,7 +296,7 @@ class _AttendanceRegisterTablePage extends State { if (individualAttendanceRegisterModel! .attendanceRegister != null && - individualAttendanceRegisterModel! + individualAttendanceRegisterModel .attendanceRegister!.isNotEmpty) { registerStartDate = individualAttendanceRegisterModel @@ -323,7 +322,7 @@ class _AttendanceRegisterTablePage extends State { .toList() .isNotEmpty) { existingAttendeeList = - individualAttendanceRegisterModel! + individualAttendanceRegisterModel .attendanceRegister! .first .attendeesEntries! @@ -341,7 +340,7 @@ class _AttendanceRegisterTablePage extends State { .read() .add( SearchWMSIndividualIdEvent( - ids: individualAttendanceRegisterModel! + ids: individualAttendanceRegisterModel .attendanceRegister! .first .attendeesEntries @@ -512,7 +511,7 @@ class _AttendanceRegisterTablePage extends State { registerId: widget .registerId .toString(), - tenantId: widget! + tenantId: widget .tenantId .toString())); }, @@ -529,7 +528,7 @@ class _AttendanceRegisterTablePage extends State { registerId: widget .registerId .toString(), - tenantId: widget! + tenantId: widget .tenantId .toString())); }, @@ -559,7 +558,7 @@ class _AttendanceRegisterTablePage extends State { registerId: widget .registerId .toString(), - tenantId: widget! + tenantId: widget .tenantId .toString())); }, @@ -576,7 +575,7 @@ class _AttendanceRegisterTablePage extends State { registerId: widget .registerId .toString(), - tenantId: widget! + tenantId: widget .tenantId .toString())); }, diff --git a/frontend/works_shg_app/lib/pages/authenticated.dart b/frontend/works_shg_app/lib/pages/authenticated.dart index d29d497604..a277dd97fd 100644 --- a/frontend/works_shg_app/lib/pages/authenticated.dart +++ b/frontend/works_shg_app/lib/pages/authenticated.dart @@ -6,6 +6,7 @@ import 'package:works_shg_app/blocs/organisation/org_search_bloc.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import '../blocs/localization/localization.dart'; + @RoutePage() class AuthenticatedWrapperPage extends StatefulWidget { const AuthenticatedWrapperPage({ @@ -40,25 +41,23 @@ class _AuthenticatedPageWrapper extends State { context .read() .add(LocalizationEvent.onSpecificLoadLocalization( - module: GlobalVariables.roleType==RoleType.employee? - 'rainmaker-contracts,rainmaker-attendencemgmt,rainmaker-measurement,rainmaker-workflow' - :'rainmaker-contracts,rainmaker-attendencemgmt,rainmaker-workflow', + module: GlobalVariables.roleType == RoleType.employee + ? 'rainmaker-contracts,rainmaker-attendencemgmt,rainmaker-measurement,rainmaker-workflow' + : 'rainmaker-contracts,rainmaker-attendencemgmt,rainmaker-workflow', tenantId: GlobalVariables .globalConfigObject!.globalConfigs!.stateTenantId .toString(), - locale: selectedLocale!.value.toString() ?? "", + locale: selectedLocale!.value.toString(), )); // ignore: use_build_context_synchronously context .read() - .add( - SearchORGEvent(GlobalVariables.userRequestModel!['mobileNumber']) - ); + .add(SearchORGEvent(GlobalVariables.userRequestModel!['mobileNumber'])); } @override Widget build(BuildContext context) { return const AutoRouter(); } -} \ No newline at end of file +} diff --git a/frontend/works_shg_app/lib/pages/bills/my_bills.dart b/frontend/works_shg_app/lib/pages/bills/my_bills.dart index 5e53c6a40e..4c11d5b56d 100644 --- a/frontend/works_shg_app/lib/pages/bills/my_bills.dart +++ b/frontend/works_shg_app/lib/pages/bills/my_bills.dart @@ -6,7 +6,7 @@ import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/date_formats.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; -import 'package:works_shg_app/widgets/WorkDetailsCard.dart'; +import 'package:works_shg_app/widgets/work_details_card.dart'; import 'package:works_shg_app/widgets/atoms/empty_image.dart'; import 'package:works_shg_app/widgets/loaders.dart' as shg_loader; @@ -17,8 +17,8 @@ import '../../models/my_bills/my_bills_model.dart'; import '../../utils/common_methods.dart'; import '../../utils/constants.dart'; import '../../utils/notifiers.dart'; -import '../../widgets/Back.dart'; -import '../../widgets/SideBar.dart'; +import '../../widgets/back.dart'; +import '../../widgets/side_bar.dart'; import '../../widgets/atoms/app_bar_logo.dart'; import '../../widgets/drawer_wrapper.dart'; diff --git a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart index bbee852cae..cb762b13ce 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart @@ -1,12 +1,10 @@ -import 'dart:convert'; - import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:reactive_forms/reactive_forms.dart'; import 'package:works_shg_app/blocs/employee/emp_hrms/emp_hrms.dart'; import 'package:works_shg_app/blocs/employee/mb/mb_crud.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/blocs/localization/localization.dart'; import 'package:works_shg_app/models/employee/mb/mb_detail_response.dart'; import 'package:works_shg_app/models/muster_rolls/business_service_workflow.dart'; import 'package:works_shg_app/router/app_router.dart'; @@ -14,7 +12,6 @@ import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/utils/models/file_picker_data.dart'; import 'package:works_shg_app/utils/notifiers.dart'; import 'package:works_shg_app/widgets/mb/multi_image.dart'; -import 'package:works_shg_app/widgets/molecules/file_picker.dart'; import '../../blocs/employee/mb/mb_detail_view.dart'; import '../../blocs/muster_rolls/get_muster_workflow.dart'; @@ -23,7 +20,7 @@ import '../../models/file_store/file_store_model.dart'; import '../../models/muster_rolls/muster_workflow_model.dart'; import '../../utils/common_methods.dart'; import '../../utils/employee/mb/mb_logic.dart'; -import '../../widgets/SideBar.dart'; +import '../../widgets/side_bar.dart'; import '../../widgets/atoms/app_bar_logo.dart'; import '../../widgets/drawer_wrapper.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' @@ -152,7 +149,8 @@ class _MBTypeConfirmationPageState extends State { child: Scaffold( backgroundColor: const DigitColors().white, appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), + iconTheme: DigitTheme.instance.mobileTheme.iconTheme + .copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -163,70 +161,59 @@ class _MBTypeConfirmationPageState extends State { ), ), ), - body: BlocBuilder( + body: BlocBuilder( builder: (context, state) { - return state.maybeMap( - orElse: () => const SizedBox.shrink(), - loaded: (value) { - if (widget.type == MBScreen.update) { - return Padding( - padding: const EdgeInsets.all(8.0), - child: ScrollableContent( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.center, - footer: Padding( - padding: const EdgeInsets.symmetric(horizontal: 8.0), - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - - SizedBox( - width: MediaQuery.sizeOf(context).width, - child: DigitElevatedButton( - child: Text( - widget.nextActions!.action == "EDIT/RE-SUBMIT" - ? t.translate("WORKS_FORWARD") - : t.translate( - "WF_MODAL_SUBMIT_MB_${widget.nextActions!.action!}"), - ), - onPressed: () { - if (widget.nextActions!.action == "REJECT" && - comment.text == "") { - Notifiers.getToastMessage( - context, - // AppLocalizations.of(context) - // .translate(i18.login.invalidOTP), - - t.translate( - i18.common.allFieldsMandatory), - 'ERROR', - ); - } else { - List> sorList = [ - value.sor!, - value.nonSor! - ]; - MBDetailResponse kkk = - MBLogic.getMbPayloadUpdate( - data: value.data, - sorList: sorList, - workFlow: WorkFlow( - action: widget.nextActions!.action, - comment: comment.text, - assignees: selectedAssignee != null - ? selectedAssignee?.uuid != null - ? [selectedAssignee!.uuid!] - : null - : null, - documents: supportDocument, + + return BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) { + if (widget.type == MBScreen.update) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: ScrollableContent( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + footer: Padding( + padding: + const EdgeInsets.symmetric(horizontal: 8.0), + child: Column( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + SizedBox( + width: MediaQuery.sizeOf(context).width, + child: DigitElevatedButton( + child: Text( + widget.nextActions!.action == + "EDIT/RE-SUBMIT" + ? t.translate("WORKS_FORWARD") + : t.translate( + "WF_MODAL_SUBMIT_MB_${widget.nextActions!.action!}"), ), - type: widget.type, - ); + onPressed: () { + if (widget.nextActions!.action == + "REJECT" && + comment.text == "") { + Notifiers.getToastMessage( + context, + // AppLocalizations.of(context) + // .translate(i18.login.invalidOTP), - context.read().add( - MeasurementUpdateBlocEvent( - measurement: kkk.measurement!, - tenantId: '', + t.translate( + i18.common.allFieldsMandatory), + 'ERROR', + ); + } else { + List> sorList = [ + value.sor!, + value.nonSor! + ]; + MBDetailResponse kkk = + MBLogic.getMbPayloadUpdate( + data: value.data, + sorList: sorList, workFlow: WorkFlow( action: widget.nextActions!.action, @@ -244,217 +231,230 @@ class _MBTypeConfirmationPageState extends State { documents: supportDocument, ), type: widget.type, - ), - ); - } - }, - ), - ) - , SizedBox( - width: MediaQuery.sizeOf(context).width, - child: DigitOutLineButton( - label: - t.translate(i18.measurementBook.mbCancel), - onPressed: () { - context.router.maybePopTop(); - }, + ); + + context + .read() + .add( + MeasurementUpdateBlocEvent( + measurement: kkk.measurement!, + tenantId: '', + workFlow: WorkFlow( + action: widget + .nextActions!.action, + comment: comment.text, + assignees: + selectedAssignee != null + ? selectedAssignee + ?.uuid != + null + ? [ + selectedAssignee! + .uuid! + ] + : null + : null, + documents: supportDocument, + ), + type: widget.type, + ), + ); + } + }, + ), + ), + SizedBox( + width: MediaQuery.sizeOf(context).width, + child: DigitOutLineButton( + label: t.translate( + i18.measurementBook.mbCancel), + onPressed: () { + context.router.maybePopTop(); + }, + ), + ), + ], ), ), - ], - ), - ), - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - IconButton( - onPressed: () { - context.router.maybePopTop(); - }, - icon: const Icon(Icons.close)), - ], - ), - Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(left: 0.0), - child: Text( - widget.nextActions!.action == "EDIT/RE-SUBMIT" - ? t.translate("WORKS_UPDATE_AND_FORWARD") - : t.translate( - "WF_MB_ACTION_${widget.nextActions!.action}"), - style: DigitTheme.instance.mobileTheme.textTheme - .headlineLarge, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + IconButton( + onPressed: () { + context.router.maybePopTop(); + }, + icon: const Icon(Icons.close)), + ], ), - ), - ], - ), - (widget.nextActions!.action == "EDIT/RE-SUBMIT" || - widget.nextActions!.action == - "VERIFY_AND_FORWARD" || - widget.nextActions!.action == "SUBMIT" || - widget.nextActions!.action == - "SEND_BACK_TO_ORIGINATOR") - ? BlocBuilder( - builder: (context, state) { - return state.maybeMap( - orElse: () => const SizedBox.shrink(), - loaded: (value) { - if (value.hrmsEmployee != null && - value.hrmsEmployee!.isNotEmpty) { - return DigitDropdown( - onChanged: (value) { - setState(() { - selectedAssignee = value!; - }); - }, - value: selectedAssignee, - label: - t.translate("WF_MODAL_APPROVER"), - menuItems: value.hrmsEmployee! - .map((e) => e) - .toList(), - valueMapper: (value) { - if (value.employeeUser != null) { - return t.translate(value - .employeeUser!.name - .toString()); + Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(left: 0.0), + child: Text( + widget.nextActions!.action == + "EDIT/RE-SUBMIT" + ? t.translate( + "WORKS_UPDATE_AND_FORWARD") + : t.translate( + "WF_MB_ACTION_${widget.nextActions!.action}"), + style: DigitTheme.instance.mobileTheme + .textTheme.headlineLarge, + ), + ), + ], + ), + (widget.nextActions!.action == "EDIT/RE-SUBMIT" || + widget.nextActions!.action == + "VERIFY_AND_FORWARD" || + widget.nextActions!.action == "SUBMIT" || + widget.nextActions!.action == + "SEND_BACK_TO_ORIGINATOR") + ? BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) { + if (value.hrmsEmployee != null && + value + .hrmsEmployee!.isNotEmpty) { + return DigitDropdown< + HRMSEmployee>( + onChanged: (value) { + setState(() { + selectedAssignee = value!; + }); + }, + value: selectedAssignee, + label: t.translate( + "WF_MODAL_APPROVER"), + menuItems: value.hrmsEmployee! + .map((e) => e) + .toList(), + valueMapper: (value) { + if (value.employeeUser != + null) { + return t.translate(value + .employeeUser!.name + .toString()); + } else { + return t.translate( + value.code.toString()); + } + }, + ); } else { - return t.translate( - value.code.toString()); + return const SizedBox.shrink(); } }, - ); - } else { - return const SizedBox.shrink(); - } - }, - error: (value) { - return const SizedBox.shrink(); - }, - ); - }, - ) - : const SizedBox.shrink(), - DigitTextField( - label: - "${t.translate("WF_MODAL_COMMENTS")}${widget.nextActions!.action == "REJECT" ? "*" : ""}", - maxLines: 6, - controller: comment, - isRequired: widget.nextActions!.action == "REJECT" - ? true - : false, - ), - widget.nextActions!.action != "EDIT/RE-SUBMIT" && - widget.nextActions!.action != "SUBMIT" - ? SizedBox( - width: MediaQuery.sizeOf(context).width, - height: 300, - child: Column( - children: [ - FilePickerDemo( - callBack: (List? g, - List? l) { - final supportDocumentData = l! - .where((element) => - element.isActive == true) - .toList() - .map( - (e) { - return WorkFlowSupportDocument( - documentType: e.documentType, - documentUid: e.fileStore, - fileName: e - .documentAdditionalDetails - ?.fileName, - fileStoreId: e.fileStore, - tenantId: e.tenantId, - ); + error: (value) { + return const SizedBox.shrink(); }, - ).toList(); - supportDocument.clear(); - supportDocument - .addAll(supportDocumentData); - setState(() {}); - + ); }, - extensions: const [ - 'jpg', - 'png', - 'jpeg', - 'pdf', - 'xls', - 'doc' - ], - moduleName: 'works', - headerType: MediaType.mbConfim, - ), - Container( - padding: const EdgeInsets.all(4), - // color: DigitColors().curiousBlue, + ) + : const SizedBox.shrink(), + DigitTextField( + label: + "${t.translate("WF_MODAL_COMMENTS")}${widget.nextActions!.action == "REJECT" ? "*" : ""}", + maxLines: 6, + controller: comment, + isRequired: + widget.nextActions!.action == "REJECT" + ? true + : false, + ), + widget.nextActions!.action != "EDIT/RE-SUBMIT" && + widget.nextActions!.action != "SUBMIT" + ? SizedBox( + width: MediaQuery.sizeOf(context).width, + height: 306, + child: Column( + children: [ + FilePickerDemo( + callBack: (List? g, + List? l) { + final supportDocumentData = l! + .where((element) => + element.isActive == true) + .toList() + .map( + (e) { + return WorkFlowSupportDocument( + documentType: + e.documentType, + documentUid: e.fileStore, + fileName: e + .documentAdditionalDetails + ?.fileName, + fileStoreId: e.fileStore, + tenantId: e.tenantId, + ); + }, + ).toList(); + supportDocument.clear(); + supportDocument + .addAll(supportDocumentData); + setState(() {}); + }, + extensions: const [ + 'jpg', + 'png', + 'jpeg', + 'pdf', + 'xls', + 'doc' + ], + moduleName: 'works', + headerType: MediaType.mbConfim, + ), + Container( + padding: const EdgeInsets.all(4), + // color: DigitColors().curiousBlue, + child: Text(t.translate( + i18.common.photoInfo)), + ), + ], + ), + ) + : const SizedBox.shrink(), + ], + ), + ); + } else { + return Padding( + padding: const EdgeInsets.all(8.0), + child: ScrollableContent( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + footer: Padding( + padding: + const EdgeInsets.symmetric(horizontal: 8.0), + child: Column( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + SizedBox( + width: MediaQuery.sizeOf(context).width, + child: DigitElevatedButton( child: Text( - t.translate(i18.common.photoInfo)), - ), - ], - ), - ) - : const SizedBox.shrink(), - ], - ), - ); - } else { - return Padding( - padding: const EdgeInsets.all(8.0), - child: ScrollableContent( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.center, - footer: Padding( - padding: const EdgeInsets.symmetric(horizontal: 8.0), - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - - SizedBox( - width: MediaQuery.sizeOf(context).width, - child: DigitElevatedButton( - child: Text( - widget.stateActions!.action == "SUBMIT" - ? t.translate( - i18.measurementBook.mbSubmitLabel) - : t.translate( - "WF_MODAL_SUBMIT_MB_${widget.stateActions!.action}"), - ), - onPressed: () { - List> sorList = [ - value.sor!, - value.nonSor! - ]; - MBDetailResponse kkk = - MBLogic.getMbPayloadUpdate( - data: value.data, - sorList: sorList, - workFlow: WorkFlow( - action: widget.stateActions!.action == - "CREATE" - ? "SUBMIT" - : widget.stateActions!.action, - comment: comment.text, - assignees: selectedAssignee != null - ? selectedAssignee?.uuid != null - ? [selectedAssignee!.uuid!] - : null - : null, - documents: supportDocument, - ), - type: widget.type, - ); - - context.read().add( - MeasurementUpdateBlocEvent( - measurement: kkk.measurement!, - tenantId: '', + widget.stateActions!.action == "SUBMIT" + ? t.translate(i18 + .measurementBook.mbSubmitLabel) + : t.translate( + "WF_MODAL_SUBMIT_MB_${widget.stateActions!.action}"), + ), + onPressed: () { + List> sorList = [ + value.sor!, + value.nonSor! + ]; + MBDetailResponse kkk = + MBLogic.getMbPayloadUpdate( + data: value.data, + sorList: sorList, workFlow: WorkFlow( action: widget .stateActions!.action == @@ -470,166 +470,201 @@ class _MBTypeConfirmationPageState extends State { documents: supportDocument, ), type: widget.type, - ), - ); - // Navigator.of(context) - // .popUntil((route) => route is HomeRoute); - // context.router.push(const HomeRoute()); - }, - ), - ) - , SizedBox( - width: MediaQuery.sizeOf(context).width, - child: DigitOutLineButton( - label: - t.translate(i18.measurementBook.mbCancel), - onPressed: () { - context.router.maybePopTop(); - }, + ); + + context.read().add( + MeasurementUpdateBlocEvent( + measurement: kkk.measurement!, + tenantId: '', + workFlow: WorkFlow( + action: widget.stateActions! + .action == + "CREATE" + ? "SUBMIT" + : widget + .stateActions!.action, + comment: comment.text, + assignees: + selectedAssignee != null + ? selectedAssignee + ?.uuid != + null + ? [ + selectedAssignee! + .uuid! + ] + : null + : null, + documents: supportDocument, + ), + type: widget.type, + ), + ); + // Navigator.of(context) + // .popUntil((route) => route is HomeRoute); + // context.router.push(const HomeRoute()); + }, + ), + ), + SizedBox( + width: MediaQuery.sizeOf(context).width, + child: DigitOutLineButton( + label: t.translate( + i18.measurementBook.mbCancel), + onPressed: () { + context.router.maybePopTop(); + }, + ), + ), + ], ), ), - ], - ), - ), - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - IconButton( - onPressed: () { - context.router.maybePopTop(); - }, - icon: const Icon(Icons.close)), - ], - ), - Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(left: 0.0), - child: Text( - widget.stateActions!.action == "SUBMIT" - ? t.translate( - i18.measurementBook.mbcreateLabel) - : t.translate( - "WF_MB_ACTION_${widget.stateActions!.action}"), - style: DigitTheme.instance.mobileTheme.textTheme - .headlineLarge, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + IconButton( + onPressed: () { + context.router.maybePopTop(); + }, + icon: const Icon(Icons.close)), + ], ), - ), - ], - ), - (widget.stateActions!.action == "SUBMIT") - ? BlocBuilder( - builder: (context, state) { - return state.maybeMap( - orElse: () => const SizedBox.shrink(), - loaded: (value) { - if (value.hrmsEmployee != null && - value.hrmsEmployee!.isNotEmpty) { - return DigitDropdown( - onChanged: (value) { - setState(() { - selectedAssignee = value!; - }); - }, - value: selectedAssignee, - label: - t.translate("WF_MODAL_APPROVER"), - menuItems: value.hrmsEmployee! - .map((e) => e) - .toList(), - valueMapper: (value) { - if (value.employeeUser != null) { - return t.translate(value - .employeeUser!.name - .toString()); + Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(left: 0.0), + child: Text( + widget.stateActions!.action == "SUBMIT" + ? t.translate( + i18.measurementBook.mbcreateLabel) + : t.translate( + "WF_MB_ACTION_${widget.stateActions!.action}"), + style: DigitTheme.instance.mobileTheme + .textTheme.headlineLarge, + ), + ), + ], + ), + (widget.stateActions!.action == "SUBMIT") + ? BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) { + if (value.hrmsEmployee != null && + value + .hrmsEmployee!.isNotEmpty) { + return DigitDropdown< + HRMSEmployee>( + onChanged: (value) { + setState(() { + selectedAssignee = value!; + }); + }, + value: selectedAssignee, + label: t.translate( + "WF_MODAL_APPROVER"), + menuItems: value.hrmsEmployee! + .map((e) => e) + .toList(), + valueMapper: (value) { + if (value.employeeUser != + null) { + return t.translate(value + .employeeUser!.name + .toString()); + } else { + return t.translate( + value.code.toString()); + } + + // return value.toString(); + }, + ); } else { - return t.translate( - value.code.toString()); + return const SizedBox.shrink(); } - - // return value.toString(); }, - ); - } else { - return const SizedBox.shrink(); - } - }, - error: (value) { - return const SizedBox.shrink(); - }, - ); - }, - ) - : const SizedBox.shrink(), - DigitTextField( - label: t.translate("WF_MODAL_COMMENTS"), - maxLines: 6, - controller: comment, - ), - widget.stateActions!.action != null - ? SizedBox( - width: MediaQuery.sizeOf(context).width, - height: 300, - child: Column( - children: [ - FilePickerDemo( - callBack: (List? g, - List? l) { - final supportDocumentData = l! - .where((element) => - element.isActive == true) - .toList() - .map( - (e) { - return WorkFlowSupportDocument( - documentType: e.documentType, - documentUid: e.fileStore, - fileName: e - .documentAdditionalDetails - ?.fileName, - fileStoreId: e.fileStore, - tenantId: e.tenantId, - ); + error: (value) { + return const SizedBox.shrink(); }, - ).toList(); - supportDocument.clear(); - supportDocument - .addAll(supportDocumentData); - setState(() {}); + ); }, - extensions: const [ - 'jpg', - 'png', - 'jpeg', - 'pdf', - 'xls', - 'doc' - ], - moduleName: 'works', - headerType: MediaType.mbConfim, - ), - Container( - padding: const EdgeInsets.all(4), - // color: DigitColors().curiousBlue, - child: Text( - t.translate(i18.common.photoInfo)), - ), - ], - ), - ) - : const SizedBox.shrink(), - ], - ), + ) + : const SizedBox.shrink(), + DigitTextField( + label: t.translate("WF_MODAL_COMMENTS"), + maxLines: 6, + controller: comment, + ), + widget.stateActions!.action != null + ? SizedBox( + width: MediaQuery.sizeOf(context).width, + height: 306, + child: Column( + children: [ + FilePickerDemo( + callBack: (List? g, + List? l) { + final supportDocumentData = l! + .where((element) => + element.isActive == true) + .toList() + .map( + (e) { + return WorkFlowSupportDocument( + documentType: + e.documentType, + documentUid: e.fileStore, + fileName: e + .documentAdditionalDetails + ?.fileName, + fileStoreId: e.fileStore, + tenantId: e.tenantId, + ); + }, + ).toList(); + supportDocument.clear(); + supportDocument + .addAll(supportDocumentData); + setState(() {}); + }, + extensions: const [ + 'jpg', + 'png', + 'jpeg', + 'pdf', + 'xls', + 'doc' + ], + moduleName: 'works', + headerType: MediaType.mbConfim, + ), + Container( + padding: const EdgeInsets.all(4), + // color: DigitColors().curiousBlue, + child: Text(t.translate( + i18.common.photoInfo)), + ), + ], + ), + ) + : const SizedBox.shrink(), + ], + ), + ); + } + }, + error: (value) { + return const SizedBox.shrink(); + }, ); - } - }, - error: (value) { - return const SizedBox.shrink(); - }, - ); + }, + ); + }, ), ), diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index 4413e3fc83..430da0e0b9 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -20,20 +20,20 @@ import '../../blocs/employee/mb/mb_detail_view.dart'; import '../../blocs/muster_rolls/get_business_workflow.dart'; import '../../blocs/muster_rolls/get_muster_workflow.dart'; import '../../blocs/work_orders/search_individual_work.dart'; -import '../../models/employee/mb/filtered_Measures.dart'; +import '../../models/employee/mb/filtered_measures.dart'; import '../../models/file_store/file_store_model.dart'; import '../../models/muster_rolls/business_service_workflow.dart'; import '../../utils/common_methods.dart'; import '../../utils/date_formats.dart'; import '../../utils/employee/mb/mb_logic.dart'; -import '../../widgets/Back.dart'; -import '../../widgets/SideBar.dart'; +import '../../widgets/back.dart'; +import '../../widgets/side_bar.dart'; import '../../widgets/atoms/app_bar_logo.dart'; import '../../widgets/atoms/digit_timeline.dart'; import '../../widgets/drawer_wrapper.dart'; import '../../widgets/mb/float_action_card.dart'; import '../../widgets/mb/multi_image.dart'; -import '../../widgets/mb/workFlowButtonList.dart'; +import '../../widgets/mb/work_flow_button_list.dart'; import '../../widgets/mb/sor_item_add_mb.dart'; import '../../widgets/mb/text_button_underline.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' @@ -133,7 +133,7 @@ class _MBDetailPageState extends State context.read().add( FetchMBWorkFlowEvent( tenantId: GlobalVariables.tenantId!, - mbNumber: widget.mbNumber!), + mbNumber: widget.mbNumber), ); context.read().add( @@ -180,7 +180,7 @@ class _MBDetailPageState extends State tenantId: widget.tenantId!, contractNumber: widget.contractNumber, measurementNumber: - valueLoaded!.measurement!.measurementNumber!, + valueLoaded.measurement!.measurementNumber!, screenType: MBScreen.update, ), ); @@ -235,23 +235,23 @@ class _MBDetailPageState extends State return const SizedBox.shrink(); }, loaded: (value) { - double sorprice = 0.00; + // double sorprice = 0.00; - for (int i = 0; i < value.sor!.length; i++) { - final key = value.sor![i]; - List line = - value.sor![i].filteredMeasurementsMeasure.map( - (e) { - return e.contracts!.first.estimates!.first; - }, - ).toList(); - int consumed = value.sor![i].filteredMeasurementsMeasure - .fold(0, (sum, obj) { - double m = obj!.currentValue!; - return sum + m.toInt(); - }); - sorprice += (line.first.unitRate! * consumed); - } + // for (int i = 0; i < value.sor!.length; i++) { + // final key = value.sor![i]; + // List line = + // value.sor![i].filteredMeasurementsMeasure.map( + // (e) { + // return e.contracts!.first.estimates!.first; + // }, + // ).toList(); + // int consumed = value.sor![i].filteredMeasurementsMeasure + // .fold(0, (sum, obj) { + // double m = obj.currentValue!; + // return sum + m.toInt(); + // }); + // sorprice += (line.first.unitRate! * consumed); + // } if (widget.type == MBScreen.update) { return BlocBuilder( @@ -507,8 +507,7 @@ class _MBDetailPageState extends State widget.mbNumber, widget.type, bk, - (bk != null && - (bk != null && bk.isEmpty)) + ((bk != null && bk.isEmpty)) ? false : true, workorderStatus, @@ -524,8 +523,7 @@ class _MBDetailPageState extends State i18.measurementBook.totalMbAmount), subtext: t.translate( i18.measurementBook.forCurrentEntry), - showAction: (bk != null && - (bk != null && bk.isEmpty)) + showAction: ((bk != null && bk.isEmpty)) ? false : true, ), @@ -541,8 +539,7 @@ class _MBDetailPageState extends State widget.mbNumber, widget.type, bk, - (bk != null && - (bk != null && bk.isEmpty)) + ((bk != null && bk.isEmpty)) ? false : true, workorderStatus, @@ -585,8 +582,7 @@ class _MBDetailPageState extends State widget.mbNumber, widget.type, bk, - (bk != null && - (bk != null && bk.isEmpty)) + ((bk != null && bk.isEmpty)) ? false : true, workorderStatus, @@ -602,8 +598,7 @@ class _MBDetailPageState extends State i18.measurementBook.totalMbAmount), subtext: t.translate( i18.measurementBook.forCurrentEntry), - showAction: (bk != null && - (bk != null && bk.isEmpty)) + showAction: ((bk != null && bk.isEmpty)) ? false : true, ), @@ -1063,12 +1058,12 @@ class _MBDetailPageState extends State .mbDetail, ), ), - // TODO:[text change] + Container( padding: const EdgeInsets .all(4), - // color: DigitColors().curiousBlue, + child: Text( t.translate(i18 .measurementBook @@ -1464,7 +1459,7 @@ class _MBDetailPageState extends State final String preConumed = preSorNonSor == null ? "0.0000" - : preSorNonSor!.fold("0.0000", (sum, obj) { + : preSorNonSor.fold("0.0000", (sum, obj) { double m = obj.contracts!.first.estimates!.first.isDeduction == true ? -(obj.cumulativeValue!) : (obj.cumulativeValue!); @@ -1498,9 +1493,9 @@ class _MBDetailPageState extends State .toStringAsFixed(2), t.translate(i18.measurementBook.approvedQty): noOfQty, - //TODO:[localization] + "${t.translate(i18.measurementBook.preConsumedKey)}\n${t.translate(i18.measurementBook.preConsumedPre)}": - // t.translate(i18.measurementBook.consumedQty): + preSorNonSor == null ? "0.0000" : preConumed }, ), @@ -1568,12 +1563,12 @@ class _MBDetailPageState extends State lineItems: magic, index: index, type: type, - // noOfUnit: line[0].noOfunit, + noOfUnit: noOfQty, cummulativePrevQty: preSorNonSor == null ? 0.0000 - // : preSorNonSor!.first.cumulativeValue, - : preSorNonSor!.fold(0.0000, (sum, obj) { + + : preSorNonSor.fold(0.0000, (sum, obj) { double m = obj .contracts! .first @@ -1615,7 +1610,7 @@ class _MBDetailPageState extends State child: Text( t.translate(i18.measurementBook.mbAmtCurrentEntry), style: Theme.of(context).textTheme.headlineSmall, - textScaleFactor: 0.99, + textScaler:const TextScaler.linear(0.99), ), ), Container( @@ -1735,20 +1730,20 @@ class _MBDetailPageState extends State child: ListTile( title: Text( - // "Total SOR Amount", + t.translate(i18.measurementBook.totalSorAmount), maxLines: 1, style: DigitTheme .instance.mobileTheme.textTheme.headlineMedium, ), subtitle: Text( - // "(for current entry)", + t.translate(i18.measurementBook.forCurrentEntry), style: DigitTheme.instance.mobileTheme.textTheme.bodySmall, ), trailing: Text( - totalSorAmount!.toDouble().toStringAsFixed(2), + totalSorAmount.toDouble().toStringAsFixed(2), style: DigitTheme .instance.mobileTheme.textTheme.headlineMedium, ), @@ -1768,19 +1763,19 @@ class _MBDetailPageState extends State padding: const EdgeInsets.only(bottom: 8.0), child: ListTile( title: Text( - // "Total Non SOR Amount", + t.translate(i18.measurementBook.totalNonSorAmount), style: DigitTheme .instance.mobileTheme.textTheme.headlineMedium, ), subtitle: Text( - // "(for current entry)", + t.translate(i18.measurementBook.forCurrentEntry), style: DigitTheme.instance.mobileTheme.textTheme.bodySmall, ), trailing: Text( - totalNonSorAmount!.toDouble().toStringAsFixed(2), + totalNonSorAmount.toDouble().toStringAsFixed(2), style: DigitTheme .instance.mobileTheme.textTheme.headlineMedium, ), @@ -1831,7 +1826,7 @@ class _MBDetailPageState extends State mainAxisAlignment: MainAxisAlignment.end, children: [ Text( - mbAmount!.roundToDouble().toStringAsFixed(2), + mbAmount.roundToDouble().toStringAsFixed(2), style: DigitTheme.instance.mobileTheme.textTheme .headlineMedium, ), diff --git a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart index 4bd1011018..bf832df00f 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart @@ -7,7 +7,7 @@ import 'package:works_shg_app/blocs/employee/mb/project_type.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; import 'package:works_shg_app/blocs/localization/localization.dart'; import 'package:works_shg_app/models/employee/mb/mb_inbox_response.dart' - as statusMap; + as status_map; import 'package:works_shg_app/models/employee/mb/mb_project_type.dart'; import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/Toast/toaster.dart'; @@ -17,7 +17,7 @@ import 'package:works_shg_app/widgets/atoms/radio_button_list.dart'; import '../../blocs/wage_seeker_registration/wage_seeker_location_bloc.dart'; import '../../utils/common_methods.dart'; -import '../../widgets/SideBar.dart'; +import '../../widgets/side_bar.dart'; import '../../widgets/atoms/app_bar_logo.dart'; import '../../widgets/drawer_wrapper.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' @@ -33,7 +33,7 @@ class MBFilterPage extends StatefulWidget { class _MBFilterPageState extends State { List ward = []; // Initialize ward list - List workflow = []; // Initialize workflow list + List workflow = []; // Initialize workflow list TextEditingController mbNumber = TextEditingController(); TextEditingController projectId = TextEditingController(); @@ -91,7 +91,7 @@ class _MBFilterPageState extends State { @override void dispose() { - // TODO: implement dispose + mbNumber.removeListener(mbNumberUpload); projectId.removeListener(projectIdUpload); //projectName.removeListener(projectNameUpload); @@ -654,7 +654,7 @@ class _MBFilterPageState extends State { ) : const SizedBox.shrink(), workShow - ? DigitDropdown( + ? DigitDropdown( onChanged: (value) { setState(() { workflow.add(value!); diff --git a/frontend/works_shg_app/lib/pages/employee/mb_history.dart b/frontend/works_shg_app/lib/pages/employee/mb_history.dart index f8185928cc..6d9e2ecc3c 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_history.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_history.dart @@ -14,14 +14,14 @@ import '../../blocs/localization/app_localization.dart'; import '../../blocs/localization/localization.dart'; import '../../utils/common_methods.dart'; import '../../utils/employee/mb/mb_logic.dart'; -import '../../widgets/Back.dart'; -import '../../widgets/SideBar.dart'; +import '../../widgets/back.dart'; +import '../../widgets/side_bar.dart'; import '../../widgets/atoms/app_bar_logo.dart'; import '../../widgets/drawer_wrapper.dart'; import '../../widgets/mb/float_action_card.dart'; import '../../widgets/mb/mb_detail_card.dart'; import '../../widgets/mb/text_button_underline.dart'; -import '../../widgets/mb/workFlowButtonList.dart'; +import '../../widgets/mb/work_flow_button_list.dart'; import 'mb_inbox.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -385,7 +385,7 @@ class _MBHistoryBookPageState extends State { DigitTheme.instance.mobileTheme.textTheme.bodySmall, ), trailing: Text( - totalNonSorAmount! + totalNonSorAmount .toDouble() .toStringAsFixed(2) .toString(), @@ -438,7 +438,7 @@ class _MBHistoryBookPageState extends State { mainAxisAlignment: MainAxisAlignment.end, children: [ Text( - mbAmount!.roundToDouble().toStringAsFixed(2), + mbAmount.roundToDouble().toStringAsFixed(2), style: DigitTheme.instance.mobileTheme.textTheme .headlineMedium, ), diff --git a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart index 28325e8d2e..a1eeb41b4e 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart @@ -17,8 +17,8 @@ import '../../blocs/employee/mb/measurement_book.dart'; import '../../blocs/localization/app_localization.dart'; import '../../blocs/wage_seeker_registration/wage_seeker_location_bloc.dart'; import '../../utils/common_methods.dart'; -import '../../widgets/Back.dart'; -import '../../widgets/SideBar.dart'; +import '../../widgets/back.dart'; +import '../../widgets/side_bar.dart'; import '../../widgets/mb/mb_detail_card.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -310,7 +310,7 @@ class _MeasurementBookInboxPageState extends State { height: 170, ), ), - mbInboxResponse!.mbInboxResponse.items!.isEmpty + mbInboxResponse.mbInboxResponse.items!.isEmpty ? SliverList( delegate: SliverChildBuilderDelegate( (BuildContext context, int index) { @@ -333,9 +333,9 @@ class _MeasurementBookInboxPageState extends State { // Display items if (index == (mbInboxResponse.isLoading - ? mbInboxResponse.mbInboxResponse! + ? mbInboxResponse.mbInboxResponse .items!.length - : mbInboxResponse.mbInboxResponse! + : mbInboxResponse.mbInboxResponse .items!.length - 1) && mbInboxResponse.isLoading) { diff --git a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart index 3fbfc7785b..ef5abe7da1 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart @@ -14,9 +14,9 @@ import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/common_methods.dart'; import 'package:works_shg_app/utils/date_formats.dart'; import 'package:works_shg_app/utils/models/track_attendance_payload.dart'; -import 'package:works_shg_app/widgets/CircularButton.dart'; -import 'package:works_shg_app/widgets/SideBar.dart'; -import 'package:works_shg_app/widgets/WorkDetailsCard.dart'; +import 'package:works_shg_app/widgets/circular_button.dart'; +import 'package:works_shg_app/widgets/side_bar.dart'; +import 'package:works_shg_app/widgets/work_details_card.dart'; import 'package:works_shg_app/widgets/atoms/app_bar_logo.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -27,7 +27,7 @@ import '../../models/file_store/file_store_model.dart'; import '../../utils/common_widgets.dart'; import '../../utils/constants.dart'; import '../../utils/models.dart'; -import '../../widgets/Back.dart'; +import '../../widgets/back.dart'; import '../../widgets/atoms/table_dropdown.dart'; import '../../widgets/drawer_wrapper.dart'; @@ -51,22 +51,18 @@ class _MBMusterScreenPageState extends State { @override void initState() { - context.read().add(MbSearchMusterRollEvent( musterRollNumner: widget.musterRollNumber, tenantId: widget.tenantId)); context.read().add( FetchMBWorkFlowEvent( - tenantId: widget.tenantId, - mbNumber: widget.musterRollNumber), + tenantId: widget.tenantId, mbNumber: widget.musterRollNumber), ); - - + super.initState(); } @override void dispose() { - newList.clear(); tableData.clear(); timeLineAttributes.clear(); @@ -84,7 +80,8 @@ class _MBMusterScreenPageState extends State { builder: (context, localState) { return Scaffold( appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), + iconTheme: DigitTheme.instance.mobileTheme.iconTheme + .copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -249,7 +246,6 @@ class _MBMusterScreenPageState extends State { ], ), ), -//TODO: next phase SliverToBoxAdapter( child: Column( @@ -262,14 +258,13 @@ class _MBMusterScreenPageState extends State { return state.maybeMap( orElse: SizedBox.shrink, loaded: (value) { - List modifiedData = value .musterWorkFlowModel!.processInstances! .where((element) => element.action != Constants.saveAsDraft) .toList(); - + if (modifiedData.isNotEmpty && (modifiedData.first.nextActions != null && @@ -407,8 +402,8 @@ class _MBMusterScreenPageState extends State { const Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, - ), + // version: Constants.appVersion, + ), ) ])) @@ -417,8 +412,6 @@ class _MBMusterScreenPageState extends State { ); }, loading: (value) { - //TODO - return const Center( child: CircularProgressIndicator.adaptive(), ); @@ -492,7 +485,7 @@ class _MBMusterScreenPageState extends State { apiKey: tableDataModel.skill, hide: false, widget: DropDownDialog( - isDisabled: true , + isDisabled: true, options: tableDataModel.skillCodeList ?? [], label: i18.common.selectSkill, selectedOption: tableDataModel.skill.toString(), diff --git a/frontend/works_shg_app/lib/pages/employee/mb_wrapper.dart b/frontend/works_shg_app/lib/pages/employee/mb_wrapper.dart index da3a6a1cf5..686ce8f3d6 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_wrapper.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_wrapper.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:freezed_annotation/freezed_annotation.dart'; import '../../blocs/employee/mb/measurement_book.dart'; import '../../router/app_router.dart'; diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart index fd499d87d1..4c05cb5b78 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart @@ -2,7 +2,6 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:reactive_forms/reactive_forms.dart'; -import 'package:works_shg_app/blocs/employee/mb/measurement_book.dart'; import 'package:works_shg_app/blocs/employee/work_order/workorder_book.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; import 'package:works_shg_app/blocs/organisation/org_search_bloc.dart'; @@ -13,9 +12,8 @@ import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/common_methods.dart'; import 'package:works_shg_app/utils/employee/support_services.dart'; import 'package:works_shg_app/utils/global_variables.dart'; -import 'package:works_shg_app/widgets/SideBar.dart'; +import 'package:works_shg_app/widgets/side_bar.dart'; import 'package:works_shg_app/widgets/atoms/app_bar_logo.dart'; -import 'package:works_shg_app/widgets/atoms/radio_button_list.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -89,7 +87,7 @@ class _WOFilterPageState extends State { @override void dispose() { - // TODO: implement dispose + woNumber.removeListener(mbNumberUpload); projectId.removeListener(projectIdUpload); projectName.removeListener(projectNameUpload); diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart index 9104abe472..6e1289ed0e 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart @@ -3,13 +3,13 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/employee/mb/mb_logic.dart'; -import 'package:works_shg_app/widgets/Back.dart'; +import 'package:works_shg_app/widgets/back.dart'; import '../../../blocs/localization/app_localization.dart'; import '../../../blocs/localization/localization.dart'; import '../../../utils/common_methods.dart'; import '../../../utils/common_widgets.dart'; -import '../../../widgets/SideBar.dart'; +import '../../../widgets/side_bar.dart'; import '../../../widgets/atoms/app_bar_logo.dart'; import '../../../widgets/drawer_wrapper.dart'; import '../../../widgets/work_order/work_order_card.dart'; diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart index a89647ce38..9e3cfcb987 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart @@ -4,7 +4,6 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_svg/svg.dart'; import 'package:intl/intl.dart'; import 'package:works_shg_app/blocs/employee/mb/mb_check.dart'; -import 'package:works_shg_app/blocs/employee/mb/mb_detail_view.dart'; import 'package:works_shg_app/blocs/localization/localization.dart'; import 'package:works_shg_app/blocs/organisation/org_search_bloc.dart'; import 'package:works_shg_app/blocs/wage_seeker_registration/wage_seeker_location_bloc.dart'; @@ -21,8 +20,8 @@ import '../../../blocs/employee/work_order/workorder_book.dart'; import '../../../blocs/localization/app_localization.dart'; import '../../../utils/common_methods.dart'; import '../../../utils/constants.dart'; -import '../../../widgets/Back.dart'; -import '../../../widgets/SideBar.dart'; +import '../../../widgets/back.dart'; +import '../../../widgets/side_bar.dart'; import '../../../widgets/mb/text_button_underline.dart'; import '../../../widgets/work_order/work_order_card.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' @@ -358,27 +357,12 @@ class _WorkOderInboxPageState extends State { widget1: CommonTextButtonUnderline( label: t.translate(i18.common.viewDetails), onPressed: () { - // context - // .read() - // .add( - // MeasurementDetailBookBlocEvent( - // tenantId: value - // .contracts![index] - // .tenantId!, - // contractNumber: value - // .contracts![index] - // .contractNumber!, - // measurementNumber: "", - // screenType: MBScreen.create, - // ), - // ); - - // TODO:[previous code] + context.router .push(ViewWorkDetailsRoute( contractNumber: value .contracts![index] - ?.contractNumber ?? + .contractNumber ?? "", wfStatus: "ACCEPTED", )); @@ -395,10 +379,7 @@ class _WorkOderInboxPageState extends State { loaded: (value) { if (value.estimateStatus == true && - // TODO:[currently removed the workorder status] - // value.workOrderStatus == - // true && - // + value.existingMB == true) { context.router .push(MBDetailRoute( @@ -411,17 +392,7 @@ class _WorkOderInboxPageState extends State { type: MBScreen.create, )); } else { - // TODO:[currently removed the workorder status] - // if (value.workOrderStatus == - // false) { - // Notifiers.getToastMessage( - // context, - // t.translate(i18.workOrder - // .timeExtensionError), - // 'ERROR'); - // } else - - // end of it + if (value.estimateStatus == false) { Notifiers.getToastMessage( @@ -452,27 +423,7 @@ class _WorkOderInboxPageState extends State { .contracts?[index] .contractNumber ?? ""; - //TODO:[previous ] - // context.router.push(MBDetailRoute( - // contractNumber: contract, - // mbNumber: "", - // tenantId: - // GlobalVariables.tenantId, - // type: MBScreen.create, - // )); - // TODO:[working] - // context - // .read() - // .add( - // MeasurementDetailBookBlocEvent( - // tenantId: value - // .contracts![index] - // .tenantId!, - // contractNumber: contract, - // measurementNumber: "", - // screenType: MBScreen.create, - // ), - // ); + context .read() @@ -503,13 +454,13 @@ class _WorkOderInboxPageState extends State { t.translate(i18.measurementBook.cboName): value .contracts?[index] - ?.additionalDetails + .additionalDetails ?.cboName ?? "", t.translate(i18.measurementBook.cboRole): value .contracts?[index] - ?.additionalDetails + .additionalDetails ?.cboOrgNumber ?? "", t.translate(i18.measurementBook @@ -542,7 +493,7 @@ class _WorkOderInboxPageState extends State { : "NA", t.translate( i18.measurementBook.workValue): - "${NumberFormat('##,##,##,##,###').format(value.contracts?[index]!.additionalDetails!.totalEstimatedAmount!.roundToDouble() ?? 0.00)}.00", + "${NumberFormat('##,##,##,##,###').format(value.contracts?[index].additionalDetails!.totalEstimatedAmount!.roundToDouble() ?? 0.00)}.00", t .translate( i18.common.status): t.translate( @@ -551,8 +502,8 @@ class _WorkOderInboxPageState extends State { ); }, childCount: value.isLoading - ? value!.contracts!.length + 1 - : value!.contracts!.length, + ? value.contracts!.length + 1 + : value.contracts!.length, ), ), ], diff --git a/frontend/works_shg_app/lib/pages/home.dart b/frontend/works_shg_app/lib/pages/home.dart index 22864c1b1f..766ac1d414 100644 --- a/frontend/works_shg_app/lib/pages/home.dart +++ b/frontend/works_shg_app/lib/pages/home.dart @@ -4,13 +4,13 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/models/app_config/app_config_model.dart'; -import 'package:works_shg_app/models/employee/homeconfig/homeConfigModel.dart'; +import 'package:works_shg_app/models/employee/homeconfig/home_config_model.dart'; import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/common_methods.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; import 'package:works_shg_app/utils/notifiers.dart'; -import 'package:works_shg_app/widgets/ButtonLink.dart'; +import 'package:works_shg_app/widgets/button_link.dart'; import 'package:works_shg_app/widgets/atoms/app_bar_logo.dart'; import 'package:works_shg_app/widgets/atoms/empty_image.dart'; @@ -18,12 +18,11 @@ import '../blocs/app_initilization/home_screen_bloc.dart'; import '../blocs/localization/app_localization.dart'; import '../blocs/localization/localization.dart'; import '../blocs/organisation/org_search_bloc.dart'; -import '../models/app_config/app_config_model.dart'; import '../models/organisation/organisation_model.dart'; import '../models/screen_config/home_screen_config.dart'; import '../utils/constants.dart'; import '../utils/global_variables.dart'; -import '../widgets/SideBar.dart'; +import '../widgets/side_bar.dart'; import '../widgets/drawer_wrapper.dart'; import '../widgets/loaders.dart' as shg_loader; @@ -354,7 +353,6 @@ class _HomePage extends State { } Future localeLoad(Languages data) async { - var currentLocale = await GlobalVariables.selectedLocale(); context.read().add( LocalizationEvent.onSpecificLoadLocalization( module: CommonMethods.getLocaleModules(), diff --git a/frontend/works_shg_app/lib/pages/language_selection_page.dart b/frontend/works_shg_app/lib/pages/language_selection_page.dart index d5c64a0035..9158d731d4 100644 --- a/frontend/works_shg_app/lib/pages/language_selection_page.dart +++ b/frontend/works_shg_app/lib/pages/language_selection_page.dart @@ -16,12 +16,11 @@ import '../blocs/app_initilization/app_version_bloc.dart'; import '../blocs/localization/localization.dart'; import '../models/init_mdms/init_mdms_model.dart'; import '../router/app_router.dart'; -import '../utils/common_methods.dart'; import '../widgets/loaders.dart' as shg_app; @RoutePage() class LanguageSelectionPage extends StatefulWidget { - const LanguageSelectionPage({Key? key}) : super(key: key); + const LanguageSelectionPage({super.key}); @override State createState() { @@ -48,7 +47,6 @@ class _LanguageSelectionPage extends State { } Widget getLanguageCard(BuildContext context) { - final theme = Theme.of(context); return BlocBuilder( builder: (context, state) { return state.isInitializationCompleted == false && diff --git a/frontend/works_shg_app/lib/pages/login.dart b/frontend/works_shg_app/lib/pages/login.dart index dd04f77593..fbc02c23d5 100644 --- a/frontend/works_shg_app/lib/pages/login.dart +++ b/frontend/works_shg_app/lib/pages/login.dart @@ -121,7 +121,7 @@ class _LoginPageState extends State AnimatedContainer( height: _tabController.index == 0 ? 120 - : MediaQuery.of(context).size.height * 0.45, + : MediaQuery.of(context).size.height * 0.42, duration: const Duration(milliseconds: 100), child: TabBarView( physics: const NeverScrollableScrollPhysics(), diff --git a/frontend/works_shg_app/lib/pages/org_profile.dart b/frontend/works_shg_app/lib/pages/org_profile.dart index 9cccbfb639..6e6b774f88 100644 --- a/frontend/works_shg_app/lib/pages/org_profile.dart +++ b/frontend/works_shg_app/lib/pages/org_profile.dart @@ -15,9 +15,9 @@ import '../models/wage_seeker/banking_details_model.dart'; import '../utils/common_methods.dart'; import '../utils/constants.dart'; import '../utils/global_variables.dart'; -import '../widgets/Back.dart'; -import '../widgets/SideBar.dart'; -import '../widgets/WorkDetailsCard.dart'; +import '../widgets/back.dart'; +import '../widgets/side_bar.dart'; +import '../widgets/work_details_card.dart'; import '../widgets/atoms/app_bar_logo.dart'; import '../widgets/drawer_wrapper.dart'; import '../widgets/loaders.dart' as shg_loader; diff --git a/frontend/works_shg_app/lib/pages/otp_verification.dart b/frontend/works_shg_app/lib/pages/otp_verification.dart index aaa0a08459..6e57fdb993 100644 --- a/frontend/works_shg_app/lib/pages/otp_verification.dart +++ b/frontend/works_shg_app/lib/pages/otp_verification.dart @@ -14,8 +14,8 @@ import '../data/remote_client.dart'; import '../data/repositories/auth_repository/auth.dart'; import '../services/urls.dart'; import '../utils/notifiers.dart'; -import '../widgets/Back.dart'; -import '../widgets/labelText.dart'; +import '../widgets/back.dart'; +import '../widgets/label_text.dart'; import '../widgets/atoms/app_bar_logo.dart'; import '../widgets/atoms/resend_otp.dart'; import '../widgets/atoms/sub_label.dart'; @@ -23,8 +23,7 @@ import '../widgets/atoms/sub_label.dart'; @RoutePage() class OTPVerificationPage extends StatefulWidget { final String mobileNumber; - const OTPVerificationPage({Key? key, required this.mobileNumber}) - : super(key: key); + const OTPVerificationPage({super.key, required this.mobileNumber}); @override State createState() { diff --git a/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart b/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart index 04ea95ac07..a20ae366d2 100644 --- a/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart +++ b/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart @@ -17,8 +17,8 @@ import '../../utils/common_methods.dart'; import '../../utils/constants.dart'; import '../../utils/date_formats.dart'; import '../../utils/notifiers.dart'; -import '../../widgets/Back.dart'; -import '../../widgets/SideBar.dart'; +import '../../widgets/back.dart'; +import '../../widgets/side_bar.dart'; import '../../widgets/atoms/app_bar_logo.dart'; import '../../widgets/atoms/empty_image.dart'; import '../../widgets/atoms/tabs_button.dart'; diff --git a/frontend/works_shg_app/lib/pages/shg_inbox.dart b/frontend/works_shg_app/lib/pages/shg_inbox.dart index 158906d889..fdb2165ea2 100644 --- a/frontend/works_shg_app/lib/pages/shg_inbox.dart +++ b/frontend/works_shg_app/lib/pages/shg_inbox.dart @@ -8,8 +8,8 @@ import 'package:works_shg_app/blocs/muster_rolls/create_muster.dart'; import 'package:works_shg_app/utils/common_widgets.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; -import 'package:works_shg_app/widgets/Back.dart'; -import 'package:works_shg_app/widgets/WorkDetailsCard.dart'; +import 'package:works_shg_app/widgets/back.dart'; +import 'package:works_shg_app/widgets/work_details_card.dart'; import 'package:works_shg_app/widgets/atoms/custom_info_card.dart'; import 'package:works_shg_app/widgets/atoms/empty_image.dart'; import 'package:works_shg_app/widgets/molecules/digit_table.dart' as shg_app; @@ -40,9 +40,9 @@ import '../utils/date_formats.dart'; import '../utils/models.dart'; import '../utils/models/track_attendance_payload.dart'; import '../utils/notifiers.dart'; -import '../widgets/ButtonLink.dart'; -import '../widgets/CircularButton.dart'; -import '../widgets/SideBar.dart'; +import '../widgets/button_link.dart'; +import '../widgets/circular_button.dart'; +import '../widgets/side_bar.dart'; import '../widgets/atoms/app_bar_logo.dart'; import '../widgets/atoms/digit_timeline.dart'; import '../widgets/atoms/table_dropdown.dart'; @@ -59,8 +59,7 @@ class SHGInboxPage extends StatefulWidget { @PathParam('tenantId') this.tenantId, @PathParam('musterRollNo') this.musterRollNo, @PathParam('sentBackCode') this.sentBackCode, - {Key? key}) - : super(key: key); + {super.key}); @override State createState() { @@ -272,7 +271,7 @@ class _SHGInboxPage extends State { .tenantId .toString()), ); - //TODO: + projectDetails = individualMusterRollModel .musterRoll! @@ -1560,7 +1559,7 @@ class _SHGInboxPage extends State { widget.tenantId)); } } - ; + }); } } @@ -1686,7 +1685,7 @@ class _SHGInboxPage extends State { widget.tenantId)); } } - ; + }); } } diff --git a/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart b/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart index 8bceebb702..df3dc7490b 100644 --- a/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart +++ b/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart @@ -3,7 +3,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:reactive_forms/reactive_forms.dart'; -import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; import 'package:works_shg_app/widgets/atoms/empty_image.dart'; @@ -18,8 +17,8 @@ import '../../utils/common_methods.dart'; import '../../utils/common_widgets.dart'; import '../../utils/date_formats.dart'; import '../../utils/notifiers.dart'; -import '../../widgets/Back.dart'; -import '../../widgets/SideBar.dart'; +import '../../widgets/back.dart'; +import '../../widgets/side_bar.dart'; import '../../widgets/atoms/app_bar_logo.dart'; import '../../widgets/drawer_wrapper.dart'; import '../../widgets/loaders.dart' as shg_loader; diff --git a/frontend/works_shg_app/lib/pages/trackAttendance/track-attendance_inbox.dart b/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart similarity index 97% rename from frontend/works_shg_app/lib/pages/trackAttendance/track-attendance_inbox.dart rename to frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart index ca0d8d74c3..f3fc62e60b 100644 --- a/frontend/works_shg_app/lib/pages/trackAttendance/track-attendance_inbox.dart +++ b/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart @@ -2,10 +2,9 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/router/app_router.dart'; -import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; -import 'package:works_shg_app/widgets/WorkDetailsCard.dart'; +import 'package:works_shg_app/widgets/work_details_card.dart'; import '../../blocs/attendance/search_projects/search_projects.dart'; import '../../blocs/localization/app_localization.dart'; @@ -14,8 +13,8 @@ import '../../models/attendance/attendance_registry_model.dart'; import '../../utils/common_methods.dart'; import '../../utils/date_formats.dart'; import '../../utils/notifiers.dart'; -import '../../widgets/Back.dart'; -import '../../widgets/SideBar.dart'; +import '../../widgets/back.dart'; +import '../../widgets/side_bar.dart'; import '../../widgets/atoms/app_bar_logo.dart'; import '../../widgets/atoms/empty_image.dart'; import '../../widgets/drawer_wrapper.dart'; @@ -23,7 +22,7 @@ import '../../widgets/loaders.dart' as shg_loader; @RoutePage() class TrackAttendanceInboxPage extends StatefulWidget { - const TrackAttendanceInboxPage({Key? key}) : super(key: key); + const TrackAttendanceInboxPage({super.key}); @override State createState() { diff --git a/frontend/works_shg_app/lib/pages/track_attendance.dart b/frontend/works_shg_app/lib/pages/track_attendance.dart index 36d13124f7..d531af8c8a 100644 --- a/frontend/works_shg_app/lib/pages/track_attendance.dart +++ b/frontend/works_shg_app/lib/pages/track_attendance.dart @@ -8,8 +8,8 @@ import 'package:works_shg_app/blocs/muster_rolls/create_muster.dart'; import 'package:works_shg_app/utils/common_methods.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; -import 'package:works_shg_app/widgets/Back.dart'; -import 'package:works_shg_app/widgets/WorkDetailsCard.dart'; +import 'package:works_shg_app/widgets/back.dart'; +import 'package:works_shg_app/widgets/work_details_card.dart'; import 'package:works_shg_app/widgets/atoms/custom_info_card.dart'; import 'package:works_shg_app/widgets/atoms/date_range_picker.dart'; import 'package:works_shg_app/widgets/atoms/empty_image.dart'; @@ -39,13 +39,12 @@ import '../utils/date_formats.dart'; import '../utils/models.dart'; import '../utils/models/track_attendance_payload.dart'; import '../utils/notifiers.dart'; -import '../widgets/ButtonLink.dart'; -import '../widgets/CircularButton.dart'; -import '../widgets/SideBar.dart'; +import '../widgets/button_link.dart'; +import '../widgets/circular_button.dart'; +import '../widgets/side_bar.dart'; import '../widgets/atoms/app_bar_logo.dart'; import '../widgets/atoms/table_dropdown.dart'; import '../widgets/drawer_wrapper.dart'; -import 'package:async/async.dart'; import 'dart:async'; import '../widgets/loaders.dart' as shg_loader; @@ -56,8 +55,7 @@ class TrackAttendancePage extends StatefulWidget { const TrackAttendancePage( @PathParam('id') this.id, @PathParam('tenantId') this.tenantId, - {Key? key}) - : super(key: key); + {super.key}); @override State createState() { @@ -868,7 +866,7 @@ class _TrackAttendancePage extends State { if (debouncer != null && debouncer!.isActive) { debouncer!.cancel(); // Cancel the previous timer if it's active. } - debouncer = Timer(Duration(milliseconds: 1000), () { + debouncer = Timer(const Duration(milliseconds: 1000), () { if (selectedDateRange == null) { Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), 'ERROR'); } else { @@ -1173,7 +1171,7 @@ class _TrackAttendancePage extends State { if (debouncer != null && debouncer!.isActive) { debouncer!.cancel(); // Cancel the previous timer if it's active. } - debouncer = Timer(Duration(milliseconds: 1000), () { + debouncer = Timer(const Duration(milliseconds: 1000), () { if (selectedDateRange == null) { Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), 'ERROR'); } else if (createAttendeePayload.isNotEmpty) { @@ -1837,7 +1835,7 @@ class _TrackAttendancePage extends State { widget.tenantId)); } } - ; + }); } } diff --git a/frontend/works_shg_app/lib/pages/view_muster_rolls.dart b/frontend/works_shg_app/lib/pages/view_muster_rolls.dart index d439f7f998..01a54f05dd 100644 --- a/frontend/works_shg_app/lib/pages/view_muster_rolls.dart +++ b/frontend/works_shg_app/lib/pages/view_muster_rolls.dart @@ -5,7 +5,7 @@ import 'package:works_shg_app/blocs/muster_rolls/search_muster_roll.dart'; import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; -import 'package:works_shg_app/widgets/WorkDetailsCard.dart'; +import 'package:works_shg_app/widgets/work_details_card.dart'; import 'package:works_shg_app/widgets/atoms/empty_image.dart'; import '../blocs/localization/app_localization.dart'; @@ -15,8 +15,8 @@ import '../models/muster_rolls/muster_roll_model.dart'; import '../utils/common_methods.dart'; import '../utils/constants.dart'; import '../utils/date_formats.dart'; -import '../widgets/Back.dart'; -import '../widgets/SideBar.dart'; +import '../widgets/back.dart'; +import '../widgets/side_bar.dart'; import '../widgets/atoms/app_bar_logo.dart'; import '../widgets/drawer_wrapper.dart'; import '../widgets/loaders.dart' as shg_loader; diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart index 39103a63b0..e2b8bcdd86 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart @@ -202,7 +202,7 @@ class IndividualDetailsPageState extends State { orElse: () => {const SizedBox.shrink()}, verified: (adharCardResponse) { // Update Aadhaar verification status - isVerified = adharCardResponse!.adharCardResponse!.status == + isVerified = adharCardResponse.adharCardResponse!.status == Constants.verifyAdhar ? true : false; @@ -410,7 +410,7 @@ class IndividualDetailsPageState extends State { children: [ Flexible( flex: 0, - child: value!.status == + child: value.status == Constants.verifyAdhar ? CircleAvatar( radius: 18, @@ -444,7 +444,7 @@ class IndividualDetailsPageState extends State { const EdgeInsets.only( left: 8.0), child: Text( - value!.status == + value.status == Constants .verifyAdhar ? t.translate(i18 @@ -455,7 +455,7 @@ class IndividualDetailsPageState extends State { .adharVerifyError), style: TextStyle( fontSize: 15, - color: value!.status == + color: value.status == Constants .verifyAdhar ? DigitTheme diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart index e9d97f48a8..6a50c14500 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart @@ -132,7 +132,7 @@ class LocationDetailsState extends State { isRequired: true, formControlName: wardKey, valueMapper: (value) => t.translate( - '${GlobalVariables.organisationListModel?.organisations?.first.tenantId?.toUpperCase().replaceAll('.', '_')}_ADMIN_$value'), + '${GlobalVariables.organisationListModel?.organisations?.first.tenantId.toUpperCase().replaceAll('.', '_')}_ADMIN_$value'), validationMessages: { 'required': (_) => t.translate( i18.wageSeeker.wardRequired, @@ -148,7 +148,7 @@ class LocationDetailsState extends State { menuItems: locality.map((e) => e.toString()).toList(), formControlName: localityKey, valueMapper: (value) => t.translate( - '${GlobalVariables.organisationListModel?.organisations?.first.tenantId?.toUpperCase().replaceAll('.', '_')}_ADMIN_$value'), + '${GlobalVariables.organisationListModel?.organisations?.first.tenantId.toUpperCase().replaceAll('.', '_')}_ADMIN_$value'), isRequired: true, onChanged: (value) {}, validationMessages: { diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart index 60717a4210..40a3b09820 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart @@ -7,12 +7,11 @@ import 'package:works_shg_app/pages/wage_seeker_registration/individual_details. import 'package:works_shg_app/pages/wage_seeker_registration/location_details.dart'; import 'package:works_shg_app/pages/wage_seeker_registration/summary_details.dart'; import 'package:works_shg_app/router/app_router.dart'; -import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; import 'package:works_shg_app/utils/notifiers.dart'; -import 'package:works_shg_app/widgets/Back.dart'; +import 'package:works_shg_app/widgets/back.dart'; import 'package:works_shg_app/widgets/molecules/digit_stepper.dart'; import '../../blocs/app_initilization/app_initilization.dart'; @@ -26,13 +25,13 @@ import '../../models/mdms/location_mdms.dart'; import '../../models/mdms/wage_seeker_mdms.dart'; import '../../utils/common_methods.dart'; import '../../utils/models/file_picker_data.dart'; -import '../../widgets/SideBar.dart'; +import '../../widgets/side_bar.dart'; import '../../widgets/atoms/app_bar_logo.dart'; import '../../widgets/drawer_wrapper.dart'; @RoutePage() class RegisterIndividualPage extends StatefulWidget { - const RegisterIndividualPage({Key? key}) : super(key: key); + const RegisterIndividualPage({super.key}); @override State createState() { diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart index 58d4363762..bf0605900e 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart @@ -271,14 +271,14 @@ class SummaryDetailsPageState extends State { description: locationDetails != null && locationDetails?.ward != null ? t.translate( - '${GlobalVariables.organisationListModel?.organisations?.first.tenantId?.toUpperCase().replaceAll('.', '_')}_ADMIN_${locationDetails!.ward.toString()}') + '${GlobalVariables.organisationListModel?.organisations?.first.tenantId.toUpperCase().replaceAll('.', '_')}_ADMIN_${locationDetails!.ward.toString()}') : t.translate('NA')), getItemWidget(context, title: t.translate(i18.common.locality), description: locationDetails != null && locationDetails?.locality != null ? t.translate( - '${GlobalVariables.organisationListModel?.organisations?.first.tenantId?.toUpperCase().replaceAll('.', '_')}_ADMIN_${locationDetails!.locality.toString()}') + '${GlobalVariables.organisationListModel?.organisations?.first.tenantId.toUpperCase().replaceAll('.', '_')}_ADMIN_${locationDetails!.locality.toString()}') : t.translate('NA')), getItemWidget(context, title: t.translate(i18.common.streetName), @@ -361,16 +361,16 @@ class SummaryDetailsPageState extends State { context.read().add( CreateBankWageSeekerEvent( tenantId: individualListModel - ?.Individual?.tenantId, + ?.individual?.tenantId, accountHolderName: financialDetails?.accountHolderName, accountNo: financialDetails?.accountNumber, accountType: financialDetails?.accountType, ifscCode: financialDetails?.ifscCode, referenceId: - individualListModel?.Individual?.id, + individualListModel?.individual?.id, indId: individualListModel - ?.Individual?.individualId, + ?.individual?.individualId, bankName: '${financialDetails?.bankName}'), ); }, @@ -411,7 +411,7 @@ class SummaryDetailsPageState extends State { if (debouncer != null && debouncer!.isActive) { debouncer!.cancel(); // Cancel the previous timer if it's active. } - debouncer = Timer(Duration(milliseconds: 1000), () { + debouncer = Timer(const Duration(milliseconds: 1000), () { context.read().add( CreateWageSeekerEvent( individualDetails: individualDetails, diff --git a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart index f610c9b730..e040ed7eef 100644 --- a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart +++ b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart @@ -4,15 +4,13 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:intl/intl.dart'; import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/blocs/employee/mb/mb_check.dart'; -import 'package:works_shg_app/blocs/employee/mb/mb_detail_view.dart'; import 'package:works_shg_app/blocs/work_orders/work_order_pdf.dart'; -import 'package:works_shg_app/utils/Toast/toaster.dart'; import 'package:works_shg_app/utils/employee/mb/mb_logic.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; -import 'package:works_shg_app/widgets/ButtonLink.dart'; -import 'package:works_shg_app/widgets/WorkDetailsCard.dart'; +import 'package:works_shg_app/widgets/button_link.dart'; +import 'package:works_shg_app/widgets/work_details_card.dart'; import 'package:works_shg_app/widgets/atoms/empty_image.dart'; import '../../blocs/localization/app_localization.dart'; @@ -30,8 +28,8 @@ import '../../utils/common_widgets.dart'; import '../../utils/constants.dart'; import '../../utils/date_formats.dart'; import '../../utils/notifiers.dart'; -import '../../widgets/Back.dart'; -import '../../widgets/SideBar.dart'; +import '../../widgets/back.dart'; +import '../../widgets/side_bar.dart'; import '../../widgets/atoms/app_bar_logo.dart'; import '../../widgets/atoms/attachments.dart'; import '../../widgets/drawer_wrapper.dart'; @@ -172,15 +170,12 @@ class _ViewWorkDetailsPage extends State { i18.workOrder.existingMBCreateError), 'ERROR'); } - // Notifiers.getToastMessage( - // context, - // "MB can not be created as the $show in progress", - // 'ERROR'); + } }, ); - // TODO: implement listener + }, child: SizedBox( height: 60, @@ -1568,7 +1563,7 @@ class _ViewWorkDetailsPage extends State { const WorkOrderRoute()); } else { Navigator.of(context).pop(); - // context.router.pop(); + } }, ), diff --git a/frontend/works_shg_app/lib/pages/work_order/work_order.dart b/frontend/works_shg_app/lib/pages/work_order/work_order.dart index 8ecb0cbff5..14dcef0a75 100644 --- a/frontend/works_shg_app/lib/pages/work_order/work_order.dart +++ b/frontend/works_shg_app/lib/pages/work_order/work_order.dart @@ -5,7 +5,7 @@ import 'package:intl/intl.dart'; import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; -import 'package:works_shg_app/widgets/WorkDetailsCard.dart'; +import 'package:works_shg_app/widgets/work_details_card.dart'; import 'package:works_shg_app/widgets/atoms/empty_image.dart'; import 'package:works_shg_app/widgets/loaders.dart' as shg_loader; @@ -21,8 +21,8 @@ import '../../utils/common_methods.dart'; import '../../utils/constants.dart'; import '../../utils/date_formats.dart'; import '../../utils/notifiers.dart'; -import '../../widgets/Back.dart'; -import '../../widgets/SideBar.dart'; +import '../../widgets/back.dart'; +import '../../widgets/side_bar.dart'; import '../../widgets/atoms/app_bar_logo.dart'; import '../../widgets/atoms/tabs_button.dart'; import '../../widgets/drawer_wrapper.dart'; diff --git a/frontend/works_shg_app/lib/router/app_router.dart b/frontend/works_shg_app/lib/router/app_router.dart index cb0310b052..35fe6350f2 100644 --- a/frontend/works_shg_app/lib/router/app_router.dart +++ b/frontend/works_shg_app/lib/router/app_router.dart @@ -26,7 +26,7 @@ import '../pages/login.dart'; import '../pages/otp_verification.dart'; import '../pages/service_requests/service_requests.dart'; import '../pages/shg_inbox.dart'; -import '../pages/trackAttendance/track-attendance_inbox.dart'; +import '../pages/trackAttendance/track_attendance_inbox.dart'; import '../pages/track_attendance.dart'; import '../pages/unauthenticated.dart'; import '../pages/view_muster_rolls.dart'; diff --git a/frontend/works_shg_app/lib/utils/Toast/toaster.dart b/frontend/works_shg_app/lib/utils/Toast/toaster.dart index cf1f7890c1..9d13d63340 100644 --- a/frontend/works_shg_app/lib/utils/Toast/toaster.dart +++ b/frontend/works_shg_app/lib/utils/Toast/toaster.dart @@ -14,7 +14,7 @@ class ToastUtils { if (toastTimer == null || toastTimer!.isActive == false) { _overlayEntry = createOverlayEntry(context, message, type); - Overlay.of(context)!.insert(_overlayEntry!); + Overlay.of(context).insert(_overlayEntry!); toastTimer = Timer(const Duration(seconds: 20), () { if (_overlayEntry != null) { _overlayEntry!.remove(); diff --git a/frontend/works_shg_app/lib/utils/common_methods.dart b/frontend/works_shg_app/lib/utils/common_methods.dart index d4203c95db..1cdc681924 100644 --- a/frontend/works_shg_app/lib/utils/common_methods.dart +++ b/frontend/works_shg_app/lib/utils/common_methods.dart @@ -40,7 +40,7 @@ class CommonMethods { await storage.deleteAll(); } packageInfo = await PackageInfo.fromPlatform(); - } catch (e, s) { + } catch (e) { print(e); } } @@ -123,7 +123,7 @@ class CommonMethods { } } } catch (e) { - print('Error'); + print(e); } } diff --git a/frontend/works_shg_app/lib/utils/employee/mb/mb_logic.dart b/frontend/works_shg_app/lib/utils/employee/mb/mb_logic.dart index 0f3e0c7305..7eb597e542 100644 --- a/frontend/works_shg_app/lib/utils/employee/mb/mb_logic.dart +++ b/frontend/works_shg_app/lib/utils/employee/mb/mb_logic.dart @@ -2,9 +2,7 @@ import 'package:collection/collection.dart'; import 'package:works_shg_app/models/muster_rolls/muster_workflow_model.dart'; -import 'dart:async'; -import 'dart:convert'; -import '../../../models/employee/mb/filtered_Measures.dart'; +import '../../../models/employee/mb/filtered_measures.dart'; import '../../../models/employee/mb/mb_detail_response.dart'; import '../../../models/employee/mb/mb_inbox_response.dart'; @@ -15,22 +13,24 @@ class MBLogic { static List formContract( {required MBDetailResponse mbDetailResponse}) { - List s = - mbDetailResponse.contract!.lineItems!.map((e) { - FilteredMeasurementsContract filteredMeasurementsContract = - FilteredMeasurementsContract( - contractAdditionalDetails: - mbDetailResponse.contract?.additionalDetails, - estimateId: e.estimateId, - estimateLineItemId: e.estimateLineItemId, - contractLineItemRef: e.contractLineItemRef, - unitRate: e.unitRate, - status: e.status, - estimates: getEstimate(e.estimateLineItemId!, mbDetailResponse)); - - return filteredMeasurementsContract; - }).toList(); + //TODO:[temporay commented for testing flutter upgrade] + // List s = + // mbDetailResponse.contract!.lineItems!.map((e) { + // FilteredMeasurementsContract filteredMeasurementsContract = + // FilteredMeasurementsContract( + // contractAdditionalDetails: + // mbDetailResponse.contract?.additionalDetails, + // estimateId: e.estimateId, + // estimateLineItemId: e.estimateLineItemId, + // contractLineItemRef: e.contractLineItemRef, + // unitRate: e.unitRate, + // status: e.status, + // estimates: getEstimate(e.estimateLineItemId!, mbDetailResponse)); + + // return filteredMeasurementsContract; + // }).toList(); +// end FilteredMeasurements sata = FilteredMeasurements( totalAmount: 0.0, totalNorSorAmount: 0.0, @@ -38,11 +38,11 @@ class MBLogic { musterRollNumber: null, mbNumber: null, wfStatus: null, - tenantId: mbDetailResponse!.contract!.tenantId, + tenantId: mbDetailResponse.contract!.tenantId, endDate: mbDetailResponse.period?.endDate ?? 0, startDate: mbDetailResponse.period?.startDate ?? 0, entryDate: DateTime.now().millisecondsSinceEpoch, - referenceId: mbDetailResponse!.contract!.contractNumber, + referenceId: mbDetailResponse.contract!.contractNumber, id: null, physicalRefNumber: null, measures: mbDetailResponse.contract!.lineItems!.mapIndexed((index, e) { @@ -57,7 +57,7 @@ class MBLogic { cumulativeValue: 0.0, currentValue: 0.0, tenantId: - mbDetailResponse!.contract!.lineItems!.first.tenantId!, + mbDetailResponse.contract!.lineItems!.first.tenantId!, mbAmount: 0.0, targetId: e.contractLineItemRef, isActive: null, @@ -253,7 +253,7 @@ class MBLogic { return filteredMeasurementsContract; } }).toList(); - return alldata!.whereNotNull().toList() ?? []; + return alldata?.whereNotNull().toList() ?? []; } // estimate @@ -296,7 +296,7 @@ class MBLogic { } }).toList(); - return alldata!.whereNotNull().toList() ?? []; + return alldata?.whereNotNull().toList() ?? []; } static List>> getSors(List s) { @@ -508,12 +508,7 @@ class MBLogic { 'description': measure.description, 'comments': measure.comments, 'targetId': measure.targetId, - //TODO:[if the numItems is o.o then breath and height and length should be 0.0 and if numItems morethan 0.0 then length,breath and height should be 1] - // start of old code clean working - // 'breadth': measure.breadth, - // 'length': measure.length, - // 'height':measure.height, - // end of old code clean working + 'breadth': (measure.numItems == 0.0 || measure.numItems! < 0.0) ? 0.0 : 1.0, 'length': @@ -794,7 +789,7 @@ class MBLogic { }) .where((element) => element != null) .toList() - ?.cast>(); + .cast>(); if (data == null || data.isEmpty) { return []; diff --git a/frontend/works_shg_app/lib/widgets/atoms/digit_indicator.dart b/frontend/works_shg_app/lib/widgets/atoms/digit_indicator.dart index d3f580df5b..68c4fcabe9 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/digit_indicator.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/digit_indicator.dart @@ -25,7 +25,7 @@ class DigitIndicator extends StatelessWidget { final bool isTextWidget; /// The border width of this indicator when it is selected. - final activeBorderWidth; + final double activeBorderWidth; /// Radius of this indicator. final double radius; diff --git a/frontend/works_shg_app/lib/widgets/atoms/table_dropdown.dart b/frontend/works_shg_app/lib/widgets/atoms/table_dropdown.dart index 537a42da7a..468d4778b6 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/table_dropdown.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/table_dropdown.dart @@ -63,8 +63,7 @@ class _DropDownDialogState extends State { SizedBox( width: 80, child: Text( - widget.selectedOption != null && - widget.selectedOption.isNotEmpty + widget.selectedOption.isNotEmpty ? AppLocalizations.of(context).translate( 'COMMON_MASTERS_SKILLS_${widget.selectedOption}') : '', diff --git a/frontend/works_shg_app/lib/widgets/Back.dart b/frontend/works_shg_app/lib/widgets/back.dart similarity index 100% rename from frontend/works_shg_app/lib/widgets/Back.dart rename to frontend/works_shg_app/lib/widgets/back.dart diff --git a/frontend/works_shg_app/lib/widgets/ButtonLink.dart b/frontend/works_shg_app/lib/widgets/button_link.dart similarity index 100% rename from frontend/works_shg_app/lib/widgets/ButtonLink.dart rename to frontend/works_shg_app/lib/widgets/button_link.dart diff --git a/frontend/works_shg_app/lib/widgets/CircularButton.dart b/frontend/works_shg_app/lib/widgets/circular_button.dart similarity index 100% rename from frontend/works_shg_app/lib/widgets/CircularButton.dart rename to frontend/works_shg_app/lib/widgets/circular_button.dart diff --git a/frontend/works_shg_app/lib/widgets/FormWrapper.dart b/frontend/works_shg_app/lib/widgets/form_wrapper.dart similarity index 100% rename from frontend/works_shg_app/lib/widgets/FormWrapper.dart rename to frontend/works_shg_app/lib/widgets/form_wrapper.dart diff --git a/frontend/works_shg_app/lib/widgets/labelText.dart b/frontend/works_shg_app/lib/widgets/label_text.dart similarity index 100% rename from frontend/works_shg_app/lib/widgets/labelText.dart rename to frontend/works_shg_app/lib/widgets/label_text.dart diff --git a/frontend/works_shg_app/lib/widgets/mb/multi_image.dart b/frontend/works_shg_app/lib/widgets/mb/multi_image.dart index 71c2cdf5cb..bb9b14accf 100644 --- a/frontend/works_shg_app/lib/widgets/mb/multi_image.dart +++ b/frontend/works_shg_app/lib/widgets/mb/multi_image.dart @@ -14,7 +14,6 @@ import 'package:works_shg_app/blocs/employee/mb/mb_detail_view.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; import 'package:works_shg_app/models/muster_rolls/muster_workflow_model.dart'; import 'package:works_shg_app/utils/common_methods.dart'; -import 'package:works_shg_app/utils/employee/mb/mb_logic.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -33,20 +32,19 @@ class FilePickerDemo extends StatefulWidget { final List? fromServerFile; const FilePickerDemo( - {Key? key, + {super.key, required this.callBack, this.moduleName, this.extensions, this.contextKey, required this.headerType, - this.fromServerFile}) - : super(key: key); + this.fromServerFile}); @override FilePickerDemoState createState() => FilePickerDemoState(); } class FilePickerDemoState extends State { - List _selectedFiles = []; + final List _selectedFiles = []; final List _fileStoreList = []; String? _extension; final bool _multiPick = true; @@ -102,12 +100,13 @@ class FilePickerDemoState extends State { context, i18.common.accountType, 'ERROR'); return; } + } if (_multiPick) { if ((_selectedFiles .where((element) => element.isActive == true) - .length! + + .length + paths.length) > 5) { Notifiers.getToastMessage( @@ -136,9 +135,9 @@ class FilePickerDemoState extends State { } } } on PlatformException catch (e) { - print("Unsupported operation" + e.toString()); + } catch (ex) { - print(ex); + } if (!mounted) return; setState(() {}); @@ -156,8 +155,7 @@ class FilePickerDemoState extends State { fileUploading = FileUploadStatus.COMPLETED; }); _fileStoreList.addAll(response); - // if (_selectedFiles.isNotEmpty) { -//Listss=[]; + ss.clear(); for (int i = 0; i < _fileStoreList.length; i++) { ss.add(WorkflowDocument( @@ -191,7 +189,7 @@ class FilePickerDemoState extends State { } widget.callBack(_fileStoreList, _selectedFiles); - // } + } catch (e) { setState(() { fileUploading = FileUploadStatus.NOT_ACTIVE; @@ -200,25 +198,10 @@ class FilePickerDemoState extends State { } } - void _clearCachedFiles() { - FilePicker.platform.clearTemporaryFiles().then((result) { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - backgroundColor: result! ? Colors.green : Colors.red, - content: Text((result - ? '${AppLocalizations.of(context).translate(i18.common.reEnterAccountNo)}' - : '${AppLocalizations.of(context).translate(i18.common.attachments)}')), - ), - ); - }); - } - void _selectFolder() { - FilePicker.platform.getDirectoryPath().then((value) {}); - } _getConatiner(constraints, context, List filteredDocument) { - //final ListfilteredDocument=_selectedFiles.where((element) => element.isActive==true).toList(); + return [ Container( width: constraints.maxWidth > 760 @@ -273,8 +256,7 @@ class FilePickerDemoState extends State { widget.headerType == MediaType.mbDetail ? "${AppLocalizations.of(context).translate(i18.common.chooseFile)}" : "${AppLocalizations.of(context).translate(i18.common.accountNo)}", - //TODO:[level change] - // "Choose File", + style: TextStyle( color: const DigitColors().burningOrange, fontSize: 16), diff --git a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart index 64408516d8..e5bc777a40 100644 --- a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart +++ b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart @@ -1,14 +1,13 @@ import 'package:auto_route/auto_route.dart'; import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/employee/mb/mb_detail_view.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; import 'package:works_shg_app/theme.dart'; import 'package:works_shg_app/widgets/mb/multi_line_items.dart'; -import '../../models/employee/mb/filtered_Measures.dart'; +import '../../models/employee/mb/filtered_measures.dart'; import '../../utils/notifiers.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -74,7 +73,7 @@ class _HorizontalCardListDialogState extends State { listenWhen: (previous, current) => ((previous != current) || (previous == current)), listener: (context, state) { - // TODO: implement listener + state.maybeMap( orElse: () => null, loaded: (value) { @@ -260,7 +259,6 @@ class CardWidget extends StatefulWidget { class _CardWidgetState extends State { @override void initState() { - // TODO: implement initState super.initState(); } @@ -443,7 +441,7 @@ class _CardWidgetState extends State { style: DigitTheme .instance .mobileTheme - .textTheme! + .textTheme .bodyLarge! .copyWith( color: const DigitColors() @@ -542,7 +540,7 @@ class _CardWidgetState extends State { style: DigitTheme .instance .mobileTheme - .textTheme! + .textTheme .bodyLarge! .copyWith( color: const DigitColors() @@ -625,12 +623,12 @@ class _CardWidgetState extends State { .category!, index: index, measurementLineIndex: - data!.measurelineitemNo!, - height: data?.height.toString(), - length: data?.length.toString(), - width: data?.width.toString(), + data.measurelineitemNo!, + height: data.height.toString(), + length: data.length.toString(), + width: data.width.toString(), quantity: - data?.quantity.toString(), + data.quantity.toString(), number: p1.toString(), filteredMeasurementMeasureId: widget .filteredMeasurementsMeasure! @@ -663,13 +661,13 @@ class _CardWidgetState extends State { .category!, index: index, measurementLineIndex: - data!.measurelineitemNo!, - height: data?.height.toString(), + data.measurelineitemNo!, + height: data.height.toString(), length: p1.toString(), - width: data?.width.toString(), + width: data.width.toString(), quantity: - data?.quantity.toString(), - number: data?.number.toString(), + data.quantity.toString(), + number: data.number.toString(), filteredMeasurementMeasureId: widget .filteredMeasurementsMeasure! .id!, @@ -700,13 +698,13 @@ class _CardWidgetState extends State { .category!, index: index, measurementLineIndex: - data!.measurelineitemNo!, - height: data?.height.toString(), - length: data?.length.toString(), + data.measurelineitemNo!, + height: data.height.toString(), + length: data.length.toString(), width: p1.toString(), quantity: - data?.quantity.toString(), - number: data?.number.toString(), + data.quantity.toString(), + number: data.number.toString(), filteredMeasurementMeasureId: widget .filteredMeasurementsMeasure! .id!, @@ -737,12 +735,12 @@ class _CardWidgetState extends State { .category!, index: index, measurementLineIndex: - data!.measurelineitemNo!, - height: data?.height.toString(), - length: data?.length.toString(), - width: data?.width.toString(), + data.measurelineitemNo!, + height: data.height.toString(), + length: data.length.toString(), + width: data.width.toString(), quantity: p1.toString(), - number: data?.number.toString(), + number: data.number.toString(), filteredMeasurementMeasureId: widget .filteredMeasurementsMeasure! .id!, @@ -773,13 +771,13 @@ class _CardWidgetState extends State { .category!, index: index, measurementLineIndex: - data!.measurelineitemNo!, + data.measurelineitemNo!, height: p1.toString(), - length: data?.length.toString(), - width: data?.width.toString(), + length: data.length.toString(), + width: data.width.toString(), quantity: - data?.quantity.toString(), - number: data?.number.toString(), + data.quantity.toString(), + number: data.number.toString(), filteredMeasurementMeasureId: widget .filteredMeasurementsMeasure! .id!, @@ -810,12 +808,12 @@ class _CardWidgetState extends State { .category!, index: index, measurementLineIndex: - data!.measurelineitemNo!, - height: data?.height.toString(), - length: data?.length.toString(), - width: data?.width.toString(), + data.measurelineitemNo!, + height: data.height.toString(), + length: data.length.toString(), + width: data.width.toString(), quantity: - data?.quantity.toString(), + data.quantity.toString(), number: p1.toString(), filteredMeasurementMeasureId: widget .filteredMeasurementsMeasure! @@ -831,27 +829,27 @@ class _CardWidgetState extends State { ? widget .filteredMeasurementsMeasure?.height .toString() - : data?.height.toString(), + : data.height.toString(), width: data == null ? widget .filteredMeasurementsMeasure?.breath .toString() - : data?.width.toString(), + : data.width.toString(), number: data == null ? widget .filteredMeasurementsMeasure?.numItems .toString() - : data?.number.toString(), + : data.number.toString(), quantity: data == null ? widget.filteredMeasurementsMeasure ?.currentValue .toString() - : data?.quantity.toString(), + : data.quantity.toString(), length: data == null ? widget .filteredMeasurementsMeasure?.length .toString() - : data?.length.toString(), + : data.length.toString(), viewMode: widget.viewMode, filteredMeasurementMeasureId: widget.filteredMeasurementsMeasure!.id!, diff --git a/frontend/works_shg_app/lib/widgets/mb/text_field_decimal_match.dart b/frontend/works_shg_app/lib/widgets/mb/text_field_decimal_match.dart index 3898af98e3..f229edaa99 100644 --- a/frontend/works_shg_app/lib/widgets/mb/text_field_decimal_match.dart +++ b/frontend/works_shg_app/lib/widgets/mb/text_field_decimal_match.dart @@ -13,7 +13,6 @@ class DecimalTextInputFormatter extends TextInputFormatter { return newValue; } - final int newTextLength = newValue.text.length; final int selectionIndex = newValue.selection.end; String newText = newValue.text; diff --git a/frontend/works_shg_app/lib/widgets/mb/workFlowButtonList.dart b/frontend/works_shg_app/lib/widgets/mb/work_flow_button_list.dart similarity index 94% rename from frontend/works_shg_app/lib/widgets/mb/workFlowButtonList.dart rename to frontend/works_shg_app/lib/widgets/mb/work_flow_button_list.dart index 369e8e845c..b082ee9eb7 100644 --- a/frontend/works_shg_app/lib/widgets/mb/workFlowButtonList.dart +++ b/frontend/works_shg_app/lib/widgets/mb/work_flow_button_list.dart @@ -4,7 +4,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/employee/mb/mb_crud.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; -import 'package:works_shg_app/blocs/muster_rolls/get_muster_workflow.dart'; import 'package:works_shg_app/models/employee/mb/mb_detail_response.dart'; import 'package:works_shg_app/models/muster_rolls/business_service_workflow.dart'; import 'package:works_shg_app/utils/global_variables.dart'; @@ -14,8 +13,6 @@ import '../../blocs/employee/emp_hrms/emp_hrms.dart'; import '../../blocs/employee/mb/mb_detail_view.dart'; import '../../models/muster_rolls/muster_workflow_model.dart'; import '../../router/app_router.dart'; -import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' - as i18; import '../../utils/employee/mb/mb_logic.dart'; @@ -79,8 +76,8 @@ class CommonButtonCard extends StatelessWidget { child: Container( color: Colors.transparent, height: type == MBScreen.update - ? g!.first.nextActions!.length!.toDouble() * 50.0 - : bs!.first.workflowState!.first.actions!.length! + ? g!.first.nextActions!.length.toDouble() * 50.0 + : bs!.first.workflowState!.first.actions!.length .toDouble() * 50.0, width: MediaQuery.sizeOf(context).width, @@ -97,9 +94,11 @@ class CommonButtonCard extends StatelessWidget { "WF_MB_ACTION_${g!.first.nextActions![index].action!}"), // label: g!.first.nextActions![index].action! ?? "", onPressed: () { - final data = g - ?.first.nextActions![index].roles - ?.join(','); + // TODO:[temp] + // final data = g + // ?.first.nextActions![index].roles + // ?.join(','); + //end if (g!.first.nextActions![index].action == "EDIT/RE-SUBMIT" && value.viewStatus) { @@ -108,17 +107,12 @@ class CommonButtonCard extends StatelessWidget { updateView: !value.viewStatus, ), ); - // Navigator.of( - // context, - // rootNavigator: false, - // ).popUntil( - // (route) => route is! PopupRoute, - // ); + Navigator.of(context).pop(); } else { if (g!.first.nextActions![index].action == "SAVE_AS_DRAFT") { - print("object"); + List> sorList = [ value.sor!, value.nonSor! @@ -226,7 +220,7 @@ class CommonButtonCard extends StatelessWidget { if (bs!.first.workflowState!.first .actions![index].action == "SAVE_AS_DRAFT") { - print("object"); + List> sorList = [ value.sor!, value.nonSor! diff --git a/frontend/works_shg_app/lib/widgets/molecules/desktop_view.dart b/frontend/works_shg_app/lib/widgets/molecules/desktop_view.dart index c416a0b122..fda5a4b29e 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/desktop_view.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/desktop_view.dart @@ -1,6 +1,5 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; -import 'package:works_shg_app/utils/constants.dart'; import '../atoms/background_container.dart'; diff --git a/frontend/works_shg_app/lib/widgets/molecules/digit_table.dart b/frontend/works_shg_app/lib/widgets/molecules/digit_table.dart index 84405e24c3..338af45659 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/digit_table.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/digit_table.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; import 'package:horizontal_data_table/horizontal_data_table.dart'; import '../../utils/models.dart'; -import '../ScrollParent.dart'; +import '../scroll_parent.dart'; class DigitTable extends StatelessWidget { final List headerList; diff --git a/frontend/works_shg_app/lib/widgets/molecules/file_picker.dart b/frontend/works_shg_app/lib/widgets/molecules/file_picker.dart index 33bcd0b923..5a6f79a759 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/file_picker.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/file_picker.dart @@ -13,7 +13,7 @@ import 'package:works_shg_app/models/file_store/file_store_model.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; import 'package:works_shg_app/utils/models/file_picker_data.dart'; -import 'package:works_shg_app/widgets/ButtonLink.dart'; +import 'package:works_shg_app/widgets/button_link.dart'; import '../../data/repositories/core_repo/core_repository.dart'; import '../../utils/common_methods.dart'; @@ -26,12 +26,11 @@ class SHGFilePicker extends StatefulWidget { final List? extensions; const SHGFilePicker( - {Key? key, + {super.key, required this.callBack, required this.moduleName, this.extensions, - required this.label}) - : super(key: key); + required this.label}); @override SHGFilePickerState createState() => SHGFilePickerState(); } @@ -39,9 +38,7 @@ class SHGFilePicker extends StatefulWidget { class SHGFilePickerState extends State { List _selectedFiles = []; List fileStoreList = []; - String? _directoryPath; String? _extension; - bool _loadingPath = false; bool multiPick = false; FileType pickingType = FileType.custom; TextEditingController controller = TextEditingController(); @@ -54,9 +51,7 @@ class SHGFilePickerState extends State { } void _openFileExplorer(BuildContext context) async { - setState(() => _loadingPath = true); try { - _directoryPath = null; var paths = (await FilePicker.platform.pickFiles( type: pickingType, allowMultiple: multiPick, @@ -111,13 +106,12 @@ class SHGFilePickerState extends State { uploadFiles(files); } } on PlatformException catch (e) { - print("Unsupported operation$e"); + } catch (ex) { - print(ex); + } if (!mounted) return; setState(() { - _loadingPath = false; }); } @@ -351,7 +345,7 @@ class SHGFilePickerState extends State { uploadFiles([file]); return; } else { - return null; + return; } } else { _openFileExplorer(context); diff --git a/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart b/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart index 733dd450b8..919e1b0a0d 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart @@ -2,7 +2,6 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/localization/localization.dart'; -import 'package:works_shg_app/utils/constants.dart'; import '../atoms/background_container.dart'; diff --git a/frontend/works_shg_app/lib/widgets/molecules/success_page.dart b/frontend/works_shg_app/lib/widgets/molecules/success_page.dart index a45ab55ea7..4338b5ab45 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/success_page.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/success_page.dart @@ -1,11 +1,10 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:works_shg_app/router/app_router.dart'; -import 'package:works_shg_app/utils/constants.dart'; import '../../utils/common_methods.dart'; -import '../Back.dart'; -import '../SideBar.dart'; +import '../back.dart'; +import '../side_bar.dart'; import '../atoms/app_bar_logo.dart'; import '../atoms/success_message.dart'; import '../drawer_wrapper.dart'; diff --git a/frontend/works_shg_app/lib/widgets/ScrollParent.dart b/frontend/works_shg_app/lib/widgets/scroll_parent.dart similarity index 100% rename from frontend/works_shg_app/lib/widgets/ScrollParent.dart rename to frontend/works_shg_app/lib/widgets/scroll_parent.dart diff --git a/frontend/works_shg_app/lib/widgets/SideBar.dart b/frontend/works_shg_app/lib/widgets/side_bar.dart similarity index 55% rename from frontend/works_shg_app/lib/widgets/SideBar.dart rename to frontend/works_shg_app/lib/widgets/side_bar.dart index a9bea0d7f0..ffd1c7896c 100644 --- a/frontend/works_shg_app/lib/widgets/SideBar.dart +++ b/frontend/works_shg_app/lib/widgets/side_bar.dart @@ -1,216 +1,3 @@ -// import 'package:digit_components/digit_components.dart'; -// import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; -// import 'package:flutter/material.dart'; -// import 'package:flutter_bloc/flutter_bloc.dart'; -// import 'package:works_shg_app/blocs/auth/auth.dart'; -// import 'package:works_shg_app/icons/shg_icons.dart'; -// import 'package:works_shg_app/router/app_router.dart'; -// import 'package:works_shg_app/utils/constants.dart'; -// import 'package:works_shg_app/utils/global_variables.dart'; -// import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' -// as i18; - -// import '../blocs/app_initilization/app_initilization.dart'; -// import '../blocs/localization/app_localization.dart'; -// import '../blocs/localization/localization.dart'; -// import '../blocs/organisation/org_search_bloc.dart'; -// import '../models/organisation/organisation_model.dart'; - -// class SideBar extends StatefulWidget { -// final String module; -// const SideBar( -// {super.key, -// this.module = -// 'rainmaker-common,rainmaker-attendencemgmt,rainmaker-common-masters'}); -// @override -// State createState() { -// return _SideBar(); -// } -// } - -// class _SideBar extends State { -// List? digitRowCardItems; - -// @override -// void initState() { -// WidgetsBinding.instance.addPostFrameCallback((_) => afterViewBuild()); -// super.initState(); -// } - -// afterViewBuild() async { -// digitRowCardItems = await GlobalVariables.getLanguages(); -// } - -// @override -// dispose() { -// super.dispose(); -// } - -// @override -// Widget build(BuildContext buildContext) { -// final theme = DigitTheme.instance; - -// return BlocBuilder( -// builder: (context, localeState) { -// return localeState.maybeMap( -// orElse: () => const SizedBox.shrink(), -// loaded: (value) { -// return ScrollableContent( -// footer: const PoweredByDigit(), -// children: [ -// BlocBuilder( -// builder: (context, orgState) { -// return orgState.maybeWhen( -// orElse: () => Container(), -// loading: () => SizedBox( -// height: MediaQuery.of(buildContext).size.height / 3, -// child: Loaders.circularLoader(context)), -// loaded: (OrganisationListModel? organisationListModel) { -// return organisationListModel?.organisations != null -// ? Container( -// width: MediaQuery.of(buildContext).size.width, -// height: -// MediaQuery.of(buildContext).size.height / 3, -// color: const DigitColors().quillGray, -// child: Column( -// mainAxisAlignment: MainAxisAlignment.center, -// children: [ -// Text( -// organisationListModel! -// .organisations!.first.name -// .toString(), -// style: theme -// .mobileTheme.textTheme.headlineMedium -// ?.apply( -// color: const DigitColors().black), -// ), -// Text( -// organisationListModel -// .organisations! -// .first -// .contactDetails! -// .first -// .contactMobileNumber -// .toString(), -// style: theme -// .mobileTheme.textTheme.bodyMedium -// ?.apply( -// color: -// const DigitColors().davyGray), -// ), -// ], -// ), -// ) -// : Container(); -// }); -// }), -// Row( -// children: [ -// context.router.currentPath == '/home' -// ? Container( -// alignment: Alignment.centerLeft, -// height: 60, -// width: 9, -// color: const DigitColors().burningOrange, -// ) -// : const SizedBox.shrink(), -// Expanded( -// child: DigitIconTile( -// title: AppLocalizations.of(context) -// .translate(i18.common.home), -// selected: context.router.currentPath == '/home', -// icon: Icons.home, -// onPressed: () => -// context.router.replace(const HomeRoute()), -// ), -// ), -// ], -// ), -// DigitIconTile( -// title: -// AppLocalizations.of(context).translate(i18.common.language), -// icon: SHGIcons.language, -// content: Padding( -// padding: const EdgeInsets.all(16), -// child: BlocBuilder( -// builder: (context, state) { -// return state.digitRowCardItems != null && -// state.isInitializationCompleted -// ? DigitRowCard( -// onChanged: (data) async { -// context.read().add( -// LocalizationEvent -// .onSpecificLoadLocalization( -// locale: data.value, -// module: widget.module, -// tenantId: state -// .initMdmsModel! -// .commonMastersModel! -// .stateInfoListModel! -// .first -// .code -// .toString(), -// ), -// ); -// }, -// rowItems: value.languages -// ?.map((e) => -// DigitRowCardModel.fromJson(e.toJson())) -// .toList() as List, -// width: 80) -// : const Text(''); -// }, -// ), -// ), -// onPressed: () {}, -// ), -// Row( -// children: [ -// context.router.currentPath.contains('orgProfile') -// ? Container( -// alignment: Alignment.centerLeft, -// height: 50, -// width: 9, -// color: const DigitColors().burningOrange, -// ) -// : const SizedBox.shrink(), -// Expanded( -// child: DigitIconTile( -// title: AppLocalizations.of(context) -// .translate(i18.common.orgProfile), -// selected: -// context.router.currentPath.contains('orgProfile'), -// icon: Icons.perm_contact_cal_sharp, -// onPressed: () { -// context.router.push(const ORGProfileRoute()); -// }), -// ), -// ], -// ), -// DigitIconTile( -// title: -// AppLocalizations.of(context).translate(i18.common.logOut), -// icon: Icons.logout, -// onPressed: () { -// context.read().add( -// AppInitializationSetupEvent( -// selectedLang: LanguageEnum.en_IN.name)); -// context.read().add(const AuthLogoutEvent()); -// }), -// ], -// ); -// }, -// loading: (value) { -// return Loaders.circularLoader(context); -// }, -// ); -// }); -// } -// } - -// - import 'package:digit_components/digit_components.dart'; import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; import 'package:flutter/material.dart'; @@ -218,7 +5,6 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/icons/shg_icons.dart'; import 'package:works_shg_app/router/app_router.dart'; -import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; diff --git a/frontend/works_shg_app/lib/widgets/WorkDetailsCard.dart b/frontend/works_shg_app/lib/widgets/work_details_card.dart similarity index 99% rename from frontend/works_shg_app/lib/widgets/WorkDetailsCard.dart rename to frontend/works_shg_app/lib/widgets/work_details_card.dart index e3ccd49430..ecdd9baf6c 100644 --- a/frontend/works_shg_app/lib/widgets/WorkDetailsCard.dart +++ b/frontend/works_shg_app/lib/widgets/work_details_card.dart @@ -6,7 +6,7 @@ import 'package:flutter_svg/svg.dart'; import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; -import 'package:works_shg_app/widgets/ButtonLink.dart'; +import 'package:works_shg_app/widgets/button_link.dart'; import 'package:works_shg_app/widgets/atoms/button_group.dart'; import '../blocs/localization/app_localization.dart'; @@ -93,7 +93,6 @@ class WorkDetailsCard extends StatelessWidget { ); }).toList(), ); - break; case 2: return Column( @@ -116,8 +115,6 @@ class WorkDetailsCard extends StatelessWidget { ); }).toList(), ); - break; - case 3: return Column( children: detailsList.mapIndexed((index, e) { @@ -130,7 +127,6 @@ class WorkDetailsCard extends StatelessWidget { ); }).toList(), ); - break; default: return Column( From 7312edadeb459fadcde1f5b9fed126d9de26f356 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Wed, 7 Aug 2024 14:57:22 +0530 Subject: [PATCH 121/292] removed print --- .../repositories/employee_repository/mb.dart | 4 +- .../homeconfig/home_config_model.dart | 15 +- .../homeconfig/home_config_model.freezed.dart | 120 ++++++-------- .../homeconfig/home_config_model.g.dart | 4 +- .../lib/pages/attendance_register_table.dart | 7 +- frontend/works_shg_app/lib/pages/home.dart | 150 ++++++++---------- .../lib/pages/language_selection_page.dart | 11 +- .../works_shg_app/lib/pages/shg_inbox.dart | 6 +- .../create_time_extension.dart | 7 +- .../pages/work_order/view_work_details.dart | 9 +- .../lib/utils/common_methods.dart | 42 ++--- .../lib/widgets/molecules/success_page.dart | 7 +- 12 files changed, 177 insertions(+), 205 deletions(-) diff --git a/frontend/works_shg_app/lib/data/repositories/employee_repository/mb.dart b/frontend/works_shg_app/lib/data/repositories/employee_repository/mb.dart index 189ce21e07..4c390b44e0 100644 --- a/frontend/works_shg_app/lib/data/repositories/employee_repository/mb.dart +++ b/frontend/works_shg_app/lib/data/repositories/employee_repository/mb.dart @@ -28,7 +28,7 @@ class MBRepository { }), ); - // return res.data; + return MBInboxResponse.fromJson(res.data); } on DioException catch (ex) { // Assuming there will be an errorMessage property in the JSON object @@ -42,7 +42,7 @@ class MBRepository { required String url, }) async { try { - //Dio http=Dio(); + final res = await _client.post( url, queryParameters: queryParameters, diff --git a/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.dart b/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.dart index ac33a2bb14..8d9de86a43 100644 --- a/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.dart +++ b/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.dart @@ -5,7 +5,7 @@ part 'home_config_model.g.dart'; @freezed class HomeConfigModel with _$HomeConfigModel { - factory HomeConfigModel({@JsonKey(name: 'actions') required List homeActions}) = + factory HomeConfigModel({ required List actions}) = _HomeConfigModel; factory HomeConfigModel.fromJson( @@ -16,13 +16,14 @@ class HomeConfigModel with _$HomeConfigModel { @freezed class HomeAction with _$HomeAction { + const factory HomeAction({ - @JsonKey(name: 'id') required int id, - @JsonKey(name: 'displayName') required String displayName, - @JsonKey(name: 'parentModule') required String parentModule, - @JsonKey(name: 'enabled')required bool enabled, - @JsonKey(name: 'tenantId')required String tenantId, - @JsonKey(name: 'url')required String url, + required int id, + required String displayName, + required String parentModule, + required bool enabled, + required String tenantId, + required String url, }) = _HomeAction; diff --git a/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.freezed.dart b/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.freezed.dart index 9a0304c3f5..6287a53143 100644 --- a/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.freezed.dart +++ b/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.freezed.dart @@ -20,8 +20,7 @@ HomeConfigModel _$HomeConfigModelFromJson(Map json) { /// @nodoc mixin _$HomeConfigModel { - @JsonKey(name: 'actions') - List get homeActions => throw _privateConstructorUsedError; + List get actions => throw _privateConstructorUsedError; Map toJson() => throw _privateConstructorUsedError; @JsonKey(ignore: true) @@ -35,7 +34,7 @@ abstract class $HomeConfigModelCopyWith<$Res> { HomeConfigModel value, $Res Function(HomeConfigModel) then) = _$HomeConfigModelCopyWithImpl<$Res, HomeConfigModel>; @useResult - $Res call({@JsonKey(name: 'actions') List homeActions}); + $Res call({List actions}); } /// @nodoc @@ -51,12 +50,12 @@ class _$HomeConfigModelCopyWithImpl<$Res, $Val extends HomeConfigModel> @pragma('vm:prefer-inline') @override $Res call({ - Object? homeActions = null, + Object? actions = null, }) { return _then(_value.copyWith( - homeActions: null == homeActions - ? _value.homeActions - : homeActions // ignore: cast_nullable_to_non_nullable + actions: null == actions + ? _value.actions + : actions // ignore: cast_nullable_to_non_nullable as List, ) as $Val); } @@ -70,7 +69,7 @@ abstract class _$$HomeConfigModelImplCopyWith<$Res> __$$HomeConfigModelImplCopyWithImpl<$Res>; @override @useResult - $Res call({@JsonKey(name: 'actions') List homeActions}); + $Res call({List actions}); } /// @nodoc @@ -84,12 +83,12 @@ class __$$HomeConfigModelImplCopyWithImpl<$Res> @pragma('vm:prefer-inline') @override $Res call({ - Object? homeActions = null, + Object? actions = null, }) { return _then(_$HomeConfigModelImpl( - homeActions: null == homeActions - ? _value._homeActions - : homeActions // ignore: cast_nullable_to_non_nullable + actions: null == actions + ? _value._actions + : actions // ignore: cast_nullable_to_non_nullable as List, )); } @@ -98,25 +97,23 @@ class __$$HomeConfigModelImplCopyWithImpl<$Res> /// @nodoc @JsonSerializable() class _$HomeConfigModelImpl implements _HomeConfigModel { - _$HomeConfigModelImpl( - {@JsonKey(name: 'actions') required final List homeActions}) - : _homeActions = homeActions; + _$HomeConfigModelImpl({required final List actions}) + : _actions = actions; factory _$HomeConfigModelImpl.fromJson(Map json) => _$$HomeConfigModelImplFromJson(json); - final List _homeActions; + final List _actions; @override - @JsonKey(name: 'actions') - List get homeActions { - if (_homeActions is EqualUnmodifiableListView) return _homeActions; + List get actions { + if (_actions is EqualUnmodifiableListView) return _actions; // ignore: implicit_dynamic_type - return EqualUnmodifiableListView(_homeActions); + return EqualUnmodifiableListView(_actions); } @override String toString() { - return 'HomeConfigModel(homeActions: $homeActions)'; + return 'HomeConfigModel(actions: $actions)'; } @override @@ -124,14 +121,13 @@ class _$HomeConfigModelImpl implements _HomeConfigModel { return identical(this, other) || (other.runtimeType == runtimeType && other is _$HomeConfigModelImpl && - const DeepCollectionEquality() - .equals(other._homeActions, _homeActions)); + const DeepCollectionEquality().equals(other._actions, _actions)); } @JsonKey(ignore: true) @override - int get hashCode => Object.hash( - runtimeType, const DeepCollectionEquality().hash(_homeActions)); + int get hashCode => + Object.hash(runtimeType, const DeepCollectionEquality().hash(_actions)); @JsonKey(ignore: true) @override @@ -149,16 +145,14 @@ class _$HomeConfigModelImpl implements _HomeConfigModel { } abstract class _HomeConfigModel implements HomeConfigModel { - factory _HomeConfigModel( - {@JsonKey(name: 'actions') - required final List homeActions}) = _$HomeConfigModelImpl; + factory _HomeConfigModel({required final List actions}) = + _$HomeConfigModelImpl; factory _HomeConfigModel.fromJson(Map json) = _$HomeConfigModelImpl.fromJson; @override - @JsonKey(name: 'actions') - List get homeActions; + List get actions; @override @JsonKey(ignore: true) _$$HomeConfigModelImplCopyWith<_$HomeConfigModelImpl> get copyWith => @@ -171,17 +165,11 @@ HomeAction _$HomeActionFromJson(Map json) { /// @nodoc mixin _$HomeAction { - @JsonKey(name: 'id') int get id => throw _privateConstructorUsedError; - @JsonKey(name: 'displayName') String get displayName => throw _privateConstructorUsedError; - @JsonKey(name: 'parentModule') String get parentModule => throw _privateConstructorUsedError; - @JsonKey(name: 'enabled') bool get enabled => throw _privateConstructorUsedError; - @JsonKey(name: 'tenantId') String get tenantId => throw _privateConstructorUsedError; - @JsonKey(name: 'url') String get url => throw _privateConstructorUsedError; Map toJson() => throw _privateConstructorUsedError; @@ -197,12 +185,12 @@ abstract class $HomeActionCopyWith<$Res> { _$HomeActionCopyWithImpl<$Res, HomeAction>; @useResult $Res call( - {@JsonKey(name: 'id') int id, - @JsonKey(name: 'displayName') String displayName, - @JsonKey(name: 'parentModule') String parentModule, - @JsonKey(name: 'enabled') bool enabled, - @JsonKey(name: 'tenantId') String tenantId, - @JsonKey(name: 'url') String url}); + {int id, + String displayName, + String parentModule, + bool enabled, + String tenantId, + String url}); } /// @nodoc @@ -263,12 +251,12 @@ abstract class _$$HomeActionImplCopyWith<$Res> @override @useResult $Res call( - {@JsonKey(name: 'id') int id, - @JsonKey(name: 'displayName') String displayName, - @JsonKey(name: 'parentModule') String parentModule, - @JsonKey(name: 'enabled') bool enabled, - @JsonKey(name: 'tenantId') String tenantId, - @JsonKey(name: 'url') String url}); + {int id, + String displayName, + String parentModule, + bool enabled, + String tenantId, + String url}); } /// @nodoc @@ -322,33 +310,27 @@ class __$$HomeActionImplCopyWithImpl<$Res> @JsonSerializable() class _$HomeActionImpl implements _HomeAction { const _$HomeActionImpl( - {@JsonKey(name: 'id') required this.id, - @JsonKey(name: 'displayName') required this.displayName, - @JsonKey(name: 'parentModule') required this.parentModule, - @JsonKey(name: 'enabled') required this.enabled, - @JsonKey(name: 'tenantId') required this.tenantId, - @JsonKey(name: 'url') required this.url}); + {required this.id, + required this.displayName, + required this.parentModule, + required this.enabled, + required this.tenantId, + required this.url}); factory _$HomeActionImpl.fromJson(Map json) => _$$HomeActionImplFromJson(json); @override - @JsonKey(name: 'id') final int id; @override - @JsonKey(name: 'displayName') final String displayName; @override - @JsonKey(name: 'parentModule') final String parentModule; @override - @JsonKey(name: 'enabled') final bool enabled; @override - @JsonKey(name: 'tenantId') final String tenantId; @override - @JsonKey(name: 'url') final String url; @override @@ -393,33 +375,27 @@ class _$HomeActionImpl implements _HomeAction { abstract class _HomeAction implements HomeAction { const factory _HomeAction( - {@JsonKey(name: 'id') required final int id, - @JsonKey(name: 'displayName') required final String displayName, - @JsonKey(name: 'parentModule') required final String parentModule, - @JsonKey(name: 'enabled') required final bool enabled, - @JsonKey(name: 'tenantId') required final String tenantId, - @JsonKey(name: 'url') required final String url}) = _$HomeActionImpl; + {required final int id, + required final String displayName, + required final String parentModule, + required final bool enabled, + required final String tenantId, + required final String url}) = _$HomeActionImpl; factory _HomeAction.fromJson(Map json) = _$HomeActionImpl.fromJson; @override - @JsonKey(name: 'id') int get id; @override - @JsonKey(name: 'displayName') String get displayName; @override - @JsonKey(name: 'parentModule') String get parentModule; @override - @JsonKey(name: 'enabled') bool get enabled; @override - @JsonKey(name: 'tenantId') String get tenantId; @override - @JsonKey(name: 'url') String get url; @override @JsonKey(ignore: true) diff --git a/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.g.dart b/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.g.dart index 3938e12c33..bcfc47a808 100644 --- a/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.g.dart +++ b/frontend/works_shg_app/lib/models/employee/homeconfig/home_config_model.g.dart @@ -9,7 +9,7 @@ part of 'home_config_model.dart'; _$HomeConfigModelImpl _$$HomeConfigModelImplFromJson( Map json) => _$HomeConfigModelImpl( - homeActions: (json['actions'] as List) + actions: (json['actions'] as List) .map((e) => HomeAction.fromJson(e as Map)) .toList(), ); @@ -17,7 +17,7 @@ _$HomeConfigModelImpl _$$HomeConfigModelImplFromJson( Map _$$HomeConfigModelImplToJson( _$HomeConfigModelImpl instance) => { - 'actions': instance.homeActions, + 'actions': instance.actions, }; _$HomeActionImpl _$$HomeActionImplFromJson(Map json) => diff --git a/frontend/works_shg_app/lib/pages/attendance_register_table.dart b/frontend/works_shg_app/lib/pages/attendance_register_table.dart index c817964d0a..178ac7dba7 100644 --- a/frontend/works_shg_app/lib/pages/attendance_register_table.dart +++ b/frontend/works_shg_app/lib/pages/attendance_register_table.dart @@ -108,8 +108,9 @@ class _AttendanceRegisterTablePage extends State { @override Widget build(BuildContext context) { var t = AppLocalizations.of(context); - return WillPopScope( - onWillPop: () async { + return PopScope( + canPop: false, + onPopInvoked: (value) async { if (context.router.stack[1].routeData.path.contains('work-order')) { context.router.popUntilRouteWithPath('home'); context.router.push(const WorkOrderRoute()); @@ -117,7 +118,7 @@ class _AttendanceRegisterTablePage extends State { context.router.popUntilRouteWithPath('home'); context.router.push(const TrackAttendanceInboxRoute()); } - return false; + }, child: BlocBuilder( builder: (context, localState) { diff --git a/frontend/works_shg_app/lib/pages/home.dart b/frontend/works_shg_app/lib/pages/home.dart index 766ac1d414..7bb89fd24f 100644 --- a/frontend/works_shg_app/lib/pages/home.dart +++ b/frontend/works_shg_app/lib/pages/home.dart @@ -62,46 +62,48 @@ class _HomePage extends State { Widget build(BuildContext context) { var t = AppLocalizations.of(context); return Scaffold( - - appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), - titleSpacing: 0, - title:GlobalVariables.roleType == RoleType.cbo? BlocBuilder( - builder: (context, state) { - return state.maybeWhen( - orElse: () => Container(), - loaded: (OrganisationListModel? organisationListModel) { - return const AppBarLogo(); - }); - }, - ):const AppBarLogo(), - ), - drawer: DrawerWrapper( - Drawer( - child: GlobalVariables.roleType == RoleType.cbo - ? BlocBuilder( - builder: (context, state) { - return state.maybeMap( - orElse: () { - return const SideBar(); - }, - loaded: (value) { - return SideBar( - module: CommonMethods.getLocaleModules(), - ); - }, - error: (value) { - return const SideBar(); - }, - ); - }, - ) - : SideBar( - module: CommonMethods.getLocaleModules(), - )), - ), - body: BlocBuilder( - builder: (context, localState) { + appBar: AppBar( + iconTheme: DigitTheme.instance.mobileTheme.iconTheme + .copyWith(color: const DigitColors().white), + titleSpacing: 0, + title: GlobalVariables.roleType == RoleType.cbo + ? BlocBuilder( + builder: (context, state) { + return state.maybeWhen( + orElse: () => Container(), + loaded: (OrganisationListModel? organisationListModel) { + return const AppBarLogo(); + }); + }, + ) + : const AppBarLogo(), + ), + drawer: DrawerWrapper( + Drawer( + child: GlobalVariables.roleType == RoleType.cbo + ? BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () { + return const SideBar(); + }, + loaded: (value) { + return SideBar( + module: CommonMethods.getLocaleModules(), + ); + }, + error: (value) { + return const SideBar(); + }, + ); + }, + ) + : SideBar( + module: CommonMethods.getLocaleModules(), + )), + ), + body: BlocBuilder( + builder: (context, localState) { return localState.maybeMap( orElse: () => const SizedBox.shrink(), loaded: (value) { @@ -158,18 +160,12 @@ class _HomePage extends State { loaded: (List? cboHomeScreenConfig, HomeConfigModel? homeConfigModel) { - // role based config - // if (value.roleType == RoleType.cbo) { return cboBasedLayout( cboHomeScreenConfig, t, context, selectedLan, ); - // } else { - // return empBasedLayout( - // context, homeConfigModel!,t); - // } }); }, ); @@ -179,25 +175,26 @@ class _HomePage extends State { return BlocBuilder( builder: (context, config) { return config.maybeWhen( - orElse: () => Container(), - loading: () => - shg_loader.Loaders.circularLoader(context), - loaded: (List? - cboHomeScreenConfig, - HomeConfigModel? homeConfigModel) { - // role based config - if (value.roleType == RoleType.cbo) { - return cboBasedLayout( + orElse: () => Container(), + loading: () => + shg_loader.Loaders.circularLoader(context), + loaded: (List? cboHomeScreenConfig, - t, - context, - selectedLan, - ); - } else { - return empBasedLayout( - context, homeConfigModel!, t); - } - }); + HomeConfigModel? homeConfigModel) { + // role based config + if (value.roleType == RoleType.cbo) { + return cboBasedLayout( + cboHomeScreenConfig, + t, + context, + selectedLan, + ); + } else { + return empBasedLayout( + context, homeConfigModel!, t); + } + }, + ); }, ); } @@ -210,7 +207,9 @@ class _HomePage extends State { ); }, ); - })); + }, + ), + ); } Widget empBasedLayout(BuildContext context, HomeConfigModel homeConfigModel, @@ -221,11 +220,8 @@ class _HomePage extends State { slivers: [ SliverGrid( delegate: SliverChildBuilderDelegate((context, index) { - // return _getItems(context, homeConfigModel).elementAt(index); return cards.elementAt(index); - }, childCount: cards.length - // childCount: _getItems(context, homeConfigModel).length, - ), + }, childCount: cards.length), gridDelegate: const SliverGridDelegateWithMaxCrossAxisExtent( maxCrossAxisExtent: 170, childAspectRatio: 105 / 129, @@ -258,7 +254,6 @@ class _HomePage extends State { context.router.push( const MeasurementBookInboxRoute(), ); - // ScaffoldMessenger.of(context).showSnackBar(const SnackBar(content: Text("Employee"))); }, ), i18.measurementBook.mbWorkOrderLabel: HomeItemCard( @@ -272,14 +267,13 @@ class _HomePage extends State { ) }; - // mukta final homeItemsLabel = [ i18.measurementBook.mbMeasurementNumber, i18.measurementBook.mbWorkOrderLabel, ]; final List filteredLabels = homeItemsLabel - .where((element) => homeConfigModel.homeActions + .where((element) => homeConfigModel.actions .map((e) { if (e.parentModule == "cards") { return e.displayName; @@ -295,7 +289,6 @@ class _HomePage extends State { return widgetList; } -// ScrollableContent cboBasedLayout( List? cboHomeScreenConfig, AppLocalizations t, @@ -306,8 +299,8 @@ class _HomePage extends State { footer: const Padding( padding: EdgeInsets.all(16.0), child: PoweredByDigit( - // version: Constants.appVersion, - ), + // version: Constants.appVersion, + ), ), children: [ DigitCard( @@ -428,13 +421,6 @@ class HomeItemCard extends StatelessWidget { mainAxisSize: MainAxisSize.min, children: [ icon, - // Icon( - // icon, - // color: onPressed == null - // ? theme.disabledColor - // : theme.colorScheme.secondary, - // size: 30, - // ), const SizedBox(height: 20), Text( AppLocalizations.of(context).translate( diff --git a/frontend/works_shg_app/lib/pages/language_selection_page.dart b/frontend/works_shg_app/lib/pages/language_selection_page.dart index 9158d731d4..a31fef440a 100644 --- a/frontend/works_shg_app/lib/pages/language_selection_page.dart +++ b/frontend/works_shg_app/lib/pages/language_selection_page.dart @@ -4,6 +4,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; +import 'package:works_shg_app/utils/common_methods.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -58,11 +59,11 @@ class _LanguageSelectionPage extends State { orElse: () => false, loading: () => shg_app.Loaders.circularLoader(context), loaded: (AppVersionModel? cboAppVersion) { - // CommonMethods().checkVersion( - // context, - // cboAppVersion?.packageName, - // cboAppVersion?.iOSId, - // cboAppVersion?.version); + CommonMethods().checkVersion( + context, + cboAppVersion?.packageName, + cboAppVersion?.iOSId, + cboAppVersion?.version); }, error: (String? error) { return const Center( diff --git a/frontend/works_shg_app/lib/pages/shg_inbox.dart b/frontend/works_shg_app/lib/pages/shg_inbox.dart index fdb2165ea2..d9b713acda 100644 --- a/frontend/works_shg_app/lib/pages/shg_inbox.dart +++ b/frontend/works_shg_app/lib/pages/shg_inbox.dart @@ -150,11 +150,11 @@ class _SHGInboxPage extends State { ? 150.0 : (MediaQuery.of(context).size.width / 7.5); var t = AppLocalizations.of(context); - return WillPopScope( - onWillPop: () async { + return PopScope(canPop: false, + onPopInvoked: (value) async { context.router.popUntilRouteWithPath('home'); context.router.push(const ViewMusterRollsRoute()); - return false; + }, child: BlocBuilder( builder: (context, localState) { diff --git a/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart b/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart index df3dc7490b..58d04bc8c7 100644 --- a/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart +++ b/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart @@ -75,8 +75,9 @@ class _CreateTimeExtensionRequestPage @override Widget build(BuildContext context) { var t = AppLocalizations.of(context); - return WillPopScope( - onWillPop: () async { + return PopScope( + canPop: false, + onPopInvoked: (value) async { if (context.router.currentUrl.contains('isEdit')) { context.router.popUntilRouteWithPath('home'); context.router.push(const MyServiceRequestsRoute()); @@ -84,7 +85,7 @@ class _CreateTimeExtensionRequestPage context.router.popUntilRouteWithPath('home'); context.router.push(const WorkOrderRoute()); } - return false; + }, child: Scaffold( appBar: AppBar( diff --git a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart index e040ed7eef..3d24bd2395 100644 --- a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart +++ b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart @@ -104,16 +104,17 @@ class _ViewWorkDetailsPage extends State { @override Widget build(BuildContext context) { var t = AppLocalizations.of(context); - return WillPopScope( - onWillPop: () async { + return PopScope( + canPop: false, + onPopInvoked: (value) async { if (GlobalVariables.roleType == RoleType.cbo) { context.router.popUntilRouteWithPath('home'); context.router.push(const WorkOrderRoute()); - return false; + } else { Navigator.of(context).pop(); // context.router.pop(); - return false; + } }, child: Scaffold( diff --git a/frontend/works_shg_app/lib/utils/common_methods.dart b/frontend/works_shg_app/lib/utils/common_methods.dart index 1cdc681924..4b364fa7f7 100644 --- a/frontend/works_shg_app/lib/utils/common_methods.dart +++ b/frontend/works_shg_app/lib/utils/common_methods.dart @@ -22,7 +22,7 @@ import 'global_variables.dart'; class CommonMethods { Future deleteLocalStorageKey() async { if (kIsWeb) { - html.window.sessionStorage.remove(GlobalVariables.selectedLocale()); + html.window.sessionStorage.remove( await GlobalVariables.selectedLocale()); } else { await storage.delete(key: GlobalVariables.selectedLocale().toString()); } @@ -55,7 +55,15 @@ class CommonMethods { context: context, barrierDismissible: false, builder: (BuildContext context) { - return WillPopScope( + return PopScope( + onPopInvoked: (val) async { + if (Platform.isAndroid) { + SystemNavigator.pop(); + } else if (Platform.isIOS) { + exit(0); + } + //return true; + },canPop: true, child: AlertDialog( title: const Row( mainAxisAlignment: MainAxisAlignment.start, @@ -75,14 +83,7 @@ class CommonMethods { '${(rootedCheck) ? 'Application can not be run on a rooted device' : 'Please disable developer mode of your device to run the application'} ', ), ), - onWillPop: () async { - if (Platform.isAndroid) { - SystemNavigator.pop(); - } else if (Platform.isIOS) { - exit(0); - } - return true; - }); + ); }); } else if (latestAppVersion != null && !kIsWeb) { if (int.parse(packageInfo!.version.split('.').join("").toString()) < @@ -100,7 +101,16 @@ class CommonMethods { context: context, barrierDismissible: false, builder: (BuildContext context) { - return WillPopScope( + return PopScope( + onPopInvoked: (val) async { + if (Platform.isAndroid) { + SystemNavigator.pop(); + } else if (Platform.isIOS) { + exit(0); + } + //return true; + }, + canPop: true, child: AlertDialog( title: const Text('UPDATE AVAILABLE'), content: Text( @@ -111,14 +121,8 @@ class CommonMethods { child: const Text('Update')) ], ), - onWillPop: () async { - if (Platform.isAndroid) { - SystemNavigator.pop(); - } else if (Platform.isIOS) { - exit(0); - } - return true; - }); + + ); }); } } diff --git a/frontend/works_shg_app/lib/widgets/molecules/success_page.dart b/frontend/works_shg_app/lib/widgets/molecules/success_page.dart index 4338b5ab45..d24f447a37 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/success_page.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/success_page.dart @@ -47,10 +47,11 @@ class SuccessResponsePage extends StatelessWidget { @override Widget build(BuildContext context) { - return WillPopScope( - onWillPop: () async { + return PopScope( + canPop: false, + onPopInvoked: (value) async { context.router.push(const HomeRoute()); - return false; + }, child: Scaffold( bottomNavigationBar: Container( From 7c7b903713c0482e1d5c84b23f44b922358201e1 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 8 Aug 2024 11:11:01 +0530 Subject: [PATCH 122/292] contract login resolved --- .../employee/workOrder/work_order_inbox.dart | 47 +++++++++---------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart index 9e3cfcb987..e40f371159 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart @@ -86,18 +86,7 @@ class _WorkOderInboxPageState extends State { orElse: () => {}, loaded: (value) { if (value.search && value.searchData['contractNumber'] == "") { - // context.read().add( - // WorkOrderInboxSearchRepeatBlocEvent( - // businessService: "Contract", - // limit: 10, - // moduleName: 'contract-module', - // offset: s, - // tenantId: GlobalVariables.tenantId!, - // ), - // ); - return; - } else if(value.search && value.searchData['contractNumber'] != ""){ - context.read().add( + context.read().add( WorkOrderInboxSearchRepeatBlocEvent( businessService: "Contract", limit: 10, @@ -106,8 +95,19 @@ class _WorkOderInboxPageState extends State { tenantId: GlobalVariables.tenantId!, ), ); - } - else { + //return; + } else if (value.search && value.searchData['contractNumber'] != "") { +// context.read().add( +// WorkOrderInboxSearchRepeatBlocEvent( +// businessService: "Contract", +// limit: 10, +// moduleName: 'contract-module', +// offset: s, +// tenantId: GlobalVariables.tenantId!, +// ), +// ); + return; + } else { context.read().add( WorkOrderInboxBlocCreateEvent( businessService: "MB", @@ -181,7 +181,8 @@ class _WorkOderInboxPageState extends State { FloatingActionButtonLocation.centerDocked, backgroundColor: const DigitColors().seaShellGray, appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), + iconTheme: DigitTheme.instance.mobileTheme.iconTheme + .copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -355,9 +356,9 @@ class _WorkOderInboxPageState extends State { return WorkOrderCard( widget1: CommonTextButtonUnderline( - label: t.translate(i18.common.viewDetails), + label: + t.translate(i18.common.viewDetails), onPressed: () { - context.router .push(ViewWorkDetailsRoute( contractNumber: value @@ -379,20 +380,17 @@ class _WorkOderInboxPageState extends State { loaded: (value) { if (value.estimateStatus == true && - value.existingMB == true) { context.router .push(MBDetailRoute( contractNumber: - value.workOrderNumber! - , + value.workOrderNumber!, mbNumber: "", tenantId: GlobalVariables.tenantId, type: MBScreen.create, )); } else { - if (value.estimateStatus == false) { Notifiers.getToastMessage( @@ -423,7 +421,6 @@ class _WorkOderInboxPageState extends State { .contracts?[index] .contractNumber ?? ""; - context .read() @@ -452,10 +449,8 @@ class _WorkOderInboxPageState extends State { ?.projectDesc ?? "", t.translate(i18.measurementBook.cboName): - value - .contracts?[index] - .additionalDetails - ?.cboName ?? + value.contracts?[index] + .additionalDetails?.cboName ?? "", t.translate(i18.measurementBook.cboRole): value From f9f0d89aea659fa99b9278121af86c8b059c64db Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 8 Aug 2024 11:49:39 +0530 Subject: [PATCH 123/292] UCEM-134: Updated the validation when no active rate present --- .../packages/modules/Estimate/src/pageComponents/searchSor.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchSor.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchSor.js index 5290fd3005..55d5fb040a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchSor.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchSor.js @@ -43,6 +43,10 @@ const fetchData = async (sorid, state, setState, setShowToast) => { return validFromInMillis <= currentDateInMillis && currentDateInMillis < validToInMillis; }); + if(Rates && Rates?.length <= 0) + { + setShowToast({show: true, error: true, label:"WORKS_RATE_NOT_FOUND_ERROR"}); + } //if rates is not there then provide the error // state?.forEach((element) => { // if (element?.sorId == sorid) { From 6add9f4da19f43d5fcb95a7daeb030fda45cd10c Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 8 Aug 2024 12:15:37 +0530 Subject: [PATCH 124/292] UCEM-134: Updated the validation when no active rate present --- frontend/micro-ui/web/.babelrc | 12 ++++++++---- frontend/micro-ui/web/webpack.config.js | 8 +++++++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/frontend/micro-ui/web/.babelrc b/frontend/micro-ui/web/.babelrc index 5f90443d15..10bdb64058 100644 --- a/frontend/micro-ui/web/.babelrc +++ b/frontend/micro-ui/web/.babelrc @@ -1,5 +1,9 @@ { - "presets": [ - "@babel/preset-env","@babel/preset-react" - ] - } \ No newline at end of file + "presets": [ + "@babel/preset-env", + "@babel/preset-react" + ], + "plugins": [ + "@babel/plugin-proposal-optional-chaining" + ] +} \ No newline at end of file diff --git a/frontend/micro-ui/web/webpack.config.js b/frontend/micro-ui/web/webpack.config.js index 093a67617e..792d6b15a1 100644 --- a/frontend/micro-ui/web/webpack.config.js +++ b/frontend/micro-ui/web/webpack.config.js @@ -12,7 +12,13 @@ module.exports = { { test: /\.(js)$/, exclude: /node_modules/, - use: ["babel-loader"], + use: { + loader: "babel-loader", + options: { + presets: ["@babel/preset-env", "@babel/preset-react"], + plugins: ["@babel/plugin-proposal-optional-chaining"] + } + } }, ], }, From 82b4a8312656a7bc7824689194e6d7f3471fdff6 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 8 Aug 2024 14:25:20 +0530 Subject: [PATCH 125/292] babel build fix --- frontend/micro-ui/web/.babelrc | 3 ++- frontend/micro-ui/web/webpack.config.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/frontend/micro-ui/web/.babelrc b/frontend/micro-ui/web/.babelrc index 10bdb64058..066903688c 100644 --- a/frontend/micro-ui/web/.babelrc +++ b/frontend/micro-ui/web/.babelrc @@ -4,6 +4,7 @@ "@babel/preset-react" ], "plugins": [ - "@babel/plugin-proposal-optional-chaining" + "@babel/plugin-proposal-optional-chaining", + "@babel/plugin-proposal-nullish-coalescing-operator" ] } \ No newline at end of file diff --git a/frontend/micro-ui/web/webpack.config.js b/frontend/micro-ui/web/webpack.config.js index 792d6b15a1..9da7c1dc39 100644 --- a/frontend/micro-ui/web/webpack.config.js +++ b/frontend/micro-ui/web/webpack.config.js @@ -16,7 +16,7 @@ module.exports = { loader: "babel-loader", options: { presets: ["@babel/preset-env", "@babel/preset-react"], - plugins: ["@babel/plugin-proposal-optional-chaining"] + plugins: ["@babel/plugin-proposal-optional-chaining", "@babel/plugin-proposal-nullish-coalescing-operator"] } } }, From 532bd5ebc920c6330a5797ee427f69425ba9862c Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 13 Aug 2024 10:44:49 +0530 Subject: [PATCH 126/292] component upgrade started --- .../works_shg_app/lib/blocs/auth/auth.dart | 4 +- .../attendance/individual_list_model.dart | 8 +- .../individual_list_model.mapper.dart | 52 +- .../lib/pages/attendance_register_table.dart | 4 +- .../lib/pages/bills/my_bills.dart | 4 +- .../lib/pages/employee/mb_config_warning.dart | 1000 +++++++++-------- .../lib/pages/employee/mb_detail_page.dart | 5 +- .../lib/pages/employee/mb_filter_page.dart | 35 +- .../lib/pages/employee/mb_inbox.dart | 7 +- .../lib/pages/employee/mb_muster_screen.dart | 2 +- .../employee/workOrder/wo_filter_page.dart | 34 +- .../employee/workOrder/work_order_inbox.dart | 3 +- frontend/works_shg_app/lib/pages/home.dart | 2 +- .../lib/pages/language_selection_page.dart | 1 + frontend/works_shg_app/lib/pages/login.dart | 142 +-- .../works_shg_app/lib/pages/org_profile.dart | 2 +- .../lib/pages/otp_verification.dart | 3 +- .../service_requests/service_requests.dart | 4 +- .../works_shg_app/lib/pages/shg_inbox.dart | 4 +- .../create_time_extension.dart | 9 +- .../track_attendance_inbox.dart | 5 +- .../lib/pages/view_muster_rolls.dart | 4 +- .../financial_details.dart | 6 +- .../indi_detail_sub.dart | 6 +- .../individual_details.dart | 4 +- .../location_details.dart | 6 +- .../register_individual.dart | 3 +- .../summary_details.dart | 6 +- .../pages/work_order/view_work_details.dart | 6 +- .../lib/pages/work_order/work_order.dart | 4 +- .../lib/widgets/molecules/desktop_view.dart | 3 +- .../lib/widgets/molecules/mobile_view.dart | 111 +- .../lib/widgets/molecules/success_page.dart | 5 +- .../works_shg_app/lib/widgets/side_bar.dart | 3 +- frontend/works_shg_app/pubspec.yaml | 12 +- 35 files changed, 802 insertions(+), 707 deletions(-) diff --git a/frontend/works_shg_app/lib/blocs/auth/auth.dart b/frontend/works_shg_app/lib/blocs/auth/auth.dart index 573cba9f0a..a7a9edb08f 100644 --- a/frontend/works_shg_app/lib/blocs/auth/auth.dart +++ b/frontend/works_shg_app/lib/blocs/auth/auth.dart @@ -148,7 +148,9 @@ class AuthBloc extends Bloc { await storage.delete(key: e.value); } }); - + appInitializationBloc.add( + AppInitializationSetupEvent(selectedLang: LanguageEnum.en_IN.name)); + GlobalVariables.organisationListModel = null; GlobalVariables.authToken = null; GlobalVariables.tenantId = null; diff --git a/frontend/works_shg_app/lib/models/attendance/individual_list_model.dart b/frontend/works_shg_app/lib/models/attendance/individual_list_model.dart index deec8c161b..34cc5d0988 100644 --- a/frontend/works_shg_app/lib/models/attendance/individual_list_model.dart +++ b/frontend/works_shg_app/lib/models/attendance/individual_list_model.dart @@ -4,14 +4,14 @@ part 'individual_list_model.mapper.dart'; @MappableClass() class IndividualListModel with IndividualListModelMappable { - List? individual; - IndividualListModel({this.individual}); + List? Individual; + IndividualListModel({this.Individual}); } @MappableClass() class SingleIndividualModel with SingleIndividualModelMappable { - IndividualModel? individual; - SingleIndividualModel({this.individual}); + IndividualModel? Individual; + SingleIndividualModel({this.Individual}); } @MappableClass() diff --git a/frontend/works_shg_app/lib/models/attendance/individual_list_model.mapper.dart b/frontend/works_shg_app/lib/models/attendance/individual_list_model.mapper.dart index 09fe78a7a6..b2b7b55cc3 100644 --- a/frontend/works_shg_app/lib/models/attendance/individual_list_model.mapper.dart +++ b/frontend/works_shg_app/lib/models/attendance/individual_list_model.mapper.dart @@ -21,18 +21,18 @@ class IndividualListModelMapper extends ClassMapperBase { @override final String id = 'IndividualListModel'; - static List? _$individual(IndividualListModel v) => - v.individual; - static const Field> _f$individual = - Field('individual', _$individual, opt: true); + static List? _$Individual(IndividualListModel v) => + v.Individual; + static const Field> _f$Individual = + Field('Individual', _$Individual, opt: true); @override final MappableFields fields = const { - #individual: _f$individual, + #Individual: _f$Individual, }; static IndividualListModel _instantiate(DecodingData data) { - return IndividualListModel(individual: data.dec(_f$individual)); + return IndividualListModel(Individual: data.dec(_f$Individual)); } @override @@ -92,8 +92,8 @@ abstract class IndividualListModelCopyWith<$R, $In extends IndividualListModel, $Out> implements ClassCopyWith<$R, $In, $Out> { ListCopyWith<$R, IndividualModel, IndividualModelCopyWith<$R, IndividualModel, IndividualModel>>? - get individual; - $R call({List? individual}); + get Individual; + $R call({List? Individual}); IndividualListModelCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( Then<$Out2, $R2> t); } @@ -109,16 +109,16 @@ class _IndividualListModelCopyWithImpl<$R, $Out> @override ListCopyWith<$R, IndividualModel, IndividualModelCopyWith<$R, IndividualModel, IndividualModel>>? - get individual => $value.individual != null - ? ListCopyWith($value.individual!, (v, t) => v.copyWith.$chain(t), - (v) => call(individual: v)) + get Individual => $value.Individual != null + ? ListCopyWith($value.Individual!, (v, t) => v.copyWith.$chain(t), + (v) => call(Individual: v)) : null; @override - $R call({Object? individual = $none}) => $apply( - FieldCopyWithData({if (individual != $none) #individual: individual})); + $R call({Object? Individual = $none}) => $apply( + FieldCopyWithData({if (Individual != $none) #Individual: Individual})); @override IndividualListModel $make(CopyWithData data) => IndividualListModel( - individual: data.get(#individual, or: $value.individual)); + Individual: data.get(#Individual, or: $value.Individual)); @override IndividualListModelCopyWith<$R2, IndividualListModel, $Out2> @@ -2080,17 +2080,17 @@ class SingleIndividualModelMapper @override final String id = 'SingleIndividualModel'; - static IndividualModel? _$individual(SingleIndividualModel v) => v.individual; - static const Field _f$individual = - Field('individual', _$individual, opt: true); + static IndividualModel? _$Individual(SingleIndividualModel v) => v.Individual; + static const Field _f$Individual = + Field('Individual', _$Individual, opt: true); @override final MappableFields fields = const { - #individual: _f$individual, + #Individual: _f$Individual, }; static SingleIndividualModel _instantiate(DecodingData data) { - return SingleIndividualModel(individual: data.dec(_f$individual)); + return SingleIndividualModel(Individual: data.dec(_f$Individual)); } @override @@ -2150,8 +2150,8 @@ abstract class SingleIndividualModelCopyWith< $R, $In extends SingleIndividualModel, $Out> implements ClassCopyWith<$R, $In, $Out> { - IndividualModelCopyWith<$R, IndividualModel, IndividualModel>? get individual; - $R call({IndividualModel? individual}); + IndividualModelCopyWith<$R, IndividualModel, IndividualModel>? get Individual; + $R call({IndividualModel? Individual}); SingleIndividualModelCopyWith<$R2, $In, $Out2> $chain<$R2, $Out2>( Then<$Out2, $R2> t); } @@ -2166,14 +2166,14 @@ class _SingleIndividualModelCopyWithImpl<$R, $Out> SingleIndividualModelMapper.ensureInitialized(); @override IndividualModelCopyWith<$R, IndividualModel, IndividualModel>? - get individual => - $value.individual?.copyWith.$chain((v) => call(individual: v)); + get Individual => + $value.Individual?.copyWith.$chain((v) => call(Individual: v)); @override - $R call({Object? individual = $none}) => $apply( - FieldCopyWithData({if (individual != $none) #individual: individual})); + $R call({Object? Individual = $none}) => $apply( + FieldCopyWithData({if (Individual != $none) #Individual: Individual})); @override SingleIndividualModel $make(CopyWithData data) => SingleIndividualModel( - individual: data.get(#individual, or: $value.individual)); + Individual: data.get(#Individual, or: $value.Individual)); @override SingleIndividualModelCopyWith<$R2, SingleIndividualModel, $Out2> diff --git a/frontend/works_shg_app/lib/pages/attendance_register_table.dart b/frontend/works_shg_app/lib/pages/attendance_register_table.dart index 178ac7dba7..985b1ceb1e 100644 --- a/frontend/works_shg_app/lib/pages/attendance_register_table.dart +++ b/frontend/works_shg_app/lib/pages/attendance_register_table.dart @@ -109,7 +109,7 @@ class _AttendanceRegisterTablePage extends State { Widget build(BuildContext context) { var t = AppLocalizations.of(context); return PopScope( - canPop: false, + canPop: true, onPopInvoked: (value) async { if (context.router.stack[1].routeData.path.contains('work-order')) { context.router.popUntilRouteWithPath('home'); @@ -612,7 +612,7 @@ class _AttendanceRegisterTablePage extends State { const Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ), ])) diff --git a/frontend/works_shg_app/lib/pages/bills/my_bills.dart b/frontend/works_shg_app/lib/pages/bills/my_bills.dart index 4c11d5b56d..b22e844e4b 100644 --- a/frontend/works_shg_app/lib/pages/bills/my_bills.dart +++ b/frontend/works_shg_app/lib/pages/bills/my_bills.dart @@ -76,7 +76,7 @@ class _MyBillsPage extends State { child: Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ), ) @@ -354,7 +354,7 @@ class _MyBillsPage extends State { alignment: Alignment .bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ) : const SizedBox.shrink() diff --git a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart index cb762b13ce..17c04a936f 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart @@ -1,6 +1,7 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:reactive_forms/reactive_forms.dart'; import 'package:works_shg_app/blocs/employee/emp_hrms/emp_hrms.dart'; import 'package:works_shg_app/blocs/employee/mb/mb_crud.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; @@ -51,6 +52,7 @@ class _MBTypeConfirmationPageState extends State { List supportDocument = []; HRMSEmployee? selectedAssignee; var comment = TextEditingController(); + String hrmsKey = "hrmsKey"; @override void initState() { @@ -82,7 +84,6 @@ class _MBTypeConfirmationPageState extends State { ); // Navigator.of(context).popUntil((route) => route is HomeRoute); context.read().add( - //hard coded FetchMBWorkFlowEvent( tenantId: GlobalVariables.tenantId!, mbNumber: widget.mbNumber!), @@ -163,326 +164,63 @@ class _MBTypeConfirmationPageState extends State { ), body: BlocBuilder( builder: (context, state) { - - return BlocBuilder( - builder: (context, state) { - return state.maybeMap( - orElse: () => const SizedBox.shrink(), - loaded: (value) { - if (widget.type == MBScreen.update) { - return Padding( - padding: const EdgeInsets.all(8.0), - child: ScrollableContent( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.center, - footer: Padding( - padding: - const EdgeInsets.symmetric(horizontal: 8.0), - child: Column( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - SizedBox( - width: MediaQuery.sizeOf(context).width, - child: DigitElevatedButton( - child: Text( - widget.nextActions!.action == - "EDIT/RE-SUBMIT" - ? t.translate("WORKS_FORWARD") - : t.translate( - "WF_MODAL_SUBMIT_MB_${widget.nextActions!.action!}"), - ), - onPressed: () { - if (widget.nextActions!.action == - "REJECT" && - comment.text == "") { - Notifiers.getToastMessage( - context, - // AppLocalizations.of(context) - // .translate(i18.login.invalidOTP), - - t.translate( - i18.common.allFieldsMandatory), - 'ERROR', - ); - } else { - List> sorList = [ - value.sor!, - value.nonSor! - ]; - MBDetailResponse kkk = - MBLogic.getMbPayloadUpdate( - data: value.data, - sorList: sorList, - workFlow: WorkFlow( - action: - widget.nextActions!.action, - comment: comment.text, - assignees: selectedAssignee != - null - ? selectedAssignee?.uuid != - null - ? [ - selectedAssignee! - .uuid! - ] - : null - : null, - documents: supportDocument, - ), - type: widget.type, - ); - - context - .read() - .add( - MeasurementUpdateBlocEvent( - measurement: kkk.measurement!, - tenantId: '', - workFlow: WorkFlow( - action: widget - .nextActions!.action, - comment: comment.text, - assignees: - selectedAssignee != null - ? selectedAssignee - ?.uuid != - null - ? [ - selectedAssignee! - .uuid! - ] - : null - : null, - documents: supportDocument, - ), - type: widget.type, - ), - ); - } - }, - ), - ), - SizedBox( - width: MediaQuery.sizeOf(context).width, - child: DigitOutLineButton( - label: t.translate( - i18.measurementBook.mbCancel), - onPressed: () { - context.router.maybePopTop(); - }, - ), - ), - ], - ), - ), - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - IconButton( - onPressed: () { - context.router.maybePopTop(); - }, - icon: const Icon(Icons.close)), - ], - ), - Row( - crossAxisAlignment: CrossAxisAlignment.center, + return ReactiveFormBuilder( + form: detailBuildForm, + builder: (context, formGroup, child) { + return BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => const SizedBox.shrink(), + loaded: (value) { + if (widget.type == MBScreen.update) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: ScrollableContent( mainAxisAlignment: MainAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(left: 0.0), - child: Text( - widget.nextActions!.action == - "EDIT/RE-SUBMIT" - ? t.translate( - "WORKS_UPDATE_AND_FORWARD") - : t.translate( - "WF_MB_ACTION_${widget.nextActions!.action}"), - style: DigitTheme.instance.mobileTheme - .textTheme.headlineLarge, - ), - ), - ], - ), - (widget.nextActions!.action == "EDIT/RE-SUBMIT" || - widget.nextActions!.action == - "VERIFY_AND_FORWARD" || - widget.nextActions!.action == "SUBMIT" || - widget.nextActions!.action == - "SEND_BACK_TO_ORIGINATOR") - ? BlocBuilder( - builder: (context, state) { - return state.maybeMap( - orElse: () => const SizedBox.shrink(), - loaded: (value) { - if (value.hrmsEmployee != null && - value - .hrmsEmployee!.isNotEmpty) { - return DigitDropdown< - HRMSEmployee>( - onChanged: (value) { - setState(() { - selectedAssignee = value!; - }); - }, - value: selectedAssignee, - label: t.translate( - "WF_MODAL_APPROVER"), - menuItems: value.hrmsEmployee! - .map((e) => e) - .toList(), - valueMapper: (value) { - if (value.employeeUser != - null) { - return t.translate(value - .employeeUser!.name - .toString()); - } else { - return t.translate( - value.code.toString()); - } - }, - ); - } else { - return const SizedBox.shrink(); - } - }, - error: (value) { - return const SizedBox.shrink(); - }, - ); - }, - ) - : const SizedBox.shrink(), - DigitTextField( - label: - "${t.translate("WF_MODAL_COMMENTS")}${widget.nextActions!.action == "REJECT" ? "*" : ""}", - maxLines: 6, - controller: comment, - isRequired: - widget.nextActions!.action == "REJECT" - ? true - : false, - ), - widget.nextActions!.action != "EDIT/RE-SUBMIT" && - widget.nextActions!.action != "SUBMIT" - ? SizedBox( - width: MediaQuery.sizeOf(context).width, - height: 306, - child: Column( - children: [ - FilePickerDemo( - callBack: (List? g, - List? l) { - final supportDocumentData = l! - .where((element) => - element.isActive == true) - .toList() - .map( - (e) { - return WorkFlowSupportDocument( - documentType: - e.documentType, - documentUid: e.fileStore, - fileName: e - .documentAdditionalDetails - ?.fileName, - fileStoreId: e.fileStore, - tenantId: e.tenantId, - ); - }, - ).toList(); - supportDocument.clear(); - supportDocument - .addAll(supportDocumentData); - setState(() {}); - }, - extensions: const [ - 'jpg', - 'png', - 'jpeg', - 'pdf', - 'xls', - 'doc' - ], - moduleName: 'works', - headerType: MediaType.mbConfim, - ), - Container( - padding: const EdgeInsets.all(4), - // color: DigitColors().curiousBlue, - child: Text(t.translate( - i18.common.photoInfo)), - ), - ], - ), - ) - : const SizedBox.shrink(), - ], - ), - ); - } else { - return Padding( - padding: const EdgeInsets.all(8.0), - child: ScrollableContent( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.center, - footer: Padding( - padding: - const EdgeInsets.symmetric(horizontal: 8.0), - child: Column( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - SizedBox( - width: MediaQuery.sizeOf(context).width, - child: DigitElevatedButton( - child: Text( - widget.stateActions!.action == "SUBMIT" - ? t.translate(i18 - .measurementBook.mbSubmitLabel) - : t.translate( - "WF_MODAL_SUBMIT_MB_${widget.stateActions!.action}"), - ), - onPressed: () { - List> sorList = [ - value.sor!, - value.nonSor! - ]; - MBDetailResponse kkk = - MBLogic.getMbPayloadUpdate( - data: value.data, - sorList: sorList, - workFlow: WorkFlow( - action: widget - .stateActions!.action == - "CREATE" - ? "SUBMIT" - : widget.stateActions!.action, - comment: comment.text, - assignees: selectedAssignee != null - ? selectedAssignee?.uuid != null - ? [selectedAssignee!.uuid!] - : null - : null, - documents: supportDocument, + crossAxisAlignment: CrossAxisAlignment.center, + footer: Padding( + padding: const EdgeInsets.symmetric( + horizontal: 8.0), + child: Column( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + SizedBox( + width: MediaQuery.sizeOf(context).width, + child: DigitElevatedButton( + child: Text( + widget.nextActions!.action == + "EDIT/RE-SUBMIT" + ? t.translate("WORKS_FORWARD") + : t.translate( + "WF_MODAL_SUBMIT_MB_${widget.nextActions!.action!}"), ), - type: widget.type, - ); + onPressed: () { + if (widget.nextActions!.action == + "REJECT" && + comment.text == "") { + Notifiers.getToastMessage( + context, + // AppLocalizations.of(context) + // .translate(i18.login.invalidOTP), - context.read().add( - MeasurementUpdateBlocEvent( - measurement: kkk.measurement!, - tenantId: '', + t.translate(i18 + .common.allFieldsMandatory), + 'ERROR', + ); + } else { + List> sorList = [ + value.sor!, + value.nonSor! + ]; + MBDetailResponse kkk = + MBLogic.getMbPayloadUpdate( + data: value.data, + sorList: sorList, workFlow: WorkFlow( - action: widget.stateActions! - .action == - "CREATE" - ? "SUBMIT" - : widget - .stateActions!.action, + action: widget + .nextActions!.action, comment: comment.text, assignees: selectedAssignee != null @@ -498,176 +236,498 @@ class _MBTypeConfirmationPageState extends State { documents: supportDocument, ), type: widget.type, - ), - ); - // Navigator.of(context) - // .popUntil((route) => route is HomeRoute); - // context.router.push(const HomeRoute()); - }, - ), - ), - SizedBox( - width: MediaQuery.sizeOf(context).width, - child: DigitOutLineButton( - label: t.translate( - i18.measurementBook.mbCancel), - onPressed: () { - context.router.maybePopTop(); - }, - ), + ); + + context + .read() + .add( + MeasurementUpdateBlocEvent( + measurement: + kkk.measurement!, + tenantId: '', + workFlow: WorkFlow( + action: widget + .nextActions! + .action, + comment: comment.text, + assignees: selectedAssignee != + null + ? selectedAssignee + ?.uuid != + null + ? [ + selectedAssignee! + .uuid! + ] + : null + : null, + documents: + supportDocument, + ), + type: widget.type, + ), + ); + } + }, + ), + ), + SizedBox( + width: MediaQuery.sizeOf(context).width, + child: DigitOutLineButton( + label: t.translate( + i18.measurementBook.mbCancel), + onPressed: () { + context.router.maybePopTop(); + }, + ), + ), + ], ), - ], - ), - ), - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - IconButton( - onPressed: () { - context.router.maybePopTop(); - }, - icon: const Icon(Icons.close)), - ], - ), - Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.start, + ), children: [ - Padding( - padding: const EdgeInsets.only(left: 0.0), - child: Text( - widget.stateActions!.action == "SUBMIT" - ? t.translate( - i18.measurementBook.mbcreateLabel) - : t.translate( - "WF_MB_ACTION_${widget.stateActions!.action}"), - style: DigitTheme.instance.mobileTheme - .textTheme.headlineLarge, - ), + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + IconButton( + onPressed: () { + context.router.maybePopTop(); + }, + icon: const Icon(Icons.close)), + ], + ), + Row( + crossAxisAlignment: + CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Padding( + padding: + const EdgeInsets.only(left: 0.0), + child: Text( + widget.nextActions!.action == + "EDIT/RE-SUBMIT" + ? t.translate( + "WORKS_UPDATE_AND_FORWARD") + : t.translate( + "WF_MB_ACTION_${widget.nextActions!.action}"), + style: DigitTheme.instance.mobileTheme + .textTheme.headlineLarge, + ), + ), + ], + ), + (widget.nextActions!.action == + "EDIT/RE-SUBMIT" || + widget.nextActions!.action == + "VERIFY_AND_FORWARD" || + widget.nextActions!.action == + "SUBMIT" || + widget.nextActions!.action == + "SEND_BACK_TO_ORIGINATOR") + ? BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => + const SizedBox.shrink(), + loaded: (value) { + if (value.hrmsEmployee != + null && + value.hrmsEmployee! + .isNotEmpty) { + return DigitDropdown< + HRMSEmployee>( + formControlName: hrmsKey, + onChanged: (value) { + setState(() { + selectedAssignee = + value; + }); + }, + initialValue: + selectedAssignee, + label: t.translate( + "WF_MODAL_APPROVER"), + menuItems: value + .hrmsEmployee! + .map((e) => e) + .toList(), + valueMapper: (value) { + if (value.employeeUser != + null) { + return t.translate(value + .employeeUser!.name + .toString()); + } else { + return t.translate(value + .code + .toString()); + } + }, + ); + } else { + return const SizedBox + .shrink(); + } + }, + error: (value) { + return const SizedBox.shrink(); + }, + ); + }, + ) + : const SizedBox.shrink(), + DigitTextField( + label: + "${t.translate("WF_MODAL_COMMENTS")}${widget.nextActions!.action == "REJECT" ? "*" : ""}", + maxLines: 6, + controller: comment, + isRequired: + widget.nextActions!.action == "REJECT" + ? true + : false, ), + widget.nextActions!.action != + "EDIT/RE-SUBMIT" && + widget.nextActions!.action != "SUBMIT" + ? SizedBox( + width: + MediaQuery.sizeOf(context).width, + height: 306, + child: Column( + children: [ + FilePickerDemo( + callBack: (List? + g, + List? l) { + final supportDocumentData = l! + .where((element) => + element.isActive == + true) + .toList() + .map( + (e) { + return WorkFlowSupportDocument( + documentType: + e.documentType, + documentUid: + e.fileStore, + fileName: e + .documentAdditionalDetails + ?.fileName, + fileStoreId: + e.fileStore, + tenantId: e.tenantId, + ); + }, + ).toList(); + supportDocument.clear(); + supportDocument.addAll( + supportDocumentData); + setState(() {}); + }, + extensions: const [ + 'jpg', + 'png', + 'jpeg', + 'pdf', + 'xls', + 'doc' + ], + moduleName: 'works', + headerType: MediaType.mbConfim, + ), + Container( + padding: + const EdgeInsets.all(4), + // color: DigitColors().curiousBlue, + child: Text(t.translate( + i18.common.photoInfo)), + ), + ], + ), + ) + : const SizedBox.shrink(), ], ), - (widget.stateActions!.action == "SUBMIT") - ? BlocBuilder( - builder: (context, state) { - return state.maybeMap( - orElse: () => const SizedBox.shrink(), - loaded: (value) { - if (value.hrmsEmployee != null && - value - .hrmsEmployee!.isNotEmpty) { - return DigitDropdown< - HRMSEmployee>( - onChanged: (value) { - setState(() { - selectedAssignee = value!; - }); - }, - value: selectedAssignee, - label: t.translate( - "WF_MODAL_APPROVER"), - menuItems: value.hrmsEmployee! - .map((e) => e) - .toList(), - valueMapper: (value) { - if (value.employeeUser != - null) { - return t.translate(value - .employeeUser!.name - .toString()); - } else { - return t.translate( - value.code.toString()); - } + ); + } else { + return Padding( + padding: const EdgeInsets.all(8.0), + child: ScrollableContent( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + footer: Padding( + padding: const EdgeInsets.symmetric( + horizontal: 8.0), + child: Column( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + SizedBox( + width: MediaQuery.sizeOf(context).width, + child: DigitElevatedButton( + child: Text( + widget.stateActions!.action == + "SUBMIT" + ? t.translate(i18 + .measurementBook + .mbSubmitLabel) + : t.translate( + "WF_MODAL_SUBMIT_MB_${widget.stateActions!.action}"), + ), + onPressed: () { + List> sorList = [ + value.sor!, + value.nonSor! + ]; + MBDetailResponse kkk = + MBLogic.getMbPayloadUpdate( + data: value.data, + sorList: sorList, + workFlow: WorkFlow( + action: widget.stateActions! + .action == + "CREATE" + ? "SUBMIT" + : widget + .stateActions!.action, + comment: comment.text, + assignees: selectedAssignee != + null + ? selectedAssignee?.uuid != + null + ? [ + selectedAssignee! + .uuid! + ] + : null + : null, + documents: supportDocument, + ), + type: widget.type, + ); - // return value.toString(); - }, - ); - } else { - return const SizedBox.shrink(); - } + context + .read() + .add( + MeasurementUpdateBlocEvent( + measurement: + kkk.measurement!, + tenantId: '', + workFlow: WorkFlow( + action: widget + .stateActions! + .action == + "CREATE" + ? "SUBMIT" + : widget.stateActions! + .action, + comment: comment.text, + assignees: + selectedAssignee != + null + ? selectedAssignee + ?.uuid != + null + ? [ + selectedAssignee! + .uuid! + ] + : null + : null, + documents: + supportDocument, + ), + type: widget.type, + ), + ); + // Navigator.of(context) + // .popUntil((route) => route is HomeRoute); + // context.router.push(const HomeRoute()); }, - error: (value) { - return const SizedBox.shrink(); + ), + ), + SizedBox( + width: MediaQuery.sizeOf(context).width, + child: DigitOutLineButton( + label: t.translate( + i18.measurementBook.mbCancel), + onPressed: () { + context.router.maybePopTop(); }, - ); - }, - ) - : const SizedBox.shrink(), - DigitTextField( - label: t.translate("WF_MODAL_COMMENTS"), - maxLines: 6, - controller: comment, - ), - widget.stateActions!.action != null - ? SizedBox( - width: MediaQuery.sizeOf(context).width, - height: 306, - child: Column( - children: [ - FilePickerDemo( - callBack: (List? g, - List? l) { - final supportDocumentData = l! - .where((element) => - element.isActive == true) - .toList() - .map( - (e) { - return WorkFlowSupportDocument( - documentType: - e.documentType, - documentUid: e.fileStore, - fileName: e - .documentAdditionalDetails - ?.fileName, - fileStoreId: e.fileStore, - tenantId: e.tenantId, + ), + ), + ], + ), + ), + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + IconButton( + onPressed: () { + context.router.maybePopTop(); + }, + icon: const Icon(Icons.close)), + ], + ), + Row( + crossAxisAlignment: + CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Padding( + padding: + const EdgeInsets.only(left: 0.0), + child: Text( + widget.stateActions!.action == + "SUBMIT" + ? t.translate(i18.measurementBook + .mbcreateLabel) + : t.translate( + "WF_MB_ACTION_${widget.stateActions!.action}"), + style: DigitTheme.instance.mobileTheme + .textTheme.headlineLarge, + ), + ), + ], + ), + (widget.stateActions!.action == "SUBMIT") + ? BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => + const SizedBox.shrink(), + loaded: (value) { + if (value.hrmsEmployee != + null && + value.hrmsEmployee! + .isNotEmpty) { + return DigitDropdown< + HRMSEmployee>( + onChanged: (value) { + setState(() { + selectedAssignee = + value; + }); + }, + initialValue: + selectedAssignee, + label: t.translate( + "WF_MODAL_APPROVER"), + menuItems: value + .hrmsEmployee! + .map((e) => e) + .toList(), + formControlName: hrmsKey, + valueMapper: (value) { + if (value.employeeUser != + null) { + return t.translate(value + .employeeUser!.name + .toString()); + } else { + return t.translate(value + .code + .toString()); + } + }, ); + } else { + return const SizedBox + .shrink(); + } + }, + error: (value) { + return const SizedBox.shrink(); + }, + ); + }, + ) + : const SizedBox.shrink(), + DigitTextField( + label: t.translate("WF_MODAL_COMMENTS"), + maxLines: 6, + controller: comment, + ), + widget.stateActions!.action != null + ? SizedBox( + width: + MediaQuery.sizeOf(context).width, + height: 306, + child: Column( + children: [ + FilePickerDemo( + callBack: (List? + g, + List? l) { + final supportDocumentData = l! + .where((element) => + element.isActive == + true) + .toList() + .map( + (e) { + return WorkFlowSupportDocument( + documentType: + e.documentType, + documentUid: + e.fileStore, + fileName: e + .documentAdditionalDetails + ?.fileName, + fileStoreId: + e.fileStore, + tenantId: e.tenantId, + ); + }, + ).toList(); + supportDocument.clear(); + supportDocument.addAll( + supportDocumentData); + setState(() {}); }, - ).toList(); - supportDocument.clear(); - supportDocument - .addAll(supportDocumentData); - setState(() {}); - }, - extensions: const [ - 'jpg', - 'png', - 'jpeg', - 'pdf', - 'xls', - 'doc' + extensions: const [ + 'jpg', + 'png', + 'jpeg', + 'pdf', + 'xls', + 'doc' + ], + moduleName: 'works', + headerType: MediaType.mbConfim, + ), + Container( + padding: + const EdgeInsets.all(4), + // color: DigitColors().curiousBlue, + child: Text(t.translate( + i18.common.photoInfo)), + ), ], - moduleName: 'works', - headerType: MediaType.mbConfim, - ), - Container( - padding: const EdgeInsets.all(4), - // color: DigitColors().curiousBlue, - child: Text(t.translate( - i18.common.photoInfo)), ), - ], - ), - ) - : const SizedBox.shrink(), - ], - ), - ); - } - }, - error: (value) { - return const SizedBox.shrink(); + ) + : const SizedBox.shrink(), + ], + ), + ); + } + }, + error: (value) { + return const SizedBox.shrink(); + }, + ); }, ); - }, - ); - + }); }, ), ), ); } + + FormGroup detailBuildForm() => fb.group({ + hrmsKey: FormControl(value: selectedAssignee), + }); } diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index 430da0e0b9..50ce0a8b34 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -38,6 +38,7 @@ import '../../widgets/mb/sor_item_add_mb.dart'; import '../../widgets/mb/text_button_underline.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; +import 'package:works_shg_app/widgets/loaders.dart' as shg_loader; @RoutePage() class MBDetailPage extends StatefulWidget { @@ -1361,8 +1362,8 @@ class _MBDetailPageState extends State ); }, loading: (value) { - return const Center( - child: CircularProgressIndicator.adaptive(), + return Center( + child: shg_loader.Loaders.circularLoader(context), ); }, ); diff --git a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart index bf832df00f..fe82698bbc 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart @@ -42,7 +42,10 @@ class _MBFilterPageState extends State { bool workShow = true; bool project = true; - String genderKey = 'assign'; + String assign = 'assign'; + String projectTypeKey="projectTypeKey"; + String wardNoKey="wardNoKey"; + String statusMapKey="statusMapKey"; String genderController = ''; @override void initState() { @@ -209,9 +212,9 @@ class _MBFilterPageState extends State { }; if (formGroup.value[ - genderKey] == + assign] == "MB_ASSIGNED_TO_ME" || - genderKey == + assign == "MB_ASSIGNED_TO_ME") { s['inbox']!['moduleSearchCriteria']![ 'assignee'] = @@ -328,9 +331,9 @@ class _MBFilterPageState extends State { } if (formGroup.value[ - genderKey] == + assign] == "MB_ASSIGNED_TO_ME" || - genderKey == + assign == "MB_ASSIGNED_TO_ME") { s['inbox']!['moduleSearchCriteria']![ 'assignee'] = @@ -466,9 +469,9 @@ class _MBFilterPageState extends State { } if (formGroup.value[ - genderKey] == + assign] == "MB_ASSIGNED_TO_ME" || - genderKey == + assign == "MB_ASSIGNED_TO_ME") { s['inbox']!['moduleSearchCriteria']![ 'assignee'] = @@ -549,7 +552,7 @@ class _MBFilterPageState extends State { isEnabled: true, labelText: t.translate( i18.common.assignee), - formControlName: genderKey, + formControlName: assign, options: const [ 'MB_ASSIGNED_TO_ME', 'MB_ASSIGNED_TO_ALL' @@ -559,7 +562,7 @@ class _MBFilterPageState extends State { t.translate(value), onValueChange: (value) { setState(() { - genderKey = value; + assign = value; }); }, ) @@ -589,6 +592,7 @@ class _MBFilterPageState extends State { loaded: (value) { return DigitDropdown< ProjectType>( + formControlName: projectTypeKey, onChanged: (value) { setState(() { projectName = @@ -597,7 +601,7 @@ class _MBFilterPageState extends State { workShow = false; }); }, - value: selectedType, + initialValue: selectedType, label: t.translate(i18 .measurementBook .projectType), @@ -628,13 +632,14 @@ class _MBFilterPageState extends State { // end of this workShow ? DigitDropdown( + formControlName: wardNoKey, onChanged: (value) { setState(() { ward.add(value!); project = false; }); }, - value: ward.isNotEmpty + initialValue: ward.isNotEmpty ? ward.first : null, label: @@ -655,13 +660,14 @@ class _MBFilterPageState extends State { : const SizedBox.shrink(), workShow ? DigitDropdown( + formControlName: statusMapKey, onChanged: (value) { setState(() { workflow.add(value!); project = false; }); }, - value: workflow.isNotEmpty + initialValue: workflow.isNotEmpty ? workflow.first : null, label: t.translate(i18 @@ -695,7 +701,10 @@ class _MBFilterPageState extends State { } FormGroup detailBuildForm() => fb.group({ - genderKey: FormControl(value: "MB_ASSIGNED_TO_ALL"), + assign: FormControl(value: "MB_ASSIGNED_TO_ALL"), + projectTypeKey:FormControl(value: selectedType), + wardNoKey :FormControl(value: null), + statusMapKey :FormControl(value: null), }); String convertToWard(String input) { diff --git a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart index a1eeb41b4e..5061552c68 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart @@ -22,6 +22,7 @@ import '../../widgets/side_bar.dart'; import '../../widgets/mb/mb_detail_card.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; + import 'package:works_shg_app/widgets/loaders.dart' as shg_loader; @RoutePage() class MeasurementBookInboxPage extends StatefulWidget { @@ -343,7 +344,7 @@ class _MeasurementBookInboxPageState extends State { return Container( padding: const EdgeInsets.all(16.0), alignment: Alignment.center, - child: const CircularProgressIndicator(), + child: shg_loader.Loaders.circularLoader(context), ); } @@ -469,8 +470,8 @@ class _MeasurementBookInboxPageState extends State { ); }, loading: (value) { - return const Center( - child: CircularProgressIndicator.adaptive(), + return Center( + child: shg_loader.Loaders.circularLoader(context), ); }, error: (value) { diff --git a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart index ef5abe7da1..a2d3e21258 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart @@ -402,7 +402,7 @@ class _MBMusterScreenPageState extends State { const Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ) ])) diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart index 4c05cb5b78..2aea4aa2e9 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart @@ -12,6 +12,7 @@ import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/common_methods.dart'; import 'package:works_shg_app/utils/employee/support_services.dart'; import 'package:works_shg_app/utils/global_variables.dart'; +import 'package:works_shg_app/widgets/molecules/digit_search_dropdown.dart'; import 'package:works_shg_app/widgets/side_bar.dart'; import 'package:works_shg_app/widgets/atoms/app_bar_logo.dart'; @@ -19,6 +20,7 @@ import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dar as i18; import '../../../widgets/drawer_wrapper.dart'; +import 'package:works_shg_app/widgets/loaders.dart' as shg_loader; @RoutePage() class WOFilterPage extends StatefulWidget { @@ -38,7 +40,8 @@ class _WOFilterPageState extends State { bool workShow = true; bool project = true; - String orgNumberKey = 'gender'; + String orgNumberKey = 'orgNumberKey'; + String wardNoKey = "wardNoKey"; String genderController = ''; @override void initState() { @@ -87,7 +90,6 @@ class _WOFilterPageState extends State { @override void dispose() { - woNumber.removeListener(mbNumberUpload); projectId.removeListener(projectIdUpload); projectName.removeListener(projectNameUpload); @@ -112,7 +114,8 @@ class _WOFilterPageState extends State { loaded: (organization) { return Scaffold( appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), + iconTheme: DigitTheme.instance.mobileTheme.iconTheme + .copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -175,16 +178,12 @@ class _WOFilterPageState extends State { GlobalVariables.organisationListModel! .organisations!.first.tenantId, "contractNumber": woNumber.text, - // "orgIds": orgId != null - // ? orgId! - // .map((e) => e.orgNumber) - // .toList() - // : [], + "ward": ward, "orgIds": selectedOrgId != null ? [selectedOrgId] : [], - "wfStatus": ["ACCEPTED","APPROVED"], + "wfStatus": ["ACCEPTED", "APPROVED"], "pagination": { "limit": "10", "offSet": 0, @@ -268,22 +267,23 @@ class _WOFilterPageState extends State { return value.maybeMap( orElse: () => const SizedBox.shrink(), loaded: (location) { - return DigitDropdown( + return DigitDropdown( onChanged: (value) { setState(() { - ward.add(value!); + ward.add(value); }); }, - value: ward.isNotEmpty ? ward.first : null, + initialValue: + ward.isNotEmpty ? ward.first : null, label: t.translate(i18.common.ward), menuItems: location.location! .tenantBoundaryList!.first.boundaryList! .map((e) => e.code.toString()) .toList(), + formControlName: wardNoKey, valueMapper: (value) { return t.translate( convertToWard(value.toString())); - // return value.toString(); }, ); }, @@ -302,7 +302,8 @@ class _WOFilterPageState extends State { loading: () { return Scaffold( appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), + iconTheme: DigitTheme.instance.mobileTheme.iconTheme + .copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -313,8 +314,8 @@ class _WOFilterPageState extends State { ), ), ), - body: const Center( - child: CircularProgressIndicator.adaptive(), + body: Center( + child: shg_loader.Loaders.circularLoader(context), ), ); }, @@ -325,6 +326,7 @@ class _WOFilterPageState extends State { FormGroup detailBuildForm() => fb.group({ orgNumberKey: FormControl(value: null), + wardNoKey: FormControl(value: null), }); String convertToWard(String input) { diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart index e40f371159..1e7fb55911 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart @@ -26,6 +26,7 @@ import '../../../widgets/mb/text_button_underline.dart'; import '../../../widgets/work_order/work_order_card.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; +import 'package:works_shg_app/widgets/loaders.dart' as shg_loader; @RoutePage() class WorkOderInboxPage extends StatefulWidget { @@ -505,7 +506,7 @@ class _WorkOderInboxPageState extends State { ); }, loading: (value) => - const Center(child: CircularProgressIndicator.adaptive()), + Center(child: shg_loader.Loaders.circularLoader(context)), ); }, ), diff --git a/frontend/works_shg_app/lib/pages/home.dart b/frontend/works_shg_app/lib/pages/home.dart index 7bb89fd24f..f32e3b2b59 100644 --- a/frontend/works_shg_app/lib/pages/home.dart +++ b/frontend/works_shg_app/lib/pages/home.dart @@ -299,7 +299,7 @@ class _HomePage extends State { footer: const Padding( padding: EdgeInsets.all(16.0), child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ), children: [ diff --git a/frontend/works_shg_app/lib/pages/language_selection_page.dart b/frontend/works_shg_app/lib/pages/language_selection_page.dart index a31fef440a..391a0f63e4 100644 --- a/frontend/works_shg_app/lib/pages/language_selection_page.dart +++ b/frontend/works_shg_app/lib/pages/language_selection_page.dart @@ -79,6 +79,7 @@ class _LanguageSelectionPage extends State { }); }, child: Column( + children: [ state.digitRowCardItems != null && state.isInitializationCompleted diff --git a/frontend/works_shg_app/lib/pages/login.dart b/frontend/works_shg_app/lib/pages/login.dart index fbc02c23d5..5e5ea07534 100644 --- a/frontend/works_shg_app/lib/pages/login.dart +++ b/frontend/works_shg_app/lib/pages/login.dart @@ -3,9 +3,11 @@ import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:reactive_forms/reactive_forms.dart'; import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/blocs/auth/otp_bloc.dart'; +import 'package:works_shg_app/models/init_mdms/init_mdms_model.dart'; import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' @@ -46,6 +48,8 @@ class _LoginPageState extends State const DigitRowCardModel(label: "Employee", value: "", isSelected: false) ]; + String cityDropDownKey = "cityDropDownKey"; + @override void initState() { super.initState(); @@ -310,7 +314,8 @@ class _LoginPageState extends State length: 2, child: Scaffold( appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), + iconTheme: DigitTheme.instance.mobileTheme.iconTheme + .copyWith(color: const DigitColors().white), automaticallyImplyLeading: true, ), body: BlocBuilder( @@ -344,70 +349,79 @@ class _LoginPageState extends State AppInitializationState data, ) { return SizedBox( - height: MediaQuery.of(context).size.height* 0.7 , + height: MediaQuery.of(context).size.height * 0.7, width: MediaQuery.of(context).size.width, - child: Column( - children: [ - DigitTextField( - label: '${t.translate(i18.login.loginUserName)}*', - controller: userNameController, - isRequired: true, - validator: (val) { - if (val!.trim().isEmpty) { - return '${t.translate(i18.login.pleaseEnterMobile)}'; - } - return null; - }, - onChange: (value) {}, - ), - DigitTextField( - maxLines: 1, - label: '${t.translate(i18.login.loginPassword)}*', - controller: userPasswordController, - isRequired: true, - obscureText: iconVisibility, - suffixIcon: IconButton( - onPressed: () { - setState(() { - iconVisibility = !iconVisibility; - }); - }, - icon: Icon( - iconVisibility - ? Icons.visibility_rounded - : Icons.visibility_off_rounded, - size: 30, - color: const DigitColors().burningOrange, - ), - ), - validator: (val) { - if (val!.trim().isEmpty) { - return '${t.translate(i18.login.pleaseEnterMobile)}'; - } - return null; - }, - onChange: (value) {}, - ), - DigitDropdown( - onChanged: (value) { - setState(() { - selectTenantId = value?.code ?? ""; - }); - }, - value: null, - label: "${t.translate(i18.common.city)} *", - menuItems: data.initMdmsModel!.tenant!.tenantListModel!, - valueMapper: (value) => - t.translate(Conversion.convertToTenant(value!.code!)), - ), - DigitIconButton( - iconText: t.translate(i18.login.forgotPassword), - onPressed: () { - forgotPassword(t); - }, - ), - ], - ), + child: ReactiveFormBuilder( + form: detailBuildForm, + builder: (BuildContext context, FormGroup formGroup, Widget? child) { + return Column( + children: [ + DigitTextField( + label: '${t.translate(i18.login.loginUserName)}*', + controller: userNameController, + isRequired: true, + validator: (val) { + if (val!.trim().isEmpty) { + return '${t.translate(i18.login.pleaseEnterMobile)}'; + } + return null; + }, + onChange: (value) {}, + ), + DigitTextField( + maxLines: 1, + label: '${t.translate(i18.login.loginPassword)}*', + controller: userPasswordController, + isRequired: true, + obscureText: iconVisibility, + suffixIcon: IconButton( + onPressed: () { + setState(() { + iconVisibility = !iconVisibility; + }); + }, + icon: Icon( + iconVisibility + ? Icons.visibility_rounded + : Icons.visibility_off_rounded, + size: 30, + color: const DigitColors().burningOrange, + ), + ), + validator: (val) { + if (val!.trim().isEmpty) { + return '${t.translate(i18.login.pleaseEnterMobile)}'; + } + return null; + }, + onChange: (value) {}, + ), + DigitDropdown( + initialValue: null, + formControlName: cityDropDownKey, + onChanged: (value) { + setState(() { + selectTenantId = value?.code ?? ""; + }); + }, + label: "${t.translate(i18.common.city)} *", + menuItems: data.initMdmsModel!.tenant!.tenantListModel!, + valueMapper: (value) => + t.translate(Conversion.convertToTenant(value!.code!)), + ), + DigitIconButton( + iconText: t.translate(i18.login.forgotPassword), + onPressed: () { + forgotPassword(t); + }, + ), + ], + ); + }), ); } + + FormGroup detailBuildForm() => fb.group({ + cityDropDownKey: FormControl(value: null), + }); } diff --git a/frontend/works_shg_app/lib/pages/org_profile.dart b/frontend/works_shg_app/lib/pages/org_profile.dart index 6e6b774f88..231f5d2a49 100644 --- a/frontend/works_shg_app/lib/pages/org_profile.dart +++ b/frontend/works_shg_app/lib/pages/org_profile.dart @@ -331,7 +331,7 @@ class _ORGProfilePage extends State { const Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ), ])); diff --git a/frontend/works_shg_app/lib/pages/otp_verification.dart b/frontend/works_shg_app/lib/pages/otp_verification.dart index 6e57fdb993..95808bf4a1 100644 --- a/frontend/works_shg_app/lib/pages/otp_verification.dart +++ b/frontend/works_shg_app/lib/pages/otp_verification.dart @@ -5,6 +5,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:pin_input_text_field/pin_input_text_field.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -66,7 +67,7 @@ class _OTPVerificationPage extends State { child: const Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ), ), diff --git a/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart b/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart index a20ae366d2..8279c6edad 100644 --- a/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart +++ b/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart @@ -82,7 +82,7 @@ class _MyServiceRequestsPage extends State { child: Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ), ) @@ -389,7 +389,7 @@ class _MyServiceRequestsPage extends State { .bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ) : const SizedBox diff --git a/frontend/works_shg_app/lib/pages/shg_inbox.dart b/frontend/works_shg_app/lib/pages/shg_inbox.dart index d9b713acda..d46c84a0dc 100644 --- a/frontend/works_shg_app/lib/pages/shg_inbox.dart +++ b/frontend/works_shg_app/lib/pages/shg_inbox.dart @@ -150,7 +150,7 @@ class _SHGInboxPage extends State { ? 150.0 : (MediaQuery.of(context).size.width / 7.5); var t = AppLocalizations.of(context); - return PopScope(canPop: false, + return PopScope(canPop: true, onPopInvoked: (value) async { context.router.popUntilRouteWithPath('home'); context.router.push(const ViewMusterRollsRoute()); @@ -865,7 +865,7 @@ class _SHGInboxPage extends State { .bottomCenter, child: PoweredByDigit( - //version: Constants.appVersion, + version: Constants.appVersion, ), ) ])) diff --git a/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart b/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart index 58d04bc8c7..5f1d707b84 100644 --- a/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart +++ b/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:reactive_forms/reactive_forms.dart'; +import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; import 'package:works_shg_app/widgets/atoms/empty_image.dart'; @@ -76,7 +77,7 @@ class _CreateTimeExtensionRequestPage Widget build(BuildContext context) { var t = AppLocalizations.of(context); return PopScope( - canPop: false, + canPop: true, onPopInvoked: (value) async { if (context.router.currentUrl.contains('isEdit')) { context.router.popUntilRouteWithPath('home'); @@ -100,7 +101,7 @@ class _CreateTimeExtensionRequestPage child: Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ), ), @@ -329,7 +330,7 @@ class _CreateTimeExtensionRequestPage keyboardType: TextInputType .number, - inputFormatter: [ + inputFormatters: [ FilteringTextInputFormatter .allow(RegExp( "[0-9]")) @@ -361,7 +362,7 @@ class _CreateTimeExtensionRequestPage keyboardType: TextInputType .text, - inputFormatter: [ + inputFormatters: [ FilteringTextInputFormatter .allow(RegExp( "[a-zA-Z0-9 .,\\/\\-_@#\\']")) diff --git a/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart b/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart index f3fc62e60b..00e4e30e65 100644 --- a/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart +++ b/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart @@ -2,6 +2,7 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; import 'package:works_shg_app/widgets/work_details_card.dart'; @@ -73,7 +74,7 @@ class _TrackAttendanceInboxPage extends State { child: Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ), ) @@ -184,7 +185,7 @@ class _TrackAttendanceInboxPage extends State { ? const Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ) : const SizedBox.shrink() diff --git a/frontend/works_shg_app/lib/pages/view_muster_rolls.dart b/frontend/works_shg_app/lib/pages/view_muster_rolls.dart index 01a54f05dd..953eff06f7 100644 --- a/frontend/works_shg_app/lib/pages/view_muster_rolls.dart +++ b/frontend/works_shg_app/lib/pages/view_muster_rolls.dart @@ -78,7 +78,7 @@ class _ViewMusterRollsPage extends State { child: Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ), ) @@ -190,7 +190,7 @@ class _ViewMusterRollsPage extends State { ? const Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ) : const SizedBox.shrink() diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart index b52e0901d0..b5df1dd849 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart @@ -105,7 +105,7 @@ class FinancialDetailsState extends State { label: t.translate(i18.common.accountHolderName), isRequired: true, keyboardType: TextInputType.name, - inputFormatter: [ + inputFormatters: [ FilteringTextInputFormatter.allow(RegExp("[A-Za-z ]")) ], validationMessages: { @@ -127,7 +127,7 @@ class FinancialDetailsState extends State { isRequired: true, obscureText: true, keyboardType: TextInputType.number, - inputFormatter: [ + inputFormatters: [ FilteringTextInputFormatter.allow(RegExp("[0-9]")) ], validationMessages: { @@ -150,7 +150,7 @@ class FinancialDetailsState extends State { label: t.translate(i18.common.reEnterAccountNo), isRequired: true, keyboardType: TextInputType.number, - inputFormatter: [ + inputFormatters: [ FilteringTextInputFormatter.allow(RegExp("[0-9]")) ], validationMessages: { diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_detail_sub.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_detail_sub.dart index 5b510a4033..fdab3751be 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_detail_sub.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_detail_sub.dart @@ -93,7 +93,7 @@ class _IndividualSubDetailPageState extends State { fieldHintText: 'dd/mm/yyyy', confirmText: t.translate(i18.common.oK), icon: Icons.info_outline_rounded, - toolTipMsg: t.translate(i18.wageSeeker.ageValidation), + tooltipMessage: t.translate(i18.wageSeeker.ageValidation), formControlName: dobKey, autoValidation: AutovalidateMode.always, requiredMessage: @@ -125,7 +125,7 @@ class _IndividualSubDetailPageState extends State { formControlName: fatherNameKey, isRequired: true, label: t.translate(i18.common.guardianName), - inputFormatter: [ + inputFormatters: [ FilteringTextInputFormatter.allow(RegExp("[A-Za-z ]")) ], validationMessages: { @@ -165,7 +165,7 @@ class _IndividualSubDetailPageState extends State { minLength: 10, maxLength: 10, keyboardType: TextInputType.phone, - inputFormatter: [ + inputFormatters: [ FilteringTextInputFormatter.allow(RegExp("[0-9]")) ], validationMessages: { diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart index e2b8bcdd86..ff52dce1c4 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart @@ -282,7 +282,7 @@ class IndividualDetailsPageState extends State { minLength: adhar ? 12 : 12, maxLength: adhar ? 12 : 12, keyboardType: TextInputType.number, - inputFormatter: [ + inputFormatters: [ FilteringTextInputFormatter.allow(RegExp("[0-9]")) ], validationMessages: adhar @@ -324,7 +324,7 @@ class IndividualDetailsPageState extends State { formControlName: nameKey, isRequired: true, label: t.translate(i18.wageSeeker.identityNameLabel), - inputFormatter: [ + inputFormatters: [ FilteringTextInputFormatter.allow(RegExp("[A-Za-z ]")) ], validationMessages: { diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart index 6a50c14500..73180a327f 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart @@ -104,7 +104,7 @@ class LocationDetailsState extends State { label: t.translate(i18.common.pinCode), keyboardType: TextInputType.number, maxLength: 6, - inputFormatter: [ + inputFormatters: [ FilteringTextInputFormatter.allow(RegExp("[0-9]")) ], ), @@ -166,7 +166,7 @@ class LocationDetailsState extends State { i18.wageSeeker.maxStreetCharacters, ), }, - inputFormatter: [ + inputFormatters: [ FilteringTextInputFormatter.allow( RegExp("[a-zA-Z0-9 .,\\/\\-_@#\\']")) ]), @@ -180,7 +180,7 @@ class LocationDetailsState extends State { i18.wageSeeker.maxDoorNoCharacters, ), }, - inputFormatter: [ + inputFormatters: [ FilteringTextInputFormatter.allow( RegExp("[a-zA-Z0-9 .,\\/\\-_@#\\']")) ]), diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart index 40a3b09820..801a446dc3 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart @@ -7,6 +7,7 @@ import 'package:works_shg_app/pages/wage_seeker_registration/individual_details. import 'package:works_shg_app/pages/wage_seeker_registration/location_details.dart'; import 'package:works_shg_app/pages/wage_seeker_registration/summary_details.dart'; import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -187,7 +188,7 @@ class RegisterIndividualPageState extends State { const Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ) ]), diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart index bf0605900e..db38afcb74 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart @@ -361,16 +361,16 @@ class SummaryDetailsPageState extends State { context.read().add( CreateBankWageSeekerEvent( tenantId: individualListModel - ?.individual?.tenantId, + ?.Individual?.tenantId, accountHolderName: financialDetails?.accountHolderName, accountNo: financialDetails?.accountNumber, accountType: financialDetails?.accountType, ifscCode: financialDetails?.ifscCode, referenceId: - individualListModel?.individual?.id, + individualListModel?.Individual?.id, indId: individualListModel - ?.individual?.individualId, + ?.Individual?.individualId, bankName: '${financialDetails?.bankName}'), ); }, diff --git a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart index 3d24bd2395..966602332d 100644 --- a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart +++ b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart @@ -105,7 +105,7 @@ class _ViewWorkDetailsPage extends State { Widget build(BuildContext context) { var t = AppLocalizations.of(context); return PopScope( - canPop: false, + canPop: true, onPopInvoked: (value) async { if (GlobalVariables.roleType == RoleType.cbo) { context.router.popUntilRouteWithPath('home'); @@ -628,7 +628,7 @@ class _ViewWorkDetailsPage extends State { const Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ) ]), @@ -1868,7 +1868,7 @@ class _ViewWorkDetailsPage extends State { alignment: Alignment.bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ) ]), diff --git a/frontend/works_shg_app/lib/pages/work_order/work_order.dart b/frontend/works_shg_app/lib/pages/work_order/work_order.dart index 14dcef0a75..41816e6eaa 100644 --- a/frontend/works_shg_app/lib/pages/work_order/work_order.dart +++ b/frontend/works_shg_app/lib/pages/work_order/work_order.dart @@ -89,7 +89,7 @@ class _WorkOrderPage extends State { child: Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ), ) @@ -352,7 +352,7 @@ class _WorkOrderPage extends State { ? const Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), ) : const SizedBox.shrink() diff --git a/frontend/works_shg_app/lib/widgets/molecules/desktop_view.dart b/frontend/works_shg_app/lib/widgets/molecules/desktop_view.dart index fda5a4b29e..6712b48ec7 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/desktop_view.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/desktop_view.dart @@ -1,5 +1,6 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; +import 'package:works_shg_app/utils/constants.dart'; import '../atoms/background_container.dart'; @@ -23,7 +24,7 @@ class DesktopView extends StatelessWidget { padding: const EdgeInsets.all(8), child: widget)))), const Center( child: PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, isWhiteLogo: true, )) ]), diff --git a/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart b/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart index 919e1b0a0d..8330f9511f 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart @@ -2,6 +2,7 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/localization/localization.dart'; +import 'package:works_shg_app/utils/constants.dart'; import '../atoms/background_container.dart'; @@ -19,66 +20,62 @@ class MobileView extends StatelessWidget { Widget build(BuildContext context) { return BlocBuilder( builder: (context, state) { - - return SingleChildScrollView( - child: Column( - mainAxisSize: MainAxisSize.min, - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - Center( - child: LayoutBuilder(builder: (BuildContext context, - BoxConstraints viewportConstraints) { - return ConstrainedBox( - constraints: BoxConstraints( - minHeight: MediaQuery.of(context).size.height), - child: IntrinsicHeight( - child: Column(children: [ - Expanded( - // A flexible child that will grow to fit the viewport but - // still be at least as big as necessary to fit its contents. - child: Container( - color: Colors.blue, - // height: MediaQuery.of(context).size.height, - child: BackgroundContainer( - Stack(children: [ - (Positioned( - bottom: cardBottomPosition, - child: Container( - margin: const EdgeInsets.only( - bottom: 24), - width: MediaQuery.of(context) - .size - .width, - // height: MediaQuery.of(context).size.height + 20, - padding: const EdgeInsets.all(8), - child: widget))), - (Positioned( - bottom: logoBottomPosition, - left: - MediaQuery.of(context).size.width / 4, - right: - MediaQuery.of(context).size.width / 4, - child: const Align( - alignment: Alignment.bottomCenter, - child: PoweredByDigit( - //version: Constants.appVersion, - isWhiteLogo: true, - ), + return SingleChildScrollView( + child: Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + Center( + child: LayoutBuilder(builder: (BuildContext context, + BoxConstraints viewportConstraints) { + return ConstrainedBox( + constraints: BoxConstraints( + minHeight: MediaQuery.of(context).size.height), + child: IntrinsicHeight( + child: Column(children: [ + Expanded( + // A flexible child that will grow to fit the viewport but + // still be at least as big as necessary to fit its contents. + child: Container( + color: Colors.blue, + // height: MediaQuery.of(context).size.height, + child: BackgroundContainer( + Stack(children: [ + (Positioned( + bottom: cardBottomPosition, + child: Container( + margin: const EdgeInsets.only(bottom: 24), + width: MediaQuery.of(context).size.width, + // height: MediaQuery.of(context).size.height + 20, + padding: const EdgeInsets.all(8), + child: widget, + ), + )), + (Positioned( + bottom: logoBottomPosition, + left: MediaQuery.of(context).size.width / 4, + right: + MediaQuery.of(context).size.width / 4, + child: const Align( + alignment: Alignment.bottomCenter, + child: PoweredByDigit( + version: Constants.appVersion, + isWhiteLogo: true, ), - )), - ]), - bannerURL, - ), + ), + )), + ]), + bannerURL, ), ), - ]), - ), - ); - }), - ), - ]), - ); - + ), + ]), + ), + ); + }), + ), + ]), + ); }, ); } diff --git a/frontend/works_shg_app/lib/widgets/molecules/success_page.dart b/frontend/works_shg_app/lib/widgets/molecules/success_page.dart index d24f447a37..7772e32b3a 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/success_page.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/success_page.dart @@ -1,6 +1,7 @@ import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/utils/constants.dart'; import '../../utils/common_methods.dart'; import '../back.dart'; @@ -48,7 +49,7 @@ class SuccessResponsePage extends StatelessWidget { @override Widget build(BuildContext context) { return PopScope( - canPop: false, + canPop: true, onPopInvoked: (value) async { context.router.push(const HomeRoute()); @@ -60,7 +61,7 @@ class SuccessResponsePage extends StatelessWidget { child: const Align( alignment: Alignment.bottomCenter, child: PoweredByDigit( - //version: Constants.appVersion, + version: Constants.appVersion, ), ), ), diff --git a/frontend/works_shg_app/lib/widgets/side_bar.dart b/frontend/works_shg_app/lib/widgets/side_bar.dart index ffd1c7896c..ca385ff74d 100644 --- a/frontend/works_shg_app/lib/widgets/side_bar.dart +++ b/frontend/works_shg_app/lib/widgets/side_bar.dart @@ -5,6 +5,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/icons/shg_icons.dart'; import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/global_variables.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -56,7 +57,7 @@ class _SideBar extends State { loaded: (value) { return ScrollableContent( footer: const PoweredByDigit( - // version: Constants.appVersion, + version: Constants.appVersion, ), children: [ BlocBuilder( diff --git a/frontend/works_shg_app/pubspec.yaml b/frontend/works_shg_app/pubspec.yaml index b03cfeaf97..994c47b1a3 100644 --- a/frontend/works_shg_app/pubspec.yaml +++ b/frontend/works_shg_app/pubspec.yaml @@ -32,12 +32,12 @@ environment: dependencies: flutter: sdk: flutter - digit_components: - git: - url: https://github.com/egovernments/health-campaign-field-worker-app - ref: main-parallel - path: ./packages/digit_components - #digit_components: ^1.0.0+8 + # digit_components: + # git: + # url: https://github.com/egovernments/health-campaign-field-worker-app + # ref: main-parallel + # path: ./packages/digit_components + digit_components: ^1.0.0+7 universal_html: ^2.2.4 csslib: ^1.0.0 flutter_secure_storage: ^9.2.2 From dbc302d2a780f1f469fa2da1cc4cc94fe9b40e0e Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 13 Aug 2024 14:31:53 +0530 Subject: [PATCH 127/292] mb inbox in progress --- .../lib/pages/employee/mb_filter_page.dart | 94 +++++++----- .../lib/pages/employee/mb_inbox.dart | 145 ++++++++---------- .../works_shg_app/lib/widgets/loaders.dart | 4 +- .../lib/widgets/mb/mb_detail_card.dart | 7 +- frontend/works_shg_app/pubspec.yaml | 2 +- 5 files changed, 121 insertions(+), 131 deletions(-) diff --git a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart index fe82698bbc..e706d8a1a0 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart @@ -43,9 +43,9 @@ class _MBFilterPageState extends State { bool project = true; String assign = 'assign'; - String projectTypeKey="projectTypeKey"; - String wardNoKey="wardNoKey"; - String statusMapKey="statusMapKey"; + String projectTypeKey = "projectTypeKey"; + String wardNoKey = "wardNoKey"; + String statusMapKey = "statusMapKey"; String genderController = ''; @override void initState() { @@ -94,7 +94,6 @@ class _MBFilterPageState extends State { @override void dispose() { - mbNumber.removeListener(mbNumberUpload); projectId.removeListener(projectIdUpload); //projectName.removeListener(projectNameUpload); @@ -126,7 +125,8 @@ class _MBFilterPageState extends State { loaded: (location) { return Scaffold( appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), + iconTheme: DigitTheme.instance.mobileTheme.iconTheme + .copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -211,8 +211,7 @@ class _MBFilterPageState extends State { } }; - if (formGroup.value[ - assign] == + if (formGroup.value[assign] == "MB_ASSIGNED_TO_ME" || assign == "MB_ASSIGNED_TO_ME") { @@ -229,7 +228,8 @@ class _MBFilterPageState extends State { data: s, ), ); - context.router.maybePopTop(); + context.router + .maybePopTop(); } else { ToastUtils.showCustomToast( context, @@ -500,31 +500,35 @@ class _MBFilterPageState extends State { ), children: [ Row( + crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.end, children: [ - IconButton( - onPressed: () { - context - .read< - MeasurementInboxBloc>() - .add( - MeasurementBookInboxBlocEvent( - businessService: "MB", - limit: 10, - moduleName: - 'measurement-module', - offset: 0, - tenantId: - GlobalVariables - .tenantId!, - ), - ); - context.router.maybePopTop(); - }, - icon: const Icon(Icons.close)), + DigitIconButton( + textDirection: TextDirection.rtl, + onPressed: () { + context + .read() + .add( + MeasurementBookInboxBlocEvent( + businessService: "MB", + limit: 10, + moduleName: + 'measurement-module', + offset: 0, + tenantId: GlobalVariables + .tenantId!, + ), + ); + context.router.maybePopTop(); + }, + icon: Icons.close, + iconColor: + const DigitColors().black, + ), ], ), + Row( crossAxisAlignment: CrossAxisAlignment.center, @@ -542,11 +546,14 @@ class _MBFilterPageState extends State { .instance .mobileTheme .textTheme - .headlineLarge, + .headlineMedium + ?.copyWith( + fontFamily: 'Roboto'), ), ), ], ), + workShow ? DigitRadioButtonList( isEnabled: true, @@ -575,11 +582,14 @@ class _MBFilterPageState extends State { ) : const SizedBox.shrink(), project - ? DigitTextField( - label: t.translate(i18 - .measurementBook.projectId), - controller: projectId, - ) + ? Padding( + padding: const EdgeInsets.only(top:8.0), + child: DigitTextField( + label: t.translate(i18 + .measurementBook.projectId), + controller: projectId, + ), + ) : const SizedBox.shrink(), project @@ -592,7 +602,8 @@ class _MBFilterPageState extends State { loaded: (value) { return DigitDropdown< ProjectType>( - formControlName: projectTypeKey, + formControlName: + projectTypeKey, onChanged: (value) { setState(() { projectName = @@ -601,7 +612,8 @@ class _MBFilterPageState extends State { workShow = false; }); }, - initialValue: selectedType, + initialValue: + selectedType, label: t.translate(i18 .measurementBook .projectType), @@ -632,7 +644,7 @@ class _MBFilterPageState extends State { // end of this workShow ? DigitDropdown( - formControlName: wardNoKey, + formControlName: wardNoKey, onChanged: (value) { setState(() { ward.add(value!); @@ -660,7 +672,7 @@ class _MBFilterPageState extends State { : const SizedBox.shrink(), workShow ? DigitDropdown( - formControlName: statusMapKey, + formControlName: statusMapKey, onChanged: (value) { setState(() { workflow.add(value!); @@ -702,9 +714,9 @@ class _MBFilterPageState extends State { FormGroup detailBuildForm() => fb.group({ assign: FormControl(value: "MB_ASSIGNED_TO_ALL"), - projectTypeKey:FormControl(value: selectedType), - wardNoKey :FormControl(value: null), - statusMapKey :FormControl(value: null), + projectTypeKey: FormControl(value: selectedType), + wardNoKey: FormControl(value: null), + statusMapKey: FormControl(value: null), }); String convertToWard(String input) { diff --git a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart index 5061552c68..fc1ce2bfb9 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart @@ -22,7 +22,7 @@ import '../../widgets/side_bar.dart'; import '../../widgets/mb/mb_detail_card.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; - import 'package:works_shg_app/widgets/loaders.dart' as shg_loader; +import 'package:works_shg_app/widgets/loaders.dart' as shg_loader; @RoutePage() class MeasurementBookInboxPage extends StatefulWidget { @@ -157,7 +157,8 @@ class _MeasurementBookInboxPageState extends State { }, ), appBar: AppBar( - iconTheme: DigitTheme.instance.mobileTheme.iconTheme.copyWith(color: const DigitColors().white), + iconTheme: DigitTheme.instance.mobileTheme.iconTheme + .copyWith(color: const DigitColors().white), titleSpacing: 0, title: const AppBarLogo(), ), @@ -188,10 +189,20 @@ class _MeasurementBookInboxPageState extends State { mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Back( - callback: () { - context.router.maybePop(); - }, + Padding( + padding: const EdgeInsets.only( + left: 8.0, bottom: 0, top: 0, right: 0), + child: DigitIconButton( + iconTextColor: const DigitColors().black, + iconColor: const DigitColors().black, + icon: Icons.arrow_left, + iconText: AppLocalizations.of(context) + .translate(i18.common.back) ?? + 'Back', + onPressed: () { + context.router.maybePop(); + }, + ), ), Padding( padding: const EdgeInsets.only(left: 17.0), @@ -199,11 +210,16 @@ class _MeasurementBookInboxPageState extends State { "${t.translate(i18.measurementBook.mbInbox)} (${mbInboxResponse.mbInboxResponse.totalCount ?? 0})", style: DigitTheme.instance.mobileTheme .textTheme.headlineLarge, + overflow: TextOverflow.ellipsis, + maxLines: 1, ), ), Padding( padding: const EdgeInsets.only( - left: 0.0, right: 8.0, top: 10.0), + left: 13.0, + right: 8.0, + top: 8.0, + bottom: 0), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -222,31 +238,18 @@ class _MeasurementBookInboxPageState extends State { crossAxisAlignment: CrossAxisAlignment.center, children: [ - TextButton.icon( - label: Text( - t.translate( - i18.common.filter), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .labelLarge! - .copyWith( - color: const DigitColors() - .burningOrange, - ), - textDirection: - TextDirection.ltr, - ), - onPressed: () { - context.router.push( - const MBFilterRoute()); - }, - icon: const Icon( - Icons.filter_alt, - textDirection: - TextDirection.ltr, - )), + DigitIconButton( + iconText: t + .translate(i18.common.filter), + + onPressed: () { + context.router.push( + const MBFilterRoute()); + }, + // iconSize: 30, + icon: Icons.filter_list_alt, + textDirection: TextDirection.ltr, + ), mbInboxResponse.search ? IconButton( onPressed: () { @@ -278,37 +281,25 @@ class _MeasurementBookInboxPageState extends State { ], ), ), - TextButton.icon( - label: Text( - t.translate( - i18.measurementBook.sort), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .labelLarge! - .copyWith( - color: const DigitColors() - .burningOrange, - ), - ), + DigitIconButton( + iconText: t.translate( + i18.measurementBook.sort), - // color: const DigitColors() - // .burningOrange, - onPressed: () { - Conversion.openSortingModal(context, - listData: Conversion.sortMB, - sortType: SortType.mbSort); - }, - icon: - SvgPicture.asset(Constants.sort)), + onPressed: () { + Conversion.openSortingModal(context, + listData: Conversion.sortMB, + sortType: SortType.mbSort); + }, + // iconSize: 30, + icon: Icons.swap_vert, + ), ], ), ), ], ), ), - height: 170, + height: 140, ), ), mbInboxResponse.mbInboxResponse.items!.isEmpty @@ -334,8 +325,8 @@ class _MeasurementBookInboxPageState extends State { // Display items if (index == (mbInboxResponse.isLoading - ? mbInboxResponse.mbInboxResponse - .items!.length + ? mbInboxResponse + .mbInboxResponse.items!.length : mbInboxResponse.mbInboxResponse .items!.length - 1) && @@ -344,7 +335,11 @@ class _MeasurementBookInboxPageState extends State { return Container( padding: const EdgeInsets.all(16.0), alignment: Alignment.center, - child: shg_loader.Loaders.circularLoader(context), + child: CircularProgressIndicator.adaptive( + valueColor: AlwaysStoppedAnimation< + Color>( + const DigitColors().burningOrange), + ), ); } @@ -352,30 +347,12 @@ class _MeasurementBookInboxPageState extends State { widget: Center( child: SizedBox( width: MediaQuery.sizeOf(context).width, - child: OutlinedButton( - style: Theme.of(context) - .outlinedButtonTheme - .style - ?.copyWith( - side: MaterialStateProperty.all( - BorderSide( - width: 1.0, - color: const DigitColors() - .burningOrange, - style: BorderStyle.solid, - ), - ), - shape: - MaterialStateProperty.all( - RoundedRectangleBorder( - borderRadius: - BorderRadius.circular( - 5), - ), - ), - ), - child: Text(t.translate( - i18.measurementBook.openMbBook)), + child: DigitOutLineButton( + // buttonStyle: const ButtonStyle( + + // ), + label: t.translate( + i18.measurementBook.openMbBook), onPressed: () { final contract = mbInboxResponse .mbInboxResponse @@ -470,7 +447,7 @@ class _MeasurementBookInboxPageState extends State { ); }, loading: (value) { - return Center( + return Center( child: shg_loader.Loaders.circularLoader(context), ); }, diff --git a/frontend/works_shg_app/lib/widgets/loaders.dart b/frontend/works_shg_app/lib/widgets/loaders.dart index 49f25da0a7..f3b9560114 100644 --- a/frontend/works_shg_app/lib/widgets/loaders.dart +++ b/frontend/works_shg_app/lib/widgets/loaders.dart @@ -4,7 +4,7 @@ class Loaders { static circularLoader(BuildContext context) { return PopScope( onPopInvoked: null, - canPop: false, + canPop: true, child: SizedBox( height: MediaQuery.of(context).size.height, width: MediaQuery.of(context).size.width, @@ -42,7 +42,7 @@ class Loaders { builder: (BuildContext context) { return PopScope( onPopInvoked: null, - canPop: false, + canPop: true, child: SizedBox( height: MediaQuery.of(context).size.height, width: MediaQuery.of(context).size.width, diff --git a/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart b/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart index 560f663897..62f2a77bd5 100644 --- a/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart +++ b/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart @@ -26,7 +26,8 @@ class CommonMBCard extends StatelessWidget { Widget build(BuildContext context) { final theme = Theme.of(context); var t = AppLocalizations.of(context); - return Card( + return DigitCard( + padding: EdgeInsets.zero, child: Padding( padding: padding ?? const EdgeInsets.only(left: 8.0, right: 8.0, bottom: 8.0, top: 0.0), @@ -43,7 +44,7 @@ class CommonMBCard extends StatelessWidget { .instance.mobileTheme.textTheme.headlineMedium, ) : const SizedBox.shrink(), - TableFormCard( + DigitTableCard( element: items, ), show @@ -53,7 +54,7 @@ class CommonMBCard extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ SizedBox( - width: MediaQuery.of(context).size.width / 2, + width: MediaQuery.of(context).size.width / 1.81, child: Text( t.translate(i18.measurementBook.mbSlaDaysRemaining), style: theme.textTheme.headlineSmall, diff --git a/frontend/works_shg_app/pubspec.yaml b/frontend/works_shg_app/pubspec.yaml index 994c47b1a3..f31a57e048 100644 --- a/frontend/works_shg_app/pubspec.yaml +++ b/frontend/works_shg_app/pubspec.yaml @@ -37,7 +37,7 @@ dependencies: # url: https://github.com/egovernments/health-campaign-field-worker-app # ref: main-parallel # path: ./packages/digit_components - digit_components: ^1.0.0+7 + digit_components: ^1.0.0+9 universal_html: ^2.2.4 csslib: ^1.0.0 flutter_secure_storage: ^9.2.2 From 32822be474e3d7e44288022fe27a11f0dc20656b Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 13 Aug 2024 17:26:57 +0530 Subject: [PATCH 128/292] filter issue in progress --- .../lib/pages/employee/mb_filter_page.dart | 118 +++++++++++++----- .../lib/pages/employee/mb_inbox.dart | 117 +++++++++-------- frontend/works_shg_app/lib/pages/login.dart | 2 +- .../works_shg_app/lib/widgets/side_bar.dart | 3 +- 4 files changed, 150 insertions(+), 90 deletions(-) diff --git a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart index e706d8a1a0..a7d7e094c4 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart @@ -1,4 +1,5 @@ import 'package:digit_components/digit_components.dart'; +import 'package:digit_components/widgets/atoms/digit_toaster.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:reactive_forms/reactive_forms.dart'; @@ -51,6 +52,18 @@ class _MBFilterPageState extends State { void initState() { super.initState(); + // final state = context.read().state; + // state.maybeMap( + // orElse: () => null, + // loaded: (valueMeasurement) { + // valueMeasurement.data['inbox'] != null + // ?ward.add( valueMeasurement.data['inbox']!['moduleSearchCriteria']['ward'][0]) + // : ward.isNotEmpty + // ? ward.first + // : []; + // }, + // ); + mbNumber.addListener(mbNumberUpload); projectId.addListener(projectIdUpload); // projectName.addListener(projectNameUpload); @@ -114,7 +127,7 @@ class _MBFilterPageState extends State { builder: (context, state) { return state.maybeMap( orElse: () => const SizedBox.shrink(), - loaded: (value) { + loaded: (valueMeasurement) { return BlocBuilder( builder: (context, state) { @@ -124,6 +137,7 @@ class _MBFilterPageState extends State { }, loaded: (location) { return Scaffold( + backgroundColor: const DigitColors().white, appBar: AppBar( iconTheme: DigitTheme.instance.mobileTheme.iconTheme .copyWith(color: const DigitColors().white), @@ -138,12 +152,13 @@ class _MBFilterPageState extends State { ), ), body: ReactiveFormBuilder( - form: detailBuildForm, + form: () => detailBuildForm(valueMeasurement), builder: (BuildContext context, FormGroup formGroup, Widget? child) { return Padding( padding: const EdgeInsets.all(8.0), child: ScrollableContent( + backgroundColor: Colors.transparent, mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center, @@ -153,9 +168,11 @@ class _MBFilterPageState extends State { child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: + CrossAxisAlignment.center, children: [ Expanded( - flex: 2, + flex: 10, child: DigitOutLineButton( label: t.translate( i18.measurementBook.clear), @@ -179,17 +196,21 @@ class _MBFilterPageState extends State { }, ), ), + const Expanded( + flex: 1, + child: SizedBox.shrink()), Expanded( - flex: 2, + flex: 10, child: DigitElevatedButton( child: Text(t.translate( i18.measurementBook.filter)), onPressed: () async { Map> s; + Map> + filterPayload; if (workShow && project) { - s = { + filterPayload = { "inbox": { "tenantId": GlobalVariables @@ -215,7 +236,8 @@ class _MBFilterPageState extends State { "MB_ASSIGNED_TO_ME" || assign == "MB_ASSIGNED_TO_ME") { - s['inbox']!['moduleSearchCriteria']![ + filterPayload['inbox']![ + 'moduleSearchCriteria']![ 'assignee'] = GlobalVariables.uuid; context @@ -225,7 +247,7 @@ class _MBFilterPageState extends State { MeasurementBookInboxSearchBlocEvent( limit: 10, offset: 0, - data: s, + data: filterPayload, ), ); context.router @@ -236,12 +258,26 @@ class _MBFilterPageState extends State { t.translate(i18.common .searchCriteria), "INFO"); + + // TODO: digit component toast + // DigitToast.show( + // context, + // options: + // DigitToastOptions( + // t.translate(i18.common + // .searchCriteria), + // true, + // DigitTheme.instance + // .mobileTheme, + // ), + // ); + // end of it } } else { if (workShow && !project) { if (workflow.isEmpty && ward.isNotEmpty) { - s = { + filterPayload = { "inbox": { "tenantId": GlobalVariables @@ -271,7 +307,7 @@ class _MBFilterPageState extends State { } else if (workflow .isNotEmpty && ward.isEmpty) { - s = { + filterPayload = { "inbox": { "tenantId": GlobalVariables @@ -300,7 +336,7 @@ class _MBFilterPageState extends State { } }; } else { - s = { + filterPayload = { "inbox": { "tenantId": GlobalVariables @@ -335,7 +371,8 @@ class _MBFilterPageState extends State { "MB_ASSIGNED_TO_ME" || assign == "MB_ASSIGNED_TO_ME") { - s['inbox']!['moduleSearchCriteria']![ + filterPayload['inbox']![ + 'moduleSearchCriteria']![ 'assignee'] = GlobalVariables.uuid; } @@ -346,14 +383,14 @@ class _MBFilterPageState extends State { MeasurementBookInboxSearchBlocEvent( limit: 10, offset: 0, - data: s, + data: filterPayload, ), ); } else { if (mbNumber.text != "" && projectId.text == "" && projectName == "") { - s = { + filterPayload = { "inbox": { "tenantId": GlobalVariables @@ -382,7 +419,7 @@ class _MBFilterPageState extends State { "" && projectId.text != "" && projectName == "") { - s = { + filterPayload = { "inbox": { "tenantId": GlobalVariables @@ -411,7 +448,7 @@ class _MBFilterPageState extends State { "" && projectId.text == "" && projectName != "") { - s = { + filterPayload = { "inbox": { "tenantId": GlobalVariables @@ -437,7 +474,7 @@ class _MBFilterPageState extends State { } }; } else { - s = { + filterPayload = { "inbox": { "tenantId": GlobalVariables @@ -473,7 +510,8 @@ class _MBFilterPageState extends State { "MB_ASSIGNED_TO_ME" || assign == "MB_ASSIGNED_TO_ME") { - s['inbox']!['moduleSearchCriteria']![ + filterPayload['inbox']![ + 'moduleSearchCriteria']![ 'assignee'] = GlobalVariables.uuid; } @@ -485,7 +523,7 @@ class _MBFilterPageState extends State { MeasurementBookInboxSearchBlocEvent( limit: 10, offset: 0, - data: s, + data: filterPayload, ), ); } @@ -500,7 +538,8 @@ class _MBFilterPageState extends State { ), children: [ Row( - crossAxisAlignment: CrossAxisAlignment.start, + crossAxisAlignment: + CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.end, children: [ @@ -523,6 +562,7 @@ class _MBFilterPageState extends State { context.router.maybePopTop(); }, icon: Icons.close, + iconSize: 30, iconColor: const DigitColors().black, ), @@ -583,13 +623,14 @@ class _MBFilterPageState extends State { : const SizedBox.shrink(), project ? Padding( - padding: const EdgeInsets.only(top:8.0), - child: DigitTextField( + padding: const EdgeInsets.only( + top: 8.0), + child: DigitTextField( label: t.translate(i18 .measurementBook.projectId), controller: projectId, ), - ) + ) : const SizedBox.shrink(), project @@ -600,7 +641,7 @@ class _MBFilterPageState extends State { orElse: () => const SizedBox.shrink(), loaded: (value) { - return DigitDropdown< + return DigitReactiveDropdown< ProjectType>( formControlName: projectTypeKey, @@ -643,17 +684,17 @@ class _MBFilterPageState extends State { // end of this workShow - ? DigitDropdown( + ? DigitReactiveDropdown( formControlName: wardNoKey, onChanged: (value) { setState(() { - ward.add(value!); + ward.add(value); project = false; }); }, - initialValue: ward.isNotEmpty - ? ward.first - : null, + initialValue: ward.isNotEmpty + ? ward.first + : null, label: t.translate(i18.common.ward), menuItems: location! @@ -671,11 +712,12 @@ class _MBFilterPageState extends State { ) : const SizedBox.shrink(), workShow - ? DigitDropdown( + ? DigitReactiveDropdown< + status_map.StatusMap>( formControlName: statusMapKey, onChanged: (value) { setState(() { - workflow.add(value!); + workflow.add(value); project = false; }); }, @@ -685,7 +727,7 @@ class _MBFilterPageState extends State { label: t.translate(i18 .measurementBook .workflowState), - menuItems: value + menuItems: valueMeasurement .mbInboxResponse.statusMap! .map((e) => e) .toList(), @@ -712,10 +754,18 @@ class _MBFilterPageState extends State { ); } - FormGroup detailBuildForm() => fb.group({ + FormGroup detailBuildForm(dynamic valueMeasurement) => + fb.group({ assign: FormControl(value: "MB_ASSIGNED_TO_ALL"), projectTypeKey: FormControl(value: selectedType), - wardNoKey: FormControl(value: null), + wardNoKey: FormControl( + value: valueMeasurement.data['inbox'] != null + ? valueMeasurement.data['inbox']!['moduleSearchCriteria'] + ['ward']!=null?valueMeasurement.data['inbox']!['moduleSearchCriteria'] + ['ward'][0]:null + : ward.isNotEmpty + ? ward.first + : null), statusMapKey: FormControl(value: null), }); diff --git a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart index fc1ce2bfb9..9ab03b1f44 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart @@ -17,7 +17,6 @@ import '../../blocs/employee/mb/measurement_book.dart'; import '../../blocs/localization/app_localization.dart'; import '../../blocs/wage_seeker_registration/wage_seeker_location_bloc.dart'; import '../../utils/common_methods.dart'; -import '../../widgets/back.dart'; import '../../widgets/side_bar.dart'; import '../../widgets/mb/mb_detail_card.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' @@ -164,6 +163,7 @@ class _MeasurementBookInboxPageState extends State { ), drawer: DrawerWrapper( Drawer( + backgroundColor: const DigitColors().white, child: SideBar( module: CommonMethods.getLocaleModules(), ), @@ -224,63 +224,69 @@ class _MeasurementBookInboxPageState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - GestureDetector( - onTap: () { + // GestureDetector( + // onTap: () { + // setState(() { + // pageCount = 0; + // }); + // context.router + // .push(const MBFilterRoute()); + // }, + // child: Row( + // mainAxisAlignment: + // MainAxisAlignment.start, + // crossAxisAlignment: + // CrossAxisAlignment.center, + // children: [ + DigitIconButton( + iconText: + t.translate(i18.common.filter), + + onPressed: () { setState(() { pageCount = 0; }); context.router .push(const MBFilterRoute()); }, - child: Row( - mainAxisAlignment: - MainAxisAlignment.start, - crossAxisAlignment: - CrossAxisAlignment.center, - children: [ - DigitIconButton( - iconText: t - .translate(i18.common.filter), - - onPressed: () { - context.router.push( - const MBFilterRoute()); - }, - // iconSize: 30, - icon: Icons.filter_list_alt, - textDirection: TextDirection.ltr, - ), - mbInboxResponse.search - ? IconButton( - onPressed: () { - pageCount = 0; - context - .read< - MeasurementInboxBloc>() - .add( - MeasurementBookInboxBlocEvent( - businessService: - "MB", - limit: 10, - moduleName: - 'measurement-module', - offset: pageCount, - tenantId: - GlobalVariables - .tenantId!, - ), - ); - }, - icon: Icon( - Icons.restore_outlined, - color: const DigitColors() - .burningOrange, - ), - ) - : const SizedBox.shrink(), - ], - ), + // iconSize: 30, + icon: Icons.filter_list_alt, + textDirection: TextDirection.ltr, ), + // TODO: commenting for reset button + // - it will be enhanced in future + // mbInboxResponse.search + // ? IconButton( + // onPressed: () { + // pageCount = 0; + // context + // .read< + // MeasurementInboxBloc>() + // .add( + // MeasurementBookInboxBlocEvent( + // businessService: + // "MB", + // limit: 10, + // moduleName: + // 'measurement-module', + // offset: pageCount, + // tenantId: + // GlobalVariables + // .tenantId!, + // ), + // ); + // }, + // icon: Icon( + // Icons.restore_outlined, + // color: const DigitColors() + // .burningOrange, + // ), + // ) + // : const SizedBox.shrink(), + // end of it + //], + // ), + // ), DigitIconButton( iconText: t.translate( i18.measurementBook.sort), @@ -348,9 +354,12 @@ class _MeasurementBookInboxPageState extends State { child: SizedBox( width: MediaQuery.sizeOf(context).width, child: DigitOutLineButton( - // buttonStyle: const ButtonStyle( - - // ), + buttonStyle: OutlinedButton.styleFrom( + padding: const EdgeInsets.all(5), + minimumSize: Size( + MediaQuery.sizeOf(context) + .width, + 45)), label: t.translate( i18.measurementBook.openMbBook), onPressed: () { diff --git a/frontend/works_shg_app/lib/pages/login.dart b/frontend/works_shg_app/lib/pages/login.dart index 5e5ea07534..a7e9c3c80e 100644 --- a/frontend/works_shg_app/lib/pages/login.dart +++ b/frontend/works_shg_app/lib/pages/login.dart @@ -396,7 +396,7 @@ class _LoginPageState extends State }, onChange: (value) {}, ), - DigitDropdown( + DigitReactiveDropdown( initialValue: null, formControlName: cityDropDownKey, onChanged: (value) { diff --git a/frontend/works_shg_app/lib/widgets/side_bar.dart b/frontend/works_shg_app/lib/widgets/side_bar.dart index ca385ff74d..b5a6b29aeb 100644 --- a/frontend/works_shg_app/lib/widgets/side_bar.dart +++ b/frontend/works_shg_app/lib/widgets/side_bar.dart @@ -56,6 +56,7 @@ class _SideBar extends State { orElse: () => const SizedBox.shrink(), loaded: (value) { return ScrollableContent( + backgroundColor: const DigitColors().white, footer: const PoweredByDigit( version: Constants.appVersion, ), @@ -184,7 +185,7 @@ class _SideBar extends State { AppLocalizations.of(context).translate(i18.common.language), icon: SHGIcons.language, content: Padding( - padding: const EdgeInsets.all(16), + padding: const EdgeInsets.only(top:16,bottom: 16,right: 16), child: BlocBuilder( builder: (context, state) { From 4c899c3788ae27b2b5018903823a3a272ea25319 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 13 Aug 2024 18:12:18 +0530 Subject: [PATCH 129/292] url changed for unified-qa --- frontend/works_shg_app/.env | 26 +++++++++---------- frontend/works_shg_app/lib/services/urls.dart | 14 +++++----- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/frontend/works_shg_app/.env b/frontend/works_shg_app/.env index 51dfd97a24..b43e1c771a 100644 --- a/frontend/works_shg_app/.env +++ b/frontend/works_shg_app/.env @@ -1,17 +1,6 @@ -BASE_URL='https://mukta-uat.digit.org/' -MDMS_API_PATH='egov-mdms-service/v1/_search' -GLOBAL_ASSETS='https://mukta-uat.digit.org/mukta-uat-bucket-s3/muktaGlobalConfig.json' -TENANT_ID='statea' -CONNECT_TIMEOUT="120000" -RECEIVE_TIMEOUT="120000" -SEND_TIMEOUT="120000" -ENV_NAME="UAT" -AADHAAR_VERIFY_PATH='http://164.100.141.79/authekycv4/api/authenticate' - - -# BASE_URL='https://unified-qa.digit.org/' +# BASE_URL='https://mukta-uat.digit.org/' # MDMS_API_PATH='egov-mdms-service/v1/_search' -# GLOBAL_ASSETS='https://egov-dev-assets.s3.ap-south-1.amazonaws.com/globalConfigsMuktaWorksShgQA.json' +# GLOBAL_ASSETS='https://mukta-uat.digit.org/mukta-uat-bucket-s3/muktaGlobalConfig.json' # TENANT_ID='statea' # CONNECT_TIMEOUT="120000" # RECEIVE_TIMEOUT="120000" @@ -19,3 +8,14 @@ AADHAAR_VERIFY_PATH='http://164.100.141.79/authekycv4/api/authenticate' # ENV_NAME="UAT" # AADHAAR_VERIFY_PATH='http://164.100.141.79/authekycv4/api/authenticate' + +BASE_URL='https://unified-qa.digit.org/' +MDMS_API_PATH='egov-mdms-service/v1/_search' +GLOBAL_ASSETS='https://egov-dev-assets.s3.ap-south-1.amazonaws.com/globalConfigsMuktaWorksShgQA.json' +TENANT_ID='statea' +CONNECT_TIMEOUT="120000" +RECEIVE_TIMEOUT="120000" +SEND_TIMEOUT="120000" +ENV_NAME="UAT" +AADHAAR_VERIFY_PATH='http://164.100.141.79/authekycv4/api/authenticate' + diff --git a/frontend/works_shg_app/lib/services/urls.dart b/frontend/works_shg_app/lib/services/urls.dart index 005393982c..c0e0b8055a 100644 --- a/frontend/works_shg_app/lib/services/urls.dart +++ b/frontend/works_shg_app/lib/services/urls.dart @@ -36,14 +36,14 @@ class ORGServices { class BillServices { const BillServices(); - String get searchMyBills => '/expense-calculator/v1/_search'; + String get searchMyBills => '/mukta-expense-calculator/v1/_search'; } class WageSeekerServices { const WageSeekerServices(); // unified-qa // String get individualCreate => 'mukta-individual/v1/_create'; - String get individualCreate => 'individual/v1/_create'; + String get individualCreate => 'mukta-individual/v1/_create'; String get bankCreate => '/bankaccount-service/bankaccount/v1/_create'; String get adharVerifyUrl=>'http://164.100.141.79/authekycv4/api/authenticate'; @@ -71,14 +71,14 @@ class UserServices { class WorkServices { const WorkServices(); - String get myWorks => 'contract/v1/_search'; - String get updateWorkOrder => 'contract/v1/_update'; - String get createWorkOrder => 'contract/v1/_create'; + String get myWorks => 'mukta-contract/v1/_search'; + String get updateWorkOrder => 'mukta-contract/v1/_update'; + String get createWorkOrder => 'mukta-contract/v1/_create'; } class EmpHrms { const EmpHrms(); - String get leadHrmsEmployee => 'egov-hrms/employees/_search'; + String get leadHrmsEmployee => 'mukta-egov-hrms/employees/_search'; } @@ -120,6 +120,6 @@ class MeasurementService{ class EstimateService{ const EstimateService(); - String get estimateSearch=>'estimate/v1/_search'; + String get estimateSearch=>'mukta-estimate/v1/_search'; } From b40e18b697a2601b2bfb854dd0d0d28065beaa28 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 13 Aug 2024 20:16:21 +0530 Subject: [PATCH 130/292] added all css changes --- .../packages/css/src/components/filters.scss | 6 +- .../css/src/components/measurement.scss | 7 +- .../packages/css/src/components/table.scss | 9 +- .../packages/css/src/index.scss | 29 +- .../css/src/pages/employee/coreOverride.scss | 205 +++++++++ .../css/src/pages/employee/index.scss | 7 + .../css/src/pages/works/InboxLinks.scss | 4 +- .../css/src/pages/works/horizontalNav.scss | 16 +- .../src/pages/works/inboxSearchComposer.scss | 8 +- .../src/pages/works/searchComponentTable.scss | 1 + .../packages/css/src/typography.scss | 398 ++++++++++++++++++ .../packages/css/tailwind.config.js | 179 ++++++++ 12 files changed, 839 insertions(+), 30 deletions(-) create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/coreOverride.scss create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/css/src/typography.scss diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/filters.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/filters.scss index 8762590e2a..4c278b1b9c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/filters.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/filters.scss @@ -20,8 +20,8 @@ display: none; &:checked ~ label { - border-color: #F47738; - color: #F47738; + border-color: #C84C0E; + color: #C84C0E; } } @@ -86,7 +86,7 @@ .clearText { display: block; text-align: right; - color: #f47738; + color: #C84C0E; margin-top: 20px; margin-left: 10px; } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/measurement.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/measurement.scss index 9fbced9e38..97b9b6a7c8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/measurement.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/measurement.scss @@ -61,6 +61,11 @@ border-radius: 8px; } +.done-button, +.clear-button{ + border-radius: 0px; +} + .view-utilization-card { display: flex; flex-direction: row; @@ -68,7 +73,7 @@ border: #cc7b2f; } -$fill-color: #f47738; +$fill-color: #C84C0E; .addIcon { fill: $fill-color; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/table.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/table.scss index 9489449980..7e70694204 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/table.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/table.scss @@ -94,7 +94,7 @@ td:first-child { position: sticky; background: #fff; - color: #f47738; + color: #C84C0E; left: 0; border-right: 1px solid #b1b4b6; } @@ -196,7 +196,8 @@ } .reports-table { - margin-top: 2rem; + /*margin-top: 2rem;*/ + margin-top: 0px !important; thead { th { &:first-child { @@ -423,4 +424,8 @@ .measure-table-header { float: right; margin-top: -2rem; +} + +.mb-history-table{ + box-shadow: none; } \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/index.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/index.scss index 7918c4b8d2..dedf56b018 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/index.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/index.scss @@ -111,7 +111,7 @@ } .clear-search-label { - color: #f47738; + color: #C84C0E; cursor: pointer; } @@ -124,7 +124,7 @@ @apply flex justify-between items-center; .download-button { - color: #f47738; + color: #C84C0E; margin-left: 8px; } } @@ -133,13 +133,13 @@ @apply flex mb-sm; .download-button { - color: #f47738; + color: #C84C0E; margin-left: 8px; } } .check-page-link-button { - color: #f47738 !important; + color: #C84C0E !important; } .pt-application-download-btn { @@ -163,10 +163,10 @@ gap: 10px; svg { - fill: #f47738; + fill: #C84C0E; } - color: #f47738; + color: #C84C0E; cursor: pointer; font-weight: 500; @@ -196,7 +196,6 @@ .disabled { @apply border-grey-dark text-grey-dark !important; pointer-events: none !important; - background-color: #EEEEEE; } .card-date-input { @@ -477,7 +476,7 @@ input[type="number"] { padding: 8px 24px; color: white; cursor: pointer; - background-color: #f47738; + background-color: #C84C0E; } } } @@ -833,9 +832,9 @@ input[type="number"] { top: 0; right: 1rem; background: white; - border: 1px solid #F47738; + border: 1px solid #C84C0E; padding: 6px; - color: #F47738; + color: #C84C0E; display: flex; align-items: center; @@ -864,7 +863,7 @@ input[type="number"] { } .status-value-link { - color: #F47738; + color: #C84C0E; cursor: pointer; } @@ -1132,4 +1131,12 @@ input[type=“date”]::-webkit-calendar-picker-indicator { .pac-container { z-index: 11000 !important; +} + +.languageSelection{ + width: unset !important; +} + +.mb-history-header{ + color:#0b0c0c !important; } \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/coreOverride.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/coreOverride.scss new file mode 100644 index 0000000000..aa93fb57cd --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/coreOverride.scss @@ -0,0 +1,205 @@ +@import "../../typography.scss"; + +/* language selection issue*/ +.customBtn-selected { + background-color: theme(digitv2.lightTheme.primary) !important; +} + +/* login screen issue*/ + +.primary-label-btn { + color: theme(digitv2.lightTheme.primary) !important; +} + +/* landing screen issue*/ + +.employeeCard { + .complaint-links-container .header .logo { + background-color: theme(digitv2.lightTheme.primary) !important; + } + + .complaint-links-container .body { + &.link { + color: theme(digitv2.lightTheme.primary) !important; + } + .inbox-total { + background-color: theme(digitv2.lightTheme.primary) !important; + } + } +} + +.employee .topbar .right .user-img-txt { + background-color: theme(digitv2.lightTheme.primary) !important; +} +/* button component issue*/ + +.action-bar-wrap { + .submit-bar { + background-color: theme(digitv2.lightTheme.primary) !important; + } +} + +.jk-digit-secondary-btn { + color: theme(digitv2.lightTheme.primary) !important; + border-color: theme(digitv2.lightTheme.primary) !important; + + svg { + fill: theme(digitv2.lightTheme.primary) !important; + + path { + fill: theme(digitv2.lightTheme.primary) !important; + } + } +} +.error-boundary .error-container button { + background-color: theme(digitv2.lightTheme.primary) !important; +} + +/* inbox screen issue*/ + +.inbox-search-wrapper { + .search-tabs-container .search-tab-head-selected { + color: theme(digitv2.lightTheme.primary) !important; + border-color: theme(digitv2.lightTheme.primary) !important; + } + .submit-bar { + background-color: theme(digitv2.lightTheme.primary) !important; + } + .search-component-table .link { + color: theme(digitv2.lightTheme.primary) !important; + } + .link-label { + color: theme(digitv2.lightTheme.primary) !important; + } +} +.drag-drop-container .drag-drop-text .browse-text { + color: theme(digitv2.lightTheme.primary) !important; +} +/* toast new componnet css added */ + +.toast-success { + gap: 0.5rem; + height: 3rem; + padding: 0.75rem 0.5rem 0.75rem 0.75rem !important; + background-color: theme(digitv2.alert.success); + transition: bottom 0.5s ease; + grid-gap: 0.5rem; + &.error { + background-color: theme(digitv2.alert.error) !important; + } + + &.warning { + background-color: #f19100; + + &.warning-buttons { + @apply block; + } + } + + h2 { + @apply text-left overflow-hidden flex-grow flex items-center h-6; + letter-spacing: 0rem; + color: theme(digitv2.lightTheme.paper); + margin: 0rem; + white-space: nowrap; + text-overflow: ellipsis; + font-family: Roboto; + font-weight: 500; + font-size: 1.25rem; + font-style: normal; + } + svg { + @apply flex-shrink-0; + } +} + +@keyframes slideInFromBottom { + from { + bottom: -3rem; + } + to { + bottom: 4rem; + } +} + +.toast-success.animate { + animation: slideInFromBottom 0.5s ease forwards; +} + +@media screen and (max-width: 768px) { + .topbar { + background: #0b4b66 !important; + color: #fff; + } +} + +.digit-button-primary{ + background-color: theme(digitv2.lightTheme.primary) !important; +} +.digit-button-secondary{ + .icon-label-container{ + h2{ + color: theme(digitv2.lightTheme.primary) !important; + } + } +} + +.employee{ + .digit-employeeSidebar{ + .sidebar{ + z-index:999 !important + } + } +} + +.inbox-search-wrapper .inbox-search-component-wrapper .sections-parent.inbox .links .inbox-links-icon{ + color: #C84C0E !important; + fill: #C84C0E !important; +} + +.inbox-search-wrapper .inbox-search-component-wrapper .sections-parent.inbox .links .inbox-links-icon path{ + fill: #C84C0E !important; +} + +.link-label{ + color: #C84C0E !important; +} + +.bread-crumb{ + margin-bottom: 1.5rem; +} + +.table{ + border-bottom: 1px solid #d6d5d4; +} + +.pagination{ + border: none; +} + +.employee-data-table { + .border-none{ + justify-content: unset; + + h2{ + width: 17rem; + } + } +} + +.employee-download-btn-className{ + svg{ + color: #C84C0E; + } +} + +.multilink-link-button{ + color: #C84C0E !important; +} +/*.employee-main-application-details { + padding-top: 0px !important; +} + +.employee-application-details { + margin-bottom: 1.5rem; +}*/ \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/index.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/index.scss index fab9303022..11ab29020d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/index.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/index.scss @@ -1,3 +1,6 @@ +@import "./coreOverride.scss"; +@import "../../typography.scss"; + /* TODO: convert using tailwind */ .employee { .breadcrumb { @@ -595,4 +598,8 @@ margin-left: 0px !important; margin-right: 0px !important; margin-bottom: 1.5rem !important; +} + +.digit-radio-options-wrap label{ + @extend .typography.body-s; } \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/InboxLinks.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/InboxLinks.scss index 1efd8c15fc..621b95a403 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/InboxLinks.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/InboxLinks.scss @@ -12,7 +12,7 @@ align-items: center; justify-content: flex-start; .inbox-search-icon--projects { - fill : #f47738; + fill : #C84C0E; height: 2rem; width: 2rem; } @@ -47,7 +47,7 @@ .link { padding: 8px; --text-opacity: 1; - color: #f47738; + color: #C84C0E; color: rgba(244, 119, 56, var(--text-opacity)); } } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/horizontalNav.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/horizontalNav.scss index b97b7c8271..d00c13677b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/horizontalNav.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/horizontalNav.scss @@ -1,7 +1,7 @@ .horizontal-nav { overflow: auto; display: flex; - margin-top: 3rem; + margin-top: 0rem; .menu-item { border: 10px; @@ -54,16 +54,17 @@ &.active { font-weight: 600; - border-bottom: 3px solid theme(colors.primary.main); + border: 1px solid theme(digitv2.lightTheme.primary); + border-bottom: 3px solid theme(digitv2.lightTheme.primary); background-color: #FFFFFF; .menu-label { - color: theme(colors.primary.main); + color: theme(digitv2.lightTheme.primary); } .icon { - fill: theme(colors.primary.main); + fill: theme(digitv2.lightTheme.primary); } } @@ -120,16 +121,17 @@ &.active { font-weight: 600; - border-bottom: 3px solid theme(colors.primary.main); + border: 1px solid theme(digitv2.lightTheme.primary); + border-bottom: 3px solid theme(digitv2.lightTheme.primary); background-color: #FFFFFF; .menu-label { - color: theme(colors.primary.main); + color: theme(digitv2.lightTheme.primary); } .icon { - fill: theme(colors.primary.main); + fill: theme(digitv2.lightTheme.primary); } } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/inboxSearchComposer.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/inboxSearchComposer.scss index 93c8152213..e3a3f09a72 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/inboxSearchComposer.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/inboxSearchComposer.scss @@ -11,10 +11,10 @@ &.inbox { .links{ .inbox-links-icon{ - color:#f47738; - fill:#f47738; + color:#C84C0E; + fill:#C84C0E; path{ - fill:#f47738; + fill:#C84C0E; } } } @@ -62,7 +62,7 @@ } &.links { height: 100%; - color : #f47738; + color : #C84C0E; .inbox-search-links-component { height: 100% !important; width: 100%; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/searchComponentTable.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/searchComponentTable.scss index 412aabaf20..15bbf90ac4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/searchComponentTable.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/searchComponentTable.scss @@ -4,6 +4,7 @@ overflow-x: auto; overflow-y:hidden; border-radius: 4px; + box-shadow: 0px 1px 2px 0px #00000029; table { th { .tooltip { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/typography.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/typography.scss new file mode 100644 index 0000000000..29b0823c6d --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/typography.scss @@ -0,0 +1,398 @@ +.typography { + + &.heading-xl { + font-family: theme(digitv2.fontFamily.rc); + font-style: theme(digitv2.fontStyle.normal); + font-weight: theme(digitv2.fontWeight.bold); + line-height: theme(digitv2.lineHeight.lineheight1); + + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-size: theme(digitv2.fontSize.heading-xl.mobile); + } + + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-size: theme(digitv2.fontSize.heading-xl.tablet); + } + + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-size: theme(digitv2.fontSize.heading-xl.desktop); + } + } + + &.heading-l { + font-family: theme(digitv2.fontFamily.sans); + font-style: theme(digitv2.fontStyle.normal); + font-weight: theme(digitv2.fontWeight.bold); + line-height: theme(digitv2.lineHeight.lineheight1); + + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-size: theme(digitv2.fontSize.heading-l.mobile); + } + + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-size: theme(digitv2.fontSize.heading-l.tablet); + } + + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-size: theme(digitv2.fontSize.heading-l.desktop); + } + } + + &.heading-m { + font-family: theme(digitv2.fontFamily.sans); + font-style: theme(digitv2.fontStyle.normal); + font-weight: theme(digitv2.fontWeight.bold); + line-height: theme(digitv2.lineHeight.lineheight1); + + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-size: theme(digitv2.fontSize.heading-m.mobile); + } + + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-size: theme(digitv2.fontSize.heading-m.tablet); + } + + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-size: theme(digitv2.fontSize.heading-m.desktop); + } + } + + &.heading-s { + font-family: theme(digitv2.fontFamily.sans); + font-style: theme(digitv2.fontStyle.normal); + font-weight: theme(digitv2.fontWeight.bold); + line-height: theme(digitv2.lineHeight.lineheight1); + + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-size: theme(digitv2.fontSize.heading-s.mobile); + } + + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-size: theme(digitv2.fontSize.heading-s.tablet); + } + + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-size: theme(digitv2.fontSize.heading-s.desktop); + } + } + + &.heading-xs { + font-family: theme(digitv2.fontFamily.sans); + font-style: theme(digitv2.fontStyle.normal); + font-weight: theme(digitv2.fontWeight.bold); + line-height: theme(digitv2.lineHeight.lineheight1); + + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-size: theme(digitv2.fontSize.heading-xs.mobile); + } + + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-size: theme(digitv2.fontSize.heading-xs.tablet); + } + + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-size: theme(digitv2.fontSize.heading-xs.desktop); + } + } + + &.caption-l { + font-family: theme(digitv2.fontFamily.sans); + font-style: theme(digitv2.fontStyle.normal); + font-weight: theme(digitv2.fontWeight.medium); + line-height: theme(digitv2.lineHeight.lineheight1); + + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-size: theme(digitv2.fontSize.caption-l.mobile); + } + + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-size: theme(digitv2.fontSize.caption-l.tablet); + } + + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-size: theme(digitv2.fontSize.caption-l.desktop); + } + } + + &.caption-m { + font-family: theme(digitv2.fontFamily.sans); + font-style: theme(digitv2.fontStyle.normal); + font-weight: theme(digitv2.fontWeight.medium); + line-height: theme(digitv2.lineHeight.lineheight1); + + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-size: theme(digitv2.fontSize.caption-m.mobile); + } + + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-size: theme(digitv2.fontSize.caption-m.tablet); + + } + + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-size: theme(digitv2.fontSize.caption-m.desktop); + } + + } + + &.caption-s { + font-family: theme(digitv2.fontFamily.sans); + font-style: theme(digitv2.fontStyle.normal); + font-weight: theme(digitv2.fontWeight.medium); + line-height: theme(digitv2.lineHeight.lineheight1); + + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-size: theme(digitv2.fontSize.caption-s.mobile); + } + + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-size: theme(digitv2.fontSize.caption-s.tablet); + } + + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-size: theme(digitv2.fontSize.caption-s.desktop); + } + + } + + &.body-l { + font-family: theme(digitv2.fontFamily.sans); + font-style: theme(digitv2.fontStyle.normal); + font-weight: theme(digitv2.fontWeight.regular); + line-height: theme(digitv2.lineHeight.lineheight2); + + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-size: theme(digitv2.fontSize.body-l.mobile); + } + + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-size: theme(digitv2.fontSize.body-l.tablet); + } + + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-size: theme(digitv2.fontSize.body-l.desktop); + } + } + + &.body-s { + font-family: theme(digitv2.fontFamily.sans); + font-style: theme(digitv2.fontStyle.normal); + font-weight: theme(digitv2.fontWeight.regular); + line-height: theme(digitv2.lineHeight.lineheight2); + + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-size: theme(digitv2.fontSize.body-s.mobile); + } + + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-size: theme(digitv2.fontSize.body-s.tablet); + } + + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-size: theme(digitv2.fontSize.body-s.desktop); + } + } + + &.body-xs { + font-family: theme(digitv2.fontFamily.sans); + font-style: theme(digitv2.fontStyle.normal); + font-weight: theme(digitv2.fontWeight.regular); + line-height: theme(digitv2.lineHeight.lineheight2); + + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-size: theme(digitv2.fontSize.body-xs.mobile); + } + + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-size: theme(digitv2.fontSize.body-xs.tablet); + } + + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-size: theme(digitv2.fontSize.body-xs.desktop); + } + } + + &.label { + font-family: theme(digitv2.fontFamily.sans); + font-style: theme(digitv2.fontStyle.normal); + font-weight: theme(digitv2.fontWeight.regular); + line-height: theme(digitv2.lineHeight.lineheight2); + + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-size: theme(digitv2.fontSize.label.mobile); + } + + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-size: theme(digitv2.fontSize.label.tablet); + } + + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-size: theme(digitv2.fontSize.label.desktop); + } + } + + &.link { + font-family: theme(digitv2.fontFamily.sans); + font-style: theme(digitv2.fontStyle.normal); + font-weight: theme(digitv2.fontWeight.regular); + text-decoration: theme(digitv2.textDecorationLine.underline); + font-size: theme(digitv2.fontSize.link-l.mobile); + } + + &.link-L { + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-family: theme(digitv2.fontFamily.sans); + font-size: theme(digitv2.fontSize.link-l.mobile); + font-weight: theme(digitv2.fontWeight.regular); + line-height: theme(digitv2.lineHeight.lineheight2); + text-decoration: theme(digitv2.textDecorationLine.underline); + text-decoration-thickness: 0.063rem; + } + + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-family: theme(digitv2.fontFamily.sans); + font-size: theme(digitv2.fontSize.link-l.tablet); + font-weight: theme(digitv2.fontWeight.regular); + line-height: theme(digitv2.lineHeight.lineheight2); + text-decoration: theme(digitv2.textDecorationLine.underline); + text-decoration-thickness: 0.063rem; + } + + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-family: theme(digitv2.fontFamily.sans); + font-size: theme(digitv2.fontSize.link-l.desktop); + font-weight: theme(digitv2.fontWeight.regular); + line-height: theme(digitv2.lineHeight.lineheight2); + text-decoration: theme(digitv2.textDecorationLine.underline); + text-decoration-thickness: 0.063rem; + } + } + + &.link-S { + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-family: theme(digitv2.fontFamily.sans); + font-size: theme(digitv2.fontSize.link-s.mobile); + font-weight: theme(digitv2.fontWeight.regular); + line-height: theme(digitv2.lineHeight.lineheight2); + text-decoration: theme(digitv2.textDecorationLine.underline); + text-decoration-thickness: 0.063rem; + } + + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-family: theme(digitv2.fontFamily.sans); + font-size: theme(digitv2.fontSize.link-s.tablet); + font-weight: theme(digitv2.fontWeight.regular); + line-height: theme(digitv2.lineHeight.lineheight2); + text-decoration: theme(digitv2.textDecorationLine.underline); + text-decoration-thickness: 0.063rem; + } + + + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-family: theme(digitv2.fontFamily.sans); + font-size: theme(digitv2.fontSize.link-s.desktop); + font-weight: theme(digitv2.fontWeight.regular); + line-height: theme(digitv2.lineHeight.lineheight2); + text-decoration: theme(digitv2.textDecorationLine.underline); + text-decoration-thickness: 0.063rem; + } + } + + &.link-XS { + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-family: theme(digitv2.fontFamily.sans); + font-size: theme(digitv2.fontSize.link-xs.mobile); + font-weight: theme(digitv2.fontWeight.regular); + line-height: theme(digitv2.lineHeight.lineheight2); + text-decoration: theme(digitv2.textDecorationLine.underline); + text-decoration-thickness: 0.063rem; + } + + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-family: theme(digitv2.fontFamily.sans); + font-size: theme(digitv2.fontSize.link-xs.tablet); + font-weight: theme(digitv2.fontWeight.regular); + line-height: theme(digitv2.lineHeight.lineheight2); + text-decoration: theme(digitv2.textDecorationLine.underline); + text-decoration-thickness: 0.063rem; + } + + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-family: theme(digitv2.fontFamily.sans); + font-size: theme(digitv2.fontSize.link-xs.desktop); + font-weight: theme(digitv2.fontWeight.regular); + line-height: theme(digitv2.lineHeight.lineheight2); + text-decoration: theme(digitv2.textDecorationLine.underline); + text-decoration-thickness: 0.063rem; + } + } + + &.button { + + &.large { + font-size: theme(digitv2.fontSize.button.large); + line-height: theme(digitv2.lineHeight.lineheight1); + font-family: theme(digitv2.fontFamily.sans); + font-weight: theme(digitv2.fontWeight.medium); + } + + &.medium { + font-size: theme(digitv2.fontSize.button.medium); + line-height: theme(digitv2.lineHeight.lineheight1); + font-family: theme(digitv2.fontFamily.sans); + font-weight: theme(digitv2.fontWeight.medium); + } + + &.small { + font-size: theme(digitv2.fontSize.button.small); + line-height: theme(digitv2.lineHeight.lineheight1); + font-family: theme(digitv2.fontFamily.sans); + font-weight: theme(digitv2.fontWeight.medium); + } + } +} \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/tailwind.config.js b/frontend/micro-ui/web/micro-ui-internals/packages/css/tailwind.config.js index 1fc8ea1832..94e93a0ef2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/tailwind.config.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/tailwind.config.js @@ -100,6 +100,185 @@ module.exports = { 10: "10px", }, extend: {}, + digitv2: { + lightTheme: { + primary: "#C84C0E", + "text-color-primary": "#0B0C0C", + "text-color-secondary": "#505A5F", + "text-color-disabled": "#B1B4B6", + background: "#EEEEEE", + paper: "#FFFFFF", + "paper-secondary": "#FAFAFA", + divider: "#D6D5D4", + "header-sidenav": "#0B4B66", + "input-border": "#505A5F", + "primary-bg": "#FEEFE7", + "text-primary": "#363636", + "error-v2": "#D4351C", + }, + alert: { + error: "#b91900", + "error-bg": "#EFC7C1", + success: "#00703C", + "success-bg": "#BAD6C9", + info: "#3498DB", + "info-bg": "#C7E0F1", + }, + + chart: { + "chart-1": "#048BD0", + "chart-1-gradient": "#048BD0", + "chart-2": "#FBC02D", + "chart-2-gradient": "#FBC02D", + "chart-3": "#8E29BF", + "chart-4": "#EA8A3B", + "chart-5": "#0BABDE", + }, + fontSize: { + "heading-xl": { + mobile: "2rem", + tablet: "2.25rem", + desktop: "2.5rem", + }, + "heading-l": { + mobile: "1.5rem", + tablet: "1.75rem", + desktop: "2rem", + }, + "heading-m": { + mobile: "1.25rem", + tablet: "1.375rem", + desktop: "1.5rem", + }, + "heading-s": { + mobile: "1rem", + tablet: "1rem", + desktop: "1rem", + }, + "heading-xs": { + mobile: "0.75rem", + tablet: "0.875rem", + desktop: "0.875rem", + }, + "caption-l": { + mobile: "1.5rem", + tablet: "1.75rem", + desktop: "1.75rem", + }, + "caption-m": { + mobile: "1.25rem", + tablet: "1.5rem", + desktop: "1.5rem", + }, + "caption-s": { + mobile: "1rem", + tablet: "1.25rem", + desktop: "1.25rem", + }, + "body-l": { + mobile: "1rem", + tablet: "1.25rem", + desktop: "1.25rem", + }, + "body-s": { + mobile: "0.875rem", + tablet: "1rem", + desktop: "1rem", + }, + "body-xs": { + mobile: "0.75rem", + tablet: "0.875rem", + desktop: "0.875rem", + }, + label: { + mobile: "1rem", + tablet: "1rem", + desktop: "1rem", + }, + "link-l": { + mobile: "1rem", + tablet: "1.25rem", + desktop: "1.25rem", + }, + "link-s": { + mobile: "0.875rem", + tablet: "1rem", + desktop: "1rem", + }, + "link-xs": { + mobile: "0.75rem", + tablet: "0.875rem", + desktop: "0.875rem", + }, + button: { + large: "1.25rem", + medium: "1rem", + small: "0.875rem", + }, + }, + fontFamily: { + sans: ["Roboto"], + rc: ['"Roboto Condensed"'], + }, + fontStyle: { + normal: "normal", + italic: "italic", + }, + textDecorationLine: { + underline: "underline", + }, + fontWeight: { + regular: 400, + medium: 500, + bold: 700, + }, + lineHeight: { + "line-height-body-l": { + mobile: "1.5rem", + tablet: "1.75rem", + desktop: "1.75rem", + }, + "line-height-body-s": { + mobile: "1.0938rem", + tablet: "1.5rem", + desktop: "1.5rem", + }, + "line-height-body-xs": { + mobile: "1.125rem", + tablet: "1.5rem", + desktop: "1.5rem", + }, + normal: "normal", + + lineheight1: "1.14rem", + lineheight2: "1.37rem", + }, + screens: { + mobile: "400px", + tablet: "768px", + desktop: "1024px", + }, + spacers: { + spacer0: "0rem", + spacer1: "0.25rem", + spacer2: "0.5rem", + spacer3: "0.75rem", + spacer4: "1rem", + spacer5: "1.25rem", + spacer6: "1.5rem", + spacer7: "1.75rem", + spacer8: "2rem", + spacer9: "2.25rem", + spacer10: "2.5rem", + spacer11: "2.75rem", + spacer12: "3rem", + }, + divider: { + dividerS: "0.063rem solid #D6D5D4", + dividerM: "0.125rem solid #D6D5D4", + dividerL: "0.25rem solid #D6D5D4", + }, + }, }, variants: {}, plugins: [], From 8d9bd68780174c2a561811cdf75a32428a1a9acf Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 13 Aug 2024 20:20:12 +0530 Subject: [PATCH 131/292] updated components --- .../src/atoms/EmployeeModuleCard.js | 2 +- .../src/atoms/InboxSearchLinks.js | 2 +- .../react-components/src/atoms/MultiLink.js | 2 +- .../src/atoms/SearchComponent.js | 18 +- .../react-components/src/atoms/svgindex.js | 4 +- .../react-components/src/hoc/FormComposer.js | 111 +++-- .../src/hoc/UploadFileComposer.js | 274 ++++++------ .../src/molecules/LocationDropdownWrapper.js | 16 +- .../src/molecules/RenderFormFields.js | 423 ++++++++++-------- .../src/molecules/WorkflowStatusFilter.js | 5 +- 10 files changed, 485 insertions(+), 372 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/EmployeeModuleCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/EmployeeModuleCard.js index faa81f1968..6da48136fa 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/EmployeeModuleCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/EmployeeModuleCard.js @@ -61,7 +61,7 @@ const ModuleCardFullWidth = ({ moduleName, links = [], isCitizen = false, class {moduleName} - history.push(`${link}`)}> + history.push(`${link}`)}> {subHeader || "-"} {" "} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/InboxSearchLinks.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/InboxSearchLinks.js index 9d340be019..6b92c4b50a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/InboxSearchLinks.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/InboxSearchLinks.js @@ -19,7 +19,7 @@ const InboxSearchLinks = ({headerText, links, businessService, customClass="", l }, []); const renderHeader = () =>
- {logoIcon?.component && IconComponent && } + {logoIcon?.component && IconComponent && } {t(headerText)}
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/MultiLink.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/MultiLink.js index 8aab9e56be..ce0c31d760 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/MultiLink.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/MultiLink.js @@ -25,7 +25,7 @@ const MultiLink = forwardRef(({ className, onHeadClick, displayOptions = false, return (
- {icon ? icon : } + {icon ? icon : }
{displayOptions ? : null} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/SearchComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/SearchComponent.js index d3e5d731b4..48511f508f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/SearchComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/SearchComponent.js @@ -6,9 +6,10 @@ import RenderFormFields from "../molecules/RenderFormFields"; import Header from "../atoms/Header"; import LinkLabel from '../atoms/LinkLabel'; import SubmitBar from "../atoms/SubmitBar"; -import Toast from "../atoms/Toast"; +// import Toast from "../atoms/Toast"; import { FilterIcon, RefreshIcon } from "./svgindex"; import HorizontalNavV2 from "./HorizontalNavV2"; +import { Toast} from "@egovernments/digit-ui-components"; const setUIConf = (uiConfig) => { if(uiConfig.additionalTabs) @@ -27,7 +28,7 @@ const SearchComponent = ({ uiConfig, header = "", screenType = "search", fullCon const [showToast,setShowToast] = useState(null) let updatedFields = []; const {apiDetails} = fullConfig - +console.log(fullConfig?.type,"type") if (fullConfig?.postProcessResult){ //conditions can be added while calling postprocess function to pass different params Digit?.Customizations?.[apiDetails?.masterName]?.[apiDetails?.moduleName]?.postProcess(data, uiConfig) @@ -85,7 +86,7 @@ const SearchComponent = ({ uiConfig, header = "", screenType = "search", fullCon } }) } else { - setShowToast({ warning: true, label: t("ES_COMMON_MIN_SEARCH_CRITERIA_MSG") }) + setShowToast({ type: "warning", label: t("ES_COMMON_MIN_SEARCH_CRITERIA_MSG") }) setTimeout(closeToast, 3000); } } @@ -159,11 +160,14 @@ const SearchComponent = ({ uiConfig, header = "", screenType = "search", fullCon
- { showToast && } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/svgindex.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/svgindex.js index 7de3a0e0eb..13e5f0b828 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/svgindex.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/svgindex.js @@ -502,8 +502,8 @@ const ExternalLinkIcon = () => ( ); -const PrimaryDownlaodIcon = () => ( - +const PrimaryDownlaodIcon = ({fill}) => ( + ); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js index 51d8dd02ee..37c99f0339 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js @@ -9,28 +9,30 @@ import CardSubHeader from "../atoms/CardSubHeader"; import CardSectionHeader from "../atoms/CardSectionHeader"; import CardLabelDesc from "../atoms/CardLabelDesc"; import CardLabelError from "../atoms/CardLabelError"; -import TextArea from "../atoms/TextArea"; -import TextInput from "../atoms/TextInput"; +// import TextArea from "../atoms/TextArea"; +// import TextInput from "../atoms/TextInput"; import ActionBar from "../atoms/ActionBar"; import SubmitBar from "../atoms/SubmitBar"; -import LabelFieldPair from "../atoms/LabelFieldPair"; +// import LabelFieldPair from "../atoms/LabelFieldPair"; import LinkButton from "../atoms/LinkButton"; import ApiDropdown from "../molecules/ApiDropdown"; import { useTranslation } from "react-i18next"; import MobileNumber from "../atoms/MobileNumber"; import _ from "lodash"; -import CustomDropdown from "../molecules/CustomDropdown"; +// import CustomDropdown from "../molecules/CustomDropdown"; import MultiUploadWrapper from "../molecules/MultiUploadWrapper"; import HorizontalNav from "../atoms/HorizontalNav"; -import Toast from "../atoms/Toast"; +// import Toast from "../atoms/Toast"; import UploadFileComposer from "./UploadFileComposer"; -import CheckBox from "../atoms/CheckBox"; -import MultiSelectDropdown from "../atoms/MultiSelectDropdown"; +// import CheckBox from "../atoms/CheckBox"; +// import MultiSelectDropdown from "../atoms/MultiSelectDropdown"; import Paragraph from "../atoms/Paragraph"; import InputTextAmount from "../atoms/InputTextAmount"; import WrapperComponent from "../atoms/WrapperComponent"; +import { CustomDropdown,Toast, CheckBox,MultiSelectDropdown, TextArea, TextInput, LabelFieldPair,ErrorMessage,StringManipulator ,Header} from "@egovernments/digit-ui-components"; + const wrapperStyles = { // "display":"flex", // "flexDirection":"column", @@ -149,7 +151,7 @@ export const FormComposer = (props) => { case "time": // if (populators.defaultValue) setTimeout(setValue(populators?.name, populators.defaultValue)); return ( -
+
{populators?.componentInFront ? ( {populators.componentInFront} ) : null} @@ -165,14 +167,16 @@ export const FormComposer = (props) => { errorStyle={errors?.[populators.name]} max={populators?.validation?.max} min={populators?.validation?.min} - disable={disable} - style={type === "date" ? { paddingRight: "3px" } : ""} + disabled={disable} + // style={type === "date" ? { paddingRight: "3px" } : ""} maxlength={populators?.validation?.maxlength} minlength={populators?.validation?.minlength} customIcon={populators?.customIcon} customClass={populators?.customClass} ValidationRequired={populators?.validation?.ValidationRequired} validation={populators?.validation} + step={config?.step} + onIconSelection={populators?.onIconSelection} /> )} name={populators.name} @@ -191,7 +195,7 @@ export const FormComposer = (props) => { rules={{ required: isMandatory, ...populators.validation }} render={(props) => { return ( -
+
{ name={populators.name} onChange={onChange} inputRef={ref} - disable={disable} + disabled={disable} errorStyle={errors?.[populators.name]} - style={{ marginTop: 0 }} + // style={{ marginTop: 0 }} maxlength={populators?.validation?.maxlength} minlength={populators?.validation?.minlength} /> @@ -324,7 +328,7 @@ export const FormComposer = (props) => { rules={{ required: populators?.isMandatory }} render={(props) => { return ( -
+
{ // const obj = { @@ -340,6 +344,8 @@ export const FormComposer = (props) => { styles={populators?.styles} style={populators?.labelStyles} customLabelMarkup={populators?.customLabelMarkup} + disabled={disable} + isLabelFirst={populators?.isLabelFirst} />
); @@ -393,6 +399,7 @@ export const FormComposer = (props) => { case "radio": case "dropdown": case "radioordropdown": + case "toggle": return ( ( @@ -405,8 +412,15 @@ export const FormComposer = (props) => { inputRef={props.ref} onChange={props.onChange} config={populators} - disable={config?.disable} + disabled={config?.disable} errorStyle={errors?.[populators.name]} + variant={ + populators?.variant + ? populators?.variant + : errors?.[populators.name] + ? "digit-field-error" + : "" + } /> )} rules={!disableFormValidation ? { required: isMandatory, ...populators.validation } : {}} @@ -492,7 +506,7 @@ export const FormComposer = (props) => { rules={{ required: isMandatory }} render={(props) => { return ( -
+
{ defaultLabel={t(populators?.defaultText)} defaultUnit={t(populators?.selectedText)} config={populators} + disabled={disable} + variant={populators?.variant} + addSelectAllCheck={populators?.addSelectAllCheck} + addCategorySelectAllCheck={populators?.addCategorySelectAllCheck} + selectAllLabel={populators?.selectAllLabel} + categorySelectAllLabel={populators?.categorySelectAllLabel} + restrictSelection={populators?.restrictSelection} />
); @@ -579,7 +600,7 @@ export const FormComposer = (props) => { } else if (section.head) { return ( <> - + {t(section.head)} @@ -655,7 +676,7 @@ export const FormComposer = (props) => { : { border: "none", background: "white", ...field?.populators?.customStyle } } > - {!field.withoutLabel && ( + {/* {!field.withoutLabel && ( { {field?.appendColon ? " : " : null} {field.isMandatory ? " * " : null} + )} */} + {!field.withoutLabel && ( +
+
+
+ {StringManipulator( + "TOSENTENCECASE", + StringManipulator("TRUNCATESTRING", t(field.label), { + maxLength: 64, + }) + )} +
+
{field.appendColon ? " : " : null}
+
{field.isMandatory ? " * " : null}
+
+
)} -
+ +
{fieldSelector(field.type, field.populators, field.isMandatory, field?.disable, field?.component, field, sectionFormCategory)} - {field?.description && {t(field?.description)}} + {field?.description && ( + + {StringManipulator( + "TOSENTENCECASE", + StringManipulator("TRUNCATESTRING", t(description), { + maxLength: 256, + }) + )} + + )} + {field?.populators?.name && errors && errors[field?.populators?.name] && Object.keys(errors[field?.populators?.name]).length ? ( + // + // {t(field?.populators?.error)} + // + + ) : null}
- {field?.populators?.name && errors && errors[field?.populators?.name] && Object.keys(errors[field?.populators?.name]).length ? ( - - {t(field?.populators?.error)} - - ) : null} ); })} @@ -800,7 +857,7 @@ export const FormComposer = (props) => { const renderFormFields = (props, section, index, array, sectionFormCategory) => ( {!props.childrenAtTheBottom && props.children} - {props.heading && {props.heading} } + {props.heading && {props.heading} } {props.description && {props.description} } {props.text && {props.text}} {formFields(section, index, array, sectionFormCategory)} @@ -871,7 +928,7 @@ export const FormComposer = (props) => { {props.onSkip && props.showSkip && } )} - {showErrorToast && } + {showErrorToast && } ); }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/UploadFileComposer.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/UploadFileComposer.js index 029cbef7ff..82890e4aa5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/UploadFileComposer.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/UploadFileComposer.js @@ -1,46 +1,41 @@ -import React from 'react' -import { useTranslation } from 'react-i18next' -import LabelFieldPair from '../atoms/LabelFieldPair' -import CardLabel from '../atoms/CardLabel' -import CardLabelError from '../atoms/CardLabelError' -import CitizenInfoLabel from '../atoms/CitizenInfoLabel' -import Header from '../atoms/Header' -import { Loader } from '../atoms/Loader' -import MultiUploadWrapper from '../molecules/MultiUploadWrapper' -import TextInput from '../atoms/TextInput' +import React from "react"; +import { useTranslation } from "react-i18next"; +import LabelFieldPair from "../atoms/LabelFieldPair"; +import CardLabel from "../atoms/CardLabel"; +import CardLabelError from "../atoms/CardLabelError"; +import CitizenInfoLabel from "../atoms/CitizenInfoLabel"; +import Header from "../atoms/Header"; +import { Loader } from "../atoms/Loader"; +import MultiUploadWrapper from "../molecules/MultiUploadWrapper"; +import TextInput from "../atoms/TextInput"; +import { InfoCard, StringManipulator, ErrorMessage } from "@egovernments/digit-ui-components"; + +const UploadFileComposer = ({ module, config, Controller, control, register, formData, errors, localePrefix, customClass, customErrorMsg }) => { + const { t } = useTranslation(); -const UploadFileComposer = ({module, config, Controller, control, register, formData, errors, localePrefix, customClass, customErrorMsg}) => { - const { t } = useTranslation() - //fetch mdms config based on module name const tenant = Digit.ULBService.getStateId(); - const { isLoading, data } = Digit.Hooks.useCustomMDMS( - tenant, - "works", - [ - { - "name": "DocumentConfig", - "filter": `[?(@.module=='${module}')]` - } - ] - ); - - + const { isLoading, data } = Digit.Hooks.useCustomMDMS(tenant, "works", [ + { + name: "DocumentConfig", + filter: `[?(@.module=='${module}')]`, + }, + ]); - const docConfig = data?.works?.DocumentConfig?.[0] + const docConfig = data?.works?.DocumentConfig?.[0]; let documentFileTypeMappings = { - docx : "vnd.openxmlformats-officedocument.wordprocessingml.document", - doc : "application/msword", - png : "png", - pdf : "pdf", - jpeg : "jpeg", - jpg : "jpeg", - xls : "vnd.ms-excel", - xlsx : "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", - csv : "csv" - } - + docx: "vnd.openxmlformats-officedocument.wordprocessingml.document", + doc: "application/msword", + png: "png", + pdf: "pdf", + jpeg: "jpeg", + jpg: "jpeg", + xls: "vnd.ms-excel", + xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + csv: "csv", + }; + const getRegex = (allowedFormats) => { // console.log(allowedFormats); // if(allowedFormats?.length) { @@ -53,118 +48,127 @@ const UploadFileComposer = ({module, config, Controller, control, register, form // const stringified = JSON.stringify(obj); // console.log(new RegExp(JSON.parse(stringified).expression.slice(1, -1))) // return new RegExp(JSON.parse(stringified).expression.slice(1, -1)); - // } + // } // return /(.*?)(pdf|docx|jpeg|jpg|png|msword|openxmlformats-officedocument|wordprocessingml|document|spreadsheetml|sheet)$/ - if(allowedFormats?.length) { + if (allowedFormats?.length) { let exceptedFileTypes = []; - allowedFormats?.forEach(allowedFormat=>{ + allowedFormats?.forEach((allowedFormat) => { exceptedFileTypes.push(documentFileTypeMappings[allowedFormat]); }); exceptedFileTypes = exceptedFileTypes.join("|"); - return new RegExp(`(.*?)(${exceptedFileTypes})$`) + return new RegExp(`(.*?)(${exceptedFileTypes})$`); } - return /(.*?)(pdf|docx|jpeg|jpg|png|msword|openxmlformats-officedocument|wordprocessingml|document|spreadsheetml|sheet)$/ - } + return /(.*?)(pdf|docx|jpeg|jpg|png|msword|openxmlformats-officedocument|wordprocessingml|document|spreadsheetml|sheet)$/; + }; // if(isLoading) return return ( -
{t('WORKS_RELEVANT_DOCUMENTS')}
- {docConfig?.bannerLabel && } - { - docConfig?.documents?.map((item, index) => { - if(!item?.active) return - return ( - - { item.code && ( - - { t(`${localePrefix}_${item?.code}`)} { item?.isMandatory ? " * " : null } - ) - } - -
- { - item?.showTextInput && -
- ( - - )} - name={`${config?.name}.${item?.name}_name`} - rules={{ pattern: /^[a-zA-Z0-9\. ]*$/, required: false }} - control={control} - /> - {formData?.[`${config.name}`]?.[`${item?.name}_name`] && errors && errors?.[`${config.name}`]?.[`${item?.name}_name`] && Object.keys(errors?.[`${config.name}`]?.[`${item?.name}_name`]).length ? ( - - {t("COMMON_PATTERN_ERR_MSG_DOCS_INPUT_TEXT")} - ) : null - } -
- } -
+
{t("WORKS_RELEVANT_DOCUMENTS")}
+ {docConfig?.bannerLabel && ( + + )} + {/* {docConfig?.bannerLabel && } */} + {docConfig?.documents?.map((item, index) => { + if (!item?.active) return; + return ( + + {item.code && ( + + {t(`${localePrefix}_${item?.code}`)} {item?.isMandatory ? " * " : null} + + )} + +
+ {item?.showTextInput && ( +
{ - function getFileStoreData(filesData) { - const numberOfFiles = filesData.length; - let finalDocumentData = []; - if (numberOfFiles > 0) { - filesData.forEach((value) => { - finalDocumentData.push({ - fileName: value?.[0], - fileStoreId: value?.[1]?.fileStoreId?.fileStoreId, - documentType: value?.[1]?.file?.type, - }); - }); - } - onChange(numberOfFiles>0?filesData:[]); - } - return ( - - ) - }} - rules={{validate:(value) => { - return !(item?.isMandatory && value?.length === 0) - }}} - defaultValue={formData?.[item?.name]} - name={`${config?.name}.${item?.name}`} + defaultValue={formData?.[`${config.name}`]?.[`${item?.name}_name`] || ""} + render={({ onChange, ref, value }) => ( + + )} + name={`${config?.name}.${item?.name}_name`} + rules={{ pattern: /^[a-zA-Z0-9\. ]*$/, required: false }} control={control} /> - { errors && errors[`${config?.name}`]?.[`${item?.name}`] && Object.keys(errors[`${config?.name}`]?.[`${item?.name}`]).length ? ( - - {t(config?.error)} - ) : null - } + {formData?.[`${config.name}`]?.[`${item?.name}_name`] && + errors && + errors?.[`${config.name}`]?.[`${item?.name}_name`] && + Object.keys(errors?.[`${config.name}`]?.[`${item?.name}_name`]).length ? ( + {t("COMMON_PATTERN_ERR_MSG_DOCS_INPUT_TEXT")} + ) : null}
+ )} +
+ { + function getFileStoreData(filesData) { + const numberOfFiles = filesData.length; + let finalDocumentData = []; + if (numberOfFiles > 0) { + filesData.forEach((value) => { + finalDocumentData.push({ + fileName: value?.[0], + fileStoreId: value?.[1]?.fileStoreId?.fileStoreId, + documentType: value?.[1]?.file?.type, + }); + }); + } + onChange(numberOfFiles > 0 ? filesData : []); + } + return ( + + ); + }} + rules={{ + validate: (value) => { + return !(item?.isMandatory && value?.length === 0); + }, + }} + defaultValue={formData?.[item?.name]} + name={`${config?.name}.${item?.name}`} + control={control} + /> + {/* {errors && errors[`${config?.name}`]?.[`${item?.name}`] && Object.keys(errors[`${config?.name}`]?.[`${item?.name}`]).length ? ( + {t(config?.error)} + ) : null} */} + {errors && errors[`${config?.name}`]?.[`${item?.name}`] && Object.keys(errors[`${config?.name}`]?.[`${item?.name}`]).length ? ( + + ) : null}
- - ) - }) - } +
+
+ ); + })} - ) -} + ); +}; -export default UploadFileComposer \ No newline at end of file +export default UploadFileComposer; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/LocationDropdownWrapper.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/LocationDropdownWrapper.js index 585702856d..d649cee5b3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/LocationDropdownWrapper.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/LocationDropdownWrapper.js @@ -1,8 +1,11 @@ import React,{Fragment,useState,useEffect} from 'react' -import MultiSelectDropdown from '../atoms/MultiSelectDropdown' +// import MultiSelectDropdown from '../atoms/MultiSelectDropdown' import Dropdown from '../atoms/Dropdown' import { Loader } from '../atoms/Loader' import { useTranslation } from 'react-i18next' + +import {MultiSelectDropdown } from "@egovernments/digit-ui-components"; + const LocationDropdownWrapper = ({populators,formData,props,inputRef,errors,setValue}) => { //based on type (ward/locality) we will render dropdowns respectively //here we will render two types of dropdown based on allowMultiSelect boolean @@ -49,7 +52,6 @@ const LocationDropdownWrapper = ({populators,formData,props,inputRef,errors,setV } }, [wardsAndLocalities,formData?.ward]) - if(isLoading) return return ( @@ -68,9 +70,15 @@ const LocationDropdownWrapper = ({populators,formData,props,inputRef,errors,setV }} selected={props?.value} defaultLabel={t(populators?.defaultText)} - defaultUnit={t(populators?.selectedText)} + // defaultUnit={t(populators?.selectedText)} config={populators} - /> + variant={populators?.variant} + addSelectAllCheck={populators?.addSelectAllCheck} + addCategorySelectAllCheck={populators?.addCategorySelectAllCheck} + selectAllLabel={populators?.selectAllLabel} + categorySelectAllLabel={populators?.categorySelectAllLabel} + restrictSelection={populators?.restrictSelection} + />
} {!populators.allowMultiSelect && { const { t } = useTranslation(); const { fields, control, formData, errors, register, setValue, getValues, setError, clearErrors, apiDetails} = props @@ -22,37 +27,44 @@ const RenderFormFields = ({data,...props}) => { const Component = typeof component === "string" ? Digit.ComponentRegistryService.getComponent(component) : component; let customValidations = config?.additionalValidation ? Digit?.Customizations?.[apiDetails?.masterName]?.[apiDetails?.moduleName]?.additionalValidations(config?.additionalValidation?.type, formData, config?.additionalValidation?.keys) : null const customRules = customValidations ? { validate: customValidations} : {} + console.log(type,"typeoffield") switch (type) { - case "date": - case "text": - case "number": - case "password": - case "time": - return ( - ( - - )} - name={populators.name} - rules={{required: isMandatory, ...populators.validation, ...customRules }} - control={control} - /> - ); - - case "textarea": + case "date": + case "text": + case "number": + case "password": + case "time": + case "search": + case "numeric": + return ( + ( + + )} + name={populators.name} + rules={{ required: isMandatory, ...populators.validation, ...customRules }} + control={control} + /> + ); + + case "textarea": return ( { name={populators.name} onChange={onChange} inputRef={ref} - disable={disable} + disabled={disable} errorStyle={errors?.[populators.name]} /> )} @@ -73,7 +85,7 @@ const RenderFormFields = ({data,...props}) => { control={control} /> ); - case "mobileNumber": + case "mobileNumber": return ( ( @@ -93,110 +105,130 @@ const RenderFormFields = ({data,...props}) => { control={control} /> ); - case "multiupload": - return ( - { - function getFileStoreData(filesData) { - const numberOfFiles = filesData.length; - let finalDocumentData = []; - if (numberOfFiles > 0) { - filesData.forEach((value) => { - finalDocumentData.push({ - fileName: value?.[0], - fileStoreId: value?.[1]?.fileStoreId?.fileStoreId, - documentType: value?.[1]?.file?.type, - }); - }); - } - onChange(numberOfFiles>0?filesData:[]); - } - return ( - - ); - }} + case "multiupload": + return ( + { + function getFileStoreData(filesData) { + const numberOfFiles = filesData.length; + let finalDocumentData = []; + if (numberOfFiles > 0) { + filesData.forEach((value) => { + finalDocumentData.push({ + fileName: value?.[0], + fileStoreId: value?.[1]?.fileStoreId?.fileStoreId, + documentType: value?.[1]?.file?.type, + }); + }); + } + onChange(numberOfFiles > 0 ? filesData : []); + } + return ( + + ); + }} + /> + ); + case "custom": + return ( + populators.component({ ...props, setValue }, populators.customProps)} + defaultValue={populators.defaultValue} + name={populators?.name} + control={control} + /> + ); + + case "radio": + case "dropdown": + return ( + ( + - ); - case "custom": - return ( - populators.component({ ...props, setValue }, populators.customProps)} - defaultValue={populators.defaultValue} - name={populators?.name} - control={control} - /> - ); + )} + rules={{ required: isMandatory, ...populators.validation }} + defaultValue={formData?.[populators?.name]} + name={populators?.name} + control={control} + /> + ); - case "radio": - case "dropdown": - return ( - ( - { + return ( +
+ { + props.onChange( + e + ?.map((row) => { + return row?.[1] ? row[1] : null; + }) + .filter((e) => e) + ); + }} + selected={props?.value} + defaultLabel={t(populators?.defaultText)} + defaultUnit={t(populators?.selectedText)} config={populators} - disable={config?.disable} - errorStyle={errors?.[populators.name]} - mdmsv2={populators.mdmsv2 ? populators.mdmsv2 : false } - /> - )} - rules={{ required: isMandatory, ...populators.validation }} - defaultValue={formData?.[populators.name]} - name={populators?.name} - control={control} - /> - ); - - case "multiselectdropdown": - return ( - { - return ( -
- { - props.onChange(e?.map(row=>{return row?.[1] ? row[1] : null}).filter(e=>e)) - }} - selected={props?.value} - defaultLabel={t(populators?.defaultText)} - defaultUnit={t(populators?.selectedText)} - config={populators} - /> -
- ); - }} - /> - ); + disabled={disable} + variant={populators?.variant} + addSelectAllCheck={populators?.addSelectAllCheck} + addCategorySelectAllCheck={populators?.addCategorySelectAllCheck} + selectAllLabel={populators?.selectAllLabel} + categorySelectAllLabel={populators?.categorySelectAllLabel} + restrictSelection={populators?.restrictSelection} + isDropdownWithChip={populators?.isDropdownWithChip} + /> +
+ ); + }} + /> + ); case "locationdropdown": return ( @@ -207,7 +239,7 @@ const RenderFormFields = ({data,...props}) => { rules={{ required: populators?.isMandatory, ...populators.validation }} render={(props) => { return ( -
+
{ /> ); - case "apidropdown": + case "apidropdown": return ( { rules={{ required: populators?.isMandatory, ...populators.validation }} render={(props) => { return ( -
- +
+
); }} /> ); - - case "workflowstatesfilter": + case "workflowstatesfilter": return ( { rules={{ required: populators?.isMandatory }} render={(props) => { return ( -
- +
+
); }} /> ); - case "dateRange": - return ( - ( - - )} - rules={{ required: isMandatory, ...populators.validation }} - defaultValue={formData?.[populators.name]} - name={populators?.name} - control={control} - /> - ); + case "dateRange": + return ( + ( + + )} + rules={{ required: isMandatory, ...populators.validation }} + defaultValue={formData?.[populators.name]} + name={populators?.name} + control={control} + /> + ); - case "component": + case "component": return ( ( @@ -314,9 +333,9 @@ const RenderFormFields = ({data,...props}) => { control={control} /> ); - - default: - return populators?.dependency !== false ? populators : null; + + default: + return populators?.dependency !== false ? populators : null; } }; @@ -324,22 +343,42 @@ const RenderFormFields = ({data,...props}) => { {fields?.map((item, index) => { return ( - - { item.label && ( - - {t(item.label)}{ item?.isMandatory ? " * " : null } - ) - } + + {/* {item.label && ( + + {t(item.label)} + {item?.isMandatory ? " * " : null} + + )} */} + + { + item.label && ( +
+
+
+ {StringManipulator( + "TOSENTENCECASE", + t(item.label) + )} +
+
{item?.isMandatory ? " * " : null}
+
+
+ ) + } + + {fieldSelector(item.type, item.populators, item.isMandatory, item?.disable, item?.component, item)} - { fieldSelector(item.type, item.populators, item.isMandatory, item?.disable, item?.component, item) } - - { item?.populators?.name && errors && errors[item?.populators?.name] && Object.keys(errors[item?.populators?.name]).length ? ( + {/* { item?.populators?.name && errors && errors[item?.populators?.name] && Object.keys(errors[item?.populators?.name]).length ? ( {t(item?.populators?.error)} ) : null - } + } */} + {item?.populators?.name && errors && errors[item?.populators?.name] && Object.keys(errors[item?.populators?.name]).length ? ( + + ) : null}
- ) + ); })}
) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/WorkflowStatusFilter.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/WorkflowStatusFilter.js index c32470eaeb..45a05e5d46 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/WorkflowStatusFilter.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/WorkflowStatusFilter.js @@ -1,8 +1,10 @@ import React, { Fragment,useEffect,useState } from "react"; -import CheckBox from "../atoms/CheckBox"; +// import CheckBox from "../atoms/CheckBox"; import { Loader } from "../atoms/Loader"; import CardLabel from "../atoms/CardLabel"; +import { CheckBox } from "@egovernments/digit-ui-components"; + const WorkflowStatusFilter = ({ props, t, populators, formData,inboxResponse }) => { //from inbox response get the statusMap and show the relevant statuses //here need to filter these options based on logged in user(and test based on single roles in every inbox)(new requirement from vasanth) @@ -46,7 +48,6 @@ const WorkflowStatusFilter = ({ props, t, populators, formData,inboxResponse }) value={row.uuid} checked={formData?.[populators.name]?.[row.uuid]} label={t(Digit.Utils.locale.getTransformedLocale(`${populators.labelPrefix}${row?.businessService}_STATE_${row?.state}`))} - style={{marginLeft:"40px"}} /> ); })} From e12842d670e27d257e3c9126d167cb8e4144147b Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 13 Aug 2024 20:23:06 +0530 Subject: [PATCH 132/292] added attendence module changes --- .../AttendenceMgmt/src/components/Response.js | 73 ++++++++++++------- .../AttendenceMgmt/src/config/searchConfig.js | 18 ++--- .../src/config/searchConfigPlainSearch.js | 18 ++--- .../citizen/manageWageSeekers/ViewProject.js | 5 +- .../citizen/viewRegister/ViewRegister.js | 2 +- .../viewAttendance/ViewAttendances.js | 11 +-- 6 files changed, 73 insertions(+), 54 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/components/Response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/components/Response.js index 97af841e06..07465fd099 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/components/Response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/components/Response.js @@ -1,34 +1,51 @@ -import React from "react"; +import React,{Fragment} from "react"; import { Link, useLocation } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { ActionBar, Banner, Card, CardText, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { ActionBar, Banner, Card, CardText } from "@egovernments/digit-ui-react-components"; +import { PanelCard, SubmitBar } from "@egovernments/digit-ui-components"; const Response = () => { - - const { t } = useTranslation() - const { state } = useLocation() - if (state?.performedAction === "APPROVE"){ - state.message = `${state?.message} ${t("BILL_CREATED")}` - } - return ( - - + const { t } = useTranslation(); + const { state } = useLocation(); + if (state?.performedAction === "APPROVE") { + state.message = `${state?.message} ${t("BILL_CREATED")}`; + } + return ( + // + // - {state?.message} - - - - - - - - ) -} + // {state?.message} -export default Response \ No newline at end of file + // + // + // + // + // + // + + <> + + + + + , + ]} + children={[state?.message]} + /> + + ); +}; + +export default Response; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/config/searchConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/config/searchConfig.js index 0d14e7f24f..212e3e5d57 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/config/searchConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/config/searchConfig.js @@ -43,9 +43,9 @@ const searchConfig = () => { isMandatory: false, disable: false, populators: { - optionsCustomStyle: { - top: "2.3rem", - }, + // optionsCustomStyle: { + // top: "2.3rem", + // }, name: "ward", type: "ward", optionsKey: "i18nKey", @@ -62,9 +62,9 @@ const searchConfig = () => { populators: { name: "projectType", optionsKey: "name", - optionsCustomStyle: { - top: "2.3rem", - }, + // optionsCustomStyle: { + // top: "2.3rem", + // }, mdmsConfig: { masterName: "ProjectType", moduleName: "works", @@ -112,9 +112,9 @@ const searchConfig = () => { isMandatory: false, disable: false, populators: { - optionsCustomStyle: { - top: "2.3rem", - }, + // optionsCustomStyle: { + // top: "2.3rem", + // }, name: "musterRollStatus", optionsKey: "i18nKey", allowMultiSelect: false, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/config/searchConfigPlainSearch.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/config/searchConfigPlainSearch.js index 70b81ad2f5..ce9c33b8db 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/config/searchConfigPlainSearch.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/config/searchConfigPlainSearch.js @@ -37,9 +37,9 @@ const searchConfig = () => { isMandatory: false, disable: false, populators: { - optionsCustomStyle: { - top: "2.3rem", - }, + // optionsCustomStyle: { + // top: "2.3rem", + // }, name: "ward", type: "ward", optionsKey: "i18nKey", @@ -56,9 +56,9 @@ const searchConfig = () => { populators: { name: "projectType", optionsKey: "name", - optionsCustomStyle: { - top: "2.3rem", - }, + // optionsCustomStyle: { + // top: "2.3rem", + // }, mdmsConfig: { masterName: "ProjectType", moduleName: "works", @@ -106,9 +106,9 @@ const searchConfig = () => { isMandatory: false, disable: false, populators: { - optionsCustomStyle: { - top: "2.3rem", - }, + // optionsCustomStyle: { + // top: "2.3rem", + // }, name: "musterRollStatus", optionsKey: "i18nKey", allowMultiSelect: false, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/citizen/manageWageSeekers/ViewProject.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/citizen/manageWageSeekers/ViewProject.js index aae0ba6249..172fd8e1f6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/citizen/manageWageSeekers/ViewProject.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/citizen/manageWageSeekers/ViewProject.js @@ -1,8 +1,9 @@ -import { Card, StatusTable, Row, DetailsCard, SearchIcon, Dropdown, SearchableDropdown,Table, DeleteIcon,SubmitBar,Toast} from '@egovernments/digit-ui-react-components' +import { Card, StatusTable, Row, DetailsCard, SearchIcon, Dropdown, SearchableDropdown,Table, DeleteIcon,SubmitBar} from '@egovernments/digit-ui-react-components' import React,{useMemo,useState} from 'react' import { useTranslation } from 'react-i18next' import { useQuery } from 'react-query' import { Link, useLocation } from "react-router-dom" +import {Toast} from '@egovernments/digit-ui-components' import useDebounce from '../../../pageComponents/useDebounce' const sampleTableData = { @@ -189,7 +190,7 @@ const ViewProject = ({isLoading=false,resultOk=true,data={}}) => {
: null}

- setIsExpanded(!isExpanded)}> + setIsExpanded(!isExpanded)}> {isExpanded ? t("HIDE_REGISTER_DETAILS") : t("VIEW_REGISTER_DETAILS")}

diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/citizen/viewRegister/ViewRegister.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/citizen/viewRegister/ViewRegister.js index d804c53681..5753658fb1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/citizen/viewRegister/ViewRegister.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/citizen/viewRegister/ViewRegister.js @@ -145,7 +145,7 @@ const ViewRegister = (props) => {
}

- setIsExpanded(!isExpanded)}> + setIsExpanded(!isExpanded)}> {isExpanded ? t("HIDE_REGISTER_DETAILS") : t("VIEW_REGISTER_DETAILS")}

diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/employee/viewAttendance/ViewAttendances.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/employee/viewAttendance/ViewAttendances.js index 2651677317..55979945fc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/employee/viewAttendance/ViewAttendances.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/employee/viewAttendance/ViewAttendances.js @@ -1,8 +1,9 @@ import React, {useState, useEffect} from "react"; import { useTranslation } from "react-i18next"; -import { Header, Toast,WorkflowActions,Loader,ViewDetailsCard,MultiLink } from "@egovernments/digit-ui-react-components"; +import { Header,WorkflowActions,Loader,ViewDetailsCard,MultiLink } from "@egovernments/digit-ui-react-components"; import ApplicationDetails from "../../../../../templates/ApplicationDetails"; import WarningPopUp from "../../../pageComponents/WarningPopUp"; +import {Toast} from '@egovernments/digit-ui-components' import { useHistory } from "react-router-dom"; const ViewAttendance = () => { @@ -81,7 +82,7 @@ const ViewAttendance = () => { if(isLoading || approverLoading || isMbValidationLoading) return return ( -
+
{showEditTitle ? t('ATM_EDIT_ATTENDENCE') : t("ATM_VIEW_ATTENDENCE")}
HandleDownloadPdf()} @@ -134,7 +135,7 @@ const ViewAttendance = () => { for (const validation of mbValidationMr?.musterRollValidation) { if (validation?.type === 'error') { validationFlag = true; - setShowToast({error : true, label : t(validation?.message)}); + setShowToast({type : "error", label : t(validation?.message)}); break; } else if (validation?.type === 'warn') { validationFlag = true; @@ -169,10 +170,10 @@ const ViewAttendance = () => { } {showPopup && } {showToast && ( - closeToast()} /> + closeToast()} /> )} {showDataError && ( - setShowDataError(false)} /> + setShowDataError(false)} /> )} ); From 1156d1c721b2ffa6d255addeacf049bb5f0f370d Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 13 Aug 2024 20:25:34 +0530 Subject: [PATCH 133/292] added contract module changes --- .../TimeExtension/CreateTimeExtension.js | 7 ++++--- .../TimeExtension/TimeExtensionResponse.js | 2 +- .../src/components/WOTermsAndConditions.js | 4 ++-- .../src/configs/searchContractConfig.js | 12 +++++------ .../src/pages/employee/CreateContract.js | 9 ++++----- .../CreateWorkOrder/CreateWOResponse.js | 2 +- .../CreateWorkOrder/CreateWorkOrderForm.js | 17 ++++++++-------- .../src/pages/employee/SearchContract.js | 7 +++---- .../src/pages/employee/ViewContract.js | 2 +- .../src/pages/employee/ViewContractDetails.js | 20 +++++++++---------- 10 files changed, 41 insertions(+), 41 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/CreateTimeExtension.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/CreateTimeExtension.js index f6d8e3d9ec..6aac5fdb24 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/CreateTimeExtension.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/CreateTimeExtension.js @@ -1,9 +1,10 @@ import React, { Fragment, useState, useEffect } from "react"; -import { Loader, ActionBar, SubmitBar, WorkflowModal, LabelFieldPair, CardLabel, TextInput, Toast } from "@egovernments/digit-ui-react-components"; +import { Loader, ActionBar, SubmitBar, WorkflowModal, LabelFieldPair, CardLabel, TextInput } from "@egovernments/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import ApplicationDetails from "../../../../templates/ApplicationDetails"; import getModalConfig from "./modalConfig"; import { useHistory } from "react-router-dom"; +import {Toast} from '@egovernments/digit-ui-components' const CreateTimeExtension = ({isEdit,revisedWONumber,...props}) => { const history = useHistory() @@ -114,7 +115,7 @@ const CreateTimeExtension = ({isEdit,revisedWONumber,...props}) => { if (!extensionRequested || !reasonForExtension || extensionRequested <= 0 || extensionRequested > 365) { setShowToast({ label: "TE_SUBMIT_VALIDATION", - isError: true, + type: "error", }); closeToast(); return; @@ -179,7 +180,7 @@ const CreateTimeExtension = ({isEdit,revisedWONumber,...props}) => { {showModal && setShowModal(false)} onSubmit={onModalSubmit} config={modalConfig} />} - {showToast && } + {showToast && } ); }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/TimeExtensionResponse.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/TimeExtensionResponse.js index 2761ca69d5..fa4e9a0e9a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/TimeExtensionResponse.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/TimeExtensionResponse.js @@ -31,7 +31,7 @@ const TimeExtensionResponse = () => { />
navigate('contracts-inbox')}> - {t("COMMON_GO_TO_INBOX")} + {t("COMMON_GO_TO_INBOX")}
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/WOTermsAndConditions.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/WOTermsAndConditions.js index 20f45ba50a..a6821d98a1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/WOTermsAndConditions.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/WOTermsAndConditions.js @@ -154,8 +154,8 @@ const WOTermsAndConditions = (props) => {
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/configs/searchContractConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/configs/searchContractConfig.js index 6f3b663d45..347ca52003 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/configs/searchContractConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/configs/searchContractConfig.js @@ -60,9 +60,9 @@ return { "populators": { "name": "projectType", "optionsKey": "name", - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, "mdmsConfig": { "masterName": "ProjectType", "moduleName": "works", @@ -114,9 +114,9 @@ return { "isMandatory": false, "disable": false, "populators": { - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, "name": "status", "optionsKey": "i18nKey", "allowMultiSelect": false, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateContract.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateContract.js index 6cfcd29ed6..493c99c8f2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateContract.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateContract.js @@ -1,9 +1,9 @@ import React, { Fragment, useState, useEffect } from "react"; -import { Toast,WorkflowModal } from "@egovernments/digit-ui-react-components"; +import { WorkflowModal } from "@egovernments/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import CreateContractForm from "../../components/CreateContract/CreateContractForm"; import getModalConfig from "../../../utils/getModalConfig"; - +import {Toast} from '@egovernments/digit-ui-components' const CreateContract = (props) => { @@ -164,9 +164,8 @@ const CreateContract = (props) => { {showToast && ( { setShowToast(null); }} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateWorkOrder/CreateWOResponse.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateWorkOrder/CreateWOResponse.js index e5cfd214b0..83b5ee60a3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateWorkOrder/CreateWOResponse.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateWorkOrder/CreateWOResponse.js @@ -30,7 +30,7 @@ const CreateWOResponse = () => { />
navigate('contracts-inbox')}> - {t("COMMON_GO_TO_INBOX")} + {t("COMMON_GO_TO_INBOX")}
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateWorkOrder/CreateWorkOrderForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateWorkOrder/CreateWorkOrderForm.js index 593c73a68e..560ed6725d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateWorkOrder/CreateWorkOrderForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateWorkOrder/CreateWorkOrderForm.js @@ -1,4 +1,4 @@ -import { FormComposer, Header, Toast, WorkflowModal } from "@egovernments/digit-ui-react-components"; +import { FormComposer, Header, WorkflowModal } from "@egovernments/digit-ui-react-components"; import React, { Fragment, useEffect, useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; import _ from "lodash"; @@ -6,6 +6,7 @@ import { createWorkOrderUtils } from "../../../../utils/createWorkOrderUtils"; import { useHistory } from "react-router-dom"; import getWOModalConfig from "../../../configs/getWOModalConfig"; import debounce from 'lodash/debounce'; +import {Toast} from '@egovernments/digit-ui-components' const navConfig = [ { @@ -20,7 +21,7 @@ const navConfig = [ const CreateWorkOrderForm = ({createWorkOrderConfig, sessionFormData, setSessionFormData, clearSessionFormData, tenantId, estimate, project, preProcessData, isModify, contractID, lineItems, contractAuditDetails, contractNumber, roleOfCBOOptions, docConfigData}) => { const {t} = useTranslation(); - const [toast, setToast] = useState({show : false, label : "", error : false}); + const [toast, setToast] = useState({show : false, label : "", type : ""}); const history = useHistory(); const [showModal, setShowModal] = useState(false); const [createWOModalConfig, setCreateWOModalConfig] = useState({}); @@ -104,7 +105,7 @@ const CreateWorkOrderForm = ({createWorkOrderConfig, sessionFormData, setSession } const handleToastClose = () => { - setToast({show : false, label : "", error : false}); + setToast({show : false, label : "", type : ""}); } const { mutate: CreateWOMutation } = Digit.Hooks.contracts.useCreateWO(); @@ -145,12 +146,12 @@ const CreateWorkOrderForm = ({createWorkOrderConfig, sessionFormData, setSession }, onSuccess: async (responseData, variables) => { if(responseData?.ResponseInfo?.Errors) { - setToast(()=>({show : true, label : t("WORKS_ERROR_CREATING_CONTRACT"), error : true})); + setToast(()=>({show : true, label : t("WORKS_ERROR_CREATING_CONTRACT"), type : "error"})); }else if(responseData?.ResponseInfo?.status){ sendDataToResponsePage(contractNumber, true, "CONTRACTS_MODIFIED", true); clearSessionFormData(); }else{ - setToast(()=>({show : true, label : t("WORKS_ERROR_CREATING_CONTRACT"), error : true})); + setToast(()=>({show : true, label : t("WORKS_ERROR_CREATING_CONTRACT"), type : "error"})); } }, }); @@ -166,14 +167,14 @@ const CreateWorkOrderForm = ({createWorkOrderConfig, sessionFormData, setSession onSuccess: async (responseData, variables) => { if(responseData?.ResponseInfo?.Errors) { setIsButtonDisabled(false) - setToast(()=>({show : true, label : t("WORKS_ERROR_CREATING_CONTRACT"), error : true})); + setToast(()=>({show : true, label : t("WORKS_ERROR_CREATING_CONTRACT"), type : "error"})); }else if(responseData?.ResponseInfo?.status){ setIsButtonDisabled(false); sendDataToResponsePage(responseData?.contracts?.[0]?.contractNumber, true, "CONTRACTS_WO_CREATED_FORWARDED", true); clearSessionFormData(); }else{ setIsButtonDisabled(false); - setToast(()=>({show : true, label : t("WORKS_ERROR_CREATING_CONTRACT"), error : true})); + setToast(()=>({show : true, label : t("WORKS_ERROR_CREATING_CONTRACT"), type : "error"})); } }, }); @@ -257,7 +258,7 @@ const CreateWorkOrderForm = ({createWorkOrderConfig, sessionFormData, setSession /> ) } - {toast?.show && } + {toast?.show && } ) } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/SearchContract.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/SearchContract.js index 9b65d873d7..9990024161 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/SearchContract.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/SearchContract.js @@ -1,6 +1,6 @@ import React, { Fragment, useState } from 'react' import { useTranslation } from "react-i18next"; -import { Toast } from "@egovernments/digit-ui-react-components"; +import { Toast } from "@egovernments/digit-ui-components"; const SearchContracts = () => { const { t } = useTranslation(); @@ -29,7 +29,7 @@ const SearchContracts = () => { }; if(data.nameOfTheProject==="" && data.contractId==="" && data.estimateNumber==="" && !data.fromProposalDate && !data.toProposalDate ){ - setShowToast({ warning: true, label: "ERR_PT_FILL_VALID_FIELDS" }); + setShowToast({ type:"warning", label: "ERR_PT_FILL_VALID_FIELDS" }); setTimeout(() => { setShowToast(false); }, 3000); @@ -95,8 +95,7 @@ const SearchContracts = () => { /> {showToast && ( { setShowToast(null); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContract.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContract.js index 720f817d38..047c3e2e41 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContract.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContract.js @@ -146,7 +146,7 @@ const ViewContract = (props) => { return (
-
+
{t("WORKS_VIEW_CONTRACT")}
{ const { t } = useTranslation(); @@ -20,7 +20,7 @@ const ViewContractDetails = () => { const contractId = queryStrings?.workOrderNumber; const tenantId = Digit.ULBService.getCurrentTenantId(); const businessService = revisedWONumber ? Digit?.Customizations?.["commonUiConfig"]?.getBusinessService("revisedWO") : Digit?.Customizations?.["commonUiConfig"]?.getBusinessService("contract") - const [toast, setToast] = useState({show : false, label : "", error : false}); + const [toast, setToast] = useState({show : false, label : "", type : ""}); const ContractSession = Digit.Hooks.useSessionStorage("CONTRACT_CREATE", {}); const [sessionFormData, setSessionFormData, clearSessionFormData] = ContractSession; @@ -116,13 +116,13 @@ const ViewContractDetails = () => { useEffect(()=>{ if(isContractError || (!isContractLoading && data?.isNoDataFound)) { - setToast({show : true, label : t("COMMON_WO_NOT_FOUND"), error : true}); + setToast({show : true, label : t("COMMON_WO_NOT_FOUND"), type:"error"}); } },[isContractError, data, isContractLoading]); useEffect(()=>{ if(isProjectError) { - setToast({show : true, label : t("COMMON_PROJECT_NOT_FOUND"), error : true}); + setToast({show : true, label : t("COMMON_PROJECT_NOT_FOUND"), type:"error"}); } },[isProjectError]); @@ -163,12 +163,12 @@ const ViewContractDetails = () => { const handleActionBar = (option) => { if(validationData && Object?.keys(validationData)?.length > 0 && validationData?.type?.includes(option?.action)) { - setToast({show : true, label : t(`${validationData?.label}_${option?.action}`), error : validationData?.error}); + setToast({show : true, label : t(`${validationData?.label}_${option?.action}`), type : validationData?.error ? "error" : ""}); return; } if(option?.action === "CREATE_MEASUREMENT" && isWorkEndInPreviousWeek(data?.applicationData?.endDate, mdmsData?.works?.MeasurementCriteria?.[0]?.measurementBookStartDate)) { - setToast({show : true, label : t(`MB_CREATION_NOT_POSSIBLE_WORK_END_DATE_PASSED`), error : true}); + setToast({show : true, label : t(`MB_CREATION_NOT_POSSIBLE_WORK_END_DATE_PASSED`), type:"error"}); return; } if (option?.name === "CREATE_PURCHASE_BILL") { @@ -187,7 +187,7 @@ const ViewContractDetails = () => { } const handleToastClose = () => { - setToast({show : false, label : "", error : false}); + setToast({show : false, label : "", type:""}); } useEffect(() => { @@ -230,7 +230,7 @@ const ViewContractDetails = () => { return (
-
+
{showTimeExtension || queryStrings?.isTimeExtension === "true" ? ( revisedWONumber ? t("UPDATE_TE") : t("CREATE_TE")) : revisedWONumber ? t("VIEW_TE") : t("WORKS_VIEW_WORK_ORDER")}
{(data?.applicationData?.wfStatus === "APPROVED" || data?.applicationData?.wfStatus === "PENDING_FOR_ACCEPTANCE" || data?.applicationData?.wfStatus === "ACCEPTED") && !(queryStrings?.isTimeExtension === "true") && !(revisedWONumber) && { }
- {toast?.show && } + {toast?.show && } ); } From a81f496a6161aaa0b4cff801528d3c4743395ff6 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 13 Aug 2024 20:28:49 +0530 Subject: [PATCH 134/292] added estimate module changes --- .../src/components/ViewEstimateComponent.js | 12 +- .../src/configs/SearchConficMuktaFuzzy.js | 12 +- .../Estimate/src/configs/searchConfigMukta.js | 6 +- .../src/configs/viewStatementConfig.js | 8 +- .../src/pageComponents/NonSORTable.js | 4 +- .../src/pageComponents/OverheadsTable.js | 4 +- .../pageComponents/ViewAnalysisStatement.js | 17 +- .../src/pageComponents/ViewProject.js | 53 +- .../Estimate/src/pageComponents/searchSor.js | 22 +- .../src/pageComponents/searchTemplate.js | 24 +- .../CreateDetailedEstimate/CreateEstimate.js | 452 ++++++++++-------- .../EstimateResponse.js | 2 +- .../CreateEstimate/CreateEstimate.js | 14 +- .../CreateEstimate/EstimateResponse.js | 17 +- .../employee/ViewAnalysisStatementPage.js | 25 +- .../pages/employee/ViewDetailedEstimate.js | 13 +- .../src/pages/employee/ViewEstimate.js | 13 +- 17 files changed, 395 insertions(+), 303 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewEstimateComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewEstimateComponent.js index 1963f3abdd..414bf2134d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewEstimateComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewEstimateComponent.js @@ -1,12 +1,14 @@ import React, { Fragment, useState, useEffect, useRef, } from 'react' -import { Loader, WorkflowActions, WorkflowTimeline,ActionBar,Menu,SubmitBar, Toast } from '@egovernments/digit-ui-react-components'; +import { Loader, WorkflowActions, WorkflowTimeline,ActionBar,Menu,SubmitBar } from '@egovernments/digit-ui-react-components'; import { useTranslation } from "react-i18next"; import ApplicationDetails from '../../../templates/ApplicationDetails'; import { useHistory } from 'react-router-dom'; +import { Toast } from '@egovernments/digit-ui-react-components'; + const ViewEstimateComponent = ({editApplicationNumber,...props}) => { const history = useHistory(); const [showActions, setShowActions] = useState(false); - const [toast, setToast] = useState({show : false, label : "", error : false}); + const [toast, setToast] = useState({show : false, label : "", type : ""}); const menuRef = useRef(); const [actionsMenu, setActionsMenu] = useState([ @@ -63,7 +65,7 @@ const ViewEstimateComponent = ({editApplicationNumber,...props}) => { useEffect(()=>{ if(isError || (!isLoading && applicationDetails?.isNoDataFound)) { - setToast({show : true, label : t("COMMON_ESTIMATE_NOT_FOUND"), error : true}); + setToast({show : true, label : t("COMMON_ESTIMATE_NOT_FOUND"), type : "error"}); } },[isLoading, isError, applicationDetails]); @@ -84,7 +86,7 @@ const ViewEstimateComponent = ({editApplicationNumber,...props}) => { } const handleToastClose = () => { - setToast({show : false, label : "", error : false}); + setToast({show : false, label : "", type : ""}); } if (isLoading) return return ( @@ -133,7 +135,7 @@ const ViewEstimateComponent = ({editApplicationNumber,...props}) => { } - {toast?.show && } + {toast?.show && } ) } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/SearchConficMuktaFuzzy.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/SearchConficMuktaFuzzy.js index b9cc7922dd..50e3d937ee 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/SearchConficMuktaFuzzy.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/SearchConficMuktaFuzzy.js @@ -58,9 +58,9 @@ const searchConfigMuktaFuzzy = () => { "populators": { "name": "typeOfWork", "optionsKey": "name", - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, "mdmsConfig": { "masterName": "ProjectType", "moduleName": "works", @@ -105,9 +105,9 @@ const searchConfigMuktaFuzzy = () => { "isMandatory": false, "disable": false, "populators": { - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, "name": "status", "optionsKey": "i18nKey", "allowMultiSelect": false, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/searchConfigMukta.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/searchConfigMukta.js index c1fe35d970..1bc67283f8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/searchConfigMukta.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/searchConfigMukta.js @@ -53,9 +53,9 @@ const searchConfigMukta = () => { "populators": { "name": "projectType", "optionsKey": "name", - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, "mdmsConfig": { "masterName": "ProjectType", "moduleName": "works", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js index 0af478e374..7ec7d516bf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewStatementConfig.js @@ -51,7 +51,7 @@ export const data = (statementDetails, rawData, oldData) => { ) : parseFloat(0).toFixed(2) : parseFloat(0).toFixed(2), - amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, + // amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, rowContainerStyle: {justifyContent : "revert"} }, { @@ -72,7 +72,7 @@ export const data = (statementDetails, rawData, oldData) => { ) : parseFloat(0).toFixed(2) : parseFloat(0).toFixed(2), - amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, + // amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, rowContainerStyle: {justifyContent : "revert"} }, @@ -94,7 +94,7 @@ export const data = (statementDetails, rawData, oldData) => { ) : parseFloat(0).toFixed(2) : parseFloat(0).toFixed(2), - amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, + // amountStyle: { maxWidth: "12%", textAlign: "end", marginLeft:"-15rem" }, rowContainerStyle: {justifyContent : "revert"} }, { @@ -116,7 +116,7 @@ export const data = (statementDetails, rawData, oldData) => { undefined, 2 ):parseFloat(0).toFixed(2), - amountStyle: { maxWidth: "12%", textAlign: "end" }, + // amountStyle: { maxWidth: "12%", textAlign: "end" }, }, ], }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/NonSORTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/NonSORTable.js index 94745bbca0..296b65f76f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/NonSORTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/NonSORTable.js @@ -473,8 +473,8 @@ const NonSORTable = ({ control, watch,config, ...props }) => { {/*
*/} {/* */} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/OverheadsTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/OverheadsTable.js index 3984c1bfec..05f4bb64c3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/OverheadsTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/OverheadsTable.js @@ -400,8 +400,8 @@ const OverheadsTable = ({ control, watch, ...props }) => { {/* */} {/* diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index 292ee80bb9..103ef4c250 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -1,7 +1,8 @@ import React, { useState, useEffect } from "react"; -import { Toast, Loader, LinkButton } from "@egovernments/digit-ui-react-components"; +import { Loader, LinkButton } from "@egovernments/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; +import { Toast} from "@egovernments/digit-ui-components"; const ViewAnalysisStatement = ({ formData, ...props }) => { const { t } = useTranslation(); @@ -311,7 +312,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { }; const showToastMessage = (message) => { - setShowToast({ warning: true, label: message }); + setShowToast({ type: "warning", label: message }); setTimeout(() => setShowToast(false), 5000); }; @@ -331,9 +332,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { // )} // {showToast && ( // setShowToast(null)} @@ -355,13 +354,11 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { /> {showToast && ( setShowToast(false)} /> )} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewProject.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewProject.js index e9aba98c54..665c6a6d0c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewProject.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewProject.js @@ -1,15 +1,17 @@ -import { Loader, Card, Toast } from "@egovernments/digit-ui-react-components"; +import { Loader, Card } from "@egovernments/digit-ui-react-components"; import React, { Fragment, useState, useEffect } from "react"; import { useTranslation } from "react-i18next"; import ApplicationDetails from "../../../templates/ApplicationDetails"; +import { Toast } from "@egovernments/digit-ui-components"; const ViewProject = ({ fromUrl = true, module, ...props }) => { let { tenantId, projectNumber, id } = Digit.Hooks.useQueryParams(); - const [toast, setToast] = useState({ show: false, label: "", error: false }); - const [applicationDetails, setApplication] = useState({}); + const [toast, setToast] = useState({ show: false, label: "", type: "" }); + const [applicationDetails, setApplication] = useState([]); if (!fromUrl) { tenantId = props?.tenantId; - (projectNumber = props?.projectNumber), (id = props?.projectId); + projectNumber = props?.projectNumber; + id = props?.projectId; } /* Fix for estimate to hide few details in project */ module = module ? module : props?.props?.module; @@ -36,7 +38,7 @@ const ViewProject = ({ fromUrl = true, module, ...props }) => { }; const handleToastClose = () => { - setToast({ show: false, label: "", error: false }); + setToast({ show: false, label: "", type: "" }); }; const headerLocale = Digit.Utils.locale.getTransformedLocale(tenantId); @@ -45,36 +47,39 @@ const ViewProject = ({ fromUrl = true, module, ...props }) => { useEffect(() => { if (isError || (!isError && data?.isNoDataFound)) { - setToast({ show: true, label: t("COMMON_PROJECT_NOT_FOUND"), error: true }); + setToast({ show: true, label: t("COMMON_PROJECT_NOT_FOUND"), type: "error" }); } else { const temp = data?.projectDetails?.searchedProject?.details?.projectDetails || { applicationDetails: [] }; /* Fix for estimate to hide few details in project */ if (module == "estimate") { temp.applicationDetails = temp?.applicationDetails?.filter((ele) => ele?.title != " "); } - setApplication(temp); + setApplication(temp.applicationDetails || []); } }, [isError, data]); if (isLoading) return ; return ( <> - {!data?.isNoDataFound && ( - - )} - {toast?.show && } + {!data?.isNoDataFound && + applicationDetails.map((details, index) => ( + + ))} + {toast?.show && } ); }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchSor.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchSor.js index 55d5fb040a..ce0a51ac27 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchSor.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchSor.js @@ -1,16 +1,18 @@ -import { Button, Toast } from "@egovernments/digit-ui-react-components"; +import { Button } from "@egovernments/digit-ui-react-components"; import React, { useEffect, useState, useCallback } from "react"; import { useTranslation } from "react-i18next"; import EstimateDropdown from "./EstimateDropdown"; import SearchBar from "./SearchBar"; +import { Toast } from "@egovernments/digit-ui-components"; + const fetchData = async (sorid, state, setState, setShowToast) => { const tenantId = Digit.ULBService.getCurrentTenantId(); if(sorid == null) - { - setShowToast({show: true, error: true, label:"WORKS_CANNOT_ADD_EMPTY_DATA"}); - return true; - } + { + setShowToast({show: true, type: "error", label:"WORKS_CANNOT_ADD_EMPTY_DATA"}); + return true; + } let currentDateInMillis = new Date().getTime(); const requestCriteria = { @@ -45,7 +47,7 @@ const fetchData = async (sorid, state, setState, setShowToast) => { }); if(Rates && Rates?.length <= 0) { - setShowToast({show: true, error: true, label:"WORKS_RATE_NOT_FOUND_ERROR"}); + setShowToast({show: true, type: "error", label:"WORKS_RATE_NOT_FOUND_ERROR"}); } //if rates is not there then provide the error // state?.forEach((element) => { @@ -59,7 +61,7 @@ const fetchData = async (sorid, state, setState, setShowToast) => { } else { - setShowToast({show: true, error: true, label:"WORKS_RATE_NOT_FOUND_ERROR"}); + setShowToast({show: true, type:"error", label:"WORKS_RATE_NOT_FOUND_ERROR"}); } } catch (error) { // Handle any errors here @@ -71,7 +73,7 @@ const searchSor = (props) => { const { t } = useTranslation(); const [stateData, setStateData] = useState({}); const [selectedSOR, setSelectedSOR] = useState(null); - const [showToast, setShowToast] = useState({show : false, label : "", error : false}); + const [showToast, setShowToast] = useState({show : false, label : "", type:""}); const { register, setValue, watch } = props; let formData = watch("SOR"); @@ -113,7 +115,7 @@ const searchSor = (props) => { formData?.length > 0 && formData?.find((ob) => ob?.sorCode && ob?.sorCode === stateData?.selectedSor?.id) ) { - setShowToast({ show: true, error: true, label: "WORKS_CANNOT_ADD_DUPLICATE_SOR" }); + setShowToast({ show: true, type:"error", label: "WORKS_CANNOT_ADD_DUPLICATE_SOR" }); return; } const sor = transformSOR(stateData?.selectedSor); @@ -186,7 +188,7 @@ const searchSor = (props) => { {showToast?.show && ( - setShowToast({show : false, label : "", error : false})} /> + setShowToast({show : false, label : "", type : ""})} /> )} ); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js index bd0f895228..bca6558014 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js @@ -1,7 +1,7 @@ -import { Button, TextInput, Toast } from "@egovernments/digit-ui-react-components"; +import { Button, TextInput } from "@egovernments/digit-ui-react-components"; import React, { useEffect, useState, useCallback, useRef } from "react"; import { useTranslation } from "react-i18next"; - +import {Toast } from "@egovernments/digit-ui-components"; const fetchSorDetails = async (inputDATA) => { //method to fetch the data for estimate template @@ -82,13 +82,13 @@ const fetchTemplateData = async (searchText, setShowToast) => { try { const data = await Digit.CustomService.getResponse(requestCriteria); if (data?.MdmsRes?.WORKS?.EstimateTemplate?.length > 0) { - setShowToast({ show: false, label: "", error: false }); + setShowToast({ show: false, label: "", type:"" }); return data?.MdmsRes?.WORKS?.EstimateTemplate; } } catch (error) { - setShowToast({ show: true, error: true, label: "TMP_API_ERROR" }); + setShowToast({ show: true, type: "error", label: "TMP_API_ERROR" }); return []; } }; @@ -98,7 +98,7 @@ const fetchData = async (sorid, state, setState, setShowToast, t) => { //fetch the data of SOR recieved from estimate template const tenantId = Digit.ULBService.getCurrentTenantId(); if (sorid == null) { - setShowToast({ show: true, error: true, label: "WORKS_CANNOT_ADD_EMPTY_DATA" }); + setShowToast({ show: true, type: "error", label: "WORKS_CANNOT_ADD_EMPTY_DATA" }); return true; } let currentDateInMillis = new Date().getTime(); @@ -150,12 +150,12 @@ const fetchData = async (sorid, state, setState, setShowToast, t) => { }); if (Rates.length <= 0) { - //setShowToast({show: true, error: true, label:`${t(`TMP_RATE_NO_ACTIVE_RATE_ERROR`)} ${sorid}`}); + //setShowToast({show: true, type: "error", label:`${t(`TMP_RATE_NO_ACTIVE_RATE_ERROR`)} ${sorid}`}); return undefined; } return Rates; } else { - //setShowToast({show: true, error: true, label:`${t(`TMP_RATE_NOT_FOUND_ERROR`)} ${sorid}`}); + //setShowToast({show: true, type: "error", label:`${t(`TMP_RATE_NOT_FOUND_ERROR`)} ${sorid}`}); return undefined; } } catch (error) { @@ -172,7 +172,7 @@ const searchTemplate = (props) => { const [inputValue, setInputValue] = useState(""); const [suggestions, setSuggestions] = useState([]); const menuRef = useRef(); - const [showToast, setShowToast] = useState({ show: false, label: "", error: false }); + const [showToast, setShowToast] = useState({ show: false, label: "", type: "" }); const { register, setValue, watch } = props; let formData = watch("SOR"); let formNonSORdata = watch("NONSOR"); @@ -235,7 +235,7 @@ const searchTemplate = (props) => { // formData?.length > 0 && // formData?.find((ob) => ob?.sorCode && ob?.sorCode === stateData?.selectedTemplate?.data?.lineItems[0]?.sorCode) // ) { - // setShowToast({ show: true, error: true, label: "WORKS_CANNOT_ADD_DUPLICATE_SOR" }); + // setShowToast({ show: true, type: "error", label: "WORKS_CANNOT_ADD_DUPLICATE_SOR" }); // return; // } @@ -307,7 +307,7 @@ const searchTemplate = (props) => { if (ratesErrorSorIds?.length > 0) { - setShowToast({ show: true, error: true, label: `${t(`TMP_RATE_NOT_FOUND_OR_ACTIVE_ERROR`)} ${ratesErrorSorIds.join(", ")} ` }); + setShowToast({ show: true, type: "error", label: `${t(`TMP_RATE_NOT_FOUND_OR_ACTIVE_ERROR`)} ${ratesErrorSorIds.join(", ")} ` }); } @@ -388,10 +388,10 @@ const searchTemplate = (props) => { {showToast?.show && ( setShowToast({ show: false, label: "", error: false })} + onClose={() => setShowToast({ show: false, label: "", type: "" })} /> )} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js index 09f4a82150..9a0ee8d1d4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js @@ -9,11 +9,11 @@ import { WorkflowModal, FormComposer, Loader, - Toast, ViewDetailsCard, Menu, FormComposerV2, } from "@egovernments/digit-ui-react-components"; +import { Toast } from "@egovernments/digit-ui-components"; import React, { Fragment, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import getModalConfig from "./config"; @@ -34,14 +34,22 @@ const configNavItems = [ activeByDefault: true, }, ]; -const CreateEstimate = ({props}) => { +const CreateEstimate = ({ props }) => { const tenant = Digit.ULBService.getStateId(); const { t } = useTranslation(); const [showToast, setShowToast] = useState(null); const [displayMenu, setDisplayMenu] = useState(false); const [actionSelected, setActionSelected] = useState(false); const [isButtonDisabled, setIsButtonDisabled] = useState(false); - let { tenantId, projectNumber, isEdit,isCreateRevisionEstimate,isEditRevisionEstimate, estimateNumber, revisionNumber } = Digit.Hooks.useQueryParams(); + let { + tenantId, + projectNumber, + isEdit, + isCreateRevisionEstimate, + isEditRevisionEstimate, + estimateNumber, + revisionNumber, + } = Digit.Hooks.useQueryParams(); // const [ isFormReady,setIsFormReady ] = useState(isEdit ? false : true) const [isFormReady, setIsFormReady] = useState(true); @@ -58,12 +66,11 @@ const CreateEstimate = ({props}) => { function onActionSelect(action) { if (sessionFormData?.period?.type == "error") { - setShowToast({ error: true, label: sessionFormData?.period?.message }); + setShowToast({ type: "error", label: sessionFormData?.period?.message }); return null; } - setActionSelected(action?.name) - onFormSubmit(sessionFormData,action?.name); - + setActionSelected(action?.name); + onFormSubmit(sessionFormData, action?.name); } // const {state} = useLocation() @@ -78,20 +85,23 @@ const CreateEstimate = ({props}) => { }, }); - //fetching all the estimates for revision original values - const requestrevisionCriteria = { - url: "/mukta-estimate/v1/_search", - params : {tenantId : tenantId , estimateNumber : estimateNumber}, - config : { - cacheTime : 0 - }, - changeQueryName: "allDetailedEstimate" -}; + //fetching all the estimates for revision original values + const requestrevisionCriteria = { + url: "/mukta-estimate/v1/_search", + params: { tenantId: tenantId, estimateNumber: estimateNumber }, + config: { + cacheTime: 0, + }, + changeQueryName: "allDetailedEstimate", + }; -//fetching estimate data -const {isLoading: isAllEstimateLoading, data: allEstimates} = Digit.Hooks.useCustomAPIHook(requestrevisionCriteria); + //fetching estimate data + const { isLoading: isAllEstimateLoading, data: allEstimates } = Digit.Hooks.useCustomAPIHook(requestrevisionCriteria); - actionMB = actionMB && (isEdit || isEditRevisionEstimate) && estimate && estimate?.wfStatus==="PENDINGFORCORRECTION" ? actionMB?.filter((ob) => ob?.name !== "DRAFT") : actionMB; + actionMB = + actionMB && (isEdit || isEditRevisionEstimate) && estimate && estimate?.wfStatus === "PENDINGFORCORRECTION" + ? actionMB?.filter((ob) => ob?.name !== "DRAFT") + : actionMB; const searchParams = { Projects: [ @@ -197,16 +207,12 @@ const {isLoading: isAllEstimateLoading, data: allEstimates} = Digit.Hooks.useCus } ); - const { isLoading : isDocLoading, data : docData } = Digit.Hooks.useCustomMDMS( - tenant, - "works", - [ - { - "name": "DocumentConfig", - "filter": `[?(@.module=='Estimate')]` - } - ] - ); + const { isLoading: isDocLoading, data: docData } = Digit.Hooks.useCustomMDMS(tenant, "works", [ + { + name: "DocumentConfig", + filter: `[?(@.module=='Estimate')]`, + }, + ]); let { isLoading: isOverheadsLoading, data: overheads } = Digit.Hooks.useCustomMDMS( tenant, @@ -226,25 +232,25 @@ const {isLoading: isAllEstimateLoading, data: allEstimates} = Digit.Hooks.useCus const requestCriteria = { url: "/mdms-v2/v1/_search", body: { - MdmsCriteria: { + MdmsCriteria: { tenantId: tenantId, moduleDetails: [ - { + { moduleName: "WORKS-SOR", masterDetails: [ - { + { name: "Rates", //filter: `[?(@.sorId=='${sorid}')]`, - }, + }, ], - }, + }, ], + }, }, - }, - changeQueryName:"ratesQuery" -}; + changeQueryName: "ratesQuery", + }; -const { isRatesLoading, data : RatesData} = Digit.Hooks.useCustomAPIHook(requestCriteria); + const { isRatesLoading, data: RatesData } = Digit.Hooks.useCustomAPIHook(requestCriteria); const moduleName = Digit.Utils.getConfigModuleName(); let { isLoading: isConfigLoading, data: estimateFormConfig } = Digit.Hooks.useCustomMDMS( @@ -262,7 +268,10 @@ const { isRatesLoading, data : RatesData} = Digit.Hooks.useCustomAPIHook(request } ); - let currentEstimate = window.location.href.includes("/update-revision-detailed-estimate") || window.location.href.includes("/update-detailed-estimate") ? estimate : allEstimates?.estimates?.filter((ob) => ob?.wfStatus === "APPROVED")?.[0]; + let currentEstimate = + window.location.href.includes("/update-revision-detailed-estimate") || window.location.href.includes("/update-detailed-estimate") + ? estimate + : allEstimates?.estimates?.filter((ob) => ob?.wfStatus === "APPROVED")?.[0]; const closeToast = () => { setTimeout(() => { @@ -291,7 +300,7 @@ const { isRatesLoading, data : RatesData} = Digit.Hooks.useCustomAPIHook(request useEffect(() => { if (uom && estimate && currentEstimate && overheads && (isEdit || isCreateRevisionEstimate || isEditRevisionEstimate)) { - setSessionFormData(initialDefaultValues) + setSessionFormData(initialDefaultValues); } }, [currentEstimate, uom, overheads, RatesData]); @@ -301,7 +310,7 @@ const { isRatesLoading, data : RatesData} = Digit.Hooks.useCustomAPIHook(request // setSessionFormData({...initialDefaultValues,...formData,...sessionFormData}) // } // else{ - setSessionFormData({ ...formData }); + setSessionFormData({ ...formData }); // } // setSessionFormData({ ...sessionFormData, ...formData }); } @@ -310,8 +319,15 @@ const { isRatesLoading, data : RatesData} = Digit.Hooks.useCustomAPIHook(request function validateNonSor(items) { //this is to check is any one param is present for non other param should also be present or removed alltogether for (const item of items) { - if (!item.description || !item.uom || item.unitRate === undefined || item.unitRate <= 0 || item.currentMBEntry === undefined || (isCreateRevisionEstimate || isEditRevisionEstimate ? !(item?.currentMBEntry >= 0) : !item.currentMBEntry)) { - setShowToast({ error: true, label: `${t("ERR_NONSOR_ITEM_IS_MISSING")} ${ item?.sNo}` }); + if ( + !item.description || + !item.uom || + item.unitRate === undefined || + item.unitRate <= 0 || + item.currentMBEntry === undefined || + (isCreateRevisionEstimate || isEditRevisionEstimate ? !(item?.currentMBEntry >= 0) : !item.currentMBEntry) + ) { + setShowToast({ type: "error", label: `${t("ERR_NONSOR_ITEM_IS_MISSING")} ${item?.sNo}` }); setIsButtonDisabled(false); setShowModal(false); return false; @@ -319,55 +335,62 @@ const { isRatesLoading, data : RatesData} = Digit.Hooks.useCustomAPIHook(request //this is to check if measures are there in NON sor it should have description if (item.measures && item.measures.length > 0) { - for (const measure of item.measures) { - if (!measure.description) { - setShowToast({ error: true, label: `${t("ERR_ENTER_DESCRIPTION_IN_NONSOR")} ${ item?.sNo}` }); - setIsButtonDisabled(false); - setShowModal(false); - return false; - } + for (const measure of item.measures) { + if (!measure.description) { + setShowToast({ type: "error", label: `${t("ERR_ENTER_DESCRIPTION_IN_NONSOR")} ${item?.sNo}` }); + setIsButtonDisabled(false); + setShowModal(false); + return false; } + } } - } - return true; + } + return true; } - function validateData(data){ - + function validateData(data) { // To validate either SOR or NON SOR must be present - if((!(data?.SORtable) && !(data?.NONSORtable)) || (data?.SORtable?.length <= 0 && data?.NONSORtable?.length <= 0) || (data?.SORtable?.length ===1 && data?.SORtable?.[0]?.category === "NON-SOR")) - { - setShowToast({ error: true, label: "ERR_ATLEAST_SOR_OR_NON_SOR_PRESENT" }); + if ( + (!data?.SORtable && !data?.NONSORtable) || + (data?.SORtable?.length <= 0 && data?.NONSORtable?.length <= 0) || + (data?.SORtable?.length === 1 && data?.SORtable?.[0]?.category === "NON-SOR") + ) { + setShowToast({ type: "error", label: "ERR_ATLEAST_SOR_OR_NON_SOR_PRESENT" }); setIsButtonDisabled(false); setShowModal(false); return false; } //To validate that if SOR is present it should have measures - if(data?.SORtable?.filter((ob) => ob?.sorCode && (isCreateRevisionEstimate || isEditRevisionEstimate ? ob?.currentMBEntry < 0 : !(ob?.currentMBEntry)))?.length > 0) - { - setShowToast({ error: true, label: "ERR_MB_AMOUNT_IS_NOT_RIGHT_FOR_SOR" }); + if ( + data?.SORtable?.filter( + (ob) => ob?.sorCode && (isCreateRevisionEstimate || isEditRevisionEstimate ? ob?.currentMBEntry < 0 : !ob?.currentMBEntry) + )?.length > 0 + ) { + setShowToast({ type: "error", label: "ERR_MB_AMOUNT_IS_NOT_RIGHT_FOR_SOR" }); setIsButtonDisabled(false); setShowModal(false); return false; } //To validate if the measures are present in SOR table it should have description param - let descriptionpresent = data?.SORtable?.find(item => item?.sorCode && item.measures.some(measure => measure?.description === "" || measure?.description === undefined || measure?.description === null)); - if(descriptionpresent) - { - setShowToast({ error: true, label: `${t("ERR_ENTER_DESCRIPTION_IN_SOR")} ${descriptionpresent?.sorId || descriptionpresent?.sorCode}` }); + let descriptionpresent = data?.SORtable?.find( + (item) => + item?.sorCode && + item.measures.some((measure) => measure?.description === "" || measure?.description === undefined || measure?.description === null) + ); + if (descriptionpresent) { + setShowToast({ type: "error", label: `${t("ERR_ENTER_DESCRIPTION_IN_SOR")} ${descriptionpresent?.sorId || descriptionpresent?.sorCode}` }); setIsButtonDisabled(false); setShowModal(false); return false; } //To validate the data of NON Sor - if(data?.NONSORtable && !(validateNonSor(data?.NONSORtable))) - return false + if (data?.NONSORtable && !validateNonSor(data?.NONSORtable)) return false; //To validate SOR and NON SOR will not have negative values - let negativeValuedObject = data?.SORtable?.find(item => parseFloat(item.amount) < 0) || data?.NONSORtable?.find(item => parseFloat(item.amount) < 0) - if(negativeValuedObject) - { - setShowToast({ error: true, label: `${t("ERR_NEGATIVE_VALUE_IS_NOT_ALLOWED")} ${negativeValuedObject?.category}` }); + let negativeValuedObject = + data?.SORtable?.find((item) => parseFloat(item.amount) < 0) || data?.NONSORtable?.find((item) => parseFloat(item.amount) < 0); + if (negativeValuedObject) { + setShowToast({ type: "error", label: `${t("ERR_NEGATIVE_VALUE_IS_NOT_ALLOWED")} ${negativeValuedObject?.category}` }); setIsButtonDisabled(false); setShowModal(false); return false; @@ -386,14 +409,13 @@ const { isRatesLoading, data : RatesData} = Digit.Hooks.useCustomAPIHook(request } } }); - if(!documentValidated) - { - setShowToast({ error: true, label: `${t("ERR_DOCUMENT_IS_MANDATORY")}` }); + if (!documentValidated) { + setShowToast({ type: "error", label: `${t("ERR_DOCUMENT_IS_MANDATORY")}` }); setIsButtonDisabled(false); setShowModal(false); return false; } - + return true; } @@ -402,17 +424,21 @@ const { isRatesLoading, data : RatesData} = Digit.Hooks.useCustomAPIHook(request //added this totalEst amount logic here because setValues in pageComponents don't work //after setting the value, in consequent renders value changes to undefined //check TotalEstAmount.js - let totalLabourAndMaterial = parseInt(getLabourMaterialAnalysisCost(_data,["LA"])) + parseInt(getLabourMaterialAnalysisCost(_data,["MA","RA","CA","EMF","DMF","ADC","LC"])) + parseInt(getLabourMaterialAnalysisCost(_data,["MHA"])) || (_data?.labourMaterialAnalysis?.labour + _data?.labourMaterialAnalysis?.material + _data?.labourMaterialAnalysis?.machinery); + let totalLabourAndMaterial = + parseInt(getLabourMaterialAnalysisCost(_data, ["LA"])) + + parseInt(getLabourMaterialAnalysisCost(_data, ["MA", "RA", "CA", "EMF", "DMF", "ADC", "LC"])) + + parseInt(getLabourMaterialAnalysisCost(_data, ["MHA"])) || + _data?.labourMaterialAnalysis?.labour + _data?.labourMaterialAnalysis?.material + _data?.labourMaterialAnalysis?.machinery; //here check totalEst amount should be less than material+labour if (_data.totalEstimateAmount < totalLabourAndMaterial && action !== "DRAFT") { - setShowToast({ warning: true, label: "ERR_ESTIMATE_AMOUNT_MISMATCH" }); + setShowToast({ type: "warning", label: "ERR_ESTIMATE_AMOUNT_MISMATCH" }); setIsButtonDisabled(false); closeToast(); return; - } + } // else if (totalLabourAndMaterial === 0 && action !== "DRAFT") { // debugger; - // setShowToast({ warning: true, label: "ERR_ESTIMATE_AMOUNT_IMPROPER" }); + // setShowToast({ type:"warning", label: "ERR_ESTIMATE_AMOUNT_IMPROPER" }); // closeToast(); // return; // } @@ -420,30 +446,29 @@ const { isRatesLoading, data : RatesData} = Digit.Hooks.useCustomAPIHook(request setInputFormData((prevState) => _data); //first do whatever processing you want on form data then pass it over to modal's onSubmit function - if(action === "DRAFT") - onModalSubmit(_data,action); - else - setShowModal(true); + if (action === "DRAFT") onModalSubmit(_data, action); + else setShowModal(true); }; function removeNonsortableObjectWithoutRequiredParams(data) { const nonsorTable = data.NONSORtable; - + if (nonsorTable && nonsorTable.length > 0) { - const hasAtLeastOneItemWithRequiredParams = nonsorTable.some(item => - (item.unitRate !== undefined && item.unitRate > 0) || - item.description || - item.uom || - (item.currentMBEntry !== undefined && item.currentMBEntry) || - (item.measures && item.measures.length > 0 && item.measures.some(measure => measure.description)) + const hasAtLeastOneItemWithRequiredParams = nonsorTable.some( + (item) => + (item.unitRate !== undefined && item.unitRate > 0) || + item.description || + item.uom || + (item.currentMBEntry !== undefined && item.currentMBEntry) || + (item.measures && item.measures.length > 0 && item.measures.some((measure) => measure.description)) ); - + if (!hasAtLeastOneItemWithRequiredParams) { // If none of the items in the nonsorTable have at least one required parameter, remove the entire nonsorTable data.NONSORtable = []; } } -} + } const onModalSubmit = async (_data, action) => { setIsButtonDisabled(true); @@ -452,106 +477,142 @@ const { isRatesLoading, data : RatesData} = Digit.Hooks.useCustomAPIHook(request ...inputFormData, ..._data, selectedApprover, - workflowAction : actionSelected || action, + workflowAction: actionSelected || action, // selectedDept, // selectedDesignation }; removeNonsortableObjectWithoutRequiredParams(completeFormData); let validated = action !== "DRAFT" ? validateData(completeFormData) : true; - if(validated){ - const payload = createEstimatePayload(completeFormData, projectData, isEdit, currentEstimate, isCreateRevisionEstimate, isEditRevisionEstimate); - setShowModal(false); - - //make a util for updateEstimatePayload since there are some deviations - - if ((isEdit || isEditRevisionEstimate) && (estimateNumber || revisionNumber)) { - await EstimateUpdateMutation(payload, { - onError: async (error, variables) => { - setIsButtonDisabled(false); - setShowToast({ warning: true, label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error }); - setTimeout(() => { - setShowToast(false); - }, 3000); - if(error?.toString().includes("not found in config for the businessId")) - { - if(isCreateRevisionEstimate || isEditRevisionEstimate) - setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/estimate-details?tenantId=${tenantId}&revisionNumber=${revisionNumber}&estimateNumber=${estimateNumber}&projectNumber=${projectNumber}`)}, 3500); - else - setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/estimate-details?tenantId=${tenantId}&estimateNumber=${estimateNumber}&projectNumber=${projectNumber}`)}, 3500); - } - }, - onSuccess: async (responseData, variables) => { - clearSessionFormData(); - const state = { - header: isCreateRevisionEstimate || isEditRevisionEstimate ? t("WORKS_REVISION_ESTIMATE_RESPONSE_UPDATED_HEADER") : t("WORKS_ESTIMATE_RESPONSE_UPDATED_HEADER"), - id: isCreateRevisionEstimate || isEditRevisionEstimate ? responseData?.estimates[0]?.revisionNumber : responseData?.estimates[0]?.estimateNumber, - info: isCreateRevisionEstimate || isEditRevisionEstimate ? t("ESTIMATE_REVISION_ESTIMATE_NO") : t("ESTIMATE_ESTIMATE_NO"), - // message: t("WORKS_ESTIMATE_RESPONSE_MESSAGE_CREATE", { department: t(`ES_COMMON_${responseData?.estimates[0]?.executingDepartment}`) }), - links: [ - { - name: t("WORKS_GOTO_ESTIMATE_INBOX"), - redirectUrl: `/${window.contextPath}/employee/estimate/inbox`, - code: "", - svg: "GotoInboxIcon", - isVisible: true, - type: "inbox", - }, - ], - }; - if(action === "DRAFT") - { - setShowToast({ label: t("WORKS_ESTIMATE_APPLICATION_DRAFTED") }); - if(isCreateRevisionEstimate || isEditRevisionEstimate) - setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/update-revision-detailed-estimate?tenantId=${responseData?.estimates[0]?.tenantId}&revisionNumber=${responseData?.estimates[0]?.revisionNumber}&estimateNumber=${responseData?.estimates[0]?.estimateNumber}&projectNumber=${projectNumber}&isEditRevisionEstimate=true`, state)}, 3000); - else - setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/update-detailed-estimate?tenantId=${responseData?.estimates[0]?.tenantId}&estimateNumber=${responseData?.estimates[0]?.estimateNumber}&projectNumber=${projectNumber}&isEdit=true`, state)}, 3000); - } - else - history.push(`/${window?.contextPath}/employee/estimate/response`, state); - }, - }); - } else { - await EstimateMutation(payload, { - onError: async (error, variables) => { - setIsButtonDisabled(false); - setShowToast({ warning: true, label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error }); - setTimeout(() => { - setShowToast(false); - }, 5000); - }, - onSuccess: async (responseData, variables) => { - clearSessionFormData(); - const state = { - header: isCreateRevisionEstimate || isEditRevisionEstimate ? t("WORKS_REVISION_ESTIMATE_RESPONSE_CREATED_HEADER") :t("WORKS_ESTIMATE_RESPONSE_CREATED_HEADER"), - id: isCreateRevisionEstimate || isEditRevisionEstimate ? responseData?.estimates[0]?.revisionNumber : responseData?.estimates[0]?.estimateNumber, - info:isCreateRevisionEstimate || isEditRevisionEstimate ? t("ESTIMATE_REVISION_ESTIMATE_NO") : t("ESTIMATE_ESTIMATE_NO"), - // message: t("WORKS_ESTIMATE_RESPONSE_MESSAGE_CREATE", { department: t(`ES_COMMON_${responseData?.estimates[0]?.executingDepartment}`) }), - links: [ - { - name: t("WORKS_GOTO_ESTIMATE_INBOX"), - redirectUrl: `/${window.contextPath}/employee/estimate/inbox`, - code: "", - svg: "GotoInboxIcon", - isVisible: true, - type: "inbox", - }, - ], - }; - if(action === "DRAFT") - { - setShowToast({ label: t("WORKS_ESTIMATE_APPLICATION_DRAFTED") }); - if(isCreateRevisionEstimate || isEditRevisionEstimate) - setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/update-revision-detailed-estimate?tenantId=${responseData?.estimates[0]?.tenantId}&revisionNumber=${responseData?.estimates[0]?.revisionNumber}&estimateNumber=${responseData?.estimates[0]?.estimateNumber}&projectNumber=${projectNumber}&isEditRevisionEstimate=true`, state)}, 3000); - else - setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/update-detailed-estimate?tenantId=${responseData?.estimates[0]?.tenantId}&estimateNumber=${responseData?.estimates[0]?.estimateNumber}&projectNumber=${projectNumber}&isEdit=true`, state)}, 3000); - } - else - setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/response`, state)}, 5000); - }, - }); + if (validated) { + const payload = createEstimatePayload(completeFormData, projectData, isEdit, currentEstimate, isCreateRevisionEstimate, isEditRevisionEstimate); + setShowModal(false); + + //make a util for updateEstimatePayload since there are some deviations + + if ((isEdit || isEditRevisionEstimate) && (estimateNumber || revisionNumber)) { + await EstimateUpdateMutation(payload, { + onError: async (error, variables) => { + setIsButtonDisabled(false); + setShowToast({ type: "warning", label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error }); + setTimeout(() => { + setShowToast(false); + }, 3000); + if (error?.toString().includes("not found in config for the businessId")) { + if (isCreateRevisionEstimate || isEditRevisionEstimate) + setTimeout(() => { + history.push( + `/${window?.contextPath}/employee/estimate/estimate-details?tenantId=${tenantId}&revisionNumber=${revisionNumber}&estimateNumber=${estimateNumber}&projectNumber=${projectNumber}` + ); + }, 3500); + else + setTimeout(() => { + history.push( + `/${window?.contextPath}/employee/estimate/estimate-details?tenantId=${tenantId}&estimateNumber=${estimateNumber}&projectNumber=${projectNumber}` + ); + }, 3500); + } + }, + onSuccess: async (responseData, variables) => { + clearSessionFormData(); + const state = { + header: + isCreateRevisionEstimate || isEditRevisionEstimate + ? t("WORKS_REVISION_ESTIMATE_RESPONSE_UPDATED_HEADER") + : t("WORKS_ESTIMATE_RESPONSE_UPDATED_HEADER"), + id: + isCreateRevisionEstimate || isEditRevisionEstimate + ? responseData?.estimates[0]?.revisionNumber + : responseData?.estimates[0]?.estimateNumber, + info: isCreateRevisionEstimate || isEditRevisionEstimate ? t("ESTIMATE_REVISION_ESTIMATE_NO") : t("ESTIMATE_ESTIMATE_NO"), + // message: t("WORKS_ESTIMATE_RESPONSE_MESSAGE_CREATE", { department: t(`ES_COMMON_${responseData?.estimates[0]?.executingDepartment}`) }), + links: [ + { + name: t("WORKS_GOTO_ESTIMATE_INBOX"), + redirectUrl: `/${window.contextPath}/employee/estimate/inbox`, + code: "", + svg: "GotoInboxIcon", + isVisible: true, + type: "inbox", + }, + ], + }; + if (action === "DRAFT") { + setShowToast({ type: "", label: t("WORKS_ESTIMATE_APPLICATION_DRAFTED") }); + if (isCreateRevisionEstimate || isEditRevisionEstimate) + setTimeout(() => { + history.push( + `/${window?.contextPath}/employee/estimate/update-revision-detailed-estimate?tenantId=${responseData?.estimates[0]?.tenantId}&revisionNumber=${responseData?.estimates[0]?.revisionNumber}&estimateNumber=${responseData?.estimates[0]?.estimateNumber}&projectNumber=${projectNumber}&isEditRevisionEstimate=true`, + state + ); + }, 3000); + else + setTimeout(() => { + history.push( + `/${window?.contextPath}/employee/estimate/update-detailed-estimate?tenantId=${responseData?.estimates[0]?.tenantId}&estimateNumber=${responseData?.estimates[0]?.estimateNumber}&projectNumber=${projectNumber}&isEdit=true`, + state + ); + }, 3000); + } else history.push(`/${window?.contextPath}/employee/estimate/response`, state); + }, + }); + } else { + await EstimateMutation(payload, { + onError: async (error, variables) => { + setIsButtonDisabled(false); + setShowToast({ type: "warning", label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error }); + setTimeout(() => { + setShowToast(false); + }, 5000); + }, + onSuccess: async (responseData, variables) => { + clearSessionFormData(); + const state = { + header: + isCreateRevisionEstimate || isEditRevisionEstimate + ? t("WORKS_REVISION_ESTIMATE_RESPONSE_CREATED_HEADER") + : t("WORKS_ESTIMATE_RESPONSE_CREATED_HEADER"), + id: + isCreateRevisionEstimate || isEditRevisionEstimate + ? responseData?.estimates[0]?.revisionNumber + : responseData?.estimates[0]?.estimateNumber, + info: isCreateRevisionEstimate || isEditRevisionEstimate ? t("ESTIMATE_REVISION_ESTIMATE_NO") : t("ESTIMATE_ESTIMATE_NO"), + // message: t("WORKS_ESTIMATE_RESPONSE_MESSAGE_CREATE", { department: t(`ES_COMMON_${responseData?.estimates[0]?.executingDepartment}`) }), + links: [ + { + name: t("WORKS_GOTO_ESTIMATE_INBOX"), + redirectUrl: `/${window.contextPath}/employee/estimate/inbox`, + code: "", + svg: "GotoInboxIcon", + isVisible: true, + type: "inbox", + }, + ], + }; + if (action === "DRAFT") { + setShowToast({ label: t("WORKS_ESTIMATE_APPLICATION_DRAFTED") }); + if (isCreateRevisionEstimate || isEditRevisionEstimate) + setTimeout(() => { + history.push( + `/${window?.contextPath}/employee/estimate/update-revision-detailed-estimate?tenantId=${responseData?.estimates[0]?.tenantId}&revisionNumber=${responseData?.estimates[0]?.revisionNumber}&estimateNumber=${responseData?.estimates[0]?.estimateNumber}&projectNumber=${projectNumber}&isEditRevisionEstimate=true`, + state + ); + }, 3000); + else + setTimeout(() => { + history.push( + `/${window?.contextPath}/employee/estimate/update-detailed-estimate?tenantId=${responseData?.estimates[0]?.tenantId}&estimateNumber=${responseData?.estimates[0]?.estimateNumber}&projectNumber=${projectNumber}&isEdit=true`, + state + ); + }, 3000); + } else + setTimeout(() => { + history.push(`/${window?.contextPath}/employee/estimate/response`, state); + }, 5000); + }, + }); + } } - } }; // const { isLoading: mdmsLoading, data: mdmsData, isSuccess: mdmsSuccess } = Digit.Hooks.useCustomMDMS( @@ -601,7 +662,7 @@ const { isRatesLoading, data : RatesData} = Digit.Hooks.useCustomAPIHook(request selectedApprover, setSelectedApprover, approverLoading, - isEdit : isEdit || isEditRevisionEstimate, + isEdit: isEdit || isEditRevisionEstimate, // designation, // selectedDesignation, // setSelectedDesignation, @@ -620,7 +681,13 @@ const { isRatesLoading, data : RatesData} = Digit.Hooks.useCustomAPIHook(request {showModal && setShowModal(false)} onSubmit={onModalSubmit} config={config} isDisabled={isButtonDisabled} />}
- {isEdit ? (isCreateRevisionEstimate || isEditRevisionEstimate ? t("ACTION_TEST_EDIT_REVISION_ESTIMATE") : t("ACTION_TEST_EDIT_ESTIMATE")) : (isCreateRevisionEstimate || isEditRevisionEstimate ? t("ACTION_TEST_CREATE_REVISION_ESTIMATE") : t("ACTION_TEST_CREATE_ESTIMATE"))} + {isEdit + ? isCreateRevisionEstimate || isEditRevisionEstimate + ? t("ACTION_TEST_EDIT_REVISION_ESTIMATE") + : t("ACTION_TEST_EDIT_ESTIMATE") + : isCreateRevisionEstimate || isEditRevisionEstimate + ? t("ACTION_TEST_CREATE_REVISION_ESTIMATE") + : t("ACTION_TEST_CREATE_ESTIMATE")}
{/* Will fetch projectId from url params and do a search for project to show the below data in card while integrating with the API */} {isLoading ? : } @@ -639,7 +706,11 @@ const { isRatesLoading, data : RatesData} = Digit.Hooks.useCustomAPIHook(request fieldStyle={{ marginRight: 0 }} inline={false} // className="card-no-margin" - defaultValues={((isEdit === "true" || isCreateRevisionEstimate === "true" || isEditRevisionEstimate === "true") && (estimateNumber || revisionNumber)) ? initialDefaultValues : sessionFormData} + defaultValues={ + (isEdit === "true" || isCreateRevisionEstimate === "true" || isEditRevisionEstimate === "true") && (estimateNumber || revisionNumber) + ? initialDefaultValues + : sessionFormData + } //defaultValues={{...sessionFormData}} showWrapperContainers={false} isDescriptionBold={false} @@ -656,8 +727,7 @@ const { isRatesLoading, data : RatesData} = Digit.Hooks.useCustomAPIHook(request ) : null} {showToast && ( { setShowToast(null); @@ -666,7 +736,9 @@ const { isRatesLoading, data : RatesData} = Digit.Hooks.useCustomAPIHook(request /> )} - {displayMenu && !isButtonDisabled ? : null} + {displayMenu && !isButtonDisabled ? ( + + ) : null} setDisplayMenu(!displayMenu)} disabled={isButtonDisabled} /> diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/EstimateResponse.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/EstimateResponse.js index e743406fec..738095a8e1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/EstimateResponse.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/EstimateResponse.js @@ -52,7 +52,7 @@ const EstimateResponse = (props) => { case "add": return

{t(link.name)}

case "inbox": - return

{t(link.name)}

+ return

{t(link.name)}

case "download": return

{t(link.name)}

default: diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateEstimate/CreateEstimate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateEstimate/CreateEstimate.js index 4bf6bcaa53..6dc26646cd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateEstimate/CreateEstimate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateEstimate/CreateEstimate.js @@ -1,4 +1,4 @@ -import { Card, StatusTable, Row, Header, HorizontalNav, ActionBar, SubmitBar, WorkflowModal, FormComposer, Loader, Toast, ViewDetailsCard } from '@egovernments/digit-ui-react-components' +import { Card, StatusTable, Row, Header, HorizontalNav, ActionBar, SubmitBar, WorkflowModal, FormComposer, Loader, ViewDetailsCard } from '@egovernments/digit-ui-react-components' import React,{Fragment,useEffect,useState} from 'react' import { useTranslation } from 'react-i18next' import getModalConfig from './config' @@ -7,6 +7,7 @@ import { createEstimatePayload } from './createEstimatePayload' import { useHistory,useLocation } from "react-router-dom"; import { editEstimateUtil } from './editEstimateUtil' import debounce from 'lodash/debounce'; +import { Toast } from '@egovernments/digit-ui-components' const configNavItems = [ @@ -237,14 +238,14 @@ const CreateEstimate = () => { let totalLabourAndMaterial = parseInt(_data.analysis.labour) + parseInt(_data.analysis.material) //here check totalEst amount should be less than material+labour if (_data.totalEstimateAmount < totalLabourAndMaterial ) { - setShowToast({ warning: true, label: "ERR_ESTIMATE_AMOUNT_MISMATCH" }) + setShowToast({ type:"warning", label: "ERR_ESTIMATE_AMOUNT_MISMATCH" }) closeToast() return } else if(totalLabourAndMaterial === 0) { - setShowToast({ warning: true, label: "ERR_ESTIMATE_AMOUNT_IMPROPER" }) + setShowToast({ type:"warning", label: "ERR_ESTIMATE_AMOUNT_IMPROPER" }) closeToast() return } @@ -277,7 +278,7 @@ const CreateEstimate = () => { await EstimateUpdateMutation(payload, { onError: async (error, variables) => { - setShowToast({ warning: true, label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error }); + setShowToast({ type:"warning", label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error }); setTimeout(() => { setShowToast(false); }, 5000); @@ -312,7 +313,7 @@ const CreateEstimate = () => { else{ await EstimateMutation(payload, { onError: async (error, variables) => { - setShowToast({ warning: true, label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error }); + setShowToast({ type:"warning", label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error }); setTimeout(() => { setShowToast(false); }, 5000); @@ -453,8 +454,7 @@ const CreateEstimate = () => { />:null} {showToast && ( { setShowToast(null); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateEstimate/EstimateResponse.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateEstimate/EstimateResponse.js index e743406fec..3090e14cab 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateEstimate/EstimateResponse.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateEstimate/EstimateResponse.js @@ -1,10 +1,11 @@ -import { Banner, Card, Loader, CardText, ActionBar, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Banner, Card, Loader, CardText, ActionBar,SubmitBar } from "@egovernments/digit-ui-react-components"; import { useQueryClient } from "react-query"; -import React, { useEffect } from "react"; +import React, { useEffect,Fragment } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; import { CreateEstimateIcon, DownloadImgIcon, GotoInboxIcon, ArrowLeftWhite } from "@egovernments/digit-ui-react-components"; import { useHistory, useLocation } from "react-router-dom"; +import { PanelCard } from "@egovernments/digit-ui-components"; // state = { // header,idText,id,message,links @@ -52,7 +53,7 @@ const EstimateResponse = (props) => { case "add": return

{t(link.name)}

case "inbox": - return

{t(link.name)}

+ return

{t(link.name)}

case "download": return

{t(link.name)}

default: @@ -89,10 +90,10 @@ const EstimateResponse = (props) => { return ( { // }) t("SURVEY_FORM_RESPONSE_MESSAGE") : null} */} - {t(state.message)} + {t(state?.message)}
@@ -117,7 +118,7 @@ const EstimateResponse = (props) => {

{t("Download")}

*/} - {state.links.map(link => ( + {state?.links?.map(link => ( link.isVisible &&
{ @@ -290,7 +292,7 @@ const ViewAnalysisStatement = () => { const { t } = useTranslation(); const [actionsMenu, setActionsMenu] = useState([]); const [isStateChanged, setStateChanged] = useState(``); - const [toast, setToast] = useState({ show: false, label: "", error: false }); + const [toast, setToast] = useState({ show: false, label: "", type: "" }); const menuRef = useRef(); const loggedInUserRoles = Digit.Utils.getLoggedInUserDetails("roles"); @@ -395,13 +397,13 @@ const ViewAnalysisStatement = () => { // }, [detailedEstimate, isStateChanged, contracts]); const handleToastClose = () => { - setToast({ show: false, label: "", error: false }); + setToast({ show: false, label: "", type: "" }); } const handleActionBar = (option) => { if(validationData && Object.keys(validationData)?.length > 0 && validationData?.type?.includes(option?.name)) { - setToast({error: validationData?.error, label: validationData?.label, show:true}) + setToast({type: validationData?.error ? "error" : "", label: validationData?.label, show:true}) return; } if (option?.name === "CREATE_CONTRACT") { @@ -461,17 +463,26 @@ const ViewAnalysisStatement = () => { return (
-
+
{t("ESTIMATE_ANALYSIS_STATEMENT")}
{ downloadStatus&& HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} /> }
- + + {/* */}
- {toast?.show && } + {toast?.show && } <> history.goBack()} label={t("STATEMENT_GO_BACK")} /> diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewDetailedEstimate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewDetailedEstimate.js index f93b65b65a..b85af115b6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewDetailedEstimate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewDetailedEstimate.js @@ -1,9 +1,10 @@ import React, { Fragment, useState, useEffect, useRef } from "react"; -import { Loader, Header, MultiLink, StatusTable, Card, Row, HorizontalNav, ViewDetailsCard, Toast, ActionBar, Menu, SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Loader, Header, MultiLink, StatusTable, Card, Row, HorizontalNav, ViewDetailsCard, ActionBar, Menu, SubmitBar } from "@egovernments/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { ViewComposer } from "@egovernments/digit-ui-react-components"; import { data } from "../../configs/viewConfig"; import { useHistory } from 'react-router-dom'; +import { Toast } from "@egovernments/digit-ui-components"; const ViewDetailedEstimate = () => { const history = useHistory(); @@ -12,7 +13,7 @@ const ViewDetailedEstimate = () => { const { t } = useTranslation(); const [actionsMenu, setActionsMenu] = useState([]); const [isStateChanged, setStateChanged] = useState(``); - const [toast, setToast] = useState({ show: false, label: "", error: false }); + const [toast, setToast] = useState({ show: false, label: "", type: "" }); const menuRef = useRef(); const loggedInUserRoles = Digit.Utils.getLoggedInUserDetails("roles"); @@ -117,13 +118,13 @@ const ViewDetailedEstimate = () => { }, [detailedEstimate, isStateChanged, contracts]); const handleToastClose = () => { - setToast({ show: false, label: "", error: false }); + setToast({ show: false, label: "", type: "" }); } const handleActionBar = (option) => { if(validationData && Object.keys(validationData)?.length > 0 && validationData?.type?.includes(option?.name)) { - setToast({error: validationData?.error, label: validationData?.label, show:true}) + setToast({typa: validationData?.error ? "error" : "", label: validationData?.label, show:true}) return; } if (option?.name === "CREATE_CONTRACT") { @@ -175,14 +176,14 @@ const ViewDetailedEstimate = () => { return (
-
+
{revisionNumber ? t("ESTIMATE_VIEW_REVISED_ESTIMATE") : t("ESTIMATE_VIEW_ESTIMATE")}
HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} />
- {toast?.show && } + {toast?.show && } <> {detailedEstimate?.estimates?.filter((ob) => ob?.businessService !== "REVISION-ESTIMATE")?.[0]?.wfStatus === "APPROVED" && !isLoadingContracts && actionsMenu?.length > 0 ? ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewEstimate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewEstimate.js index e0ca8c8e63..12afc84fc8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewEstimate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewEstimate.js @@ -1,7 +1,8 @@ import React, { Fragment, useState, useEffect } from 'react' -import { Loader, Header, MultiLink, StatusTable, Card, Row, HorizontalNav, ViewDetailsCard, Toast } from '@egovernments/digit-ui-react-components'; +import { Loader, Header, MultiLink, StatusTable, Card, Row, HorizontalNav, ViewDetailsCard } from '@egovernments/digit-ui-react-components'; import { useTranslation } from "react-i18next"; import ApplicationDetails from '../../../../templates/ApplicationDetails'; +import { Toast } from '@egovernments/digit-ui-components'; const ViewEstimate = (props) => { @@ -9,7 +10,7 @@ const ViewEstimate = (props) => { const { tenantId, estimateNumber } = Digit.Hooks.useQueryParams(); const [cardState, setCardState] = useState([]) const [activeLink, setActiveLink] = useState("Estimate_Details"); - const [toast, setToast] = useState({ show: false, label: "", error: false }); + const [toast, setToast] = useState({ show: false, label: "", type: "" }); const configNavItems = [ { "name": "Project_Details", @@ -54,12 +55,12 @@ const ViewEstimate = (props) => { useEffect(() => { if (isEstimateError || (!isEstimateLoading && !estimate)) { - setToast({ show: true, label: t("COMMON_ESTIMATE_NOT_FOUND"), error: true }); + setToast({ show: true, label: t("COMMON_ESTIMATE_NOT_FOUND"), type: "error" }); } }, [isEstimateLoading, isEstimateError, estimate]) const handleToastClose = () => { - setToast({ show: false, label: "", error: false }); + setToast({ show: false, label: "", type: "" }); } useEffect(() => { @@ -85,7 +86,7 @@ const ViewEstimate = (props) => { return (
-
+
{t("ESTIMATE_VIEW_ESTIMATE")}
HandleDownloadPdf()} @@ -108,7 +109,7 @@ const ViewEstimate = (props) => { } } - {toast?.show && } + {toast?.show && }
) } From 44c95c6646a795eaeae0621e9a5d591cfbab53ba Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 13 Aug 2024 20:32:18 +0530 Subject: [PATCH 135/292] added expenditure module changes --- .../src/components/CreateBill/MBDetailes.js | 53 +- .../components/ViewBill/ViewPurchaseBill.js | 7 +- .../src/configs/SearchBillConfig.js | 18 +- .../src/configs/SearchBillWMSConfig.js | 18 +- .../src/configs/SearchExpenseBillConfig.js | 18 +- .../configs/SearchPaymentInstructionConfig.js | 18 +- .../SearchPaymentInstructionConfigNew.js | 18 +- .../configs/mustorRollDetailsTableColumns.js | 2 +- .../src/pageComponents/DeductionsTable.js | 689 +++++++++--------- .../src/pageComponents/TotalBillAmount.js | 45 +- .../src/pages/employee/Bills/ViewWageBill.js | 6 +- .../CreateBills/CreatePurchaseBillForm.js | 15 +- .../CreateBills/CreatePurchaseBillResponse.js | 2 +- .../employee/CreateBills/PurchaseBill.js | 34 +- .../pages/employee/Payments/ViewPayment.js | 11 +- .../Payments/viewPaymentInstruction.js | 11 +- .../src/pages/employee/viewBills/viewBills.js | 2 +- 17 files changed, 516 insertions(+), 451 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/CreateBill/MBDetailes.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/CreateBill/MBDetailes.js index 187388ef71..5f450d376f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/CreateBill/MBDetailes.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/CreateBill/MBDetailes.js @@ -3,6 +3,7 @@ import { useTranslation } from 'react-i18next' import { useHistory } from "react-router-dom"; import { CardSectionHeader, Card, CardHeader, CardLabel, LinkLabel, Row, StatusTable, CitizenInfoLabel} from "@egovernments/digit-ui-react-components"; import ApplicationDetails from "../../../../templates/ApplicationDetails"; +import { InfoCard } from "@egovernments/digit-ui-components"; const getMBLinks = (mblinks, tenantId, workOrderNumber, history) => { @@ -42,16 +43,48 @@ const MBDetailes = ({ formdata }) => { let rowStyle = window?.location.href.includes("create-purchase-bill") ? {marginRight:"9%"} : {} return ( -
- {!isMeasurementLoading && allMeasurementsIds && !(allMeasurementsIds?.length > 0) && } - - 0 ? getMBLinks(allMeasurementsIds, tenantId, workOrderNumber, history) : "NA"} textStyle={{ overflow:"hidden", width:"40%", marginRight:window.location.href.includes("create-purchase-bill")? "29%" : "20%" }} /> - - - - -
- ) +
+ {/* {!isMeasurementLoading && allMeasurementsIds && !(allMeasurementsIds?.length > 0) && } */} + {!isMeasurementLoading && allMeasurementsIds && !(allMeasurementsIds?.length > 0) && ( + + )} + + 0 ? getMBLinks(allMeasurementsIds, tenantId, workOrderNumber, history) : "NA"} + textStyle={{ overflow: "hidden", width: "40%", marginRight: window.location.href.includes("create-purchase-bill") ? "29%" : "20%" }} + /> + + + + +
+ ); } export default MBDetailes \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/ViewBill/ViewPurchaseBill.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/ViewBill/ViewPurchaseBill.js index f408509634..d6e22a9e00 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/ViewBill/ViewPurchaseBill.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/ViewBill/ViewPurchaseBill.js @@ -1,8 +1,9 @@ -import { Header, Toast, WorkflowActions,Loader,ActionBar,SubmitBar } from "@egovernments/digit-ui-react-components"; +import { Header, WorkflowActions,Loader,ActionBar,SubmitBar } from "@egovernments/digit-ui-react-components"; import React, { Fragment, useRef, useState } from "react"; import { useTranslation } from "react-i18next"; import ApplicationDetails from "../../../../templates/ApplicationDetails"; import { useHistory } from "react-router-dom"; +import { Toast} from "@egovernments/digit-ui-components"; const ViewPurchaseBill = ({props}) => { const history = useHistory() @@ -14,7 +15,7 @@ const ViewPurchaseBill = ({props}) => { const {t} = useTranslation(); const businessService = Digit?.Customizations?.["commonUiConfig"]?.getBusinessService("works.purchase"); - const [toast, setToast] = useState({show : false, label : "", error : false}); + const [toast, setToast] = useState({show : false, label : "", type : ""}); const headerLocale = Digit.Utils.locale.getTransformedLocale(tenantId); const billCriteria = { "tenantId": tenantId, @@ -110,7 +111,7 @@ const ViewPurchaseBill = ({props}) => { : null } */} - {toast?.show && } + {toast?.show && } ) } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchBillConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchBillConfig.js index 2955e75871..688612d832 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchBillConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchBillConfig.js @@ -50,9 +50,9 @@ export const SearchBillConfig = { "type": "ward", "optionsKey": "i18nKey", "allowMultiSelect": false, - "optionsCustomStyle": { - "top": "2.3rem" - } + // "optionsCustomStyle": { + // "top": "2.3rem" + // } } }, { @@ -63,9 +63,9 @@ export const SearchBillConfig = { "populators": { "name": "billType", "optionsKey": "name", - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, "mdmsConfig": { "masterName": "BusinessService", "moduleName": "expense", @@ -113,9 +113,9 @@ export const SearchBillConfig = { "isMandatory": false, "disable": false, "populators": { - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, "name": "status", "optionsKey": "i18nKey", "allowMultiSelect": false, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchBillWMSConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchBillWMSConfig.js index 7fc3c9180d..ae423e0b50 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchBillWMSConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchBillWMSConfig.js @@ -52,9 +52,9 @@ export const SearchBillWMSConfig = { type: "ward", optionsKey: "i18nKey", allowMultiSelect: false, - optionsCustomStyle : { - top : "2.3rem" - } + // optionsCustomStyle : { + // top : "2.3rem" + // } } }, { @@ -65,9 +65,9 @@ export const SearchBillWMSConfig = { populators: { name: "billType", optionsKey: "name", - optionsCustomStyle : { - top : "2.3rem" - }, + // optionsCustomStyle : { + // top : "2.3rem" + // }, mdmsConfig: { masterName: "BusinessService", moduleName: "expense", @@ -108,9 +108,9 @@ export const SearchBillWMSConfig = { isMandatory: false, disable: false, populators: { - optionsCustomStyle: { - top: "2.3rem", - }, + // optionsCustomStyle: { + // top: "2.3rem", + // }, name: "status", optionsKey: "i18nKey", allowMultiSelect: false, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchExpenseBillConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchExpenseBillConfig.js index 75fecc821e..0cb813ef03 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchExpenseBillConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchExpenseBillConfig.js @@ -50,9 +50,9 @@ export const SearchExpenseBillConfig = { type: "ward", optionsKey: "i18nKey", allowMultiSelect: false, - optionsCustomStyle : { - top : "2.3rem" - } + // optionsCustomStyle : { + // top : "2.3rem" + // } } }, { @@ -63,9 +63,9 @@ export const SearchExpenseBillConfig = { populators: { name: "billType", optionsKey: "name", - optionsCustomStyle : { - top : "2.3rem" - }, + // optionsCustomStyle : { + // top : "2.3rem" + // }, mdmsConfig: { masterName: "BusinessService", moduleName: "expense", @@ -106,9 +106,9 @@ export const SearchExpenseBillConfig = { isMandatory: false, disable: false, populators: { - optionsCustomStyle: { - top: "2.3rem", - }, + // optionsCustomStyle: { + // top: "2.3rem", + // }, name: "status", optionsKey: "i18nKey", allowMultiSelect: false, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchPaymentInstructionConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchPaymentInstructionConfig.js index 8fbe9e4f55..7eae2b9dad 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchPaymentInstructionConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchPaymentInstructionConfig.js @@ -49,9 +49,9 @@ export const SearchPaymentInstructionConfig = { "populators": { "name": "piType", "optionsKey": "name", - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, "mdmsConfig": { "masterName": "PaymentInstructionType", "moduleName": "expense", @@ -100,9 +100,9 @@ export const SearchPaymentInstructionConfig = { "populators": { "name": "status", "optionsKey": "name", - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, "mdmsConfig": { "masterName": "PaymentInstructionStatus", "moduleName": "expense", @@ -190,9 +190,9 @@ export const SearchPaymentInstructionConfig = { "populators": { "name": "piType", "optionsKey": "name", - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, "mdmsConfig": { "masterName": "PaymentInstructionType", "moduleName": "expense", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchPaymentInstructionConfigNew.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchPaymentInstructionConfigNew.js index 641945aad2..0f6c6b68c9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchPaymentInstructionConfigNew.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchPaymentInstructionConfigNew.js @@ -52,9 +52,9 @@ export const SearchPIConfigNew = { "populators": { "name": "piType", "optionsKey": "name", - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, "mdmsConfig": { "masterName": "PaymentInstructionType", "moduleName": "expense", @@ -99,9 +99,9 @@ export const SearchPIConfigNew = { "populators": { "name": "status", "optionsKey": "name", - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, "mdmsConfig": { "masterName": "PaymentInstructionStatus", "moduleName": "expense", @@ -189,9 +189,9 @@ export const SearchPIConfigNew = { "populators": { "name": "piType", "optionsKey": "name", - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, "mdmsConfig": { "masterName": "PaymentInstructionType", "moduleName": "expense", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/mustorRollDetailsTableColumns.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/mustorRollDetailsTableColumns.js index d1cf7ec86c..0099be61dc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/mustorRollDetailsTableColumns.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/mustorRollDetailsTableColumns.js @@ -77,7 +77,7 @@ export const mustorRollDetailsTableColumns = (t) => [ // return {t(`BILL_STATUS_${value}`)} // } // else if(value==="PAYMENT_PENDING"){ - // return {t(`BILL_STATUS_${value}`)} + // return {t(`BILL_STATUS_${value}`)} // } // else { // return {t(`BILL_STATUS_${value}`)} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pageComponents/DeductionsTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pageComponents/DeductionsTable.js index 02b7118241..6c40cb5d1f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pageComponents/DeductionsTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pageComponents/DeductionsTable.js @@ -1,382 +1,405 @@ -import React, { useState,useEffect,useMemo } from 'react' -import { AddIcon, DeleteIcon,TextInput, CardLabelError,Loader,Dropdown, parse } from '@egovernments/digit-ui-react-components' -import { Controller } from 'react-hook-form'; -import _ from "lodash" +import React, { useState, useEffect, useMemo } from "react"; +import { AddIcon, DeleteIcon, TextInput, CardLabelError, Loader, Dropdown, parse } from "@egovernments/digit-ui-react-components"; +import { Controller } from "react-hook-form"; +import _ from "lodash"; +import { Button } from "@egovernments/digit-ui-components"; -const DeductionsTable = ({control,watch,...props}) => { - const PurchaseBillSession = Digit.Hooks.useSessionStorage("PURCHASE_BILL_CREATE",{}); - const [sessionFormData] = PurchaseBillSession; - const [totalAmount,setTotalAmount] = useState(0) - const formFieldName = "deductionDetails" // this will be the key under which the data for this table will be present on onFormSubmit - - const businessService = Digit?.Customizations?.["commonUiConfig"]?.getBusinessService("works.purchase"); +const DeductionsTable = ({ control, watch, ...props }) => { + const PurchaseBillSession = Digit.Hooks.useSessionStorage("PURCHASE_BILL_CREATE", {}); + const [sessionFormData] = PurchaseBillSession; + const [totalAmount, setTotalAmount] = useState(0); + const formFieldName = "deductionDetails"; // this will be the key under which the data for this table will be present on onFormSubmit - const tenant = Digit.ULBService.getStateId(); - const { isLoading: isHeadCodesLoading, data: HeadCodes } = Digit.Hooks.useCustomMDMS( - tenant, - "expense", - [ - { - name: "HeadCodes", - }, - ], - { - select: (data) => { - return data?.expense?.HeadCodes?.filter((row) => row?.category === "deduction" && row?.service === "works.purchase").map( - (row) => row.code - ); - }, - enabled:true - } - ); - - //update deduction table with session data - const renderDeductionsFromSession = () => { - if(!sessionFormData?.deductionDetails) { - return [{ - key: 1, - isShow: true, - }]; - } - let tableState = []; - for(let i = 1; i { + return data?.expense?.HeadCodes?.filter((row) => row?.category === "deduction" && row?.service === "works.purchase").map((row) => row.code); + }, + enabled: true, + } + ); - const { t, register, errors, setValue, getValues, formData } = props + //update deduction table with session data + const renderDeductionsFromSession = () => { + if (!sessionFormData?.deductionDetails) { + return [ + { + key: 1, + isShow: true, + }, + ]; + } + let tableState = []; + for (let i = 1; i < sessionFormData?.deductionDetails?.length; i++) { + if (sessionFormData?.deductionDetails[i]) { + tableState.push({ + key: i, + isShow: true, + }); + } + } + return tableState; + }; + //const initialState = renderDeductionsFromSession(); + const [rows, setRows] = useState(renderDeductionsFromSession()); - const setTotal = (formData) => { - const tableData = formData?.[formFieldName] + const { t, register, errors, setValue, getValues, formData } = props; + const setTotal = (formData) => { + const tableData = formData?.[formFieldName]; - const result = tableData?.filter((tableRow, idx) => { - let include = false + const result = tableData + ?.filter((tableRow, idx) => { + let include = false; rows?.map((row) => { if (row.isShow && row.key === idx) include = true; }); return include; - })?.reduce((acc, curr) => acc + parseFloat(curr?.amount || 0), 0); + }) + ?.reduce((acc, curr) => acc + parseFloat(curr?.amount || 0), 0); - setTotalAmount((prevState) => { - return result - }) - - } - - useEffect(() => { - setTotal(formData) - }, [formData,rows]); + setTotalAmount((prevState) => { + return result; + }); + }; + useEffect(() => { + setTotal(formData); + }, [formData, rows]); - const getStyles = (index) => { - let obj = {} - switch (index) { - case 1: - obj = { "width": "1rem" } - break; - case 2: - obj = { "width": "30%" } - break; - case 3: - obj = { "width": "30%" } - break; - case 4: - obj = { "width": "20%" } - break; - case 5: - obj = { "width": "3%" } - break; - default: - obj = { "width": "92rem" } - break; - } - return obj - } - const columns = [t('WORKS_SNO'), t('EXP_DEDUCTION_NAME'), t('EXP_PERCENTAGE_OR_FIXED'),t('WORKS_AMOUNT'), t('WORKS_COMMENTS'), t('WORKS_ACTIONS')] - const renderHeader = () => { - return columns?.map((key, index) => { - return
- }) + const getStyles = (index) => { + let obj = {}; + switch (index) { + case 1: + obj = { width: "1rem" }; + break; + case 2: + obj = { width: "30%" }; + break; + case 3: + obj = { width: "30%" }; + break; + case 4: + obj = { width: "20%" }; + break; + case 5: + obj = { width: "3%" }; + break; + default: + obj = { width: "92rem" }; + break; } + return obj; + }; + const columns = [t("WORKS_SNO"), t("EXP_DEDUCTION_NAME"), t("EXP_PERCENTAGE_OR_FIXED"), t("WORKS_AMOUNT"), t("WORKS_COMMENTS"), t("WORKS_ACTIONS")]; + const renderHeader = () => { + return columns?.map((key, index) => { + return ( + + ); + }); + }; - const showDelete = () => { - let countIsShow = 1 - rows?.map(row => row.isShow && countIsShow++) - if (countIsShow === 1) { - return false - } - return true + const showDelete = () => { + let countIsShow = 1; + rows?.map((row) => row.isShow && countIsShow++); + if (countIsShow === 1) { + return false; } - const removeRow = (row) => { - //check if only one row is present - let totalRows = 0; - for(let keys of Object.keys(formData?.[formFieldName])) { - totalRows += 1; - } - if(totalRows === 1) { - setValue(`${formFieldName}.${row.key}.name`,undefined) - setValue(`${formFieldName}.${row.key}.percentage`,``) - setValue(`${formFieldName}.${row.key}.amount`,``) - setValue(`${formFieldName}.${row.key}.comments`,``) - }else { - //make a new state here which doesn’t have this key - const updatedState = rows?.map(e => { - if (e.key === row.key) { - return { - key: e.key, - isShow: false - } - } - return e - }) - setValue(`${formFieldName}.${row.key}.amount`,0) - setRows(prev => updatedState) - } + return true; + }; + const removeRow = (row) => { + //check if only one row is present + let totalRows = 0; + for (let keys of Object.keys(formData?.[formFieldName])) { + totalRows += 1; } - - const addRow = () => { - const obj = { - key: null, - isShow: true + if (totalRows === 1) { + setValue(`${formFieldName}.${row.key}.name`, undefined); + setValue(`${formFieldName}.${row.key}.percentage`, ``); + setValue(`${formFieldName}.${row.key}.amount`, ``); + setValue(`${formFieldName}.${row.key}.comments`, ``); + } else { + //make a new state here which doesn’t have this key + const updatedState = rows?.map((e) => { + if (e.key === row.key) { + return { + key: e.key, + isShow: false, + }; } - obj.key = rows[rows.length - 1].key + 1 - setRows(prev => [...prev, obj]) + return e; + }); + setValue(`${formFieldName}.${row.key}.amount`, 0); + setRows((prev) => updatedState); } + }; - const getDropDownDataFromMDMS = (t, row, inputName, props, register, optionKey = "name", options = []) => { - - const { isLoading, data } = Digit.Hooks.useCustomMDMS( - Digit.ULBService.getStateId(), - options?.mdmsConfig?.moduleName, - [{ name: options?.mdmsConfig?.masterName }], - { - select: (data) => { - const optionsData = _.get(data, `${options?.mdmsConfig?.moduleName}.${options?.mdmsConfig?.masterName}`, []); - return optionsData.filter((opt) => HeadCodes?.includes(opt?.code) && opt?.active && Digit?.Customizations?.["commonUiConfig"]?.getBusinessService(opt?.service) === businessService).map((opt) => ({ ...opt, name: `${options?.mdmsConfig?.localePrefix}_${opt.code}` })); - }, - enabled: options?.mdmsConfig ? true : false, - } - ); - - if (isLoading) { - return ; - //show MDMS data if options are not provided. Options are in use here for pre defined options from config. - //Usage example : dependent dropdown - } else { - //here filter out the options available to select - let filteredOptions = [] - if(options?.mdmsConfig){ - filteredOptions = data?.filter(row => { - return !formData?.[formFieldName]?.some((formRow)=> formRow?.name?.code === row?.code ) - }) - } - return { - props.onChange(e); - handleDropdownChange(e, props, row, inputName) - }} - onBlur={props?.onBlur} - optionCardStyles={{ maxHeight: '15rem' }} - style={{ marginBottom: "0px" }} - /> - } - } + const addRow = () => { + const obj = { + key: null, + isShow: true, + }; + obj.key = rows[rows.length - 1].key + 1; + setRows((prev) => [...prev, obj]); + }; - const handleDropdownChange = (e, props, row, inputName) => { + const getDropDownDataFromMDMS = (t, row, inputName, props, register, optionKey = "name", options = []) => { + const { isLoading, data } = Digit.Hooks.useCustomMDMS( + Digit.ULBService.getStateId(), + options?.mdmsConfig?.moduleName, + [{ name: options?.mdmsConfig?.masterName }], + { + select: (data) => { + const optionsData = _.get(data, `${options?.mdmsConfig?.moduleName}.${options?.mdmsConfig?.masterName}`, []); + return optionsData + .filter( + (opt) => + HeadCodes?.includes(opt?.code) && + opt?.active && + Digit?.Customizations?.["commonUiConfig"]?.getBusinessService(opt?.service) === businessService + ) + .map((opt) => ({ ...opt, name: `${options?.mdmsConfig?.localePrefix}_${opt.code}` })); + }, + enabled: options?.mdmsConfig ? true : false, + } + ); - //here there are multiple cases that we need to handle - //1-> if autoCalculated field is true, populate the percentage/lumpsum(type field) , amount field and disable both of them - //2-> if autocal is false,then let user enter the percentage/lumpsum(type field), amount field - - if(!e){ - return; - } + if (isLoading) { + return ; + //show MDMS data if options are not provided. Options are in use here for pre defined options from config. + //Usage example : dependent dropdown + } else { + //here filter out the options available to select + let filteredOptions = []; + if (options?.mdmsConfig) { + filteredOptions = data?.filter((row) => { + return !formData?.[formFieldName]?.some((formRow) => formRow?.name?.code === row?.code); + }); + } + return ( + { + props.onChange(e); + handleDropdownChange(e, props, row, inputName); + }} + onBlur={props?.onBlur} + optionCardStyles={{ maxHeight: "15rem" }} + style={{ marginBottom: "0px" }} + /> + ); + } + }; - if(e.calculationType==="percentage" ){ - //set the percentage field - //set the amount field - //disable both the fields - const amount = formData?.invoiceDetails_materialCost ? parseFloat(Digit.Utils.dss.convertFormatterToNumber(formData?.invoiceDetails_materialCost) * (parseFloat(e.value)/100)).toFixed(1) : 0 - setValue(`deductionDetails.${row.key}.percentage`,`${e.value} ${t("WORKS_PERCENT")}`) - setValue(`deductionDetails.${row.key}.amount`,amount) + const handleDropdownChange = (e, props, row, inputName) => { + //here there are multiple cases that we need to handle + //1-> if autoCalculated field is true, populate the percentage/lumpsum(type field) , amount field and disable both of them + //2-> if autocal is false,then let user enter the percentage/lumpsum(type field), amount field - }else if(e.calculationType === "lumpsum" && e.value !== null){ - //set both lumpsum and amount field - setValue(`deductionDetails.${row.key}.percentage`, `${t("EXP_FIXED")}`) - setValue(`deductionDetails.${row.key}.amount`, e.value) - } - else { - setValue(`deductionDetails.${row.key}.percentage`, `${t("EXP_FIXED")}`) - setValue(`deductionDetails.${row.key}.amount`, '') - } + if (!e) { + return; } - const isInputDisabled = (inputKey) => { - const value = watch(inputKey) - if(!!(value?.value)) return true - else if (!value) return true - return false + if (e.calculationType === "percentage") { + //set the percentage field + //set the amount field + //disable both the fields + const amount = formData?.invoiceDetails_materialCost + ? parseFloat(Digit.Utils.dss.convertFormatterToNumber(formData?.invoiceDetails_materialCost) * (parseFloat(e.value) / 100)).toFixed(1) + : 0; + setValue(`deductionDetails.${row.key}.percentage`, `${e.value} ${t("WORKS_PERCENT")}`); + setValue(`deductionDetails.${row.key}.amount`, amount); + } else if (e.calculationType === "lumpsum" && e.value !== null) { + //set both lumpsum and amount field + setValue(`deductionDetails.${row.key}.percentage`, `${t("EXP_FIXED")}`); + setValue(`deductionDetails.${row.key}.amount`, e.value); + } else { + setValue(`deductionDetails.${row.key}.percentage`, `${t("EXP_FIXED")}`); + setValue(`deductionDetails.${row.key}.amount`, ""); } + }; + + const isInputDisabled = (inputKey) => { + const value = watch(inputKey); + if (!!value?.value) return true; + else if (!value) return true; + return false; + }; - const cellContainerStyle = { display: "flex", flexDirection: "column" }; + const cellContainerStyle = { display: "flex", flexDirection: "column" }; const errorCardStyle = { width: "100%", fontSize: "12px", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }; const errorContainerStyles = { display: "block", height: "1rem", overflow: "hidden" }; const renderBody = useMemo(() => { let i = 0; return rows.map((row, index) => { if (row.isShow) i++; - return row.isShow && ( - - + return ( + row.isShow && ( + + - + - + + - - + - - - - ) + + + + + ) + ); }); - }, [rows,totalAmount,formData,isHeadCodesLoading]) + }, [rows, totalAmount, formData, isHeadCodesLoading]); - if(isHeadCodesLoading && !HeadCodes?.length>0) return + if (isHeadCodesLoading && !HeadCodes?.length > 0) return ; - return ( -
{subIndex + 1} {subRow.code} {subRow.name}
- - + +
- - + + - - + + - {" "} - {key}{" "} - + {" "} + {key}{" "} +
{i}
{i} -
- - getDropDownDataFromMDMS(t, row, "name", props, register, "name", { - mdmsConfig: { - masterName: "ApplicableCharges", - moduleName: "expense", - localePrefix: "COMMON_MASTERS_DEDUCTIONS", - }, - }) - } - /> -
-
- {errors && errors?.[formFieldName]?.[row.key]?.name?.type === "pattern" && ( - {t(`WORKS_PATTERN_ERR`)} - )} - {errors && errors?.[formFieldName]?.[row.key]?.name?.type === "required" && ( - {t(`WORKS_REQUIRED_ERR`)} - )} -
-
+
+ + getDropDownDataFromMDMS(t, row, "name", props, register, "name", { + mdmsConfig: { + masterName: "ApplicableCharges", + moduleName: "expense", + localePrefix: "COMMON_MASTERS_DEDUCTIONS", + }, + }) + } + /> +
+
+ {errors && errors?.[formFieldName]?.[row.key]?.name?.type === "pattern" && ( + {t(`WORKS_PATTERN_ERR`)} + )} + {errors && errors?.[formFieldName]?.[row.key]?.name?.type === "required" && ( + {t(`WORKS_REQUIRED_ERR`)} + )} +
+
-
- -
-
- {/* {errors && errors?.[formFieldName]?.[row.key]?.percentage?.type === "pattern" && ( +
+
+ +
+
+ {/* {errors && errors?.[formFieldName]?.[row.key]?.percentage?.type === "pattern" && ( {t(`WORKS_PATTERN_ERR`)})} {errors && errors?.[formFieldName]?.[row.key]?.percentage?.type === "required" && ( {t(`WORKS_REQUIRED_ERR`)})} */} -
-
-
- -
-
- {errors && errors?.[formFieldName]?.[row.key]?.amount?.type === "pattern" && ( - {t(`WORKS_PATTERN_ERR`)} - )} - {errors && errors?.[formFieldName]?.[row.key]?.amount?.type === "required" && ( - {t(`WORKS_REQUIRED_ERR`)} - )} -
-
-
- -
-
- {/* {errors && errors?.[formFieldName]?.[row.key]?.percentage?.type === "pattern" && ( +
+
+ +
+
+ {errors && errors?.[formFieldName]?.[row.key]?.amount?.type === "pattern" && ( + {t(`WORKS_PATTERN_ERR`)} + )} + {errors && errors?.[formFieldName]?.[row.key]?.amount?.type === "required" && ( + {t(`WORKS_REQUIRED_ERR`)} + )} +
+
+
+ +
+
+ {/* {errors && errors?.[formFieldName]?.[row.key]?.percentage?.type === "pattern" && ( {t(`WORKS_PATTERN_ERR`)})} {errors && errors?.[formFieldName]?.[row.key]?.percentage?.type === "required" && ( {t(`WORKS_REQUIRED_ERR`)})} */} -
-
-
- {( - removeRow(row)} className="icon-wrapper"> - - - )} -
-
-
+
+ { + removeRow(row)} className="icon-wrapper"> + + + } +
+
+
- - {renderHeader()} - - - {renderBody} - - - - - - - - + return ( +
{t("TOTAL_DEDUCTIONS")}{Digit.Utils.dss.formatterWithoutRound(totalAmount? totalAmount: 0, 'number')}
+ + {renderHeader()} + + + {renderBody} + + + + + + + + - -
+ {t("TOTAL_DEDUCTIONS")} + {Digit.Utils.dss.formatterWithoutRound(totalAmount ? totalAmount : 0, "number")}
- ) -} + {/*
+
+ ); +}; -export default DeductionsTable \ No newline at end of file +export default DeductionsTable; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pageComponents/TotalBillAmount.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pageComponents/TotalBillAmount.js index 665dcb949e..ea95ecc339 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pageComponents/TotalBillAmount.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pageComponents/TotalBillAmount.js @@ -1,31 +1,31 @@ import { CardSectionHeader } from "@egovernments/digit-ui-react-components"; -import React, { useEffect,useMemo } from "react"; +import { TextBlock } from "@egovernments/digit-ui-components"; +import React, { useEffect, useMemo } from "react"; import { useTranslation } from "react-i18next"; -const TotalBillAmount = ({ formData,setValue, ...props }) => { +const TotalBillAmount = ({ formData, setValue, ...props }) => { const { t } = useTranslation(); - const formFieldNameDeductions = "deductionDetails" - const formFieldNameBillAmount = "billDetails_billAmt" + const formFieldNameDeductions = "deductionDetails"; + const formFieldNameBillAmount = "billDetails_billAmt"; let getTotalAmount = useMemo(() => { let totalBillAmount = Digit.Utils.dss.convertFormatterToNumber(formData?.[formFieldNameBillAmount]); - totalBillAmount = totalBillAmount ? totalBillAmount : 0 + totalBillAmount = totalBillAmount ? totalBillAmount : 0; let totalDeductions = formData?.[formFieldNameDeductions]?.reduce((acc, row) => { - let amountDeductions = parseFloat(row?.amount) - amountDeductions = amountDeductions ? amountDeductions : 0 - return amountDeductions + parseFloat(acc) - }, 0) - totalDeductions = totalDeductions ? totalDeductions : 0 - return totalBillAmount - totalDeductions -}, [formData]) + let amountDeductions = parseFloat(row?.amount); + amountDeductions = amountDeductions ? amountDeductions : 0; + return amountDeductions + parseFloat(acc); + }, 0); + totalDeductions = totalDeductions ? totalDeductions : 0; + return totalBillAmount - totalDeductions; + }, [formData]); - -useEffect(() => { - setValue("totalBillAmount", getTotalAmount) -}, [getTotalAmount]) + useEffect(() => { + setValue("totalBillAmount", getTotalAmount); + }, [getTotalAmount]); return ( -
+
{ justifyContent: "space-between", padding: "1rem", border: "1px solid #D6D5D4", - borderRadius: "5px", + borderRadius: "4px", }} > - + {/* {t("EXP_NET_PAYABLE")} - - {`₹ ${Digit.Utils.dss.formatterWithoutRound(getTotalAmount, 'number')}`} + */} + + {`₹ ${Digit.Utils.dss.formatterWithoutRound(getTotalAmount, "number")}`}
); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Bills/ViewWageBill.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Bills/ViewWageBill.js index 68e8d7e22d..628364f369 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Bills/ViewWageBill.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Bills/ViewWageBill.js @@ -1,7 +1,9 @@ import React, { useState, useEffect } from 'react' import { useTranslation } from "react-i18next"; -import { Header, Toast } from '@egovernments/digit-ui-react-components'; +import { Header } from '@egovernments/digit-ui-react-components'; import ApplicationDetails from '../../../../../templates/ApplicationDetails'; +import { Toast } from '@egovernments/digit-ui-components'; + const ViewWageBill = () => { const { t } = useTranslation(); @@ -48,7 +50,7 @@ const ViewWageBill = () => { ) } { - showDataError && setShowDataError(false)} /> + showDataError && setShowDataError(false)} /> } ) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/CreatePurchaseBillForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/CreatePurchaseBillForm.js index c23543efae..3a048c9f59 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/CreatePurchaseBillForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/CreatePurchaseBillForm.js @@ -1,6 +1,7 @@ -import { Button, CardText, FormComposer, Header, PopUp, Toast, WorkflowModal, Card, CardHeader, CardSubHeader, AlertPopUp } from "@egovernments/digit-ui-react-components"; +import { Button, CardText, FormComposer, Header, PopUp, WorkflowModal, Card, CardHeader, CardSubHeader, AlertPopUp } from "@egovernments/digit-ui-react-components"; import React, { Fragment, useEffect, useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; +import { Toast } from "@egovernments/digit-ui-components"; import _ from "lodash"; import { useHistory } from "react-router-dom"; import { createBillPayload } from "../../../utils/createBillUtils"; @@ -28,7 +29,7 @@ const CreatePurchaseBillForm = ({ MBValidationData }) => { const {t} = useTranslation(); - const [toast, setToast] = useState({show : false, label : "", error : false}); + const [toast, setToast] = useState({show : false, label : "", type : ""}); const history = useHistory(); const tenantId = Digit.ULBService.getCurrentTenantId(); @@ -115,7 +116,7 @@ const CreatePurchaseBillForm = ({ } const handleToastClose = () => { - setToast({show : false, label : "", error : false}); + setToast({show : false, label : "", type : ""}); } //remove Toast after 3s @@ -210,15 +211,15 @@ const CreatePurchaseBillForm = ({ data = Digit.Utils.trimStringsInObject(data) setInputFormData((prevState) => data) if(MBValidationData?.allMeasurementsIds?.length <= 0) - setToast({show : true, label : t("WORKS_NOT_ALLOWED_TO_CREATED_PB_NO_MB"), error : true}) + setToast({show : true, label : t("WORKS_NOT_ALLOWED_TO_CREATED_PB_NO_MB"), type : "error"}) // else if(MBValidationData?.totalMaterialAmount - MBValidationData?.totalPaidAmountForSuccessfulBills <=0) - // setToast({show : true, label : t("WORKS_NOT_ALLOWED_TO_CREATED_PB_UNPAID"), error : true}) + // setToast({show : true, label : t("WORKS_NOT_ALLOWED_TO_CREATED_PB_UNPAID"), type : "error"}) else if(MBValidationData?.totalMaterialAmount - MBValidationData?.totalPaidAmountForSuccessfulBills < data?.totalBillAmount) { setIsPopupOpen(true); } else if(data?.totalBillAmount <= 0) - setToast({show : true, label : t("EXPENDITURE_VALUE_CANNOT_BE_ZERO"), error : true}) + setToast({show : true, label : t("EXPENDITURE_VALUE_CANNOT_BE_ZERO"), type : "error"}) else setShowModal(true); //transform formdata to Payload @@ -290,7 +291,7 @@ const CreatePurchaseBillForm = ({ />) } {isPopupOpen && } - {toast?.show && } + {toast?.show && } ) } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/CreatePurchaseBillResponse.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/CreatePurchaseBillResponse.js index aafda5b5ea..82af64e9de 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/CreatePurchaseBillResponse.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/CreatePurchaseBillResponse.js @@ -39,7 +39,7 @@ const CreatePurchaseBillResponse = () => { />
navigate('billing-inbox')}> - {t("COMMON_GO_TO_INBOX")} + {t("COMMON_GO_TO_INBOX")}
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/PurchaseBill.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/PurchaseBill.js index 5d4886b226..b100398212 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/PurchaseBill.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/PurchaseBill.js @@ -64,23 +64,23 @@ const PurchaseBill = () => { } - const { isLoading : isConfigLoading, data : configs} = Digit.Hooks.useCustomMDMS( - stateTenant, - Digit.Utils.getConfigModuleName(), - [ - { - "name": "CreatePurchaseBillConfig" - } - ], - { - select: (data) => { - return data?.[Digit.Utils.getConfigModuleName()]?.CreatePurchaseBillConfig[0]; - }, - } - ); + // const { isLoading : isConfigLoading, data : configs} = Digit.Hooks.useCustomMDMS( + // stateTenant, + // Digit.Utils.getConfigModuleName(), + // [ + // { + // "name": "CreatePurchaseBillConfig" + // } + // ], + // { + // select: (data) => { + // return data?.[Digit.Utils.getConfigModuleName()]?.CreatePurchaseBillConfig[0]; + // }, + // } + // ); //local config - //let configs = createPurchaseBillConfigMUKTA?.CreatePurchaseBillConfig[0]; + let configs = createPurchaseBillConfigMUKTA?.CreatePurchaseBillConfig[0]; const tenant = Digit.ULBService.getStateId(); @@ -176,11 +176,11 @@ const PurchaseBill = () => { // if(isConfigLoading) return - if(isContractLoading || isOrgSearchLoading || isCBOOrgSearchLoading || isDocConfigLoading || isBillSearchLoading || isChargesLoading) return + // if(isContractLoading || isOrgSearchLoading || isCBOOrgSearchLoading || isDocConfigLoading || isBillSearchLoading || isChargesLoading) return return ( -
{isModify ? t("EXP_MODIFY_PB") : t("ACTION_TEST_CREATE_PB")}
+
{isModify ? t("EXP_MODIFY_PB") : t("ACTION_TEST_CREATE_PB")}
{ isFormReady && { const { t } = useTranslation(); @@ -51,7 +52,7 @@ const ViewPayment = () => { await updatePIMutation(payloadForUpdate, { onError: async (error, variables) => { setShowToast({ - error:true, + type:"error", label:`${t("EXP_RETRY_PI_ERR_MESSAGE")} : ${error?.response.data.Errors[0].message}` }) closeToast() @@ -62,7 +63,7 @@ const ViewPayment = () => { }, onSuccess: async (responseData, variables) => { setShowToast({ - error:false, + type:"", label:`${t("EXP_RETRY_PI_MESSAGE")}` }) closeToast() @@ -111,7 +112,7 @@ const ViewPayment = () => { ) } { - showDataError && setShowDataError(false)} /> + showDataError && setShowDataError(false)} /> } { (paStatus==="FAILED" || paStatus==="PARTIAL") && showActionBar && @@ -119,7 +120,7 @@ const ViewPayment = () => { } { - toast && setShowToast(null)} /> + toast && setShowToast(null)} /> }
) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Payments/viewPaymentInstruction.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Payments/viewPaymentInstruction.js index a91a77bd66..b10048d8ee 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Payments/viewPaymentInstruction.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Payments/viewPaymentInstruction.js @@ -1,7 +1,8 @@ import React, { useState, useEffect } from 'react' import { useTranslation } from "react-i18next"; -import { Header, Toast,SubmitBar,ActionBar } from '@egovernments/digit-ui-react-components'; +import { Header,SubmitBar,ActionBar } from '@egovernments/digit-ui-react-components'; import ApplicationDetails from '../../../../../templates/ApplicationDetails'; +import {Toast } from '@egovernments/digit-ui-components'; const ViewPaymentInstruction = () => { const { t } = useTranslation(); @@ -54,7 +55,7 @@ const ViewPaymentInstruction = () => { await updatePIMutation(payloadForUpdate, { onError: async (error, variables) => { setShowToast({ - error:true, + type:"error", label:`${t("EXP_RETRY_PI_ERR_MESSAGE")} : ${error?.response.data.Errors[0].description}` }) closeToast() @@ -62,7 +63,7 @@ const ViewPaymentInstruction = () => { }, onSuccess: async (responseData, variables) => { setShowToast({ - error:false, + type:"", label:`${t("EXP_RETRY_PI_MESSAGE")}` }) closeToast() @@ -108,7 +109,7 @@ const ViewPaymentInstruction = () => { ) } { - showDataError && setShowDataError(false)} /> + showDataError && setShowDataError(false)} /> } { (piStatus==="FAILED" || piStatus==="PARTIAL") && showActionBar && @@ -116,7 +117,7 @@ const ViewPaymentInstruction = () => { } { - toast && setShowToast(null)} /> + toast && setShowToast(null)} /> } ) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/viewBills/viewBills.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/viewBills/viewBills.js index 1b9264dcf2..a1c0112bff 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/viewBills/viewBills.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/viewBills/viewBills.js @@ -12,7 +12,7 @@ const ViewBills = () => { return (
-
+
{t("EXP_VIEW_BILL")}
Date: Tue, 13 Aug 2024 20:35:00 +0530 Subject: [PATCH 136/292] added masters module changes --- .../Masters/src/components/MastersResponse.js | 2 +- .../Masters/src/components/TransferCodeTable.js | 2 +- .../Masters/src/configs/searchOrganisationConfig.js | 12 ++++++------ .../Masters/src/configs/searchWMSWageSeekerConfig.js | 8 ++++---- .../Masters/src/configs/searchWageSeekerConfig.js | 6 +++--- .../src/pages/employee/Master/SearchMasters.js | 7 +++---- .../Masters/src/pages/employee/Master/ViewMasters.js | 2 +- .../CreateOrganization/CreateOrganizationForm.js | 11 ++++++----- .../Organisation/CreateOrganization/index.js | 5 +++-- .../pages/employee/Organisation/ViewOrganisation.js | 5 +++-- .../ModifyWageSeeker/ModifyWageSeekerForm.js | 5 +++-- .../employee/WageSeeker/ModifyWageSeeker/index.js | 5 +++-- .../pages/employee/WageSeeker/RegisterWageSeeker.js | 2 +- .../src/pages/employee/WageSeeker/ViewWageSeeker.js | 5 +++-- 14 files changed, 41 insertions(+), 36 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/components/MastersResponse.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/components/MastersResponse.js index caa473b40c..a3ac695bab 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/components/MastersResponse.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/components/MastersResponse.js @@ -40,7 +40,7 @@ const MastersResponse = () => {
navigate("home-screen")}> - {t("ES_COMMON_GOTO_HOME")} + {t("ES_COMMON_GOTO_HOME")} { !state?.isWageSeeker && state?.isSuccess &&( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/components/TransferCodeTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/components/TransferCodeTable.js index 32dee9e688..bcf528a2f0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/components/TransferCodeTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/components/TransferCodeTable.js @@ -233,7 +233,7 @@ const TransferCodeTable = (props) => { { formFieldName === "taxIdentifierData" ? (
+ // + <> + {/*
{t("MB_HISTORY")}
*/} + + { + !isTableCollapsed && +
{columns.map((column, index) => ( @@ -133,14 +138,19 @@ const MeasurementHistory = ({ contractNumber, measurementNumber }) => {
- + } - + + + // ); }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureCard.js index bef2893af0..d1068478cf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureCard.js @@ -206,7 +206,7 @@ const MeasureCard = React.memo(({ columns, fields = [], register, setValue, tabl return (
- {t("WORKS_MEASUREMENT_TABLE_HEADER")} + {t("WORKS_MEASUREMENT_TABLE_HEADER")} { tableData[tableIndex].showMeasure = false; setValue(tableData); @@ -252,14 +252,14 @@ const MeasureCard = React.memo(({ columns, fields = [], register, setValue, tabl /> )} {!(mode.includes("VIEW")) &&
} + label={
{t("MB_ADD_MORE_MBS")}
} variation="secondary" style={{width:"100%",borderRadius:"revert", marginLeft:"0px", marginRight:"0px"}} onButtonClick={() => { @@ -208,7 +208,7 @@ const MeasureRow = ({ value, index, rowState, dispatch, mode, fields }) => { {(
- - + +
{showToast?.show && ( setShowToast({ show: false, label: "", error: false })} + onClose={() => setShowToast({ show: false, label: "", type: "" })} /> )} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ratecardbutton.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ratecardbutton.js index d9be59f2e0..0798a77067 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ratecardbutton.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/ratecardbutton.js @@ -41,7 +41,7 @@ const RateCardWithRightButton = (props) => { row?.isLink ? (
- + {t(displayValue)} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/searchSORConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/searchSORConfig.js index e760e4dda4..37673d5590 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/searchSORConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/searchSORConfig.js @@ -51,9 +51,9 @@ const searchSORConfig = { name: "sorType", optionsKey: "description", required: true, - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, options: [ { active: true, @@ -74,9 +74,9 @@ const searchSORConfig = { name: "sorSubType", optionsKey: "description", required: true, - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, mdmsv2: { schemaCode: "WORKS-SOR.SubType", }, @@ -92,9 +92,9 @@ const searchSORConfig = { name: "sorVariant", optionsKey: "description", required: true, - "optionsCustomStyle": { - "top": "2.3rem" - }, + // "optionsCustomStyle": { + // "top": "2.3rem" + // }, mdmsv2: { schemaCode: "WORKS-SOR.Variant", }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js index 4b1c433d01..afb04cd3b0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js @@ -1,4 +1,4 @@ -import { Loader, FormComposerV2, Header, Toast, ActionBar, Menu, SubmitBar, WorkflowModal, AlertPopUp } from "@egovernments/digit-ui-react-components"; +import { Loader, FormComposerV2, Header, ActionBar, Menu, SubmitBar, WorkflowModal, AlertPopUp } from "@egovernments/digit-ui-react-components"; import React, { useState, useEffect, useCallback } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; @@ -6,6 +6,7 @@ import { CreateConfig } from "../../configs/RateAnalysisCreateConfig"; import { getDefaultValues, transformRequestBody } from "../../utils/transformData"; import getModalConfig from "../../../../Measurement/src/pages/employee/config"; import { deepCompare } from "../../utils/transformData"; +import { Toast } from "@egovernments/digit-ui-components"; const CreateRateAnalysis = ({ props }) => { @@ -18,7 +19,7 @@ const CreateRateAnalysis = ({ props }) => { // const [sessionFormData, setSessionFormData, clearSessionFormData] = MeasurementSession; const [createState, setState] = useState({ SORDetails:[], extraCharges:[], accessors: undefined, period: {} }); const [defaultState, setDefaultState] = useState({ SORDetails:[], extraCharges:[] }); - const [showToast, setShowToast] = useState({display: false, error: false}); + const [showToast, setShowToast] = useState({display: false, type:""}); const [errorMessage, setErrorMessage] = useState(""); const [config, setConfig] = useState({}); const [approvers, setApprovers] = useState([]); @@ -155,7 +156,7 @@ const { isLoading : isallCompositionLoading, data : allcompositionData} = Digit. createState?.accessors?.setValue?.("sordata", data?.mdms?.[0]); if (data?.period?.type == "error") { setErrorMessage(data?.period?.message); - setShowToast({display:true, error:true}); + setShowToast({display:true, type:"error"}); } } }; @@ -180,21 +181,21 @@ const { isLoading : isallCompositionLoading, data : allcompositionData} = Digit. if(createState?.SORType !== "Works") { setErrorMessage(t("RA_ONLY_FOR_WORKS")); - setShowToast({display:true, error:true}); + setShowToast({display:true, type:"error"}); setIsPopupOpen(false); return; } if(createState?.SORDetails?.length <= 0) { setErrorMessage(t("RA_SOR_DETAILS_MANDATORY")); - setShowToast({display:true, error:true}); + setShowToast({display:true, type:"error"}); setIsPopupOpen(false); return; } if(createState?.SORDetails?.filter((ob) => ob?.quantity === null || ob?.quantity === "")?.length > 0) { setErrorMessage(t("RA_SOR_DETAILS_QUANTITY_MANDATORY")); - setShowToast({display:true, error:true}); + setShowToast({display:true, type:"error"}); setIsPopupOpen(false); return; } @@ -202,7 +203,7 @@ const { isLoading : isallCompositionLoading, data : allcompositionData} = Digit. if(!isUpdate && allcompositionData?.mdms?.length > 0 && Digit.Utils.date.convertDateToEpoch(createState?.effective_from_date) <= allcompositionData?.mdms?.sort((a, b) => b.data.effectiveFrom - a.data.effectiveFrom)[0].data.effectiveFrom) { setErrorMessage("Rate analysis cannot be added as a record with the same effective from date already exists."); - setShowToast({display:true, error:true}); + setShowToast({display:true,type:"error"}); return; } @@ -220,13 +221,13 @@ const { isLoading : isallCompositionLoading, data : allcompositionData} = Digit. //call the createMutation for Rate Analysis and route to view page on onSuccess or show error const onError = (resp) => { setErrorMessage(resp?.response?.data?.Errors?.[0]?.message); - setShowToast({display:true, error:true}); + setShowToast({display:true, type:"error"}); }; const onSuccess = (resp) => { // if(isUpdate) setErrorMessage(`${t("RA_SUCCESS_UPDATE_MEESAGE_1")} ${resp?.mdms[0]?.data?.sorId} ${t("RA_SUCCESS_UPDATE_MESSAGE_2")} ${resp?.mdms?.[0]?.data?.effectiveFrom}`); // else setErrorMessage(`${t("RA_SUCCESS_MEESAGE_1")} ${resp?.mdms[0]?.data?.sorId} ${t("RA_SUCCESS_MESSAGE_2")} ${resp?.mdms?.[0]?.data?.effectiveFrom}`); - // setShowToast({display:true, error:false}); + // setShowToast({display:true, type:"error"}); // setTimeout(() => {history.push(`/${window.contextPath}/employee/rateAnalysis/view-rate-analysis?sorId=${resp?.mdms[0]?.data?.sorId}&fromeffective=${resp?.mdms?.[0]?.data?.effectiveFrom}`)}, 3000);; history.push(`/${window.contextPath}/employee/rateAnalysis/response?sorId=${resp?.mdms[0]?.data?.sorId}&fromeffective=${parseInt(resp?.mdms?.[0]?.data?.effectiveFrom)}&compositionId=${resp?.mdms[0]?.uniqueIdentifier}&isUpdate=${isUpdate}`) }; @@ -246,7 +247,7 @@ const { isLoading : isallCompositionLoading, data : allcompositionData} = Digit. }; const closeToast = () => { - setShowToast({display:false, error:false});; + setShowToast({display:false, type:""});; }; //remove Toast after 3s useEffect(() => { @@ -272,7 +273,7 @@ const { isLoading : isallCompositionLoading, data : allcompositionData} = Digit. if(!(deepCompare(createState?.SORDetails,compositionData?.mdms?.[0]?.data.basicSorDetails))) { setErrorMessage(t("RA_NO_CHANGE_IN_SOR")); - setShowToast({display:true, error:false}); + setShowToast({display:true, type:""}); } else { @@ -306,7 +307,7 @@ const { isLoading : isallCompositionLoading, data : allcompositionData} = Digit. onFormValueChange={onFormValueChange} noBreakLine={true} /> - {showToast?.display && } + {showToast?.display && }
); }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/RAResponseBanner.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/RAResponseBanner.js index b5436b8454..511dcdb616 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/RAResponseBanner.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/RAResponseBanner.js @@ -57,7 +57,7 @@ const RAResponseBanner = () => {
- + {t("RA_GO_TO_SEARCH_SOR")} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js index 349d146a93..ea117e303d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/SearchSOR.js @@ -1,9 +1,10 @@ import React, { useState, useEffect, useMemo, createContext, Fragment } from "react"; import { useTranslation } from "react-i18next"; -import { Header, Loader, Button, ActionBar, SubmitBar, Toast, TextInput, Modal, CardText } from "@egovernments/digit-ui-react-components"; +import { Header, Loader, Button, ActionBar, SubmitBar, TextInput, Modal, CardText } from "@egovernments/digit-ui-react-components"; import { InboxSearchComposer } from "@egovernments/digit-ui-react-components"; import { useHistory } from "react-router-dom"; import searchSORConfig from "../../configs/searchSORConfig"; +import {Toast} from "@egovernments/digit-ui-components"; const Heading = (props) => { return

{props.t(props.heading)}

; @@ -30,7 +31,7 @@ const SearchSOR = () => { const tenantId = Digit.ULBService.getCurrentTenantId(); const [triggerApiCall, setTriggerApiCall] = useState(false); const [selectedSorIds, setSelectedSorIds] = useState(Digit.SessionStorage.get("RA_SELECTED_SORS") || {}); - const [showToast, setShowToast] = useState({ show: false, label: "", error: false }); + const [showToast, setShowToast] = useState({ show: false, label: "", type:""}); const [popup, setPopup] = useState(false); const [effectiveFromDate, setEffectiveFromDate] = useState(""); const data = searchSORConfig?.SearchSORConfig?.[0]; @@ -85,9 +86,9 @@ const SearchSOR = () => { if (reviseratesdata) { if (reviseratesdata.ResponseInfo.status === "successful") { const jobId = reviseratesdata.ScheduledJobs?.[0]?.jobId || ""; - setShowToast({ show: true, label: `Revision of rates is scheduled. JOB ID ${jobId}`, error: false }); + setShowToast({ show: true, label: `Revision of rates is scheduled. JOB ID ${jobId}`, type:"" }); } else { - setShowToast({ show: true, label: "Failed to revise rates", error: true }); + setShowToast({ show: true, label: "Failed to revise rates", type:"error" }); } } }, [reviseratesdata]); @@ -145,11 +146,11 @@ const SearchSOR = () => { {showToast?.show && ( setShowToast({ show: false, label: "", error: false })} + onClose={() => setShowToast({ show: false, label: "", type: "" })} /> )} {popup && ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/ViewRateAnalysis.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/ViewRateAnalysis.js index 26a50d3272..45fdabe46c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/ViewRateAnalysis.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/ViewRateAnalysis.js @@ -98,7 +98,7 @@ const ViewRateAnalysis = () => { return ( { -
+
{
{t("RA_VIEW_RATE_HEADER")} From f468946db9a3e3ba4c990f9748a0da34a49016e1 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 13 Aug 2024 20:44:08 +0530 Subject: [PATCH 140/292] added added templates changes --- .../components/ApplicationDetailsContent.js | 11 +++++++---- .../components/ApplicationDetailsToast.js | 8 ++++---- .../components/PermissionCheck.js | 2 +- .../ApplicationDetails/components/ViewBreakup.js | 2 +- .../components/WSFeeEstimation.js | 15 ++++++++------- 5 files changed, 21 insertions(+), 17 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsContent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsContent.js index ac9096d483..7cd22a76ef 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsContent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsContent.js @@ -1,6 +1,6 @@ import { BreakLine, - Card, + // Card, CardSectionHeader, CardSubHeader, CheckPoint, @@ -14,6 +14,9 @@ import { WorkflowTimeline, CitizenInfoLabel } from "@egovernments/digit-ui-react-components"; +import { + Card +} from "@egovernments/digit-ui-components"; import { values } from "lodash"; import React, { Fragment, useCallback, useReducer, useState } from "react"; import { useTranslation } from "react-i18next"; @@ -336,7 +339,7 @@ function ApplicationDetailsContent({ window.location.href.includes("tl") || window.location.href.includes("ws") ? (
- + {t(value?.title)} @@ -350,7 +353,7 @@ function ApplicationDetailsContent({ text={
- + {value?.value} @@ -472,7 +475,7 @@ function ApplicationDetailsContent({ {detail?.additionalDetails?.redirectUrl && (
- + {detail?.additionalDetails?.redirectUrl?.title} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsToast.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsToast.js index 9540495f32..777d5fd39e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsToast.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsToast.js @@ -1,5 +1,5 @@ import React from "react"; -import { Toast } from "@egovernments/digit-ui-react-components"; +import { Toast } from "@egovernments/digit-ui-components"; function ApplicationDetailsToast({ t, showToast, closeToast, businessService }) { if (businessService?.includes("NewTL") || businessService?.includes("TL") || businessService?.includes("EDITRENEWAL")) { @@ -29,7 +29,7 @@ function ApplicationDetailsToast({ t, showToast, closeToast, businessService }) default: label = showToast?.key === "error" ? showToast?.error?.message : t(`ES_${businessService}_${showToast?.action?.action}_UPDATE_SUCCESS`); } - return {showToast && }; + return {showToast && }; } else if (businessService?.includes("BPA") || businessService?.includes("BPA_LOW") || businessService?.includes("BPA_OC")) { const getMessage = (messages = []) => { let returnValue = messages[0]; @@ -64,10 +64,10 @@ function ApplicationDetailsToast({ t, showToast, closeToast, businessService }) default: label = showToast?.key === "error" ? showToast?.error?.message : t(`ES_${businessService}_${showToast?.action?.action}_UPDATE_SUCCESS`); } - return {showToast && }; + return {showToast && }; } else { const label = showToast?.key === "error" ? showToast?.error?.message : `ES_${businessService}_${showToast?.action?.action}_UPDATE_SUCCESS`; - return {showToast && }; + return {showToast && }; } } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PermissionCheck.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PermissionCheck.js index 8900778972..52016e2d13 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PermissionCheck.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PermissionCheck.js @@ -79,7 +79,7 @@ const PermissionCheck = ({ permissions, t }) => { />}
))} - +
) } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ViewBreakup.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ViewBreakup.js index 5608aeb2d2..9e05703dd5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ViewBreakup.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ViewBreakup.js @@ -39,7 +39,7 @@ const ViewBreakup = ({ wsAdditionalDetails, workflowDetails }) => {
{wsAdditionalDetails?.additionalDetails?.isViewBreakup ?
onPopupOpen()} style={{ marginTop: "12px" }}> - {t("WS_PAYMENT_VIEW_BREAKUP")} + {t("WS_PAYMENT_VIEW_BREAKUP")}
: null } {popup && diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/WSFeeEstimation.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/WSFeeEstimation.js index 9a4fe591f9..01a36f26f6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/WSFeeEstimation.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/WSFeeEstimation.js @@ -1,8 +1,9 @@ import React, { useState, Fragment, useEffect } from "react"; import { useTranslation } from "react-i18next"; import { Card, CardSectionHeader, CardLabel } from "@egovernments/digit-ui-react-components"; -import { Modal, Dropdown, Row, StatusTable, TextInput, Toast } from "@egovernments/digit-ui-react-components"; +import { Modal, Dropdown, Row, StatusTable, TextInput } from "@egovernments/digit-ui-react-components"; import cloneDeep from "lodash/cloneDeep"; +import { Toast } from "@egovernments/digit-ui-components"; const Penality_menu = [ { @@ -105,7 +106,7 @@ const WSFeeEstimation = ({ wsAdditionalDetails, workflowDetails }) => { const demandId = wsAdditionalDetails?.additionalDetails?.data?.billDetails?.[0]?.demandId; if (rebateAmount > totalAmount) { - setShowToast({ isError: false, isWarning: true, key: "error", message: t("ERR_WS_REBATE_GREATER_THAN_AMOUNT") }); + setShowToast({ type: "warning", key: "error", message: t("ERR_WS_REBATE_GREATER_THAN_AMOUNT") }); } else { const applicationNo = wsAdditionalDetails?.additionalDetails?.appDetails?.applicationNo; const tenantId = wsAdditionalDetails?.additionalDetails?.appDetails?.tenantId; @@ -153,11 +154,11 @@ const WSFeeEstimation = ({ wsAdditionalDetails, workflowDetails }) => { showPopUp(false); }) .catch((e) => { - setShowToast({ isError: true, isWarning: false, key: "error", message: e?.response?.data?.Errors[0]?.message ? t(`${e?.response?.data?.Errors[0]?.code}`) : t("PT_COMMON_ADD_REBATE_PENALITY") }); + setShowToast({ type:"error", key: "error", message: e?.response?.data?.Errors[0]?.message ? t(`${e?.response?.data?.Errors[0]?.code}`) : t("PT_COMMON_ADD_REBATE_PENALITY") }); }); } } else { - setShowToast({ isError: false, isWarning: true, key: "warning", message: t("ERR_WS_ENTER_ATLEAST_ONE_FIELD") }); + setShowToast({ type: "warning", key: "warning", message: t("ERR_WS_ENTER_ATLEAST_ONE_FIELD") }); } } @@ -196,7 +197,7 @@ const WSFeeEstimation = ({ wsAdditionalDetails, workflowDetails }) => { showPopUp(true) }} > - {t("WS_PAYMENT_ADD_REBATE_PENALTY")} + {t("WS_PAYMENT_ADD_REBATE_PENALTY")}
: null } {popup && @@ -332,8 +333,8 @@ const WSFeeEstimation = ({ wsAdditionalDetails, workflowDetails }) => { {showToast && Date: Tue, 13 Aug 2024 20:48:29 +0530 Subject: [PATCH 141/292] added ui-ux changes --- .../example/src/UICustomizations.js | 2 +- .../Mukta/src/configs/UICustomizations.js | 38 +++++++++---------- .../CreateContractor/ContractorDetailTable.js | 2 +- .../components/CreateEstimate/SubWorkTable.js | 2 +- .../src/components/CreateLOI/CreateLoiForm.js | 2 +- .../components/ModifyEstimate/SubWorkTable.js | 2 +- .../src/components/ModifyEstimate/index.js | 8 ++-- .../pageComponents/WORKSContractorTable.js | 2 +- .../pages/employee/Estimate/CreateEstimate.js | 7 ++-- .../pages/employee/Estimate/ViewEstimate.js | 2 +- .../works/src/pages/employee/LOI/CreateLOI.js | 9 ++--- .../works/src/pages/employee/LOI/ViewLOI.js | 2 +- .../employee/SearchApprovedSubEstimate.js | 7 ++-- .../src/pages/employee/SearchEstimate.js | 7 ++-- .../works/src/pages/employee/search.js | 7 ++-- .../src/Customisations/UICustomizations.js | 2 +- 16 files changed, 48 insertions(+), 53 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/src/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/example/src/UICustomizations.js index dd0023fbb4..4ea44fb6f1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/src/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/example/src/UICustomizations.js @@ -789,7 +789,7 @@ export const UICustomizations = { //checking both to and from date are present const { createdFrom, createdTo } = data; if ((createdFrom === "" && createdTo !== "") || ( createdFrom!== "" && createdTo === "")) - return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js index 74d2e996f5..0fb3050431 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js @@ -376,7 +376,7 @@ export const UICustomizations = { //checking both to and from date are present const { fromProposalDate, toProposalDate } = data; if ((fromProposalDate === "" && toProposalDate !== "") || (fromProposalDate !== "" && toProposalDate === "")) - return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, @@ -587,8 +587,8 @@ export const UICustomizations = { customValidationCheck: (data) => { //checking both to and from date are present const { createdFrom, createdTo } = data; - if (createdTo !== "" && createdFrom === "") return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; - else if (createdTo === "" && createdFrom !== "") return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + if (createdTo !== "" && createdFrom === "") return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; + else if (createdTo === "" && createdFrom !== "") return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, @@ -729,8 +729,8 @@ export const UICustomizations = { customValidationCheck: (data) => { //checking both to and from date are present const { createdFrom, createdTo } = data; - if (createdTo !== "" && createdFrom === "") return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; - else if (createdTo === "" && createdFrom !== "") return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + if (createdTo !== "" && createdFrom === "") return {type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; + else if (createdTo === "" && createdFrom !== "") return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, @@ -844,7 +844,7 @@ export const UICustomizations = { customValidationCheck: (data) => { //checking both to and from date are present const { startDate, endDate } = data; - if ((startDate === "" && endDate !== "") || (startDate !== "" && endDate === "")) return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + if ((startDate === "" && endDate !== "") || (startDate !== "" && endDate === "")) return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, @@ -1075,7 +1075,7 @@ export const UICustomizations = { //checking both to and from date are present const { createdFrom, createdTo } = data; if ((createdFrom === "" && createdTo !== "") || (createdFrom !== "" && createdTo === "")) - return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, @@ -1185,7 +1185,7 @@ export const UICustomizations = { //checking both to and from date are present const { createdFrom, createdTo } = data; if ((createdFrom === "" && createdTo !== "") || (createdFrom !== "" && createdTo === "")) - return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, @@ -1287,7 +1287,7 @@ export const UICustomizations = { //checking both to and from date are present const { createdFrom, createdTo } = data; if ((createdFrom === "" && createdTo !== "") || (createdFrom !== "" && createdTo === "")) - return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, @@ -1394,7 +1394,7 @@ export const UICustomizations = { //checking both to and from date are present const { createdFrom, createdTo } = data; if ((createdFrom === "" && createdTo !== "") || (createdFrom !== "" && createdTo === "")) - return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, @@ -1500,7 +1500,7 @@ export const UICustomizations = { //checking both to and from date are present const { createdFrom, createdTo } = data; if ((createdFrom === "" && createdTo !== "") || (createdFrom !== "" && createdTo === "")) - return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, @@ -1696,7 +1696,7 @@ export const UICustomizations = { //checking both to and from date are present const { createdFrom, createdTo } = data; if ((createdFrom === "" && createdTo !== "") || (createdFrom !== "" && createdTo === "")) - return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, @@ -1908,7 +1908,7 @@ export const UICustomizations = { const { createdFrom, createdTo } = data; if ((createdFrom === "" && createdTo !== "") || (createdFrom !== "" && createdTo === "")) - return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, @@ -2037,7 +2037,7 @@ export const UICustomizations = { //checking both to and from date are present const { createdFrom, createdTo } = data; if ((createdFrom === "" && createdTo !== "") || (createdFrom !== "" && createdTo === "")) - return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, @@ -2168,7 +2168,7 @@ export const UICustomizations = { //checking both to and from date are present const { createdFrom, createdTo } = data; if ((createdFrom === "" && createdTo !== "") || (createdFrom !== "" && createdTo === "")) - return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, @@ -2306,7 +2306,7 @@ export const UICustomizations = { //checking both to and from date are present const { createdFrom, createdTo } = data; if ((createdFrom === "" && createdTo !== "") || (createdFrom !== "" && createdTo === "")) - return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, @@ -2480,7 +2480,7 @@ export const UICustomizations = { //checking both to and from date are present const { createdFrom, createdTo } = data; if ((createdFrom === "" && createdTo !== "") || (createdFrom !== "" && createdTo === "")) - return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, @@ -2754,8 +2754,8 @@ export const UICustomizations = { customValidationCheck: (data) => { //checking both to and from date are present const { scheduledFrom, scheduledTo } = data; - if (scheduledTo !== "" && scheduledFrom === "") return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; - else if (scheduledTo === "" && scheduledFrom !== "") return { warning: true, label: "ES_COMMON_ENTER_DATE_RANGE" }; + if (scheduledTo !== "" && scheduledFrom === "") return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; + else if (scheduledTo === "" && scheduledFrom !== "") return { type:"warning", label: "ES_COMMON_ENTER_DATE_RANGE" }; return false; }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/CreateContractor/ContractorDetailTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/CreateContractor/ContractorDetailTable.js index 25bf11d7b7..03acb4f83b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/CreateContractor/ContractorDetailTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/src/components/CreateContractor/ContractorDetailTable.js @@ -262,7 +262,7 @@ const WORKSContractorTable = ({ t, register, errors, rows, setRows,Controller,co
- - {renderHeader(data?.headers)} - - {renderBody(data?.tableRows)} - {showModal && ( - } - headerBarEnd={ - { - setShowModal(null); - }} - /> - } - hideSubmit={true} - popupStyles={{ overflowY: "auto" }} //maxHeight: "calc(100% - 90px)" - headerBarMainStyle={{ marginBottom: "0px" }} - popupModuleMianStyles={{ paddingTop: "0px" }} - > - - {showModal?.infoCardDetails?.values?.map((row, idx) => ( - - ))} - - - )} -
-
+ + + {renderHeader(data?.headers)} + + {renderBody(data?.tableRows)} + {showModal && ( + } + headerBarEnd={ + { + setShowModal(null); + }} + /> + } + hideSubmit={true} + popupStyles={{ overflowY: "auto" }} //maxHeight: "calc(100% - 90px)" + headerBarMainStyle={{ marginBottom: "0px" }} + popupModuleMianStyles={{ paddingTop: "0px" }} + > + + {showModal?.infoCardDetails?.values?.map((row, idx) => ( + + ))} + + + )} +
+ {/*
{t("WORKS_TABLE_TOTAL_AMOUNT")} : @@ -140,8 +140,38 @@ const OverheadDetailsTable = ({ data }) => {
-
- +
*/} + +
+
+ {`${t("WORKS_TABLE_TOTAL_AMOUNT")} :`} + + { + + } + +
+
+ ); }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewTotalEstAmount.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewTotalEstAmount.js index 2699ed3516..b025593d06 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewTotalEstAmount.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewTotalEstAmount.js @@ -5,10 +5,12 @@ import { useTranslation } from 'react-i18next' const ViewTotalEstAmount = ({detail,...props}) => { const { t } = useTranslation() return ( -
-
- {detail?.showTitle ? t(detail?.showTitle) : t("TOTAL_EST_AMOUNT")} - {detail?.value?.toString().includes(",") ? detail?.value : `₹ ${Digit.Utils.dss.formatterWithoutRound(Math.round(parseFloat(detail?.value)).toFixed(2),"number",undefined,true,undefined,2)}`} +
+
+ {detail?.showTitle ? t(detail?.showTitle) : t("TOTAL_EST_AMOUNT")} + {detail?.value?.toString().includes(",") ? detail?.value : `₹ ${Digit.Utils.dss.formatterWithoutRound(Math.round(parseFloat(detail?.value)).toFixed(2),"number",undefined,true,undefined,2)}`}
) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewConfig.js index 72eaad489b..c0f5337142 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewConfig.js @@ -86,7 +86,7 @@ export const data = (projectDetails, estimateDetails, overheadDetails, revisionN sections: [ { type: "COMPONENT", - cardHeader: { value: "MB_SORS", inlineStyles: {} }, + cardHeader: { value: "MB_SORS", inlineStyles: {}, className:"estimateTable-header-class"}, component: "EstimateMeasureTableWrapper", props: { config: { @@ -107,7 +107,7 @@ export const data = (projectDetails, estimateDetails, overheadDetails, revisionN sections: [ { type: "COMPONENT", - cardHeader: { value: "MB_NONSOR", inlineStyles: {} }, + cardHeader: { value: "MB_NONSOR", inlineStyles: {},className:"estimateTable-header-class" }, component: "EstimateMeasureTableWrapper", props: { config: { @@ -128,7 +128,7 @@ export const data = (projectDetails, estimateDetails, overheadDetails, revisionN sections: [ { type: "COMPONENT", - cardHeader: { value: "ES_OTHER_CHARGES", inlineStyles: {} }, + cardHeader: { value: "ES_OTHER_CHARGES", inlineStyles: {},className:"estimateTable-header-class" }, component: "OverheadDetailsTable", props: {data : overheadDetails} } @@ -136,6 +136,7 @@ export const data = (projectDetails, estimateDetails, overheadDetails, revisionN }, { navigationKey: "card1", + className:"totalEstimateAmoutCrad", sections: [ { type: "COMPONENT", @@ -164,7 +165,7 @@ export const data = (projectDetails, estimateDetails, overheadDetails, revisionN }, ], inlineStyles: { - marginTop: "1rem", + // marginTop: "1rem", }, } ], @@ -204,7 +205,8 @@ export const data = (projectDetails, estimateDetails, overheadDetails, revisionN sections: [ { type: "DATA", - sectionHeader: { value: "WORKS_PROJECT_DETAILS", inlineStyles: {marginBottom : "16px", marginTop:"32px", fontSize: "24px"} }, + isDividerBelow:true, + sectionHeader: { value: "WORKS_PROJECT_DETAILS", inlineStyles: {marginBottom : "16px", fontSize: "24px"} }, values: [ { key: "PROJECT_LOR", @@ -224,8 +226,12 @@ export const data = (projectDetails, estimateDetails, overheadDetails, revisionN }, ], }, + { + type:"DIVIDER" + }, { type: "DATA", + isDividerBelow:true, sectionHeader: { value: "WORKS_LOCATION_DETAILS", inlineStyles: {marginBottom : "16px", marginTop:"32px", fontSize: "24px"} }, values: [ { @@ -246,6 +252,9 @@ export const data = (projectDetails, estimateDetails, overheadDetails, revisionN }, ], }, + { + type:"DIVIDER" + }, { type: "DOCUMENTS", documents: [ @@ -256,7 +265,7 @@ export const data = (projectDetails, estimateDetails, overheadDetails, revisionN }, ], inlineStyles: { - marginTop: "1rem", + // marginTop: "1rem", }, headerStyle: { marginTop: "32px", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/OverheadsTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/OverheadsTable.js index 05f4bb64c3..a404f60392 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/OverheadsTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/OverheadsTable.js @@ -9,6 +9,7 @@ import { Dropdown, InputTextAmount, Amount, + CardSectionHeader } from "@egovernments/digit-ui-react-components"; import { Controller } from "react-hook-form"; import _ from "lodash"; @@ -390,36 +391,75 @@ const OverheadsTable = ({ control, watch, ...props }) => { return ( - - - {renderHeader()} - - - {renderBody} - - {/* */} - - {/* +
- - - - -
+ + {renderHeader()} + + + {renderBody} + + {/* */} + + {/* */} - - -
+ + + + +
-
-
+
+
+ {/*
{t("WORKS_TABLE_TOTAL_AMOUNT")} : -
-
- + */} + +
+
+ {`${t("WORKS_TABLE_TOTAL_AMOUNT")} :`} + + { + + } + +
+
+ + ); }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index 103ef4c250..33f2c6b09e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -2,7 +2,7 @@ import React, { useState, useEffect } from "react"; import { Loader, LinkButton } from "@egovernments/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; -import { Toast} from "@egovernments/digit-ui-components"; +import { Toast, Button} from "@egovernments/digit-ui-components"; const ViewAnalysisStatement = ({ formData, ...props }) => { const { t } = useTranslation(); @@ -346,12 +346,20 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { if (!window.location.href.includes("create")) return (
- + /> */} + { +
- - {/* */} + {/* */}
{toast?.show && } <> - - history.goBack()} label={t("STATEMENT_GO_BACK")} /> - + + history.goBack()} label={t("STATEMENT_GO_BACK")} /> + {/* {detailedEstimate?.estimates?.filter((ob) => ob?.businessService !== "REVISION-ESTIMATE")?.[0]?.wfStatus === "APPROVED" && !isLoadingContracts && actionsMenu?.length > 0 ? ( {showActions ? { const history = useHistory(); @@ -180,22 +180,30 @@ const ViewDetailedEstimate = () => {
{revisionNumber ? t("ESTIMATE_VIEW_REVISED_ESTIMATE") : t("ESTIMATE_VIEW_ESTIMATE")}
- HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} /> + {/* HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} /> */} + { +
-
+ {/*
{t("WORKS_TABLE_TOTAL_AMOUNT")} : @@ -477,6 +477,36 @@ const MeasureTable = (props) => {
+
*/} + +
+
+ {`${t( + "WORKS_TABLE_TOTAL_AMOUNT" + )} :`} + + { + + } + +
); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/ViewOnlyCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/ViewOnlyCard.js index a788755805..1100af0c68 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/ViewOnlyCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/ViewOnlyCard.js @@ -24,12 +24,13 @@ const ViewOnlyCard = (props) => { padding: "1rem", border: "1px solid #D6D5D4", borderRadius: "5px", + width:"fit-content" }} > - + {t("MB_AMOUNT_TOTAL")} - {`₹ ${Digit.Utils.dss.formatterWithoutRound( + {`₹ ${Digit.Utils.dss.formatterWithoutRound( Math.round(parseFloat(totalAmount)).toFixed(2), "number", undefined, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ViewMeasurement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ViewMeasurement.js index aa684c4404..577c78fef4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ViewMeasurement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ViewMeasurement.js @@ -2,6 +2,7 @@ import { Header, Card, Loader, ViewComposer, MultiLink } from "@egovernments/dig import React, { useState, useEffect } from "react"; import { useTranslation } from "react-i18next"; import { data } from "../../configs/ViewMeasurementConfig"; +import { Button } from "@egovernments/digit-ui-components"; const ViewMeasurement = () => { const { t } = useTranslation(); @@ -73,7 +74,17 @@ const ViewMeasurement = () => {
{t("MB_VIEW_MEASUREMENT_BOOK")}
- HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} /> + {/* HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} /> */} + { +
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/index.js index 71d1afd433..a30171ed42 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/index.js @@ -1,6 +1,6 @@ import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; -import { PrivateRoute, BreadCrumb } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute, BreadCrumb, AppContainer } from "@egovernments/digit-ui-react-components"; import { Switch, useLocation } from "react-router-dom"; import ViewMeasurement from "./ViewMeasurement"; import SearchMeasurement from "./SearchMeasurement"; @@ -8,11 +8,10 @@ import InboxMeasurement from "./InboxMeasurement"; import CreateMeasurement from "./CreateMeasurement"; import SearchPlain from "./SearchPlain"; -import ResponseBanner from "./ResponseBanner" +import ResponseBanner from "./ResponseBanner"; import UpdateMeasurement from "./UpdateMeasurement"; import ViewUtilization from "./viewUtilization"; - const MeasurementBreadCrumbs = ({ location }) => { const { t } = useTranslation(); @@ -27,7 +26,7 @@ const MeasurementBreadCrumbs = ({ location }) => { }, { path: `/${window.contextPath}/employee/measurement/search`, - content: t("MB_SEARCH_MEASUREMENT"), + content: t("MB_SEARCH_MEASUREMENT"), show: location.pathname.includes("/measurement/search") ? true : false, isBack: fromScreen && true, }, @@ -67,14 +66,13 @@ const MeasurementBreadCrumbs = ({ location }) => { const App = ({ path }) => { const location = useLocation(); - return ( - - {!location.pathname.includes("/response") && ( -
+ + {!location.pathname.includes("/response") && ( + -
+
)} } /> } /> @@ -84,9 +82,9 @@ const App = ({ path }) => { } /> } /> } /> - +
); }; -export default App; +export default App; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js index 0aefc8624a..b52677a9de 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/viewUtilization.js @@ -14,7 +14,7 @@ import { CitizenInfoLabel, } from "@egovernments/digit-ui-react-components"; import { - Toast,InfoCard + Toast,InfoCard, Button } from "@egovernments/digit-ui-components"; import { useTranslation } from "react-i18next"; import { ViewComposer } from "@egovernments/digit-ui-react-components"; @@ -445,19 +445,29 @@ const ViewUtilization = () => {
{t("MB_VIEW_UTLIZATION")}
- {downloadStatus&& HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} />} + {/* {downloadStatus&& HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} />} */} + {downloadStatus && ( +
-
+
{/*
{t("WORKS_TABLE_TOTAL_AMOUNT")} : @@ -420,19 +420,9 @@ const OverheadsTable = ({ control, watch, ...props }) => {
*/} -
-
- +
+ {/* {`${t("WORKS_TABLE_TOTAL_AMOUNT")} :`} @@ -455,7 +445,31 @@ const OverheadsTable = ({ control, watch, ...props }) => { sameDisplay={true} > } - + */} + + + + } + subHeaderClasName={"table_total_amount_value"} + >
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/TotalEstAmount.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/TotalEstAmount.js index 93388097d9..d1e8f07e55 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/TotalEstAmount.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/TotalEstAmount.js @@ -1,49 +1,56 @@ -import { CardSectionHeader } from '@egovernments/digit-ui-react-components' -import React,{ useEffect,useState,useMemo } from 'react' +import { CardSectionHeader } from "@egovernments/digit-ui-react-components"; +import React, { useEffect, useState, useMemo } from "react"; +import { TextBlock } from "@egovernments/digit-ui-components"; -const TotalEstAmount = ({formData,setValue,t,...props}) => { - const formFieldNameNonSor = "NONSORtable" - const formFieldNameSor = "SORtable" - const formFieldNameOverheads = "overheadDetails" - - let getTotalAmount = useMemo(() => { - let totalSor = formData?.[formFieldNameSor]?.reduce((acc,row)=>{ - let amountNonSor = parseFloat(row?.amount) - amountNonSor = amountNonSor ? amountNonSor : 0 - return amountNonSor + parseFloat(acc) - }, 0) - totalSor = totalSor ? totalSor : 0 - let totalNonSor = formData?.[formFieldNameNonSor]?.reduce((acc,row)=>{ - let amountNonSor = parseFloat(row?.amount) - amountNonSor = amountNonSor ? amountNonSor : 0 - return amountNonSor + parseFloat(acc) - }, 0) - totalNonSor = totalNonSor ? totalNonSor : 0 - let totalOverHeads = formData?.[formFieldNameOverheads]?.reduce((acc, row) => { - let amountOverheads = parseFloat(row?.amount) - amountOverheads = amountOverheads ? amountOverheads : 0 - return amountOverheads + parseFloat(acc) - }, 0) - totalOverHeads = !(Number.isNaN(totalOverHeads)) ? totalOverHeads : 100 +const TotalEstAmount = ({ formData, setValue, t, ...props }) => { + const formFieldNameNonSor = "NONSORtable"; + const formFieldNameSor = "SORtable"; + const formFieldNameOverheads = "overheadDetails"; - return totalSor + totalNonSor + totalOverHeads - }, [formData]) + let getTotalAmount = useMemo(() => { + let totalSor = formData?.[formFieldNameSor]?.reduce((acc, row) => { + let amountNonSor = parseFloat(row?.amount); + amountNonSor = amountNonSor ? amountNonSor : 0; + return amountNonSor + parseFloat(acc); + }, 0); + totalSor = totalSor ? totalSor : 0; + let totalNonSor = formData?.[formFieldNameNonSor]?.reduce((acc, row) => { + let amountNonSor = parseFloat(row?.amount); + amountNonSor = amountNonSor ? amountNonSor : 0; + return amountNonSor + parseFloat(acc); + }, 0); + totalNonSor = totalNonSor ? totalNonSor : 0; + let totalOverHeads = formData?.[formFieldNameOverheads]?.reduce((acc, row) => { + let amountOverheads = parseFloat(row?.amount); + amountOverheads = amountOverheads ? amountOverheads : 0; + return amountOverheads + parseFloat(acc); + }, 0); + totalOverHeads = !Number.isNaN(totalOverHeads) ? totalOverHeads : 100; + + return totalSor + totalNonSor + totalOverHeads; + }, [formData]); + + useEffect(() => { + if (formData?.totalEstimatedAmount !== getTotalAmount) setValue("totalEstimatedAmount", getTotalAmount); + }, [getTotalAmount, formData]); - - useEffect(() => { - if(formData?.totalEstimatedAmount !== getTotalAmount) - setValue("totalEstimatedAmount", getTotalAmount) - }, [getTotalAmount, formData]) - - return ( -
-
- {window.location.href.includes("/estimate/") ? t("TOTAL_CREATE_EST_AMOUNT") : t("TOTAL_EST_AMOUNT")} - {`₹ ${Digit.Utils.dss.formatterWithoutRound(Math.round(getTotalAmount), 'number')}.00`} -
+
+
+ {/* {window.location.href.includes("/estimate/") ? t("TOTAL_CREATE_EST_AMOUNT") : t("TOTAL_EST_AMOUNT")} + {`₹ ${Digit.Utils.dss.formatterWithoutRound(Math.round(getTotalAmount), 'number')}.00`} */} + + +
- ) -} +
+ ); +}; -export default TotalEstAmount \ No newline at end of file +export default TotalEstAmount; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js index 33f2c6b09e..68bda33f56 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewAnalysisStatement.js @@ -372,7 +372,7 @@ const ViewAnalysisStatement = ({ formData, ...props }) => { )}
); - else return
; + else return null; }; export default ViewAnalysisStatement; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewProject.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewProject.js index 665c6a6d0c..c22b7a84d9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewProject.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/ViewProject.js @@ -76,7 +76,7 @@ const ViewProject = ({ fromUrl = true, module, ...props }) => { forcedActionPrefix={"WORKS"} noBoxShadow={true} customClass="status-table-custom-class" - sectionHeadStyle={{marginBottom: "16px", marginTop: "0px", fontSize: "24px"}} + // sectionHeadStyle={{marginBottom: "16px", marginTop: "0px", fontSize: "24px"}} /> ))} {toast?.show && } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchSor.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchSor.js index ce0a51ac27..6fa14de8f0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchSor.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchSor.js @@ -1,9 +1,8 @@ -import { Button } from "@egovernments/digit-ui-react-components"; import React, { useEffect, useState, useCallback } from "react"; import { useTranslation } from "react-i18next"; import EstimateDropdown from "./EstimateDropdown"; import SearchBar from "./SearchBar"; -import { Toast } from "@egovernments/digit-ui-components"; +import { Toast,Button } from "@egovernments/digit-ui-components"; const fetchData = async (sorid, state, setState, setShowToast) => { @@ -182,7 +181,7 @@ const searchSor = (props) => {
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js index bca6558014..0c308dbf46 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/searchTemplate.js @@ -1,7 +1,7 @@ -import { Button, TextInput } from "@egovernments/digit-ui-react-components"; +import { TextInput } from "@egovernments/digit-ui-react-components"; import React, { useEffect, useState, useCallback, useRef } from "react"; import { useTranslation } from "react-i18next"; -import {Toast } from "@egovernments/digit-ui-components"; +import {Toast,Button } from "@egovernments/digit-ui-components"; const fetchSorDetails = async (inputDATA) => { //method to fetch the data for estimate template @@ -260,7 +260,7 @@ const searchTemplate = (props) => { let newnonsorIndex = formNonSORdata[formNonSORdata?.length - 1]?.sNo+1; - let nosSorData = stateData?.selectedTemplate.nonSorLineItems? stateData?.selectedTemplate.nonSorLineItems?.map((item, index) => ({ + let nosSorData = stateData?.selectedTemplate?.nonSorLineItems? stateData?.selectedTemplate.nonSorLineItems?.map((item, index) => ({ sNo: newnonsorIndex++, description: item?.description, uom: item?.uom, @@ -382,7 +382,7 @@ const searchTemplate = (props) => { )}
-
)} */} {detail?.isTable && } - {detail?.isInfoLabel && ( )} - {detail?.isMbDetails && ob?.isMbDetails)?.[0]} />} - {detail?.title && !detail?.title.includes("NOC") && @@ -432,9 +444,10 @@ function ApplicationDetailsContent({ {detail?.additionalDetails?.table ? detail?.additionalDetails?.table?.weekTable?.tableHeader && ( <> - + {/* {t(detail?.additionalDetails?.table?.weekTable?.tableHeader)} - + */} + {detail?.additionalDetails?.table.weekTable.renderTable && ( +
{!isStakeholderApplication && documents?.map((document, index) => ( - {document?.title ? {t(document?.title)} : null} + {/* {document?.title ? {t(document?.title)} : null} */} + {document?.title ? : null}
{document?.values && document?.values.length > 0 ? document?.values?.map((value, index) => ( @@ -27,7 +31,9 @@ function DocumentsPreview({ documents, svgStyles = {}, isSendBackFlow = false, i ))} {isStakeholderApplication && documents?.map((document, index) => ( - {document?.title ? {t(document?.title)} : null} + {/* {document?.title ? {t(document?.title)} : null} + */} + {document?.title ? : null}
{document?.values && document?.values.length > 0 ? document?.values?.map((value, index) => ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyDocuments.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyDocuments.js index cf164e24f2..6610d49ced 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyDocuments.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyDocuments.js @@ -1,6 +1,9 @@ import React, { useState, useEffect } from "react"; import { useTranslation } from "react-i18next"; import { CardSubHeader, PDFSvg } from "@egovernments/digit-ui-react-components"; +import { + TextBlock +} from "@egovernments/digit-ui-components"; // const PDFSvg = ({ width = 34, height = 34, style, viewBox = "0 0 34 34" }) => ( // @@ -40,11 +43,14 @@ function PropertyDocuments({ documents, svgStyles = {}, isSendBackFlow=false }) const checkLocation = window.location.href.includes("employee/tl") || window.location.href.includes("/obps") || window.location.href.includes("employee/ws"); const isStakeholderApplication = window.location.href.includes("stakeholder"); + console.log("propertydocs") return ( -
+
{!isStakeholderApplication && documents?.map((document, index) => ( - {document?.title ? {t(document?.title)}: null} + {/* {document?.title ? {t(document?.title)}: null} + */} + {document?.title ? : null}
{document?.values && document?.values.length>0 ? document?.values?.map((value, index) => ( @@ -60,7 +66,9 @@ function PropertyDocuments({ documents, svgStyles = {}, isSendBackFlow=false }) ))} {isStakeholderApplication && documents?.map((document, index) => ( - {document?.title ? {t(document?.title)} : null} + {/* {document?.title ? {t(document?.title)} : null} + */} + {document?.title ? : null}
{document?.values && document?.values.length>0 ? document?.values?.map((value, index) => ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/WorkflowTimeline.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/WorkflowTimeline.js index 4776ce8dff..88c298c8b8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/WorkflowTimeline.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/WorkflowTimeline.js @@ -225,11 +225,11 @@ const WorkflowTimeline = ({ } subElements={index === 0 && !checkpoint?.isTerminateState ? [] : getTimelineCaptions(checkpoint, index)} variant={ - index === 0 && !checkpoint?.isTerminateState - ? "upcoming" - : checkpoint?.isTerminateState && index === 0 - ? "upcoming" - : "completed" + ((index === 0 && !checkpoint?.isTerminateState) || checkpoint?.variant === "inprogress") + ? "inprogress" + : ((checkpoint?.isTerminateState && index === 0) || (checkpoint?.variant === "inprogress")) + ? "inprogress" + : (checkpoint?.variant==="upcoming") ? "upcoming": "completed" } showConnector={true} /> diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js index 37c99f0339..ffddf5a6d2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js @@ -4,34 +4,44 @@ import BreakLine from "../atoms/BreakLine"; import Card from "../atoms/Card"; import CardLabel from "../atoms/CardLabel"; import CardText from "../atoms/CardText"; -// import CardLabelError from "../atoms/CardLabelError"; import CardSubHeader from "../atoms/CardSubHeader"; -import CardSectionHeader from "../atoms/CardSectionHeader"; import CardLabelDesc from "../atoms/CardLabelDesc"; import CardLabelError from "../atoms/CardLabelError"; -// import TextArea from "../atoms/TextArea"; -// import TextInput from "../atoms/TextInput"; import ActionBar from "../atoms/ActionBar"; import SubmitBar from "../atoms/SubmitBar"; -// import LabelFieldPair from "../atoms/LabelFieldPair"; import LinkButton from "../atoms/LinkButton"; import ApiDropdown from "../molecules/ApiDropdown"; - import { useTranslation } from "react-i18next"; import MobileNumber from "../atoms/MobileNumber"; import _ from "lodash"; -// import CustomDropdown from "../molecules/CustomDropdown"; import MultiUploadWrapper from "../molecules/MultiUploadWrapper"; import HorizontalNav from "../atoms/HorizontalNav"; -// import Toast from "../atoms/Toast"; import UploadFileComposer from "./UploadFileComposer"; -// import CheckBox from "../atoms/CheckBox"; -// import MultiSelectDropdown from "../atoms/MultiSelectDropdown"; import Paragraph from "../atoms/Paragraph"; import InputTextAmount from "../atoms/InputTextAmount"; import WrapperComponent from "../atoms/WrapperComponent"; - -import { CustomDropdown,Toast, CheckBox,MultiSelectDropdown, TextArea, TextInput, LabelFieldPair,ErrorMessage,StringManipulator ,Header} from "@egovernments/digit-ui-components"; +// import CheckBox from "../atoms/CheckBox"; +// import MultiSelectDropdown from "../atoms/MultiSelectDropdown"; +// import Toast from "../atoms/Toast"; +// import CustomDropdown from "../molecules/CustomDropdown"; +// import LabelFieldPair from "../atoms/LabelFieldPair"; +// import TextArea from "../atoms/TextArea"; +// import TextInput from "../atoms/TextInput"; +// import CardLabelError from "../atoms/CardLabelError"; +// import CardSectionHeader from "../atoms/CardSectionHeader"; +import { + CustomDropdown, + Toast, + CheckBox, + MultiSelectDropdown, + TextArea, + TextInput, + LabelFieldPair, + ErrorMessage, + StringManipulator, + Header, + TextBlock, +} from "@egovernments/digit-ui-components"; const wrapperStyles = { // "display":"flex", @@ -142,7 +152,6 @@ export const FormComposer = (props) => { const customRules = customValidation ? { validate: customValidation } : {}; const customProps = config?.customProps; - switch (type) { case "date": case "text": @@ -186,28 +195,22 @@ export const FormComposer = (props) => {
); - case "apidropdown": - return ( - { - return ( -
- -
- ); - }} - /> - ); + case "apidropdown": + return ( + { + return ( +
+ +
+ ); + }} + /> + ); case "amount": // if (populators.defaultValue) setTimeout(setValue(populators?.name, populators.defaultValue)); @@ -328,7 +331,7 @@ export const FormComposer = (props) => { rules={{ required: populators?.isMandatory }} render={(props) => { return ( -
+
{ // const obj = { @@ -414,13 +417,7 @@ export const FormComposer = (props) => { config={populators} disabled={config?.disable} errorStyle={errors?.[populators.name]} - variant={ - populators?.variant - ? populators?.variant - : errors?.[populators.name] - ? "digit-field-error" - : "" - } + variant={populators?.variant ? populators?.variant : errors?.[populators.name] ? "digit-field-error" : ""} /> )} rules={!disableFormValidation ? { required: isMandatory, ...populators.validation } : {}} @@ -506,7 +503,7 @@ export const FormComposer = (props) => { rules={{ required: isMandatory }} render={(props) => { return ( -
+
{ const getCombinedComponent = (section) => { if (section.head && section.subHead) { return ( + // <> + // + // {t(section.head)} + // + // + // {t(section.subHead)} + // + // <> - - {t(section.head)} - - - {t(section.subHead)} - + + ); } else if (section.head) { return ( - <> - - {t(section.head)} - - + // <> + // + // {t(section.head)} + // + // + + ); } else { - return
; + return null; } }; @@ -673,7 +679,7 @@ export const FormComposer = (props) => { style={ props?.showWrapperContainers && !field.hideContainer ? { ...wrapperStyles, ...field?.populators?.customStyle } - : { border: "none", background: "white", ...field?.populators?.customStyle } + : props?.fieldPairNoMargin ? {marginBottom : "0px"} : { border: "none", background: "white", ...field?.populators?.customStyle } } > {/* {!field.withoutLabel && ( @@ -857,7 +863,7 @@ export const FormComposer = (props) => { const renderFormFields = (props, section, index, array, sectionFormCategory) => ( {!props.childrenAtTheBottom && props.children} - {props.heading && {props.heading} } + {props.heading && {props.heading} } {props.description && {props.description} } {props.text && {props.text}} {formFields(section, index, array, sectionFormCategory)} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js index ecbae4a092..c4308e969c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js @@ -14,9 +14,11 @@ export const RenderDataSection = ({ section }) => { const { t } = useTranslation(); return ( <> - {section.cardHeader && {t(section.cardHeader.value)}} + {/* {section.cardHeader && {t(section.cardHeader.value)}} */} + {section.cardHeader && } - {section.sectionHeader && {t(section.sectionHeader.value)}} + {/* {section.sectionHeader && {t(section.sectionHeader.value)}} */} + {section.sectionHeader && } {section?.values?.filter((ob) => ob !== null && Object?.keys(ob)?.length > 0).map((row, rowIdx) => { const displayValue = row?.value !== undefined && row?.value !== null ? row.value : 'NA'; From 2536c8f25ec63a59ff3953de9df039435cfc30a9 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Fri, 23 Aug 2024 16:24:09 +0530 Subject: [PATCH 158/292] UCEM-782 : create analysis validation issue for adding duplicate sor, and for quantity --- .../src/components/SORDetailsTemplate.js | 10 ++++++++-- .../src/pages/employee/CreateRateAnalysis.js | 12 ++++++++++-- .../modules/RateAnalysis/src/utils/transformData.js | 2 +- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js index 3ce6a81885..ed900a2230 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js @@ -1,4 +1,4 @@ -import { Card, Header, Button, Loader, TextInput, DeleteIcon } from "@egovernments/digit-ui-react-components"; +import { Card, Header, Button, Loader, TextInput, DeleteIcon, Toast } from "@egovernments/digit-ui-react-components"; import React, { useState, useEffect, useCallback } from "react"; import { useTranslation } from "react-i18next"; import SearchBar from "../../../Estimate/src/pageComponents/SearchBar"; @@ -51,6 +51,12 @@ const SORDetailsTemplate = (props) => { }, [SORDetails]); const buttonClick = async () => { + if(formData?.find((ob) => ob?.sorCode === stateData?.selectedSor?.id)) + { + setShowToast({ show: true, label: "SOR Already present", error: true }); + setSelectedSOR(null); + return; + } if (window.location.href.includes("update")) { const sor = transformSOR(stateData?.selectedSor, isUpdate); sor?.sorId && SORDetails?.push({ ...sor, sorType: props?.config?.sorType }); @@ -241,7 +247,7 @@ const SORDetailsTemplate = (props) => { //value={row?.quantity} onChange={(e) => { const { value } = e.target; - if (value ? has4DecimalPlaces(parseFloat(value)) : true) { + if (value ? has4DecimalPlaces(value) : true) { let detailsPicked = window.location.href.includes("update") ? SORDetails : formData; let newSOR = detailsPicked?.map((obj) => { if (obj?.sorCode === row?.sorCode) { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js index 4b1c433d01..ac311753fa 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/CreateRateAnalysis.js @@ -17,6 +17,7 @@ const CreateRateAnalysis = ({ props }) => { const queryStrings = Digit.Hooks.useQueryParams(); // const [sessionFormData, setSessionFormData, clearSessionFormData] = MeasurementSession; const [createState, setState] = useState({ SORDetails:[], extraCharges:[], accessors: undefined, period: {} }); + const [isButtonDisabled, setIsButtonDisabled] = useState(false) const [defaultState, setDefaultState] = useState({ SORDetails:[], extraCharges:[] }); const [showToast, setShowToast] = useState({display: false, error: false}); const [errorMessage, setErrorMessage] = useState(""); @@ -177,11 +178,13 @@ const { isLoading : isallCompositionLoading, data : allcompositionData} = Digit. // Handle form submission const handleCreateRateAnalysis = async (data, action) => { + setIsButtonDisabled(true); if(createState?.SORType !== "Works") { setErrorMessage(t("RA_ONLY_FOR_WORKS")); setShowToast({display:true, error:true}); setIsPopupOpen(false); + setIsButtonDisabled(false); return; } if(createState?.SORDetails?.length <= 0) @@ -189,6 +192,7 @@ const { isLoading : isallCompositionLoading, data : allcompositionData} = Digit. setErrorMessage(t("RA_SOR_DETAILS_MANDATORY")); setShowToast({display:true, error:true}); setIsPopupOpen(false); + setIsButtonDisabled(false); return; } if(createState?.SORDetails?.filter((ob) => ob?.quantity === null || ob?.quantity === "")?.length > 0) @@ -196,13 +200,15 @@ const { isLoading : isallCompositionLoading, data : allcompositionData} = Digit. setErrorMessage(t("RA_SOR_DETAILS_QUANTITY_MANDATORY")); setShowToast({display:true, error:true}); setIsPopupOpen(false); + setIsButtonDisabled(false); return; } if(!isUpdate && allcompositionData?.mdms?.length > 0 && Digit.Utils.date.convertDateToEpoch(createState?.effective_from_date) <= allcompositionData?.mdms?.sort((a, b) => b.data.effectiveFrom - a.data.effectiveFrom)[0].data.effectiveFrom) { - setErrorMessage("Rate analysis cannot be added as a record with the same effective from date already exists."); + setErrorMessage(t("RA_NOT_ADDED_SAME_RECORD_EXIST")); setShowToast({display:true, error:true}); + setIsButtonDisabled(false); return; } @@ -219,11 +225,12 @@ const { isLoading : isallCompositionLoading, data : allcompositionData} = Digit. //call the createMutation for Rate Analysis and route to view page on onSuccess or show error const onError = (resp) => { + setIsButtonDisabled(false); setErrorMessage(resp?.response?.data?.Errors?.[0]?.message); setShowToast({display:true, error:true}); }; const onSuccess = (resp) => { - + setIsButtonDisabled(false); // if(isUpdate) setErrorMessage(`${t("RA_SUCCESS_UPDATE_MEESAGE_1")} ${resp?.mdms[0]?.data?.sorId} ${t("RA_SUCCESS_UPDATE_MESSAGE_2")} ${resp?.mdms?.[0]?.data?.effectiveFrom}`); // else setErrorMessage(`${t("RA_SUCCESS_MEESAGE_1")} ${resp?.mdms[0]?.data?.sorId} ${t("RA_SUCCESS_MESSAGE_2")} ${resp?.mdms?.[0]?.data?.effectiveFrom}`); // setShowToast({display:true, error:false}); @@ -301,6 +308,7 @@ const { isLoading : isallCompositionLoading, data : allcompositionData} = Digit. getFormAccessors={getFormAccessors} defaultValues={{ ...createState }} onSubmit={(_data) => isUpdate && isUpdate !== undefined? validateRateAnalysis() : handleCreateRateAnalysis({..._data,...createState},"SUBMIT")} + isDisabled={isButtonDisabled} fieldStyle={{ marginRight: 0 }} showMultipleCardsWithoutNavs={true} onFormValueChange={onFormValueChange} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js index ea8dc9c27c..72d52cc250 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/utils/transformData.js @@ -161,7 +161,7 @@ const generateId = async (tenantId = Digit.ULBService.getCurrentTenantId()) => { }; export const has4DecimalPlaces = (value) => { - const regex = /^\d*\.?\d{0,4}$/; + const regex = /^[0-9]*\.?[0-9]{0,4}$/; return regex.test(value); }; From 6b6cffe1ef6a27f918ee7b157caaf638e6a80ca3 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Fri, 23 Aug 2024 19:31:30 +0530 Subject: [PATCH 159/292] updated all response screens and actionbar --- .../css/src/pages/employee/coreOverride.scss | 2 +- .../css/src/pages/employee/override.scss | 38 ++ .../AttendenceMgmt/src/components/Response.js | 34 +- .../src/pages/employee/index.js | 9 +- .../viewAttendance/ViewAttendances.js | 4 +- .../TimeExtension/CreateTimeExtension.js | 19 +- .../CreateWorkOrder/CreateWOResponse.js | 72 +-- .../src/pages/employee/ViewContract.js | 49 +- .../src/pages/employee/ViewContractDetails.js | 39 +- .../Contracts/src/pages/employee/index.js | 2 +- .../src/components/ViewEstimateComponent.js | 113 ++-- .../CreateDetailedEstimate/CreateEstimate.js | 36 +- .../EstimateResponse.js | 97 ++-- .../CreateEstimate/EstimateResponse.js | 215 ++++---- .../employee/ViewAnalysisStatementPage.js | 16 +- .../pages/employee/ViewDetailedEstimate.js | 43 +- .../src/pages/employee/ViewEstimate.js | 7 +- .../Estimate/src/pages/employee/index.js | 27 +- .../CreateBill/CreateBillSuccess.js | 48 +- .../src/components/CreateBill/MBDetailes.js | 32 +- .../CreateBills/CreatePurchaseBillResponse.js | 91 ++-- .../pages/employee/Payments/ViewPayment.js | 87 ++-- .../Payments/viewPaymentInstruction.js | 82 +-- .../Expenditure/src/pages/employee/index.js | 32 +- .../CreateOrganizationSuccess.js | 88 ++-- .../Masters/src/components/MastersResponse.js | 118 ++--- .../src/components/TransferCodeTable.js | 484 ++++++++++-------- .../Organisation/SearchOrganisation.js | 19 +- .../employee/Organisation/ViewOrganisation.js | 127 ++--- .../employee/WageSeeker/ViewWageSeeker.js | 12 +- .../Masters/src/pages/employee/index.js | 2 +- .../src/components/MBHistoryTable.js | 2 +- .../src/pages/employee/CreateMeasurement.js | 59 ++- .../src/pages/employee/ResponseBanner.js | 163 +++--- .../src/pages/employee/ViewMeasurement.js | 2 +- .../Measurement/src/pages/employee/index.js | 3 +- .../src/pages/employee/viewUtilization.js | 11 +- .../CreateProject/CreateProjectResponse.js | 58 +-- .../pages/employee/ProjectDetails/index.js | 48 +- .../src/pages/employee/ProjectSearch/index.js | 2 +- .../pages/employee/ProjectWMSSearch/index.js | 2 +- .../Project/src/pages/employee/index.js | 15 +- .../src/atoms/WorkflowTimeline.js | 2 +- 43 files changed, 1243 insertions(+), 1168 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/coreOverride.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/coreOverride.scss index 24e2633a15..dc23dd0ebf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/coreOverride.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/coreOverride.scss @@ -118,7 +118,7 @@ bottom: -3rem; } to { - bottom: 4rem; + bottom: 4.5rem; } } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss index e5d42ed4d3..31dc47a2f2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss @@ -62,4 +62,42 @@ display: flex; align-items: center; justify-content: space-between; +} + +.digit-home-ground{ + padding: theme(digitv2.spacers.spacer5); +} + +.digit-home-moduleCardWrapper{ + padding:theme(digitv2.spacers.spacer0); +} + +.inbox-search-wrapper { + .inbox-search-component-wrapper{ + .sections-parent{ + &.search{ + .search-wrapper .search-button-wrapper{ + gap:theme(digitv2.spacers.spacer6); + } + } + + &.inbox{ + .section{ + &.search{ + .search-button-wrapper{ + gap:theme(digitv2.spacers.spacer6); + } + } + } + } + } + } +} + +.digit-action-bar-wrap { + &.new-actionbar { + div { + width: unset; + } + } } \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/components/Response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/components/Response.js index 07465fd099..d2698e7106 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/components/Response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/components/Response.js @@ -1,8 +1,7 @@ -import React,{Fragment} from "react"; +import React, { Fragment } from "react"; import { Link, useLocation } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { ActionBar, Banner, Card, CardText } from "@egovernments/digit-ui-react-components"; -import { PanelCard, SubmitBar } from "@egovernments/digit-ui-components"; +import { PanelCard, Button } from "@egovernments/digit-ui-components"; const Response = () => { const { t } = useTranslation(); @@ -11,36 +10,17 @@ const Response = () => { state.message = `${state?.message} ${t("BILL_CREATED")}`; } return ( - // - // - - // {state?.message} - - // - // - // - // - // - // - <> - - - - , + + + ]} + setactionFieldsToRight={true} + className={"new-actionbar"} + /> {showModal && setShowModal(false)} onSubmit={onModalSubmit} config={modalConfig} />} {showToast && } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateWorkOrder/CreateWOResponse.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateWorkOrder/CreateWOResponse.js index 83b5ee60a3..53d51be157 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateWorkOrder/CreateWOResponse.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateWorkOrder/CreateWOResponse.js @@ -1,45 +1,45 @@ -import React, { useState } from "react"; +import React,{ useState,Fragment } from "react"; import { Link, useHistory, useLocation } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { Banner, Card, LinkLabel, AddFileFilled, ArrowLeftWhite, ActionBar, SubmitBar} from "@egovernments/digit-ui-react-components"; +import { PanelCard, Button } from "@egovernments/digit-ui-components"; const CreateWOResponse = () => { - const {t} = useTranslation(); - const history = useHistory(); - const queryStrings = Digit.Hooks.useQueryParams(); - const [ contractNumberList, setContractNumberList ] = useState(queryStrings?.contractNumber.split(',')); - const [ isResponseSuccess, setIsResponseSuccess ] = useState(queryStrings?.isSuccess === "true" ? true : queryStrings?.isSuccess === "false" ? false : true); - const {state} = useLocation(); + const { t } = useTranslation(); + const history = useHistory(); + const queryStrings = Digit.Hooks.useQueryParams(); + const [contractNumberList, setContractNumberList] = useState(queryStrings?.contractNumber?.split(",")); + const [isResponseSuccess, setIsResponseSuccess] = useState( + queryStrings?.isSuccess === "true" ? true : queryStrings?.isSuccess === "false" ? false : true + ); + const { state } = useLocation(); - const navigate = (page) =>{ - switch(page){ - case "contracts-inbox" : { - history.push(`/${window.contextPath}/employee/contracts/inbox`) - } - } + const navigate = (page) => { + switch (page) { + case "contracts-inbox": { + history.push(`/${window.contextPath}/employee/contracts/inbox`); + } } + }; - return ( - - -
- navigate('contracts-inbox')}> - {t("COMMON_GO_TO_INBOX")} - -
- - - - - -
- ) -} + const children = [ +
- + {/* {displayMenu ?
{ onSelect={onActionSelect} />:null} setDisplayMenu(!displayMenu)} /> - + */} + + { + { + onActionSelect(option) + }} + > + ]} + setactionFieldsToRight={true} + className={"new-actionbar"} + /> + } ) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContractDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContractDetails.js index 18ea9187d2..b99fdd5b64 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContractDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContractDetails.js @@ -1,9 +1,9 @@ import React, { useState, useEffect, Fragment, useRef }from 'react'; import { useTranslation } from "react-i18next"; import { useHistory } from 'react-router-dom'; -import { Menu, Header, ActionBar, SubmitBar,ViewDetailsCard , HorizontalNav, Loader, WorkflowActions, MultiLink } from '@egovernments/digit-ui-react-components'; +import { Menu, Header, SubmitBar,ViewDetailsCard , HorizontalNav, Loader, WorkflowActions, MultiLink } from '@egovernments/digit-ui-react-components'; import { isWorkEndInPreviousWeek } from '../../../utils'; -import {Toast,Button} from '@egovernments/digit-ui-components' +import {Toast,Button,ActionBar} from '@egovernments/digit-ui-components' const ViewContractDetails = () => { const { t } = useTranslation(); @@ -128,19 +128,19 @@ const ViewContractDetails = () => { useEffect(() => { let isCreeateTEUser = verifiedRolesForAction?.["CREATE_TE"].some(role => loggedInUserRoles.includes(role)); - if(!(data?.additionalDetails?.isTimeExtAlreadyInWorkflow) && data && !actionsMenu?.find((ob) => ob?.name === "CREATE_TIME_EXTENSION_REQUEST") && isCreeateTEUser) { + if(!(data?.additionalDetails?.isTimeExtAlreadyInWorkflow) && data && !actionsMenu?.find((ob) => ob?.name === "WF_CONTRACT_ACTION_CREATE_TIME_EXTENSION_REQUEST") && isCreeateTEUser) { setActionsMenu((prevState => [...prevState,{ - name:"CREATE_TIME_EXTENSION_REQUEST", + name:"WF_CONTRACT_ACTION_CREATE_TIME_EXTENSION_REQUEST", action:"TIME_EXTENSTION" }])) } let isCreeateMBUser = verifiedRolesForAction?.["CREATE_MB"].some(role => loggedInUserRoles.includes(role)); console.log(isInWorkflowMeasurementPresent,measurementData,actionsMenu,isCreeateMBUser); - if(!isInWorkflowMeasurementPresent && measurementData && !actionsMenu?.find((ob) => ob?.name === "CREATE_MEASUREMENT_REQUEST") && isCreeateMBUser) + if(!isInWorkflowMeasurementPresent && measurementData && !actionsMenu?.find((ob) => ob?.name === "WF_CONTRACT_ACTION_CREATE_MEASUREMENT_REQUEST") && isCreeateMBUser) setActionsMenu((prevState => [...prevState,{ - name:"CREATE_MEASUREMENT_REQUEST", + name:"WF_CONTRACT_ACTION_CREATE_MEASUREMENT_REQUEST", action:"CREATE_MEASUREMENT" }])) @@ -151,7 +151,7 @@ const ViewContractDetails = () => { let isUserBillCreator = loggedInUserRoles?.includes("BILL_CREATOR"); if (data?.applicationData?.wfStatus === "ACCEPTED" && isUserBillCreator){ setActionsMenu((prevState => [...prevState,{ - name:"CREATE_PURCHASE_BILL" + name:"WF_CONTRACT_ACTION_CREATE_PURCHASE_BILL" }])) } @@ -171,7 +171,7 @@ const ViewContractDetails = () => { setToast({show : true, label : t(`MB_CREATION_NOT_POSSIBLE_WORK_END_DATE_PASSED`), type:"error"}); return; } - if (option?.name === "CREATE_PURCHASE_BILL") { + if (option?.name === "WF_CONTRACT_ACTION_CREATE_PURCHASE_BILL") { history.push(`/${window.contextPath}/employee/expenditure/create-purchase-bill?tenantId=${tenantId}&workOrderNumber=${contractId}`); } if (option?.action === "CREATE_MEASUREMENT") { @@ -309,12 +309,23 @@ const ViewContractDetails = () => { actionsMenu?.length > 0 && !showTimeExtension && !(queryStrings?.isTimeExtension === "true") ? ( - - {showActions ? ( - - ) : null} - setShowActions(!showActions)} /> - + { + handleActionBar(option) + }} + > + ]} + setactionFieldsToRight={true} + className={"new-actionbar"} + /> ) : null} )} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/index.js index 0bf5142003..248c408bb4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/index.js @@ -88,7 +88,7 @@ const App = ({ path }) => { return ( - + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewEstimateComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewEstimateComponent.js index 414bf2134d..249d8bd431 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewEstimateComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewEstimateComponent.js @@ -1,9 +1,9 @@ import React, { Fragment, useState, useEffect, useRef, } from 'react' -import { Loader, WorkflowActions, WorkflowTimeline,ActionBar,Menu,SubmitBar } from '@egovernments/digit-ui-react-components'; +import { Loader, WorkflowActions, WorkflowTimeline,Menu,SubmitBar } from '@egovernments/digit-ui-react-components'; import { useTranslation } from "react-i18next"; import ApplicationDetails from '../../../templates/ApplicationDetails'; import { useHistory } from 'react-router-dom'; -import { Toast } from '@egovernments/digit-ui-react-components'; +import { Toast ,ActionBar,Button} from '@egovernments/digit-ui-components'; const ViewEstimateComponent = ({editApplicationNumber,...props}) => { const history = useHistory(); @@ -49,7 +49,7 @@ const ViewEstimateComponent = ({editApplicationNumber,...props}) => { let isUserContractCreator = loggedInUserRoles?.includes("WORK_ORDER_CREATOR"); if (applicationDetails?.applicationData?.wfStatus === "APPROVED" && isUserContractCreator && !(actionsMenu?.find((ob) => ob?.name === "CREATE_CONTRACT"))){ setActionsMenu((prevState => [...prevState,{ - name:"CREATE_CONTRACT" + name:"EST_VIEW_ACTIONS_CREATE_CONTRACT" }])) } //checking if any work order is inworflow, if it is then view contract will be shown otherwise create contract @@ -58,7 +58,7 @@ const ViewEstimateComponent = ({editApplicationNumber,...props}) => { //if contract is already there just remove the prevState and push View contract state if(contract?.contractNumber && isCreateContractallowed) { setActionsMenu((prevState => [{ - name: "VIEW_CONTRACT" + name: "EST_VIEW_ACTIONS_VIEW_CONTRACT" }])) } }, [applicationDetails, isStateChanged,contract]) @@ -77,10 +77,10 @@ const ViewEstimateComponent = ({editApplicationNumber,...props}) => { }, [location]); const handleActionBar = (option) => { - if (option?.name === "CREATE_CONTRACT") { + if (option?.name === "EST_VIEW_ACTIONS_CREATE_CONTRACT") { history.push(`/${window.contextPath}/employee/contracts/create-contract?tenantId=${tenantId}&estimateNumber=${estimateNumber}`); } - if (option?.name === "VIEW_CONTRACT") { + if (option?.name === "EST_VIEW_ACTIONS_VIEW_CONTRACT") { history.push(`/${window.contextPath}/employee/contracts/contract-details?tenantId=${tenantId}&workOrderNumber=${inWorkflowContract?.contractNumber}`); } } @@ -90,54 +90,59 @@ const ViewEstimateComponent = ({editApplicationNumber,...props}) => { } if (isLoading) return return ( - <> - { - (!applicationDetails?.isNoDataFound) && !isError && - <> - - - {/* Adding another action bar to show Create Contract Option */} - {applicationDetails?.applicationData?.wfStatus === "APPROVED" && !isLoadingContracts && actionsMenu?.length>0 ? - - {showActions ? :null} - setShowActions(!showActions)} /> - - : null - } - - - } - {toast?.show && } - - ) + <> + {!applicationDetails?.isNoDataFound && !isError && ( + <> + + + {/* Adding another action bar to show Create Contract Option */} + {applicationDetails?.applicationData?.wfStatus === "APPROVED" && !isLoadingContracts && actionsMenu?.length > 0 ? ( + + { + handleActionBar(option); + }} + >, + ]} + setactionFieldsToRight={true} + className={"new-actionbar"} + /> + ) : null} + + )} + {toast?.show && } + + ); } export default ViewEstimateComponent \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js index 9b2e48c8ba..a192b96e80 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js @@ -4,7 +4,6 @@ import { Row, Header, HorizontalNav, - ActionBar, SubmitBar, WorkflowModal, FormComposer, @@ -13,7 +12,7 @@ import { Menu, FormComposerV2, } from "@egovernments/digit-ui-react-components"; -import { Toast } from "@egovernments/digit-ui-components"; +import { Toast ,ActionBar,Button} from "@egovernments/digit-ui-components"; import React, { Fragment, useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import getModalConfig from "./config"; @@ -35,6 +34,7 @@ const configNavItems = [ }, ]; const CreateEstimate = ({ props }) => { + console.log("buttonnnnnnnnnn") const tenant = Digit.ULBService.getStateId(); const { t } = useTranslation(); const [showToast, setShowToast] = useState(null); @@ -57,10 +57,10 @@ const CreateEstimate = ({ props }) => { let actionMB = [ { - name: "SUBMIT", + name: "WF_SUBMIT", }, { - name: "DRAFT", + name: "WF_DRAFT", }, ]; @@ -736,12 +736,28 @@ const CreateEstimate = ({ props }) => { isDleteBtn={true} /> )} - - {displayMenu && !isButtonDisabled ? ( - - ) : null} - setDisplayMenu(!displayMenu)} disabled={isButtonDisabled} /> - + + { + { + onActionSelect(option); + }} + >, + ]} + setactionFieldsToRight={true} + className={"new-actionbar"} + /> + } ); }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/EstimateResponse.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/EstimateResponse.js index 738095a8e1..867fbe60db 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/EstimateResponse.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/EstimateResponse.js @@ -1,10 +1,10 @@ -import { Banner, Card, Loader, CardText, ActionBar, SubmitBar } from "@egovernments/digit-ui-react-components"; import { useQueryClient } from "react-query"; -import React, { useEffect } from "react"; +import React, { useEffect,Fragment } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; import { CreateEstimateIcon, DownloadImgIcon, GotoInboxIcon, ArrowLeftWhite } from "@egovernments/digit-ui-react-components"; import { useHistory, useLocation } from "react-router-dom"; +import { PanelCard, Button } from "@egovernments/digit-ui-components"; // state = { // header,idText,id,message,links @@ -86,58 +86,47 @@ const EstimateResponse = (props) => { } }; - return ( - - } - /> - - {/* {mutation.isSuccess ? - // ? t(`SURVEY_FORM_CREATION_MESSAGE`, { - // surveyName: survey?.title, - // fromDate: Digit.DateUtils.ConvertTimestampToDate(survey?.startDate), - // toDate: Digit.DateUtils.ConvertTimestampToDate(survey?.endDate), - // }) - t("SURVEY_FORM_RESPONSE_MESSAGE") - : null} */} - {t(state.message)} - -
- - {/*
-

{t("Download")}

-
*/} - - {state.links.map(link => ( - link.isVisible &&
{ HandleDownloadPdf(tenantId, state.id) } - : () => { history.push(link.redirectUrl) } - }> - {renderIcon(link.type, link)} - {/*

{t(link.name)}

*/} -
- ))} - -
- - - - - - -
- ) + const children = [ +
+ {state?.links?.map( + (link) => + link.isVisible && ( +
{ + HandleDownloadPdf(tenantId, state.id); + } + : () => { + history.push(link.redirectUrl); + } + } + > + {renderIcon(link.type, link)} +
+ ) + )} +
+ ]; + return ( + <> + + ]} + setactionFieldsToRight={true} + className={"new-actionbar"} + /> {/* {detailedEstimate?.estimates?.filter((ob) => ob?.businessService !== "REVISION-ESTIMATE")?.[0]?.wfStatus === "APPROVED" && !isLoadingContracts && actionsMenu?.length > 0 ? ( {showActions ?
{ const history = useHistory(); @@ -86,7 +86,7 @@ const ViewDetailedEstimate = () => { setActionsMenu((prevState) => [ ...prevState, { - name: "CREATE_CONTRACT", + name: "EST_VIEW_ACTIONS_CREATE_CONTRACT", }, ]); } @@ -97,7 +97,7 @@ const ViewDetailedEstimate = () => { setActionsMenu((prevState) => [ ...prevState, { - name: "VIEW_CONTRACT", + name: "EST_VIEW_ACTIONS_VIEW_CONTRACT", }, ]); } @@ -110,7 +110,7 @@ const ViewDetailedEstimate = () => { setActionsMenu((prevState) => [ ...prevState, { - name: "CREATE_REVISION_ESTIMATE", + name: "EST_VIEW_ACTIONS_CREATE_REVISION_ESTIMATE", }, ]); } @@ -127,15 +127,15 @@ const ViewDetailedEstimate = () => { setToast({typa: validationData?.error ? "error" : "", label: validationData?.label, show:true}) return; } - if (option?.name === "CREATE_CONTRACT") { + if (option?.name === "EST_VIEW_ACTIONS_CREATE_CONTRACT") { history.push(`/${window.contextPath}/employee/contracts/create-contract?tenantId=${tenantId}&estimateNumber=${estimateNumber}`); } - if (option?.name === "VIEW_CONTRACT") { + if (option?.name === "EST_VIEW_ACTIONS_VIEW_CONTRACT") { history.push( `/${window.contextPath}/employee/contracts/contract-details?tenantId=${tenantId}&workOrderNumber=${inWorkflowContract?.contractNumber}` ); } - if (option?.name === "CREATE_REVISION_ESTIMATE") { + if (option?.name === "EST_VIEW_ACTIONS_CREATE_REVISION_ESTIMATE") { history.push( `/${window.contextPath}/employee/estimate/create-revision-detailed-estimate?tenantId=${tenantId}&projectNumber=${project?.projectNumber}&estimateNumber=${estimateNumber}&isCreateRevisionEstimate=true` ); @@ -177,7 +177,7 @@ const ViewDetailedEstimate = () => { return (
-
+
{revisionNumber ? t("ESTIMATE_VIEW_REVISED_ESTIMATE") : t("ESTIMATE_VIEW_ESTIMATE")}
{/* HandleDownloadPdf()} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} /> */} @@ -198,12 +198,25 @@ const ViewDetailedEstimate = () => { {detailedEstimate?.estimates?.filter((ob) => ob?.businessService !== "REVISION-ESTIMATE")?.[0]?.wfStatus === "APPROVED" && !isLoadingContracts && actionsMenu?.length > 0 ? ( - - {showActions ? ( - - ) : null} - setShowActions(!showActions)} /> - + { + handleActionBar(option); + }} + > + ]} + setactionFieldsToRight={true} + className={"new-actionbar"} + /> + ) : null}
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewEstimate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewEstimate.js index 02e0a5d867..64ebba0965 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewEstimate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewEstimate.js @@ -87,14 +87,9 @@ const ViewEstimate = (props) => { return (
-
+
{t("ESTIMATE_VIEW_ESTIMATE")}
- {/* HandleDownloadPdf()} - downloadBtnClassName={"employee-download-btn-className"} - label={t("CS_COMMON_DOWNLOAD")} - /> */} {
- ); - -} + ); +}; const MBDetailes = ({ formdata }) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/CreatePurchaseBillResponse.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/CreatePurchaseBillResponse.js index 82af64e9de..92b1c81089 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/CreatePurchaseBillResponse.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/CreatePurchaseBillResponse.js @@ -1,54 +1,55 @@ -import React, { useEffect, useState } from "react"; +import React, { useEffect, useState, Fragment } from "react"; import { Link, useHistory, useLocation } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { Banner, Card, LinkLabel, AddFileFilled, ArrowLeftWhite, ActionBar, SubmitBar} from "@egovernments/digit-ui-react-components"; +import { PanelCard, Button } from "@egovernments/digit-ui-components"; const CreatePurchaseBillResponse = () => { - const {t} = useTranslation(); - const history = useHistory(); - const queryStrings = Digit.Hooks.useQueryParams(); - const [ billNumberList, setBillNumberList ] = useState(queryStrings?.billNumber.split(',')); - const [ isResponseSuccess, setIsResponseSuccess ] = useState(queryStrings?.isSuccess === "true" ? true : queryStrings?.isSuccess === "false" ? false : true); - const {state} = useLocation(); - //session data - const PurchaseBillSession = Digit.Hooks.useSessionStorage("PURCHASE_BILL_CREATE", {}); - const [sessionFormData, setSessionFormData, clearSessionFormData] = PurchaseBillSession; - - useEffect(() => { - if (Object.keys(sessionFormData).length != 0) { - clearSessionFormData(); - } - }); + const { t } = useTranslation(); + const history = useHistory(); + const queryStrings = Digit.Hooks.useQueryParams(); + const [billNumberList, setBillNumberList] = useState(queryStrings?.billNumber?.split(",")); + const [isResponseSuccess, setIsResponseSuccess] = useState( + queryStrings?.isSuccess === "true" ? true : queryStrings?.isSuccess === "false" ? false : true + ); + const { state } = useLocation(); + //session data + const PurchaseBillSession = Digit.Hooks.useSessionStorage("PURCHASE_BILL_CREATE", {}); + const [sessionFormData, setSessionFormData, clearSessionFormData] = PurchaseBillSession; - const navigate = (page) =>{ - switch(page){ - case "billing-inbox" : { - history.push(`/${window.contextPath}/employee/expenditure/inbox`) - } - } + useEffect(() => { + if (Object.keys(sessionFormData).length != 0) { + clearSessionFormData(); } + }); - return ( - - -
- navigate('billing-inbox')}> - {t("COMMON_GO_TO_INBOX")} - -
- - - - - -
- ) -} + const navigate = (page) => { + switch (page) { + case "billing-inbox": { + history.push(`/${window.contextPath}/employee/expenditure/inbox`); + } + } + }; + + const children = [ + , + ]} + setactionFieldsToRight={true} + className={"new-actionbar"} + /> + )} + {toast && setShowToast(null)} />} - ) + ); } export default ViewPayment; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Payments/viewPaymentInstruction.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Payments/viewPaymentInstruction.js index b10048d8ee..5678fecab2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Payments/viewPaymentInstruction.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Payments/viewPaymentInstruction.js @@ -1,8 +1,8 @@ import React, { useState, useEffect } from 'react' import { useTranslation } from "react-i18next"; -import { Header,SubmitBar,ActionBar } from '@egovernments/digit-ui-react-components'; +import { Header } from '@egovernments/digit-ui-react-components'; import ApplicationDetails from '../../../../../templates/ApplicationDetails'; -import {Toast } from '@egovernments/digit-ui-components'; +import {Toast,ActionBar} from '@egovernments/digit-ui-components'; const ViewPaymentInstruction = () => { const { t } = useTranslation(); @@ -83,44 +83,48 @@ const ViewPaymentInstruction = () => {
{t("EXP_PAYMENT_INS")}
{ - showDataError === null && ( - - ) - } - { - showDataError === null && ( - - ) - } - { - showDataError && setShowDataError(false)} /> - } - { (piStatus==="FAILED" || piStatus==="PARTIAL") && showActionBar && - - - - } - { - toast && setShowToast(null)} /> - } + showDataError === null && ( + + )} + {showDataError === null && ( + + )} + {showDataError && ( + setShowDataError(false)} /> + )} + {(piStatus === "FAILED" || piStatus === "PARTIAL") && showActionBar && ( + , + ]} + setactionFieldsToRight={true} + className={"new-actionbar"} + /> + )} + {toast && setShowToast(null)} />}
- ) + ); } export default ViewPaymentInstruction; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/index.js index df2045442c..248d1be03f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/index.js @@ -130,39 +130,9 @@ const App = ({ path }) => { } }, [location]); - // return ( - // - // - // - // - // - //
Hi
} /> - // } /> - // - // - // } /> - // } /> - // } /> - // } /> - - // } /> - // } /> - // } /> - // } /> - // } /> - // } /> - // } /> - // }/> - // } /> - // } /> - // } /> - //
- //
- // ); - return ( - + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/components/CreateOrganization/CreateOrganizationSuccess.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/components/CreateOrganization/CreateOrganizationSuccess.js index 3135f6f44d..0cbefa0af5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/components/CreateOrganization/CreateOrganizationSuccess.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/components/CreateOrganization/CreateOrganizationSuccess.js @@ -1,48 +1,58 @@ -import React from "react"; +import React,{Fragment} from "react"; import { Link } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { ActionBar, Banner, Card, CardText, Loader, SubmitBar, LinkLabel, EditIcon, AddNewIcon} from "@egovernments/digit-ui-react-components"; +import { PanelCard, Button } from "@egovernments/digit-ui-components"; -const CreateOrganizationSuccess = ({isSuccess, setCreateOrgStatus}) => { - const {t} = useTranslation() +const CreateOrganizationSuccess = ({ isSuccess, setCreateOrgStatus }) => { + const { t } = useTranslation(); - const modifyOrg = () => { - setCreateOrgStatus(null) - } + const modifyOrg = () => { + setCreateOrgStatus(null); + }; - const createOrg = () => { - setCreateOrgStatus(null) - } + const createOrg = () => { + setCreateOrgStatus(null); + }; - return ( - - + const children = [ +
+
, + ]; - {isSuccess && {t("MASTERS_ORGANISATION_CREATED_SUCCESS")}} + const footerChildren = [ + +
, + ]; - - - - - - - ) -} + const footerChildren = [ + +
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Organisation/ViewOrganisation.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Organisation/ViewOrganisation.js index 6dd85e9e86..65bb6990da 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Organisation/ViewOrganisation.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Organisation/ViewOrganisation.js @@ -1,9 +1,9 @@ import React, { useState, useEffect } from 'react'; import { useTranslation } from "react-i18next"; import { useHistory, useLocation } from 'react-router-dom'; -import { Header, ViewDetailsCard, HorizontalNav, Loader, ActionBar, SubmitBar } from '@egovernments/digit-ui-react-components'; +import { Header, ViewDetailsCard, HorizontalNav, Loader, SubmitBar } from '@egovernments/digit-ui-react-components'; import ApplicationDetails from '../../../../../templates/ApplicationDetails'; -import { Toast } from "@egovernments/digit-ui-components"; +import { Toast,ActionBar } from "@egovernments/digit-ui-components"; const ViewOrganisation = () => { const { t } = useTranslation() @@ -64,65 +64,70 @@ const ViewOrganisation = () => { return (
{t("MASTERS_VIEW_VENDOR_ORG")}
- { - showDataError === null && ( - { - organisation && - } - { - organisation && - - { activeLink === "Location_Details" && ( - {}} - tenantId={tenantId} - />) - } - { activeLink === "Contact_Details" && ( - {}} - tenantId={tenantId} - />) - } - { activeLink === "Financial_Details" && ( - {}} - tenantId={tenantId} - />) - } - - } - - - - ) - } - { - showDataError && setShowDataError(false)} /> - } -
- ) + {showDataError === null && ( + + {organisation && } + {organisation && ( + + {activeLink === "Location_Details" && ( + {}} + tenantId={tenantId} + /> + )} + {activeLink === "Contact_Details" && ( + {}} + tenantId={tenantId} + /> + )} + {activeLink === "Financial_Details" && ( + {}} + tenantId={tenantId} + /> + )} + + )} + ]} + setactionFieldsToRight={true} + className={"new-actionbar"} + /> + + )} + {showDataError && ( + setShowDataError(false)} /> + )} + + ); } export default ViewOrganisation \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ViewWageSeeker.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ViewWageSeeker.js index 6faa45e56e..b768ff0011 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ViewWageSeeker.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ViewWageSeeker.js @@ -1,9 +1,9 @@ import React, { useState, useEffect } from 'react'; import { useTranslation } from "react-i18next"; import { useHistory, useLocation } from 'react-router-dom'; -import { Header, ActionBar, SubmitBar } from '@egovernments/digit-ui-react-components'; +import { Header, SubmitBar } from '@egovernments/digit-ui-react-components'; import ApplicationDetails from '../../../../../templates/ApplicationDetails'; -import { Toast } from '@egovernments/digit-ui-components'; +import { Toast,ActionBar } from '@egovernments/digit-ui-components'; const ViewWageSeeker = () => { const { t } = useTranslation() @@ -60,9 +60,11 @@ const ViewWageSeeker = () => { mutate={()=>{}} tenantId={tenantId} /> - - - + ]} + setactionFieldsToRight={true} + className={"new-actionbar"} + /> } { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/index.js index fece39dcc4..2a3a0355c8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/index.js @@ -105,7 +105,7 @@ const App = ({ path }) => { return ( - + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MBHistoryTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MBHistoryTable.js index 2e14c8d135..e9b59a4382 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MBHistoryTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MBHistoryTable.js @@ -70,7 +70,7 @@ const MeasurementHistory = ({ contractNumber, measurementNumber }) => { { label: t("MB_STATUS"), key: "status" }, { label: t("MB_ONLY_AMOUNT"), key: "amount" }, ]; - let relevantMbs = window?.location.href.includes("/measurement/view") ? data?.allMeasurements.filter(obj => obj.auditDetails.lastModifiedTime < data?.allMeasurements.find(o => o.measurementNumber === measurementNumber).auditDetails.lastModifiedTime) : data?.allMeasurements; + let relevantMbs = window?.location.href.includes("/measurement/view") ? data?.allMeasurements?.filter(obj => obj.auditDetails.lastModifiedTime < data?.allMeasurements.find(o => o.measurementNumber === measurementNumber).auditDetails.lastModifiedTime) : data?.allMeasurements; const filteredArray = relevantMbs && relevantMbs?.length > 0 && relevantMbs?.code !== "NO_MEASUREMENT_ROLL_FOUND"? relevantMbs?.filter((item) => item.measurementNumber !== measurementNumber && item?.wfStatus === "APPROVED") : []; const sortedRows = (filteredArray || []) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js index 30f28ccf8f..98603f7f62 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js @@ -1,4 +1,4 @@ -import { Loader, FormComposerV2, Header, ActionBar, Menu, SubmitBar, WorkflowModal } from "@egovernments/digit-ui-react-components"; +import { Loader, FormComposerV2, Header, Menu, SubmitBar, WorkflowModal } from "@egovernments/digit-ui-react-components"; import React, { useState, useEffect, useCallback } from "react"; import { useTranslation } from "react-i18next"; import { useHistory } from "react-router-dom"; @@ -6,7 +6,7 @@ import { CreateConfig } from "../../configs/MeasurementCreateConfig"; import { getDefaultValues } from "../../utils/transformEstimateData"; import { transformData } from "../../utils/transformData"; import getModalConfig from "./config"; -import { Toast } from '@egovernments/digit-ui-components'; +import { Toast,ActionBar,Button } from '@egovernments/digit-ui-components'; import _ from "lodash"; const updateData = (data, formState, tenantId) => { @@ -135,25 +135,25 @@ const CreateMeasurement = ({ props }) => { // action to be performed.... let actionMB = [ { - name: "SUBMIT", + name: "WF_SUBMIT", }, { - name: "SAVE_AS_DRAFT", + name: "WF_SAVE_AS_DRAFT", }, ]; - function onActionSelect(action = "SUBMIT") { + function onActionSelect(action = "WF_SUBMIT") { if (createState?.period?.type == "error") { setErrorMessage(t(createState?.period?.message)); setShowToast({display:true, type:"error"}); return null; } - if (action?.name === "SUBMIT") { + if (action?.name === "WF_SUBMIT") { createState.workflowAction = "SUBMIT"; setShowModal(true); //handleCreateMeasurement(createState, action); } - if (action?.name === "SAVE_AS_DRAFT") { + if (action?.name === "WF_SAVE_AS_DRAFT") { createState.workflowAction = "SAVE_AS_DRAFT"; handleCreateMeasurement(createState, action); } @@ -239,16 +239,25 @@ const CreateMeasurement = ({ props }) => { // else render form and data return (
- {showModal && setShowModal(false)} onSubmit={(_data) => handleCreateMeasurement({..._data,...createState},"SUBMIT")} config={config} isDisabled={isButtonDisabled} />} + {showModal && ( + setShowModal(false)} + onSubmit={(_data) => handleCreateMeasurement({ ..._data, ...createState }, "SUBMIT")} + config={config} + isDisabled={isButtonDisabled} + /> + )}
{t("MB_MEASUREMENT_BOOK")}
(!a.hasOwnProperty('forOnlyUpdate') || props?.isUpdate)).map((config) => { - return { - ...config, - body: config.body.filter((a) => !a.hideInEmployee), - }; - })} + config={CreateConfig({ defaultValue: defaultState?.contract, measurement: props?.data[0], mbnumber: mbNumber }) + .CreateConfig[0]?.form?.filter((a) => !a.hasOwnProperty("forOnlyUpdate") || props?.isUpdate) + .map((config) => { + return { + ...config, + body: config.body.filter((a) => !a.hideInEmployee), + }; + })} getFormAccessors={getFormAccessors} defaultValues={{ ...createState }} onSubmit={onActionSelect} @@ -258,10 +267,24 @@ const CreateMeasurement = ({ props }) => { noBreakLine={true} /> {showToast?.display && } - - {displayMenu && !isButtonDisabled ? : null} - setDisplayMenu(!displayMenu)} disabled={isButtonDisabled} /> - + { + onActionSelect(option); + }} + > + ]} + setactionFieldsToRight={true} + className={"new-actionbar"} + />
); }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ResponseBanner.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ResponseBanner.js index 89be901e99..75985013e5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ResponseBanner.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ResponseBanner.js @@ -1,103 +1,74 @@ -import React from "react"; +import React, { Fragment } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; -import { EditIcon, AddNewIcon, InboxIcon , ArrowRightInbox , CreateLoiIcon, CardText, ArrowLeftWhite } from "@egovernments/digit-ui-react-components"; - +import { PanelCard, Button } from "@egovernments/digit-ui-components"; import { useHistory } from "react-router-dom"; - -import { Banner, Card, ActionBar, SubmitBar } from "@egovernments/digit-ui-react-components"; // Import the Banner component you provided import { withRouter } from "react-router-dom"; -const MeasurementServiceResponse = () => { - - const { t } = useTranslation(); - const history = useHistory(); - - // Get the current URL - const currentURL = window.location.href; - - // console.log(currentURL); - - // Create a URL object from the current URL - const url = new URL(currentURL); - // console.log(url); - - // Get the value of the "mbreference" query parameter - const mbReference = url.searchParams.get('mbreference'); - - - // console.log(mbReference); // This will log "Mb848484" - - - - - - - // const responseObj = location?.state?.responseData; - - // console.log(responseObj?.get?.responseInfo?.status); - - // Now you can work with the response object as needed - - // const isApplicationSubmitted = responseObj?.get?.responseInfo?.status === "successful"; - - - const goToHome = () => { - history.push({ - pathname: `/${window?.contextPath}/employee` - - }); - }; - - // Customize the message based on success or failure - const message = true - ? t("MB_SUCCESSFUL_MESSAGE") - : t("MB_ERROR_MESSAGE"); - - return ( - - -
- -
- - {/* {t("MB_SUCCESS_RESPONSE_TEXT")} {mbReference} */} -
- - {/*
- - - {t("MB_GO_TO_CREATE")} - -
*/} -
- - - {t("MB_GO_INBOX")} - -
- - {/*
- - - {t("MB_ADD_READING")} - -
*/} -
- -
- - - - -
- - ); +const MeasurementServiceResponse = () => { + const { t } = useTranslation(); + const history = useHistory(); + + // Get the current URL + const currentURL = window.location.href; + + // console.log(currentURL); + + // Create a URL object from the current URL + const url = new URL(currentURL); + // console.log(url); + + // Get the value of the "mbreference" query parameter + const mbReference = url.searchParams.get("mbreference"); + + // console.log(mbReference); // This will log "Mb848484" + + // const responseObj = location?.state?.responseData; + + // console.log(responseObj?.get?.responseInfo?.status); + + // Now you can work with the response object as needed + + // const isApplicationSubmitted = responseObj?.get?.responseInfo?.status === "successful"; + + // const goToHome = () => { + // history.push({ + // pathname: `/${window?.contextPath}/employee`, + // }); + // }; + + // Customize the message based on success or failure + const message = true ? t("MB_SUCCESSFUL_MESSAGE") : t("MB_ERROR_MESSAGE"); + + const navigate = (page) => { + switch (page) { + case "measurement-inbox": { + history.push(`/${window.contextPath}/employee/measurement/inbox`); + } + } + }; + + const footerChildren = [ + + ]} + setactionFieldsToRight={true} + className={"new-actionbar"} + /> {/* {detailedEstimate?.estimates?.filter((ob) => ob?.businessService !== "REVISION-ESTIMATE")?.[0]?.wfStatus === "APPROVED" && !isLoadingContracts && actionsMenu?.length > 0 ? ( {showActions ? { const { t } = useTranslation(); @@ -40,49 +38,33 @@ const CreateProjectResponse = () => { } }; - // return ( - // - // - //
- // navigate('search-project')}> - // {t("PROJECT_GO_TO_SEARCH_PROJECT")} - // - // {isResponseSuccess && isEstimateCreator && navigate('create-estimate')}> - // {t("COMMON_CREATE_ESTIMATE")} - // } - //
- // - // - // - // - // - //
- // ) - const children = [ -
- navigate("search-project")}> - - {t("PROJECT_GO_TO_SEARCH_PROJECT")} - +
+
, ]; const footerChildren = [ - + , + ]} + setactionFieldsToRight={true} + className={"new-actionbar"} + /> )} {toast?.show && }
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/ProjectSearch/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/ProjectSearch/index.js index 13ac2ac6ae..1f9bec95e2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/ProjectSearch/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/ProjectSearch/index.js @@ -58,7 +58,7 @@ const ProjectSearch = () => { - + + + {sortedRows?.length > 0 ? ( + sortedRows.map((row, rowIndex) => ( + + {columns.map((column, columnIndex) => ( + + {row?.[column.key]?.link == true ? ( + + + + ) : ( + row[column.key] + )} + + ))} + + )) + ) : ( + + {t("WORKS_NO_DATA_PRESENT_IN_MB")} + + )} + + + + )} + - + // ); }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js index 62eeba0952..750a224112 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js @@ -203,13 +203,22 @@ export const CreateConfig = ({ defaultValue, measurement, mbnumber }) => { component: "ViewOnlyCard", withoutLabel: true, key: "viewAmount", + populators:{ + customStyle:{ + marginBottom:"0px" + } + } }, { "type": "component", "component": "ViewAnalysisStatement", "withoutLabel": true, "key": "labourMaterialAnalysis", - + populators:{ + customStyle:{ + marginBottom:"0px" + } + }, "formData" : { Measurement:measurement, } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/svgindex.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/svgindex.js index 13e5f0b828..2ea5d603f0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/svgindex.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/svgindex.js @@ -603,9 +603,15 @@ function MeasurementMuktaIcon({ className, styles }) { function MeasurementInboxIcon({ className, styles }) { return ( - - - + + + ); diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index 70feae9ad9..d2bc0c28dd 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -17,16 +17,16 @@ "homepage": "/mukta-works-ui", "dependencies": { "@egovernments/digit-ui-react-components": "1.5.12", - "@egovernments/digit-ui-libraries": "1.5.1", + "@egovernments/digit-ui-libraries": "1.5.0", "@egovernments/digit-ui-components": "0.0.2-beta.40", - "@egovernments/digit-ui-module-core": "1.8.2-beta.10", + "@egovernments/digit-ui-module-core": "1.8.2-beta.18", "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", - "@egovernments/digit-ui-module-attendencemgmt": "0.4.7", + "@egovernments/digit-ui-module-attendencemgmt": "0.4.8", "@egovernments/digit-ui-module-contracts": "0.4.7", - "@egovernments/digit-ui-module-measurement":"0.2.4", + "@egovernments/digit-ui-module-measurement":"0.2.5", "@egovernments/digit-ui-module-estimate": "0.4.10", - "@egovernments/digit-ui-module-masters": "0.4.9", + "@egovernments/digit-ui-module-masters": "0.4.10", "@egovernments/digit-ui-module-project": "0.4.7", "@egovernments/digit-ui-module-expenditure": "0.4.5", "@egovernments/digit-ui-customisation-mukta": "0.2.5", diff --git a/frontend/micro-ui/web/public/index.html b/frontend/micro-ui/web/public/index.html index 8fd99362d9..28390522cf 100644 --- a/frontend/micro-ui/web/public/index.html +++ b/frontend/micro-ui/web/public/index.html @@ -7,9 +7,9 @@ - + - + diff --git a/frontend/micro-ui/web/works/package.json b/frontend/micro-ui/web/works/package.json index b1fd14a4ff..f7cebfa9c1 100644 --- a/frontend/micro-ui/web/works/package.json +++ b/frontend/micro-ui/web/works/package.json @@ -16,7 +16,7 @@ "homepage": "/core-ui", "dependencies": { "@egovernments/digit-ui-libraries": "1.5.0", - "@egovernments/digit-ui-module-core": "1.8.2-beta.10", + "@egovernments/digit-ui-module-core": "1.8.2-beta.18", "@egovernments/digit-ui-react-components": "1.5.12", "@egovernments/digit-ui-module-hrms": "1.5.5-alpha.4", "@egovernments/digit-ui-module-works": "^0.0.9", From abc852b72c7e1ac8bd633092af2f8975319945bf Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Mon, 23 Sep 2024 16:28:08 +0530 Subject: [PATCH 231/292] updated icon color --- .../packages/react-components/src/atoms/svgindex.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/svgindex.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/svgindex.js index 2ea5d603f0..45316ad4fc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/svgindex.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/svgindex.js @@ -606,11 +606,11 @@ function MeasurementInboxIcon({ className, styles }) { From 535db79db9af9ca36031d1530399d94e12012c31 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Tue, 24 Sep 2024 15:07:04 +0530 Subject: [PATCH 232/292] WIP : Added api integration for generate excel --- .../src/hooks/expenditure/useGenerateExcel.js | 10 ++++++ .../packages/libraries/src/hooks/index.js | 2 ++ .../libraries/src/services/atoms/urls.js | 3 +- .../src/services/elements/Expense.js | 9 +++++ .../pages/employee/paymentTrackerSearch.js | 34 +++++++++++++++++++ 5 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/expenditure/useGenerateExcel.js diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/expenditure/useGenerateExcel.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/expenditure/useGenerateExcel.js new file mode 100644 index 0000000000..f838b46aac --- /dev/null +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/expenditure/useGenerateExcel.js @@ -0,0 +1,10 @@ +import { ExpenseService } from "../../services/elements/Expense"; +import { useMutation } from "react-query"; + +const useGenerateExcel=()=>{ + return useMutation((data)=>{ + return ExpenseService.generateExcel(data); + }); +} + +export default useGenerateExcel; \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/index.js index 6b01898e07..f9c882def9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/index.js @@ -167,6 +167,7 @@ import useViewPayment from "./payments/useViewPayment"; import useUpdatePI from "./expenditure/useUpdatePI"; import useMBDataForPB from "./expenditure/useMBDataForPB"; import useViewPaymentTracker from "./expenditure/useViewPaymentTracker"; +import useGenerateExcel from "./expenditure/useGenerateExcel"; import useViewMeasurement from "./measurement/useViewMeasurement"; import useEstimateSearchValidation from "./mukta/useEstimateSearchValidation"; @@ -356,6 +357,7 @@ const Hooks = { useFetchCitizenBillsForBuissnessService, useFetchBillsForBuissnessService, useGetPaymentRulesForBusinessServices, + useGenerateExcel, useWorkflowDetails, useWorkflowDetailsWorks, useInitStore, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/atoms/urls.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/atoms/urls.js index 2c97a7ee92..1a03bb3bbc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/atoms/urls.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/atoms/urls.js @@ -102,7 +102,8 @@ expense:{ regenerate : '/egov-pdf/bill/_generate', searchPaymentWMS:"/wms/mukta-pi/_search", updatePI:"/mukta-ifix-adapter/v1/disburse/_create", - searchPA:"/mukta-expense/payment/v1/_search" + searchPA:"/mukta-expense/payment/v1/_search", + generateExcel: "/wms/report/payment-tracker/_create" }, pt: { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/Expense.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/Expense.js index cb572e43b6..0afacda192 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/Expense.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/elements/Expense.js @@ -57,6 +57,15 @@ export const ExpenseService = { auth: true, userService: false, data: data + }), + generateExcel: (data) => + Request({ + url: Urls.expense.generateExcel, + useCache: false, + method: "POST", + auth: true, + userService: false, + data: data }) }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/paymentTrackerSearch.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/paymentTrackerSearch.js index 550caac979..883f0e5fee 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/paymentTrackerSearch.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/paymentTrackerSearch.js @@ -2,6 +2,7 @@ import React, {useMemo} from "react"; import { useTranslation } from "react-i18next"; import { Header, InboxSearchComposer,Loader } from "@egovernments/digit-ui-react-components"; import { paymentTrackerSearchConfig } from "../../configs/paymentTrackerSearchConfig"; +import { ActionBar, SubmitBar } from "@egovernments/digit-ui-components"; const PaymentTrackerSearch = () => { const { t } = useTranslation(); @@ -43,6 +44,32 @@ const PaymentTrackerSearch = () => { ] } ),[paymentTrackerSearchConfig]); + + const { mutate: generateexcel } = Digit.Hooks.useGenerateExcel(); + + const handleGenerateExcel = async (data) => { + + const payload = { + "report": { + "tenantId": "pg.citya", + "reportName": "expense", + "requestPayload": { + "tenantId": "pg.citya" + } + } + } + await generateexcel(payload, { + onError: async (error, variables) => { + + // sendDataToResponsePage("billNumber", tenantId, false, "EXPENDITURE_PB_MODIFIED_FORWARDED", false); + }, + onSuccess: async (responseData, variables) => { + + //Add a toast here + //sendDataToResponsePage(responseData?.bills?.[0]?.billNumber, tenantId, true, "EXPENDITURE_PB_MODIFIED_FORWARDED", true); + }, + }); + } //if (isLoading) return @@ -52,6 +79,13 @@ const PaymentTrackerSearch = () => {
+ + handleGenerateExcel} + disabled={!selectedSorIds.hasOwnProperty("sorIds") || selectedSorIds?.sorIds?.length <= 0 || selectedSorIds?.sorType !== "W"} + /> + ) } From 127a8f8999622246767c5dbf5bcd129cb0d1fe7c Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 24 Sep 2024 16:06:34 +0530 Subject: [PATCH 233/292] UI work in progress --- .../lib/widgets/atoms/app_logo.dart | 96 ++-- .../lib/widgets/work_details_card.dart | 413 ++++-------------- 2 files changed, 147 insertions(+), 362 deletions(-) diff --git a/frontend/works_shg_app/lib/widgets/atoms/app_logo.dart b/frontend/works_shg_app/lib/widgets/atoms/app_logo.dart index 647bdc546a..8e66c91b8a 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/app_logo.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/app_logo.dart @@ -1,3 +1,4 @@ +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; @@ -16,52 +17,55 @@ class AppLogo extends StatelessWidget { return Align( alignment: Alignment.centerLeft, - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Padding( - padding: const EdgeInsets.only(top: 0.0, bottom: 0), - child: Center( - child: GlobalVariables.stateInfoListModel?.logoUrl != - null - ? Image( - width: 130, - image: NetworkImage( - GlobalVariables.stateInfoListModel!.logoUrl - .toString(), - )) - : const SizedBox.shrink(), - )), - const Padding( - padding: EdgeInsets.only(left: 16), - child: Text( - " | ", - style: TextStyle( - fontSize: 19, - fontWeight: FontWeight.w400, - color: Color.fromRGBO(0, 0, 0, 1)), - )), - Align( - alignment: Alignment.centerLeft, - child: Padding( - padding: const EdgeInsets.only( - left: 8.0, - right: 8.0, - ), - child: BlocBuilder(builder: (context, state) { - return Text( - AppLocalizations.of(context).translate( - 'TENANT_TENANTS_${GlobalVariables.stateInfoListModel!.code.toString().toUpperCase()}'), - style: const TextStyle( - fontSize: 19, - fontWeight: FontWeight.w400, - color: Color.fromRGBO(0, 0, 0, 1)), - textAlign: TextAlign.left, - ); - }), - )) - ], + child: Padding( + padding: EdgeInsets.only(bottom:Theme.of(context).spacerTheme.spacer4), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Padding( + padding: const EdgeInsets.only(top: 0.0, bottom:0), + child: Center( + child: GlobalVariables.stateInfoListModel?.logoUrl != + null + ? Image( + width: 130, + image: NetworkImage( + GlobalVariables.stateInfoListModel!.logoUrl + .toString(), + )) + : const SizedBox.shrink(), + )), + const Padding( + padding: EdgeInsets.only(left: 16), + child: Text( + " | ", + style: TextStyle( + fontSize: 19, + fontWeight: FontWeight.w400, + color: Color.fromRGBO(0, 0, 0, 1)), + )), + Align( + alignment: Alignment.centerLeft, + child: Padding( + padding: const EdgeInsets.only( + left: 8.0, + right: 8.0, + ), + child: BlocBuilder(builder: (context, state) { + return Text( + AppLocalizations.of(context).translate( + 'TENANT_TENANTS_${GlobalVariables.stateInfoListModel!.code.toString().toUpperCase()}'), + style: const TextStyle( + fontSize: 19, + fontWeight: FontWeight.w400, + color: Color.fromRGBO(0, 0, 0, 1)), + textAlign: TextAlign.left, + ); + }), + )) + ], + ), )); }, diff --git a/frontend/works_shg_app/lib/widgets/work_details_card.dart b/frontend/works_shg_app/lib/widgets/work_details_card.dart index 1774c01229..81fde85735 100644 --- a/frontend/works_shg_app/lib/widgets/work_details_card.dart +++ b/frontend/works_shg_app/lib/widgets/work_details_card.dart @@ -196,217 +196,6 @@ class WorkDetailsCard extends StatelessWidget { case 2: return Column( children: detailsList.mapIndexed((index, e) { - // return ui_card.DigitCard( - // margin: EdgeInsets.all(Theme.of(context).spacerTheme.spacer2), - // cardType: CardType.primary, - // //spacing: 0.0, - // children: [ - // isWorkOrderInbox && - // acceptWorkOrderCode != null && - // e['cardDetails'][Constants.activeInboxStatus] == 'true' - // ? Align( - // alignment: Alignment.centerLeft, - // child: SvgPicture.asset('assets/svg/new_tag.svg'), - // ) - // : const SizedBox.shrink(), - // LabelValueList( - // heading: ((viewWorkOrder || orgProfile) && cardTitle != null) - // ? cardTitle - // : null, - // maxLines: 3, - // labelFlex: 5, - // valueFlex: 5, - // items: getCardDetails( - // context, - // e['cardDetails'], - // payload: e['payload'], - // isAccept: acceptWorkOrderCode != null && - // e['cardDetails'][Constants.activeInboxStatus] == - // 'true' - // ? false - // : true, - // contractNumber: e['cardDetails'][i18.workOrder.workOrderNo], - // ), - // ), - // isWorkOrderInbox || - // acceptWorkOrderCode != null && - // e['cardDetails'][Constants.activeInboxStatus] == - // 'true' - // ? Button( - // label: AppLocalizations.of(context) - // .translate(i18.common.viewDetails), - // onPressed: () { - // context.router.push( - // ViewWorkDetailsRoute( - // contractNumber: e['cardDetails'] - // [i18.workOrder.workOrderNo] - // .toString(), - // wfStatus: e['payload']!['wfStatus'].toString(), - // ), - // ); - // }, - // type: ButtonType.tertiary, - // size: ButtonSize.large, - // ) - // : const SizedBox.shrink(), - // acceptWorkOrderCode != null && - // e['cardDetails'][Constants.activeInboxStatus] == 'true' - // ? Row( - // mainAxisAlignment: MainAxisAlignment.spaceBetween, - // children: [ - // Expanded( - // flex: 10, - // child: Button( - // mainAxisSize: MainAxisSize.min, - // label: outlinedButtonLabel, - // onPressed: () { - // showDialog( - // context: context, - // builder: (context) { - // return Popup( - // onCrossTap: () { - // Navigator.of(context, - // rootNavigator: true) - // .pop(); - // }, - // type: PopUpType.simple, - // title: AppLocalizations.of(context) - // .translate(i18.common.warning), - // description: - // AppLocalizations.of(context) - // .translate( - // i18.workOrder.warningMsg), - // actions: [ - // Button( - // label: - // AppLocalizations.of(context) - // .translate( - // i18.common.confirm), - // onPressed: () { - // context - // .read< - // DeclineWorkOrderBloc>() - // .add( - // WorkOrderDeclineEvent( - // contractsModel: - // e['payload'], - // action: 'DECLINE', - // comments: - // 'Work Order has been declined by CBO'), - // ); - // Navigator.of(context, - // rootNavigator: true) - // .pop(); - // }, - // type: ButtonType.primary, - // size: ButtonSize.large) - // ], - // ); - // }, - // ); - // }, - // type: ButtonType.secondary, - // size: ButtonSize.large), - // ), - // const Expanded( - // flex: 1, - // child: SizedBox( - // width: 5, - // )), - // Expanded( - // flex: 10, - // child: Button( - // mainAxisSize: MainAxisSize.min, - // label: elevatedButtonLabel, - // onPressed: () { - // context.read().add( - // WorkOrderAcceptEvent( - // contractsModel: e['payload'], - // action: 'ACCEPT', - // comments: - // 'Work Order has been accepted by CBO'), - // ); - // }, - // type: ButtonType.primary, - // size: ButtonSize.large), - // ), - // ], - // ) - // : const SizedBox.shrink(), - // (isWorkOrderInbox && acceptWorkOrderCode != null) && - // !(e['cardDetails'][Constants.activeInboxStatus] == - // 'true') - // ? Button( - // mainAxisSize: MainAxisSize.max, - // label: AppLocalizations.of(context) - // .translate(i18.common.takeAction), - // onPressed: () { - // showDialog( - // context: context, - // builder: (context) { - // return ActionCard(actions: [ - // Button( - // label: AppLocalizations.of(context) - // .translate(i18.home.manageWageSeekers), - // onPressed: () { - // context.router.push( - // AttendanceRegisterTableRoute( - // registerId: e['payload']![ - // 'additionalDetails'] - // ['attendanceRegisterNumber'] - // .toString(), - // tenantId: e['payload']['tenantId'] - // .toString())); - // Navigator.of(context, rootNavigator: true) - // .pop(); - // }, - // type: ButtonType.secondary, - // size: ButtonSize.large, - // mainAxisSize: MainAxisSize.max, - // prefixIcon: Icons.fingerprint, - // ), - // Button( - // label: AppLocalizations.of(context).translate( - // i18.workOrder.requestTimeExtension), - // onPressed: () { - // Navigator.of(context, rootNavigator: true) - // .pop(); - // context - // .read() - // .add(SearchValidTimeExtCreationsEvent( - // contract: ContractsMapper.fromMap( - // e['payload'] ?? {}), - // contractNo: e['cardDetails'] - // [i18.workOrder.workOrderNo] - // .toString(), - // tenantId: e['payload']!['tenantId'] - // .toString(), - // status: 'APPROVED')); - // }, - // type: ButtonType.secondary, - // size: ButtonSize.large, - // mainAxisSize: MainAxisSize.max, - // prefixIcon: Icons.calendar_today_rounded, - // ) - // ]); - // }, - // ); - // }, - // type: ButtonType.primary, - // size: ButtonSize.large, - // ) - // : const SizedBox.shrink(), - // (showButtonLink! && linkLabel!.isNotEmpty) - // ? Button( - // mainAxisAlignment: MainAxisAlignment.start, - // type: ButtonType.tertiary, - // size: ButtonSize.large, - // mainAxisSize: MainAxisSize.max, - // label: linkLabel ?? '', - // onPressed: () => onLinkPressed!()) - // : const SizedBox.shrink(), - // ], - // ); if ((acceptWorkOrderCode != null && e['cardDetails'][Constants.activeInboxStatus] == 'true') && (isWorkOrderInbox || @@ -426,7 +215,12 @@ class WorkDetailsCard extends StatelessWidget { alignment: Alignment.centerLeft, child: SvgPicture.asset('assets/svg/new_tag.svg'), ) - : const SizedBox.shrink(), + : const Visibility( + visible: false, + maintainSize: false, + maintainAnimation: false, + maintainState: false, + child: Offstage(offstage: true)), LabelValueList( heading: ((viewWorkOrder || orgProfile) && cardTitle != null) @@ -539,16 +333,6 @@ class WorkDetailsCard extends StatelessWidget { ), ], ), - - // (showButtonLink! && linkLabel!.isNotEmpty) - // ? Button( - // mainAxisAlignment: MainAxisAlignment.start, - // type: ButtonType.tertiary, - // size: ButtonSize.large, - // mainAxisSize: MainAxisSize.max, - // label: linkLabel ?? '', - // onPressed: () => onLinkPressed!()) - // : const SizedBox.shrink(), ], ); } else if ((isWorkOrderInbox || @@ -559,15 +343,23 @@ class WorkDetailsCard extends StatelessWidget { cardType: CardType.primary, //spacing: 0.0, children: [ - isWorkOrderInbox && - acceptWorkOrderCode != null && - e['cardDetails'][Constants.activeInboxStatus] == - 'true' - ? Align( - alignment: Alignment.centerLeft, - child: SvgPicture.asset('assets/svg/new_tag.svg'), - ) - : const SizedBox.shrink(), + //TODO: temp comment + // isWorkOrderInbox && + // acceptWorkOrderCode != null && + // e['cardDetails'][Constants.activeInboxStatus] == + // 'true' + // ? Align( + // alignment: Alignment.centerLeft, + // child: SvgPicture.asset('assets/svg/new_tag.svg'), + // ) + // : const Visibility( + // visible: false, + // maintainSize: false, + // maintainAnimation: false, + // maintainState: false, + // child: Offstage(offstage: true)), +// end + LabelValueList( heading: ((viewWorkOrder || orgProfile) && cardTitle != null) @@ -617,62 +409,70 @@ class WorkDetailsCard extends StatelessWidget { context: context, builder: (context) { return ActionCard( - onOutsideTap: (){ - Navigator.of( - context, - rootNavigator: true, - ).popUntil( - (route) => route is! PopupRoute, - ); - }, - actions: [ - Button( - label: AppLocalizations.of(context) - .translate(i18.home.manageWageSeekers), - onPressed: () { - context.router.push( - AttendanceRegisterTableRoute( - registerId: e['payload']![ - 'additionalDetails'][ - 'attendanceRegisterNumber'] - .toString(), - tenantId: e['payload']['tenantId'] - .toString())); - Navigator.of(context, rootNavigator: true) - .pop(); + onOutsideTap: () { + Navigator.of( + context, + rootNavigator: true, + ).popUntil( + (route) => route is! PopupRoute, + ); }, - type: ButtonType.secondary, - size: ButtonSize.large, - mainAxisSize: MainAxisSize.max, - prefixIcon: Icons.fingerprint, - ), - Button( - label: AppLocalizations.of(context) - .translate( - i18.workOrder.requestTimeExtension), - onPressed: () { - Navigator.of(context, rootNavigator: true) - .pop(); - context - .read< - ValidTimeExtCreationsSearchBloc>() - .add(SearchValidTimeExtCreationsEvent( - contract: ContractsMapper.fromMap( - e['payload'] ?? {}), - contractNo: e['cardDetails'][ - i18.workOrder.workOrderNo] - .toString(), - tenantId: - e['payload']!['tenantId'] + actions: [ + Button( + label: AppLocalizations.of(context) + .translate( + i18.home.manageWageSeekers), + onPressed: () { + context.router.push( + AttendanceRegisterTableRoute( + registerId: e['payload']![ + 'additionalDetails'] + [ + 'attendanceRegisterNumber'] .toString(), - status: 'APPROVED')); - }, - type: ButtonType.secondary, - size: ButtonSize.large, - mainAxisSize: MainAxisSize.max, - prefixIcon: Icons.calendar_today_rounded, - ) - ]); + tenantId: e['payload'] + ['tenantId'] + .toString())); + Navigator.of(context, + rootNavigator: true) + .pop(); + }, + type: ButtonType.secondary, + size: ButtonSize.large, + mainAxisSize: MainAxisSize.max, + prefixIcon: Icons.fingerprint, + ), + Button( + label: AppLocalizations.of(context) + .translate(i18.workOrder + .requestTimeExtension), + onPressed: () { + Navigator.of(context, + rootNavigator: true) + .pop(); + context + .read< + ValidTimeExtCreationsSearchBloc>() + .add(SearchValidTimeExtCreationsEvent( + contract: + ContractsMapper.fromMap( + e['payload'] ?? {}), + contractNo: e['cardDetails'][ + i18.workOrder + .workOrderNo] + .toString(), + tenantId: + e['payload']!['tenantId'] + .toString(), + status: 'APPROVED')); + }, + type: ButtonType.secondary, + size: ButtonSize.large, + mainAxisSize: MainAxisSize.max, + prefixIcon: + Icons.calendar_today_rounded, + ) + ]); }, ); }, @@ -680,15 +480,6 @@ class WorkDetailsCard extends StatelessWidget { size: ButtonSize.large, ) : const SizedBox.shrink(), - // (showButtonLink! && linkLabel!.isNotEmpty) - // ? Button( - // mainAxisAlignment: MainAxisAlignment.start, - // type: ButtonType.tertiary, - // size: ButtonSize.large, - // mainAxisSize: MainAxisSize.max, - // label: linkLabel ?? '', - // onPressed: () => onLinkPressed!()) - // : const SizedBox.shrink(), ], ); } else if ((isWorkOrderInbox && acceptWorkOrderCode != null) && @@ -706,7 +497,12 @@ class WorkDetailsCard extends StatelessWidget { alignment: Alignment.centerLeft, child: SvgPicture.asset('assets/svg/new_tag.svg'), ) - : const SizedBox.shrink(), + : const Visibility( + visible: false, + maintainSize: false, + maintainAnimation: false, + maintainState: false, + child: Offstage(offstage: true)), LabelValueList( heading: ((viewWorkOrder || orgProfile) && cardTitle != null) @@ -728,7 +524,6 @@ class WorkDetailsCard extends StatelessWidget { [i18.workOrder.workOrderNo], ), ), - Button( mainAxisSize: MainAxisSize.max, label: AppLocalizations.of(context) @@ -788,15 +583,6 @@ class WorkDetailsCard extends StatelessWidget { type: ButtonType.primary, size: ButtonSize.large, ), - // (showButtonLink! && linkLabel!.isNotEmpty) - // ? Button( - // mainAxisAlignment: MainAxisAlignment.start, - // type: ButtonType.tertiary, - // size: ButtonSize.large, - // mainAxisSize: MainAxisSize.max, - // label: linkLabel ?? '', - // onPressed: () => onLinkPressed!()) - // : const SizedBox.shrink(), ], ); } else if (acceptWorkOrderCode != null && @@ -814,7 +600,12 @@ class WorkDetailsCard extends StatelessWidget { alignment: Alignment.centerLeft, child: SvgPicture.asset('assets/svg/new_tag.svg'), ) - : const SizedBox.shrink(), + : const Visibility( + visible: false, + maintainSize: false, + maintainAnimation: false, + maintainState: false, + child: Offstage(offstage: true)), LabelValueList( heading: ((viewWorkOrder || orgProfile) && cardTitle != null) @@ -911,16 +702,6 @@ class WorkDetailsCard extends StatelessWidget { ), ], ), - - // (showButtonLink! && linkLabel!.isNotEmpty) - // ? Button( - // mainAxisAlignment: MainAxisAlignment.start, - // type: ButtonType.tertiary, - // size: ButtonSize.large, - // mainAxisSize: MainAxisSize.max, - // label: linkLabel ?? '', - // onPressed: () => onLinkPressed!()) - // : const SizedBox.shrink(), ], ); } else { From a11879bce3efc3669ecafbebee772bf8ae2f7afc Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Wed, 25 Sep 2024 13:40:45 +0530 Subject: [PATCH 234/292] backbutton given padding 16 to all --- .../lib/pages/attendance_register_table.dart | 10 +- .../lib/pages/bills/my_bills.dart | 6 +- .../lib/pages/employee/mb_detail_page.dart | 304 +----------------- .../lib/pages/employee/mb_history.dart | 9 +- .../lib/pages/employee/mb_inbox.dart | 4 +- .../lib/pages/employee/mb_muster_screen.dart | 6 +- .../employee/workOrder/work_order_inbox.dart | 9 +- frontend/works_shg_app/lib/pages/login.dart | 2 +- .../works_shg_app/lib/pages/org_profile.dart | 6 +- .../lib/pages/otp_verification.dart | 5 +- .../service_requests/service_requests.dart | 12 +- .../create_time_extension.dart | 6 +- .../track_attendance_inbox.dart | 58 ++-- .../lib/pages/track_attendance.dart | 13 +- .../lib/pages/view_muster_rolls.dart | 6 +- .../financial_details.dart | 122 ++++--- .../indi_detail_sub.dart | 295 ++++------------- .../individual_details.dart | 16 +- .../register_individual.dart | 58 ++-- .../pages/work_order/view_work_details.dart | 38 +-- .../lib/pages/work_order/work_order.dart | 108 ++++--- .../lib/widgets/molecules/success_page.dart | 6 +- frontend/works_shg_app/pubspec.yaml | 23 +- 23 files changed, 346 insertions(+), 776 deletions(-) diff --git a/frontend/works_shg_app/lib/pages/attendance_register_table.dart b/frontend/works_shg_app/lib/pages/attendance_register_table.dart index ad664a0d70..2c06fe6838 100644 --- a/frontend/works_shg_app/lib/pages/attendance_register_table.dart +++ b/frontend/works_shg_app/lib/pages/attendance_register_table.dart @@ -200,8 +200,11 @@ class _AttendanceRegisterTablePage extends State { delegate: SliverChildListDelegate( [ Padding( - padding: const EdgeInsets.only( - top: 16.0, bottom: 16.0), + padding: EdgeInsets.symmetric( + horizontal: + Theme.of(context).spacerTheme.spacer4, + vertical: Theme.of(context).spacerTheme.spacer4, + ), child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ @@ -717,7 +720,8 @@ class _AttendanceRegisterTablePage extends State { setState(() { searchUser = true; - existingAttendeeList.removeWhere((e) => + existingAttendeeList + .removeWhere((e) => e['uuid'] == uuid); createAttendeePayLoadList diff --git a/frontend/works_shg_app/lib/pages/bills/my_bills.dart b/frontend/works_shg_app/lib/pages/bills/my_bills.dart index 932bc28094..42593b8ff7 100644 --- a/frontend/works_shg_app/lib/pages/bills/my_bills.dart +++ b/frontend/works_shg_app/lib/pages/bills/my_bills.dart @@ -314,8 +314,10 @@ class _MyBillsPage extends State { CrossAxisAlignment.start, children: [ Padding( - padding: const EdgeInsets.only( - left: 8.0, top: 16.0), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context).spacerTheme.spacer4, + vertical: Theme.of(context).spacerTheme.spacer4, + ), child: Row( children: [ BackNavigationButton( diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index a131d21572..16e4956b34 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -475,7 +475,7 @@ class _MBDetailPageState extends State Padding( padding: EdgeInsets.symmetric( horizontal: - Theme.of(context).spacerTheme.spacer2, + Theme.of(context).spacerTheme.spacer4, vertical: Theme.of(context).spacerTheme.spacer4, ), @@ -678,56 +678,7 @@ class _MBDetailPageState extends State ), ) : renderSor(value.sor!, "sor"), - // : ListView.builder( - // shrinkWrap: true, - // padding: EdgeInsets.zero, - // physics: - // const NeverScrollableScrollPhysics(), - // itemBuilder: - // (BuildContext context, - // int index) { - // return SorCard( - // // consumedQty: consumedQty, - // // currentAmt: currentAmt, - - // index: index, - // magic: value.sor![index] - // .filteredMeasurementsMeasure, - - // preSorNonSor: value.preSor == - // null - // ? null - // : value.preSor?.firstWhereOrNull( - // (element) => - // element - // .sorId == - // value - // .sor![ - // index] - // .sorId) == - // null - // ? null - // : value.preSor! - // .firstWhereOrNull( - // (element) => - // element - // .sorId == - // value - // .sor![ - // index] - // .sorId)! - // .filteredMeasurementsMeasure, - // // value.preSor![index] - // // .filteredMeasurementsMeasure, - // type: "sor", - // sorNonSorId: - // value.sor![index].sorId!, - // cardLevel: t.translate(i18 - // .measurementBook.mbSor), - // ); - // }, - // itemCount: value.sor!.length, - // ), + if (tabIndex == 1) value.nonSor!.isEmpty @@ -752,51 +703,7 @@ class _MBDetailPageState extends State ), ) : renderSor(value.nonSor!, "NonSor"), - // : ListView.builder( - // physics: - // const NeverScrollableScrollPhysics(), - // itemBuilder: - // (BuildContext context, - // int index) { - // return SorCard( - // // consumedQty: consumedQty, - // // currentAmt: currentAmt, - - // index: index, - // magic: value.nonSor![index] - // .filteredMeasurementsMeasure, - // preSorNonSor: value - // .preNonSor == - // null - // ? null - // : value.preNonSor?.firstWhereOrNull((element) => - // element - // .sorId == - // value - // .nonSor![ - // index] - // .sorId) != - // null - // ? value.preNonSor! - // .firstWhereOrNull((element) => - // element - // .sorId == - // value - // .nonSor![ - // index] - // .sorId)! - // .filteredMeasurementsMeasure - // : null, - // type: "NonSor", - // sorNonSorId: value - // .nonSor![index].sorId!, - // cardLevel: t.translate(i18 - // .measurementBook - // .mbNonSor), - // ); - // }, - // itemCount: value.nonSor!.length, - // ), + if (tabIndex == 2) widget.type == MBScreen.create ? Padding( @@ -815,42 +722,7 @@ class _MBDetailPageState extends State padding: const EdgeInsets .symmetric( horizontal: 0.0), - //old - // child: - // FilePickerDemo( - // fromServerFile: - // value - // .data - // .first - // .documents, - // callBack: (List< - // FileStoreModel>? - // g, - // List? - // l) { - // context - // .read< - // MeasurementDetailBloc>() - // .add( - // MeasurementUploadDocumentBlocEvent( - // tenantId: - // '', - // workflowDocument: - // l!, - // ), - // ); - // }, - // extensions: const [ - // 'jpg', - // 'png', - // 'jpeg', - // ], - // moduleName: - // 'img_measurement_book', - // headerType: - // MediaType - // .mbDetail, - // ), + child: ui_label.LabeledField( label: @@ -969,42 +841,7 @@ class _MBDetailPageState extends State horizontal: 0.0), - //old - // child: - // FilePickerDemo( - // fromServerFile: - // value - // .data - // .first - // .documents, - // callBack: (List< - // FileStoreModel>? - // g, - // List? - // l) { - // context - // .read< - // MeasurementDetailBloc>() - // .add( - // MeasurementUploadDocumentBlocEvent( - // tenantId: - // '', - // workflowDocument: - // l!, - // ), - // ); - // }, - // extensions: const [ - // 'jpg', - // 'png', - // 'jpeg', - // ], - // moduleName: - // 'img_measurement_book', - // headerType: - // MediaType - // .mbDetail, - // ), + child: ui_label .LabeledField( @@ -1097,10 +934,10 @@ class _MBDetailPageState extends State ), ) : Padding( - padding: const EdgeInsets.only( - left: 8.0, - right: 8.0, - bottom: 8.0, + padding: EdgeInsets.only( + left: Theme.of(context).spacerTheme.spacer2, + right: Theme.of(context).spacerTheme.spacer2, + bottom: Theme.of(context).spacerTheme.spacer2, top: 0.0), child: ui_component.DigitCard( cardType: CardType.primary, @@ -1118,10 +955,10 @@ class _MBDetailPageState extends State ) : !value.viewStatus ? Padding( - padding: const EdgeInsets.only( - left: 8.0, - right: 8.0, - bottom: 8.0, + padding: EdgeInsets.only( + left: Theme.of(context).spacerTheme.spacer2, + right: Theme.of(context).spacerTheme.spacer2, + bottom: Theme.of(context).spacerTheme.spacer2, top: 0.0), child: ui_component.DigitCard( cardType: CardType.primary, @@ -1141,37 +978,7 @@ class _MBDetailPageState extends State .symmetric( horizontal: 0.0), - //old - // child: - // FilePickerDemo( - // fromServerFile: value - // .data - // .first - // .documents, - // callBack: (List? - // g, - // List? - // l) { - // context - // .read() - // .add( - // MeasurementUploadDocumentBlocEvent( - // tenantId: '', - // workflowDocument: l!, - // ), - // ); - // }, - // extensions: const [ - // 'jpg', - // 'png', - // 'jpeg', - // ], - // moduleName: - // 'img_measurement_book', - // headerType: - // MediaType - // .mbDetail, - // ), + child: ui_label .LabeledField( @@ -2270,86 +2077,7 @@ class _MBDetailPageState extends State value: preSorNonSor == null ? "0.0000" : preConumed), ]), - // ui_label.LabeledField( - // label: t.translate(i18.measurementBook.currentMBEntry), - // labelStyle: Theme.of(context).textTheme.labelLarge, - // child: InkWell( - // onTap: () { - // showDialog( - // context: ctx, - // builder: (_) { - // return HorizontalCardListDialog( - // lineItems: magic, - // index: index, - // type: type, - // noOfUnit: noOfQty, - // cummulativePrevQty: preSorNonSor == null - // ? 0.0000 - // : preSorNonSor.fold(0.0000, (sum, obj) { - // double m = obj.contracts!.first.estimates!.first - // .isDeduction == - // true - // ? -(obj.cumulativeValue!) - // : (obj.cumulativeValue!); - // return sum + m.toDouble(); - // }), - // sorId: sorNonSorId, - // ); - // }, - // ); - // }, - // child: IgnorePointer( - // child: DigitSearchFormInput( - // controller: consumedQty - // ..text = (magic.fold(0.0, (sum, obj) { - // double m; - // if (obj.contracts?.first.estimates?.first.isDeduction == - // false) { - // m = obj.measureLineItems!.fold(0.0, (subSum, ob) { - // double mk = double.parse(ob.quantity!.toString()); - // return subSum + mk; - // }); - // } else { - // m = obj.measureLineItems!.fold(0.0, (subSum, ob) { - // double mr = double.parse(ob.quantity!.toString()); - // return subSum + mr; - // }); - // m = -m; - // } - // return sum + m; - // })).toStringAsFixed(4), - // readOnly: true, - // suffixIcon: Icons.add_circle, - // iconColor: Theme.of(context).colorTheme.primary.primary1, - // onSuffixTap: (p0) {}, - // ), - // ), - // ), - // ), - // ui_label.LabeledField( - // label: t.translate(i18.measurementBook.mbAmtCurrentEntry), - // labelStyle: Theme.of(context).textTheme.labelLarge, - // child: DigitTextFormInput( - // controller: currentAmt - // ..text = (magic.fold(0.0, (sum, obj) { - // double m = obj.mbAmount != null - // ? (obj.mbAmount != null && obj.mbAmount! < 0) - // ? (obj.mbAmount! * (-1)) - // : obj.mbAmount! - // : 0.00; - // if (obj.contracts?.first.estimates?.first.isDeduction == - // true) { - // m = -(m); // Negate the amount for deductions - // } else { - // m = (m); - // } - // return sum + m; - // })).toStringAsFixed(2), - // readOnly: true, - // ), - // ), - -// old + Column( mainAxisAlignment: MainAxisAlignment.center, @@ -3027,7 +2755,7 @@ Widget renderSor( type: type, sorNonSorId: value![index].sorId!, cardLevel: - AppLocalizations.of(context).translate(i18.measurementBook.mbSor), + AppLocalizations.of(context).translate( type=="sor"?i18.measurementBook.mbSor:i18.measurementBook.mbNonSor), ); }, itemCount: value!.length, diff --git a/frontend/works_shg_app/lib/pages/employee/mb_history.dart b/frontend/works_shg_app/lib/pages/employee/mb_history.dart index e58b9b8f88..088bcf3186 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_history.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_history.dart @@ -229,7 +229,10 @@ class _MBHistoryBookPageState extends State { CrossAxisAlignment.center, children: [ Padding( - padding: const EdgeInsets.all(8.0), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context).spacerTheme.spacer4, + vertical: Theme.of(context).spacerTheme.spacer4, + ), child: BackNavigationButton( backNavigationButtonThemeData: const BackNavigationButtonThemeData() @@ -262,7 +265,7 @@ class _MBHistoryBookPageState extends State { ), ), Padding( - padding: const EdgeInsets.only(left: 8.0), + padding: const EdgeInsets.only(left: 8.0,top: 0.0), child: DigitTextBlock( heading: t.translate( i18.measurementBook.mbHistory), @@ -271,7 +274,7 @@ class _MBHistoryBookPageState extends State { ], ), ), - height:kIsWeb?120: 100, + height:kIsWeb?120: 120, ), ), SliverList( diff --git a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart index c0d5b76355..5b7d835194 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart @@ -202,7 +202,7 @@ class _MeasurementBookInboxPageState extends State { children: [ Padding( padding: EdgeInsets.symmetric( - horizontal: Theme.of(context).spacerTheme.spacer2, + horizontal: Theme.of(context).spacerTheme.spacer4, vertical: Theme.of(context).spacerTheme.spacer4, ), child: Row( @@ -255,7 +255,7 @@ class _MeasurementBookInboxPageState extends State { ]), ), Padding( - padding: const EdgeInsets.only(left: 16.0), + padding: const EdgeInsets.only(left: 16.0,top: 0.0), child: DigitTextBlock( heading: "${t.translate(i18.measurementBook.mbInbox)} (${mbInboxResponse.mbInboxResponse.totalCount ?? 0})", diff --git a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart index d9589f282b..e0f0b1675c 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart @@ -234,8 +234,10 @@ class _MBMusterScreenPageState extends State { delegate: SliverChildListDelegate( [ Padding( - padding: - const EdgeInsets.only(left: 8.0, top: 16), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context).spacerTheme.spacer4, + vertical: Theme.of(context).spacerTheme.spacer4, + ), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart index 56cd30f666..807141eb50 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart @@ -222,11 +222,10 @@ class _WorkOderInboxPageState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( - padding: const EdgeInsets.only( - left: 8.0, - bottom: 16.0, - top: 16.0, - right: 8.0), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context).spacerTheme.spacer4, + vertical: Theme.of(context).spacerTheme.spacer4, + ), child: Row( mainAxisAlignment: MainAxisAlignment.start, diff --git a/frontend/works_shg_app/lib/pages/login.dart b/frontend/works_shg_app/lib/pages/login.dart index 5fcf2d954e..89d8b13a58 100644 --- a/frontend/works_shg_app/lib/pages/login.dart +++ b/frontend/works_shg_app/lib/pages/login.dart @@ -152,7 +152,7 @@ class _LoginPageState extends State toggleWidth: MediaQuery.sizeOf(context).width * 0.4, toggleButtons: [ ToggleButtonModel( - code: "0", name: t.translate(i18.measurementBook.mbCbo)), + code: "0", name: t.translate(i18.measurementBook.mbCbo).toString().toUpperCase()), ToggleButtonModel( name: t.translate(i18.measurementBook.mbEmployee), code: "1") diff --git a/frontend/works_shg_app/lib/pages/org_profile.dart b/frontend/works_shg_app/lib/pages/org_profile.dart index afcca31955..ab0eda0f03 100644 --- a/frontend/works_shg_app/lib/pages/org_profile.dart +++ b/frontend/works_shg_app/lib/pages/org_profile.dart @@ -215,8 +215,10 @@ class _ORGProfilePage extends State { children: [ Padding( - padding: const EdgeInsets.only( - left: 8.0, top: 16), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context).spacerTheme.spacer4, + vertical: Theme.of(context).spacerTheme.spacer4, + ), child: Row( mainAxisAlignment: MainAxisAlignment.start, diff --git a/frontend/works_shg_app/lib/pages/otp_verification.dart b/frontend/works_shg_app/lib/pages/otp_verification.dart index b680e9f4dd..a038ddc7f6 100644 --- a/frontend/works_shg_app/lib/pages/otp_verification.dart +++ b/frontend/works_shg_app/lib/pages/otp_verification.dart @@ -105,7 +105,10 @@ class _OTPVerificationPage extends State { child: Column( children: [ Padding( - padding: const EdgeInsets.all(16), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context).spacerTheme.spacer4, + vertical: Theme.of(context).spacerTheme.spacer4, + ), child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ diff --git a/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart b/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart index 58b973832e..ceb1acbb33 100644 --- a/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart +++ b/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart @@ -152,15 +152,13 @@ class _MyServiceRequestsPage extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ - // Back( - // backLabel: AppLocalizations.of( - // context) - // .translate(i18.common.back), - // ), + Padding( - padding: const EdgeInsets.only( - left: 8.0, top: 16), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context).spacerTheme.spacer4, + vertical: Theme.of(context).spacerTheme.spacer4, + ), child: Row( mainAxisAlignment: MainAxisAlignment.start, diff --git a/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart b/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart index 209fdbc38b..ef6b3f61f6 100644 --- a/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart +++ b/frontend/works_shg_app/lib/pages/time_extension_request/create_time_extension.dart @@ -223,8 +223,10 @@ class _CreateTimeExtensionRequestPage children: [ Padding( - padding: const EdgeInsets.only( - left: 8.0, top: 16.0,bottom: 16.0), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context).spacerTheme.spacer4, + vertical: Theme.of(context).spacerTheme.spacer4, + ), child: Row( mainAxisAlignment: MainAxisAlignment.start, diff --git a/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart b/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart index b1bde81fe4..b2e8f40aea 100644 --- a/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart +++ b/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart @@ -55,7 +55,7 @@ class _TrackAttendanceInboxPage extends State { return BlocBuilder( builder: (context, localState) { return Scaffold( - // appBar: customAppBar(), + // appBar: customAppBar(), backgroundColor: Theme.of(context).colorTheme.generic.background, // drawer: const MySideBar(), bottomNavigationBar: BlocBuilder { crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( - padding: const EdgeInsets.only( - left: 8.0, - top: 16.0, - right: 8.0, - bottom: .0), + padding: EdgeInsets.symmetric( + horizontal: + Theme.of(context).spacerTheme.spacer4, + vertical: Theme.of(context).spacerTheme.spacer4, + ), child: Row( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center, children: [ BackNavigationButton( - backNavigationButtonThemeData: const BackNavigationButtonThemeData().copyWith( - context: context, - backButtonIcon: Icon( - Icons.arrow_circle_left_outlined, - size: MediaQuery.of(context).size.width < 500 - ? Theme.of(context).spacerTheme.spacer5 - : Theme.of(context).spacerTheme.spacer6, - color: Theme.of(context).colorTheme.primary.primary2, - )), + backNavigationButtonThemeData: + const BackNavigationButtonThemeData() + .copyWith( + context: context, + backButtonIcon: Icon( + Icons + .arrow_circle_left_outlined, + size: MediaQuery.of(context) + .size + .width < + 500 + ? Theme.of(context) + .spacerTheme + .spacer5 + : Theme.of(context) + .spacerTheme + .spacer6, + color: Theme.of(context) + .colorTheme + .primary + .primary2, + )), backButtonText: AppLocalizations.of(context) .translate(i18.common.back), handleBack: () { @@ -172,20 +185,15 @@ class _TrackAttendanceInboxPage extends State { ], ), ), - // Back( - // backLabel: AppLocalizations.of(context) - // .translate(i18.common.back), - // ), + Padding( - padding: EdgeInsets.all(Theme.of(context).spacerTheme.spacer4), + padding: EdgeInsets.only( + left: Theme.of(context).spacerTheme.spacer4,bottom: Theme.of(context).spacerTheme.spacer4), child: DigitTextBlock( heading: '${AppLocalizations.of(context).translate(i18.attendanceMgmt.attendanceRegisters)}(${projectList.length})', - // style: DigitTheme.instance.mobileTheme.textTheme - // .displayMedium - // ?.apply(color: const DigitColors().black), - // textAlign: TextAlign.left, + ), ), projectList.isEmpty @@ -205,7 +213,7 @@ class _TrackAttendanceInboxPage extends State { attendanceRegistersModel: attendanceRegisters, ), - SizedBox( + SizedBox( height: Theme.of(context).spacerTheme.spacer4, ), projectList.isNotEmpty && projectList.length > 1 diff --git a/frontend/works_shg_app/lib/pages/track_attendance.dart b/frontend/works_shg_app/lib/pages/track_attendance.dart index ff22162697..b62c9731c8 100644 --- a/frontend/works_shg_app/lib/pages/track_attendance.dart +++ b/frontend/works_shg_app/lib/pages/track_attendance.dart @@ -298,15 +298,10 @@ class _TrackAttendancePage extends State { SliverChildListDelegate( [ Padding( - padding: - const EdgeInsets - .only( - left: 8.0, - top: 16.0, - right: - 8.0, - bottom: - 16.0), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context).spacerTheme.spacer4, + vertical: Theme.of(context).spacerTheme.spacer4, + ), child: Row( mainAxisAlignment: MainAxisAlignment diff --git a/frontend/works_shg_app/lib/pages/view_muster_rolls.dart b/frontend/works_shg_app/lib/pages/view_muster_rolls.dart index 2e131e9e40..7343411592 100644 --- a/frontend/works_shg_app/lib/pages/view_muster_rolls.dart +++ b/frontend/works_shg_app/lib/pages/view_muster_rolls.dart @@ -152,8 +152,10 @@ class _ViewMusterRollsPage extends State { // ), Padding( - padding: const EdgeInsets.only( - left: 8.0, top: 16, bottom: 0), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context).spacerTheme.spacer4, + vertical: Theme.of(context).spacerTheme.spacer4, + ), child: Row( children: [ BackNavigationButton( diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart index 0d2779af97..051ce29a86 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart @@ -96,14 +96,12 @@ class FinancialDetailsState extends State { children: [ ui_card.DigitCard( cardType: CardType.primary, - margin: EdgeInsets.all(Theme.of(context).spacerTheme.spacer2), + margin: EdgeInsets.all(Theme.of(context).spacerTheme.spacer2), children: [ DigitTextBlock( heading: t.translate(i18.common.financialDetails), ), - - - + ui_component.LabeledField( isRequired: true, label: t.translate(i18.common.accountHolderName), @@ -127,7 +125,7 @@ class FinancialDetailsState extends State { ..text = form.control(accountHolderKey).value ?? '', onChange: (value) { field.control.markAsTouched(); - + form.control(accountHolderKey).value = value; }, errorMessage: field.errorText, @@ -146,9 +144,7 @@ class FinancialDetailsState extends State { }, ), ), - - - + ui_component.LabeledField( isRequired: true, label: t.translate(i18.common.accountNo), @@ -168,16 +164,16 @@ class FinancialDetailsState extends State { }, formControlName: accountNoKey, builder: (field) { - return DigitPasswordFormInput( - + return BaseDigitFormInput( // charCount: true, controller: TextEditingController() ..text = form.control(accountNoKey).value ?? '', onChange: (value) { field.control.markAsTouched(); - + form.control(accountNoKey).value = value; }, + errorMessage: field.errorText, isRequired: true, keyboardType: TextInputType.number, @@ -187,24 +183,22 @@ class FinancialDetailsState extends State { validations: [ ui_validation.Validator( ui_validation.ValidatorType.maxLength, 18, - errorMessage: - t.translate(i18.wageSeeker.maxAccNoCharacters)), + errorMessage: t.translate( + i18.wageSeeker.maxAccNoCharacters)), ui_validation.Validator( ui_validation.ValidatorType.minLength, 8, - errorMessage: - t.translate(i18.wageSeeker.minAccNoCharacters)), + errorMessage: t.translate( + i18.wageSeeker.minAccNoCharacters)), ui_validation.Validator( ui_validation.ValidatorType.required, '', - errorMessage: t - .translate(i18.wageSeeker.accountNumberRequired)), + errorMessage: t.translate( + i18.wageSeeker.accountNumberRequired)), ], ); }, ), ), - - - + ui_component.LabeledField( isRequired: true, label: t.translate(i18.common.reEnterAccountNo), @@ -216,13 +210,12 @@ class FinancialDetailsState extends State { formControlName: reAccountNoKey, builder: (field) { return DigitTextFormInput( - // charCount: true, controller: TextEditingController() ..text = form.control(reAccountNoKey).value ?? '', onChange: (value) { field.control.markAsTouched(); - + form.control(reAccountNoKey).value = value; }, errorMessage: field.errorText, @@ -231,14 +224,11 @@ class FinancialDetailsState extends State { inputFormatters: [ FilteringTextInputFormatter.allow(RegExp("[0-9]")) ], - ); }, ), ), - - - + ui_component.LabeledField( label: t.translate(i18.common.accountType), isRequired: true, @@ -261,16 +251,14 @@ class FinancialDetailsState extends State { onChanged: (value) { // genderController = value.code; field.control.markAsTouched(); - + form.control(accountTypeKey).value = value.code; }, ); }, ), ), - - - + ui_component.LabeledField( isRequired: true, label: t.translate(i18.common.ifscCode), @@ -289,7 +277,7 @@ class FinancialDetailsState extends State { ..text = form.control(ifscCodeKey).value ?? '', onChange: (value) async { field.control.markAsTouched(); - + form.control(ifscCodeKey).value = value; final url = Uri.parse( '${Urls.commonServices.bankDetails}/${form.value[ifscCodeKey]}'); @@ -298,7 +286,7 @@ class FinancialDetailsState extends State { final data = jsonDecode(response.body); final String bankName = data['BANK']; final String branchName = data['BRANCH']; - + setState(() { hintText = '$bankName, $branchName'; }); @@ -311,12 +299,11 @@ class FinancialDetailsState extends State { errorMessage: field.errorText, isRequired: true, keyboardType: TextInputType.text, - ); }, ), ), - + // Button( // type: ButtonType.primary, // size: ButtonSize.large, @@ -352,41 +339,40 @@ class FinancialDetailsState extends State { // ) ], ), - ui_card.DigitCard(children: [ - Button( - type: ButtonType.primary, - size: ButtonSize.large, - mainAxisSize: MainAxisSize.max, - onPressed: () { - form.markAllAsTouched(updateParent: false); - if (!form.valid) return; - if (hintText.isEmpty) { - Notifiers.getToastMessage( - context, i18.wageSeeker.enterValidIFSC, 'ERROR'); - // Toast.showToast(context, message: t.translate(i18.wageSeeker.enterValidIFSC), type: ToastType.error); - } else { - final financeDetails = FinancialDetails( - accountHolderName: - form.value[accountHolderKey].toString(), - accountNumber: form.value[accountNoKey].toString(), - reAccountNumber: form.value[reAccountNoKey].toString(), - ifscCode: - form.value[ifscCodeKey].toString().toUpperCase(), - accountType: form.value[accountTypeKey].toString(), - bankName: hintText); - BlocProvider.of(context).add( - WageSeekerCreateEvent( - individualDetails: individualDetails, - skillDetails: skillDetails, - locationDetails: locationDetails, - financialDetails: financeDetails), - ); - widget.onPressed(); - } - }, - label: t.translate(i18.common.next), - ) + Button( + type: ButtonType.primary, + size: ButtonSize.large, + mainAxisSize: MainAxisSize.max, + onPressed: () { + form.markAllAsTouched(updateParent: false); + if (!form.valid) return; + if (hintText.isEmpty) { + Notifiers.getToastMessage( + context, i18.wageSeeker.enterValidIFSC, 'ERROR'); + // Toast.showToast(context, message: t.translate(i18.wageSeeker.enterValidIFSC), type: ToastType.error); + } else { + final financeDetails = FinancialDetails( + accountHolderName: + form.value[accountHolderKey].toString(), + accountNumber: form.value[accountNoKey].toString(), + reAccountNumber: form.value[reAccountNoKey].toString(), + ifscCode: + form.value[ifscCodeKey].toString().toUpperCase(), + accountType: form.value[accountTypeKey].toString(), + bankName: hintText); + BlocProvider.of(context).add( + WageSeekerCreateEvent( + individualDetails: individualDetails, + skillDetails: skillDetails, + locationDetails: locationDetails, + financialDetails: financeDetails), + ); + widget.onPressed(); + } + }, + label: t.translate(i18.common.next), + ) ]) ], ); diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_detail_sub.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_detail_sub.dart index 97a8aa9a93..bded54ef5b 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_detail_sub.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_detail_sub.dart @@ -5,6 +5,7 @@ import 'package:digit_ui_components/widgets/atoms/text_block.dart'; import 'package:digit_ui_components/widgets/molecules/digit_card.dart' as ui_card; +import 'package:digit_ui_components/widgets/molecules/digit_footer.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -80,27 +81,6 @@ class _IndividualSubDetailPageState extends State { DigitTextBlock( heading: t.translate(i18.wageSeeker.personalDetailHeader), ), - - // old - // DigitDateFormPicker( - // label: t.translate(i18.common.dateOfBirth), - // isRequired: true, - // cancelText: t.translate(i18.common.cancel), - // fieldHintText: 'dd/mm/yyyy', - // confirmText: t.translate(i18.common.oK), - // icon: Icons.info_outline_rounded, - // tooltipMessage: t.translate(i18.wageSeeker.ageValidation), - // formControlName: dobKey, - // autoValidation: AutovalidateMode.always, - // requiredMessage: t.translate(i18.wageSeeker.dobRequired), - // validationMessages: { - // 'required': (_) => t.translate( - // i18.wageSeeker.dobRequired, - // ), - // 'max': (_) => t.translate(i18.wageSeeker.ageValidation) - // }, - // ), - //end LabeledField( isRequired: true, label: t.translate(i18.common.dateOfBirth), @@ -126,23 +106,22 @@ class _IndividualSubDetailPageState extends State { onChange: (p0) { DateTime selectedDate = DateFormat("dd/MM/yyyy").parse(p0); - + field.control.markAsTouched(); - + // Calculate the current date minus 18 years DateTime minDate = DateTime.now() .subtract(const Duration(days: 365 * 18)); - + if (selectedDate.isAfter(minDate)) { field.control.setErrors({ - 'max': - t.translate(i18.wageSeeker.ageValidation) + 'max': t.translate(i18.wageSeeker.ageValidation) }); } - + form1.control(dobKey).value = selectedDate; }, - + helpText: t.translate(i18.wageSeeker.ageValidation), firstDate: DateTime(1900), // lastDate: DateTime(DateTime.now().year), @@ -163,23 +142,6 @@ class _IndividualSubDetailPageState extends State { }, ), ), - - // old - // StatefulBuilder( - // builder: (BuildContext context, StateSetter setState) { - // return DigitRadioButtonList( - // labelText: t.translate(i18.common.gender), - // formControlName: genderKey, - // options: widget.gender.map((e) => e.toString()).toList(), - // isRequired: true, - // valueMapper: (value) => t.translate(value), - // onValueChange: (value) { - // genderController = value; - // }, - // ); - // }), - // end - LabeledField( label: t.translate(i18.common.gender), isRequired: true, @@ -203,38 +165,13 @@ class _IndividualSubDetailPageState extends State { onChanged: (value) { // genderController = value.code; field.control.markAsTouched(); - + form1.control(genderKey).value = value.code; }, ); }, ), ), - - // old - // DigitTextFormField( - // padding: EdgeInsets.zero, - // formControlName: fatherNameKey, - // isRequired: true, - // label: t.translate(i18.common.guardianName), - // inputFormatters: [ - // FilteringTextInputFormatter.allow(RegExp("[A-Za-z ]")) - // ], - // validationMessages: { - // 'required': (_) => t.translate( - // i18.wageSeeker.fatherNameRequired, - // ), - // 'minLength': (_) => t.translate( - // i18.wageSeeker.minFatherNameCharacters, - // ), - // 'maxLength': (_) => t.translate( - // i18.wageSeeker.maxFatherNameCharacters, - // ), - // }, - // ), - - // end - LabeledField( label: t.translate(i18.common.guardianName), isRequired: true, @@ -242,10 +179,10 @@ class _IndividualSubDetailPageState extends State { validationMessages: { 'required': (error) => t.translate(i18.wageSeeker.fatherNameRequired), - 'minLength': (error) => t.translate( - i18.wageSeeker.minFatherNameCharacters), - 'maxLength': (error) => t.translate( - i18.wageSeeker.maxFatherNameCharacters), + 'minLength': (error) => + t.translate(i18.wageSeeker.minFatherNameCharacters), + 'maxLength': (error) => + t.translate(i18.wageSeeker.maxFatherNameCharacters), }, formControlName: fatherNameKey, showErrors: (control) => @@ -257,7 +194,7 @@ class _IndividualSubDetailPageState extends State { isRequired: true, onChange: (value) { field.control.markAsTouched(); - + form1.control(fatherNameKey).value = value; }, errorMessage: field.errorText, @@ -270,33 +207,14 @@ class _IndividualSubDetailPageState extends State { ui_validation.Validator( ui_validation.ValidatorType.required, "", - errorMessage: t.translate( - i18.wageSeeker.fatherNameRequired), + errorMessage: t + .translate(i18.wageSeeker.fatherNameRequired), ), ], ); }, ), ), - - // old - // DigitReactiveDropdown( - // padding: EdgeInsets.zero, - // label: t.translate(i18.common.relationship), - // menuItems: - // widget.relationship.map((e) => e.toString()).toList(), - // isRequired: true, - // formControlName: relationshipKey, - // valueMapper: (value) => t.translate('CORE_COMMON_$value'), - // onChanged: (value) {}, - // validationMessages: { - // 'required': (_) => t.translate( - // i18.wageSeeker.relationshipRequired, - // ), - // }, - // ), - // end - LabeledField( isRequired: true, label: t.translate(i18.common.relationship), @@ -307,64 +225,28 @@ class _IndividualSubDetailPageState extends State { builder: (field) { return DigitDropdown( dropdownController: TextEditingController() - ..text = - form1.control(relationshipKey).value ?? '', + ..text = form1.control(relationshipKey).value ?? '', onSelect: (value) { field.control.markAsTouched(); - + // form1.control(relationshipKey).value = value; setState(() { - form1.control(relationshipKey).value = - value.code; + form1.control(relationshipKey).value = value.code; }); - + // form1.setErrors(); }, errorMessage: field.errorText, items: widget.relationship .map((e) => DropdownItem( - name: t.translate( - 'CORE_COMMON_${e.toString()}'), + name: t + .translate('CORE_COMMON_${e.toString()}'), code: e.toString())) .toList(), ); }, ), ), - - // old - // DigitTextFormField( - // padding: const EdgeInsets.only(top: 10), - // label: t.translate(i18.common.mobileNumber), - // formControlName: mobileKey, - // isRequired: true, - // minLength: 10, - // maxLength: 10, - // keyboardType: TextInputType.phone, - // inputFormatters: [ - // FilteringTextInputFormatter.allow(RegExp("[0-9]")) - // ], - // validationMessages: { - // 'required': (_) => t.translate( - // i18.wageSeeker.mobileRequired, - // ), - // 'minLength': (_) => t.translate( - // i18.wageSeeker.minMobileCharacters, - // ), - // 'maxLength': (_) => t.translate( - // i18.wageSeeker.maxMobileCharacters, - // ), - // 'min': (_) => t.translate( - // i18.wageSeeker.validMobileCharacters, - // ), - // 'max': (_) => t.translate( - // i18.wageSeeker.validMobileCharacters, - // ), - // }, - // ), - - // end - LabeledField( label: t.translate(i18.common.mobileNumber), isRequired: true, @@ -420,7 +302,7 @@ class _IndividualSubDetailPageState extends State { isRequired: true, onChange: (value) { field.control.markAsTouched(); - + form1.control(mobileKey).value = value; }, charCount: true, @@ -433,22 +315,6 @@ class _IndividualSubDetailPageState extends State { }, ), ), - - // old - // DigitReactiveDropdown( - // padding: EdgeInsets.zero, - // label: t.translate(i18.common.socialCategory), - // menuItems: - // widget.socialCategory.map((e) => e.toString()).toList(), - // formControlName: socialCategoryKey, - // valueMapper: (value) => - // t.translate('COMMON_MASTERS_SOCIAL_$value'), - // onChanged: (value) {}, - // ), - - // end - // - LabeledField( label: t.translate(i18.common.socialCategory), child: ReactiveWrapperField( @@ -460,9 +326,8 @@ class _IndividualSubDetailPageState extends State { form1.control(socialCategoryKey).value ?? '', onSelect: (value) { field.control.markAsTouched(); - - form1.control(socialCategoryKey).value = - value.code; + + form1.control(socialCategoryKey).value = value.code; }, items: widget.socialCategory .map( @@ -477,87 +342,41 @@ class _IndividualSubDetailPageState extends State { }, ), ), - - // Button( - // type: ButtonType.primary, - // size: ButtonSize.large, - // mainAxisSize: MainAxisSize.max, - // onPressed: () { - // form1.markAllAsTouched(updateParent: false); - // if (!form1.valid) return; - // // if (form1.value[genderKey] == null || - // // form1.value[genderKey].toString().isEmpty) { - // // // Notifiers.getToastMessage(context, - // // // t.translate(i18.wageSeeker.genderRequired), 'ERROR'); - // // Toast.showToast(context, - // // message: t.translate(i18.wageSeeker.genderRequired), - // // type: ToastType.error); - // // } else { - // context.read().add( - // WageSeekerDetailsCreateEvent( - // dob: form1.value[dobKey] as DateTime, - // fatherName: form1.value[fatherNameKey].toString(), - // gender: form1.value[genderKey].toString(), - // mobileNumber: form1.value[mobileKey].toString(), - // relationShip: - // form1.value[relationshipKey].toString(), - // socialCategory: - // form1.value[socialCategoryKey].toString()==""?"null":form1.value[socialCategoryKey].toString(), - // ), - // ); - - // widget.onPageChanged(2); - // // } - // }, - // label: t.translate(i18.common.next), - // ) ], ), - ui_card.DigitCard( - // margin: EdgeInsets.only( - // left: Theme.of(context).spacerTheme.spacer2, - // right: Theme.of(context).spacerTheme.spacer2), - children: [ - Button( - type: ButtonType.primary, - size: ButtonSize.large, - mainAxisSize: MainAxisSize.max, - onPressed: () { - form1.markAllAsTouched(updateParent: false); - if (!form1.valid) return; - // if (form1.value[genderKey] == null || - // form1.value[genderKey].toString().isEmpty) { - // // Notifiers.getToastMessage(context, - // // t.translate(i18.wageSeeker.genderRequired), 'ERROR'); - // Toast.showToast(context, - // message: t.translate(i18.wageSeeker.genderRequired), - // type: ToastType.error); - // } else { - context.read().add( - WageSeekerDetailsCreateEvent( - dob: form1.value[dobKey] as DateTime, - fatherName: - form1.value[fatherNameKey].toString(), - gender: form1.value[genderKey].toString(), - mobileNumber: - form1.value[mobileKey].toString(), - relationShip: - form1.value[relationshipKey].toString(), - socialCategory: form1.value[socialCategoryKey] - .toString() == - "" - ? "null" - : form1.value[socialCategoryKey] - .toString(), - ), - ); - - widget.onPageChanged(2); - // } - }, - label: t.translate(i18.common.next), - ) - ]), + DigitFooter(actions: [ + FooterAction( + button: Button( + type: ButtonType.primary, + size: ButtonSize.large, + mainAxisSize: MainAxisSize.max, + onPressed: () { + form1.markAllAsTouched(updateParent: false); + if (!form1.valid) return; + + context.read().add( + WageSeekerDetailsCreateEvent( + dob: form1.value[dobKey] as DateTime, + fatherName: form1.value[fatherNameKey].toString(), + gender: form1.value[genderKey].toString(), + mobileNumber: form1.value[mobileKey].toString(), + relationShip: + form1.value[relationshipKey].toString(), + socialCategory: form1.value[socialCategoryKey] + .toString() == + "" + ? "null" + : form1.value[socialCategoryKey].toString(), + ), + ); + + widget.onPageChanged(2); + // } + }, + label: t.translate(i18.common.next), + ), + ), + ]), ], ), ); diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart index d65480967a..246a1c65ba 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart @@ -8,6 +8,7 @@ import 'package:digit_ui_components/widgets/molecules/digit_card.dart' as ui_card; import 'package:digit_ui_components/utils/validators/validator.dart' as ui_validation; +import 'package:digit_ui_components/widgets/molecules/digit_footer.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -237,12 +238,11 @@ class IndividualDetailsPageState extends State { child: SizedBox( height: MediaQuery.sizeOf(context).height * 0.7, child: ScrollableContent( - footer: ui_card.DigitCard( - // margin: EdgeInsets.only( - // left: Theme.of(context).spacerTheme.spacer2, - // right: Theme.of(context).spacerTheme.spacer2), - children: [ - Button( + backgroundColor: Theme.of(context).colorTheme.generic.background, + + footer: DigitFooter(actions: [ + FooterAction(button: + Button( label: t.translate(i18.common.next), onPressed: () { form.markAllAsTouched(updateParent: false); @@ -270,7 +270,9 @@ class IndividualDetailsPageState extends State { size: ButtonSize.large, mainAxisSize: MainAxisSize.max, ) - ]), + ) + ]), + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ ui_card.DigitCard( diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart index e8d7de94db..964bb79a5d 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart @@ -114,7 +114,7 @@ class RegisterIndividualPageState extends State { // appBar: customAppBar(), // drawer: const MySideBar(), body: ScrollableContent( - backgroundColor: Theme.of(context).colorTheme.generic.background, + backgroundColor: Theme.of(context).colorTheme.generic.background, // footer: Button( // label: t.translate(i18.common.next), // onPressed: () { @@ -127,8 +127,10 @@ class RegisterIndividualPageState extends State { children: [ // const Back(), Padding( - padding: const EdgeInsets.only( - left: 16.0, top: 16, right: 16, bottom: 16), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context).spacerTheme.spacer4, + vertical: Theme.of(context).spacerTheme.spacer4, + ), child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ @@ -159,7 +161,6 @@ class RegisterIndividualPageState extends State { ), ), - BlocBuilder( builder: (context, initState) { // return DigitStepper( @@ -188,33 +189,36 @@ class RegisterIndividualPageState extends State { return SizedBox( height: 90, - child: DigitStepper( - inverted: true, - activeIndex: currentStep, - stepperList: stepHeaders - .asMap() - .map( - (index, e) => MapEntry( - index, - StepperData( - title: t.translate(e).toString(), - onStepTap: currentStep > index - ? () { - setState(() { - currentStep = index; - }); - } - : null, + width: 390, + child: Center( + child: DigitStepper( + inverted: true, + activeIndex: currentStep, + stepperList: stepHeaders + .asMap() + .map( + (index, e) => MapEntry( + index, + StepperData( + title: t.translate(e).toString(), + onStepTap: currentStep > index + ? () { + setState(() { + currentStep = index; + }); + } + : null, + ), ), - ), - ) - .values - .toList(), + ) + .values + .toList(), + ), ), ); }), - const SizedBox( - height: 16.0, + SizedBox( + height: Theme.of(context).spacerTheme.spacer4, ), BlocBuilder( builder: (context, mdmsState) { diff --git a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart index 0b062418f7..4314bfb807 100644 --- a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart +++ b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart @@ -424,11 +424,10 @@ class _ViewWorkDetailsPage extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Padding( - padding: const EdgeInsets.only( - top: 8.0, - left: 8.0, - right: 8.0, - bottom: 0.0), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context).spacerTheme.spacer4, + vertical: Theme.of(context).spacerTheme.spacer4, + ), child: BackNavigationButton( backNavigationButtonThemeData: const BackNavigationButtonThemeData() @@ -481,25 +480,7 @@ class _ViewWorkDetailsPage extends State { }, ), ), - // Back( - // backLabel: AppLocalizations.of(context) - // .translate(i18.common.back), - // callback: () { - // // context.router.popUntilRouteWithPath('home') ; - // // context.router.push(const WorkOrderRoute()); - - // if (GlobalVariables.roleType == - // RoleType.cbo) { - // context.router - // .popUntilRouteWithPath('home'); - // context.router - // .push(const WorkOrderRoute()); - // } else { - // Navigator.of(context).pop(); - // // context.router.pop(); - // } - // }, - // ), + CommonWidgets.downloadButton( AppLocalizations.of(context) .translate(i18.common.download), () { @@ -1348,11 +1329,10 @@ class _ViewWorkDetailsPage extends State { MainAxisAlignment.spaceBetween, children: [ Padding( - padding: const EdgeInsets.only( - top: 8.0, - left: 8.0, - right: 8.0, - bottom: 0.0), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context).spacerTheme.spacer4, + vertical: Theme.of(context).spacerTheme.spacer4, + ), child: BackNavigationButton( backNavigationButtonThemeData: const BackNavigationButtonThemeData() diff --git a/frontend/works_shg_app/lib/pages/work_order/work_order.dart b/frontend/works_shg_app/lib/pages/work_order/work_order.dart index 3d684c790f..6aa9dc5f5a 100644 --- a/frontend/works_shg_app/lib/pages/work_order/work_order.dart +++ b/frontend/works_shg_app/lib/pages/work_order/work_order.dart @@ -70,7 +70,7 @@ class _WorkOrderPage extends State { Widget build(BuildContext context) { var t = AppLocalizations.of(context); return Scaffold( - backgroundColor: Theme.of(context).colorTheme.generic.background, + backgroundColor: Theme.of(context).colorTheme.generic.background, // appBar: customAppBar(), // drawer: const MySideBar(), bottomNavigationBar: BlocBuilder( @@ -108,12 +108,11 @@ class _WorkOrderPage extends State { context.read().add( MyWorksSearchEvent(searchCriteria), ), - error: (String? error) => - Notifiers.getToastMessage( - context, error.toString(), 'ERROR'), - // Toast.showToast(context, - // message: t.translate(error.toString()), - // type: ToastType.error), + error: (String? error) => Notifiers.getToastMessage( + context, error.toString(), 'ERROR'), + // Toast.showToast(context, + // message: t.translate(error.toString()), + // type: ToastType.error), ); }, child: BlocBuilder { orElse: () => false, loading: () => shg_loader.Loaders.circularLoader(context), - error: (String? error) => - Notifiers.getToastMessage( - context, error.toString(), 'ERROR'), - // Toast.showToast(context, - // message: t.translate(error.toString()), - // type: ToastType.error), + error: (String? error) => Notifiers.getToastMessage( + context, error.toString(), 'ERROR'), + // Toast.showToast(context, + // message: t.translate(error.toString()), + // type: ToastType.error), loaded: (ContractsModel? contracts) { workOrderList = contracts!.contracts! .map((e) => { @@ -201,24 +199,39 @@ class _WorkOrderPage extends State { mainAxisAlignment: MainAxisAlignment.start, children: [ Padding( - padding: const EdgeInsets.only( - left: 16.0, - top: 16, - bottom: 0.0, - right: 16), + padding: EdgeInsets.symmetric( + horizontal: + Theme.of(context).spacerTheme.spacer4, + vertical: + Theme.of(context).spacerTheme.spacer4, + ), child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ BackNavigationButton( - backNavigationButtonThemeData: const BackNavigationButtonThemeData().copyWith( - context: context, - backButtonIcon: Icon( - Icons.arrow_circle_left_outlined, - size: MediaQuery.of(context).size.width < 500 - ? Theme.of(context).spacerTheme.spacer5 - : Theme.of(context).spacerTheme.spacer6, - color: Theme.of(context).colorTheme.primary.primary2, - )), + backNavigationButtonThemeData: + const BackNavigationButtonThemeData() + .copyWith( + context: context, + backButtonIcon: Icon( + Icons + .arrow_circle_left_outlined, + size: MediaQuery.of( + context) + .size + .width < + 500 + ? Theme.of(context) + .spacerTheme + .spacer5 + : Theme.of(context) + .spacerTheme + .spacer6, + color: Theme.of(context) + .colorTheme + .primary + .primary2, + )), backButtonText: AppLocalizations.of( context) .translate(i18.common.back) ?? @@ -236,21 +249,30 @@ class _WorkOrderPage extends State { CrossAxisAlignment.start, children: [ Padding( - padding: const EdgeInsets.all(16.0), + padding: EdgeInsets.only( + left: Theme.of(context) + .spacerTheme + .spacer4), child: DigitTextBlock( heading: '${AppLocalizations.of(context).translate(i18.home.myWorks)} (${workOrderList.length})', ), ), - - // TODO: new toogle Padding( - padding: const EdgeInsets.only( - top: 16.0, bottom: 8.0), + padding: EdgeInsets.only( + top: Theme.of(context) + .spacerTheme + .spacer4, + bottom: Theme.of(context) + .spacerTheme + .spacer4), child: ToggleList( - toggleWidth: MediaQuery.of(context).size.width*.48, + toggleWidth: MediaQuery.of(context) + .size + .width * + .48, crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: @@ -388,8 +410,10 @@ class _WorkOrderPage extends State { .noCompletedWorkOrderFound), align: Alignment.center, ), - SizedBox( - height: Theme.of(context).spacerTheme.spacer4, + SizedBox( + height: Theme.of(context) + .spacerTheme + .spacer4, ), workOrderList.isNotEmpty && workOrderList.length > 1 @@ -479,12 +503,14 @@ class _WorkOrderPage extends State { contracts?.contractNumber, )), error: (String? error) => - Notifiers.getToastMessage(context, - error.toString() ?? 'ERR!', 'ERROR'), - // Toast.showToast(context, - // message: - // t.translate(error ?? 'ERR!'), - // type: ToastType.error), + Notifiers.getToastMessage( + context, + error.toString() ?? 'ERR!', + 'ERROR'), + // Toast.showToast(context, + // message: + // t.translate(error ?? 'ERR!'), + // type: ToastType.error), ); }, child: const SizedBox.shrink(), diff --git a/frontend/works_shg_app/lib/widgets/molecules/success_page.dart b/frontend/works_shg_app/lib/widgets/molecules/success_page.dart index bcc18010b2..2a2799dc91 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/success_page.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/success_page.dart @@ -90,8 +90,10 @@ class SuccessResponsePage extends StatelessWidget { children: [ backButton == true ? Padding( - padding: const EdgeInsets.only( - left: 8.0, top: 16, bottom: 16, right: 8.0), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context).spacerTheme.spacer4, + vertical: Theme.of(context).spacerTheme.spacer4, + ), child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ diff --git a/frontend/works_shg_app/pubspec.yaml b/frontend/works_shg_app/pubspec.yaml index f96fa9041d..fdf6bbbaa4 100644 --- a/frontend/works_shg_app/pubspec.yaml +++ b/frontend/works_shg_app/pubspec.yaml @@ -69,6 +69,7 @@ dependencies: file_picker: ^8.0.0+1 image_picker: ^1.0.8 mime: ^1.0.5 + google_fonts: ^4.0.4 http_parser: ^4.0.2 http: ^1.0.0 path_provider: ^2.1.3 @@ -139,16 +140,18 @@ flutter: - assets/animated_json/ - assets/icons/svg/ fonts: - - family: Roboto - fonts: - - asset: assets/fonts/Roboto/Roboto-Regular.ttf - - asset: assets/fonts/Roboto/RobotoCondensed-Regular.ttf - - family: Hindhi - fonts: - - asset: assets/fonts/Roboto/Hind-Regular.ttf - - family: SHGIcons - fonts: - - asset: assets/icons/fonts/SHGIcons.ttf + - family: Roboto + fonts: + - asset: assets/fonts/Roboto/Roboto-Regular.ttf + - family: Roboto Condensed + fonts: + - asset: assets/fonts/Roboto/RobotoCondensed-Regular.ttf + - family: Hindhi + fonts: + - asset: assets/fonts/Roboto/Hind-Regular.ttf + - family: SHGIcons + fonts: + - asset: assets/icons/fonts/SHGIcons.ttf # To add assets to your application, add an assets section, like this: # assets: From e929f16c5c7d572e555de6b5ff9e08bc82ea0ab6 Mon Sep 17 00:00:00 2001 From: kams Date: Wed, 25 Sep 2024 15:10:06 +0530 Subject: [PATCH 235/292] Limit and length validations for length, breath, height, number and quantity fields in measurement --- .../micro-ui-internals/example/package.json | 2 +- .../packages/modules/Measurement/package.json | 4 +- .../Measurement/src/components/MeasureCard.js | 96 ++++++++++++++++++- .../Measurement/src/components/MeasureRow.js | 8 +- .../src/components/MeasureTable.js | 8 +- frontend/micro-ui/web/package.json | 2 +- 6 files changed, 105 insertions(+), 15 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index a82ac35940..5fd31c7051 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -17,7 +17,7 @@ "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-module-attendencemgmt": "0.4.8", "@egovernments/digit-ui-module-contracts": "0.4.7", - "@egovernments/digit-ui-module-measurement":"0.2.5", + "@egovernments/digit-ui-module-measurement":"0.2.6", "@egovernments/digit-ui-module-estimate": "0.4.10", "@egovernments/digit-ui-module-masters": "0.4.10", "@egovernments/digit-ui-module-project": "0.4.7", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json index 680bda7190..3f1812cc72 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-measurement", - "version": "0.2.5", + "version": "0.2.6", "description": "Measurement Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -30,4 +30,4 @@ }, "author": "", "license": "MIT" -} \ No newline at end of file +} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureCard.js index d1068478cf..72d1536ffb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureCard.js @@ -56,6 +56,94 @@ const initialValue = (element, li) => { { /* */ } +var multiply = function(num1, num2) { + if (num1 === '0' || num2 === '0') return '0'; + + const m = num1.length, n = num2.length, res = new Array(m + n).fill(0); + + for (let i = m - 1; i >= 0; i--) { + for (let j = n - 1; j >= 0; j--) { + const p1 = i + j, p2 = i + j + 1; + let sum = res[p2] + Number(num1[i]) * Number(num2[j]); + res[p2] = sum % 10; + res[p1] += Math.floor(sum / 10); + } + } + while (res[0] === 0) res.shift(); // Remove leading zeros + return res.length ? res.join('') : '0'; +}; + +const multiplyWithDecimals = (v1, v2) => { + const getDecimalPlaces = num => (num.includes('.') ? num.split('.')[1].length : 0); + + const d1 = getDecimalPlaces(v1); + const d2 = getDecimalPlaces(v2); + + // Remove decimals from both numbers + const num1 = v1.replace('.', ''); + const num2 = v2.replace('.', ''); + + // Multiply as whole numbers + let result = multiply(num1, num2); + + // Insert decimal point at the correct place + const totalDecimals = d1 + d2; + if (totalDecimals > 0) { + const pointPos = result.length - totalDecimals; + result = result.padStart(totalDecimals + 1, '0'); // Ensure result has enough length + result = result.slice(0, pointPos) + '.' + result.slice(pointPos); + } + + return result; +}; + +const roundToPrecisionForString = (value, precision) => { + // Split the value into integer and decimal parts + let [integerPart, decimalPart = ''] = value.split('.'); + + // If no decimal part or precision is 0, return the integer part + if (precision === 0 || decimalPart === '') { + return integerPart; + } + + // If the decimal part is shorter than the desired precision, return it as is + if (decimalPart.length <= precision) { + return value; + } + + if (decimalPart[precision] >= 5) { + decimalPart = decimalPart.slice(0, precision); + if (decimalPart === '9'.repeat(precision)) { + value = String(parseFloat(integerPart) + 1); + } else { + decimalPart = String(Number(decimalPart) + 1); + value = integerPart + '.' + decimalPart; + } + } else { + value = integerPart + '.' + decimalPart.slice(0, precision); + } + return value; +} + +const multiplyFourWithFourPointerPrecision = (v1, v2, v3, v4) => { + v1 = String(v1); + v2 = String(v2); + v3 = String(v3); + v4 = String(v4); + + let result = multiplyWithDecimals(v1, v2); + result = multiplyWithDecimals(result, v3); + result = multiplyWithDecimals(result, v4); + // console.log("raw", result); + const totalDecimalsInResult = result.includes('.') ? result.split('.')[1].length : 0 + if (totalDecimalsInResult > 4) { + result = roundToPrecisionForString(result, 4); + } + // console.log("adjusted", result); + return parseFloat(result); +} + + const MeasureCard = React.memo(({ columns, fields = [], register, setValue, tableData, tableKey, tableIndex, unitRate, mode }) => { const { t } = useTranslation(); const [error, setError] = useState({message:"",enable:false}) @@ -91,11 +179,11 @@ const MeasureCard = React.memo(({ columns, fields = [], register, setValue, tabl } const element = state[findIndex]; - let calculatedValue = validate(element?.number) * validate(element?.length) * validate(element?.width) * validate(element?.height); + let calculatedValue = multiplyFourWithFourPointerPrecision(validate(element?.number), validate(element?.length), validate(element?.width), validate(element?.height)); //calculating current value according to multimeasure present inside additional details if(mode === "CREATE") calculatedValue = element?.additionalDetails?.measureLineItems?.reduce((sum, row, index) => { - state[findIndex].additionalDetails.measureLineItems[index].quantity = initialValue(element,row) ? 0 : validate(row.number) * validate(row.length) * validate(row.width) * validate(row.height); + state[findIndex].additionalDetails.measureLineItems[index].quantity = initialValue(element,row) ? 0 : multiplyFourWithFourPointerPrecision(validate(row.number), validate(row.length), validate(row.width), validate(row.height)); state[findIndex].additionalDetails.measureLineItems[index].quantity = initialValue(element,row) ? 0 : ((state[findIndex]?.additionalDetails?.measureLineItems[index]?.quantity.toFixed(5).slice(-1) === '5') ? (Math.ceil(state[findIndex]?.additionalDetails?.measureLineItems[index]?.quantity * 10000) / 10000).toFixed(4) : state[findIndex]?.additionalDetails?.measureLineItems[index]?.quantity.toFixed(4)); return sum + parseFloat(row?.quantity); },0); @@ -150,7 +238,7 @@ const MeasureCard = React.memo(({ columns, fields = [], register, setValue, tabl //calculating the new total value and setting to the noofunits const ele = state[findIndexofMeasure]; let calculatedvalue = ele?.additionalDetails?.measureLineItems?.reduce((sum, row, index) => { - state[findIndexofMeasure].additionalDetails.measureLineItems[index].quantity = initialValue(ele,row) ? 0 : validate(row.number) * validate(row.length) * validate(row.width) * validate(row.height); + state[findIndexofMeasure].additionalDetails.measureLineItems[index].quantity = initialValue(ele,row) ? 0 : multiplyFourWithFourPointerPrecision(validate(row.number) * validate(row.length) * validate(row.width) * validate(row.height)); state[findIndexofMeasure].additionalDetails.measureLineItems[index].quantity = initialValue(ele,row) ? 0 : ((state[findIndexofMeasure]?.additionalDetails?.measureLineItems[index]?.quantity.toFixed(5).slice(-1) === '5') ? (Math.ceil(state[findIndexofMeasure]?.additionalDetails?.measureLineItems[index]?.quantity * 10000) / 10000).toFixed(4) : state[findIndexofMeasure]?.additionalDetails?.measureLineItems[index]?.quantity.toFixed(4)); return sum + parseFloat(row?.quantity); },0); @@ -270,6 +358,8 @@ const MeasureCard = React.memo(({ columns, fields = [], register, setValue, tabl setError({message:`${t("ERR_DESCRIPTION_IS_MANDATORY_AND_LENGTH")} ${state.findIndex(obj => !obj.description|| obj.description.length < 2 || obj?.description?.length > 64 )+1}`,enable:true}); else if((mode === "CREATEALL" || mode === "CREATERE") && state.findIndex(obj => (mode === "CREATERE" ? !obj?.number : !obj.noOfunit) && !obj.length && !obj.width && !obj.height) !== -1) setError({message:`${t("ERR_LEN_DEP_HIGH_NO_NOT_PRESENT")} ${state.findIndex(obj => !obj.length && !obj.width && !obj.height && !obj.noOfunit)+1}`,enable:true}); + else if((mode === "CREATEALL" || mode === "CREATERE") && state.findIndex(obj => (obj.noOfunit && obj.noOfunit > 1e10)) !== -1) + setError({message:`${t("ERR_QUANTITY_EXCEEDING_LIMIT")} ${state.findIndex(obj => obj.noOfunit && obj.noOfunit > 1e10)+1}`,enable:true}); else { tableData[tableIndex].measures = state; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureRow.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureRow.js index 46a7cf2f49..1e82a97e5e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureRow.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureRow.js @@ -3,13 +3,13 @@ import React from "react"; import { useTranslation } from "react-i18next"; import { Fragment } from "react"; -function has4DecimalPlaces(number, decimalPlaces) { +function checkIntAndDecimalLength(number, decimalPlaces) { if(number == "" || isNaN(number)) return true; var numStr = number.toString(); - // Using regex to check if its accepting upto 4 decimal places - var regex = new RegExp(`^\\d+(\\.\\d{0,${decimalPlaces}})?$`); + // Regex to ensure up to 6 digits in the integer part and up to 4 decimal places + var regex = new RegExp(`^\\d{1,6}(\\.\\d{0,${decimalPlaces}})?$`); return regex.test(numStr); } @@ -59,7 +59,7 @@ const MeasureInputAtom = ({ id, row, mode, disable = false, fieldKey, value, dis //on addition of multimeasure updating its value inside additional details if(InputDecimalValidation?.active){ //calling the input validation here to check if the input is under provided decimal places - if(has4DecimalPlaces(parseFloat(newValue.target.value), InputDecimalValidation?.noOfDecimalPlaces)) + if(checkIntAndDecimalLength(parseFloat(newValue.target.value), InputDecimalValidation?.noOfDecimalPlaces)) dispatch({ type: "UPDATE_ROW", state: mode === "CREATE" ? { id: id, value: newValue.target.value, row: row, type: fieldKey, additionalDetails : {...row?.additionalDetails, measureLineItems : updatedMeasureLineItems }} : { id: id, value: newValue.target.value, row: row, type: fieldKey }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js index de1d802b52..c83d6dfd7d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js @@ -44,14 +44,14 @@ let defaultSOR = { ] }; - function hasDecimalPlaces(number, decimalPlaces) { + function checkIntAndDecimalLength(number, decimalPlaces) { if(number == "") { return true; } var numStr = number.toString(); - // Using regex to check if its accepting upto given decimal places - var regex = new RegExp(`^[0-9]+(\\.[0-9]{0,${decimalPlaces}})?$`); + // Regex to ensure up to 6 digits in the integer part and up to 4 decimal places + var regex = new RegExp(`^\\d{1,6}(\\.\\d{0,${decimalPlaces}})?$`); return regex.test(numStr); } @@ -266,7 +266,7 @@ const MeasureTable = (props) => { } fields[index] = { ...field }; - if(tableKey === "NONSOR" && key === "unitRate" && !(hasDecimalPlaces(field[key],2))) + if(tableKey === "NONSOR" && key === "unitRate" && !(checkIntAndDecimalLength(field[key],2))) { return; } diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index d2bc0c28dd..fe0905b62e 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -24,7 +24,7 @@ "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-module-attendencemgmt": "0.4.8", "@egovernments/digit-ui-module-contracts": "0.4.7", - "@egovernments/digit-ui-module-measurement":"0.2.5", + "@egovernments/digit-ui-module-measurement":"0.2.6", "@egovernments/digit-ui-module-estimate": "0.4.10", "@egovernments/digit-ui-module-masters": "0.4.10", "@egovernments/digit-ui-module-project": "0.4.7", From c22c230e86727d7ef75d9bd611b3d43897c48c58 Mon Sep 17 00:00:00 2001 From: kams Date: Wed, 25 Sep 2024 16:04:01 +0530 Subject: [PATCH 236/292] moved functions to utils --- .../Measurement/src/components/MeasureCard.js | 88 +------------------ .../Measurement/src/utils/view_utilization.js | 87 ++++++++++++++++++ 2 files changed, 88 insertions(+), 87 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureCard.js index 72d1536ffb..9ebff1e74e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureCard.js @@ -2,6 +2,7 @@ import { Button, CardLabelError, CardSectionHeader, CloseSvg } from "@egovernmen import React, { useReducer, Fragment, useState } from "react"; import { useTranslation } from "react-i18next"; import MeasureRow from "./MeasureRow"; +import { multiplyFourWithFourPointerPrecision } from "../utils/view_utilization"; const getStyles = (index) => { let obj = {}; @@ -56,93 +57,6 @@ const initialValue = (element, li) => { { /* */ } -var multiply = function(num1, num2) { - if (num1 === '0' || num2 === '0') return '0'; - - const m = num1.length, n = num2.length, res = new Array(m + n).fill(0); - - for (let i = m - 1; i >= 0; i--) { - for (let j = n - 1; j >= 0; j--) { - const p1 = i + j, p2 = i + j + 1; - let sum = res[p2] + Number(num1[i]) * Number(num2[j]); - res[p2] = sum % 10; - res[p1] += Math.floor(sum / 10); - } - } - while (res[0] === 0) res.shift(); // Remove leading zeros - return res.length ? res.join('') : '0'; -}; - -const multiplyWithDecimals = (v1, v2) => { - const getDecimalPlaces = num => (num.includes('.') ? num.split('.')[1].length : 0); - - const d1 = getDecimalPlaces(v1); - const d2 = getDecimalPlaces(v2); - - // Remove decimals from both numbers - const num1 = v1.replace('.', ''); - const num2 = v2.replace('.', ''); - - // Multiply as whole numbers - let result = multiply(num1, num2); - - // Insert decimal point at the correct place - const totalDecimals = d1 + d2; - if (totalDecimals > 0) { - const pointPos = result.length - totalDecimals; - result = result.padStart(totalDecimals + 1, '0'); // Ensure result has enough length - result = result.slice(0, pointPos) + '.' + result.slice(pointPos); - } - - return result; -}; - -const roundToPrecisionForString = (value, precision) => { - // Split the value into integer and decimal parts - let [integerPart, decimalPart = ''] = value.split('.'); - - // If no decimal part or precision is 0, return the integer part - if (precision === 0 || decimalPart === '') { - return integerPart; - } - - // If the decimal part is shorter than the desired precision, return it as is - if (decimalPart.length <= precision) { - return value; - } - - if (decimalPart[precision] >= 5) { - decimalPart = decimalPart.slice(0, precision); - if (decimalPart === '9'.repeat(precision)) { - value = String(parseFloat(integerPart) + 1); - } else { - decimalPart = String(Number(decimalPart) + 1); - value = integerPart + '.' + decimalPart; - } - } else { - value = integerPart + '.' + decimalPart.slice(0, precision); - } - return value; -} - -const multiplyFourWithFourPointerPrecision = (v1, v2, v3, v4) => { - v1 = String(v1); - v2 = String(v2); - v3 = String(v3); - v4 = String(v4); - - let result = multiplyWithDecimals(v1, v2); - result = multiplyWithDecimals(result, v3); - result = multiplyWithDecimals(result, v4); - // console.log("raw", result); - const totalDecimalsInResult = result.includes('.') ? result.split('.')[1].length : 0 - if (totalDecimalsInResult > 4) { - result = roundToPrecisionForString(result, 4); - } - // console.log("adjusted", result); - return parseFloat(result); -} - const MeasureCard = React.memo(({ columns, fields = [], register, setValue, tableData, tableKey, tableIndex, unitRate, mode }) => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/view_utilization.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/view_utilization.js index b54eb8fbae..c5f5f688ed 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/view_utilization.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/view_utilization.js @@ -7,3 +7,90 @@ export const sortedFIlteredData = (list, type) => { return resultArray; }; + +var multiply = function(num1, num2) { + if (num1 === '0' || num2 === '0') return '0'; + + const m = num1.length, n = num2.length, res = new Array(m + n).fill(0); + + for (let i = m - 1; i >= 0; i--) { + for (let j = n - 1; j >= 0; j--) { + const p1 = i + j, p2 = i + j + 1; + let sum = res[p2] + Number(num1[i]) * Number(num2[j]); + res[p2] = sum % 10; + res[p1] += Math.floor(sum / 10); + } + } + while (res[0] === 0) res.shift(); // Remove leading zeros + return res.length ? res.join('') : '0'; +}; + +const multiplyWithDecimals = (v1, v2) => { + const getDecimalPlaces = num => (num.includes('.') ? num.split('.')[1].length : 0); + + const d1 = getDecimalPlaces(v1); + const d2 = getDecimalPlaces(v2); + + // Remove decimals from both numbers + const num1 = v1.replace('.', ''); + const num2 = v2.replace('.', ''); + + // Multiply as whole numbers + let result = multiply(num1, num2); + + // Insert decimal point at the correct place + const totalDecimals = d1 + d2; + if (totalDecimals > 0) { + const pointPos = result.length - totalDecimals; + result = result.padStart(totalDecimals + 1, '0'); // Ensure result has enough length + result = result.slice(0, pointPos) + '.' + result.slice(pointPos); + } + + return result; +}; + +const roundToPrecisionForString = (value, precision) => { + // Split the value into integer and decimal parts + let [integerPart, decimalPart = ''] = value.split('.'); + + // If no decimal part or precision is 0, return the integer part + if (precision === 0 || decimalPart === '') { + return integerPart; + } + + // If the decimal part is shorter than the desired precision, return it as is + if (decimalPart.length <= precision) { + return value; + } + + if (decimalPart[precision] >= 5) { + decimalPart = decimalPart.slice(0, precision); + if (decimalPart === '9'.repeat(precision)) { + value = String(parseFloat(integerPart) + 1); + } else { + decimalPart = String(Number(decimalPart) + 1); + value = integerPart + '.' + decimalPart; + } + } else { + value = integerPart + '.' + decimalPart.slice(0, precision); + } + return value; +} + +export const multiplyFourWithFourPointerPrecision = (v1, v2, v3, v4) => { + v1 = String(v1); + v2 = String(v2); + v3 = String(v3); + v4 = String(v4); + + let result = multiplyWithDecimals(v1, v2); + result = multiplyWithDecimals(result, v3); + result = multiplyWithDecimals(result, v4); + // console.log("raw", result); + const totalDecimalsInResult = result.includes('.') ? result.split('.')[1].length : 0 + if (totalDecimalsInResult > 4) { + result = roundToPrecisionForString(result, 4); + } + // console.log("adjusted", result); + return parseFloat(result); +} From cc0e48ce24627a10ba96dc8fb265a02c71569e3b Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 26 Sep 2024 14:42:20 +0530 Subject: [PATCH 237/292] measurementSummary in porgress --- .../lib/blocs/employee/mb/mb_detail_view.dart | 2 + .../employee/mb/mb_detail_view.freezed.dart | 296 ++++++++++++------ .../models/employee/mb/mb_inbox_response.dart | 1 + .../mb/mb_inbox_response.freezed.dart | 40 ++- .../employee/mb/mb_inbox_response.g.dart | 2 + .../lib/utils/employee/mb/mb_logic.dart | 1 + .../lib/widgets/mb/multi_line_items.dart | 73 +++-- .../lib/widgets/mb/sor_item_add_mb.dart | 49 ++- 8 files changed, 325 insertions(+), 139 deletions(-) diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart index a14771868c..bcaabc148d 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart @@ -764,6 +764,7 @@ class MeasurementDetailBlocEvent with _$MeasurementDetailBlocEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, required bool single, }) = AddToMeasurementLineEvent; @@ -780,6 +781,7 @@ class MeasurementDetailBlocEvent with _$MeasurementDetailBlocEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, }) = UpdateToMeasurementLineEvent; // update view mode diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.freezed.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.freezed.dart index 6324cadb0b..757e290e1c 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.freezed.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.freezed.dart @@ -21,7 +21,8 @@ mixin _$MeasurementDetailBlocEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -35,6 +36,7 @@ mixin _$MeasurementDetailBlocEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single) addToMeasurementLineList, required TResult Function( @@ -49,10 +51,12 @@ mixin _$MeasurementDetailBlocEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity) + dynamic quantity, + dynamic measurementSummary) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -64,9 +68,7 @@ mixin _$MeasurementDetailBlocEvent { String? filteredMeasurementMeasureId) submitLine, required TResult Function(int updateCode) updateMsgCode, - required TResult Function(String sorId, String type, int index, - int measurementLineIndex, String filteredMeasurementMeasureId) - deleteMeasurementLine, + required TResult Function(String sorId, String type, int index, int measurementLineIndex, String filteredMeasurementMeasureId) deleteMeasurementLine, }) => throw _privateConstructorUsedError; @optionalTypeArgs @@ -87,6 +89,7 @@ mixin _$MeasurementDetailBlocEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult? Function( @@ -101,7 +104,8 @@ mixin _$MeasurementDetailBlocEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -139,6 +143,7 @@ mixin _$MeasurementDetailBlocEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult Function( @@ -153,7 +158,8 @@ mixin _$MeasurementDetailBlocEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -339,7 +345,8 @@ class _$MeasurementUploadDocumentBlocEventImpl required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -353,6 +360,7 @@ class _$MeasurementUploadDocumentBlocEventImpl dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single) addToMeasurementLineList, required TResult Function( @@ -367,10 +375,12 @@ class _$MeasurementUploadDocumentBlocEventImpl dynamic width, dynamic length, dynamic number, - dynamic quantity) + dynamic quantity, + dynamic measurementSummary) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -382,9 +392,7 @@ class _$MeasurementUploadDocumentBlocEventImpl String? filteredMeasurementMeasureId) submitLine, required TResult Function(int updateCode) updateMsgCode, - required TResult Function(String sorId, String type, int index, - int measurementLineIndex, String filteredMeasurementMeasureId) - deleteMeasurementLine, + required TResult Function(String sorId, String type, int index, int measurementLineIndex, String filteredMeasurementMeasureId) deleteMeasurementLine, }) { return uploadDocument(tenantId, workflowDocument); } @@ -408,6 +416,7 @@ class _$MeasurementUploadDocumentBlocEventImpl dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult? Function( @@ -422,7 +431,8 @@ class _$MeasurementUploadDocumentBlocEventImpl dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -463,6 +473,7 @@ class _$MeasurementUploadDocumentBlocEventImpl dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult Function( @@ -477,7 +488,8 @@ class _$MeasurementUploadDocumentBlocEventImpl dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -691,7 +703,8 @@ class _$MeasurementDetailBookBlocEventImpl required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -705,6 +718,7 @@ class _$MeasurementDetailBookBlocEventImpl dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single) addToMeasurementLineList, required TResult Function( @@ -719,10 +733,12 @@ class _$MeasurementDetailBookBlocEventImpl dynamic width, dynamic length, dynamic number, - dynamic quantity) + dynamic quantity, + dynamic measurementSummary) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -734,9 +750,7 @@ class _$MeasurementDetailBookBlocEventImpl String? filteredMeasurementMeasureId) submitLine, required TResult Function(int updateCode) updateMsgCode, - required TResult Function(String sorId, String type, int index, - int measurementLineIndex, String filteredMeasurementMeasureId) - deleteMeasurementLine, + required TResult Function(String sorId, String type, int index, int measurementLineIndex, String filteredMeasurementMeasureId) deleteMeasurementLine, }) { return create(tenantId, contractNumber, measurementNumber, screenType); } @@ -760,6 +774,7 @@ class _$MeasurementDetailBookBlocEventImpl dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult? Function( @@ -774,7 +789,8 @@ class _$MeasurementDetailBookBlocEventImpl dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -816,6 +832,7 @@ class _$MeasurementDetailBookBlocEventImpl dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult Function( @@ -830,7 +847,8 @@ class _$MeasurementDetailBookBlocEventImpl dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -984,7 +1002,8 @@ class _$MeasurementDetailBlocClearEventImpl required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -998,6 +1017,7 @@ class _$MeasurementDetailBlocClearEventImpl dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single) addToMeasurementLineList, required TResult Function( @@ -1012,10 +1032,12 @@ class _$MeasurementDetailBlocClearEventImpl dynamic width, dynamic length, dynamic number, - dynamic quantity) + dynamic quantity, + dynamic measurementSummary) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -1027,9 +1049,7 @@ class _$MeasurementDetailBlocClearEventImpl String? filteredMeasurementMeasureId) submitLine, required TResult Function(int updateCode) updateMsgCode, - required TResult Function(String sorId, String type, int index, - int measurementLineIndex, String filteredMeasurementMeasureId) - deleteMeasurementLine, + required TResult Function(String sorId, String type, int index, int measurementLineIndex, String filteredMeasurementMeasureId) deleteMeasurementLine, }) { return clear(); } @@ -1053,6 +1073,7 @@ class _$MeasurementDetailBlocClearEventImpl dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult? Function( @@ -1067,7 +1088,8 @@ class _$MeasurementDetailBlocClearEventImpl dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -1108,6 +1130,7 @@ class _$MeasurementDetailBlocClearEventImpl dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult Function( @@ -1122,7 +1145,8 @@ class _$MeasurementDetailBlocClearEventImpl dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -1235,6 +1259,7 @@ abstract class _$$AddToMeasurementLineEventImplCopyWith<$Res> { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single}); } @@ -1261,6 +1286,7 @@ class __$$AddToMeasurementLineEventImplCopyWithImpl<$Res> Object? length = freezed, Object? number = freezed, Object? quantity = freezed, + Object? measurementSummary = freezed, Object? single = null, }) { return _then(_$AddToMeasurementLineEventImpl( @@ -1304,6 +1330,10 @@ class __$$AddToMeasurementLineEventImplCopyWithImpl<$Res> ? _value.quantity : quantity // ignore: cast_nullable_to_non_nullable as dynamic, + measurementSummary: freezed == measurementSummary + ? _value.measurementSummary + : measurementSummary // ignore: cast_nullable_to_non_nullable + as dynamic, single: null == single ? _value.single : single // ignore: cast_nullable_to_non_nullable @@ -1326,6 +1356,7 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { this.length, this.number, this.quantity, + this.measurementSummary, required this.single}); @override @@ -1349,11 +1380,13 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { @override final dynamic quantity; @override + final dynamic measurementSummary; + @override final bool single; @override String toString() { - return 'MeasurementDetailBlocEvent.addToMeasurementLineList(sorId: $sorId, type: $type, index: $index, measurementLineIndex: $measurementLineIndex, filteredMeasurementMeasureId: $filteredMeasurementMeasureId, height: $height, width: $width, length: $length, number: $number, quantity: $quantity, single: $single)'; + return 'MeasurementDetailBlocEvent.addToMeasurementLineList(sorId: $sorId, type: $type, index: $index, measurementLineIndex: $measurementLineIndex, filteredMeasurementMeasureId: $filteredMeasurementMeasureId, height: $height, width: $width, length: $length, number: $number, quantity: $quantity, measurementSummary: $measurementSummary, single: $single)'; } @override @@ -1375,6 +1408,8 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { const DeepCollectionEquality().equals(other.length, length) && const DeepCollectionEquality().equals(other.number, number) && const DeepCollectionEquality().equals(other.quantity, quantity) && + const DeepCollectionEquality() + .equals(other.measurementSummary, measurementSummary) && (identical(other.single, single) || other.single == single)); } @@ -1391,6 +1426,7 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { const DeepCollectionEquality().hash(length), const DeepCollectionEquality().hash(number), const DeepCollectionEquality().hash(quantity), + const DeepCollectionEquality().hash(measurementSummary), single); @JsonKey(ignore: true) @@ -1406,7 +1442,8 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -1420,6 +1457,7 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single) addToMeasurementLineList, required TResult Function( @@ -1434,10 +1472,12 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity) + dynamic quantity, + dynamic measurementSummary) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -1449,9 +1489,7 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { String? filteredMeasurementMeasureId) submitLine, required TResult Function(int updateCode) updateMsgCode, - required TResult Function(String sorId, String type, int index, - int measurementLineIndex, String filteredMeasurementMeasureId) - deleteMeasurementLine, + required TResult Function(String sorId, String type, int index, int measurementLineIndex, String filteredMeasurementMeasureId) deleteMeasurementLine, }) { return addToMeasurementLineList( sorId, @@ -1464,6 +1502,7 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { length, number, quantity, + measurementSummary, single); } @@ -1486,6 +1525,7 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult? Function( @@ -1500,7 +1540,8 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -1530,6 +1571,7 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { length, number, quantity, + measurementSummary, single); } @@ -1552,6 +1594,7 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult Function( @@ -1566,7 +1609,8 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -1598,6 +1642,7 @@ class _$AddToMeasurementLineEventImpl implements AddToMeasurementLineEvent { length, number, quantity, + measurementSummary, single); } return orElse(); @@ -1678,6 +1723,7 @@ abstract class AddToMeasurementLineEvent implements MeasurementDetailBlocEvent { final dynamic length, final dynamic number, final dynamic quantity, + final dynamic measurementSummary, required final bool single}) = _$AddToMeasurementLineEventImpl; String get sorId; @@ -1690,6 +1736,7 @@ abstract class AddToMeasurementLineEvent implements MeasurementDetailBlocEvent { dynamic get length; dynamic get number; dynamic get quantity; + dynamic get measurementSummary; bool get single; @JsonKey(ignore: true) _$$AddToMeasurementLineEventImplCopyWith<_$AddToMeasurementLineEventImpl> @@ -1715,7 +1762,8 @@ abstract class _$$UpdateToMeasurementLineEventImplCopyWith<$Res> { dynamic width, dynamic length, dynamic number, - dynamic quantity}); + dynamic quantity, + dynamic measurementSummary}); } /// @nodoc @@ -1743,6 +1791,7 @@ class __$$UpdateToMeasurementLineEventImplCopyWithImpl<$Res> Object? length = freezed, Object? number = freezed, Object? quantity = freezed, + Object? measurementSummary = freezed, }) { return _then(_$UpdateToMeasurementLineEventImpl( noOfUnit: freezed == noOfUnit @@ -1793,6 +1842,10 @@ class __$$UpdateToMeasurementLineEventImplCopyWithImpl<$Res> ? _value.quantity : quantity // ignore: cast_nullable_to_non_nullable as dynamic, + measurementSummary: freezed == measurementSummary + ? _value.measurementSummary + : measurementSummary // ignore: cast_nullable_to_non_nullable + as dynamic, )); } } @@ -1813,7 +1866,8 @@ class _$UpdateToMeasurementLineEventImpl this.width, this.length, this.number, - this.quantity}); + this.quantity, + this.measurementSummary}); @override final dynamic noOfUnit; @@ -1839,10 +1893,12 @@ class _$UpdateToMeasurementLineEventImpl final dynamic number; @override final dynamic quantity; + @override + final dynamic measurementSummary; @override String toString() { - return 'MeasurementDetailBlocEvent.updateToMeasurementLineList(noOfUnit: $noOfUnit, cummulativePrevQty: $cummulativePrevQty, sorId: $sorId, type: $type, index: $index, measurementLineIndex: $measurementLineIndex, filteredMeasurementMeasureId: $filteredMeasurementMeasureId, height: $height, width: $width, length: $length, number: $number, quantity: $quantity)'; + return 'MeasurementDetailBlocEvent.updateToMeasurementLineList(noOfUnit: $noOfUnit, cummulativePrevQty: $cummulativePrevQty, sorId: $sorId, type: $type, index: $index, measurementLineIndex: $measurementLineIndex, filteredMeasurementMeasureId: $filteredMeasurementMeasureId, height: $height, width: $width, length: $length, number: $number, quantity: $quantity, measurementSummary: $measurementSummary)'; } @override @@ -1866,7 +1922,9 @@ class _$UpdateToMeasurementLineEventImpl const DeepCollectionEquality().equals(other.width, width) && const DeepCollectionEquality().equals(other.length, length) && const DeepCollectionEquality().equals(other.number, number) && - const DeepCollectionEquality().equals(other.quantity, quantity)); + const DeepCollectionEquality().equals(other.quantity, quantity) && + const DeepCollectionEquality() + .equals(other.measurementSummary, measurementSummary)); } @override @@ -1883,7 +1941,8 @@ class _$UpdateToMeasurementLineEventImpl const DeepCollectionEquality().hash(width), const DeepCollectionEquality().hash(length), const DeepCollectionEquality().hash(number), - const DeepCollectionEquality().hash(quantity)); + const DeepCollectionEquality().hash(quantity), + const DeepCollectionEquality().hash(measurementSummary)); @JsonKey(ignore: true) @override @@ -1899,7 +1958,8 @@ class _$UpdateToMeasurementLineEventImpl required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -1913,6 +1973,7 @@ class _$UpdateToMeasurementLineEventImpl dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single) addToMeasurementLineList, required TResult Function( @@ -1927,10 +1988,12 @@ class _$UpdateToMeasurementLineEventImpl dynamic width, dynamic length, dynamic number, - dynamic quantity) + dynamic quantity, + dynamic measurementSummary) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -1942,9 +2005,7 @@ class _$UpdateToMeasurementLineEventImpl String? filteredMeasurementMeasureId) submitLine, required TResult Function(int updateCode) updateMsgCode, - required TResult Function(String sorId, String type, int index, - int measurementLineIndex, String filteredMeasurementMeasureId) - deleteMeasurementLine, + required TResult Function(String sorId, String type, int index, int measurementLineIndex, String filteredMeasurementMeasureId) deleteMeasurementLine, }) { return updateToMeasurementLineList( noOfUnit, @@ -1958,7 +2019,8 @@ class _$UpdateToMeasurementLineEventImpl width, length, number, - quantity); + quantity, + measurementSummary); } @override @@ -1980,6 +2042,7 @@ class _$UpdateToMeasurementLineEventImpl dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult? Function( @@ -1994,7 +2057,8 @@ class _$UpdateToMeasurementLineEventImpl dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -2025,7 +2089,8 @@ class _$UpdateToMeasurementLineEventImpl width, length, number, - quantity); + quantity, + measurementSummary); } @override @@ -2047,6 +2112,7 @@ class _$UpdateToMeasurementLineEventImpl dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult Function( @@ -2061,7 +2127,8 @@ class _$UpdateToMeasurementLineEventImpl dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -2094,7 +2161,8 @@ class _$UpdateToMeasurementLineEventImpl width, length, number, - quantity); + quantity, + measurementSummary); } return orElse(); } @@ -2176,7 +2244,8 @@ abstract class UpdateToMeasurementLineEvent final dynamic width, final dynamic length, final dynamic number, - final dynamic quantity}) = _$UpdateToMeasurementLineEventImpl; + final dynamic quantity, + final dynamic measurementSummary}) = _$UpdateToMeasurementLineEventImpl; dynamic get noOfUnit; dynamic get cummulativePrevQty; @@ -2190,6 +2259,7 @@ abstract class UpdateToMeasurementLineEvent dynamic get length; dynamic get number; dynamic get quantity; + dynamic get measurementSummary; @JsonKey(ignore: true) _$$UpdateToMeasurementLineEventImplCopyWith< _$UpdateToMeasurementLineEventImpl> @@ -2266,7 +2336,8 @@ class _$UpdateViewModeEventImpl implements UpdateViewModeEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -2280,6 +2351,7 @@ class _$UpdateViewModeEventImpl implements UpdateViewModeEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single) addToMeasurementLineList, required TResult Function( @@ -2294,10 +2366,12 @@ class _$UpdateViewModeEventImpl implements UpdateViewModeEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity) + dynamic quantity, + dynamic measurementSummary) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -2309,9 +2383,7 @@ class _$UpdateViewModeEventImpl implements UpdateViewModeEvent { String? filteredMeasurementMeasureId) submitLine, required TResult Function(int updateCode) updateMsgCode, - required TResult Function(String sorId, String type, int index, - int measurementLineIndex, String filteredMeasurementMeasureId) - deleteMeasurementLine, + required TResult Function(String sorId, String type, int index, int measurementLineIndex, String filteredMeasurementMeasureId) deleteMeasurementLine, }) { return updateViewMode(updateView); } @@ -2335,6 +2407,7 @@ class _$UpdateViewModeEventImpl implements UpdateViewModeEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult? Function( @@ -2349,7 +2422,8 @@ class _$UpdateViewModeEventImpl implements UpdateViewModeEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -2390,6 +2464,7 @@ class _$UpdateViewModeEventImpl implements UpdateViewModeEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult Function( @@ -2404,7 +2479,8 @@ class _$UpdateViewModeEventImpl implements UpdateViewModeEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -2608,7 +2684,8 @@ class _$CancelUpdateEventImpl implements CancelUpdateEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -2622,6 +2699,7 @@ class _$CancelUpdateEventImpl implements CancelUpdateEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single) addToMeasurementLineList, required TResult Function( @@ -2636,10 +2714,12 @@ class _$CancelUpdateEventImpl implements CancelUpdateEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity) + dynamic quantity, + dynamic measurementSummary) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -2651,9 +2731,7 @@ class _$CancelUpdateEventImpl implements CancelUpdateEvent { String? filteredMeasurementMeasureId) submitLine, required TResult Function(int updateCode) updateMsgCode, - required TResult Function(String sorId, String type, int index, - int measurementLineIndex, String filteredMeasurementMeasureId) - deleteMeasurementLine, + required TResult Function(String sorId, String type, int index, int measurementLineIndex, String filteredMeasurementMeasureId) deleteMeasurementLine, }) { return cancelUpdate( this.cancelUpdate, sorId, filteredMeasurementsMeasureId, type); @@ -2678,6 +2756,7 @@ class _$CancelUpdateEventImpl implements CancelUpdateEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult? Function( @@ -2692,7 +2771,8 @@ class _$CancelUpdateEventImpl implements CancelUpdateEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -2734,6 +2814,7 @@ class _$CancelUpdateEventImpl implements CancelUpdateEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult Function( @@ -2748,7 +2829,8 @@ class _$CancelUpdateEventImpl implements CancelUpdateEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -2997,7 +3079,8 @@ class _$SubmitLineEventImpl implements SubmitLineEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -3011,6 +3094,7 @@ class _$SubmitLineEventImpl implements SubmitLineEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single) addToMeasurementLineList, required TResult Function( @@ -3025,10 +3109,12 @@ class _$SubmitLineEventImpl implements SubmitLineEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity) + dynamic quantity, + dynamic measurementSummary) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -3040,9 +3126,7 @@ class _$SubmitLineEventImpl implements SubmitLineEvent { String? filteredMeasurementMeasureId) submitLine, required TResult Function(int updateCode) updateMsgCode, - required TResult Function(String sorId, String type, int index, - int measurementLineIndex, String filteredMeasurementMeasureId) - deleteMeasurementLine, + required TResult Function(String sorId, String type, int index, int measurementLineIndex, String filteredMeasurementMeasureId) deleteMeasurementLine, }) { return submitLine(noOfUnit, cummulativePrevQty, sorId, type, index, measurementLineIndex, filteredMeasurementMeasureId); @@ -3067,6 +3151,7 @@ class _$SubmitLineEventImpl implements SubmitLineEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult? Function( @@ -3081,7 +3166,8 @@ class _$SubmitLineEventImpl implements SubmitLineEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -3123,6 +3209,7 @@ class _$SubmitLineEventImpl implements SubmitLineEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult Function( @@ -3137,7 +3224,8 @@ class _$SubmitLineEventImpl implements SubmitLineEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -3319,7 +3407,8 @@ class _$UpdateMsgCodeEventImpl implements UpdateMsgCodeEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -3333,6 +3422,7 @@ class _$UpdateMsgCodeEventImpl implements UpdateMsgCodeEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single) addToMeasurementLineList, required TResult Function( @@ -3347,10 +3437,12 @@ class _$UpdateMsgCodeEventImpl implements UpdateMsgCodeEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity) + dynamic quantity, + dynamic measurementSummary) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -3362,9 +3454,7 @@ class _$UpdateMsgCodeEventImpl implements UpdateMsgCodeEvent { String? filteredMeasurementMeasureId) submitLine, required TResult Function(int updateCode) updateMsgCode, - required TResult Function(String sorId, String type, int index, - int measurementLineIndex, String filteredMeasurementMeasureId) - deleteMeasurementLine, + required TResult Function(String sorId, String type, int index, int measurementLineIndex, String filteredMeasurementMeasureId) deleteMeasurementLine, }) { return updateMsgCode(updateCode); } @@ -3388,6 +3478,7 @@ class _$UpdateMsgCodeEventImpl implements UpdateMsgCodeEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult? Function( @@ -3402,7 +3493,8 @@ class _$UpdateMsgCodeEventImpl implements UpdateMsgCodeEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -3443,6 +3535,7 @@ class _$UpdateMsgCodeEventImpl implements UpdateMsgCodeEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult Function( @@ -3457,7 +3550,8 @@ class _$UpdateMsgCodeEventImpl implements UpdateMsgCodeEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -3674,7 +3768,8 @@ class _$DeleteMeasurementLineEventImpl implements DeleteMeasurementLineEvent { required TResult Function( String tenantId, List workflowDocument) uploadDocument, - required TResult Function(String tenantId, String contractNumber, String measurementNumber, MBScreen screenType) + required TResult Function(String tenantId, String contractNumber, + String measurementNumber, MBScreen screenType) create, required TResult Function() clear, required TResult Function( @@ -3688,6 +3783,7 @@ class _$DeleteMeasurementLineEventImpl implements DeleteMeasurementLineEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single) addToMeasurementLineList, required TResult Function( @@ -3702,10 +3798,12 @@ class _$DeleteMeasurementLineEventImpl implements DeleteMeasurementLineEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity) + dynamic quantity, + dynamic measurementSummary) updateToMeasurementLineList, required TResult Function(bool updateView) updateViewMode, - required TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type) + required TResult Function(bool cancelUpdate, String sorId, + dynamic filteredMeasurementsMeasureId, String type) cancelUpdate, required TResult Function( dynamic noOfUnit, @@ -3717,9 +3815,7 @@ class _$DeleteMeasurementLineEventImpl implements DeleteMeasurementLineEvent { String? filteredMeasurementMeasureId) submitLine, required TResult Function(int updateCode) updateMsgCode, - required TResult Function(String sorId, String type, int index, - int measurementLineIndex, String filteredMeasurementMeasureId) - deleteMeasurementLine, + required TResult Function(String sorId, String type, int index, int measurementLineIndex, String filteredMeasurementMeasureId) deleteMeasurementLine, }) { return deleteMeasurementLine( sorId, type, index, measurementLineIndex, filteredMeasurementMeasureId); @@ -3744,6 +3840,7 @@ class _$DeleteMeasurementLineEventImpl implements DeleteMeasurementLineEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult? Function( @@ -3758,7 +3855,8 @@ class _$DeleteMeasurementLineEventImpl implements DeleteMeasurementLineEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult? Function(bool updateView)? updateViewMode, TResult? Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? @@ -3800,6 +3898,7 @@ class _$DeleteMeasurementLineEventImpl implements DeleteMeasurementLineEvent { dynamic length, dynamic number, dynamic quantity, + dynamic measurementSummary, bool single)? addToMeasurementLineList, TResult Function( @@ -3814,7 +3913,8 @@ class _$DeleteMeasurementLineEventImpl implements DeleteMeasurementLineEvent { dynamic width, dynamic length, dynamic number, - dynamic quantity)? + dynamic quantity, + dynamic measurementSummary)? updateToMeasurementLineList, TResult Function(bool updateView)? updateViewMode, TResult Function(bool cancelUpdate, String sorId, dynamic filteredMeasurementsMeasureId, String type)? diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.dart index 0f4b396892..331a8083b5 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.dart @@ -256,6 +256,7 @@ class MeasureLineItem with _$MeasureLineItem { @JsonKey(name:'number') dynamic number, @JsonKey(name: 'quantity') dynamic quantity, @JsonKey(name:'measurelineitemNo') dynamic measurelineitemNo, + @JsonKey(name:'measurementSummary') dynamic measurementSummary, }) = _MeasureLineItem; factory MeasureLineItem.fromJson( diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.freezed.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.freezed.dart index bdb4b36937..9902082c59 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.freezed.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.freezed.dart @@ -4097,6 +4097,8 @@ mixin _$MeasureLineItem { dynamic get quantity => throw _privateConstructorUsedError; @JsonKey(name: 'measurelineitemNo') dynamic get measurelineitemNo => throw _privateConstructorUsedError; + @JsonKey(name: 'measurementSummary') + dynamic get measurementSummary => throw _privateConstructorUsedError; Map toJson() => throw _privateConstructorUsedError; @JsonKey(ignore: true) @@ -4116,7 +4118,8 @@ abstract class $MeasureLineItemCopyWith<$Res> { @JsonKey(name: "length") dynamic length, @JsonKey(name: 'number') dynamic number, @JsonKey(name: 'quantity') dynamic quantity, - @JsonKey(name: 'measurelineitemNo') dynamic measurelineitemNo}); + @JsonKey(name: 'measurelineitemNo') dynamic measurelineitemNo, + @JsonKey(name: 'measurementSummary') dynamic measurementSummary}); } /// @nodoc @@ -4138,6 +4141,7 @@ class _$MeasureLineItemCopyWithImpl<$Res, $Val extends MeasureLineItem> Object? number = freezed, Object? quantity = freezed, Object? measurelineitemNo = freezed, + Object? measurementSummary = freezed, }) { return _then(_value.copyWith( width: freezed == width @@ -4164,6 +4168,10 @@ class _$MeasureLineItemCopyWithImpl<$Res, $Val extends MeasureLineItem> ? _value.measurelineitemNo : measurelineitemNo // ignore: cast_nullable_to_non_nullable as dynamic, + measurementSummary: freezed == measurementSummary + ? _value.measurementSummary + : measurementSummary // ignore: cast_nullable_to_non_nullable + as dynamic, ) as $Val); } } @@ -4182,7 +4190,8 @@ abstract class _$$MeasureLineItemImplCopyWith<$Res> @JsonKey(name: "length") dynamic length, @JsonKey(name: 'number') dynamic number, @JsonKey(name: 'quantity') dynamic quantity, - @JsonKey(name: 'measurelineitemNo') dynamic measurelineitemNo}); + @JsonKey(name: 'measurelineitemNo') dynamic measurelineitemNo, + @JsonKey(name: 'measurementSummary') dynamic measurementSummary}); } /// @nodoc @@ -4202,6 +4211,7 @@ class __$$MeasureLineItemImplCopyWithImpl<$Res> Object? number = freezed, Object? quantity = freezed, Object? measurelineitemNo = freezed, + Object? measurementSummary = freezed, }) { return _then(_$MeasureLineItemImpl( width: freezed == width @@ -4228,6 +4238,10 @@ class __$$MeasureLineItemImplCopyWithImpl<$Res> ? _value.measurelineitemNo : measurelineitemNo // ignore: cast_nullable_to_non_nullable as dynamic, + measurementSummary: freezed == measurementSummary + ? _value.measurementSummary + : measurementSummary // ignore: cast_nullable_to_non_nullable + as dynamic, )); } } @@ -4241,7 +4255,8 @@ class _$MeasureLineItemImpl implements _MeasureLineItem { @JsonKey(name: "length") this.length, @JsonKey(name: 'number') this.number, @JsonKey(name: 'quantity') this.quantity, - @JsonKey(name: 'measurelineitemNo') this.measurelineitemNo}); + @JsonKey(name: 'measurelineitemNo') this.measurelineitemNo, + @JsonKey(name: 'measurementSummary') this.measurementSummary}); factory _$MeasureLineItemImpl.fromJson(Map json) => _$$MeasureLineItemImplFromJson(json); @@ -4264,10 +4279,13 @@ class _$MeasureLineItemImpl implements _MeasureLineItem { @override @JsonKey(name: 'measurelineitemNo') final dynamic measurelineitemNo; + @override + @JsonKey(name: 'measurementSummary') + final dynamic measurementSummary; @override String toString() { - return 'MeasureLineItem(width: $width, height: $height, length: $length, number: $number, quantity: $quantity, measurelineitemNo: $measurelineitemNo)'; + return 'MeasureLineItem(width: $width, height: $height, length: $length, number: $number, quantity: $quantity, measurelineitemNo: $measurelineitemNo, measurementSummary: $measurementSummary)'; } @override @@ -4281,7 +4299,9 @@ class _$MeasureLineItemImpl implements _MeasureLineItem { const DeepCollectionEquality().equals(other.number, number) && const DeepCollectionEquality().equals(other.quantity, quantity) && const DeepCollectionEquality() - .equals(other.measurelineitemNo, measurelineitemNo)); + .equals(other.measurelineitemNo, measurelineitemNo) && + const DeepCollectionEquality() + .equals(other.measurementSummary, measurementSummary)); } @JsonKey(ignore: true) @@ -4293,7 +4313,8 @@ class _$MeasureLineItemImpl implements _MeasureLineItem { const DeepCollectionEquality().hash(length), const DeepCollectionEquality().hash(number), const DeepCollectionEquality().hash(quantity), - const DeepCollectionEquality().hash(measurelineitemNo)); + const DeepCollectionEquality().hash(measurelineitemNo), + const DeepCollectionEquality().hash(measurementSummary)); @JsonKey(ignore: true) @override @@ -4323,7 +4344,9 @@ abstract class _MeasureLineItem implements MeasureLineItem { @JsonKey(name: 'quantity') final dynamic quantity, @JsonKey(name: 'measurelineitemNo') - final dynamic measurelineitemNo}) = _$MeasureLineItemImpl; + final dynamic measurelineitemNo, + @JsonKey(name: 'measurementSummary') + final dynamic measurementSummary}) = _$MeasureLineItemImpl; factory _MeasureLineItem.fromJson(Map json) = _$MeasureLineItemImpl.fromJson; @@ -4347,6 +4370,9 @@ abstract class _MeasureLineItem implements MeasureLineItem { @JsonKey(name: 'measurelineitemNo') dynamic get measurelineitemNo; @override + @JsonKey(name: 'measurementSummary') + dynamic get measurementSummary; + @override @JsonKey(ignore: true) _$$MeasureLineItemImplCopyWith<_$MeasureLineItemImpl> get copyWith => throw _privateConstructorUsedError; diff --git a/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.g.dart b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.g.dart index 4619ce2cd4..e6bb8a6c92 100644 --- a/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.g.dart +++ b/frontend/works_shg_app/lib/models/employee/mb/mb_inbox_response.g.dart @@ -344,6 +344,7 @@ _$MeasureLineItemImpl _$$MeasureLineItemImplFromJson( number: json['number'], quantity: json['quantity'], measurelineitemNo: json['measurelineitemNo'], + measurementSummary: json['measurementSummary'], ); Map _$$MeasureLineItemImplToJson( @@ -355,6 +356,7 @@ Map _$$MeasureLineItemImplToJson( 'number': instance.number, 'quantity': instance.quantity, 'measurelineitemNo': instance.measurelineitemNo, + 'measurementSummary': instance.measurementSummary, }; _$ContractImpl _$$ContractImplFromJson(Map json) => diff --git a/frontend/works_shg_app/lib/utils/employee/mb/mb_logic.dart b/frontend/works_shg_app/lib/utils/employee/mb/mb_logic.dart index b405c8128d..6d5a53ff15 100644 --- a/frontend/works_shg_app/lib/utils/employee/mb/mb_logic.dart +++ b/frontend/works_shg_app/lib/utils/employee/mb/mb_logic.dart @@ -784,6 +784,7 @@ class MBLogic { 'number': item.number, 'quantity': item.quantity, 'measurelineitemNo': item.measurelineitemNo, + 'measurementSummary':item.measurementSummary }; } return null; diff --git a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart index e55f654997..af571aa92e 100644 --- a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart +++ b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart @@ -25,9 +25,12 @@ class MultiLineItems extends StatefulWidget { final int measurementIndex; final String filteredMeasurementMeasureId; final int totalCount; + final String measurementSummary; const MultiLineItems({ + super.key, + required this.measurementSummary, this.height, this.length, this.number, @@ -53,10 +56,12 @@ class _MultiLineItemsState extends State { late TextEditingController widthController; late TextEditingController heightController; late TextEditingController quantityController; + late TextEditingController measurementSummaryController; late FocusNode numberFocusNode; late FocusNode lengthFocusNode; late FocusNode widthFocusNode; late FocusNode heightFocusNode; + late FocusNode measurementSummaryFocusNode; @override void initState() { @@ -75,15 +80,19 @@ class _MultiLineItemsState extends State { quantityController = TextEditingController(text: checkValue(widget.quantity.toString())); + measurementSummaryController= TextEditingController(text:widget.measurementSummary.toString()); + numberController.addListener(numberUpload); lengthController.addListener(lengthUpload); widthController.addListener(widthUpload); heightController.addListener(heightUpload); + measurementSummaryController.addListener(measurementSummaryUpload); numberFocusNode = FocusNode(); lengthFocusNode = FocusNode(); widthFocusNode = FocusNode(); heightFocusNode = FocusNode(); + measurementSummaryFocusNode=FocusNode(); } String checkValue(String value) { @@ -129,6 +138,13 @@ class _MultiLineItemsState extends State { }); } + void measurementSummaryUpload() { + final debouncer = Debouncer(milliseconds: 250); + debouncer.run(() { + widget.fieldValue("MeasurementSummary", measurementSummaryController.text); + }); + } + @override void didUpdateWidget(covariant MultiLineItems oldWidget) { super.didUpdateWidget(oldWidget); @@ -149,6 +165,11 @@ class _MultiLineItemsState extends State { if (oldWidget.quantity != widget.quantity) { quantityController.text = checkValue(widget.quantity.toString()); } + + if (!measurementSummaryFocusNode.hasFocus && oldWidget.measurementSummary != widget.measurementSummary) { + measurementSummaryController.text = widget.measurementSummary.toString(); + } + } @override @@ -158,17 +179,20 @@ class _MultiLineItemsState extends State { lengthController.removeListener(lengthUpload); widthController.removeListener(widthUpload); heightController.removeListener(heightUpload); + measurementSummaryController.removeListener(measurementSummaryUpload); numberController.dispose(); lengthController.dispose(); widthController.dispose(); heightController.dispose(); quantityController.dispose(); + measurementSummaryController.dispose(); numberFocusNode.dispose(); lengthFocusNode.dispose(); widthFocusNode.dispose(); heightFocusNode.dispose(); + measurementSummaryFocusNode.dispose(); super.dispose(); } @@ -215,6 +239,21 @@ class _MultiLineItemsState extends State { ], ) : const SizedBox.shrink(), + + LabeledField( + label: "Measurement summary", + child: DigitTextFormInput( + inputFormatters: [ + FilteringTextInputFormatter.allow(RegExp(r'^\d*\.?\d{0,4}')), + ], + keyboardType: TextInputType.text, + // label: t.translate(i18.measurementBook.numberLabel), + controller: measurementSummaryController, + focusNode: measurementSummaryFocusNode, + isDisabled: widget.viewMode, + ), + ), + LabeledField( label: t.translate(i18.measurementBook.numberLabel), child: DigitTextFormInput( @@ -295,39 +334,7 @@ class _MultiLineItemsState extends State { ), ], ), - // Column( - // mainAxisAlignment: MainAxisAlignment.start, - // crossAxisAlignment: CrossAxisAlignment.start, - // children: [ - // Padding( - // padding: const EdgeInsets.symmetric(vertical: 8.0), - // child: Text( - // t.translate(i18.measurementBook.quantityLabel), - // style: Theme.of(context).textTheme.labelSmall, - // ), - // ), - // Container( - // decoration: BoxDecoration( - // border: Border.all( - // color: const DigitColors().cloudGray, width: 2), - // color: DigitTheme.instance.colorScheme.background), - // width: MediaQuery.sizeOf(context).width, - // child: Padding( - // padding: const EdgeInsets.all(12.0), - // child: Text( - // checkValue( - // widget.quantity!.toString())==""?"": - // double.parse(checkValue( - // widget.quantity!.toString())).toStringAsFixed(4), - // style: const TextStyle( - // fontSize: 16, - // fontWeight: FontWeight.w400, - // ), - // ), - // ), - // ), - // ], - // ), + LabeledField( label: t.translate(i18.measurementBook.quantityLabel), diff --git a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart index 2d788b9e86..bf09b22032 100644 --- a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart +++ b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart @@ -406,7 +406,7 @@ class _CardWidgetState extends State { measurementIndex: 0, sorId: widget.filteredMeasurementsMeasure! .contracts!.first.estimates!.first.sorId!, - type: widget.type, totalCount: 1, + type: widget.type, totalCount: 1, measurementSummary: '', ), ), // !widget.viewMode @@ -654,6 +654,7 @@ class _CardWidgetState extends State { .read() .add( AddToMeasurementLineEvent( + measurementSummary: "", sorId: widget .filteredMeasurementsMeasure! .contracts! @@ -704,11 +705,50 @@ class _CardWidgetState extends State { child: MultiLineItems( fieldValue: (p0, p1) { switch (p0) { + case "MeasurementSummary": + context + .read() + .add( + UpdateToMeasurementLineEvent( + measurementSummary: p1.toString(), + sorId: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .sorId!, + type: widget + .filteredMeasurementsMeasure! + .contracts! + .first + .estimates! + .first + .category!, + index: index, + measurementLineIndex: + data.measurelineitemNo!, + height: data.height.toString(), + length: data.length.toString(), + width: data.width.toString(), + quantity: + data.quantity.toString(), + number: data.number.toString(), + filteredMeasurementMeasureId: widget + .filteredMeasurementsMeasure! + .id!, + cummulativePrevQty: + widget.cummulativePrevQty, + noOfUnit: widget.noOfUnit, + ), + ); + break; case "Number": context .read() .add( UpdateToMeasurementLineEvent( + measurementSummary: data.measurementSummary.toString(), sorId: widget .filteredMeasurementsMeasure! .contracts! @@ -747,6 +787,7 @@ class _CardWidgetState extends State { .read() .add( UpdateToMeasurementLineEvent( + measurementSummary: data.measurementSummary.toString(), sorId: widget .filteredMeasurementsMeasure! .contracts! @@ -784,6 +825,7 @@ class _CardWidgetState extends State { .read() .add( UpdateToMeasurementLineEvent( + measurementSummary: data.measurementSummary.toString(), sorId: widget .filteredMeasurementsMeasure! .contracts! @@ -821,6 +863,7 @@ class _CardWidgetState extends State { .read() .add( UpdateToMeasurementLineEvent( + measurementSummary: data.measurementSummary.toString(), sorId: widget .filteredMeasurementsMeasure! .contracts! @@ -857,6 +900,7 @@ class _CardWidgetState extends State { .read() .add( UpdateToMeasurementLineEvent( + measurementSummary: data.measurementSummary.toString(), sorId: widget .filteredMeasurementsMeasure! .contracts! @@ -894,6 +938,7 @@ class _CardWidgetState extends State { .read() .add( UpdateToMeasurementLineEvent( + measurementSummary: data.measurementSummary.toString(), sorId: widget .filteredMeasurementsMeasure! .contracts! @@ -963,6 +1008,8 @@ class _CardWidgetState extends State { totalCount: widget.filteredMeasurementsMeasure ?.measureLineItems?.length ?? 0, + + measurementSummary: data.measurementSummary??"", ), ); // Render your item here }, From 06c9c5261f1dbfdf321cd94e9fc363380438d826 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 26 Sep 2024 17:35:04 +0530 Subject: [PATCH 238/292] measurement summary is implemented in lineitems --- .../works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart | 5 ++++- frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart | 4 +--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart index bcaabc148d..eba8febf4f 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/mb_detail_view.dart @@ -185,7 +185,8 @@ class MeasurementDetailBloc List mk = []; if (event.single) { - MeasureLineItem mm = const MeasureLineItem( + MeasureLineItem mm = MeasureLineItem( + measurementSummary: event.measurementSummary, width: 0, height: 0, length: 0, @@ -196,6 +197,7 @@ class MeasurementDetailBloc mk = [mm]; } else { MeasureLineItem mm = MeasureLineItem( + measurementSummary: event.measurementSummary, width: 0, height: 0, length: 0, @@ -297,6 +299,7 @@ class MeasurementDetailBloc orElse: () => null, loaded: (value) { MeasureLineItem ml = MeasureLineItem( + measurementSummary: event.measurementSummary, width: event.width, height: event.height, length: event.length, diff --git a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart index af571aa92e..b85e36009c 100644 --- a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart +++ b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart @@ -243,9 +243,7 @@ class _MultiLineItemsState extends State { LabeledField( label: "Measurement summary", child: DigitTextFormInput( - inputFormatters: [ - FilteringTextInputFormatter.allow(RegExp(r'^\d*\.?\d{0,4}')), - ], + keyboardType: TextInputType.text, // label: t.translate(i18.measurementBook.numberLabel), controller: measurementSummaryController, From 3393811e2e8098e1c4469fc72fb7ce6fcd96e747 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Fri, 27 Sep 2024 11:29:07 +0530 Subject: [PATCH 239/292] ui-ux icon color changed --- .../works_shg_app/android/app/build.gradle | 2 +- frontend/works_shg_app/assets/svg/delete.svg | 2 +- .../works_shg_app/assets/svg/double_arrow.svg | 4 +- .../lib/pages/employee/mb_config_warning.dart | 895 +++++++----------- .../lib/pages/employee/mb_detail_page.dart | 2 +- .../lib/pages/employee/mb_filter_page.dart | 4 +- .../employee/workOrder/wo_filter_page.dart | 4 +- frontend/works_shg_app/lib/pages/login.dart | 158 ++-- .../lib/widgets/mb/multi_line_items.dart | 6 +- .../lib/widgets/mb/sor_item_add_mb.dart | 84 +- 10 files changed, 475 insertions(+), 686 deletions(-) diff --git a/frontend/works_shg_app/android/app/build.gradle b/frontend/works_shg_app/android/app/build.gradle index 007c300b3a..fddc286a15 100644 --- a/frontend/works_shg_app/android/app/build.gradle +++ b/frontend/works_shg_app/android/app/build.gradle @@ -72,7 +72,7 @@ android { release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.release + signingConfig signingConfigs.debug } } diff --git a/frontend/works_shg_app/assets/svg/delete.svg b/frontend/works_shg_app/assets/svg/delete.svg index bc66f16d22..c793fd5472 100644 --- a/frontend/works_shg_app/assets/svg/delete.svg +++ b/frontend/works_shg_app/assets/svg/delete.svg @@ -1,6 +1,6 @@ - + diff --git a/frontend/works_shg_app/assets/svg/double_arrow.svg b/frontend/works_shg_app/assets/svg/double_arrow.svg index 95b63efa3f..a9bd709af6 100644 --- a/frontend/works_shg_app/assets/svg/double_arrow.svg +++ b/frontend/works_shg_app/assets/svg/double_arrow.svg @@ -1,4 +1,4 @@ - - + + diff --git a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart index b017063598..2b5aadb01b 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart @@ -7,6 +7,8 @@ import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:digit_ui_components/widgets/atoms/text_block.dart'; import 'package:digit_ui_components/widgets/atoms/upload_popUp.dart'; +import 'package:digit_ui_components/widgets/molecules/digit_card.dart'; +import 'package:digit_ui_components/widgets/molecules/digit_footer.dart'; import 'package:digit_ui_components/widgets/widgets.dart'; import 'package:file_picker/file_picker.dart'; import 'package:flutter/material.dart'; @@ -144,8 +146,7 @@ class _MBTypeConfirmationPageState extends State { ); //Loaders.showLoadingDialog(context); shg_loader.Loaders.showLoadingDialog( - label:t.translate(i18.common.loading), - context); + label: t.translate(i18.common.loading), context); }, error: (value) { Navigator.of( @@ -155,7 +156,8 @@ class _MBTypeConfirmationPageState extends State { (route) => route is! PopupRoute, ); - Notifiers.getToastMessage(context, t.translate(value.error.toString()), "ERROR"); + Notifiers.getToastMessage( + context, t.translate(value.error.toString()), "ERROR"); // ui_component.Toast.showToast(context, // message: value.error.toString(), @@ -164,7 +166,7 @@ class _MBTypeConfirmationPageState extends State { ); }, child: Scaffold( - backgroundColor: Theme.of(context).colorTheme.generic.background, + backgroundColor: Theme.of(context).colorTheme.paper.primary, // appBar: customAppBar(), // drawer: const MySideBar(), body: BlocBuilder( @@ -179,125 +181,106 @@ class _MBTypeConfirmationPageState extends State { orElse: () => const SizedBox.shrink(), loaded: (value) { if (widget.type == MBScreen.update) { - return Padding( - padding: const EdgeInsets.all(16.0), - // padding: const EdgeInsets.only( - // left: 8.0, right: 8.0, top: 0.0, bottom: 0.0), - child: ui_component.ScrollableContent( - backgroundColor: Theme.of(context) - .colorTheme - .generic - .background, - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.center, - footer: Padding( - padding: const EdgeInsets.only( - top: 0.0, bottom: 5.0), - child: Column( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - Button( - mainAxisSize: MainAxisSize.max, - size: ButtonSize.large, - type: ButtonType.primary, - label: widget.nextActions!.action == - "EDIT/RE-SUBMIT" - ? t.translate("WORKS_FORWARD") - : t.translate( - "WF_MODAL_SUBMIT_MB_${widget.nextActions!.action!}"), - onPressed: () { - if (widget.nextActions!.action == - "REJECT" && - comment.text == "") { - Notifiers.getToastMessage( - context, - // AppLocalizations.of(context) - // .translate(i18.login.invalidOTP), + return ui_component.ScrollableContent( + backgroundColor: + Theme.of(context).colorTheme.paper.primary, + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + footer: DigitFooter(actions: [ + FooterAction( + button: Button( + mainAxisSize: MainAxisSize.max, + size: ButtonSize.large, + type: ButtonType.primary, + label: widget.nextActions!.action == + "EDIT/RE-SUBMIT" + ? t.translate("WORKS_FORWARD") + : t.translate( + "WF_MODAL_SUBMIT_MB_${widget.nextActions!.action!}"), + onPressed: () { + if (widget.nextActions!.action == + "REJECT" && + comment.text == "") { + Notifiers.getToastMessage( + context, + // AppLocalizations.of(context) + // .translate(i18.login.invalidOTP), - t.translate(i18 - .common.allFieldsMandatory), - 'ERROR', - ); + t.translate( + i18.common.allFieldsMandatory), + 'ERROR', + ); + + // Toast.showToast(context, + // message: t.translate(i18 + // .common.allFieldsMandatory), + // type: ToastType.error); + } else { + List> sorList = [ + value.sor!, + value.nonSor! + ]; + MBDetailResponse kkk = + MBLogic.getMbPayloadUpdate( + data: value.data, + sorList: sorList, + workFlow: WorkFlow( + action: widget.nextActions!.action, + comment: comment.text, + assignees: selectedAssignee != null + ? selectedAssignee != null + ? [selectedAssignee!] + : null + : null, + documents: supportDocument, + ), + type: widget.type, + ); - // Toast.showToast(context, - // message: t.translate(i18 - // .common.allFieldsMandatory), - // type: ToastType.error); - } else { - List> sorList = [ - value.sor!, - value.nonSor! - ]; - MBDetailResponse kkk = - MBLogic.getMbPayloadUpdate( - data: value.data, - sorList: sorList, - workFlow: WorkFlow( - action: - widget.nextActions!.action, - comment: comment.text, - assignees: selectedAssignee != - null - ? selectedAssignee != null - ? [selectedAssignee!] - : null - : null, - documents: supportDocument, + context.read().add( + MeasurementUpdateBlocEvent( + measurement: kkk.measurement!, + tenantId: '', + workFlow: WorkFlow( + action: widget + .nextActions!.action, + comment: comment.text, + assignees: selectedAssignee != + null + ? selectedAssignee != null + ? [selectedAssignee!] + : null + : null, + documents: supportDocument, + ), + type: widget.type, ), - type: widget.type, ); - - context - .read() - .add( - MeasurementUpdateBlocEvent( - measurement: - kkk.measurement!, - tenantId: '', - workFlow: WorkFlow( - action: widget - .nextActions!.action, - comment: comment.text, - assignees: - selectedAssignee != - null - ? selectedAssignee != - null - ? [ - selectedAssignee! - ] - : null - : null, - documents: - supportDocument, - ), - type: widget.type, - ), - ); - } - }, - ), - const SizedBox( - height: 16, - ), - Button( - mainAxisSize: MainAxisSize.max, - label: t.translate( - i18.measurementBook.mbCancel), - onPressed: () { - context.router.maybePopTop(); - }, - type: ButtonType.secondary, - size: ButtonSize.large, - ), - ], + } + }, ), ), - children: [ - Row( + FooterAction( + button: Button( + mainAxisSize: MainAxisSize.max, + label: t.translate( + i18.measurementBook.mbCancel), + onPressed: () { + context.router.maybePopTop(); + }, + type: ButtonType.secondary, + size: ButtonSize.large, + ), + ), + ]), + children: [ + Padding( + padding: const EdgeInsets.only( + top: 16.0, right: 16.0, bottom: 0.0), + child: Row( mainAxisAlignment: MainAxisAlignment.end, - crossAxisAlignment: CrossAxisAlignment.end, + crossAxisAlignment: + CrossAxisAlignment.start, children: [ Button( mainAxisSize: MainAxisSize.min, @@ -311,7 +294,10 @@ class _MBTypeConfirmationPageState extends State { ), ], ), - Row( + ), + Padding( + padding: const EdgeInsets.all(16.0), + child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.start, @@ -335,15 +321,19 @@ class _MBTypeConfirmationPageState extends State { ), ], ), - (widget.nextActions!.action == - "EDIT/RE-SUBMIT" || - widget.nextActions!.action == - "VERIFY_AND_FORWARD" || - widget.nextActions!.action == - "SUBMIT" || - widget.nextActions!.action == - "SEND_BACK_TO_ORIGINATOR") - ? BlocBuilder( + ), + (widget.nextActions!.action == + "EDIT/RE-SUBMIT" || + widget.nextActions!.action == + "VERIFY_AND_FORWARD" || + widget.nextActions!.action == + "SUBMIT" || + widget.nextActions!.action == + "SEND_BACK_TO_ORIGINATOR") + ? Padding( + padding: const EdgeInsets.all(16.0), + child: BlocBuilder( builder: (context, state) { return state.maybeMap( orElse: () => @@ -388,37 +378,6 @@ class _MBTypeConfirmationPageState extends State { .toList()), ), ); - - // DigitDropdown< - // HRMSEmployee>( - // formControlName: hrmsKey, - // onChanged: (value) { - // setState(() { - // selectedAssignee = - // value; - // }); - // }, - // initialValue: - // selectedAssignee, - // label: t.translate( - // "WF_MODAL_APPROVER"), - // menuItems: value - // .hrmsEmployee! - // .map((e) => e) - // .toList(), - // valueMapper: (value) { - // if (value.employeeUser != - // null) { - // return t.translate(value - // .employeeUser!.name - // .toString()); - // } else { - // return t.translate(value - // .code - // .toString()); - // } - // }, - // ); } else { return const SizedBox .shrink(); @@ -429,86 +388,36 @@ class _MBTypeConfirmationPageState extends State { }, ); }, - ) - : const SizedBox.shrink(), - // DigitTextField( - // label: - // "${t.translate("WF_MODAL_COMMENTS")}${widget.nextActions!.action == "REJECT" ? "*" : ""}", - // maxLines: 5, - // controller: comment, - // isRequired: - // widget.nextActions!.action == "REJECT" - // ? true - // : false, - // ), - Padding( - padding: const EdgeInsets.only(top: 16.0), - child: ui_component.LabeledField( - label: - "${t.translate("WF_MODAL_COMMENTS")}", - child: DigitTextAreaFormInput( - controller: comment, - maxLine: 5, - isRequired: - widget.nextActions!.action == - "REJECT" - ? true - : false, - ), + ), + ) + : const SizedBox.shrink(), + Padding( + padding: const EdgeInsets.all(16.0), + child: ui_component.LabeledField( + label: + "${t.translate("WF_MODAL_COMMENTS")}", + child: DigitTextAreaFormInput( + controller: comment, + maxLine: 5, + isRequired: + widget.nextActions!.action == "REJECT" + ? true + : false, ), ), - widget.nextActions!.action != - "EDIT/RE-SUBMIT" && - widget.nextActions!.action != "SUBMIT" - ? Column( + ), + widget.nextActions!.action != + "EDIT/RE-SUBMIT" && + widget.nextActions!.action != "SUBMIT" + ? Padding( + padding: const EdgeInsets.all(16.0), + child: Column( children: [ SizedBox( height: Theme.of(context) .spacerTheme .spacer4, ), - //old - // FilePickerDemo( - // callBack: (List? - // g, - // List? l) { - // final supportDocumentData = l! - // .where((element) => - // element.isActive == - // true) - // .toList() - // .map( - // (e) { - // return WorkFlowSupportDocument( - // documentType: - // e.documentType, - // documentUid: - // e.fileStore, - // fileName: e - // .documentAdditionalDetails - // ?.fileName, - // fileStoreId: - // e.fileStore, - // tenantId: e.tenantId, - // ); - // }, - // ).toList(); - // supportDocument.clear(); - // supportDocument.addAll( - // supportDocumentData); - // setState(() {}); - // }, - // extensions: const [ - // 'jpg', - // 'png', - // 'jpeg', - // 'pdf', - // 'xls', - // 'doc' - // ], - // moduleName: 'works', - // headerType: MediaType.mbConfim, - // ), LabeledField( label: "${AppLocalizations.of(context).translate(i18.common.supportingDocumentHeader)}", @@ -521,340 +430,247 @@ class _MBTypeConfirmationPageState extends State { return fileErrors; }, - label: "upload", + label: + "${AppLocalizations.of(context).translate(i18.common.chooseFile)}", ), ), - DigitTextBlock( description: t.translate( i18.common.photoInfo)), ], - ) - : const SizedBox.shrink(), - ], - ), + ), + ) + : const SizedBox.shrink(), + ], ); } else { - return Padding( - padding: const EdgeInsets.all(16.0), - child: ui_component.ScrollableContent( - backgroundColor: Theme.of(context) - .colorTheme - .generic - .background, - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.center, - footer: Padding( - padding: const EdgeInsets.only( - top: 0.0, bottom: 5.0), - child: Column( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - Button( - mainAxisSize: MainAxisSize.max, - size: ButtonSize.large, - type: ButtonType.primary, - label: widget.stateActions!.action == - "SUBMIT" - ? t.translate(i18 - .measurementBook.mbSubmitLabel) - : t.translate( - "WF_MODAL_SUBMIT_MB_${widget.stateActions!.action}"), - onPressed: () { - List> sorList = [ - value.sor!, - value.nonSor! - ]; - MBDetailResponse kkk = - MBLogic.getMbPayloadUpdate( - data: value.data, - sorList: sorList, - workFlow: WorkFlow( - action: widget.stateActions! - .action == - "CREATE" - ? "SUBMIT" - : widget.stateActions!.action, - comment: comment.text, - assignees: - selectedAssignee != null + return ui_component.ScrollableContent( + backgroundColor: + Theme.of(context).colorTheme.paper.primary, + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + footer: DigitFooter( + actions: [ + FooterAction( + button: Button( + mainAxisSize: MainAxisSize.max, + size: ButtonSize.large, + type: ButtonType.primary, + label: widget.stateActions!.action == + "SUBMIT" + ? t.translate( + i18.measurementBook.mbSubmitLabel) + : t.translate( + "WF_MODAL_SUBMIT_MB_${widget.stateActions!.action}"), + onPressed: () { + List> sorList = [ + value.sor!, + value.nonSor! + ]; + MBDetailResponse kkk = + MBLogic.getMbPayloadUpdate( + data: value.data, + sorList: sorList, + workFlow: WorkFlow( + action: widget + .stateActions!.action == + "CREATE" + ? "SUBMIT" + : widget.stateActions!.action, + comment: comment.text, + assignees: selectedAssignee != null + ? selectedAssignee != null + ? [selectedAssignee!] + : null + : null, + documents: supportDocument, + ), + type: widget.type, + ); + + context.read().add( + MeasurementUpdateBlocEvent( + measurement: kkk.measurement!, + tenantId: '', + workFlow: WorkFlow( + action: widget.stateActions! + .action == + "CREATE" + ? "SUBMIT" + : widget + .stateActions!.action, + comment: comment.text, + assignees: selectedAssignee != + null ? selectedAssignee != null ? [selectedAssignee!] : null : null, - documents: supportDocument, - ), - type: widget.type, - ); - - context - .read() - .add( - MeasurementUpdateBlocEvent( - measurement: kkk.measurement!, - tenantId: '', - workFlow: WorkFlow( - action: widget.stateActions! - .action == - "CREATE" - ? "SUBMIT" - : widget.stateActions! - .action, - comment: comment.text, - assignees: - selectedAssignee != null - ? selectedAssignee != - null - ? [ - selectedAssignee! - ] - : null - : null, - documents: supportDocument, - ), - type: widget.type, + documents: supportDocument, ), - ); - // Navigator.of(context) - // .popUntil((route) => route is HomeRoute); - // context.router.push(const HomeRoute()); - }, - ), - const SizedBox( - height: 16.0, - ), - Button( - mainAxisSize: MainAxisSize.max, - type: ButtonType.secondary, + type: widget.type, + ), + ); + // Navigator.of(context) + // .popUntil((route) => route is HomeRoute); + // context.router.push(const HomeRoute()); + }, + ), + ), + FooterAction( + button: Button( + mainAxisSize: MainAxisSize.max, + type: ButtonType.secondary, + size: ButtonSize.large, + label: t.translate( + i18.measurementBook.mbCancel), + onPressed: () { + context.router.maybePopTop(); + }, + ), + ), + ], + ), + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Button( + mainAxisSize: MainAxisSize.min, + label: '', size: ButtonSize.large, - label: t.translate( - i18.measurementBook.mbCancel), + type: ButtonType.tertiary, onPressed: () { context.router.maybePopTop(); }, - ), - ], - ), + suffixIcon: Icons.close), + ], ), - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - Button( - mainAxisSize: MainAxisSize.min, - label: '', - size: ButtonSize.large, - type: ButtonType.tertiary, - onPressed: () { - context.router.maybePopTop(); - }, - suffixIcon: Icons.close), - ], - ), - Row( - crossAxisAlignment: - CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - SizedBox( - width: - MediaQuery.sizeOf(context).width * - 0.9, - child: DigitTextBlock( - heading: widget - .stateActions!.action == - "SUBMIT" - ? t.translate(i18.measurementBook - .mbcreateLabel) - : t.translate( - "WF_MB_ACTION_${widget.stateActions!.action}"), - // style: DigitTheme.instance.mobileTheme - // .textTheme.headlineLarge, - // overflow: TextOverflow.clip, - // maxLines: 1, - ), + Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + SizedBox( + width: MediaQuery.sizeOf(context).width * + 0.9, + child: DigitTextBlock( + heading: widget.stateActions!.action == + "SUBMIT" + ? t.translate(i18 + .measurementBook.mbcreateLabel) + : t.translate( + "WF_MB_ACTION_${widget.stateActions!.action}"), + // style: DigitTheme.instance.mobileTheme + // .textTheme.headlineLarge, + // overflow: TextOverflow.clip, + // maxLines: 1, ), - ], - ), - (widget.stateActions!.action == "SUBMIT") - ? BlocBuilder( - builder: (context, state) { - return state.maybeMap( - orElse: () => - const SizedBox.shrink(), - loaded: (value) { - if (value.hrmsEmployee != - null && - value.hrmsEmployee! - .isNotEmpty) { - return Padding( - padding: - const EdgeInsets.only( - top: 16.0), - child: ui_component - .LabeledField( - label: t.translate( - "WF_MODAL_APPROVER"), - child: ui_component.DigitDropdown< - HRMSEmployee>( - valueMapper: value - .hrmsEmployee! - .map((e) => ValueMapper( - code: e.uuid!, - name: t.translate(e - .employeeUser! - .name - .toString()))) - .toList(), - onSelect: (p0) { - setState(() { - selectedAssignee = - p0.code!; - }); - }, - items: value - .hrmsEmployee! - .map((e) => DropdownItem( - name: e - .employeeUser! - .userName!, - code: e.uuid!)) - .toList()), - ), - ); - // return DigitDropdown< - // HRMSEmployee>( - // onChanged: (value) { - // setState(() { - // selectedAssignee = - // value; - // }); - // }, - // initialValue: - // selectedAssignee, - // label: t.translate( - // "WF_MODAL_APPROVER"), - // menuItems: value - // .hrmsEmployee! - // .map((e) => e) - // .toList(), - // formControlName: hrmsKey, - // valueMapper: (value) { - // if (value.employeeUser != - // null) { - // return t.translate(value - // .employeeUser!.name - // .toString()); - // } else { - // return t.translate(value - // .code - // .toString()); - // } - // }, - // ); - } else { - return const SizedBox - .shrink(); - } - }, - error: (value) { + ), + ], + ), + (widget.stateActions!.action == "SUBMIT") + ? BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => + const SizedBox.shrink(), + loaded: (value) { + if (value.hrmsEmployee != null && + value.hrmsEmployee! + .isNotEmpty) { + return Padding( + padding: + const EdgeInsets.only( + top: 16.0), + child: + ui_component.LabeledField( + label: t.translate( + "WF_MODAL_APPROVER"), + child: ui_component.DigitDropdown< + HRMSEmployee>( + valueMapper: value + .hrmsEmployee! + .map((e) => ValueMapper( + code: e.uuid!, + name: t.translate(e + .employeeUser! + .name + .toString()))) + .toList(), + onSelect: (p0) { + setState(() { + selectedAssignee = + p0.code!; + }); + }, + items: value + .hrmsEmployee! + .map((e) => DropdownItem( + name: e + .employeeUser! + .userName!, + code: e.uuid!)) + .toList()), + ), + ); + } else { return const SizedBox.shrink(); - }, - ); - }, - ) - : const SizedBox.shrink(), - // DigitTextField( - // label: t.translate("WF_MODAL_COMMENTS"), - // maxLines: 5, - // controller: comment, - // ), - Padding( - padding: const EdgeInsets.only(top: 16.0), - child: ui_component.LabeledField( - label: t.translate("WF_MODAL_COMMENTS"), - child: DigitTextAreaFormInput( - maxLine: 5, - controller: comment, - ), + } + }, + error: (value) { + return const SizedBox.shrink(); + }, + ); + }, + ) + : const SizedBox.shrink(), + // DigitTextField( + // label: t.translate("WF_MODAL_COMMENTS"), + // maxLines: 5, + // controller: comment, + // ), + Padding( + padding: const EdgeInsets.only(top: 16.0), + child: ui_component.LabeledField( + label: t.translate("WF_MODAL_COMMENTS"), + child: DigitTextAreaFormInput( + maxLine: 5, + controller: comment, ), ), - widget.stateActions!.action != null - ? Column( - children: [ - SizedBox( - height: Theme.of(context) - .spacerTheme - .spacer4, - ), - //old - // FilePickerDemo( - // callBack: (List? - // g, - // List? l) { - // final supportDocumentData = l! - // .where((element) => - // element.isActive == - // true) - // .toList() - // .map( - // (e) { - // return WorkFlowSupportDocument( - // documentType: - // e.documentType, - // documentUid: - // e.fileStore, - // fileName: e - // .documentAdditionalDetails - // ?.fileName, - // fileStoreId: - // e.fileStore, - // tenantId: e.tenantId, - // ); - // }, - // ).toList(); - // supportDocument.clear(); - // supportDocument.addAll( - // supportDocumentData); - // setState(() {}); - // }, - // extensions: const [ - // 'jpg', - // 'png', - // 'jpeg', - // 'pdf', - // 'xls', - // 'doc' - // ], - // moduleName: 'works', - // headerType: MediaType.mbConfim, - // ), - LabeledField( - label: - "${AppLocalizations.of(context).translate(i18.common.supportingDocumentHeader)}", - child: FileUploadWidget( - onFilesSelected: (files) { - uploadFileToServer(files, - context, supportDocument); + ), + widget.stateActions!.action != null + ? Column( + children: [ + SizedBox( + height: Theme.of(context) + .spacerTheme + .spacer4, + ), + LabeledField( + label: + "${AppLocalizations.of(context).translate(i18.common.supportingDocumentHeader)}", + child: FileUploadWidget( + onFilesSelected: (files) { + uploadFileToServer(files, + context, supportDocument); - Map - fileErrors = {}; + Map + fileErrors = {}; - return fileErrors; - }, - label: "upload", - ), + return fileErrors; + }, + label: + "${AppLocalizations.of(context).translate(i18.common.chooseFile)}", ), - - DigitTextBlock( - description: t.translate( - i18.common.photoInfo)), - ], - ) - : const SizedBox.shrink(), - ], - ), + ), + DigitTextBlock( + description: t.translate( + i18.common.photoInfo)), + ], + ) + : const SizedBox.shrink(), + ], ); } }, @@ -886,7 +702,8 @@ void uploadFileToServer(List files, BuildContext context, ).popUntil( (route) => route is! PopupRoute, ); - shg_loader.Loaders.showLoadingDialog(context, label: AppLocalizations.of(context).translate(i18.common.loading)); + shg_loader.Loaders.showLoadingDialog(context, + label: AppLocalizations.of(context).translate(i18.common.loading)); var response = await CoreRepository().uploadFiles( files.map((e) => File(e.path ?? e.name!)).toList(), "img_measurement_book"); diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index 16e4956b34..b409ce989d 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -637,7 +637,7 @@ class _MBDetailPageState extends State DigitTabBar( tabBarThemeData: const DigitTabBarThemeData().copyWith( - tabWidth: 130, + tabWidth: MediaQuery.sizeOf(context).width*0.32001, padding: const EdgeInsets.all(0)), tabs: [ t.translate(i18.measurementBook.mbSor), diff --git a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart index 1ba06bade5..4454f82c2b 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart @@ -128,7 +128,7 @@ class _MBFilterPageState extends State { }, loaded: (location) { return Scaffold( - backgroundColor: Theme.of(context).colorTheme.generic.background, + backgroundColor: Theme.of(context).colorTheme.paper.primary, // appBar: customAppBar(), // drawer: const MySideBar(), body: ReactiveFormBuilder( @@ -138,7 +138,7 @@ class _MBFilterPageState extends State { return Padding( padding: const EdgeInsets.all(16.0), child: ui_component.ScrollableContent( - backgroundColor: Theme.of(context).colorTheme.generic.background, + backgroundColor: Theme.of(context).colorTheme.paper.primary, mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center, diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart index 42d2972ddf..6e49c8a006 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart @@ -114,7 +114,7 @@ class _WOFilterPageState extends State { }, loaded: (organization) { return Scaffold( - backgroundColor: Theme.of(context).colorTheme.generic.background, + backgroundColor: Theme.of(context).colorTheme.paper.primary, // appBar: customAppBar(), // drawer: const MySideBar(), body: ReactiveFormBuilder( @@ -124,7 +124,7 @@ class _WOFilterPageState extends State { return Padding( padding: EdgeInsets.all(Theme.of(context).spacerTheme.spacer4), child: ScrollableContent( - backgroundColor: Theme.of(context).colorTheme.generic.background, + backgroundColor: Theme.of(context).colorTheme.paper.primary, mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center, footer: Padding( diff --git a/frontend/works_shg_app/lib/pages/login.dart b/frontend/works_shg_app/lib/pages/login.dart index 89d8b13a58..28a5affed2 100644 --- a/frontend/works_shg_app/lib/pages/login.dart +++ b/frontend/works_shg_app/lib/pages/login.dart @@ -123,36 +123,17 @@ class _LoginPageState extends State ), ), //old - // TabBar - constant height - // TabBar( - // controller: _tabController, - // labelColor: Theme.of(context).colorScheme.primary, - // unselectedLabelColor: Colors.black, - // dividerHeight: 0, - // indicatorColor: Theme.of(context).colorScheme.primary, - // indicatorPadding: EdgeInsets.zero, - // tabs: [ - // Tab( - // child: TextChunk( - // heading: t.translate(i18.measurementBook.mbCbo), - // headingStyle: Theme.of(context).digitTextTheme(context).headingM, - // ), - // ), - // Tab( - // child: TextChunk( - // heading: t.translate(i18.measurementBook.mbEmployee), - // headingStyle: Theme.of(context).digitTextTheme(context).headingM, - // ), - // ), - // ], - // ), ToggleList( contentPadding: const EdgeInsets.all(0), toggleWidth: MediaQuery.sizeOf(context).width * 0.4, toggleButtons: [ ToggleButtonModel( - code: "0", name: t.translate(i18.measurementBook.mbCbo).toString().toUpperCase()), + code: "0", + name: t + .translate(i18.measurementBook.mbCbo) + .toString() + .toUpperCase()), ToggleButtonModel( name: t.translate(i18.measurementBook.mbEmployee), code: "1") @@ -162,29 +143,51 @@ class _LoginPageState extends State }, selectedIndex: 0, ), - // Dynamic part - TabBarView and Button - // Column( - // mainAxisSize: MainAxisSize.min, - // children: [ - AnimatedContainer( - height: _tabController.index == 0 - ? MediaQuery.of(context).size.height * 0.089 - : MediaQuery.of(context).size.height * 0.32, - duration: const Duration(milliseconds: 000), - child: TabBarView( - physics: const NeverScrollableScrollPhysics(), - controller: _tabController, - children: [ - cboLogin(loginContext), - employeeLogin(t, loginContext, data), - ], - ), + + AnimatedContainer( + height: _tabController.index == 0 + ? MediaQuery.of(context).size.height * 0.089 + : MediaQuery.of(context).size.height * 0.28, + duration: const Duration(milliseconds: 000), + child: TabBarView( + physics: const NeverScrollableScrollPhysics(), + controller: _tabController, + children: [ + cboLogin(loginContext), + employeeLogin(t, loginContext, data), + ], + ), + ), + _buildLoginButton(t, loginContext), + // _tabController.index == 1 + // ? Center( + // child: Button( + // type: ButtonType.tertiary, + // size: ButtonSize.large, + // label: t.translate(i18.login.forgotPassword), + // onPressed: () { + // forgotPassword(t); + // }, + // ), + // ) + // : SizedBox.fromSize( + // size: const Size(0, 0), + // ), + Visibility( + visible: _tabController.index == 1, + child: Center( + child: Button( + type: ButtonType.tertiary, + size: ButtonSize.large, + label: t.translate(i18.login.forgotPassword), + onPressed: () { + forgotPassword(t); + }, ), - _buildLoginButton(t, loginContext), - ], + ), ), - // ], - // ), + ], + ), ), ), ); @@ -314,8 +317,6 @@ class _LoginPageState extends State size: ButtonSize.large, type: ButtonType.primary, onPressed: () {}, - - label: t.translate(i18.common.continueLabel), ), ), @@ -330,7 +331,6 @@ class _LoginPageState extends State context: context, builder: (context) { return Popup( - title: t.translate(i18.login.forgotPassword), additionalWidgets: [ SizedBox( @@ -343,8 +343,7 @@ class _LoginPageState extends State Padding( padding: const EdgeInsets.only(bottom: 12.0), child: DigitTextBlock( - subHeading: t.translate(i18.login.forgotPasswordMsg), - + subHeading: t.translate(i18.login.forgotPasswordMsg), ), ), Button( @@ -395,11 +394,10 @@ class _LoginPageState extends State ), ); } - @override Widget build(BuildContext context) { - double keyboardHeight = MediaQuery.of(context).viewInsets.bottom; + double keyboardHeight = MediaQuery.of(context).viewInsets.bottom; // Check if the keyboard is open bool isKeyboardOpen = keyboardHeight > 0; @@ -407,7 +405,7 @@ class _LoginPageState extends State return DefaultTabController( length: 2, child: Scaffold( - // resizeToAvoidBottomInset: true, + // resizeToAvoidBottomInset: true, appBar: AppBar( backgroundColor: const Color(0xff0B4B66), iconTheme: Theme.of(context) @@ -419,8 +417,6 @@ class _LoginPageState extends State builder: (context, state) { return LayoutBuilder(builder: (context, constraints) { if (constraints.maxWidth < 720) { - - return Stack( children: [ Container( @@ -434,7 +430,6 @@ class _LoginPageState extends State .toString()), fit: BoxFit.cover, ), - ), ), Padding( @@ -444,20 +439,20 @@ class _LoginPageState extends State child: getLoginCard(t, context, state), ), ), - ( isKeyboardOpen)? (Positioned( - bottom: 10, - left: MediaQuery.of(context).size.width / 4, - right: MediaQuery.of(context).size.width / 4, - child: const Align( - alignment: Alignment.bottomCenter, - child: PoweredByDigit( - version: Constants.appVersion, - //isWhiteLogo: true, - ), - ), - )):const Positioned(child:SizedBox.shrink() - ) - , + (isKeyboardOpen) + ? (Positioned( + bottom: 10, + left: MediaQuery.of(context).size.width / 4, + right: MediaQuery.of(context).size.width / 4, + child: const Align( + alignment: Alignment.bottomCenter, + child: PoweredByDigit( + version: Constants.appVersion, + //isWhiteLogo: true, + ), + ), + )) + : const Positioned(child: SizedBox.shrink()), ], ); } else { @@ -524,13 +519,6 @@ class _LoginPageState extends State isRequired: true, label: "${t.translate(i18.common.city)}", child: ui_component.DigitDropdown( - // initialValue: null, - // formControlName: cityDropDownKey, - // onChanged: (value) { - // setState(() { - // selectTenantId = value?.code ?? ""; - // }); - // }, onSelect: (value) { setState(() { selectTenantId = value?.code ?? ""; @@ -548,14 +536,14 @@ class _LoginPageState extends State ), ), ), - Button( - type: ButtonType.tertiary, - size: ButtonSize.large, - label: t.translate(i18.login.forgotPassword), - onPressed: () { - forgotPassword(t); - }, - ), + // Button( + // type: ButtonType.tertiary, + // size: ButtonSize.large, + // label: t.translate(i18.login.forgotPassword), + // onPressed: () { + // forgotPassword(t); + // }, + // ), ], ); }), diff --git a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart index e55f654997..8a59d03d73 100644 --- a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart +++ b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart @@ -1,5 +1,6 @@ import 'dart:async'; import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:digit_ui_components/widgets/atoms/digit_text_form_input.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -178,10 +179,11 @@ class _MultiLineItemsState extends State { return Container( width: MediaQuery.sizeOf(context).width, decoration: BoxDecoration( + color: Theme.of(context).colorTheme.paper.secondary, border: Border.all(color: Colors.grey), borderRadius: BorderRadius.circular(5), ), - padding: const EdgeInsets.all(8), + padding: EdgeInsets.all(Theme.of(context).spacerTheme.spacer2), child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -235,7 +237,7 @@ class _MultiLineItemsState extends State { Padding( padding: const EdgeInsets.only(left: 0.0), child: SizedBox( - width: MediaQuery.of(context).size.width * 0.8 / 3, + width: MediaQuery.of(context).size.width * 0.79 / 3, child: LabeledField( label: t.translate(i18.measurementBook.lengthLabel), child: DigitTextFormInput( diff --git a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart index 2d788b9e86..4c21365609 100644 --- a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart +++ b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart @@ -1,5 +1,5 @@ import 'package:auto_route/auto_route.dart'; -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/digit_components.dart' as ui_component; import 'package:digit_ui_components/enum/app_enums.dart'; import 'package:digit_ui_components/widgets/atoms/label_value_list.dart'; @@ -140,9 +140,9 @@ class _HorizontalCardListDialogState extends State { // .add(const UpdateMsgCodeEvent(updateCode: 0)); context.router.maybePopTop(); }, - icon: Icon( + icon: const Icon( Icons.close, - color: const DigitColors().white, + color: Colors.white, ), ), ], @@ -305,11 +305,10 @@ class _CardWidgetState extends State { return Container( // width: MediaQuery.sizeOf(context).width-200, decoration: BoxDecoration( - color: const DigitColors().white, + color: Colors.white, borderRadius: BorderRadius.circular(10), ), - padding: - const EdgeInsets.only(left: 2.5, right: 2.5, bottom: 8.0, top: 16.0), + padding: const EdgeInsets.only(left: 8, right: 8, bottom: 8.0, top: 16.0), child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -324,51 +323,32 @@ class _CardWidgetState extends State { mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ - // DigitTextBlock( - // caption: widget.type.toUpperCase(), - - // ), + // DigitTextBlock( + // caption: widget.type.toUpperCase(), + + // ), DigitTextBlock( - heading: '${t.translate(i18.measurementBook.item)} ${widget.index + 1}', - + heading: + '${t.translate(i18.measurementBook.item)} ${widget.index + 1}', ), - LabelValueList( - maxLines: 2, - labelFlex: 5, - valueFlex: 5, - items: [ - LabelValuePair( - label: t.translate(i18.measurementBook.isDeduction), - value: (widget - .filteredMeasurementsMeasure! - .contracts! - .first - .estimates! - .first - .isDeduction != - null && - widget - .filteredMeasurementsMeasure! - .contracts! - .first - .estimates! - .first - .isDeduction!) - ? t.translate(i18.measurementBook.yes) - : t.translate(i18.measurementBook.no)), - LabelValuePair( - label: t.translate( - i18.measurementBook.description, - ), - value: widget - .filteredMeasurementsMeasure! - .contracts! - .first - .estimates! - .first - .description ?? - "") - ]), + LabelValueList(maxLines: 2, labelFlex: 5, valueFlex: 5, items: [ + LabelValuePair( + label: t.translate(i18.measurementBook.isDeduction), + value: (widget.filteredMeasurementsMeasure!.contracts! + .first.estimates!.first.isDeduction != + null && + widget.filteredMeasurementsMeasure!.contracts! + .first.estimates!.first.isDeduction!) + ? t.translate(i18.measurementBook.yes) + : t.translate(i18.measurementBook.no)), + LabelValuePair( + label: t.translate( + i18.measurementBook.description, + ), + value: widget.filteredMeasurementsMeasure!.contracts! + .first.estimates!.first.description ?? + "") + ]), SingleChildScrollView( child: SizedBox( height: MediaQuery.sizeOf(context).height * 0.40, @@ -983,7 +963,8 @@ class _CardWidgetState extends State { decoration: BoxDecoration( borderRadius: BorderRadius.circular(50), border: Border.all( - width: 2, color: const DigitColors().burningOrange)), + width: 2, + color: Theme.of(context).colorScheme.primary)), child: CircleAvatar( backgroundColor: Colors.transparent, child: IconButton( @@ -999,7 +980,8 @@ class _CardWidgetState extends State { decoration: BoxDecoration( borderRadius: BorderRadius.circular(50), border: Border.all( - width: 2, color: const DigitColors().burningOrange)), + width: 2, + color: Theme.of(context).colorScheme.primary)), child: CircleAvatar( backgroundColor: Colors.transparent, child: IconButton( From 7dd263509699df81436efdedf32b7d34283430ce Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Fri, 27 Sep 2024 12:23:39 +0530 Subject: [PATCH 240/292] padding given and footeraction component implemented in mb config screen --- .../lib/pages/employee/mb_config_warning.dart | 253 ++++++++++-------- .../lib/pages/employee/mb_detail_page.dart | 72 +++-- 2 files changed, 195 insertions(+), 130 deletions(-) diff --git a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart index 2b5aadb01b..443ef2fc08 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart @@ -296,7 +296,11 @@ class _MBTypeConfirmationPageState extends State { ), ), Padding( - padding: const EdgeInsets.all(16.0), + padding: const EdgeInsets.only( + top: 0.0, + left: 16.0, + right: 16.0, + bottom: 0.0), child: Row( crossAxisAlignment: CrossAxisAlignment.center, @@ -331,7 +335,11 @@ class _MBTypeConfirmationPageState extends State { widget.nextActions!.action == "SEND_BACK_TO_ORIGINATOR") ? Padding( - padding: const EdgeInsets.all(16.0), + padding: const EdgeInsets.only( + left: 16.0, + right: 16.0, + top: 0.0, + bottom: 0.0), child: BlocBuilder( builder: (context, state) { @@ -532,10 +540,16 @@ class _MBTypeConfirmationPageState extends State { ], ), children: [ - Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - Button( + Padding( + padding: const EdgeInsets.only( + top: 16.0, + right: 16.0, + left: 16.0, + bottom: 16.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Button( mainAxisSize: MainAxisSize.min, label: '', size: ButtonSize.large, @@ -543,85 +557,104 @@ class _MBTypeConfirmationPageState extends State { onPressed: () { context.router.maybePopTop(); }, - suffixIcon: Icons.close), - ], + suffixIcon: Icons.close, + ), + ], + ), ), - Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - SizedBox( - width: MediaQuery.sizeOf(context).width * - 0.9, - child: DigitTextBlock( - heading: widget.stateActions!.action == - "SUBMIT" - ? t.translate(i18 - .measurementBook.mbcreateLabel) - : t.translate( - "WF_MB_ACTION_${widget.stateActions!.action}"), - // style: DigitTheme.instance.mobileTheme - // .textTheme.headlineLarge, - // overflow: TextOverflow.clip, - // maxLines: 1, + Padding( + padding: const EdgeInsets.only( + left: 16.0, + right: 16.0, + top: 0.0, + bottom: 0.0), + child: Row( + crossAxisAlignment: + CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + SizedBox( + width: + MediaQuery.sizeOf(context).width * + 0.9, + child: DigitTextBlock( + heading: widget + .stateActions!.action == + "SUBMIT" + ? t.translate(i18.measurementBook + .mbcreateLabel) + : t.translate( + "WF_MB_ACTION_${widget.stateActions!.action}"), + // style: DigitTheme.instance.mobileTheme + // .textTheme.headlineLarge, + // overflow: TextOverflow.clip, + // maxLines: 1, + ), ), - ), - ], + ], + ), ), (widget.stateActions!.action == "SUBMIT") - ? BlocBuilder( - builder: (context, state) { - return state.maybeMap( - orElse: () => - const SizedBox.shrink(), - loaded: (value) { - if (value.hrmsEmployee != null && - value.hrmsEmployee! - .isNotEmpty) { - return Padding( - padding: - const EdgeInsets.only( - top: 16.0), - child: - ui_component.LabeledField( - label: t.translate( - "WF_MODAL_APPROVER"), - child: ui_component.DigitDropdown< - HRMSEmployee>( - valueMapper: value - .hrmsEmployee! - .map((e) => ValueMapper( - code: e.uuid!, - name: t.translate(e - .employeeUser! - .name - .toString()))) - .toList(), - onSelect: (p0) { - setState(() { - selectedAssignee = - p0.code!; - }); - }, - items: value - .hrmsEmployee! - .map((e) => DropdownItem( - name: e - .employeeUser! - .userName!, - code: e.uuid!)) - .toList()), - ), - ); - } else { + ? Padding( + padding: const EdgeInsets.symmetric( + horizontal: 16.0), + child: BlocBuilder( + builder: (context, state) { + return state.maybeMap( + orElse: () => + const SizedBox.shrink(), + loaded: (value) { + if (value.hrmsEmployee != + null && + value.hrmsEmployee! + .isNotEmpty) { + return Padding( + padding: + const EdgeInsets.only( + top: 16.0), + child: ui_component + .LabeledField( + label: t.translate( + "WF_MODAL_APPROVER"), + child: ui_component.DigitDropdown< + HRMSEmployee>( + valueMapper: value + .hrmsEmployee! + .map((e) => ValueMapper( + code: e.uuid!, + name: t.translate(e + .employeeUser! + .name + .toString()))) + .toList(), + onSelect: (p0) { + setState(() { + selectedAssignee = + p0.code; + }); + }, + items: value + .hrmsEmployee! + .map((e) => DropdownItem( + name: e + .employeeUser! + .name!, + code: e.uuid!)) + .toList()), + ), + ); + } else { + return const SizedBox + .shrink(); + } + }, + error: (value) { return const SizedBox.shrink(); - } - }, - error: (value) { - return const SizedBox.shrink(); - }, - ); - }, + }, + ); + }, + ), ) : const SizedBox.shrink(), // DigitTextField( @@ -630,7 +663,8 @@ class _MBTypeConfirmationPageState extends State { // controller: comment, // ), Padding( - padding: const EdgeInsets.only(top: 16.0), + padding: const EdgeInsets.only( + top: 16.0, left: 16.0, right: 16.0), child: ui_component.LabeledField( label: t.translate("WF_MODAL_COMMENTS"), child: DigitTextAreaFormInput( @@ -640,34 +674,41 @@ class _MBTypeConfirmationPageState extends State { ), ), widget.stateActions!.action != null - ? Column( - children: [ - SizedBox( - height: Theme.of(context) - .spacerTheme - .spacer4, - ), - LabeledField( - label: - "${AppLocalizations.of(context).translate(i18.common.supportingDocumentHeader)}", - child: FileUploadWidget( - onFilesSelected: (files) { - uploadFileToServer(files, - context, supportDocument); + ? Padding( + padding: const EdgeInsets.only( + left: 16.0, + right: 16.0, + top: 8.0, + bottom: 0.0), + child: Column( + children: [ + SizedBox( + height: Theme.of(context) + .spacerTheme + .spacer4, + ), + LabeledField( + label: + "${AppLocalizations.of(context).translate(i18.common.supportingDocumentHeader)}", + child: FileUploadWidget( + onFilesSelected: (files) { + uploadFileToServer(files, + context, supportDocument); - Map - fileErrors = {}; + Map + fileErrors = {}; - return fileErrors; - }, - label: - "${AppLocalizations.of(context).translate(i18.common.chooseFile)}", + return fileErrors; + }, + label: + "${AppLocalizations.of(context).translate(i18.common.chooseFile)}", + ), ), - ), - DigitTextBlock( - description: t.translate( - i18.common.photoInfo)), - ], + DigitTextBlock( + description: t.translate( + i18.common.photoInfo)), + ], + ), ) : const SizedBox.shrink(), ], diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index b409ce989d..73670ce5e3 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -162,7 +162,9 @@ class _MBDetailPageState extends State ); if (payload.isNotEmpty) { // Loaders.showLoadingDialog(context, label: "Uploading..."); - shg_loader.Loaders.showLoadingDialog(context, label: AppLocalizations.of(context).translate(i18.common.uploading)); + shg_loader.Loaders.showLoadingDialog(context, + label: + AppLocalizations.of(context).translate(i18.common.uploading)); var response = await CoreRepository().uploadFiles( payload.map((e) => File(e.path ?? e.name!)).toList(), "img_measurement_book"); @@ -373,8 +375,11 @@ class _MBDetailPageState extends State ); } - Notifiers.getToastMessage(context, t.translate( - "WF_UPDATE_SUCCESS_MB_${valueLoaded.measurement?.workflow?.action}"), "SUCCESS"); + Notifiers.getToastMessage( + context, + t.translate( + "WF_UPDATE_SUCCESS_MB_${valueLoaded.measurement?.workflow?.action}"), + "SUCCESS"); // Toast.showToast( // context, @@ -637,7 +642,9 @@ class _MBDetailPageState extends State DigitTabBar( tabBarThemeData: const DigitTabBarThemeData().copyWith( - tabWidth: MediaQuery.sizeOf(context).width*0.32001, + tabWidth: MediaQuery.sizeOf(context) + .width * + 0.32001, padding: const EdgeInsets.all(0)), tabs: [ t.translate(i18.measurementBook.mbSor), @@ -678,7 +685,6 @@ class _MBDetailPageState extends State ), ) : renderSor(value.sor!, "sor"), - if (tabIndex == 1) value.nonSor!.isEmpty @@ -703,7 +709,7 @@ class _MBDetailPageState extends State ), ) : renderSor(value.nonSor!, "NonSor"), - + if (tabIndex == 2) widget.type == MBScreen.create ? Padding( @@ -722,7 +728,6 @@ class _MBDetailPageState extends State padding: const EdgeInsets .symmetric( horizontal: 0.0), - child: ui_label.LabeledField( label: @@ -738,6 +743,11 @@ class _MBDetailPageState extends State null ? value.data.first .documents! + .where((element) => + element + .isActive == + true) + .toList() .map((e) => PlatformFile( name: e .documentAdditionalDetails! @@ -840,9 +850,6 @@ class _MBDetailPageState extends State .symmetric( horizontal: 0.0), - - - child: ui_label .LabeledField( label: @@ -861,6 +868,10 @@ class _MBDetailPageState extends State .data .first .documents! + .where((element) => + element.isActive == + true) + .toList() .map((e) => PlatformFile( name: e.documentAdditionalDetails!.fileName!, @@ -934,10 +945,16 @@ class _MBDetailPageState extends State ), ) : Padding( - padding: EdgeInsets.only( - left: Theme.of(context).spacerTheme.spacer2, - right: Theme.of(context).spacerTheme.spacer2, - bottom: Theme.of(context).spacerTheme.spacer2, + padding: EdgeInsets.only( + left: Theme.of(context) + .spacerTheme + .spacer2, + right: Theme.of(context) + .spacerTheme + .spacer2, + bottom: Theme.of(context) + .spacerTheme + .spacer2, top: 0.0), child: ui_component.DigitCard( cardType: CardType.primary, @@ -955,10 +972,16 @@ class _MBDetailPageState extends State ) : !value.viewStatus ? Padding( - padding: EdgeInsets.only( - left: Theme.of(context).spacerTheme.spacer2, - right: Theme.of(context).spacerTheme.spacer2, - bottom: Theme.of(context).spacerTheme.spacer2, + padding: EdgeInsets.only( + left: Theme.of(context) + .spacerTheme + .spacer2, + right: Theme.of(context) + .spacerTheme + .spacer2, + bottom: Theme.of(context) + .spacerTheme + .spacer2, top: 0.0), child: ui_component.DigitCard( cardType: CardType.primary, @@ -978,8 +1001,6 @@ class _MBDetailPageState extends State .symmetric( horizontal: 0.0), - - child: ui_label .LabeledField( label: @@ -998,6 +1019,10 @@ class _MBDetailPageState extends State .data .first .documents! + .where((element) => + element.isActive == + true) + .toList() .map((e) => PlatformFile( name: e.documentAdditionalDetails!.fileName!, size: 0)) @@ -2077,8 +2102,6 @@ class _MBDetailPageState extends State value: preSorNonSor == null ? "0.0000" : preConumed), ]), - - Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, @@ -2754,8 +2777,9 @@ Widget renderSor( // .filteredMeasurementsMeasure, type: type, sorNonSorId: value![index].sorId!, - cardLevel: - AppLocalizations.of(context).translate( type=="sor"?i18.measurementBook.mbSor:i18.measurementBook.mbNonSor), + cardLevel: AppLocalizations.of(context).translate(type == "sor" + ? i18.measurementBook.mbSor + : i18.measurementBook.mbNonSor), ); }, itemCount: value!.length, From 47cc8ff26595986f098b675d640bc4bfb9eb5042 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Fri, 27 Sep 2024 14:06:35 +0530 Subject: [PATCH 241/292] pading and loader color changed --- .../lib/pages/employee/mb_config_warning.dart | 9 +- .../lib/pages/employee/mb_detail_page.dart | 1 + .../lib/pages/employee/mb_history.dart | 135 ++++++++++-------- .../employee/workOrder/work_order_inbox.dart | 10 +- .../works_shg_app/lib/widgets/loaders.dart | 4 +- 5 files changed, 85 insertions(+), 74 deletions(-) diff --git a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart index 443ef2fc08..4a65df528c 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart @@ -145,8 +145,8 @@ class _MBTypeConfirmationPageState extends State { (route) => route is! PopupRoute, ); //Loaders.showLoadingDialog(context); - shg_loader.Loaders.showLoadingDialog( - label: t.translate(i18.common.loading), context); + String msg = t.translate(i18.common.loading); + shg_loader.Loaders.showLoadingDialog(label: msg, context); }, error: (value) { Navigator.of( @@ -743,10 +743,11 @@ void uploadFileToServer(List files, BuildContext context, ).popUntil( (route) => route is! PopupRoute, ); + String msg=AppLocalizations.of(context).translate(i18.common.loading); shg_loader.Loaders.showLoadingDialog(context, - label: AppLocalizations.of(context).translate(i18.common.loading)); + label: msg); var response = await CoreRepository().uploadFiles( - files.map((e) => File(e.path ?? e.name!)).toList(), + files.map((e) => File(e.path ?? e.name)).toList(), "img_measurement_book"); for (int i = 0; i < response.length; i++) { diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index 73670ce5e3..5eee33d859 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -534,6 +534,7 @@ class _MBDetailPageState extends State Padding( padding: EdgeInsets.only( + top: 0.0, left: Theme.of(context).spacerTheme.spacer4, // bottom: // Theme.of(context).spacerTheme.spacer2, diff --git a/frontend/works_shg_app/lib/pages/employee/mb_history.dart b/frontend/works_shg_app/lib/pages/employee/mb_history.dart index 088bcf3186..91f88a9ec1 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_history.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_history.dart @@ -1,4 +1,4 @@ -import 'package:digit_components/theme/colors.dart'; +// import 'package:digit_components/theme/colors.dart'; import 'package:digit_components/theme/digit_theme.dart'; import 'package:digit_ui_components/digit_components.dart' as ui_component; import 'package:digit_ui_components/enum/app_enums.dart'; @@ -210,71 +210,80 @@ class _MBHistoryBookPageState extends State { SliverPersistentHeader( pinned: true, delegate: MyHeaderDelegate( - child: Container( - color: const DigitColors().seaShellGray, - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only( - left: 0.0, - bottom: 0.0, - top: 8.0, - right: 8.0), - child: Row( - mainAxisAlignment: - MainAxisAlignment.start, - crossAxisAlignment: - CrossAxisAlignment.center, - children: [ - Padding( - padding: EdgeInsets.symmetric( - horizontal: Theme.of(context).spacerTheme.spacer4, - vertical: Theme.of(context).spacerTheme.spacer4, - ), - child: BackNavigationButton( - backNavigationButtonThemeData: - const BackNavigationButtonThemeData() - .copyWith( - textColor: Theme.of(context) - .colorTheme - .primary - .primary2, - contentPadding: EdgeInsets.zero, - context: context, - backButtonIcon: Icon( - Icons.arrow_circle_left_outlined, - size: MediaQuery.of(context).size.width < 500 - ? Theme.of(context).spacerTheme.spacer5 - : Theme.of(context).spacerTheme.spacer6, - color: Theme.of(context).colorTheme.primary.primary2, - ) - ), - backButtonText: - AppLocalizations.of(context) - .translate(i18 - .common.back) ?? - 'Back', - handleBack: () { - context.router.maybePopTop(); - }, - ), - ), - ], - ), - ), - Padding( - padding: const EdgeInsets.only(left: 8.0,top: 0.0), - child: DigitTextBlock( - heading: t.translate( - i18.measurementBook.mbHistory), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: + CrossAxisAlignment.center, + children: [ + Padding( + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context) + .spacerTheme + .spacer4, + vertical: Theme.of(context) + .spacerTheme + .spacer4, + ), + child: BackNavigationButton( + backNavigationButtonThemeData: + const BackNavigationButtonThemeData() + .copyWith( + textColor: + Theme.of(context) + .colorTheme + .primary + .primary2, + contentPadding: + EdgeInsets.zero, + context: context, + backButtonIcon: Icon( + Icons + .arrow_circle_left_outlined, + size: MediaQuery.of( + context) + .size + .width < + 500 + ? Theme.of(context) + .spacerTheme + .spacer5 + : Theme.of(context) + .spacerTheme + .spacer6, + color: Theme.of(context) + .colorTheme + .primary + .primary2, + )), + backButtonText: AppLocalizations.of( + context) + .translate(i18.common.back) ?? + 'Back', + handleBack: () { + context.router.maybePopTop(); + }, + ), ), + ], + ), + Padding( + padding: EdgeInsets.only( + left: Theme.of(context) + .spacerTheme + .spacer4, + top: 0.0), + child: DigitTextBlock( + heading: t.translate( + i18.measurementBook.mbHistory), ), - ], - ), + ), + ], ), - height:kIsWeb?120: 120, + height: kIsWeb ? 120 : 120, ), ), SliverList( diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart index 807141eb50..52d2c858b8 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart @@ -264,17 +264,17 @@ class _WorkOderInboxPageState extends State { ]), ), Padding( - padding: const EdgeInsets.only(left: 12.0), + padding: EdgeInsets.only(left: Theme.of(context).spacerTheme.spacer4,top: 0.0,bottom: 0.0), child: DigitTextBlock( heading: "${t.translate(i18.measurementBook.workOrderInbox)} (${value.contracts?.length ?? 0})", ), ), Padding( - padding: const EdgeInsets.only( - left: 4.0, - right: 8.0, - top: 4.0, + padding: EdgeInsets.only( + left: Theme.of(context).spacerTheme.spacer2, + right: Theme.of(context).spacerTheme.spacer2, + top: 0.0, bottom: 0), child: Row( mainAxisAlignment: diff --git a/frontend/works_shg_app/lib/widgets/loaders.dart b/frontend/works_shg_app/lib/widgets/loaders.dart index 8fa78118ff..95484e49fe 100644 --- a/frontend/works_shg_app/lib/widgets/loaders.dart +++ b/frontend/works_shg_app/lib/widgets/loaders.dart @@ -26,8 +26,8 @@ class Loaders { ), Text( AppLocalizations.of(context).translate(i18.common.loading) ??'Loading...', - style: const TextStyle( - color: Colors.white, + style: TextStyle( + color: Theme.of(context).colorTheme.primary.primary1, fontFamily: 'Roboto', fontSize: 16, fontWeight: FontWeight.w700), From c3c2d2b187639b6a6b511d0ff3af19807c99bb45 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Mon, 30 Sep 2024 11:06:39 +0530 Subject: [PATCH 242/292] UI_UX changes implemented --- .../assets/images/powered_by_digit.png | Bin 0 -> 5524 bytes .../works_shg_app/lib/Env/env_config.dart | 3 +- .../lib/blocs/app_bloc_observer.dart | 3 +- .../app_initilization/app_initilization.dart | 7 +- .../works_shg_app/lib/blocs/auth/auth.dart | 3 +- .../lib/pages/bills/my_bills.dart | 56 +- .../lib/pages/employee/mb_detail_page.dart | 290 +++++----- .../lib/pages/employee/mb_filter_page.dart | 2 +- .../lib/pages/employee/mb_history.dart | 273 +++------- .../lib/pages/employee/mb_muster_screen.dart | 3 +- .../workOrder/work_order_details.dart | 133 ----- .../employee/workOrder/work_order_inbox.dart | 8 +- frontend/works_shg_app/lib/pages/home.dart | 3 +- frontend/works_shg_app/lib/pages/login.dart | 8 +- .../works_shg_app/lib/pages/org_profile.dart | 26 +- .../service_requests/service_requests.dart | 104 ++-- .../track_attendance_inbox.dart | 5 +- .../lib/pages/track_attendance.dart | 178 +------ .../lib/pages/view_muster_rolls.dart | 3 +- .../financial_details.dart | 5 +- .../location_details.dart | 2 +- .../pages/work_order/view_work_details.dart | 2 +- .../lib/pages/work_order/work_order.dart | 8 +- .../lib/router/app_navigator_observer.dart | 3 +- .../works_shg_app/lib/router/app_router.dart | 76 +-- .../lib/router/app_router.gr.dart | 20 - .../works_shg_app/lib/utils/constants.dart | 2 +- .../lib/utils/global_variables.dart | 7 +- .../lib/widgets/atoms/app_bar_logo.dart | 2 +- .../lib/widgets/atoms/attachments.dart | 7 +- .../atoms/auto_complete_search_bar.dart | 6 +- .../lib/widgets/atoms/button_group.dart | 2 +- .../lib/widgets/atoms/custom_info_card.dart | 9 +- .../lib/widgets/atoms/date_range_picker.dart | 50 +- .../lib/widgets/atoms/digit_base_stepper.dart | 5 +- .../lib/widgets/atoms/digit_indicator.dart | 5 +- .../lib/widgets/atoms/digit_timeline.dart | 178 +------ .../widgets/atoms/multiselect_checkbox.dart | 7 +- .../lib/widgets/atoms/radio_button_list.dart | 8 +- .../lib/widgets/atoms/resend_otp.dart | 2 +- .../lib/widgets/atoms/sub_label.dart | 4 +- .../lib/widgets/atoms/table_dropdown.dart | 11 +- .../lib/widgets/atoms/tabs_button.dart | 13 +- frontend/works_shg_app/lib/widgets/back.dart | 10 +- .../lib/widgets/button_link.dart | 5 +- .../works_shg_app/lib/widgets/label_text.dart | 6 +- .../works_shg_app/lib/widgets/loaders.dart | 3 +- .../lib/widgets/mb/back_button.dart | 33 -- .../lib/widgets/mb/custom_tab.dart | 87 --- .../lib/widgets/mb/float_action_card.dart | 4 +- .../lib/widgets/mb/mb_detail_card.dart | 144 ----- .../lib/widgets/mb/multi_image.dart | 13 +- .../lib/widgets/mb/multi_line_items.dart | 3 +- .../lib/widgets/mb/radio_button_sheet.dart | 2 +- .../lib/widgets/mb/text_button_underline.dart | 48 -- .../lib/widgets/molecules/desktop_view.dart | 5 +- .../molecules/digit_search_dropdown.dart | 5 +- .../lib/widgets/molecules/digit_table.dart | 18 +- .../lib/widgets/molecules/file_picker.dart | 14 +- .../widgets/molecules/mb/table_form_data.dart | 67 --- .../lib/widgets/molecules/mobile_view.dart | 5 +- .../lib/widgets/molecules/success_page.dart | 3 +- .../works_shg_app/lib/widgets/side_bar.dart | 503 +++++++++--------- .../lib/widgets/work_details_card.dart | 2 +- frontend/works_shg_app/pubspec.yaml | 1 + 65 files changed, 763 insertions(+), 1760 deletions(-) create mode 100644 frontend/works_shg_app/assets/images/powered_by_digit.png delete mode 100644 frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart delete mode 100644 frontend/works_shg_app/lib/widgets/mb/back_button.dart delete mode 100644 frontend/works_shg_app/lib/widgets/mb/custom_tab.dart delete mode 100644 frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart delete mode 100644 frontend/works_shg_app/lib/widgets/mb/text_button_underline.dart delete mode 100644 frontend/works_shg_app/lib/widgets/molecules/mb/table_form_data.dart diff --git a/frontend/works_shg_app/assets/images/powered_by_digit.png b/frontend/works_shg_app/assets/images/powered_by_digit.png new file mode 100644 index 0000000000000000000000000000000000000000..f83334fd6168e2aadc21bac07d217b53600ee296 GIT binary patch literal 5524 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 => DigitRowCardModel.fromJson(e)) + .map((e) => DigitRowCardModel(label: e['label'].toString(), value: e['value'].toString(),isSelected: e['isSelected'])) .toList(); } else {} @@ -197,7 +198,7 @@ class AppInitializationBloc stateInfoListModel = StateInfoListModel.fromJson(jsonDecode(localStateData)); digitRowCardItems = jsonDecode(localLanguageData) - .map((e) => DigitRowCardModel.fromJson(e)) + .map((e) => DigitRowCardModel(label: e['label'], value: e['value'],isSelected: e['isSelected'])) .toList(); } else {} diff --git a/frontend/works_shg_app/lib/blocs/auth/auth.dart b/frontend/works_shg_app/lib/blocs/auth/auth.dart index a7a9edb08f..0f9fec6789 100644 --- a/frontend/works_shg_app/lib/blocs/auth/auth.dart +++ b/frontend/works_shg_app/lib/blocs/auth/auth.dart @@ -1,7 +1,8 @@ import 'dart:async'; import 'dart:convert'; -import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; +// import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; +import 'package:digit_ui_components/widgets/molecules/language_selection_card.dart'; import 'package:dio/dio.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/frontend/works_shg_app/lib/pages/bills/my_bills.dart b/frontend/works_shg_app/lib/pages/bills/my_bills.dart index 42593b8ff7..86de9744a8 100644 --- a/frontend/works_shg_app/lib/pages/bills/my_bills.dart +++ b/frontend/works_shg_app/lib/pages/bills/my_bills.dart @@ -59,7 +59,7 @@ class _MyBillsPage extends State { Widget build(BuildContext context) { var t = AppLocalizations.of(context); return Scaffold( - backgroundColor: Theme.of(context).colorTheme.generic.background, + backgroundColor: Theme.of(context).colorTheme.generic.background, // appBar: customAppBar(), // drawer: const MySideBar(), bottomNavigationBar: BlocBuilder( @@ -97,8 +97,8 @@ class _MyBillsPage extends State { loading: () => shg_loader.Loaders.circularLoader(context), error: (String? error) { - Notifiers.getToastMessage( - context, t.translate(error.toString()), 'ERROR'); + Notifiers.getToastMessage(context, + t.translate(error.toString()), 'ERROR'); // Toast.showToast(context, // message: t.translate(error.toString()), // type: ToastType.error); @@ -314,22 +314,44 @@ class _MyBillsPage extends State { CrossAxisAlignment.start, children: [ Padding( - padding: EdgeInsets.symmetric( - horizontal: Theme.of(context).spacerTheme.spacer4, - vertical: Theme.of(context).spacerTheme.spacer4, - ), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context) + .spacerTheme + .spacer4, + vertical: Theme.of(context) + .spacerTheme + .spacer4, + ), child: Row( children: [ BackNavigationButton( - backNavigationButtonThemeData: const BackNavigationButtonThemeData().copyWith( - context: context, - backButtonIcon: Icon( - Icons.arrow_circle_left_outlined, - size: MediaQuery.of(context).size.width < 500 - ? Theme.of(context).spacerTheme.spacer5 - : Theme.of(context).spacerTheme.spacer6, - color: Theme.of(context).colorTheme.primary.primary2, - )), + backNavigationButtonThemeData: + const BackNavigationButtonThemeData() + .copyWith( + context: context, + backButtonIcon: + Icon( + Icons + .arrow_circle_left_outlined, + size: MediaQuery.of( + context) + .size + .width < + 500 + ? Theme.of( + context) + .spacerTheme + .spacer5 + : Theme.of( + context) + .spacerTheme + .spacer6, + color: Theme.of( + context) + .colorTheme + .primary + .primary2, + )), backButtonText: AppLocalizations.of(context) .translate( @@ -349,7 +371,7 @@ class _MyBillsPage extends State { children: [ Padding( padding: - const EdgeInsets.all(16.0), + EdgeInsets.only(left:Theme.of(context).spacerTheme.spacer4,bottom: Theme.of(context).spacerTheme.spacer4,top: 0.0,right: 0.0), child: DigitTextBlock( heading: '${AppLocalizations.of(context).translate(i18.home.myBills)} (${billList.length})', diff --git a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart index 5eee33d859..4ed16e4929 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_detail_page.dart @@ -17,7 +17,7 @@ import 'package:digit_ui_components/widgets/molecules/bottom_sheet.dart'; import 'package:digit_ui_components/widgets/molecules/digit_card.dart' as ui_component; import 'package:collection/collection.dart'; -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/widgets/molecules/digit_timeline_molecule.dart'; import 'package:digit_ui_components/widgets/widgets.dart'; import 'package:file_picker/file_picker.dart'; @@ -1535,21 +1535,31 @@ class _MBDetailPageState extends State t.translate(i18 .measurementBook .totalSorAmount), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of(context) + .digitTextTheme( + context) + .headingM + .copyWith( + color: Theme.of( + context) + .colorScheme + .secondary, + ), ), subtitle: Text( t.translate(i18 .measurementBook .forCurrentEntry), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .bodySmall, + style: Theme.of(context) + .digitTextTheme( + context) + .bodyS + .copyWith( + color: Theme.of( + context) + .colorScheme + .secondary, + ), ), trailing: Text( value.data.first @@ -1557,11 +1567,14 @@ class _MBDetailPageState extends State .toDouble() .toStringAsFixed(2), // totalSorAmount.toDouble().toStringAsFixed(2), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of(context) + .digitTextTheme( + context) + .headingL + .copyWith( + color: + Colors.black, + ), ), ), ), @@ -1586,21 +1599,31 @@ class _MBDetailPageState extends State t.translate(i18 .measurementBook .totalNonSorAmount), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of(context) + .digitTextTheme( + context) + .headingM + .copyWith( + color: Theme.of( + context) + .colorScheme + .secondary, + ), ), subtitle: Text( t.translate(i18 .measurementBook .forCurrentEntry), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .bodySmall, + style: Theme.of(context) + .digitTextTheme( + context) + .bodyS + .copyWith( + color: Theme.of( + context) + .colorScheme + .secondary, + ), ), trailing: Text( value.data.first @@ -1608,11 +1631,14 @@ class _MBDetailPageState extends State .toDouble() .toStringAsFixed(2), // totalNonSorAmount.toDouble().toStringAsFixed(2), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of(context) + .digitTextTheme( + context) + .headingL + .copyWith( + color: + Colors.black, + ), ), ), ), @@ -1653,21 +1679,33 @@ class _MBDetailPageState extends State t.translate(i18 .measurementBook .totalMbAmount), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of( + context) + .digitTextTheme( + context) + .headingM + .copyWith( + color: Theme.of( + context) + .colorScheme + .secondary, + ), ), subtitle: Text( t.translate(i18 .measurementBook .forCurrentEntry), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .bodySmall, + style: Theme.of( + context) + .digitTextTheme( + context) + .bodyS + .copyWith( + color: Theme.of( + context) + .colorScheme + .secondary, + ), ), ), ), @@ -1688,11 +1726,15 @@ class _MBDetailPageState extends State .toStringAsFixed( 2), // mbAmount.roundToDouble().toStringAsFixed(2), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of( + context) + .digitTextTheme( + context) + .headingL + .copyWith( + color: Colors + .black, + ), ), ], )), @@ -1763,21 +1805,19 @@ class _MBDetailPageState extends State t.translate(i18 .measurementBook .totalSorAmount), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of(context) + .digitTextTheme( + context) + .headingM, ), subtitle: Text( t.translate(i18 .measurementBook .forCurrentEntry), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .bodySmall, + style: Theme.of(context) + .digitTextTheme( + context) + .bodyS, ), trailing: Text( value.data.first @@ -1785,11 +1825,10 @@ class _MBDetailPageState extends State .toDouble() .toStringAsFixed(2), // totalSorAmount.toDouble().toStringAsFixed(2), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of(context) + .digitTextTheme( + context) + .headingM, ), ), ), @@ -1814,21 +1853,19 @@ class _MBDetailPageState extends State t.translate(i18 .measurementBook .totalNonSorAmount), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of(context) + .digitTextTheme( + context) + .headingM, ), subtitle: Text( t.translate(i18 .measurementBook .forCurrentEntry), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .bodySmall, + style: Theme.of(context) + .digitTextTheme( + context) + .bodyS, ), trailing: Text( // "23.98", @@ -1837,11 +1874,10 @@ class _MBDetailPageState extends State .toDouble() .toStringAsFixed(2), // totalNonSorAmount.toDouble().toStringAsFixed(2), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of(context) + .digitTextTheme( + context) + .headingM, ), ), ), @@ -1882,21 +1918,21 @@ class _MBDetailPageState extends State t.translate(i18 .measurementBook .totalMbAmount), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of( + context) + .digitTextTheme( + context) + .headingM, ), subtitle: Text( t.translate(i18 .measurementBook .forCurrentEntry), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .bodySmall, + style: Theme.of( + context) + .digitTextTheme( + context) + .bodyS, ), ), ), @@ -1917,11 +1953,11 @@ class _MBDetailPageState extends State .toStringAsFixed( 2), // mbAmount.roundToDouble().toStringAsFixed(2), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of( + context) + .digitTextTheme( + context) + .headingM, ), ], )), @@ -2117,7 +2153,7 @@ class _MBDetailPageState extends State height: 50, decoration: BoxDecoration( border: Border.all( - color: const DigitColors().cloudGray, + color: Theme.of(context).colorTheme.paper.secondary, width: 2.0, ), borderRadius: BorderRadius.circular(1), @@ -2184,7 +2220,7 @@ class _MBDetailPageState extends State child: Icon( Icons.add_circle, size: 30, - color: const DigitColors().burningOrange, + color: Theme.of(context).colorTheme.primary.primary1, ), ), ), @@ -2214,7 +2250,7 @@ class _MBDetailPageState extends State top: 10.0, left: 5.0, right: 5.0, bottom: 10), decoration: BoxDecoration( border: Border.all( - color: const DigitColors().cloudGray, + color: Theme.of(context).colorTheme.paper.secondary, width: 2.0, ), borderRadius: BorderRadius.circular(1), @@ -2442,72 +2478,6 @@ class _MBDetailPageState extends State } } -class SORTableCard extends StatelessWidget { - final Map element; - final Border? border; - final Color? color; - final EdgeInsetsGeometry? padding; - final double gap; - final num fraction; - - const SORTableCard({ - super.key, - required this.element, - this.border, - this.color, - this.padding, - this.gap = 0, - this.fraction = 2, - }); - - @override - Widget build(BuildContext context) { - final theme = Theme.of(context); - return Padding( - padding: const EdgeInsets.only(top: 10), - child: Container( - decoration: BoxDecoration( - color: color, - borderRadius: BorderRadius.circular(4), - border: border), - child: Padding( - padding: padding ?? const EdgeInsets.only(right: 8, bottom: 16), - child: Column( - children: element.keys - .map((e) => Container( - margin: DigitTheme.instance.verticalMargin, - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SizedBox( - width: MediaQuery.of(context).size.width / fraction, - child: Text( - e, - style: theme.textTheme.headlineSmall, - textAlign: TextAlign.start, - ), - ), - SizedBox(width: gap), - Flexible( - child: Padding( - padding: const EdgeInsets.only(top: 1), - child: Text( - element[e].toString(), - maxLines: 3, - overflow: TextOverflow.ellipsis, - ), - )), - ], - ), - )) - .toList(), - ), - ), - ), - ); - } -} - // class SorCard extends StatefulWidget { diff --git a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart index 4454f82c2b..9b6a38955c 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart @@ -1,4 +1,4 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/digit_components.dart' as ui_component; import 'package:digit_ui_components/enum/app_enums.dart'; import 'package:digit_ui_components/models/models.dart'; diff --git a/frontend/works_shg_app/lib/pages/employee/mb_history.dart b/frontend/works_shg_app/lib/pages/employee/mb_history.dart index 91f88a9ec1..a7cf1353d4 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_history.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_history.dart @@ -1,5 +1,5 @@ // import 'package:digit_components/theme/colors.dart'; -import 'package:digit_components/theme/digit_theme.dart'; +// import 'package:digit_components/theme/digit_theme.dart'; import 'package:digit_ui_components/digit_components.dart' as ui_component; import 'package:digit_ui_components/enum/app_enums.dart'; import 'package:digit_ui_components/theme/ComponentTheme/back_button_theme.dart'; @@ -73,131 +73,6 @@ class _MBHistoryBookPageState extends State { .where((element) => element.wfStatus == "APPROVED") .toList(); return Scaffold( - // bottomNavigationBar: widget.type == MBScreen.create - // ? const SizedBox.shrink() - // : BlocBuilder( - // builder: (context, state) { - // return state.maybeMap( - // orElse: () => const SizedBox.shrink(), - // loaded: (mbWorkFlow) { - // final g = mbWorkFlow - // .musterWorkFlowModel?.processInstances; - // return Draggable( - // childWhenDragging: FloatActionCard( - // subtext: t.translate( - // i18.measurementBook.forCurrentEntry), - // actions: () { - // showDialog( - // context: context, - // builder: (context) => CommonButtonCard( - // g: g, - // contractNumber: widget.contractNumber, - // mbNumber: widget.mbNumber, - // type: widget.type, - // ), - // ); - // }, - // amount: value.data.first.totalAmount != null - // ? value.data.first.totalAmount! - // .roundToDouble() - // .toStringAsFixed(2) - // : "0.00", - // openButtonSheet: () { - // _openBottomSheet( - // t, - // context, - // value.data.first.totalSorAmount!, - // value.data.first.totalNorSorAmount!, - // value.data.first.totalAmount!, - // g, - // widget.contractNumber, - // widget.mbNumber, - // (g != null && - // (g.first.nextActions != - // null && - // g.first.nextActions! - // .isEmpty)) - // ? false - // : true); - // }, - // totalAmountText: t.translate( - // i18.measurementBook.totalMbAmount), - // showAction: (g != null && - // (g.first.nextActions != null && - // g.first.nextActions!.isEmpty)) - // ? false - // : true, - // ), - // onDragEnd: (details) { - // _openBottomSheet( - // t, - // context, - // value.data.first.totalSorAmount!, - // value.data.first.totalNorSorAmount!, - // value.data.first.totalAmount!, - // g, - // widget.contractNumber, - // widget.mbNumber, - // (g != null && - // (g.first.nextActions != null && - // g.first.nextActions! - // .isEmpty)) - // ? false - // : true); - // }, - // feedback: const SizedBox.shrink(), - // child: FloatActionCard( - // subtext: t.translate( - // i18.measurementBook.forCurrentEntry), - // actions: () { - // showDialog( - // context: context, - // builder: (context) => CommonButtonCard( - // g: g, - // contractNumber: widget.contractNumber, - // mbNumber: widget.mbNumber, - // type: widget.type, - // ), - // ); - // }, - // amount: value.data.first.totalAmount != null - // ? value.data.first.totalAmount! - // .roundToDouble() - // .toStringAsFixed(2) - // : "0.00", - // openButtonSheet: () { - // _openBottomSheet( - // t, - // context, - // value.data.first.totalSorAmount!, - // value.data.first.totalNorSorAmount!, - // value.data.first.totalAmount!, - // g, - // widget.contractNumber, - // widget.mbNumber, - // (g != null && - // (g.first.nextActions != - // null && - // g.first.nextActions! - // .isEmpty)) - // ? false - // : true); - // }, - // totalAmountText: t.translate( - // i18.measurementBook.totalMbAmount), - // showAction: (g != null && - // (g.first.nextActions != null && - // g.first.nextActions!.isEmpty)) - // ? false - // : true, - // ), - // ); - // }, - // ); - // }, - // ), - backgroundColor: Theme.of(context).colorTheme.generic.background, // appBar: customAppBar(), @@ -588,21 +463,27 @@ class _MBHistoryBookPageState extends State { t.translate(i18 .measurementBook .totalSorAmount), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of(context) + .digitTextTheme(context) + .headingM + .copyWith( + color: Theme.of(context) + .colorScheme + .secondary, + ), ), subtitle: Text( t.translate(i18 .measurementBook .forCurrentEntry), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .bodySmall, + style: Theme.of(context) + .digitTextTheme(context) + .bodyS + .copyWith( + color: Theme.of(context) + .colorScheme + .secondary, + ), ), trailing: Text( value.data.first @@ -610,11 +491,12 @@ class _MBHistoryBookPageState extends State { .toDouble() .toStringAsFixed(2), // totalSorAmount.toDouble().toStringAsFixed(2), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of(context) + .digitTextTheme(context) + .headingL + .copyWith( + color: Colors.black, + ), ), ), ), @@ -637,21 +519,27 @@ class _MBHistoryBookPageState extends State { t.translate(i18 .measurementBook .totalNonSorAmount), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of(context) + .digitTextTheme(context) + .headingM + .copyWith( + color: + Theme.of(context) + .colorScheme + .secondary), ), subtitle: Text( t.translate(i18 .measurementBook .forCurrentEntry), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .bodySmall, + style: Theme.of(context) + .digitTextTheme(context) + .bodyS + .copyWith( + color: + Theme.of(context) + .colorScheme + .secondary), ), trailing: Text( // "23.98", @@ -660,11 +548,11 @@ class _MBHistoryBookPageState extends State { .toDouble() .toStringAsFixed(2), // totalNonSorAmount.toDouble().toStringAsFixed(2), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of(context) + .digitTextTheme(context) + .headingL + .copyWith( + color: Colors.black), ), ), ), @@ -704,21 +592,29 @@ class _MBHistoryBookPageState extends State { t.translate(i18 .measurementBook .totalMbAmount), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of(context) + .digitTextTheme( + context) + .headingM + .copyWith( + color: Theme.of( + context) + .colorScheme + .secondary), ), subtitle: Text( t.translate(i18 .measurementBook .forCurrentEntry), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .bodySmall, + style: Theme.of(context) + .digitTextTheme( + context) + .bodyS + .copyWith( + color: Theme.of( + context) + .colorScheme + .secondary), ), ), ), @@ -737,11 +633,14 @@ class _MBHistoryBookPageState extends State { .toStringAsFixed( 2), // mbAmount.roundToDouble().toStringAsFixed(2), - style: DigitTheme - .instance - .mobileTheme - .textTheme - .headlineMedium, + style: Theme.of( + context) + .digitTextTheme( + context) + .headingL + .copyWith( + color: Colors + .black), ), ], )), @@ -812,18 +711,15 @@ class _MBHistoryBookPageState extends State { title: Text( // "Total SOR Amount", t.translate(i18.measurementBook.totalSorAmount), - style: DigitTheme - .instance.mobileTheme.textTheme.headlineMedium, + style: Theme.of(context).digitTextTheme(context).headingM, ), subtitle: Text( t.translate(i18.measurementBook.forCurrentEntry), - style: - DigitTheme.instance.mobileTheme.textTheme.bodySmall, + style: Theme.of(context).digitTextTheme(context).bodyS, ), trailing: Text( totalSorAmount.toDouble().toStringAsFixed(2), - style: DigitTheme - .instance.mobileTheme.textTheme.headlineMedium, + style: Theme.of(context).digitTextTheme(context).headingM, ), ), ), @@ -843,18 +739,15 @@ class _MBHistoryBookPageState extends State { title: Text( // "Total Non SOR Amount", t.translate(i18.measurementBook.totalNonSorAmount), - style: DigitTheme - .instance.mobileTheme.textTheme.headlineMedium, + style: Theme.of(context).digitTextTheme(context).headingM, ), subtitle: Text( t.translate(i18.measurementBook.forCurrentEntry), - style: - DigitTheme.instance.mobileTheme.textTheme.bodySmall, + style: Theme.of(context).digitTextTheme(context).bodyS, ), trailing: Text( totalNonSorAmount.toDouble().toStringAsFixed(2), - style: DigitTheme - .instance.mobileTheme.textTheme.headlineMedium, + style: Theme.of(context).digitTextTheme(context).headingM, ), ), ), @@ -886,13 +779,14 @@ class _MBHistoryBookPageState extends State { title: Text( // "Total MB Amount", t.translate(i18.measurementBook.totalMbAmount), - style: DigitTheme - .instance.mobileTheme.textTheme.headlineMedium, + style: Theme.of(context) + .digitTextTheme(context) + .headingM, ), subtitle: Text( t.translate(i18.measurementBook.forCurrentEntry), - style: DigitTheme - .instance.mobileTheme.textTheme.bodySmall, + style: + Theme.of(context).digitTextTheme(context).bodyS, ), ), ), @@ -903,8 +797,9 @@ class _MBHistoryBookPageState extends State { children: [ Text( mbAmount.roundToDouble().toStringAsFixed(2), - style: DigitTheme.instance.mobileTheme.textTheme - .headlineMedium, + style: Theme.of(context) + .digitTextTheme(context) + .headingM, ), ], )), diff --git a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart index e0f0b1675c..2fbbe0bb37 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_muster_screen.dart @@ -1,5 +1,5 @@ import 'package:collection/collection.dart'; -import 'package:digit_components/widgets/widgets.dart'; +// import 'package:digit_components/widgets/widgets.dart'; import 'package:digit_ui_components/digit_components.dart' as ui_component; import 'package:digit_ui_components/theme/ComponentTheme/back_button_theme.dart'; import 'package:digit_ui_components/theme/digit_extended_theme.dart'; @@ -8,6 +8,7 @@ import 'package:digit_ui_components/widgets/atoms/label_value_list.dart'; import 'package:digit_ui_components/widgets/molecules/digit_card.dart' as ui_card; import 'package:digit_ui_components/widgets/molecules/digit_timeline_molecule.dart'; +import 'package:digit_ui_components/widgets/powered_by_digit.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/auth/auth.dart'; diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart deleted file mode 100644 index 81249d6067..0000000000 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_details.dart +++ /dev/null @@ -1,133 +0,0 @@ -import 'package:digit_components/digit_components.dart'; -import 'package:digit_ui_components/theme/digit_extended_theme.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:works_shg_app/router/app_router.dart'; -import 'package:works_shg_app/utils/employee/mb/mb_logic.dart'; -import 'package:works_shg_app/widgets/back.dart'; -import 'package:works_shg_app/widgets/mb/custom_side_bar.dart'; -import 'package:works_shg_app/widgets/new_custom_app_bar.dart'; - -import '../../../blocs/localization/app_localization.dart'; -import '../../../blocs/localization/localization.dart'; -import '../../../utils/common_widgets.dart'; -import '../../../widgets/work_order/work_order_card.dart'; -import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' - as i18; - -@RoutePage() -class WorkOrderDetailPage extends StatefulWidget { - const WorkOrderDetailPage({super.key}); - - @override - State createState() => _WorkOrderDetailPageState(); -} - -class _WorkOrderDetailPageState extends State { - @override - Widget build(BuildContext context) { - var t = AppLocalizations.of(context); - return Scaffold( - backgroundColor: Theme.of(context).colorTheme.generic.background, - bottomNavigationBar: Padding( - padding: const EdgeInsets.only(top: 8.0), - child: Container( - height: 60, - decoration: BoxDecoration(color: const DigitColors().white), - child: Padding( - padding: const EdgeInsets.all(8.0), - child: DigitElevatedButton( - child: Text(t.translate(i18.measurementBook.createMb)), - onPressed: () { - context.router.push(MBDetailRoute( - contractNumber: '', - mbNumber: '', - type: MBScreen.create, - )); - }, - ), - ), - ), - ), - // appBar: customAppBar(), - // drawer: const MySideBar(), - body: BlocBuilder( - builder: (context, state) { - return ScrollableContent( - backgroundColor: Theme.of(context).colorTheme.generic.background, - header: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Back( - backLabel: - AppLocalizations.of(context).translate(i18.common.back), - callback: () { - // context.router.popUntilRouteWithPath('home') ; - // context.router.push(const WorkOrderRoute()); - context.router.maybePopTop(); - }, - ), - CommonWidgets.downloadButton( - AppLocalizations.of(context).translate(i18.common.download), - () { - // context.read().add( - // PDFEventWorkOrder( - // contractId: widget.contractNumber, - // tenantId: contracts.first.tenantId)); - }) - ], - ), - children: [ - Padding( - padding: const EdgeInsets.all(8.0), - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - "Work Order Details", - style: DigitTheme - .instance.mobileTheme.textTheme.headlineLarge, - ), - ], - ), - ), - const WorkOrderCard( - items: { - "Work Order Number": "we#12", - "Project Name": "sa", - "ProjectID": "123@#", - "Location": "MG Road", - "Project Type": "Wall Paintng", - "Project Description": "Wall Painting in Ward 1" - }, - ), - const WorkOrderCard( - headLabel: "Contact Details", - items: { - "Name of CBO": "we#12", - "Role of CBO": "sa", - "Name of officer in-charge": "123@#", - "Desgination of officer in-charge": "MG Road", - "Completion Period": "Wall Paintng", - "Work Value": "Wall Painting in Ward 1" - }, - ), - const WorkOrderCard( - headLabel: "Work Timelines", - items: { - "Name of CBO": "we#12", - "Role of CBO": "sa", - "Name of officer in-charge": "123@#", - "Desgination of officer in-charge": "MG Road", - "Completion Period": "Wall Paintng", - "Work Value": "Wall Painting in Ward 1" - }, - ) - ], - ); - }, - ), - ); - } -} diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart index 52d2c858b8..7bcf44611b 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/work_order_inbox.dart @@ -1,5 +1,5 @@ import 'package:collection/collection.dart'; -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/digit_components.dart' as ui_component; import 'package:digit_ui_components/enum/app_enums.dart'; import 'package:digit_ui_components/theme/ComponentTheme/back_button_theme.dart'; @@ -163,7 +163,7 @@ class _WorkOderInboxPageState extends State { if (value.contracts!.length > 19) { return TextButton.icon( style: TextButton.styleFrom( - backgroundColor: const DigitColors().white, + backgroundColor: Colors.white, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(20), side: BorderSide( @@ -216,7 +216,7 @@ class _WorkOderInboxPageState extends State { floating: true, delegate: MyHeaderDelegate( child: Container( - color: const DigitColors().seaShellGray, + color:Theme.of(context).colorTheme.generic.background , child: Column( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, @@ -290,7 +290,7 @@ class _WorkOderInboxPageState extends State { type: ui_component.ButtonType.tertiary, size: ui_component.ButtonSize.large), - + // reset //TODO: not needed // value.search diff --git a/frontend/works_shg_app/lib/pages/home.dart b/frontend/works_shg_app/lib/pages/home.dart index 1582a3973f..89e863ad42 100644 --- a/frontend/works_shg_app/lib/pages/home.dart +++ b/frontend/works_shg_app/lib/pages/home.dart @@ -1,4 +1,4 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/enum/app_enums.dart'; import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:digit_ui_components/widgets/atoms/digit_button.dart'; @@ -7,6 +7,7 @@ import 'package:digit_ui_components/widgets/atoms/text_block.dart'; import 'package:digit_ui_components/widgets/molecules/digit_card.dart' as ui_card; +import 'package:digit_ui_components/widgets/powered_by_digit.dart'; import 'package:digit_ui_components/widgets/scrollable_content.dart' as ui_scroll; import 'package:flutter/material.dart'; diff --git a/frontend/works_shg_app/lib/pages/login.dart b/frontend/works_shg_app/lib/pages/login.dart index 28a5affed2..88fbb3d5df 100644 --- a/frontend/works_shg_app/lib/pages/login.dart +++ b/frontend/works_shg_app/lib/pages/login.dart @@ -1,5 +1,5 @@ // import 'package:digit_components/digit_components.dart'; -import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; +// import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; import 'package:digit_ui_components/digit_components.dart'; import 'package:digit_ui_components/enum/app_enums.dart'; import 'package:digit_ui_components/theme/digit_extended_theme.dart'; @@ -10,6 +10,7 @@ import 'package:digit_ui_components/widgets/atoms/pop_up_card.dart'; import 'package:digit_ui_components/widgets/atoms/text_block.dart'; import 'package:digit_ui_components/widgets/molecules/digit_card.dart'; +import 'package:digit_ui_components/widgets/molecules/language_selection_card.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -54,10 +55,7 @@ class _LoginPageState extends State String selectTenantId = ""; bool iconVisibility = true; - List btns = [ - const DigitRowCardModel(label: "CBO", value: "", isSelected: true), - const DigitRowCardModel(label: "Employee", value: "", isSelected: false) - ]; + String cityDropDownKey = "cityDropDownKey"; diff --git a/frontend/works_shg_app/lib/pages/org_profile.dart b/frontend/works_shg_app/lib/pages/org_profile.dart index ab0eda0f03..1bbd8a7664 100644 --- a/frontend/works_shg_app/lib/pages/org_profile.dart +++ b/frontend/works_shg_app/lib/pages/org_profile.dart @@ -1,8 +1,9 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/theme/ComponentTheme/back_button_theme.dart'; import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:digit_ui_components/widgets/atoms/digit_back_button.dart'; import 'package:digit_ui_components/widgets/atoms/text_block.dart'; +import 'package:digit_ui_components/widgets/powered_by_digit.dart'; import 'package:easy_stepper/easy_stepper.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -213,12 +214,15 @@ class _ORGProfilePage extends State { ? Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Padding( - padding: EdgeInsets.symmetric( - horizontal: Theme.of(context).spacerTheme.spacer4, - vertical: Theme.of(context).spacerTheme.spacer4, - ), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context) + .spacerTheme + .spacer4, + vertical: Theme.of(context) + .spacerTheme + .spacer4, + ), child: Row( mainAxisAlignment: MainAxisAlignment.start, @@ -260,10 +264,14 @@ class _ORGProfilePage extends State { ), ), Padding( - padding: EdgeInsets.all( - Theme.of(context) + padding: EdgeInsets.only( + top: 0.0, + left: Theme.of(context) + .spacerTheme + .spacer4, + bottom: Theme.of(context) .spacerTheme - .spacer2), + .spacer4), child: DigitTextBlock( heading: '${t.translate(i18.common.orgProfile)}', diff --git a/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart b/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart index ceb1acbb33..953cea81ba 100644 --- a/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart +++ b/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart @@ -65,7 +65,7 @@ class _MyServiceRequestsPage extends State { Widget build(BuildContext context) { var t = AppLocalizations.of(context); return Scaffold( - backgroundColor: Theme.of(context).colorTheme.generic.background, + backgroundColor: Theme.of(context).colorTheme.generic.background, // appBar: customAppBar(), // drawer: const MySideBar(), bottomNavigationBar: BlocBuilder( @@ -107,13 +107,12 @@ class _MyServiceRequestsPage extends State { ?.searchCriteria ?? 'CONTRACT-REVISION'), ), - error: (String? error) => - Notifiers.getToastMessage( - context, error.toString(), 'ERROR'), + error: (String? error) => Notifiers.getToastMessage( + context, error.toString(), 'ERROR'), - // Toast.showToast(context, - // message: t.translate(error.toString()), - // type: ToastType.error), + // Toast.showToast(context, + // message: t.translate(error.toString()), + // type: ToastType.error), ); }, child: BlocBuilder( @@ -136,9 +135,9 @@ class _MyServiceRequestsPage extends State { error: (String? error) => Notifiers.getToastMessage( context, error.toString(), 'ERROR'), - // Toast.showToast(context, - // message: t.translate(error.toString()), - // type: ToastType.error), + // Toast.showToast(context, + // message: t.translate(error.toString()), + // type: ToastType.error), loaded: (ContractsModel? contracts) => false); }, child: BlocBuilder( @@ -152,40 +151,43 @@ class _MyServiceRequestsPage extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ - - Padding( - padding: EdgeInsets.symmetric( - horizontal: Theme.of(context).spacerTheme.spacer4, - vertical: Theme.of(context).spacerTheme.spacer4, - ), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context) + .spacerTheme + .spacer4, + vertical: Theme.of(context) + .spacerTheme + .spacer4, + ), child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ BackNavigationButton( backNavigationButtonThemeData: - const BackNavigationButtonThemeData() - .copyWith( - context: context, - backButtonIcon: Icon( - Icons - .arrow_circle_left_outlined, - size: MediaQuery.of(context) - .size - .width < - 500 - ? Theme.of(context) - .spacerTheme - .spacer5 - : Theme.of(context) - .spacerTheme - .spacer6, - color: Theme.of(context) - .colorTheme - .primary - .primary2, - )), + const BackNavigationButtonThemeData() + .copyWith( + context: + context, + backButtonIcon: + Icon( + Icons + .arrow_circle_left_outlined, + size: MediaQuery.of(context).size.width < + 500 + ? Theme.of(context) + .spacerTheme + .spacer5 + : Theme.of(context) + .spacerTheme + .spacer6, + color: Theme.of( + context) + .colorTheme + .primary + .primary2, + )), backButtonText: AppLocalizations.of( context) @@ -205,16 +207,28 @@ class _MyServiceRequestsPage extends State { CrossAxisAlignment.start, children: [ Padding( - padding: - const EdgeInsets.all( - 16.0), + padding: EdgeInsets.only( + left: + Theme.of(context) + .spacerTheme + .spacer4, + top: 0.0, + bottom: + Theme.of(context) + .spacerTheme + .spacer4, + right: 0.0), child: DigitTextBlock( heading: '${t.translate(i18.myServiceRequests.serviceRequestsLabel)} (${contractsModel?.contracts?.length})', ), ), ToggleList( - toggleWidth: MediaQuery.of(context).size.width*.48, + toggleWidth: + MediaQuery.of(context) + .size + .width * + .48, mainAxisAlignment: MainAxisAlignment .center, @@ -259,9 +273,11 @@ class _MyServiceRequestsPage extends State { (contract) { return ui_card .DigitCard( - margin: - EdgeInsets - .all(Theme.of(context).spacerTheme.spacer2), + margin: EdgeInsets + .all(Theme.of( + context) + .spacerTheme + .spacer2), cardType: CardType .primary, diff --git a/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart b/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart index b2e8f40aea..53d736fb55 100644 --- a/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart +++ b/frontend/works_shg_app/lib/pages/trackAttendance/track_attendance_inbox.dart @@ -1,8 +1,9 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/theme/ComponentTheme/back_button_theme.dart'; import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:digit_ui_components/widgets/atoms/digit_back_button.dart'; import 'package:digit_ui_components/widgets/atoms/text_block.dart'; +import 'package:digit_ui_components/widgets/powered_by_digit.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -10,8 +11,6 @@ import 'package:works_shg_app/router/app_router.dart'; import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; -import 'package:works_shg_app/widgets/mb/custom_side_bar.dart'; -import 'package:works_shg_app/widgets/new_custom_app_bar.dart'; import 'package:works_shg_app/widgets/work_details_card.dart'; import '../../blocs/attendance/search_projects/search_projects.dart'; diff --git a/frontend/works_shg_app/lib/pages/track_attendance.dart b/frontend/works_shg_app/lib/pages/track_attendance.dart index b62c9731c8..c9586e1450 100644 --- a/frontend/works_shg_app/lib/pages/track_attendance.dart +++ b/frontend/works_shg_app/lib/pages/track_attendance.dart @@ -1,9 +1,10 @@ import 'package:collection/collection.dart'; -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/digit_components.dart'; import 'package:digit_ui_components/theme/ComponentTheme/back_button_theme.dart'; import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:digit_ui_components/widgets/atoms/digit_back_button.dart'; +import 'package:digit_ui_components/widgets/atoms/digit_search_bar.dart'; import 'package:digit_ui_components/widgets/atoms/pop_up_card.dart'; import 'package:digit_ui_components/widgets/atoms/table_cell.dart'; import 'package:digit_ui_components/widgets/molecules/digit_table.dart'; @@ -18,6 +19,7 @@ import 'package:works_shg_app/utils/common_methods.dart'; import 'package:works_shg_app/utils/common_widgets.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; +import 'package:works_shg_app/widgets/loaders.dart'; import 'package:works_shg_app/widgets/mb/custom_side_bar.dart'; import 'package:works_shg_app/widgets/new_custom_app_bar.dart'; import 'package:works_shg_app/widgets/work_details_card.dart'; @@ -298,10 +300,17 @@ class _TrackAttendancePage extends State { SliverChildListDelegate( [ Padding( - padding: EdgeInsets.symmetric( - horizontal: Theme.of(context).spacerTheme.spacer4, - vertical: Theme.of(context).spacerTheme.spacer4, - ), + padding: EdgeInsets + .symmetric( + horizontal: Theme.of( + context) + .spacerTheme + .spacer4, + vertical: Theme.of( + context) + .spacerTheme + .spacer4, + ), child: Row( mainAxisAlignment: MainAxisAlignment @@ -393,120 +402,6 @@ class _TrackAttendancePage extends State { .common .cancel), ), - //old info - // CustomInfoCard( - // title: AppLocalizations - // .of( - // context) - // .translate(i18 - // .common - // .info), - // description: AppLocalizations - // .of( - // context) - // .translate(i18 - // .attendanceMgmt - // .toMarkAttendance), - // child: Column( - // children: - // entryExitList!.length > - // 2 - // ? [ - // Row( - // children: [ - // CircularButton( - // icon: Icons.circle_rounded, - // size: 15, - // color: const Color.fromRGBO(0, 100, 0, 1), - // index: 1, - // isNotGreyed: false, - // onTap: () {}, - // ), - // Padding( - // padding: const EdgeInsets.only(left: 4.0), - // child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.singleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.fullDay)}'), - // ) - // ], - // ), - // const SizedBox( - // height: 4, - // ), - // Row( - // children: [ - // CircularButton( - // icon: Icons.circle_rounded, - // size: 15, - // color: const Color.fromRGBO(0, 100, 0, 1), - // index: 0.5, - // isNotGreyed: false, - // onTap: () {}, - // ), - // Padding( - // padding: const EdgeInsets.only(left: 4.0), - // child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.doubleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.halfDay)}'), - // ) - // ], - // ), - // const SizedBox( - // height: 4, - // ), - // Row( - // children: [ - // CircularButton( - // icon: Icons.circle_rounded, - // size: 15, - // color: const Color.fromRGBO(0, 100, 0, 1), - // index: 0, - // isNotGreyed: false, - // onTap: () {}, - // ), - // Padding( - // padding: const EdgeInsets.only(left: 4.0), - // child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.tripleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.absent)}'), - // ) - // ], - // ) - // ] - // : [ - // Row( - // children: [ - // CircularButton( - // icon: Icons.circle_rounded, - // size: 15, - // color: const Color.fromRGBO(0, 100, 0, 1), - // index: 1, - // isNotGreyed: false, - // onTap: () {}, - // ), - // Padding( - // padding: const EdgeInsets.only(left: 4.0), - // child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.singleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.fullDay)}'), - // ) - // ], - // ), - // const SizedBox( - // height: 4, - // ), - // Row( - // children: [ - // CircularButton( - // icon: Icons.circle_rounded, - // size: 15, - // color: const Color.fromRGBO(0, 100, 0, 1), - // index: 0, - // isNotGreyed: false, - // onTap: () {}, - // ), - // Padding( - // padding: const EdgeInsets.only(left: 4.0), - // child: Text('${AppLocalizations.of(context).translate(i18.attendanceMgmt.doubleClick)} ${AppLocalizations.of(context).translate(i18.attendanceMgmt.absent)}'), - // ) - // ], - // ) - // ], - // ), - // ), -// end Padding( padding: EdgeInsets @@ -1125,29 +1020,7 @@ class _TrackAttendancePage extends State { size: ButtonSize.large, mainAxisSize: MainAxisSize.max, onPressed: () {}, - // style: OutlinedButton.styleFrom(backgroundColor: Colors.white, side: BorderSide(width: 2, color: createAttendeePayload.isEmpty && updateAttendeePayload.isEmpty ? const Color.fromRGBO(149, 148, 148, 1) : DigitTheme.instance.colorScheme.secondary)), - // onPressed: musterRollsSearch != null && musterRollsSearch.musterRoll!.isNotEmpty && isInWorkFlow - // ? () {} - // : () { - // if (debouncer != null && debouncer!.isActive) { - // debouncer!.cancel(); // Cancel the previous timer if it's active. - // } - // debouncer = Timer(const Duration(milliseconds: 1000), () { - // if (selectedDateRange == null) { - // Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), 'ERROR'); - // } else { - // hasLoaded = false; - // if (updateAttendeePayload.isNotEmpty && createAttendeePayload.isNotEmpty) { - // context.read().add(UpdateAttendanceLogEvent(attendanceList: updateAttendeePayload)); - // context.read().add(CreateAttendanceLogEvent(attendanceList: createAttendeePayload)); - // } else if (updateAttendeePayload.isNotEmpty) { - // context.read().add(UpdateAttendanceLogEvent(attendanceList: updateAttendeePayload)); - // } else if (createAttendeePayload.isNotEmpty) { - // context.read().add(CreateAttendanceLogEvent(attendanceList: createAttendeePayload)); - // } - // } - // }); - // }, + label: AppLocalizations.of(context).translate(i18.common.saveAsDraft), // style: createAttendeePayload.isEmpty && updateAttendeePayload.isEmpty ? DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: const Color.fromRGBO(149, 148, 148, 1)) : DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: const DigitColors().burningOrange), ), @@ -1382,26 +1255,7 @@ class _TrackAttendancePage extends State { size: ButtonSize.large, mainAxisSize: MainAxisSize.max, onPressed: () {}, - //style: OutlinedButton.styleFrom(backgroundColor: Colors.white, side: BorderSide(width: 2, color: createAttendeePayload.isEmpty && updateAttendeePayload.isEmpty ? const Color.fromRGBO(149, 148, 148, 1) : DigitTheme.instance.colorScheme.secondary)), - // onPressed: musterRollsSearch != null && musterRollsSearch.musterRoll!.isNotEmpty && isInWorkFlow - // ? () {} - // : updateAttendeePayload.isEmpty && createAttendeePayload.isEmpty - // ? () {} - // : () { - // if (selectedDateRange == null) { - // Notifiers.getToastMessage(context, AppLocalizations.of(context).translate(i18.attendanceMgmt.selectDateRangeFirst), 'ERROR'); - // } else { - // hasLoaded = false; - // if (updateAttendeePayload.isNotEmpty && createAttendeePayload.isNotEmpty) { - // context.read().add(UpdateAttendanceLogEvent(attendanceList: updateAttendeePayload)); - // context.read().add(CreateAttendanceLogEvent(attendanceList: createAttendeePayload)); - // } else if (updateAttendeePayload.isNotEmpty) { - // context.read().add(UpdateAttendanceLogEvent(attendanceList: updateAttendeePayload)); - // } else if (createAttendeePayload.isNotEmpty) { - // context.read().add(CreateAttendanceLogEvent(attendanceList: createAttendeePayload)); - // } - // } - // }, + label: AppLocalizations.of(context).translate(i18.common.saveAsDraft), // style: createAttendeePayload.isEmpty && updateAttendeePayload.isEmpty ? DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: const Color.fromRGBO(149, 148, 148, 1)) : DigitTheme.instance.mobileTheme.textTheme.bodyLarge?.apply(color: const DigitColors().burningOrange), ), diff --git a/frontend/works_shg_app/lib/pages/view_muster_rolls.dart b/frontend/works_shg_app/lib/pages/view_muster_rolls.dart index 7343411592..738e48c20a 100644 --- a/frontend/works_shg_app/lib/pages/view_muster_rolls.dart +++ b/frontend/works_shg_app/lib/pages/view_muster_rolls.dart @@ -1,8 +1,9 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/theme/ComponentTheme/back_button_theme.dart'; import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:digit_ui_components/widgets/atoms/digit_back_button.dart'; import 'package:digit_ui_components/widgets/atoms/text_block.dart'; +import 'package:digit_ui_components/widgets/powered_by_digit.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart index 051ce29a86..75a4f8a581 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart @@ -1,6 +1,6 @@ import 'dart:convert'; -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/digit_components.dart'; import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:digit_ui_components/widgets/atoms/text_block.dart'; @@ -164,7 +164,8 @@ class FinancialDetailsState extends State { }, formControlName: accountNoKey, builder: (field) { - return BaseDigitFormInput( + return DigitTextFormInput( + obscureText: true, // charCount: true, controller: TextEditingController() ..text = form.control(accountNoKey).value ?? '', diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart index ffee839d6a..2851da9cbb 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart @@ -1,4 +1,4 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/digit_components.dart' as ui_component; import 'package:digit_ui_components/enum/app_enums.dart'; import 'package:digit_ui_components/models/models.dart'; diff --git a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart index 4314bfb807..61eb1cdb18 100644 --- a/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart +++ b/frontend/works_shg_app/lib/pages/work_order/view_work_details.dart @@ -1,4 +1,4 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/digit_components.dart' as ui_component; import 'package:digit_ui_components/enum/app_enums.dart'; import 'package:digit_ui_components/theme/ComponentTheme/back_button_theme.dart'; diff --git a/frontend/works_shg_app/lib/pages/work_order/work_order.dart b/frontend/works_shg_app/lib/pages/work_order/work_order.dart index 6aa9dc5f5a..223fdc1de8 100644 --- a/frontend/works_shg_app/lib/pages/work_order/work_order.dart +++ b/frontend/works_shg_app/lib/pages/work_order/work_order.dart @@ -1,4 +1,4 @@ -import 'package:digit_components/digit_components.dart' as ui_old; +// import 'package:digit_components/digit_components.dart' as ui_old; import 'package:digit_ui_components/digit_components.dart'; import 'package:digit_ui_components/theme/ComponentTheme/back_button_theme.dart'; import 'package:digit_ui_components/theme/digit_extended_theme.dart'; @@ -86,7 +86,7 @@ class _WorkOrderPage extends State { height: 50, child: Align( alignment: Alignment.bottomCenter, - child: ui_old.PoweredByDigit( + child: PoweredByDigit( version: Constants.appVersion, ), ), @@ -250,6 +250,8 @@ class _WorkOrderPage extends State { children: [ Padding( padding: EdgeInsets.only( + top: 0.0, + bottom: 0.0, left: Theme.of(context) .spacerTheme .spacer4), @@ -421,7 +423,7 @@ class _WorkOrderPage extends State { // TODO: const Align( alignment: Alignment.bottomCenter, - child: ui_old.PoweredByDigit( + child: PoweredByDigit( version: Constants.appVersion, ), ) diff --git a/frontend/works_shg_app/lib/router/app_navigator_observer.dart b/frontend/works_shg_app/lib/router/app_navigator_observer.dart index 1a2e38f080..a67b049e6e 100644 --- a/frontend/works_shg_app/lib/router/app_navigator_observer.dart +++ b/frontend/works_shg_app/lib/router/app_navigator_observer.dart @@ -1,4 +1,5 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/utils/app_logger.dart'; import 'package:flutter/cupertino.dart'; class AppRouterObserver extends NavigatorObserver { diff --git a/frontend/works_shg_app/lib/router/app_router.dart b/frontend/works_shg_app/lib/router/app_router.dart index 35fe6350f2..ba0794e912 100644 --- a/frontend/works_shg_app/lib/router/app_router.dart +++ b/frontend/works_shg_app/lib/router/app_router.dart @@ -17,7 +17,7 @@ import '../pages/employee/mb_detail_page.dart'; import '../pages/employee/mb_history.dart'; import '../pages/employee/mb_inbox.dart'; import '../pages/employee/mb_wrapper.dart'; -import '../pages/employee/workOrder/work_order_details.dart'; + import '../pages/employee/workOrder/work_order_inbox.dart'; import '../pages/employee/workOrder/work_order_wrapper.dart'; import '../pages/home.dart'; @@ -40,78 +40,6 @@ export 'package:auto_route/auto_route.dart'; part 'app_router.gr.dart'; -// @MaterialAutoRouter( -// replaceInRouteName: 'Page,Route', -// routes: [ -// AutoRoute( -// page: UnauthenticatedPageWrapper, -// path: '/', -// children: [ -// AutoRoute( -// page: LanguageSelectionPage, -// path: 'language_selection', -// initial: true, -// ), -// AutoRoute(page: LoginPage, path: 'login'), -// AutoRoute(page: OTPVerificationPage, path: 'otp') -// ], -// ), -// AutoRoute( -// page: AuthenticatedPageWrapper, -// path: '/', -// children: [ -// AutoRoute(page: HomePage, path: 'home', initial: true), -// AutoRoute(page: ORGProfilePage, path: 'orgProfile'), -// AutoRoute( -// page: AttendanceRegisterTablePage, -// path: 'manageAttendanceTable/:registerId/:tenantId'), -// AutoRoute(page: WorkOrderPage, path: 'work-orders'), -// AutoRoute(page: ViewMusterRollsPage, path: 'muster-rolls'), -// AutoRoute( -// page: SHGInboxPage, -// path: 'shg-inbox/:tenantId/:musterRollNo/:sentBackCode'), -// AutoRoute( -// page: TrackAttendanceInboxPage, path: 'track-attendance-inbox'), -// AutoRoute( -// page: TrackAttendancePage, path: 'track-attendance/:id/:tenantId'), -// AutoRoute(page: RegisterIndividualPage, path: 'register-individual'), -// AutoRoute(page: ViewWorkDetailsPage, path: 'view-work-order'), -// AutoRoute(page: SuccessResponsePage, path: 'success'), -// AutoRoute(page: MyBillsPage, path: 'my-bills'), -// AutoRoute( -// page: CreateTimeExtensionRequestPage, -// path: 'create-time-extension'), -// AutoRoute(page: MyServiceRequestsPage, path: 'my-service-requests'), - -// // mb for employee - -// // MeasurementBookInboxPage -// AutoRoute( -// page: MeasurementBookInboxPage, -// path: 'measurement-inbox', -// ), -// AutoRoute(page: MBFilterPage, path: 'mb-filter'), -// AutoRoute(page: MBDetailPage, path: 'mb-detail'), -// AutoRoute(page: MBHistoryBookPage, path: 'mb-history'), -// AutoRoute(page: MBMusterScreenPage, path: 'mb-muster-screen'), -// AutoRoute(page: MBTypeConfirmationPage, path: 'mb-type-confirmation'), - - -// // work order -employee - -// AutoRoute( -// page: WorkOderInboxPage, -// path: 'workOrder-inbox', -// ), -// AutoRoute(page: WorkOrderDetailPage, path: 'workOrder-details'), -// AutoRoute(page: WOFilterPage, path: 'wo-filter'), -// ], -// ), -// ], -// ) -// class AppRouter extends _$AppRouter {} - - @AutoRouterConfig(replaceInRouteName: 'Page,Route') class AppRouter extends _$AppRouter { @@ -177,7 +105,7 @@ List get routes => [ page: WorkOderInboxRoute.page, path: 'workOrder-inbox', ), - AutoRoute(page: WorkOrderDetailRoute.page, path: 'workOrder-details'), + AutoRoute(page: WOFilterRoute.page, path: 'wo-filter'), ], ), diff --git a/frontend/works_shg_app/lib/router/app_router.gr.dart b/frontend/works_shg_app/lib/router/app_router.gr.dart index 4f047f42db..3a50f93583 100644 --- a/frontend/works_shg_app/lib/router/app_router.gr.dart +++ b/frontend/works_shg_app/lib/router/app_router.gr.dart @@ -285,12 +285,6 @@ abstract class _$AppRouter extends RootStackRouter { child: const WorkOderInboxPage(), ); }, - WorkOrderDetailRoute.name: (routeData) { - return AutoRoutePage( - routeData: routeData, - child: const WorkOrderDetailPage(), - ); - }, WorkOrderRoute.name: (routeData) { return AutoRoutePage( routeData: routeData, @@ -1132,20 +1126,6 @@ class WorkOderInboxRoute extends PageRouteInfo { static const PageInfo page = PageInfo(name); } -/// generated route for -/// [WorkOrderDetailPage] -class WorkOrderDetailRoute extends PageRouteInfo { - const WorkOrderDetailRoute({List? children}) - : super( - WorkOrderDetailRoute.name, - initialChildren: children, - ); - - static const String name = 'WorkOrderDetailRoute'; - - static const PageInfo page = PageInfo(name); -} - /// generated route for /// [WorkOrderPage] class WorkOrderRoute extends PageRouteInfo { diff --git a/frontend/works_shg_app/lib/utils/constants.dart b/frontend/works_shg_app/lib/utils/constants.dart index fdca3290e0..79f499e332 100644 --- a/frontend/works_shg_app/lib/utils/constants.dart +++ b/frontend/works_shg_app/lib/utils/constants.dart @@ -46,7 +46,7 @@ class Constants { static const inWorkFlowKey = 'INWORKFLOW'; static const verifyAdhar="SUCCESS"; static const saveAsDraft="SAVE_AS_DRAFT"; - static const appVersion="1.1.3"; + static const appVersion="2.1.1"; } final scaffoldMessengerKey = GlobalKey(); diff --git a/frontend/works_shg_app/lib/utils/global_variables.dart b/frontend/works_shg_app/lib/utils/global_variables.dart index 5693b1e74f..b0f459799e 100644 --- a/frontend/works_shg_app/lib/utils/global_variables.dart +++ b/frontend/works_shg_app/lib/utils/global_variables.dart @@ -1,6 +1,7 @@ import 'dart:convert'; -import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; +// import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; +import 'package:digit_ui_components/widgets/molecules/language_selection_card.dart'; import 'package:flutter/foundation.dart'; import 'package:package_info_plus/package_info_plus.dart'; import 'package:universal_html/html.dart' as html; @@ -37,12 +38,12 @@ class GlobalVariables { static dynamic getLanguages() async { if (kIsWeb) { return jsonDecode(html.window.sessionStorage['languages'].toString()) - .map((e) => DigitRowCardModel.fromJson(e)) + .map((e) => DigitRowCardModel(label: e['label'], value: e['value'],isSelected: e['isSelected'])) .toList(); } else { var localLanguage = await storage.read(key: 'languages'); return jsonDecode(localLanguage ?? '') - .map((e) => DigitRowCardModel.fromJson(e)) + .map((e) => DigitRowCardModel(label: e['label'], value: e['value'],isSelected: e['isSelected'])) .toList(); } } diff --git a/frontend/works_shg_app/lib/widgets/atoms/app_bar_logo.dart b/frontend/works_shg_app/lib/widgets/atoms/app_bar_logo.dart index e235da84bb..6a32f2d453 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/app_bar_logo.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/app_bar_logo.dart @@ -1,4 +1,4 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:flutter/material.dart'; import 'package:works_shg_app/blocs/auth/auth.dart'; diff --git a/frontend/works_shg_app/lib/widgets/atoms/attachments.dart b/frontend/works_shg_app/lib/widgets/atoms/attachments.dart index e08426b9b0..647470bcdf 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/attachments.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/attachments.dart @@ -1,4 +1,5 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:flutter/material.dart'; import 'package:works_shg_app/blocs/auth/auth.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; @@ -29,8 +30,8 @@ class Attachments extends StatelessWidget { child: Text( label, style: labelStyle ?? - DigitTheme.instance.mobileTheme.textTheme.headlineLarge - ?.apply(color: const DigitColors().black), + Theme.of(context).digitTextTheme(context).headingL.copyWith(color: Colors.black), + textAlign: TextAlign.left, ), ) diff --git a/frontend/works_shg_app/lib/widgets/atoms/auto_complete_search_bar.dart b/frontend/works_shg_app/lib/widgets/atoms/auto_complete_search_bar.dart index 0a6bd6e141..095c16eac0 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/auto_complete_search_bar.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/auto_complete_search_bar.dart @@ -1,4 +1,5 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_typeahead/flutter_typeahead.dart'; @@ -114,8 +115,7 @@ class AutoCompleteSearchBar extends StatelessWidget { child: Center( child: Text( AppLocalizations.of(context).translate(i18.common.noItems), - style: DigitTheme.instance.mobileTheme.textTheme.bodyMedium - ?.apply(color: const DigitColors().davyGray), + style: Theme.of(context).digitTextTheme(context).bodyS, ), ), ); diff --git a/frontend/works_shg_app/lib/widgets/atoms/button_group.dart b/frontend/works_shg_app/lib/widgets/atoms/button_group.dart index d5f6663966..adb9c88be4 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/button_group.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/button_group.dart @@ -1,4 +1,4 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/digit_components.dart'; import 'package:flutter/material.dart'; diff --git a/frontend/works_shg_app/lib/widgets/atoms/custom_info_card.dart b/frontend/works_shg_app/lib/widgets/atoms/custom_info_card.dart index db43658ebd..e902fc0846 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/custom_info_card.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/custom_info_card.dart @@ -1,4 +1,5 @@ -import 'package:digit_components/theme/digit_theme.dart'; +// import 'package:digit_components/theme/digit_theme.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:flutter/material.dart'; class CustomInfoCard extends StatelessWidget { @@ -31,7 +32,7 @@ class CustomInfoCard extends StatelessWidget { final theme = Theme.of(context); return Container( - margin: margin ?? DigitTheme.instance.containerMargin, + margin: margin ?? EdgeInsets.all( Theme.of(context).spacerTheme.spacer2), padding: padding ?? const EdgeInsets.all(8), decoration: ShapeDecoration( shape: const RoundedRectangleBorder( @@ -61,7 +62,7 @@ class CustomInfoCard extends StatelessWidget { ], ), Padding( - padding: const EdgeInsets.all(kPadding), + padding: EdgeInsets.all(Theme.of(context).spacerTheme.spacer2), child: Text( description, style: theme.textTheme.bodyLarge, @@ -69,7 +70,7 @@ class CustomInfoCard extends StatelessWidget { ), ), Padding( - padding: const EdgeInsets.all(kPadding), + padding: EdgeInsets.all(Theme.of(context).spacerTheme.spacer2), child: child ?? const SizedBox.shrink(), ) ], diff --git a/frontend/works_shg_app/lib/widgets/atoms/date_range_picker.dart b/frontend/works_shg_app/lib/widgets/atoms/date_range_picker.dart index 3b8616a31a..d84055dcaa 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/date_range_picker.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/date_range_picker.dart @@ -1,5 +1,6 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/digit_components.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:digit_ui_components/widgets/atoms/digit_button.dart' as ui_button; import 'package:digit_ui_components/widgets/atoms/labelled_fields.dart' @@ -47,10 +48,8 @@ class DateRangePicker extends StatelessWidget { return SafeArea( child: Column( children: [ - Expanded( child: SfDateRangePicker( - viewSpacing: 30, onSelectionChanged: onChangeOfDate, controller: rangePickerController, @@ -82,6 +81,9 @@ class DateRangePicker extends StatelessWidget { }, label: cancelLabel ?? '', ), + SizedBox( + width: Theme.of(context).spacerTheme.spacer6, + ), ui_button.Button( size: ButtonSize.large, type: ButtonType.primary, @@ -161,29 +163,29 @@ class DateRangePicker extends StatelessWidget { child: Row(children: [ SizedBox( width: MediaQuery.of(context).size.width / 2, - child: DigitTextField( - label: label, + child: LabeledField( + label: label, + child: DigitTextFormInput( + onSuffixTap: (val) { + showDialog( + context: context, + builder: (BuildContext dialogContext) { + return Dialog( + child: SizedBox( + height: 350, + child: Column( + children: [ + getDateRangePicker(dialogContext), + ], + ), + )); + }); + }, readOnly: true, controller: controller, - suffixIcon: IconButton( - onPressed: () { - showDialog( - context: context, - builder: (BuildContext dialogContext) { - return Dialog( - child: SizedBox( - height: 350, - child: Column( - children: [ - getDateRangePicker(dialogContext), - ], - ), - )); - }); - }, - icon: const Icon( - Icons.date_range, - )))), + suffixIcon: Icons.date_range, + ), + )), ])); } } diff --git a/frontend/works_shg_app/lib/widgets/atoms/digit_base_stepper.dart b/frontend/works_shg_app/lib/widgets/atoms/digit_base_stepper.dart index a22aa05359..eaffe851df 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/digit_base_stepper.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/digit_base_stepper.dart @@ -1,4 +1,5 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:flutter/material.dart'; import 'digit_indicator.dart'; @@ -213,7 +214,7 @@ class DigitBaseStepperState extends State { child: index < _selectedIndex ? Icon( Icons.check, - color: const DigitColors().white, + color: Theme.of(context).colorTheme.primary.primary1, size: 16, ) : widget.children![index], diff --git a/frontend/works_shg_app/lib/widgets/atoms/digit_indicator.dart b/frontend/works_shg_app/lib/widgets/atoms/digit_indicator.dart index 68c4fcabe9..58fc33e89c 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/digit_indicator.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/digit_indicator.dart @@ -1,4 +1,5 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:flutter/material.dart'; class DigitIndicator extends StatelessWidget { @@ -66,7 +67,7 @@ class DigitIndicator extends StatelessWidget { border: isSelected ? Border.all( color: activeBorderColor ?? - const DigitColors().burningOrange, + Theme.of(context).colorTheme.primary.primary1, width: 0, ) : null, diff --git a/frontend/works_shg_app/lib/widgets/atoms/digit_timeline.dart b/frontend/works_shg_app/lib/widgets/atoms/digit_timeline.dart index 4518946d1d..ed1ef922d9 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/digit_timeline.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/digit_timeline.dart @@ -1,184 +1,8 @@ -import 'package:digit_components/theme/colors.dart'; -import 'package:digit_components/theme/digit_theme.dart'; -import 'package:easy_stepper/easy_stepper.dart'; -import 'package:timelines/timelines.dart'; -import 'package:works_shg_app/blocs/localization/app_localization.dart'; -import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' - as i18; -import 'package:works_shg_app/widgets/atoms/attachments.dart'; + import '../../models/file_store/file_store_model.dart'; -class DigitTimeline extends StatelessWidget { - final double stepRadius; - final List timelineOptions; - const DigitTimeline({ - super.key, - required this.timelineOptions, - this.stepRadius = 12, - }); - @override - Widget build(BuildContext context) { - return Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: List.generate( - timelineOptions.length, - (index) => IntrinsicHeight( - child: Row( - children: [ - TimelineNode( - indicatorPosition: 0, - indicator: Icon( - Icons.circle, - color: index == 0 - ? const DigitColors().burningOrange - : const DigitColors().cloudGray, - ), - startConnector: index == 0 - ? const SolidLineConnector( - color: Colors.white, - ) - : SolidLineConnector( - color: const DigitColors().cloudGray, - ), - endConnector: index == timelineOptions.length - 1 - ? const SolidLineConnector( - color: Colors.white, - ) - : SolidLineConnector( - color: const DigitColors().cloudGray, - ), - ), - Container( - padding: const EdgeInsets.only(left: 8.0), - width: MediaQuery.of(context).size.width / 1.5, - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - timelineOptions[index].title, - style: const TextStyle( - fontSize: 16, fontWeight: FontWeight.w400), - textAlign: TextAlign.left, - ), - timelineOptions[index].subTitle != null && - timelineOptions[index].subTitle!.isNotEmpty - ? SizedBox( - width: 200, - child: Text( - timelineOptions[index].subTitle ?? '', - style: TextStyle( - fontSize: 14, - fontWeight: FontWeight.w400, - color: const DigitColors().davyGray), - ), - ) - : const SizedBox.shrink(), - timelineOptions[index].assignee != null && - timelineOptions[index].assignee!.isNotEmpty - ? SizedBox( - width: 200, - child: Text( - timelineOptions[index].assignee ?? '', - style: TextStyle( - fontSize: 14, - fontWeight: FontWeight.w400, - color: const DigitColors().davyGray), - ), - ) - : const SizedBox.shrink(), - timelineOptions[index].mobileNumber != null && - timelineOptions[index] - .mobileNumber! - .isNotEmpty - ? Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - timelineOptions[index].mobileNumber != - null && - timelineOptions[index] - .mobileNumber! - .isNotEmpty - ? const Icon( - Icons.phone, - size: 16, - ) - : const Text(''), - timelineOptions[index].mobileNumber != null - ? SizedBox( - width: 200, - child: Text( - timelineOptions[index] - .mobileNumber != - null && - timelineOptions[index] - .mobileNumber! - .isNotEmpty - ? timelineOptions[index] - .mobileNumber - .toString() - : '', - style: TextStyle( - fontSize: 14, - fontWeight: FontWeight.w400, - color: const DigitColors() - .davyGray), - ), - ) - : const SizedBox.shrink(), - ], - ) - : const SizedBox.shrink(), - timelineOptions[index].comments != null && - timelineOptions[index].comments!.isNotEmpty - ? Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - AppLocalizations.of(context) - .translate(i18.common.comments), - style: DigitTheme.instance.mobileTheme - .textTheme.headlineSmall - ?.apply( - color: const DigitColors().black), - textAlign: TextAlign.left, - ), - Text( - timelineOptions[index].comments ?? '', - style: TextStyle( - fontSize: 14, - fontWeight: FontWeight.w400, - color: const DigitColors().davyGray), - ), - ], - ) - : const SizedBox.shrink(), - timelineOptions[index].documents != null && - timelineOptions[index].documents!.isNotEmpty - ? Attachments( - AppLocalizations.of(context) - .translate(i18.common.attachments), - timelineOptions[index].documents, - labelStyle: DigitTheme.instance.mobileTheme - .textTheme.headlineSmall, - ) - : const SizedBox.shrink(), - const SizedBox( - height: 16.0, - ) - ], - ), - ), - ], - ), - )), - ); - } -} class DigitTimelineOptions { final String title; diff --git a/frontend/works_shg_app/lib/widgets/atoms/multiselect_checkbox.dart b/frontend/works_shg_app/lib/widgets/atoms/multiselect_checkbox.dart index 79c75a590a..c2a4f458cf 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/multiselect_checkbox.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/multiselect_checkbox.dart @@ -1,4 +1,5 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:flutter/material.dart'; import 'package:flutter_typeahead/flutter_typeahead.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; @@ -41,7 +42,7 @@ class MultiSelectSearchCheckBoxState extends State { children: [ Text( widget.label, - style: DigitTheme.instance.mobileTypography.textTheme.labelSmall, + style: Theme.of(context).digitTextTheme(context).headingS, ), const SizedBox(height: 8), TypeAheadFormField( @@ -128,7 +129,7 @@ class MultiSelectSearchCheckBoxState extends State { .translate('COMMON_MASTERS_SKILLS_$option'), preferBelow: false, child: Chip( - backgroundColor: const DigitColors().quillGray, + backgroundColor: Theme.of(context).colorTheme.paper.secondary, label: SizedBox( width: MediaQuery.sizeOf(context).width*0.66, child: Text( diff --git a/frontend/works_shg_app/lib/widgets/atoms/radio_button_list.dart b/frontend/works_shg_app/lib/widgets/atoms/radio_button_list.dart index 38cc4aec51..056a362481 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/radio_button_list.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/radio_button_list.dart @@ -1,4 +1,5 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:flutter/material.dart'; import 'package:reactive_forms/reactive_forms.dart'; @@ -49,12 +50,11 @@ class DigitRadioButtonList extends StatelessWidget { labelText, textAlign: TextAlign.left, style: - DigitTheme.instance.mobileTheme.textTheme.bodyLarge, + Theme.of(context).digitTextTheme(context).bodyL, ), Text(isRequired ? ' *' : '', textAlign: TextAlign.left, - style: DigitTheme - .instance.mobileTheme.textTheme.bodyLarge), + style: Theme.of(context).digitTextTheme(context).bodyL), ]))), ), Column( diff --git a/frontend/works_shg_app/lib/widgets/atoms/resend_otp.dart b/frontend/works_shg_app/lib/widgets/atoms/resend_otp.dart index 9351498634..e282ea3857 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/resend_otp.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/resend_otp.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:digit_ui_components/widgets/atoms/text_block.dart'; diff --git a/frontend/works_shg_app/lib/widgets/atoms/sub_label.dart b/frontend/works_shg_app/lib/widgets/atoms/sub_label.dart index b81334c1df..9fcf0d453e 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/sub_label.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/sub_label.dart @@ -1,4 +1,4 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; class SubLabelText extends StatelessWidget { @@ -18,7 +18,7 @@ class SubLabelText extends StatelessWidget { style: TextStyle( fontSize: 16, fontWeight: FontWeight.w400, - color: DigitTheme.instance.colorScheme.shadow), + color: Theme.of(context).colorScheme.secondaryContainer), textAlign: TextAlign.left, ), )); diff --git a/frontend/works_shg_app/lib/widgets/atoms/table_dropdown.dart b/frontend/works_shg_app/lib/widgets/atoms/table_dropdown.dart index 468d4778b6..4be58ae3b8 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/table_dropdown.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/table_dropdown.dart @@ -1,4 +1,5 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:flutter/material.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -55,7 +56,7 @@ class _DropDownDialogState extends State { border: Border.all( color: widget.isDisabled ? const Color.fromRGBO(149, 148, 148, 0.5) - : const DigitColors().black), + : Colors.black), borderRadius: BorderRadius.circular(4), ), child: Row( @@ -72,14 +73,14 @@ class _DropDownDialogState extends State { fontSize: 12, color: widget.isDisabled ? const Color.fromRGBO(149, 148, 148, 1) - : const DigitColors().black), + : Colors.black), ), ), Icon( Icons.arrow_drop_down, color: widget.isDisabled ? const Color.fromRGBO(149, 148, 148, 1) - : const DigitColors().black, + : Colors.black, size: 20, ), ], @@ -107,7 +108,7 @@ class _DropDownDialogState extends State { fontWeight: FontWeight.w700, color: widget.isDisabled ? const Color.fromRGBO(149, 148, 148, 1) - : const DigitColors().black), + : Colors.black), ), content: SizedBox( height: diff --git a/frontend/works_shg_app/lib/widgets/atoms/tabs_button.dart b/frontend/works_shg_app/lib/widgets/atoms/tabs_button.dart index d67585ca21..204284b32f 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/tabs_button.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/tabs_button.dart @@ -1,4 +1,5 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:flutter/material.dart'; class TabButton extends StatelessWidget { @@ -20,12 +21,12 @@ class TabButton extends StatelessWidget { height: 35, decoration: (isMainTab ?? false) ? BoxDecoration( - color: const DigitColors().white, + color: Colors.white, shape: BoxShape.rectangle, border: Border.all( color: (isSelected ?? false) - ? DigitTheme.instance.colorScheme.primary - : const DigitColors().white, + ? Theme.of(context).colorScheme.primary + : Colors.white, width: 1.5, ), borderRadius: BorderRadius.circular(0.0)) @@ -40,8 +41,8 @@ class TabButton extends StatelessWidget { buttonLabel, style: TextStyle( color: (isMainTab ?? false) && !(isSelected ?? false) - ? const DigitColors().cloudGray - : DigitTheme.instance.colorScheme.primary, + ? Theme.of(context).colorTheme.paper.secondary + : Theme.of(context).colorTheme.primary.primary1, fontSize: 16.0, fontWeight: FontWeight.w700), textAlign: TextAlign.center, diff --git a/frontend/works_shg_app/lib/widgets/back.dart b/frontend/works_shg_app/lib/widgets/back.dart index cb675a5575..86b2651988 100644 --- a/frontend/works_shg_app/lib/widgets/back.dart +++ b/frontend/works_shg_app/lib/widgets/back.dart @@ -1,4 +1,4 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; @@ -31,16 +31,16 @@ class Back extends StatelessWidget { alignment: WrapAlignment.start, crossAxisAlignment: WrapCrossAlignment.center, children: [ - Icon( + const Icon( Icons.arrow_left, - color: const DigitColors().black, + color: Colors.black, ), Text( AppLocalizations.of(context) .translate(i18.common.back) ?? 'Back', - style: TextStyle( - color: const DigitColors().black, + style: const TextStyle( + color: Colors.black, )) ], )), diff --git a/frontend/works_shg_app/lib/widgets/button_link.dart b/frontend/works_shg_app/lib/widgets/button_link.dart index 33567ad977..c05eef3d94 100644 --- a/frontend/works_shg_app/lib/widgets/button_link.dart +++ b/frontend/works_shg_app/lib/widgets/button_link.dart @@ -1,4 +1,4 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; class ButtonLink extends StatelessWidget { @@ -31,8 +31,7 @@ class ButtonLink extends StatelessWidget { TextStyle( fontSize: fontSize, fontWeight: FontWeight.w400, - color: DigitTheme - .instance.mobileTheme.colorScheme.secondary), + color: Theme.of(context).colorScheme.secondary), ))), ); } diff --git a/frontend/works_shg_app/lib/widgets/label_text.dart b/frontend/works_shg_app/lib/widgets/label_text.dart index 8196ac1d3a..d969eb974c 100644 --- a/frontend/works_shg_app/lib/widgets/label_text.dart +++ b/frontend/works_shg_app/lib/widgets/label_text.dart @@ -1,4 +1,5 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:flutter/material.dart'; class LabelText extends StatelessWidget { @@ -17,8 +18,7 @@ class LabelText extends StatelessWidget { : const EdgeInsets.all(8.0)), child: Text( input, - style: DigitTheme.instance.mobileTheme.textTheme.displayMedium - ?.apply(color: const DigitColors().black), + style: Theme.of(context).digitTextTheme(context).headingM, textAlign: TextAlign.left, ), )); diff --git a/frontend/works_shg_app/lib/widgets/loaders.dart b/frontend/works_shg_app/lib/widgets/loaders.dart index 95484e49fe..64feccc984 100644 --- a/frontend/works_shg_app/lib/widgets/loaders.dart +++ b/frontend/works_shg_app/lib/widgets/loaders.dart @@ -6,6 +6,7 @@ import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dar class Loaders { static circularLoader(BuildContext context) { + final String msg= AppLocalizations.of(context).translate(i18.common.loading).toString(); return PopScope( onPopInvoked: null, canPop: true, @@ -25,7 +26,7 @@ class Loaders { height: 10, ), Text( - AppLocalizations.of(context).translate(i18.common.loading) ??'Loading...', + msg.toString().contains("_")==true?'Loading' :msg, style: TextStyle( color: Theme.of(context).colorTheme.primary.primary1, fontFamily: 'Roboto', diff --git a/frontend/works_shg_app/lib/widgets/mb/back_button.dart b/frontend/works_shg_app/lib/widgets/mb/back_button.dart deleted file mode 100644 index 26a0c08f5d..0000000000 --- a/frontend/works_shg_app/lib/widgets/mb/back_button.dart +++ /dev/null @@ -1,33 +0,0 @@ -import 'package:digit_components/digit_components.dart'; -import 'package:digit_ui_components/digit_components.dart'; -import 'package:digit_ui_components/theme/ComponentTheme/button_theme.dart'; -import 'package:digit_ui_components/theme/digit_extended_theme.dart'; -import 'package:flutter/material.dart'; -import 'package:works_shg_app/blocs/localization/app_localization.dart'; -import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' - as i18; - -class IconBackButton extends StatelessWidget { - final VoidCallback? action; - final Color iconTextColor; - final Color iconColor; - final IconData icon; - - const IconBackButton({super.key, this.action, required this.iconTextColor, required this.iconColor, required this.icon}); - - @override - Widget build(BuildContext context) { - // return Button( - - // prefixIcon: icon, - // label: AppLocalizations.of(context).translate(i18.common.back) ?? 'Back', onPressed: action!, type: ButtonType.tertiary, size: ButtonSize.large); - return DigitIconButton( - iconTextColor: iconTextColor, - iconColor: iconColor, - icon: icon, - iconText: - AppLocalizations.of(context).translate(i18.common.back) ?? 'Back', - onPressed: action, - ); - } -} diff --git a/frontend/works_shg_app/lib/widgets/mb/custom_tab.dart b/frontend/works_shg_app/lib/widgets/mb/custom_tab.dart deleted file mode 100644 index c486ffba14..0000000000 --- a/frontend/works_shg_app/lib/widgets/mb/custom_tab.dart +++ /dev/null @@ -1,87 +0,0 @@ -import 'package:digit_components/digit_components.dart'; -import 'package:flutter/material.dart'; - -class CustomTab extends StatelessWidget { - final String text; - final bool isSelected; - final Function onTap; - final bool firstTab; - final bool lastTap; - - const CustomTab( - {super.key, - required this.text, - required this.isSelected, - required this.onTap, required this.firstTab, required this.lastTap}); - - @override - Widget build(BuildContext context) { - return GestureDetector( - onTap: () => onTap(), - child: Container( - height: isSelected?60:55, - width: MediaQuery.sizeOf(context).width / 3, - decoration: BoxDecoration( - border: Border( - top: BorderSide( - color: isSelected - ? const DigitColors().burningOrange - : const DigitColors().cloudGray, - - width: isSelected ? 1.0 : 1.0, - ), - left: BorderSide( - color: isSelected - ? const DigitColors().burningOrange - : const DigitColors().cloudGray, - width: 1.0, - ), - right: BorderSide( - color: isSelected - ? const DigitColors().burningOrange - : const DigitColors().cloudGray, - width: 1.0, - ), - bottom: BorderSide( - color: isSelected - ? const DigitColors().burningOrange - : const DigitColors().cloudGray, - width: isSelected ? 3.0 : 1.0, - - ), - ), - borderRadius: isSelected - ? const BorderRadius.only( - topLeft: Radius.circular(10), - topRight: Radius.circular(10), - ) - : BorderRadius.only( - topLeft: Radius.circular(firstTab?10:0), - topRight: Radius.circular(lastTap?10:0), - ), - color: isSelected - ? const DigitColors().white - : Colors.transparent, - ), - child: Center( - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16), - child: Text( - - text, - style: TextStyle( - color: isSelected - ? const DigitColors().black - : const DigitColors().cloudGray, - fontWeight: isSelected ? FontWeight.bold : FontWeight.normal, - ), - maxLines: 2, - overflow: TextOverflow.ellipsis, - textAlign: TextAlign.center, - ), - ), - ), - ), - ); - } -} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart b/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart index 6a9b1b197a..b9c9b2d7e6 100644 --- a/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart +++ b/frontend/works_shg_app/lib/widgets/mb/float_action_card.dart @@ -1,5 +1,5 @@ -import 'package:digit_components/theme/digit_theme.dart'; -import 'package:digit_components/widgets/digit_elevated_button.dart'; +// import 'package:digit_components/theme/digit_theme.dart'; +// import 'package:digit_components/widgets/digit_elevated_button.dart'; import 'package:digit_ui_components/digit_components.dart'; import 'package:digit_ui_components/enum/app_enums.dart'; import 'package:digit_ui_components/widgets/atoms/digit_divider.dart'; diff --git a/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart b/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart deleted file mode 100644 index 470a8c98fa..0000000000 --- a/frontend/works_shg_app/lib/widgets/mb/mb_detail_card.dart +++ /dev/null @@ -1,144 +0,0 @@ -import 'package:digit_components/digit_components.dart'; -import 'package:flutter/material.dart'; -import 'package:works_shg_app/blocs/localization/app_localization.dart'; -import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' - as i18; - -class CommonMBCard extends StatelessWidget { - final String? headLabel; - final Map items; - final Widget? widget; - final int? sla; - final bool showSla; - final EdgeInsets? padding; - final EdgeInsets? margin; - final bool showStatus; - final String status; - const CommonMBCard({ - super.key, - this.headLabel, - required this.items, - this.widget, - this.sla, - required this.showSla, - this.padding, - this.margin, - required this.showStatus, - required this.status, - }); - - @override - Widget build(BuildContext context) { - final theme = Theme.of(context); - var t = AppLocalizations.of(context); - return DigitCard( - margin: margin, - padding: padding, - child: Padding( - padding: padding ?? - const EdgeInsets.only(left: 8.0, right: 8.0, bottom: 8.0, top: 0.0), - child: Column( - crossAxisAlignment: widget != null - ? CrossAxisAlignment.start - : CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - headLabel != null - ? Text( - headLabel!, - style: DigitTheme - .instance.mobileTheme.textTheme.headlineMedium, - ) - : const SizedBox.shrink(), - DigitTableCard( - padding: EdgeInsets.zero, - element: items, - ), - showStatus - ? Container( - margin: DigitTheme.instance.verticalMargin, - padding: const EdgeInsets.only( - bottom: 0, - ), - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SizedBox( - width: MediaQuery.of(context).size.width / 1.81, - child: Text( - t.translate(i18.measurementBook.mbStatus), - style: theme.textTheme.headlineSmall, - textAlign: TextAlign.start, - ), - ), - const SizedBox(width: 0), - Flexible( - child: Padding( - padding: const EdgeInsets.only(top: 1.4), - child: Container( - padding: const EdgeInsets.only( - left: 0, right: 12, top: 4, bottom: 4), - color: Colors.transparent, - child: Text( - status.toString(), - style: DigitTheme - .instance.mobileTheme.textTheme.displaySmall! - .copyWith( - color: const DigitColors().darkSpringGreen, - ), - textAlign: TextAlign.left, - ), - ), - )), - ], - ), - ) - : const SizedBox.shrink(), - showSla - ? Container( - margin: DigitTheme.instance.verticalMargin, - padding: const EdgeInsets.only(bottom: 0), - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SizedBox( - width: MediaQuery.of(context).size.width / 1.81, - child: Text( - t.translate(i18.measurementBook.mbSlaDaysRemaining), - style: theme.textTheme.headlineSmall, - textAlign: TextAlign.start, - ), - ), - const SizedBox(width: 0), - Flexible( - child: Padding( - padding: const EdgeInsets.only(top: 1.4), - child: Container( - padding: const EdgeInsets.only( - left: 12, right: 12, top: 4, bottom: 4), - color: sla! < 0 - ? Colors.red.shade100 - : const DigitColors().paleLeafGreen, - child: Text( - sla.toString(), - style: DigitTheme - .instance.mobileTheme.textTheme.bodySmall! - .copyWith( - color: sla! < 0 - ? const DigitColors().lavaRed - : const DigitColors().darkSpringGreen, - ), - ), - ), - )), - ], - ), - ) - : const SizedBox.shrink(), - widget ?? const SizedBox.shrink() - ], - ), - ), - ); - } -} diff --git a/frontend/works_shg_app/lib/widgets/mb/multi_image.dart b/frontend/works_shg_app/lib/widgets/mb/multi_image.dart index bb9b14accf..9495d5ecdc 100644 --- a/frontend/works_shg_app/lib/widgets/mb/multi_image.dart +++ b/frontend/works_shg_app/lib/widgets/mb/multi_image.dart @@ -1,7 +1,8 @@ // ignore_for_file: public_member_api_docs, sort_constructors_first import 'dart:io'; -import 'package:digit_components/theme/colors.dart'; +// import 'package:digit_components/theme/colors.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:file_picker/file_picker.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -215,12 +216,10 @@ class FilePickerDemoState extends State { ? "${AppLocalizations.of(context).translate(i18.measurementBook.workSitePhotos)}" : "${AppLocalizations.of(context).translate(i18.common.supportingDocumentHeader)}", textAlign: TextAlign.left, - style: TextStyle( + style: const TextStyle( fontWeight: FontWeight.w400, fontSize: 16, - color: widget.headerType == MediaType.mbDetail - ? const DigitColors().black - : const DigitColors().black, + color: Colors.black, ), ), ), @@ -258,7 +257,7 @@ class FilePickerDemoState extends State { : "${AppLocalizations.of(context).translate(i18.common.accountNo)}", style: TextStyle( - color: const DigitColors().burningOrange, + color: Theme.of(context).colorTheme.primary.primary1, fontSize: 16), ), )), @@ -531,7 +530,7 @@ class FilePickerDemoState extends State { iconSize: 45, icon: Icon( icon, - color: const DigitColors().burningOrange, + color: Theme.of(context).colorTheme.primary.primary1, )), Text( AppLocalizations.of(context).translate(label), diff --git a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart index 8a59d03d73..85fa557977 100644 --- a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart +++ b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart @@ -1,7 +1,8 @@ import 'dart:async'; -import 'package:digit_components/digit_components.dart'; + import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:digit_ui_components/widgets/atoms/digit_text_form_input.dart'; +import 'package:digit_ui_components/widgets/atoms/labelled_fields.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; diff --git a/frontend/works_shg_app/lib/widgets/mb/radio_button_sheet.dart b/frontend/works_shg_app/lib/widgets/mb/radio_button_sheet.dart index 7a09b32910..a2dc02c6e7 100644 --- a/frontend/works_shg_app/lib/widgets/mb/radio_button_sheet.dart +++ b/frontend/works_shg_app/lib/widgets/mb/radio_button_sheet.dart @@ -1,4 +1,4 @@ -import 'package:digit_components/digit_components.dart'; + import 'package:digit_ui_components/digit_components.dart'; import 'package:digit_ui_components/models/RadioButtonModel.dart'; diff --git a/frontend/works_shg_app/lib/widgets/mb/text_button_underline.dart b/frontend/works_shg_app/lib/widgets/mb/text_button_underline.dart deleted file mode 100644 index 5c09bdf86d..0000000000 --- a/frontend/works_shg_app/lib/widgets/mb/text_button_underline.dart +++ /dev/null @@ -1,48 +0,0 @@ -import 'package:digit_components/theme/colors.dart'; -import 'package:digit_components/theme/digit_theme.dart'; -import 'package:flutter/material.dart'; - - -class CommonTextButtonUnderline extends StatelessWidget { - - final String label; - final VoidCallback onPressed; - const CommonTextButtonUnderline({ - super.key, required this.label, required this.onPressed, - - }); - - - - @override - Widget build(BuildContext context) { - return SizedBox( - width: 200, - child: TextButton( - style: TextButton.styleFrom( - padding: EdgeInsets.zero, - minimumSize: const Size(50, 30), - tapTargetSize: MaterialTapTargetSize.shrinkWrap, - alignment: Alignment.centerLeft), - onPressed: onPressed, - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Text( - label, - style: - DigitTheme.instance.mobileTheme.textTheme.bodyLarge!.copyWith( - color: const DigitColors().burningOrange, - decoration: TextDecoration.underline, - decorationColor: const DigitColors().burningOrange, - decorationThickness: 2, - ), - ), - const Icon(Icons.arrow_forward_outlined) - ], - ), - ), - ); - } -} \ No newline at end of file diff --git a/frontend/works_shg_app/lib/widgets/molecules/desktop_view.dart b/frontend/works_shg_app/lib/widgets/molecules/desktop_view.dart index d4c234a0c4..28e31fd06a 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/desktop_view.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/desktop_view.dart @@ -1,4 +1,5 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/widgets/powered_by_digit.dart'; import 'package:flutter/material.dart'; import 'package:works_shg_app/utils/constants.dart'; @@ -25,7 +26,7 @@ class DesktopView extends StatelessWidget { const Center( child: PoweredByDigit( version: Constants.appVersion, - isWhiteLogo: true, + )) ]), bannerURL)); diff --git a/frontend/works_shg_app/lib/widgets/molecules/digit_search_dropdown.dart b/frontend/works_shg_app/lib/widgets/molecules/digit_search_dropdown.dart index 99741ce71e..ea7bb58121 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/digit_search_dropdown.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/digit_search_dropdown.dart @@ -1,4 +1,5 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:flutter/material.dart'; import 'package:flutter_typeahead/flutter_typeahead.dart'; @@ -58,7 +59,7 @@ class DigitSearchDropdown extends StatelessWidget { ), itemBuilder: (context, item) { return Padding( - padding: const EdgeInsets.all(kPadding * 2), + padding: EdgeInsets.all(Theme.of(context).spacerTheme.spacer4), child: Text( valueMapper(item), style: Theme.of(context).textTheme.bodyLarge, diff --git a/frontend/works_shg_app/lib/widgets/molecules/digit_table.dart b/frontend/works_shg_app/lib/widgets/molecules/digit_table.dart index 338af45659..205693dc94 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/digit_table.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/digit_table.dart @@ -1,4 +1,4 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:flutter/material.dart'; import 'package:horizontal_data_table/horizontal_data_table.dart'; @@ -32,7 +32,7 @@ class DigitTable extends StatelessWidget { leftHandSideColumnWidth: leftColumnWidth, rightHandSideColumnWidth: rightColumnWidth, isFixedHeader: true, - headerWidgets: _getTitleWidget(), + headerWidgets: _getTitleWidget(context), leftSideItemBuilder: _generateFirstColumnRow, rightSideItemBuilder: _generateRightHandSideColumnRow, itemCount: tableData.length, @@ -59,7 +59,7 @@ class DigitTable extends StatelessWidget { ); } - List _getTitleWidget() { + List _getTitleWidget(BuildContext context) { var index = 0; return headerList.where((e) => e.hide != true).map((e) { index++; @@ -69,18 +69,18 @@ class DigitTable extends StatelessWidget { padding: EdgeInsets.zero, ), onPressed: e.callBack == null ? null : () => e.callBack!(e), - child: _getTitleItemWidget((e.label), + child: _getTitleItemWidget((e.label),context, subLabel: e.subLabel ?? '', isAscending: e.isAscendingOrder, isBorderRequired: true)); } else { - return _getTitleItemWidget(e.label, + return _getTitleItemWidget(e.label,context, subLabel: e.subLabel ?? '', isBorderRequired: true); } }).toList(); } - Widget _getTitleItemWidget(String label, + Widget _getTitleItemWidget(String label, BuildContext context, {bool? isAscending, String? subLabel, bool isBorderRequired = false}) { var textWidget = Text(label, style: const TextStyle( @@ -116,7 +116,7 @@ class DigitTable extends StatelessWidget { subLabel ?? '', style: TextStyle( fontWeight: FontWeight.w400, - color: const DigitColors().davyGray, + color: Theme.of(context).colorScheme.secondary, fontSize: 12, ), ) @@ -128,7 +128,7 @@ class DigitTable extends StatelessWidget { Text( subLabel ?? '', style: TextStyle( - color: const DigitColors().davyGray, + color: Theme.of(context).colorScheme.secondary, fontSize: 12, fontWeight: FontWeight.w400), ) @@ -172,7 +172,7 @@ class DigitTable extends StatelessWidget { child: Text( tableData[index].tableRow.first.label ?? '', style: tableData[index].tableRow.first.style ?? - TextStyle(color: DigitTheme.instance.colorScheme.onSurface), + TextStyle(color: Theme.of(context).colorScheme.onSurface), ), ), )); diff --git a/frontend/works_shg_app/lib/widgets/molecules/file_picker.dart b/frontend/works_shg_app/lib/widgets/molecules/file_picker.dart index 5a6f79a759..39d77d45cc 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/file_picker.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/file_picker.dart @@ -1,7 +1,8 @@ import 'dart:io'; -import 'package:digit_components/theme/colors.dart'; -import 'package:digit_components/theme/digit_theme.dart'; +// import 'package:digit_components/theme/colors.dart'; +// import 'package:digit_components/theme/digit_theme.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:file_picker/file_picker.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -140,7 +141,8 @@ class SHGFilePickerState extends State { style: TextStyle( fontWeight: FontWeight.w400, fontSize: 16, - color: DigitTheme.instance.colorScheme.onSurface)))), + color: Theme.of(context).colorScheme.onSurface, + )))), Container( width: constraints.maxWidth > 760 ? MediaQuery.of(context).size.width / 2.5 @@ -192,7 +194,7 @@ class SHGFilePickerState extends State { children: [ Icon( Icons.camera_enhance, - color: DigitTheme.instance.colorScheme.primary, + color: Theme.of(context).colorScheme.primary, size: 50, ), ButtonLink( @@ -215,7 +217,7 @@ class SHGFilePickerState extends State { style: TextStyle( fontSize: 14, fontWeight: FontWeight.normal, - color: const DigitColors().cloudGray)), + color: Theme.of(context).colorScheme.secondary)), ) ]; } @@ -370,7 +372,7 @@ class SHGFilePickerState extends State { iconSize: 45, icon: Icon( icon, - color: DigitTheme.instance.colorScheme.primary, + color: Theme.of(context).colorScheme.primary, )), Text( AppLocalizations.of(context).translate(label), diff --git a/frontend/works_shg_app/lib/widgets/molecules/mb/table_form_data.dart b/frontend/works_shg_app/lib/widgets/molecules/mb/table_form_data.dart deleted file mode 100644 index d6b14e5432..0000000000 --- a/frontend/works_shg_app/lib/widgets/molecules/mb/table_form_data.dart +++ /dev/null @@ -1,67 +0,0 @@ -import 'package:digit_components/theme/digit_theme.dart'; -import 'package:flutter/material.dart'; - -class TableFormCard extends StatelessWidget { - final Map element; - final Border? border; - final Color? color; - final EdgeInsetsGeometry? padding; - final double gap; - final num fraction; - - const TableFormCard({ - super.key, - required this.element, - this.border, - this.color, - this.padding, - this.gap = 0, - this.fraction = 2, - }); - - @override - Widget build(BuildContext context) { - final theme = Theme.of(context); - return Padding( - padding: const EdgeInsets.only(top: 0), - child: Container( - decoration: BoxDecoration( - color: color, - borderRadius: BorderRadius.circular(4), - border: border), - child: Padding( - padding: padding ?? const EdgeInsets.only(right: 8, bottom: 8), - child: Column( - children: element.keys - .map((e) => Container( - margin: DigitTheme.instance.verticalMargin, - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - SizedBox( - width: MediaQuery.of(context).size.width / fraction, - child: Text( - e, - style: theme.textTheme.headlineSmall, - textAlign: TextAlign.start, - ), - ), - SizedBox(width: gap), - Flexible( - child: Padding( - padding: const EdgeInsets.only(top: 0), - child: Text(element[e].toString(), - overflow: TextOverflow.ellipsis, - maxLines: 3, - ), - )), - ], - ), - )) - .toList(), - ), - ), - ), - ); - } -} diff --git a/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart b/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart index c535bf05dc..453e04fa11 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/mobile_view.dart @@ -1,4 +1,5 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; +import 'package:digit_ui_components/widgets/powered_by_digit.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/blocs/localization/localization.dart'; @@ -60,7 +61,7 @@ class MobileView extends StatelessWidget { alignment: Alignment.bottomCenter, child: PoweredByDigit( version: Constants.appVersion, - isWhiteLogo: true, + ), ), )), diff --git a/frontend/works_shg_app/lib/widgets/molecules/success_page.dart b/frontend/works_shg_app/lib/widgets/molecules/success_page.dart index 2a2799dc91..ce34589c4e 100644 --- a/frontend/works_shg_app/lib/widgets/molecules/success_page.dart +++ b/frontend/works_shg_app/lib/widgets/molecules/success_page.dart @@ -1,4 +1,4 @@ -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/digit_components.dart' as ui_component; import 'package:digit_ui_components/enum/app_enums.dart'; import 'package:digit_ui_components/theme/ComponentTheme/back_button_theme.dart'; @@ -7,6 +7,7 @@ import 'package:digit_ui_components/widgets/atoms/digit_back_button.dart'; import 'package:digit_ui_components/widgets/molecules/panel_cards.dart'; import 'package:digit_ui_components/widgets/molecules/panel_cards.dart'; +import 'package:digit_ui_components/widgets/powered_by_digit.dart'; import 'package:flutter/material.dart'; import 'package:works_shg_app/blocs/localization/app_localization.dart'; diff --git a/frontend/works_shg_app/lib/widgets/side_bar.dart b/frontend/works_shg_app/lib/widgets/side_bar.dart index 545a719747..5af6cbbe09 100644 --- a/frontend/works_shg_app/lib/widgets/side_bar.dart +++ b/frontend/works_shg_app/lib/widgets/side_bar.dart @@ -1,265 +1,258 @@ -import 'package:digit_components/digit_components.dart'; -import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:works_shg_app/blocs/auth/auth.dart'; -import 'package:works_shg_app/icons/shg_icons.dart'; -import 'package:works_shg_app/router/app_router.dart'; -import 'package:works_shg_app/utils/constants.dart'; -import 'package:works_shg_app/utils/global_variables.dart'; -import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' - as i18; +// // import 'package:digit_components/digit_components.dart'; +// // import 'package:digit_components/models/digit_row_card/digit_row_card_model.dart'; +// import 'package:digit_ui_components/theme/digit_extended_theme.dart'; +// import 'package:digit_ui_components/widgets/molecules/language_selection_card.dart'; +// import 'package:digit_ui_components/widgets/powered_by_digit.dart'; +// import 'package:digit_ui_components/widgets/scrollable_content.dart'; +// import 'package:flutter/material.dart'; +// import 'package:flutter_bloc/flutter_bloc.dart'; +// import 'package:works_shg_app/blocs/auth/auth.dart'; +// import 'package:works_shg_app/icons/shg_icons.dart'; +// import 'package:works_shg_app/router/app_router.dart'; +// import 'package:works_shg_app/utils/constants.dart'; +// import 'package:works_shg_app/utils/global_variables.dart'; +// import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' +// as i18; +// import 'package:works_shg_app/widgets/loaders.dart'; -import '../blocs/app_initilization/app_initilization.dart'; -import '../blocs/localization/app_localization.dart'; -import '../blocs/localization/localization.dart'; -import '../blocs/organisation/org_search_bloc.dart'; -import '../models/organisation/organisation_model.dart'; +// import '../blocs/app_initilization/app_initilization.dart'; +// import '../blocs/localization/app_localization.dart'; +// import '../blocs/localization/localization.dart'; +// import '../blocs/organisation/org_search_bloc.dart'; +// import '../models/organisation/organisation_model.dart'; -class SideBar extends StatefulWidget { - final String module; - const SideBar( - {super.key, - this.module = - 'rainmaker-common,rainmaker-attendencemgmt,rainmaker-common-masters'}); - @override - State createState() { - return _SideBar(); - } -} +// class SideBar extends StatefulWidget { +// final String module; +// const SideBar( +// {super.key, +// this.module = +// 'rainmaker-common,rainmaker-attendencemgmt,rainmaker-common-masters'}); +// @override +// State createState() { +// return _SideBar(); +// } +// } -class _SideBar extends State { - List? digitRowCardItems; +// class _SideBar extends State { +// List? digitRowCardItems; - @override - void initState() { - WidgetsBinding.instance.addPostFrameCallback((_) => afterViewBuild()); - super.initState(); - } +// @override +// void initState() { +// WidgetsBinding.instance.addPostFrameCallback((_) => afterViewBuild()); +// super.initState(); +// } - afterViewBuild() async { - digitRowCardItems = await GlobalVariables.getLanguages(); - } +// afterViewBuild() async { +// digitRowCardItems = await GlobalVariables.getLanguages(); +// } - @override - dispose() { - super.dispose(); - } +// @override +// dispose() { +// super.dispose(); +// } - @override - Widget build(BuildContext buildContext) { - final theme = DigitTheme.instance; +// @override +// Widget build(BuildContext buildContext) { +// final theme = Theme.of(context); - return BlocBuilder( - builder: (context, localeState) { - return localeState.maybeMap( - orElse: () => const SizedBox.shrink(), - loaded: (value) { - return ScrollableContent( - backgroundColor: const DigitColors().white, - footer: const PoweredByDigit( - version: Constants.appVersion, - ), - children: [ - BlocBuilder( - builder: (context, state) { - return state.maybeMap( - orElse: () { - return const SizedBox.shrink(); - }, - loaded: (value) { - if (value.roleType == RoleType.cbo) { - return BlocBuilder( - builder: (context, orgState) { - return orgState.maybeWhen( - orElse: () => Container(), - loading: () => SizedBox( - height: - MediaQuery.of(buildContext).size.height / - 3, - child: Loaders.circularLoader(context)), - loaded: (OrganisationListModel? - organisationListModel) { - return organisationListModel?.organisations != - null - ? Container( - width: MediaQuery.of(buildContext) - .size - .width, - height: MediaQuery.of(buildContext) - .size - .height / - 3, - color: const DigitColors().quillGray, - child: Column( - mainAxisAlignment: - MainAxisAlignment.center, - children: [ - Text( - organisationListModel! - .organisations!.first.name - .toString(), - style: theme.mobileTheme.textTheme - .headlineMedium - ?.apply( - color: const DigitColors() - .black), - ), - Text( - organisationListModel - .organisations! - .first - .contactDetails! - .first - .contactMobileNumber - .toString(), - style: theme.mobileTheme.textTheme - .bodyMedium - ?.apply( - color: const DigitColors() - .davyGray), - ), - ], - ), - ) - : Container(); - }); - }); - } else { - return Container( - width: MediaQuery.of(buildContext).size.width, - height: MediaQuery.of(buildContext).size.height / 3, - color: const DigitColors().quillGray, - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text( - value.userDetailsModel?.userRequestModel?.name - .toString() ?? - '', - style: theme - .mobileTheme.textTheme.headlineMedium - ?.apply(color: const DigitColors().black), - ), - Text( - value.userDetailsModel?.userRequestModel - ?.mobileNumber - .toString() ?? - '', - style: theme.mobileTheme.textTheme.bodyMedium - ?.apply( - color: const DigitColors().davyGray), - ), - ], - ), - ); - } - }, - ); - }, - ), - Row( - children: [ - context.router.currentPath == '/home' - ? Container( - alignment: Alignment.centerLeft, - height: 60, - width: 9, - color: const DigitColors().burningOrange, - ) - : const SizedBox.shrink(), - Expanded( - child: DigitIconTile( - title: AppLocalizations.of(context) - .translate(i18.common.home), - selected: context.router.currentPath == '/home', - icon: Icons.home, - onPressed: () => - context.router.replace(const HomeRoute()), - ), - ), - ], - ), - DigitIconTile( - title: - AppLocalizations.of(context).translate(i18.common.language), - icon: SHGIcons.language, - content: Padding( - padding: const EdgeInsets.only(top:16,bottom: 16,right: 16), - child: BlocBuilder( - builder: (context, state) { - return state.digitRowCardItems != null && - state.isInitializationCompleted - ? DigitRowCard( - onChanged: (data) async { - context.read().add( - LocalizationEvent - .onSpecificLoadLocalization( - locale: data.value, - module: widget.module, - tenantId: state - .initMdmsModel! - .commonMastersModel! - .stateInfoListModel! - .first - .code - .toString(), - ), - ); - }, - rowItems: value.languages - ?.map((e) => - DigitRowCardModel.fromJson(e.toJson())) - .toList() as List, - width: 80) - : const Text(''); - }, - ), - ), - onPressed: () {}, - ), +// return BlocBuilder( +// builder: (context, localeState) { +// return localeState.maybeMap( +// orElse: () => const SizedBox.shrink(), +// loaded: (value) { +// return ScrollableContent( +// backgroundColor: Colors.white, +// footer: const PoweredByDigit( +// version: Constants.appVersion, +// ), +// children: [ +// BlocBuilder( +// builder: (context, state) { +// return state.maybeMap( +// orElse: () { +// return const SizedBox.shrink(); +// }, +// loaded: (value) { +// if (value.roleType == RoleType.cbo) { +// return BlocBuilder( +// builder: (context, orgState) { +// return orgState.maybeWhen( +// orElse: () => Container(), +// loading: () => SizedBox( +// height: +// MediaQuery.of(buildContext).size.height / +// 3, +// child: Loaders.circularLoader(context)), +// loaded: (OrganisationListModel? +// organisationListModel) { +// return organisationListModel?.organisations != +// null +// ? Container( +// width: MediaQuery.of(buildContext) +// .size +// .width, +// height: MediaQuery.of(buildContext) +// .size +// .height / +// 3, +// color: Colors.grey, +// child: Column( +// mainAxisAlignment: +// MainAxisAlignment.center, +// children: [ +// Text( +// organisationListModel! +// .organisations!.first.name +// .toString(), +// style: Theme.of(context).digitTextTheme(context).headingM, +// ), +// Text( +// organisationListModel +// .organisations! +// .first +// .contactDetails! +// .first +// .contactMobileNumber +// .toString(), +// style: Theme.of(context).digitTextTheme(context).headingM, +// ), +// ], +// ), +// ) +// : Container(); +// }); +// }); +// } else { +// return Container( +// width: MediaQuery.of(buildContext).size.width, +// height: MediaQuery.of(buildContext).size.height / 3, +// color: const DigitColors().quillGray, +// child: Column( +// mainAxisAlignment: MainAxisAlignment.center, +// children: [ +// Text( +// value.userDetailsModel?.userRequestModel?.name +// .toString() ?? +// '', +// style: Theme.of(context).digitTextTheme(context).headingM, +// ), +// Text( +// value.userDetailsModel?.userRequestModel +// ?.mobileNumber +// .toString() ?? +// '', +// style: Theme.of(context).digitTextTheme(context).bodyL, +// ), +// ], +// ), +// ); +// } +// }, +// ); +// }, +// ), +// Row( +// children: [ +// context.router.currentPath == '/home' +// ? Container( +// alignment: Alignment.centerLeft, +// height: 60, +// width: 9, +// color: const DigitColors().burningOrange, +// ) +// : const SizedBox.shrink(), +// Expanded( +// child: DigitIconTile( +// title: AppLocalizations.of(context) +// .translate(i18.common.home), +// selected: context.router.currentPath == '/home', +// icon: Icons.home, +// onPressed: () => +// context.router.replace(const HomeRoute()), +// ), +// ), +// ], +// ), +// DigitIconTile( +// title: +// AppLocalizations.of(context).translate(i18.common.language), +// icon: SHGIcons.language, +// content: Padding( +// padding: const EdgeInsets.only(top:16,bottom: 16,right: 16), +// child: BlocBuilder( +// builder: (context, state) { +// return state.digitRowCardItems != null && +// state.isInitializationCompleted +// ? DigitRowCard( +// onChanged: (data) async { +// context.read().add( +// LocalizationEvent +// .onSpecificLoadLocalization( +// locale: data.value, +// module: widget.module, +// tenantId: state +// .initMdmsModel! +// .commonMastersModel! +// .stateInfoListModel! +// .first +// .code +// .toString(), +// ), +// ); +// }, +// rowItems: value.languages +// ?.map((e) => +// DigitRowCardModel.fromJson(e.toJson())) +// .toList() as List, +// width: 80) +// : const Text(''); +// }, +// ), +// ), +// onPressed: () {}, +// ), - Row( - children: [ - context.router.currentPath.contains('orgProfile') - ? Container( - alignment: Alignment.centerLeft, - height: 50, - width: 9, - color: const DigitColors().burningOrange, - ) - : const SizedBox.shrink(), - GlobalVariables.roleType == RoleType.cbo - ? Expanded( - child: DigitIconTile( - title: AppLocalizations.of(context) - .translate(i18.common.orgProfile), - selected: context.router.currentPath - .contains('orgProfile'), - icon: Icons.perm_contact_cal_sharp, - onPressed: () { - context.router.push(const ORGProfileRoute()); - }), - ) - : const SizedBox.shrink(), - ], - ), - DigitIconTile( - title: - AppLocalizations.of(context).translate(i18.common.logOut), - icon: Icons.logout, - onPressed: () { - context.read().add(const AuthLogoutEvent()); - }), - ], - ); - }, - loading: (value) { - return Loaders.circularLoader(context); - }, - ); - }); - } -} +// Row( +// children: [ +// context.router.currentPath.contains('orgProfile') +// ? Container( +// alignment: Alignment.centerLeft, +// height: 50, +// width: 9, +// color: const DigitColors().burningOrange, +// ) +// : const SizedBox.shrink(), +// GlobalVariables.roleType == RoleType.cbo +// ? Expanded( +// child: DigitIconTile( +// title: AppLocalizations.of(context) +// .translate(i18.common.orgProfile), +// selected: context.router.currentPath +// .contains('orgProfile'), +// icon: Icons.perm_contact_cal_sharp, +// onPressed: () { +// context.router.push(const ORGProfileRoute()); +// }), +// ) +// : const SizedBox.shrink(), +// ], +// ), +// DigitIconTile( +// title: +// AppLocalizations.of(context).translate(i18.common.logOut), +// icon: Icons.logout, +// onPressed: () { +// context.read().add(const AuthLogoutEvent()); +// }), +// ], +// ); +// }, +// loading: (value) { +// return Loaders.circularLoader(context); +// }, +// ); +// }); +// } +// } diff --git a/frontend/works_shg_app/lib/widgets/work_details_card.dart b/frontend/works_shg_app/lib/widgets/work_details_card.dart index 81fde85735..54e711c579 100644 --- a/frontend/works_shg_app/lib/widgets/work_details_card.dart +++ b/frontend/works_shg_app/lib/widgets/work_details_card.dart @@ -1,5 +1,5 @@ import 'package:collection/collection.dart'; -import 'package:digit_components/digit_components.dart'; +// import 'package:digit_components/digit_components.dart'; import 'package:digit_ui_components/digit_components.dart' as ui_component; import 'package:digit_ui_components/enum/app_enums.dart'; import 'package:digit_ui_components/theme/digit_extended_theme.dart'; diff --git a/frontend/works_shg_app/pubspec.yaml b/frontend/works_shg_app/pubspec.yaml index fdf6bbbaa4..c6478ade4f 100644 --- a/frontend/works_shg_app/pubspec.yaml +++ b/frontend/works_shg_app/pubspec.yaml @@ -136,6 +136,7 @@ flutter: assets: - .env - assets/png/ + - assets/images/ - assets/svg/ - assets/animated_json/ - assets/icons/svg/ From dcaaafcbe5c44833622b2468b91447b77ab5f57f Mon Sep 17 00:00:00 2001 From: kams Date: Mon, 30 Sep 2024 11:18:17 +0530 Subject: [PATCH 243/292] bracket error in create estimate page --- .../micro-ui-internals/example/package.json | 2 +- .../packages/modules/Estimate/package.json | 64 +++--- .../CreateDetailedEstimate/CreateEstimate.js | 188 +++++++++--------- frontend/micro-ui/web/package.json | 2 +- 4 files changed, 128 insertions(+), 128 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index 5fd31c7051..6ed66328c8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -18,7 +18,7 @@ "@egovernments/digit-ui-module-attendencemgmt": "0.4.8", "@egovernments/digit-ui-module-contracts": "0.4.7", "@egovernments/digit-ui-module-measurement":"0.2.6", - "@egovernments/digit-ui-module-estimate": "0.4.10", + "@egovernments/digit-ui-module-estimate": "0.4.11", "@egovernments/digit-ui-module-masters": "0.4.10", "@egovernments/digit-ui-module-project": "0.4.7", "@egovernments/digit-ui-module-expenditure": "0.4.5", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json index 7cb1f0386c..b37480e1e9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json @@ -1,33 +1,33 @@ { - "name": "@egovernments/digit-ui-module-estimate", - "version": "0.4.10", - "description": "Estimate Module UI", - "main": "dist/index.js", - "module": "dist/index.modern.js", - "source": "src/Module.js", - "files": [ - "dist" - ], - "scripts": { - "start": "microbundle-crl watch --no-compress --format modern,cjs", - "build": "microbundle-crl --compress --no-sourcemap --format cjs", - "prepublish": "yarn build" - }, - "peerDependencies": { - "react": "17.0.2", - "react-router-dom": "5.3.0" - }, - "dependencies": { - "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.40", - "react": "17.0.2", - "react-date-range": "^1.4.0", - "react-dom": "17.0.2", - "react-hook-form": "6.15.8", - "react-i18next": "11.16.2", - "react-query": "3.6.1", - "react-router-dom": "5.3.0" - }, - "author": "", - "license": "MIT" - } \ No newline at end of file + "name": "@egovernments/digit-ui-module-estimate", + "version": "0.4.11", + "description": "Estimate Module UI", + "main": "dist/index.js", + "module": "dist/index.modern.js", + "source": "src/Module.js", + "files": [ + "dist" + ], + "scripts": { + "start": "microbundle-crl watch --no-compress --format modern,cjs", + "build": "microbundle-crl --compress --no-sourcemap --format cjs", + "prepublish": "yarn build" + }, + "peerDependencies": { + "react": "17.0.2", + "react-router-dom": "5.3.0" + }, + "dependencies": { + "@egovernments/digit-ui-react-components": "^1.5.0", + "@egovernments/digit-ui-components": "0.0.2-beta.40", + "react": "17.0.2", + "react-date-range": "^1.4.0", + "react-dom": "17.0.2", + "react-hook-form": "6.15.8", + "react-i18next": "11.16.2", + "react-query": "3.6.1", + "react-router-dom": "5.3.0" + }, + "author": "", + "license": "MIT" +} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js index 09b8c6bbb0..933f0de6f6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js @@ -501,101 +501,102 @@ const CreateEstimate = ({ props }) => { removeNonsortableObjectWithoutRequiredParams(completeFormData); let validated = action !== "DRAFT" ? validateData(completeFormData) : true; if(validated){ - const payload = createEstimatePayload(completeFormData, projectData, isEdit, currentEstimate, isCreateRevisionEstimate, isEditRevisionEstimate); - setShowModal(false); - - //make a util for updateEstimatePayload since there are some deviations - - if ((isEdit || isEditRevisionEstimate) && (estimateNumber || revisionNumber)) { - await EstimateUpdateMutation(payload, { - onError: async (error, variables) => { - sessionStorage.removeItem("Digit.NEW_ESTIMATE_CREATE"); - setIsButtonDisabled(false); - setShowToast({ type: "warning", label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error }); - setTimeout(() => { - setShowToast(false); - }, 3000); - if(error?.toString().includes("not found in config for the businessId")) - { - if(isCreateRevisionEstimate || isEditRevisionEstimate) - setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/estimate-details?tenantId=${tenantId}&revisionNumber=${revisionNumber}&estimateNumber=${estimateNumber}&projectNumber=${projectNumber}`)}, 3500); - else - setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/estimate-details?tenantId=${tenantId}&estimateNumber=${estimateNumber}&projectNumber=${projectNumber}`)}, 3500); - } - }, - onSuccess: async (responseData, variables) => { - sessionStorage.removeItem("Digit.NEW_ESTIMATE_CREATE"); - clearSessionFormData(); - const state = { - header: isCreateRevisionEstimate || isEditRevisionEstimate ? t("WORKS_REVISION_ESTIMATE_RESPONSE_UPDATED_HEADER") : t("WORKS_ESTIMATE_RESPONSE_UPDATED_HEADER"), - id: isCreateRevisionEstimate || isEditRevisionEstimate ? responseData?.estimates[0]?.revisionNumber : responseData?.estimates[0]?.estimateNumber, - info: isCreateRevisionEstimate || isEditRevisionEstimate ? t("ESTIMATE_REVISION_ESTIMATE_NO") : t("ESTIMATE_ESTIMATE_NO"), - // message: t("WORKS_ESTIMATE_RESPONSE_MESSAGE_CREATE", { department: t(`ES_COMMON_${responseData?.estimates[0]?.executingDepartment}`) }), - links: [ - { - name: t("WORKS_GOTO_ESTIMATE_INBOX"), - redirectUrl: `/${window.contextPath}/employee/estimate/inbox`, - code: "", - svg: "GotoInboxIcon", - isVisible: true, - type: "inbox", - }, - ], - }; - if(action === "DRAFT") - { - setShowToast({ label: t("WORKS_ESTIMATE_APPLICATION_DRAFTED") }); - if(isCreateRevisionEstimate || isEditRevisionEstimate) - setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/update-revision-detailed-estimate?tenantId=${responseData?.estimates[0]?.tenantId}&revisionNumber=${responseData?.estimates[0]?.revisionNumber}&estimateNumber=${responseData?.estimates[0]?.estimateNumber}&projectNumber=${projectNumber}&isEditRevisionEstimate=true`, state)}, 3000); + const payload = createEstimatePayload(completeFormData, projectData, isEdit, currentEstimate, isCreateRevisionEstimate, isEditRevisionEstimate); + setShowModal(false); + + //make a util for updateEstimatePayload since there are some deviations + + if ((isEdit || isEditRevisionEstimate) && (estimateNumber || revisionNumber)) { + await EstimateUpdateMutation(payload, { + onError: async (error, variables) => { + sessionStorage.removeItem("Digit.NEW_ESTIMATE_CREATE"); + setIsButtonDisabled(false); + setShowToast({ type: "warning", label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error }); + setTimeout(() => { + setShowToast(false); + }, 3000); + if(error?.toString().includes("not found in config for the businessId")) + { + if(isCreateRevisionEstimate || isEditRevisionEstimate) + setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/estimate-details?tenantId=${tenantId}&revisionNumber=${revisionNumber}&estimateNumber=${estimateNumber}&projectNumber=${projectNumber}`)}, 3500); + else + setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/estimate-details?tenantId=${tenantId}&estimateNumber=${estimateNumber}&projectNumber=${projectNumber}`)}, 3500); + } + }, + onSuccess: async (responseData, variables) => { + sessionStorage.removeItem("Digit.NEW_ESTIMATE_CREATE"); + clearSessionFormData(); + const state = { + header: isCreateRevisionEstimate || isEditRevisionEstimate ? t("WORKS_REVISION_ESTIMATE_RESPONSE_UPDATED_HEADER") : t("WORKS_ESTIMATE_RESPONSE_UPDATED_HEADER"), + id: isCreateRevisionEstimate || isEditRevisionEstimate ? responseData?.estimates[0]?.revisionNumber : responseData?.estimates[0]?.estimateNumber, + info: isCreateRevisionEstimate || isEditRevisionEstimate ? t("ESTIMATE_REVISION_ESTIMATE_NO") : t("ESTIMATE_ESTIMATE_NO"), + // message: t("WORKS_ESTIMATE_RESPONSE_MESSAGE_CREATE", { department: t(`ES_COMMON_${responseData?.estimates[0]?.executingDepartment}`) }), + links: [ + { + name: t("WORKS_GOTO_ESTIMATE_INBOX"), + redirectUrl: `/${window.contextPath}/employee/estimate/inbox`, + code: "", + svg: "GotoInboxIcon", + isVisible: true, + type: "inbox", + }, + ], + }; + if(action === "DRAFT") + { + setShowToast({ label: t("WORKS_ESTIMATE_APPLICATION_DRAFTED") }); + if(isCreateRevisionEstimate || isEditRevisionEstimate) + setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/update-revision-detailed-estimate?tenantId=${responseData?.estimates[0]?.tenantId}&revisionNumber=${responseData?.estimates[0]?.revisionNumber}&estimateNumber=${responseData?.estimates[0]?.estimateNumber}&projectNumber=${projectNumber}&isEditRevisionEstimate=true`, state)}, 3000); + else + setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/update-detailed-estimate?tenantId=${responseData?.estimates[0]?.tenantId}&estimateNumber=${responseData?.estimates[0]?.estimateNumber}&projectNumber=${projectNumber}&isEdit=true`, state)}, 3000); + } else - setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/update-detailed-estimate?tenantId=${responseData?.estimates[0]?.tenantId}&estimateNumber=${responseData?.estimates[0]?.estimateNumber}&projectNumber=${projectNumber}&isEdit=true`, state)}, 3000); - } - else - history.push(`/${window?.contextPath}/employee/estimate/response`, state); - }, - }); - } else { - await EstimateMutation(payload, { - onError: async (error, variables) => { - sessionStorage.removeItem("Digit.NEW_ESTIMATE_CREATE"); - setIsButtonDisabled(false); - setShowToast({ type:"warning", label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error }); - setTimeout(() => { - setShowToast(false); - }, 5000); - }, - onSuccess: async (responseData, variables) => { - sessionStorage.removeItem("Digit.NEW_ESTIMATE_CREATE"); - clearSessionFormData(); - const state = { - header: isCreateRevisionEstimate || isEditRevisionEstimate ? t("WORKS_REVISION_ESTIMATE_RESPONSE_CREATED_HEADER") :t("WORKS_ESTIMATE_RESPONSE_CREATED_HEADER"), - id: isCreateRevisionEstimate || isEditRevisionEstimate ? responseData?.estimates[0]?.revisionNumber : responseData?.estimates[0]?.estimateNumber, - info:isCreateRevisionEstimate || isEditRevisionEstimate ? t("ESTIMATE_REVISION_ESTIMATE_NO") : t("ESTIMATE_ESTIMATE_NO"), - // message: t("WORKS_ESTIMATE_RESPONSE_MESSAGE_CREATE", { department: t(`ES_COMMON_${responseData?.estimates[0]?.executingDepartment}`) }), - links: [ - { - name: t("WORKS_GOTO_ESTIMATE_INBOX"), - redirectUrl: `/${window.contextPath}/employee/estimate/inbox`, - code: "", - svg: "GotoInboxIcon", - isVisible: true, - type: "inbox", - }, - ], - }; - if(action === "DRAFT") - { - setShowToast({ label: t("WORKS_ESTIMATE_APPLICATION_DRAFTED") }); - if(isCreateRevisionEstimate || isEditRevisionEstimate) - setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/update-revision-detailed-estimate?tenantId=${responseData?.estimates[0]?.tenantId}&revisionNumber=${responseData?.estimates[0]?.revisionNumber}&estimateNumber=${responseData?.estimates[0]?.estimateNumber}&projectNumber=${projectNumber}&isEditRevisionEstimate=true`, state)}, 3000); + history.push(`/${window?.contextPath}/employee/estimate/response`, state); + }, + }); + } else { + await EstimateMutation(payload, { + onError: async (error, variables) => { + sessionStorage.removeItem("Digit.NEW_ESTIMATE_CREATE"); + setIsButtonDisabled(false); + setShowToast({ type:"warning", label: error?.response?.data?.Errors?.[0].message ? error?.response?.data?.Errors?.[0].message : error }); + setTimeout(() => { + setShowToast(false); + }, 5000); + }, + onSuccess: async (responseData, variables) => { + sessionStorage.removeItem("Digit.NEW_ESTIMATE_CREATE"); + clearSessionFormData(); + const state = { + header: isCreateRevisionEstimate || isEditRevisionEstimate ? t("WORKS_REVISION_ESTIMATE_RESPONSE_CREATED_HEADER") :t("WORKS_ESTIMATE_RESPONSE_CREATED_HEADER"), + id: isCreateRevisionEstimate || isEditRevisionEstimate ? responseData?.estimates[0]?.revisionNumber : responseData?.estimates[0]?.estimateNumber, + info:isCreateRevisionEstimate || isEditRevisionEstimate ? t("ESTIMATE_REVISION_ESTIMATE_NO") : t("ESTIMATE_ESTIMATE_NO"), + // message: t("WORKS_ESTIMATE_RESPONSE_MESSAGE_CREATE", { department: t(`ES_COMMON_${responseData?.estimates[0]?.executingDepartment}`) }), + links: [ + { + name: t("WORKS_GOTO_ESTIMATE_INBOX"), + redirectUrl: `/${window.contextPath}/employee/estimate/inbox`, + code: "", + svg: "GotoInboxIcon", + isVisible: true, + type: "inbox", + }, + ], + }; + if(action === "DRAFT") + { + setShowToast({ label: t("WORKS_ESTIMATE_APPLICATION_DRAFTED") }); + if(isCreateRevisionEstimate || isEditRevisionEstimate) + setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/update-revision-detailed-estimate?tenantId=${responseData?.estimates[0]?.tenantId}&revisionNumber=${responseData?.estimates[0]?.revisionNumber}&estimateNumber=${responseData?.estimates[0]?.estimateNumber}&projectNumber=${projectNumber}&isEditRevisionEstimate=true`, state)}, 3000); + else + setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/update-detailed-estimate?tenantId=${responseData?.estimates[0]?.tenantId}&estimateNumber=${responseData?.estimates[0]?.estimateNumber}&projectNumber=${projectNumber}&isEdit=true`, state)}, 3000); + } else - setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/update-detailed-estimate?tenantId=${responseData?.estimates[0]?.tenantId}&estimateNumber=${responseData?.estimates[0]?.estimateNumber}&projectNumber=${projectNumber}&isEdit=true`, state)}, 3000); - } - else - setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/response`, state)}, 5000); - }, - }); - } + setTimeout(() => {history.push(`/${window?.contextPath}/employee/estimate/response`, state)}, 5000); + }, + }); + } + }; }; // const { isLoading: mdmsLoading, data: mdmsData, isSuccess: mdmsSuccess } = Digit.Hooks.useCustomMDMS( @@ -744,6 +745,5 @@ const CreateEstimate = ({ props }) => { ); }; -}; export default CreateEstimate; diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index fe0905b62e..0009ee3bdd 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -25,7 +25,7 @@ "@egovernments/digit-ui-module-attendencemgmt": "0.4.8", "@egovernments/digit-ui-module-contracts": "0.4.7", "@egovernments/digit-ui-module-measurement":"0.2.6", - "@egovernments/digit-ui-module-estimate": "0.4.10", + "@egovernments/digit-ui-module-estimate": "0.4.11", "@egovernments/digit-ui-module-masters": "0.4.10", "@egovernments/digit-ui-module-project": "0.4.7", "@egovernments/digit-ui-module-expenditure": "0.4.5", From 7963eaf6a614a0e3a120d2518ce921c07e423e22 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Mon, 30 Sep 2024 13:01:27 +0530 Subject: [PATCH 244/292] localization value added and 32 limit imposed --- .../lib/utils/localization_constants/i18_key_constants.dart | 2 ++ frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/frontend/works_shg_app/lib/utils/localization_constants/i18_key_constants.dart b/frontend/works_shg_app/lib/utils/localization_constants/i18_key_constants.dart index 78b47a7810..0254d71126 100644 --- a/frontend/works_shg_app/lib/utils/localization_constants/i18_key_constants.dart +++ b/frontend/works_shg_app/lib/utils/localization_constants/i18_key_constants.dart @@ -486,4 +486,6 @@ String get addMeasurement=>"MB_ADD_MEASUREMENT"; String get imageLimit=>"MB_IMGAE_LIMIT"; String get imageSize=>"MB_FILE_SIZE"; + String get measurementSummaryLabel=>"MB_SUMMARY_LABEL"; + } diff --git a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart index b85e36009c..ca0afd74e5 100644 --- a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart +++ b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart @@ -241,9 +241,10 @@ class _MultiLineItemsState extends State { : const SizedBox.shrink(), LabeledField( - label: "Measurement summary", + label: t.translate(i18.measurementBook.measurementSummaryLabel), child: DigitTextFormInput( - + maxLength: 32, + charCount: true, keyboardType: TextInputType.text, // label: t.translate(i18.measurementBook.numberLabel), controller: measurementSummaryController, From 2bdbecf314e34f46c8431d701ac5564a9698aee2 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Mon, 30 Sep 2024 16:30:54 +0530 Subject: [PATCH 245/292] comment filed made mandetory incase rejection --- .../lib/pages/employee/mb_config_warning.dart | 4 + .../lib/pages/employee/mb_inbox.dart | 2 +- frontend/works_shg_app/lib/pages/login.dart | 4 +- .../lib/widgets/mb/multi_line_items.dart | 201 +++++++++--------- .../lib/widgets/mb/radio_button_sheet.dart | 16 +- 5 files changed, 122 insertions(+), 105 deletions(-) diff --git a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart index 4a65df528c..d65f3a7b07 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_config_warning.dart @@ -402,6 +402,9 @@ class _MBTypeConfirmationPageState extends State { Padding( padding: const EdgeInsets.all(16.0), child: ui_component.LabeledField( + isRequired: widget.nextActions!.action == "REJECT" + ? true + : false, label: "${t.translate("WF_MODAL_COMMENTS")}", child: DigitTextAreaFormInput( @@ -666,6 +669,7 @@ class _MBTypeConfirmationPageState extends State { padding: const EdgeInsets.only( top: 16.0, left: 16.0, right: 16.0), child: ui_component.LabeledField( + label: t.translate("WF_MODAL_COMMENTS"), child: DigitTextAreaFormInput( maxLine: 5, diff --git a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart index 5b7d835194..1a050a8b9e 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_inbox.dart @@ -255,7 +255,7 @@ class _MeasurementBookInboxPageState extends State { ]), ), Padding( - padding: const EdgeInsets.only(left: 16.0,top: 0.0), + padding: const EdgeInsets.only(left: 16.0,top: 0.0,bottom: 0.0), child: DigitTextBlock( heading: "${t.translate(i18.measurementBook.mbInbox)} (${mbInboxResponse.mbInboxResponse.totalCount ?? 0})", diff --git a/frontend/works_shg_app/lib/pages/login.dart b/frontend/works_shg_app/lib/pages/login.dart index 88fbb3d5df..e44892c869 100644 --- a/frontend/works_shg_app/lib/pages/login.dart +++ b/frontend/works_shg_app/lib/pages/login.dart @@ -130,8 +130,8 @@ class _LoginPageState extends State code: "0", name: t .translate(i18.measurementBook.mbCbo) - .toString() - .toUpperCase()), + .toString().toUpperCase() + ), ToggleButtonModel( name: t.translate(i18.measurementBook.mbEmployee), code: "1") diff --git a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart index c09ee71898..0c221c8004 100644 --- a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart +++ b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart @@ -30,9 +30,8 @@ class MultiLineItems extends StatefulWidget { final String measurementSummary; const MultiLineItems({ - super.key, - required this.measurementSummary, + required this.measurementSummary, this.height, this.length, this.number, @@ -82,7 +81,8 @@ class _MultiLineItemsState extends State { quantityController = TextEditingController(text: checkValue(widget.quantity.toString())); - measurementSummaryController= TextEditingController(text:widget.measurementSummary.toString()); + measurementSummaryController = + TextEditingController(text: widget.measurementSummary.toString()); numberController.addListener(numberUpload); lengthController.addListener(lengthUpload); @@ -94,7 +94,7 @@ class _MultiLineItemsState extends State { lengthFocusNode = FocusNode(); widthFocusNode = FocusNode(); heightFocusNode = FocusNode(); - measurementSummaryFocusNode=FocusNode(); + measurementSummaryFocusNode = FocusNode(); } String checkValue(String value) { @@ -143,7 +143,8 @@ class _MultiLineItemsState extends State { void measurementSummaryUpload() { final debouncer = Debouncer(milliseconds: 250); debouncer.run(() { - widget.fieldValue("MeasurementSummary", measurementSummaryController.text); + widget.fieldValue( + "MeasurementSummary", measurementSummaryController.text); }); } @@ -168,10 +169,10 @@ class _MultiLineItemsState extends State { quantityController.text = checkValue(widget.quantity.toString()); } - if (!measurementSummaryFocusNode.hasFocus && oldWidget.measurementSummary != widget.measurementSummary) { + if (!measurementSummaryFocusNode.hasFocus && + oldWidget.measurementSummary != widget.measurementSummary) { measurementSummaryController.text = widget.measurementSummary.toString(); } - } @override @@ -242,109 +243,117 @@ class _MultiLineItemsState extends State { ], ) : const SizedBox.shrink(), - - LabeledField( - label: t.translate(i18.measurementBook.measurementSummaryLabel), - child: DigitTextFormInput( - maxLength: 32, - charCount: true, - keyboardType: TextInputType.text, - // label: t.translate(i18.measurementBook.numberLabel), - controller: measurementSummaryController, - focusNode: measurementSummaryFocusNode, - isDisabled: widget.viewMode, + Padding( + padding: const EdgeInsets.only(top:0.001), + child: LabeledField( + label: t.translate(i18.measurementBook.measurementSummaryLabel), + child: DigitTextFormInput( + maxLength: !(widget.viewMode) ? 32 : null, + charCount: !(widget.viewMode) ? true : false, + keyboardType: TextInputType.text, + // label: t.translate(i18.measurementBook.numberLabel), + controller: measurementSummaryController, + focusNode: measurementSummaryFocusNode, + isDisabled: widget.viewMode, + ), ), ), - - LabeledField( - label: t.translate(i18.measurementBook.numberLabel), - child: DigitTextFormInput( - inputFormatters: [ - FilteringTextInputFormatter.allow(RegExp(r'^\d*\.?\d{0,4}')), - ], - keyboardType: TextInputType.number, - // label: t.translate(i18.measurementBook.numberLabel), - controller: numberController, - focusNode: numberFocusNode, - isDisabled: widget.viewMode, + Padding( + padding: const EdgeInsets.only(top:8.0), + child: LabeledField( + label: t.translate(i18.measurementBook.numberLabel), + child: DigitTextFormInput( + inputFormatters: [ + FilteringTextInputFormatter.allow(RegExp(r'^\d*\.?\d{0,4}')), + ], + keyboardType: TextInputType.number, + // label: t.translate(i18.measurementBook.numberLabel), + controller: numberController, + focusNode: numberFocusNode, + isDisabled: widget.viewMode, + ), ), ), - Row( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Padding( - padding: const EdgeInsets.only(left: 0.0), - child: SizedBox( - width: MediaQuery.of(context).size.width * 0.79 / 3, - child: LabeledField( - label: t.translate(i18.measurementBook.lengthLabel), - child: DigitTextFormInput( - inputFormatters: [ - FilteringTextInputFormatter.allow( - RegExp(r'^\d*\.?\d{0,4}')), - ], - // label: t.translate(i18.measurementBook.lengthLabel), - isDisabled: widget.viewMode, - keyboardType: TextInputType.number, - controller: lengthController, - focusNode: lengthFocusNode, + Padding( + padding: const EdgeInsets.only(top:8.0), + child: Row( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Padding( + padding: const EdgeInsets.only(left: 0.0), + child: SizedBox( + width: MediaQuery.of(context).size.width * 0.79 / 3, + child: LabeledField( + label: t.translate(i18.measurementBook.lengthLabel), + child: DigitTextFormInput( + inputFormatters: [ + FilteringTextInputFormatter.allow( + RegExp(r'^\d*\.?\d{0,4}')), + ], + // label: t.translate(i18.measurementBook.lengthLabel), + isDisabled: widget.viewMode, + keyboardType: TextInputType.number, + controller: lengthController, + focusNode: lengthFocusNode, + ), ), ), ), - ), - Padding( - padding: const EdgeInsets.only(left: 3.0), - child: SizedBox( - width: MediaQuery.of(context).size.width * 0.8 / 3, - child: LabeledField( - label: t.translate(i18.measurementBook.widthLabel), - child: DigitTextFormInput( - inputFormatters: [ - FilteringTextInputFormatter.allow( - RegExp(r'^\d*\.?\d{0,4}'), - ), - ], - // label: t.translate(i18.measurementBook.widthLabel), - isDisabled: widget.viewMode, - keyboardType: TextInputType.number, - controller: widthController, - focusNode: widthFocusNode, + Padding( + padding: const EdgeInsets.only(left: 3.0), + child: SizedBox( + width: MediaQuery.of(context).size.width * 0.8 / 3, + child: LabeledField( + label: t.translate(i18.measurementBook.widthLabel), + child: DigitTextFormInput( + inputFormatters: [ + FilteringTextInputFormatter.allow( + RegExp(r'^\d*\.?\d{0,4}'), + ), + ], + // label: t.translate(i18.measurementBook.widthLabel), + isDisabled: widget.viewMode, + keyboardType: TextInputType.number, + controller: widthController, + focusNode: widthFocusNode, + ), ), ), ), - ), - Padding( - padding: const EdgeInsets.only(left: 3, right: 0), - child: SizedBox( - width: MediaQuery.of(context).size.width * 0.8 / 3, - child: LabeledField( - label: t.translate(i18.measurementBook.heightLabel), - child: DigitTextFormInput( - inputFormatters: [ - FilteringTextInputFormatter.allow( - RegExp(r'^\d*\.?\d{0,4}')), - ], - // label: t.translate(i18.measurementBook.heightLabel), - isDisabled: widget.viewMode, - keyboardType: TextInputType.number, - controller: heightController, - focusNode: heightFocusNode, + Padding( + padding: const EdgeInsets.only(left: 3, right: 0), + child: SizedBox( + width: MediaQuery.of(context).size.width * 0.8 / 3, + child: LabeledField( + label: t.translate(i18.measurementBook.heightLabel), + child: DigitTextFormInput( + inputFormatters: [ + FilteringTextInputFormatter.allow( + RegExp(r'^\d*\.?\d{0,4}')), + ], + // label: t.translate(i18.measurementBook.heightLabel), + isDisabled: widget.viewMode, + keyboardType: TextInputType.number, + controller: heightController, + focusNode: heightFocusNode, + ), ), ), ), - ), - ], + ], + ), ), - - - LabeledField( - label: t.translate(i18.measurementBook.quantityLabel), - child: DigitTextFormInput( - readOnly: true, - isDisabled: true, - keyboardType: TextInputType.number, - controller: quantityController, + Padding( + padding: const EdgeInsets.only(top:8.0), + child: LabeledField( + label: t.translate(i18.measurementBook.quantityLabel), + child: DigitTextFormInput( + readOnly: true, + isDisabled: true, + keyboardType: TextInputType.number, + controller: quantityController, + ), ), ), ], diff --git a/frontend/works_shg_app/lib/widgets/mb/radio_button_sheet.dart b/frontend/works_shg_app/lib/widgets/mb/radio_button_sheet.dart index a2dc02c6e7..87b4c58b3a 100644 --- a/frontend/works_shg_app/lib/widgets/mb/radio_button_sheet.dart +++ b/frontend/works_shg_app/lib/widgets/mb/radio_button_sheet.dart @@ -1,4 +1,3 @@ - import 'package:digit_ui_components/digit_components.dart'; import 'package:digit_ui_components/models/RadioButtonModel.dart'; @@ -39,18 +38,23 @@ class _MyBottomSheetState extends State { children: [ Padding( padding: const EdgeInsets.only(left: 16.0, bottom: 8, top: 16.0), - child: DigitTextBlock( - heading: t.translate(i18.measurementBook.sortBy), + child: Row( + children: [ + const Icon( + Icons.swap_vert, + size: 30, + ), + DigitTextBlock( + heading: t.translate(i18.measurementBook.sortBy), + ), + ], ), ), const DigitDivider( dividerType: DividerType.large, - ), StatefulBuilder( builder: (BuildContext context, StateSetter setState) { - - return RadioList( groupValue: _selectedValue.toString(), containerPadding: const EdgeInsets.all(16), From 57a886fb47ed3294dbd08e1671c265c6dec8d919 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Mon, 30 Sep 2024 18:25:25 +0530 Subject: [PATCH 246/292] line item padding issue resolved --- frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart | 6 +++--- frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart index 85fa557977..9d06877c3f 100644 --- a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart +++ b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart @@ -238,7 +238,7 @@ class _MultiLineItemsState extends State { Padding( padding: const EdgeInsets.only(left: 0.0), child: SizedBox( - width: MediaQuery.of(context).size.width * 0.79 / 3, + width: MediaQuery.of(context).size.width * 0.77 / 3, child: LabeledField( label: t.translate(i18.measurementBook.lengthLabel), child: DigitTextFormInput( @@ -258,7 +258,7 @@ class _MultiLineItemsState extends State { Padding( padding: const EdgeInsets.only(left: 3.0), child: SizedBox( - width: MediaQuery.of(context).size.width * 0.8 / 3, + width: MediaQuery.of(context).size.width * 0.77 / 3, child: LabeledField( label: t.translate(i18.measurementBook.widthLabel), child: DigitTextFormInput( @@ -279,7 +279,7 @@ class _MultiLineItemsState extends State { Padding( padding: const EdgeInsets.only(left: 3, right: 0), child: SizedBox( - width: MediaQuery.of(context).size.width * 0.8 / 3, + width: MediaQuery.of(context).size.width * 0.77 / 3, child: LabeledField( label: t.translate(i18.measurementBook.heightLabel), child: DigitTextFormInput( diff --git a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart index 4c21365609..9e1c7741b5 100644 --- a/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart +++ b/frontend/works_shg_app/lib/widgets/mb/sor_item_add_mb.dart @@ -149,7 +149,7 @@ class _HorizontalCardListDialogState extends State { ), const SizedBox(height: 10), SizedBox( - height: MediaQuery.sizeOf(context).height * 0.70, + height: MediaQuery.sizeOf(context).height * 0.75, child: PageView.builder( controller: _scrollController, scrollDirection: Axis.horizontal, From 2176b52c6bcb6c36acff02ada9106e5c23020f9b Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Mon, 30 Sep 2024 18:45:51 +0530 Subject: [PATCH 247/292] padding gien in muster roll screen --- .../lib/pages/view_muster_rolls.dart | 66 +++++++++++++------ 1 file changed, 46 insertions(+), 20 deletions(-) diff --git a/frontend/works_shg_app/lib/pages/view_muster_rolls.dart b/frontend/works_shg_app/lib/pages/view_muster_rolls.dart index 738e48c20a..5f55433096 100644 --- a/frontend/works_shg_app/lib/pages/view_muster_rolls.dart +++ b/frontend/works_shg_app/lib/pages/view_muster_rolls.dart @@ -153,22 +153,43 @@ class _ViewMusterRollsPage extends State { // ), Padding( - padding: EdgeInsets.symmetric( - horizontal: Theme.of(context).spacerTheme.spacer4, - vertical: Theme.of(context).spacerTheme.spacer4, - ), + padding: EdgeInsets.symmetric( + horizontal: Theme.of(context) + .spacerTheme + .spacer4, + vertical: Theme.of(context) + .spacerTheme + .spacer4, + ), child: Row( children: [ BackNavigationButton( - backNavigationButtonThemeData: const BackNavigationButtonThemeData().copyWith( - context: context, - backButtonIcon: Icon( - Icons.arrow_circle_left_outlined, - size: MediaQuery.of(context).size.width < 500 - ? Theme.of(context).spacerTheme.spacer5 - : Theme.of(context).spacerTheme.spacer6, - color: Theme.of(context).colorTheme.primary.primary2, - )), + backNavigationButtonThemeData: + const BackNavigationButtonThemeData() + .copyWith( + context: context, + backButtonIcon: Icon( + Icons + .arrow_circle_left_outlined, + size: MediaQuery.of( + context) + .size + .width < + 500 + ? Theme.of( + context) + .spacerTheme + .spacer5 + : Theme.of( + context) + .spacerTheme + .spacer6, + color: + Theme.of(context) + .colorTheme + .primary + .primary2, + )), handleBack: () { Navigator.pop(context); }, @@ -180,9 +201,15 @@ class _ViewMusterRollsPage extends State { ), ), Padding( - padding: EdgeInsets.all(Theme.of(context) - .spacerTheme - .spacer4), + padding: EdgeInsets.only( + left: Theme.of(context) + .spacerTheme + .spacer4, + bottom: Theme.of(context) + .spacerTheme + .spacer4, + top: 0.0, + ), child: DigitTextBlock( heading: '${t.translate(i18.attendanceMgmt.musterRolls)}(${musterList.length})', @@ -204,10 +231,9 @@ class _ViewMusterRollsPage extends State { elevatedButtonLabel: t.translate( i18.common.viewDetails), ), - SizedBox( - height: Theme.of(context) - .spacerTheme - .spacer4, + SizedBox( + height: + Theme.of(context).spacerTheme.spacer4, ), musterList.isNotEmpty && musterList.length > 1 From 385f65eea50f88effeaa5a551352b429979928c5 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Mon, 30 Sep 2024 19:36:36 +0530 Subject: [PATCH 248/292] redirection issue fix, breadcrumb update --- .../micro-ui-internals/example/package.json | 20 +++++----- .../example/public/index.html | 2 +- .../example/src/UICustomizations.js | 6 --- .../packages/Mukta/package.json | 4 +- .../Mukta/src/configs/UICustomizations.js | 38 +++++++++---------- .../packages/css/package.json | 2 +- .../packages/css/src/index.scss | 3 +- .../css/src/pages/employee/override.scss | 8 +++- .../css/src/pages/works/inboxSearch.scss | 4 +- .../packages/libraries/package.json | 2 +- .../modules/AttendenceMgmt/package.json | 4 +- .../src/pages/employee/index.js | 5 ++- .../packages/modules/Contracts/package.json | 4 +- .../src/pages/employee/CreateContract.js | 3 -- .../src/pages/employee/ViewContractDetails.js | 2 - .../Contracts/src/pages/employee/index.js | 5 ++- .../packages/modules/Estimate/package.json | 4 +- .../src/components/ViewTotalEstAmount.js | 1 - .../Estimate/src/pageComponents/SearchBar.js | 1 - .../CreateDetailedEstimate/CreateEstimate.js | 5 ++- .../Estimate/src/pages/employee/index.js | 4 +- .../packages/modules/Expenditure/package.json | 4 +- .../pages/employee/Payments/ViewPayment.js | 1 - .../Payments/viewPaymentInstruction.js | 1 - .../Expenditure/src/pages/employee/index.js | 5 ++- .../packages/modules/Masters/package.json | 4 +- .../Masters/src/pages/employee/index.js | 5 ++- .../packages/modules/Measurement/package.json | 4 +- .../Measurement/src/pages/employee/index.js | 5 ++- .../packages/modules/Project/package.json | 4 +- .../Project/src/pages/employee/index.js | 5 ++- .../modules/RateAnalysis/package.json | 4 +- .../components/PropertyDocuments.js | 1 - .../packages/react-components/package.json | 2 +- .../src/atoms/SearchComponent.js | 1 - .../src/atoms/WorkflowTimeline.js | 3 -- .../react-components/src/hoc/FormComposer.js | 21 ++++++---- .../src/hoc/InboxSearchComposer.js | 12 ++++-- .../src/hoc/ViewComposer/index.js | 1 - .../src/molecules/ApiDropdown.js | 10 ++--- .../src/molecules/RenderFormFields.js | 1 - frontend/micro-ui/web/package.json | 20 +++++----- frontend/micro-ui/web/public/index.html | 4 +- .../src/Customisations/UICustomizations.js | 5 --- 44 files changed, 124 insertions(+), 126 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index 6ed66328c8..48ec5e8840 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -10,20 +10,20 @@ }, "devDependencies": { "@egovernments/digit-ui-react-components": "1.5.12", - "@egovernments/digit-ui-components": "0.0.2-beta.40", + "@egovernments/digit-ui-components": "0.0.2-beta.43", "@egovernments/digit-ui-libraries": "1.5.0", "@egovernments/digit-ui-module-core": "1.8.2-beta.18", "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", - "@egovernments/digit-ui-module-attendencemgmt": "0.4.8", - "@egovernments/digit-ui-module-contracts": "0.4.7", - "@egovernments/digit-ui-module-measurement":"0.2.6", - "@egovernments/digit-ui-module-estimate": "0.4.11", - "@egovernments/digit-ui-module-masters": "0.4.10", - "@egovernments/digit-ui-module-project": "0.4.7", - "@egovernments/digit-ui-module-expenditure": "0.4.5", - "@egovernments/digit-ui-customisation-mukta": "0.2.5", - "@egovernments/digit-ui-module-rate-analysis": "0.4.5", + "@egovernments/digit-ui-module-attendencemgmt": "0.4.9", + "@egovernments/digit-ui-module-contracts": "0.4.8", + "@egovernments/digit-ui-module-measurement":"0.2.7", + "@egovernments/digit-ui-module-estimate": "0.4.12", + "@egovernments/digit-ui-module-masters": "0.4.11", + "@egovernments/digit-ui-module-project": "0.4.8", + "@egovernments/digit-ui-module-expenditure": "0.4.6", + "@egovernments/digit-ui-customisation-mukta": "0.2.6", + "@egovernments/digit-ui-module-rate-analysis": "0.4.6", "http-proxy-middleware": "^1.0.5", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/example/public/index.html b/frontend/micro-ui/web/micro-ui-internals/example/public/index.html index cbad6206b5..1fd5f9945c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/public/index.html +++ b/frontend/micro-ui/web/micro-ui-internals/example/public/index.html @@ -11,7 +11,7 @@ MUKTASoft - + diff --git a/frontend/micro-ui/web/micro-ui-internals/example/src/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/example/src/UICustomizations.js index 4ea44fb6f1..fd23596e5f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/src/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/example/src/UICustomizations.js @@ -651,8 +651,6 @@ export const UICustomizations = { SearchMeasurementConfig: { preProcess: (data) => { - - // console.log(data); const mbNumber=data?.body?.Individual?.MBNumber || null; const refId= data?.body?.Individual?.MBReference || null; @@ -673,7 +671,6 @@ export const UICustomizations = { }, additionalCustomizations: (row, key, column, value, t, searchResult) => { - // console.log(key,value); //here we can add multiple conditions //like if a cell is link then we return link //first we can identify which column it belongs to then we can return relevant result @@ -803,9 +800,6 @@ export const UICustomizations = { }, additionalCustomizations: (row, key, column, value, t, searchResult) => { - // console.log(key,value); - // console.log(row,"qwertyuiop"); - //here we can add multiple conditions //like if a cell is link then we return link //first we can identify which column it belongs to then we can return relevant result diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json index 4ffac9d0e4..25976c5716 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-customisation-mukta", - "version": "0.2.5", + "version": "0.2.6", "description": "MUKTA Customisation of Works UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.40", + "@egovernments/digit-ui-components": "0.0.2-beta.43", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js index 8c5870c763..a81b3fd63a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js @@ -426,11 +426,11 @@ export const UICustomizations = { //here iterate over defaultValues and set from presets in the api - const presets = Digit.Hooks.useQueryParams(); - if (Object.keys(presets).length > 0) { - Object.keys(presets).forEach((preset) => { + const presets = Digit.Hooks.useQueryParams(); + if (Object?.keys(presets)?.length > 0) { + Object?.keys(presets)?.forEach((preset) => { //if present in defaultValues object then only set it - if (Object.keys(defaultValues).some((key) => key === preset)) { + if (Object?.keys(defaultValues)?.some((key) => key === preset)) { data.body.inbox.moduleSearchCriteria[preset] = presets[preset]; } }); @@ -1117,10 +1117,10 @@ export const UICustomizations = { }; const presets = Digit.Hooks.useQueryParams(); - if (Object.keys(presets).length > 0) { - Object.keys(presets).forEach((preset) => { + if (Object?.keys(presets)?.length > 0) { + Object?.keys(presets)?.forEach((preset) => { //if present in defaultValues object then only set it - if (Object.keys(defaultValues).some((key) => key === preset)) { + if (Object?.keys(defaultValues)?.some((key) => key === preset)) { data.body.inbox.moduleSearchCriteria[preset] = presets[preset]; } }); @@ -1630,10 +1630,10 @@ export const UICustomizations = { data.body.inbox.moduleSearchCriteria = { ...SearchCriteria, tenantId: Digit.ULBService.getCurrentTenantId() }; const presets = Digit.Hooks.useQueryParams(); - if (Object.keys(presets).length > 0) { - Object.keys(presets).forEach((preset) => { + if (Object?.keys(presets)?.length > 0) { + Object?.keys(presets)?.forEach((preset) => { //if present in defaultValues object then only set it - if (Object.keys(defaultValues).some((key) => key === preset)) { + if (Object?.keys(defaultValues)?.some((key) => key === preset)) { data.body.inbox.moduleSearchCriteria[preset] = presets[preset]; } }); @@ -1834,10 +1834,10 @@ export const UICustomizations = { data.body.inbox.moduleSearchCriteria = { ...SearchCriteria, tenantId: Digit.ULBService.getCurrentTenantId() }; const presets = Digit.Hooks.useQueryParams(); - if (Object.keys(presets).length > 0) { - Object.keys(presets).forEach((preset) => { + if (Object?.keys(presets)?.length > 0) { + Object?.keys(presets)?.forEach((preset) => { //if present in defaultValues object then only set it - if (Object.keys(defaultValues).some((key) => key === preset)) { + if (Object?.keys(defaultValues)?.some((key) => key === preset)) { data.body.inbox.moduleSearchCriteria[preset] = presets[preset]; } }); @@ -2055,10 +2055,10 @@ export const UICustomizations = { data.body.inbox.moduleSearchCriteria = { ...SearchCriteria, tenantId: Digit.ULBService.getCurrentTenantId() }; const presets = Digit.Hooks.useQueryParams(); - if (Object.keys(presets).length > 0) { - Object.keys(presets).forEach((preset) => { + if (Object?.keys(presets)?.length > 0) { + Object?.keys(presets)?.forEach((preset) => { //if present in defaultValues object then only set it - if (Object.keys(defaultValues).some((key) => key === preset)) { + if (Object?.keys(defaultValues)?.some((key) => key === preset)) { data.body.inbox.moduleSearchCriteria[preset] = presets[preset]; } }); @@ -2194,10 +2194,10 @@ export const UICustomizations = { data.body.paymentCriteria.status = "INITIATED"; const presets = Digit.Hooks.useQueryParams(); - if (Object.keys(presets).length > 0) { - Object.keys(presets).forEach((preset) => { + if (Object?.keys(presets)?.length > 0) { + Object?.keys(presets)?.forEach((preset) => { //if present in defaultValues object then only set it - if (Object.keys(defaultValues).some((key) => key === preset)) { + if (Object?.keys(defaultValues)?.some((key) => key === preset)) { data.body.paymentCriteria[preset] = presets[preset]; } }); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json index c8997afeb2..0b2635f665 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-works-css", - "version": "0.2.47", + "version": "0.2.48", "license": "MIT", "author": "Jagankumar ", "main": "dist/index.css", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/index.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/index.scss index 76fe4bda2d..edc4ac6112 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/index.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/index.scss @@ -956,7 +956,7 @@ input[type="number"] { } .search-instruction-header { - margin-bottom: 1rem; + margin-bottom: 1.5rem; font-size: 16px; font-weight: 500; color: theme(colors.text.secondary); @@ -1080,6 +1080,7 @@ input[type="number"] { } .h1 { + margin-bottom: 1.5rem; &.works-header-search { font-size: 36px; } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss index 8e95df8d24..13429b5654 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss @@ -149,4 +149,10 @@ } } - \ No newline at end of file + .digit-sidebar{ + top:4.5rem; + } + + .digit-bread-crumb{ + margin-bottom: 1.5rem; + } \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/inboxSearch.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/inboxSearch.scss index 22e8a97747..862f8b9143 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/inboxSearch.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/inboxSearch.scss @@ -1,7 +1,7 @@ .search-wrapper { height: 100%; width: 100%; - padding: 1rem; + padding: theme(digitv2.spacers.spacer6); .popup-label { display: flex; @@ -60,7 +60,7 @@ .search-field-wrapper { display: grid; - row-gap: 0.25rem; + row-gap: 1.5rem; column-gap: 1rem; &.inbox { grid-template-columns: repeat(3, 1fr); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/package.json index dd6bdddb20..900ca5428a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/package.json @@ -23,7 +23,7 @@ "react-scripts": "^4.0.1" }, "dependencies": { - "@egovernments/digit-ui-components": "0.0.2-beta.40", + "@egovernments/digit-ui-components": "0.0.2-beta.43", "axios": "1.4.0", "babel-preset-react": "6.24.1", "lodash": "^4.17.21", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json index 7d7141b985..f0c47cf996 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-attendencemgmt", - "version": "0.4.8", + "version": "0.4.9", "description": "Attendence Management Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.40", + "@egovernments/digit-ui-components": "0.0.2-beta.43", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/employee/index.js index 66905b25d5..505e7378ac 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/employee/index.js @@ -1,7 +1,8 @@ import React from "react"; import { Switch, useLocation } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { PrivateRoute, AppContainer, BreadCrumb } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute, AppContainer } from "@egovernments/digit-ui-react-components"; +import { BreadCrumb } from "@egovernments/digit-ui-components"; import Response from "../../components/Response"; import SearchAttendance from "./SearchAttendance"; import SearchAttendancePlainSearch from "./SearchAttendencePlainSearch"; @@ -41,7 +42,7 @@ const AttendanceBreadCrumbs = ({ location }) => { isBack: fromScreen && true, } ]; - return ; + return ; }; const App = ({ path }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json index c378c062d6..be530dd4dc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-contracts", - "version": "0.4.7", + "version": "0.4.8", "description": "Contracts Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.40", + "@egovernments/digit-ui-components": "0.0.2-beta.43", "lodash": "^4.17.21", "react": "17.0.2", "react-date-range": "^1.4.0", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateContract.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateContract.js index 493c99c8f2..3b0aed87b2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateContract.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/CreateContract.js @@ -142,9 +142,6 @@ const CreateContract = (props) => { }; const onModalSubmit = (data) => { - - //console.log(createFormData); - //console.log(sessionFormData); //here you can handle the data submitted in the modal and call the api //access comments from data and details such as dept,desig,approver are stored locally in this comp } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContractDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContractDetails.js index b99fdd5b64..eec4d21f20 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContractDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContractDetails.js @@ -99,7 +99,6 @@ const ViewContractDetails = () => { } } - console.log(requestCriteria,"requestcriteria"); const {isLoading, data:measurementData} = Digit.Hooks.useCustomAPIHook(requestCriteria); @@ -137,7 +136,6 @@ const ViewContractDetails = () => { } let isCreeateMBUser = verifiedRolesForAction?.["CREATE_MB"].some(role => loggedInUserRoles.includes(role)); - console.log(isInWorkflowMeasurementPresent,measurementData,actionsMenu,isCreeateMBUser); if(!isInWorkflowMeasurementPresent && measurementData && !actionsMenu?.find((ob) => ob?.name === "WF_CONTRACT_ACTION_CREATE_MEASUREMENT_REQUEST") && isCreeateMBUser) setActionsMenu((prevState => [...prevState,{ name:"WF_CONTRACT_ACTION_CREATE_MEASUREMENT_REQUEST", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/index.js index 248c408bb4..975297bbf6 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/index.js @@ -1,6 +1,7 @@ import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; -import { PrivateRoute, BreadCrumb, AppContainer } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute, AppContainer } from "@egovernments/digit-ui-react-components"; +import { BreadCrumb } from "@egovernments/digit-ui-components"; import { Switch, useLocation } from "react-router-dom"; import CreateContract from "./CreateContract"; import Inbox from "./ContractsInbox/Inbox.js"; @@ -48,7 +49,7 @@ const ContractsBreadCrumbs = ({ location }) => { isBack: fromScreen && true, }, ]; - return ; + return ; }; const App = ({ path }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json index b37480e1e9..9b6e5ab8e2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-estimate", - "version": "0.4.11", + "version": "0.4.12", "description": "Estimate Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.40", + "@egovernments/digit-ui-components": "0.0.2-beta.43", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewTotalEstAmount.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewTotalEstAmount.js index 7494be0545..895346580e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewTotalEstAmount.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewTotalEstAmount.js @@ -4,7 +4,6 @@ import { useTranslation } from "react-i18next"; import { TextBlock } from "@egovernments/digit-ui-components"; const ViewTotalEstAmount = ({ detail, ...props }) => { - console.log("viewtotalestamount") const { t } = useTranslation(); return (
{ }, }; try { - console.log("selectedSOR", selectedSOR); const data = stateData?.SORType && (await Digit.CustomService.getResponse(requestCriteria)); if (data?.MdmsRes?.["WORKS-SOR"]?.SOR?.length > 0) { setSuggestions(data?.MdmsRes?.["WORKS-SOR"]?.SOR); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js index 933f0de6f6..ff8937f966 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js @@ -34,7 +34,6 @@ const configNavItems = [ }, ]; const CreateEstimate = ({ props }) => { - console.log("buttonnnnnnnnnn") const tenant = Digit.ULBService.getStateId(); const { t } = useTranslation(); const [showToast, setShowToast] = useState(null); @@ -660,7 +659,9 @@ const CreateEstimate = ({ props }) => { if (isConfigLoading || isEstimateLoading || isUomLoading || isOverheadsLoading || isDocLoading || isAllEstimateLoading || isRatesLoading) { return ; } - if ((isEdit || isCreateRevisionEstimate || isEditRevisionEstimate) && Object.keys(sessionFormData).length === 0) return ; + if ((isEdit || isCreateRevisionEstimate || isEditRevisionEstimate) && Object.keys(sessionFormData).length === 0) { + return ; + } return ( {showModal && setShowModal(false)} onSubmit={onModalSubmit} config={config} isDisabled={isButtonDisabled} />} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/index.js index aed5436324..64daa963a7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/index.js @@ -1,7 +1,8 @@ import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { Switch, useLocation } from "react-router-dom"; -import { PrivateRoute, AppContainer, BreadCrumb } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute, AppContainer } from "@egovernments/digit-ui-react-components"; +import { BreadCrumb } from "@egovernments/digit-ui-components"; import CreateEstimate from "./Estimates/CreateEstimate/CreateEstimate"; import EstimateSearch from "./EstimateSearch"; import EstimateSearchPlain from "./EstimateSearchPlain"; @@ -104,7 +105,6 @@ const EstimateBreadCrumbs = ({ location }) => { return ( { const handleUpdatePI = async () => { const paDetails = data?.[0]?.applicationData - // console.log("pi update"); const payloadForUpdate = { tenantId, } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Payments/viewPaymentInstruction.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Payments/viewPaymentInstruction.js index 5678fecab2..2733ffada0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Payments/viewPaymentInstruction.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Payments/viewPaymentInstruction.js @@ -37,7 +37,6 @@ const ViewPaymentInstruction = () => { const handleUpdatePI = async () => { const piDetails = data?.[0]?.applicationData - // console.log("pi update"); const payloadForUpdate = { tenantId, } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/index.js index 248d1be03f..093b11cb2e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/index.js @@ -1,6 +1,7 @@ import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; -import { PrivateRoute, BreadCrumb, AppContainer } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute, AppContainer } from "@egovernments/digit-ui-react-components"; +import { BreadCrumb } from "@egovernments/digit-ui-components"; import { Switch, useLocation } from "react-router-dom"; import CreateBill from "./CreateBill"; import ViewSupervisionbill from "./Bills/ViewSupervisionbill"; @@ -104,7 +105,7 @@ const ExpenditureBreadCrumbs = ({ location }) => { isBack: fromScreen && true, }, ]; - return ; + return ; }; const App = ({ path }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json index 5f576e8361..1e8f0d6aed 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-masters", - "version": "0.4.10", + "version": "0.4.11", "description": "Masters Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.40", + "@egovernments/digit-ui-components": "0.0.2-beta.43", "lodash": "^4.17.21", "react": "17.0.2", "react-date-range": "^1.4.0", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/index.js index 2a3a0355c8..b15abfdbab 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/index.js @@ -1,7 +1,8 @@ import React, { useEffect } from "react"; import { Switch, useLocation } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { PrivateRoute, AppContainer, BreadCrumb } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute, AppContainer } from "@egovernments/digit-ui-react-components"; +import { BreadCrumb } from "@egovernments/digit-ui-components"; const MastersBreadCrumb = ({ location }) => { const { t } = useTranslation(); @@ -68,7 +69,7 @@ const MastersBreadCrumb = ({ location }) => { isBack: fromScreen && true, }, ]; - return ; + return ; }; const App = ({ path }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json index 3f1812cc72..6a1886d888 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-measurement", - "version": "0.2.6", + "version": "0.2.7", "description": "Measurement Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.40", + "@egovernments/digit-ui-components": "0.0.2-beta.43", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/index.js index 204232f247..26aa248dad 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/index.js @@ -1,6 +1,7 @@ import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; -import { PrivateRoute, BreadCrumb, AppContainer } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute, AppContainer } from "@egovernments/digit-ui-react-components"; +import { BreadCrumb } from "@egovernments/digit-ui-components"; import { Switch, useLocation } from "react-router-dom"; import ViewMeasurement from "./ViewMeasurement"; import SearchMeasurement from "./SearchMeasurement"; @@ -61,7 +62,7 @@ const MeasurementBreadCrumbs = ({ location }) => { isBack: fromScreen && true, }, ]; - return ; + return ; }; const App = ({ path }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json index af813db486..bd00cc015f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-project", - "version": "0.4.7", + "version": "0.4.8", "description": "Project Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.40", + "@egovernments/digit-ui-components": "0.0.2-beta.43", "lodash": "^4.17.21", "react": "17.0.2", "react-date-range": "^1.4.0", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/index.js index ec3b28c278..871c128c18 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/index.js @@ -1,7 +1,8 @@ import React, { useEffect } from "react"; import { Switch, useLocation } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { PrivateRoute, AppContainer, BreadCrumb } from "@egovernments/digit-ui-react-components"; +import { PrivateRoute, AppContainer} from "@egovernments/digit-ui-react-components"; +import { BreadCrumb } from "@egovernments/digit-ui-components"; import WorkflowCompTest from "./WorkflowCompTest"; import SampleComp from "./SampleComp"; @@ -40,7 +41,7 @@ const ProjectBreadCrumb = ({ location }) => { isBack: fromScreen && true, } ]; - return ; + return ; }; const App = ({ path }) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json index e3af7801bd..ea2cf0d036 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-rate-analysis", - "version": "0.4.5", + "version": "0.4.6", "description": "Rate Analysis Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.40", + "@egovernments/digit-ui-components": "0.0.2-beta.43", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyDocuments.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyDocuments.js index 6610d49ced..120d4fa811 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyDocuments.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyDocuments.js @@ -43,7 +43,6 @@ function PropertyDocuments({ documents, svgStyles = {}, isSendBackFlow=false }) const checkLocation = window.location.href.includes("employee/tl") || window.location.href.includes("/obps") || window.location.href.includes("employee/ws"); const isStakeholderApplication = window.location.href.includes("stakeholder"); - console.log("propertydocs") return (
{!isStakeholderApplication && documents?.map((document, index) => ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json index 3201001185..1068eb6743 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json @@ -42,7 +42,7 @@ ], "dependencies": { "@googlemaps/js-api-loader": "1.13.10", - "@egovernments/digit-ui-components": "0.0.2-beta.40", + "@egovernments/digit-ui-components": "0.0.2-beta.43", "lodash": "^4.17.21", "react-date-range": "1.3.0", "react-hook-form": "6.15.8", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/SearchComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/SearchComponent.js index 48511f508f..5462561af4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/SearchComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/SearchComponent.js @@ -28,7 +28,6 @@ const SearchComponent = ({ uiConfig, header = "", screenType = "search", fullCon const [showToast,setShowToast] = useState(null) let updatedFields = []; const {apiDetails} = fullConfig -console.log(fullConfig?.type,"type") if (fullConfig?.postProcessResult){ //conditions can be added while calling postprocess function to pass different params Digit?.Customizations?.[apiDetails?.masterName]?.[apiDetails?.moduleName]?.postProcess(data, uiConfig) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/WorkflowTimeline.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/WorkflowTimeline.js index 700bbb4b35..ed286f4eb9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/WorkflowTimeline.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/WorkflowTimeline.js @@ -31,7 +31,6 @@ const WorkflowTimeline = ({ const { t } = useTranslation(); const getTimelineCaptions = (checkpoint, index) => { - console.log("ffff", checkpoint, index); let captionDetails = { name: "", date: "", @@ -69,7 +68,6 @@ const WorkflowTimeline = ({ thumbnailsToShow: checkpoint?.thumbnailsToShow, }; - console.log("caption", caption); const data = caption; @@ -140,7 +138,6 @@ const WorkflowTimeline = ({ } }, [workflowDetails]); - console.log("work", workflowDetails); return ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js index ffddf5a6d2..dfe94416d7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js @@ -40,7 +40,7 @@ import { ErrorMessage, StringManipulator, Header, - TextBlock, + TextBlock } from "@egovernments/digit-ui-components"; const wrapperStyles = { @@ -582,6 +582,13 @@ export const FormComposer = (props) => { const titleStyle = { color: "#505A5F", fontWeight: "700", fontSize: "16px" }; + function convertToSentenceCase(inputString) { + // Convert the string to lowercase and capitalize the first letter of each sentence + return inputString.toLowerCase().replace(/(^\s*\w|[\.\!\?]\s*\w)/g, function(c) { + return c.toUpperCase(); + }); + } + const getCombinedComponent = (section) => { if (section.head && section.subHead) { return ( @@ -679,7 +686,9 @@ export const FormComposer = (props) => { style={ props?.showWrapperContainers && !field.hideContainer ? { ...wrapperStyles, ...field?.populators?.customStyle } - : props?.fieldPairNoMargin ? {marginBottom : "0px"} : { border: "none", background: "white", ...field?.populators?.customStyle } + : props?.fieldPairNoMargin + ? { marginBottom: "0px" } + : { border: "none", background: "white", ...field?.populators?.customStyle } } > {/* {!field.withoutLabel && ( @@ -700,8 +709,7 @@ export const FormComposer = (props) => {
- {StringManipulator( - "TOSENTENCECASE", + {convertToSentenceCase( StringManipulator("TRUNCATESTRING", t(field.label), { maxLength: 64, }) @@ -726,10 +734,9 @@ export const FormComposer = (props) => { lineHeight: "1.5rem", }} > - {StringManipulator( - "TOSENTENCECASE", + {convertToSentenceCase( StringManipulator("TRUNCATESTRING", t(description), { - maxLength: 256, + maxLength: 64, }) )} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/InboxSearchComposer.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/InboxSearchComposer.js index 7823edac19..b6dfd976b2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/InboxSearchComposer.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/InboxSearchComposer.js @@ -27,6 +27,9 @@ const InboxSearchComposer = ({ configs, headerLabel, additionalConfig, onFormVal const apiDetails = configs?.apiDetails; const mobileSearchSession = Digit.Hooks.useSessionStorage("MOBILE_SEARCH_MODAL_FORM", {}); const [sessionFormData, setSessionFormData, clearSessionFormData] = mobileSearchSession; + + const [activeLink,setActiveLink] = useState(configs?.sections?.search?.uiConfig?.configNavItems?.filter(row=>row.activeByDefault)?.[0]) + //for mobile view useEffect(() => { if (type) setPopup(true); @@ -92,9 +95,7 @@ const InboxSearchComposer = ({ configs, headerLabel, additionalConfig, onFormVal // } // }; // }, [location]); - const updatedReqCriteria = Digit?.Customizations?.[apiDetails?.masterName]?.[apiDetails?.moduleName]?.preProcess - ? Digit?.Customizations?.[apiDetails?.masterName]?.[apiDetails?.moduleName]?.preProcess(requestCriteria, configs.additionalDetails) - : requestCriteria; + const updatedReqCriteria = Digit?.Customizations?.[apiDetails?.masterName]?.[apiDetails?.moduleName]?.preProcess ? Digit?.Customizations?.[apiDetails?.masterName]?.[apiDetails?.moduleName]?.preProcess(requestCriteria,configs?.sections?.search?.uiConfig?.defaultValues,activeLink?.name) : requestCriteria if (configs.customHookName) { var { isLoading, data, revalidate, isFetching, refetch, error } = eval(`Digit.Hooks.${configs.customHookName}(updatedReqCriteria)`); } else { @@ -151,6 +152,8 @@ const InboxSearchComposer = ({ configs, headerLabel, additionalConfig, onFormVal screenType={configs.type} fullConfig={configs} data={data} + activeLink={activeLink} + setActiveLink={setActiveLink} />
)} @@ -162,6 +165,8 @@ const InboxSearchComposer = ({ configs, headerLabel, additionalConfig, onFormVal screenType={configs.type} fullConfig={configs} data={data} + activeLink={activeLink} + setActiveLink={setActiveLink} />
)} @@ -234,6 +239,7 @@ const InboxSearchComposer = ({ configs, headerLabel, additionalConfig, onFormVal isFetching={isFetching} fullConfig={configs} additionalConfig={additionalConfig} + activeLink={activeLink} /> diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/index.js index c1d504c2c5..1f314df076 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/index.js @@ -144,7 +144,6 @@ const renderCardSectionJSX = (section) => { const ViewComposer = ({ isLoading = false,data, ...props }) => { const { cards } = data; const [activeNav,setActiveNav] = useState(data?.horizontalNav?.activeByDefault) - console.log(activeNav); if (isLoading) return ; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/ApiDropdown.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/ApiDropdown.js index 94b0124d6a..6c6c46c502 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/ApiDropdown.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/ApiDropdown.js @@ -1,9 +1,7 @@ import React, { Fragment, useState, useEffect } from "react"; -// import MultiSelectDropdown from "../atoms/MultiSelectDropdown"; -// import Dropdown from "../atoms/Dropdown"; +import {MultiSelectDropdown} from "@egovernments/digit-ui-components"; +import {Dropdown} from "@egovernments/digit-ui-components"; import { Loader } from "../atoms/Loader"; -import MultiSelectDropdown from "@egovernments/digit-ui-components"; -import Dropdown from "@egovernments/digit-ui-components"; import { useTranslation } from "react-i18next"; import _ from "lodash"; const ApiDropdown = ({ populators, formData, props, inputRef, errors }) => { @@ -82,8 +80,8 @@ const ApiDropdown = ({ populators, formData, props, inputRef, errors }) => { select={(e) => { props.onChange([e], populators.name); }} - selected={props.value?.[0] || props?.value || populators.defaultValue} - defaultValue={props.value?.[0] || props?.value || populators.defaultValue} + selected={props?.value?.[0] || props?.value || populators?.defaultValue} + defaultValue={props?.value?.[0] || props?.value || populators?.defaultValue} t={t} errorStyle={errors?.[populators.name]} optionCardStyles={populators?.optionsCustomStyle} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/RenderFormFields.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/RenderFormFields.js index 7eddb5cd21..8973b347b7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/RenderFormFields.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/RenderFormFields.js @@ -27,7 +27,6 @@ const RenderFormFields = ({data,...props}) => { const Component = typeof component === "string" ? Digit.ComponentRegistryService.getComponent(component) : component; let customValidations = config?.additionalValidation ? Digit?.Customizations?.[apiDetails?.masterName]?.[apiDetails?.moduleName]?.additionalValidations(config?.additionalValidation?.type, formData, config?.additionalValidation?.keys) : null const customRules = customValidations ? { validate: customValidations} : {} - console.log(type,"typeoffield") switch (type) { case "date": case "text": diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index 0009ee3bdd..bf01738849 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -18,19 +18,19 @@ "dependencies": { "@egovernments/digit-ui-react-components": "1.5.12", "@egovernments/digit-ui-libraries": "1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.40", + "@egovernments/digit-ui-components": "0.0.2-beta.43", "@egovernments/digit-ui-module-core": "1.8.2-beta.18", "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", - "@egovernments/digit-ui-module-attendencemgmt": "0.4.8", - "@egovernments/digit-ui-module-contracts": "0.4.7", - "@egovernments/digit-ui-module-measurement":"0.2.6", - "@egovernments/digit-ui-module-estimate": "0.4.11", - "@egovernments/digit-ui-module-masters": "0.4.10", - "@egovernments/digit-ui-module-project": "0.4.7", - "@egovernments/digit-ui-module-expenditure": "0.4.5", - "@egovernments/digit-ui-customisation-mukta": "0.2.5", - "@egovernments/digit-ui-module-rate-analysis": "0.4.5", + "@egovernments/digit-ui-module-attendencemgmt": "0.4.9", + "@egovernments/digit-ui-module-contracts": "0.4.8", + "@egovernments/digit-ui-module-measurement":"0.2.7", + "@egovernments/digit-ui-module-estimate": "0.4.12", + "@egovernments/digit-ui-module-masters": "0.4.11", + "@egovernments/digit-ui-module-project": "0.4.8", + "@egovernments/digit-ui-module-expenditure": "0.4.6", + "@egovernments/digit-ui-customisation-mukta": "0.2.6", + "@egovernments/digit-ui-module-rate-analysis": "0.4.6", "babel-loader": "8.1.0", "clean-webpack-plugin": "4.0.0", "react": "17.0.2", diff --git a/frontend/micro-ui/web/public/index.html b/frontend/micro-ui/web/public/index.html index 28390522cf..6bb896737f 100644 --- a/frontend/micro-ui/web/public/index.html +++ b/frontend/micro-ui/web/public/index.html @@ -8,8 +8,8 @@ href="https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@400;500;700&family=Roboto:wght@400;500;700&display=swap" rel='stylesheet' type='text/css'> - - + + diff --git a/frontend/micro-ui/web/src/Customisations/UICustomizations.js b/frontend/micro-ui/web/src/Customisations/UICustomizations.js index 3ca529406b..f821537012 100644 --- a/frontend/micro-ui/web/src/Customisations/UICustomizations.js +++ b/frontend/micro-ui/web/src/Customisations/UICustomizations.js @@ -648,8 +648,6 @@ export const UICustomizations = { SearchMeasurementConfig: { preProcess: (data) => { - - // console.log(data); const mbNumber=data?.body?.Individual?.MBNumber || null; const refId= data?.body?.Individual?.MBReference || null; @@ -670,7 +668,6 @@ export const UICustomizations = { }, additionalCustomizations: (row, key, column, value, t, searchResult) => { - // console.log(key,value); //here we can add multiple conditions //like if a cell is link then we return link //first we can identify which column it belongs to then we can return relevant result @@ -800,8 +797,6 @@ export const UICustomizations = { }, additionalCustomizations: (row, key, column, value, t, searchResult) => { - // console.log(key,value); - // console.log(row,"qwertyuiop"); //here we can add multiple conditions //like if a cell is link then we return link From bb5c8cb55adb470839e51d9a44f6901d9ada1393 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Tue, 1 Oct 2024 15:45:52 +0530 Subject: [PATCH 249/292] ui_ux imporoved --- .../lib/pages/employee/mb_filter_page.dart | 53 +++-- .../employee/workOrder/wo_filter_page.dart | 38 +++- frontend/works_shg_app/lib/pages/login.dart | 6 +- .../financial_details.dart | 118 +++++----- .../indi_detail_sub.dart | 10 + .../indi_photo_sub.dart | 39 ++-- .../indi_skill_sub.dart | 51 +---- .../individual_details.dart | 9 +- .../location_details.dart | 206 +++++++----------- .../register_individual.dart | 19 +- .../summary_details.dart | 177 ++++++++------- .../atoms/auto_complete_search_bar.dart | 14 +- .../lib/widgets/mb/multi_line_items.dart | 6 +- .../lib/widgets/mb/radio_button_sheet.dart | 11 +- 14 files changed, 365 insertions(+), 392 deletions(-) diff --git a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart index 9b6a38955c..8feef37a13 100644 --- a/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/mb_filter_page.dart @@ -128,7 +128,8 @@ class _MBFilterPageState extends State { }, loaded: (location) { return Scaffold( - backgroundColor: Theme.of(context).colorTheme.paper.primary, + backgroundColor: + Theme.of(context).colorTheme.paper.primary, // appBar: customAppBar(), // drawer: const MySideBar(), body: ReactiveFormBuilder( @@ -138,7 +139,10 @@ class _MBFilterPageState extends State { return Padding( padding: const EdgeInsets.all(16.0), child: ui_component.ScrollableContent( - backgroundColor: Theme.of(context).colorTheme.paper.primary, + backgroundColor: Theme.of(context) + .colorTheme + .paper + .primary, mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center, @@ -889,26 +893,30 @@ class _MBFilterPageState extends State { mainAxisAlignment: MainAxisAlignment.start, children: [ - const SizedBox( + SizedBox( child: Icon( Icons.filter_alt, size: 35, + color: Theme.of(context) + .colorTheme + .primary + .primary1, ), ), Padding( padding: const EdgeInsets.only( left: 0.0), child: DigitTextBlock( - heading: t.translate( - i18.measurementBook.filter), - // style: DigitTheme - // .instance - // .mobileTheme - // .textTheme - // .headlineMedium - // ?.copyWith( - // fontFamily: 'Roboto'), - ), + heading: t.translate( + i18.measurementBook.filter), + headingStyle: Theme.of(context) + .digitTextTheme(context) + .headingXl + .copyWith( + color: Theme.of(context) + .colorTheme + .text + .primary)), ), ], ), @@ -946,11 +954,12 @@ class _MBFilterPageState extends State { CrossAxisAlignment.center, children: [ RadioList( - groupValue: assign, containerPadding: const EdgeInsets.only( - left: 0.0, bottom: 16,top: 16), + left: 0.0, + bottom: 16, + top: 16), radioButtons: [ RadioButtonModel( code: @@ -984,19 +993,21 @@ class _MBFilterPageState extends State { // : const SizedBox.shrink(), project ? Padding( - padding: const EdgeInsets.only(top:0.0), - child: ui_component.LabeledField( - label: t.translate( - i18.measurementBook.mbNumber), + padding: const EdgeInsets.only( + top: 0.0), + child: ui_component.LabeledField( + label: t.translate(i18 + .measurementBook.mbNumber), child: DigitTextFormInput( controller: mbNumber, ), ), - ) + ) : const SizedBox.shrink(), project ? Padding( - padding: const EdgeInsets.only(top:16.0), + padding: const EdgeInsets.only( + top: 16.0), child: ui_component.LabeledField( label: t.translate(i18 .measurementBook.projectId), diff --git a/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart b/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart index 6e49c8a006..8fdedafe5f 100644 --- a/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart +++ b/frontend/works_shg_app/lib/pages/employee/workOrder/wo_filter_page.dart @@ -122,9 +122,11 @@ class _WOFilterPageState extends State { builder: (BuildContext context, FormGroup formGroup, Widget? child) { return Padding( - padding: EdgeInsets.all(Theme.of(context).spacerTheme.spacer4), + padding: + EdgeInsets.all(Theme.of(context).spacerTheme.spacer4), child: ScrollableContent( - backgroundColor: Theme.of(context).colorTheme.paper.primary, + backgroundColor: + Theme.of(context).colorTheme.paper.primary, mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.center, footer: Padding( @@ -173,7 +175,7 @@ class _WOFilterPageState extends State { } payload = { - "status":"ACTIVE", + "status": "ACTIVE", "tenantId": GlobalVariables.tenantId ?? GlobalVariables.organisationListModel! .organisations!.first.tenantId, @@ -231,24 +233,36 @@ class _WOFilterPageState extends State { crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.start, children: [ - const SizedBox( + SizedBox( child: Icon( Icons.filter_alt, size: 35, + color: Theme.of(context) + .colorTheme + .primary + .primary1, ), ), Padding( padding: const EdgeInsets.only(left: 0.0), child: DigitTextBlock( - heading: - t.translate(i18.measurementBook.filter), - ), + heading: + t.translate(i18.measurementBook.filter), + headingStyle: Theme.of(context) + .digitTextTheme(context) + .headingXl + .copyWith( + color: Theme.of(context) + .colorTheme + .text + .primary)), ), ], ), Padding( - padding: EdgeInsets.only(top: Theme.of(context).spacerTheme.spacer4), + padding: EdgeInsets.only( + top: Theme.of(context).spacerTheme.spacer4), child: LabeledField( label: t.translate( i18.measurementBook.workOrderNumber), @@ -261,7 +275,8 @@ class _WOFilterPageState extends State { // new Padding( - padding: EdgeInsets.only(top: Theme.of(context).spacerTheme.spacer4), + padding: EdgeInsets.only( + top: Theme.of(context).spacerTheme.spacer4), child: LabeledField( label: t.translate(i18.measurementBook.cboName), child: DigitDropdown( @@ -298,7 +313,10 @@ class _WOFilterPageState extends State { orElse: () => const SizedBox.shrink(), loaded: (location) { return Padding( - padding: EdgeInsets.only(top: Theme.of(context).spacerTheme.spacer4), + padding: EdgeInsets.only( + top: Theme.of(context) + .spacerTheme + .spacer4), child: LabeledField( label: t.translate(i18.common.ward), child: DigitDropdown( diff --git a/frontend/works_shg_app/lib/pages/login.dart b/frontend/works_shg_app/lib/pages/login.dart index e44892c869..8f4e018743 100644 --- a/frontend/works_shg_app/lib/pages/login.dart +++ b/frontend/works_shg_app/lib/pages/login.dart @@ -55,7 +55,6 @@ class _LoginPageState extends State String selectTenantId = ""; bool iconVisibility = true; - String cityDropDownKey = "cityDropDownKey"; @@ -123,6 +122,7 @@ class _LoginPageState extends State //old ToggleList( + capitalizeFirstLetter: false, contentPadding: const EdgeInsets.all(0), toggleWidth: MediaQuery.sizeOf(context).width * 0.4, toggleButtons: [ @@ -130,8 +130,8 @@ class _LoginPageState extends State code: "0", name: t .translate(i18.measurementBook.mbCbo) - .toString().toUpperCase() - ), + .toString() + .toUpperCase()), ToggleButtonModel( name: t.translate(i18.measurementBook.mbEmployee), code: "1") diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart index 75a4f8a581..299063ff7e 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/financial_details.dart @@ -13,6 +13,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:http/http.dart' as http; import 'package:reactive_forms/reactive_forms.dart'; import 'package:works_shg_app/services/urls.dart'; +import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -305,76 +306,57 @@ class FinancialDetailsState extends State { ), ), - // Button( - // type: ButtonType.primary, - // size: ButtonSize.large, - // mainAxisSize: MainAxisSize.max, - // onPressed: () { - // form.markAllAsTouched(updateParent: false); - // if (!form.valid) return; - // if (hintText.isEmpty) { - // // Notifiers.getToastMessage( - // // context, i18.wageSeeker.enterValidIFSC, 'ERROR'); - // Toast.showToast(context, message: t.translate(i18.wageSeeker.enterValidIFSC), type: ToastType.error); - // } else { - // final financeDetails = FinancialDetails( - // accountHolderName: - // form.value[accountHolderKey].toString(), - // accountNumber: form.value[accountNoKey].toString(), - // reAccountNumber: form.value[reAccountNoKey].toString(), - // ifscCode: - // form.value[ifscCodeKey].toString().toUpperCase(), - // accountType: form.value[accountTypeKey].toString(), - // bankName: hintText); - // BlocProvider.of(context).add( - // WageSeekerCreateEvent( - // individualDetails: individualDetails, - // skillDetails: skillDetails, - // locationDetails: locationDetails, - // financialDetails: financeDetails), - // ); - // widget.onPressed(); - // } - // }, - // label: t.translate(i18.common.next), - // ) + ], ), - ui_card.DigitCard(children: [ - Button( - type: ButtonType.primary, - size: ButtonSize.large, - mainAxisSize: MainAxisSize.max, - onPressed: () { - form.markAllAsTouched(updateParent: false); - if (!form.valid) return; - if (hintText.isEmpty) { - Notifiers.getToastMessage( - context, i18.wageSeeker.enterValidIFSC, 'ERROR'); - // Toast.showToast(context, message: t.translate(i18.wageSeeker.enterValidIFSC), type: ToastType.error); - } else { - final financeDetails = FinancialDetails( - accountHolderName: - form.value[accountHolderKey].toString(), - accountNumber: form.value[accountNoKey].toString(), - reAccountNumber: form.value[reAccountNoKey].toString(), - ifscCode: - form.value[ifscCodeKey].toString().toUpperCase(), - accountType: form.value[accountTypeKey].toString(), - bankName: hintText); - BlocProvider.of(context).add( - WageSeekerCreateEvent( - individualDetails: individualDetails, - skillDetails: skillDetails, - locationDetails: locationDetails, - financialDetails: financeDetails), - ); - widget.onPressed(); - } - }, - label: t.translate(i18.common.next), - ) - ]) + Column( + children: [ + Padding( + padding: EdgeInsets.all(Theme.of(context).spacerTheme.spacer4), + child: const Align( + alignment: Alignment.bottomCenter, + child: PoweredByDigit( + version: Constants.appVersion, + ), + ), + ), + ui_card.DigitCard(children: [ + Button( + type: ButtonType.primary, + size: ButtonSize.large, + mainAxisSize: MainAxisSize.max, + onPressed: () { + form.markAllAsTouched(updateParent: false); + if (!form.valid) return; + if (hintText.isEmpty) { + Notifiers.getToastMessage( + context, i18.wageSeeker.enterValidIFSC, 'ERROR'); + // Toast.showToast(context, message: t.translate(i18.wageSeeker.enterValidIFSC), type: ToastType.error); + } else { + final financeDetails = FinancialDetails( + accountHolderName: + form.value[accountHolderKey].toString(), + accountNumber: form.value[accountNoKey].toString(), + reAccountNumber: form.value[reAccountNoKey].toString(), + ifscCode: + form.value[ifscCodeKey].toString().toUpperCase(), + accountType: form.value[accountTypeKey].toString(), + bankName: hintText); + BlocProvider.of(context).add( + WageSeekerCreateEvent( + individualDetails: individualDetails, + skillDetails: skillDetails, + locationDetails: locationDetails, + financialDetails: financeDetails), + ); + widget.onPressed(); + } + }, + label: t.translate(i18.common.next), + ) + ]), + ], + ) ], ); }, diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_detail_sub.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_detail_sub.dart index bded54ef5b..109979adfc 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_detail_sub.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_detail_sub.dart @@ -11,6 +11,7 @@ import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:intl/intl.dart'; import 'package:reactive_forms/reactive_forms.dart'; +import 'package:works_shg_app/utils/constants.dart'; import '../../blocs/localization/app_localization.dart'; import '../../blocs/wage_seeker_registration/wage_seeker_registration_bloc.dart'; @@ -344,6 +345,15 @@ class _IndividualSubDetailPageState extends State { ), ], ), + const Padding( + padding: EdgeInsets.all(16.0), + child: Align( + alignment: Alignment.bottomCenter, + child: PoweredByDigit( + version: Constants.appVersion, + ), + ), + ), DigitFooter(actions: [ FooterAction( button: Button( diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_photo_sub.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_photo_sub.dart index 49fc8a6dc9..5b2acee20d 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_photo_sub.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_photo_sub.dart @@ -11,6 +11,7 @@ import 'package:digit_ui_components/widgets/molecules/digit_card.dart' import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/data/repositories/core_repo/core_repository.dart'; +import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -55,7 +56,7 @@ class _IndividualPhotoSubPageState extends State { } }, child: SizedBox( - height: MediaQuery.sizeOf(context).height*0.7, + height: MediaQuery.sizeOf(context).height * 0.72, child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -66,7 +67,7 @@ class _IndividualPhotoSubPageState extends State { DigitTextBlock( heading: t.translate(i18.wageSeeker.individualPhotoHeader), ), - + ImageUploader( label: t.translate(i18.common.photoGraph), validators: [ @@ -78,18 +79,19 @@ class _IndividualPhotoSubPageState extends State { : [], onImagesSelected: (List imageFile) async { // Handle the selected image file here - + Navigator.of( context, rootNavigator: true, ).popUntil( (route) => route is! PopupRoute, ); - Loaders.showLoadingDialog(context, label: t.translate(i18.common.uploading)); - + Loaders.showLoadingDialog(context, + label: t.translate(i18.common.uploading)); + final List ss = await uploadProfile(imageFile, 'works'); - + if (ss.isNotEmpty) { Navigator.of( context, @@ -124,17 +126,24 @@ class _IndividualPhotoSubPageState extends State { // photo: photo, // ), // ); - + // widget.onPageChanged(4); // }, // label: t.translate(i18.common.next)) ], ), - ui_card.DigitCard( - // margin: EdgeInsets.only( - // left: Theme.of(context).spacerTheme.spacer2, - // right: Theme.of(context).spacerTheme.spacer2), - children: [ + Column( + children: [ + const Padding( + padding: EdgeInsets.all(16.0), + child: Align( + alignment: Alignment.bottomCenter, + child: PoweredByDigit( + version: Constants.appVersion, + ), + ), + ), + ui_card.DigitCard(children: [ Button( type: ButtonType.primary, size: ButtonSize.large, @@ -147,11 +156,13 @@ class _IndividualPhotoSubPageState extends State { photo: photo, ), ); - + widget.onPageChanged(4); }, label: t.translate(i18.common.next)), - ]) + ]), + ], + ) ], ), ), diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_skill_sub.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_skill_sub.dart index f51baac5bd..5c18e5edee 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_skill_sub.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/indi_skill_sub.dart @@ -6,6 +6,7 @@ import 'package:digit_ui_components/widgets/molecules/digit_card.dart' as ui_card; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/notifiers.dart'; import 'package:works_shg_app/widgets/atoms/multiselect_checkbox.dart'; @@ -80,7 +81,7 @@ class _IndividualSkillSubPageState extends State { return SingleChildScrollView( child: SizedBox( - height: MediaQuery.sizeOf(context).height * 0.70, + height: MediaQuery.sizeOf(context).height * 0.72, child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -94,47 +95,7 @@ class _IndividualSkillSubPageState extends State { // "Individual's Skill Details", heading: t.translate(i18.wageSeeker.individualSkillHeader), ), - // SizedBox( - // height: Theme.of(context).spacerTheme.spacer4, - // ), - // SingleChildScrollView( - // child: Column( - // children: [ - // MultiSelectSearchCheckBox( - // label: t.translate(i18.attendanceMgmt.skill) + ' *', - // onChange: _onSelectedOptionsChanged, - // options: widget.skills, - // hintText: t.translate(i18.attendanceMgmt.skill), - // selectedOptions: selectedOptions, - // ), - // const SizedBox( - // height: 10, - // ), - - // // MultiSelectDropDown( - - // // showSelectAll: true, - - // // isSearchable: true, - // // options: widget.skills - // // .map((e) => DropdownItem( - // // name: t.translate( - // // "COMMON_MASTERS_SKILLS_${e.toString()}"), - // // code: e.toString())) - // // .toList(), - // // onOptionSelected: - // // (List selectedOptionss) { - // // _onSelectedOptionsChanged(selectedOptionss.map((e) => e.code).toList()); - // // }, - // // // selectedOptions: selectedOptions.isNotEmpty?selectedOptions.map((e) => DropdownItem( - // // // name: t.translate( - // // // "COMMON_MASTERS_SKILLS_${e.toString()}"), - // // // code: e.toString())) - // // // .toList():[], - // // ), - // ], - // ), - // ), + MultiSelectDropDown( // showSelectAll: true, @@ -166,6 +127,12 @@ class _IndividualSkillSubPageState extends State { ], ), ), + const Align( + alignment: Alignment.bottomCenter, + child: PoweredByDigit( + version: Constants.appVersion, + ), + ), Center( child: Container( padding: diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart index 246a1c65ba..9dbe7d8e54 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/individual_details.dart @@ -236,7 +236,7 @@ class IndividualDetailsPageState extends State { } }, child: SizedBox( - height: MediaQuery.sizeOf(context).height * 0.7, + height: MediaQuery.sizeOf(context).height * 0.719, child: ScrollableContent( backgroundColor: Theme.of(context).colorTheme.generic.background, @@ -434,7 +434,12 @@ class IndividualDetailsPageState extends State { // ) ], ), - + const Align( + alignment: Alignment.bottomCenter, + child: PoweredByDigit( + version: Constants.appVersion, + ), + ) ], ), ), diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart index 2851da9cbb..9756b4e1a9 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/location_details.dart @@ -14,6 +14,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:multi_select_flutter/multi_select_flutter.dart'; import 'package:reactive_forms/reactive_forms.dart'; import 'package:works_shg_app/models/wage_seeker/location_details_model.dart'; +import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; import 'package:works_shg_app/utils/notifiers.dart'; @@ -104,9 +105,6 @@ class LocationDetailsState extends State { DigitTextBlock( heading: t.translate(i18.common.locationDetails), ), - - - ui_component.LabeledField( label: t.translate(i18.common.pinCode), child: ReactiveWrapperField( @@ -117,7 +115,6 @@ class LocationDetailsState extends State { }, formControlName: pinCodeKey, builder: (field) { - return DigitTextFormInput( charCount: true, maxLength: 6, @@ -140,8 +137,6 @@ class LocationDetailsState extends State { }, ), ), - - ui_component.LabeledField( isRequired: true, label: t.translate(i18.common.city), @@ -155,11 +150,14 @@ class LocationDetailsState extends State { showErrors: (control) => control.invalid && control.touched, builder: (field) { return ui_component.DigitDropdown( - selectedOption: DropdownItem(name: locationDetails.city != null - ? AppLocalizations.of(context).translate( - 'TENANT_TENANTS_${locationDetails.city!.replaceAll('.', '_').toUpperCase()}') - :AppLocalizations.of(context).translate( - 'TENANT_TENANTS_${widget.city!.replaceAll('.', '_').toUpperCase()}'), code: locationDetails.city ?? widget.city.toString()), + selectedOption: DropdownItem( + name: locationDetails.city != null + ? AppLocalizations.of(context).translate( + 'TENANT_TENANTS_${locationDetails.city!.replaceAll('.', '_').toUpperCase()}') + : AppLocalizations.of(context).translate( + 'TENANT_TENANTS_${widget.city!.replaceAll('.', '_').toUpperCase()}'), + code: locationDetails.city ?? + widget.city.toString()), dropdownController: TextEditingController() ..text = form.control(cityKey).value ?? '', onSelect: (value) { @@ -182,9 +180,6 @@ class LocationDetailsState extends State { }, ), ), - - - ui_component.LabeledField( isRequired: true, label: t.translate(i18.common.ward), @@ -221,9 +216,6 @@ class LocationDetailsState extends State { }, ), ), - - - ui_component.LabeledField( isRequired: true, label: t.translate(i18.common.locality), @@ -260,9 +252,6 @@ class LocationDetailsState extends State { }, ), ), - - - ui_component.LabeledField( label: t.translate(i18.common.streetName), child: ReactiveWrapperField( @@ -289,9 +278,6 @@ class LocationDetailsState extends State { }, ), ), - - - ui_component.LabeledField( label: t.translate(i18.common.doorNo), child: ReactiveWrapperField( @@ -326,111 +312,77 @@ class LocationDetailsState extends State { }, ), ), - - // Button( - // size: ButtonSize.large, - // type: ButtonType.primary, - // mainAxisSize: MainAxisSize.max, - // onPressed: () { - // form.markAllAsTouched(updateParent: false); - // if (!form.valid) return; - // if (form.value[pinCodeKey].toString().isNotEmpty && - // form.value[pinCodeKey].toString().length < 6) { - // // Notifiers.getToastMessage( - // // context, - // // t.translate(i18.wageSeeker.pinCodeValidation), - // // 'ERROR'); - - // Toast.showToast(context, - // message: - // t.translate(i18.wageSeeker.pinCodeValidation), - // type: ToastType.error); - // } else if (form.value[pinCodeKey].toString().isNotEmpty && - // int.parse(form.value[pinCodeKey].toString()) < 100000) { - // // Notifiers.getToastMessage( - // // context, - // // t.translate(i18.wageSeeker.pinCodeValidation), - // // 'ERROR'); - - // Toast.showToast(context, - // message: - // t.translate(i18.wageSeeker.pinCodeValidation), - // type: ToastType.error); - // } else { - // final locationDetails = LocationDetails( - // pinCode: form.value[pinCodeKey].toString(), - // city: form.value[cityKey].toString(), - // locality: form.value[localityKey].toString(), - // ward: form.value[wardKey].toString(), - // streetName: form.value[streetNameKey].toString(), - // doorNo: form.value[doorNoKey].toString()); - // BlocProvider.of(context).add( - // WageSeekerCreateEvent( - // individualDetails: individualDetails, - // skillDetails: skillDetails, - // locationDetails: locationDetails, - // financialDetails: financialDetails), - // ); - // widget.onPressed(); - // } - // }, - // label: t.translate(i18.common.next), - // ) - ], + ], + ), + Column( + children: [ + const Padding( + padding: EdgeInsets.all(16.0), + child: Align( + alignment: Alignment.bottomCenter, + child: PoweredByDigit( + version: Constants.appVersion, + ), + ), + ), + ui_card.DigitCard( + children: [ + Button( + size: ButtonSize.large, + type: ButtonType.primary, + mainAxisSize: MainAxisSize.max, + onPressed: () { + form.markAllAsTouched(updateParent: false); + if (!form.valid) return; + if (form.value[pinCodeKey].toString().isNotEmpty && + form.value[pinCodeKey].toString().length < 6) { + Notifiers.getToastMessage( + context, + t.translate(i18.wageSeeker.pinCodeValidation), + 'ERROR'); + + // Toast.showToast(context, + // message: + // t.translate(i18.wageSeeker.pinCodeValidation), + // type: ToastType.error); + } else if (form.value[pinCodeKey] + .toString() + .isNotEmpty && + int.parse(form.value[pinCodeKey].toString()) < + 100000) { + Notifiers.getToastMessage( + context, + t.translate(i18.wageSeeker.pinCodeValidation), + 'ERROR'); + + // Toast.showToast(context, + // message: + // t.translate(i18.wageSeeker.pinCodeValidation), + // type: ToastType.error); + } else { + final locationDetails = LocationDetails( + pinCode: form.value[pinCodeKey].toString(), + city: form.value[cityKey].toString(), + locality: form.value[localityKey].toString(), + ward: form.value[wardKey].toString(), + streetName: form.value[streetNameKey].toString(), + doorNo: form.value[doorNoKey].toString()); + BlocProvider.of(context).add( + WageSeekerCreateEvent( + individualDetails: individualDetails, + skillDetails: skillDetails, + locationDetails: locationDetails, + financialDetails: financialDetails), + ); + widget.onPressed(); + } + }, + label: t.translate(i18.common.next), + ) + ], + ), + ], ), - - ui_card.DigitCard(children: [ - Button( - size: ButtonSize.large, - type: ButtonType.primary, - mainAxisSize: MainAxisSize.max, - onPressed: () { - form.markAllAsTouched(updateParent: false); - if (!form.valid) return; - if (form.value[pinCodeKey].toString().isNotEmpty && - form.value[pinCodeKey].toString().length < 6) { - Notifiers.getToastMessage( - context, - t.translate(i18.wageSeeker.pinCodeValidation), - 'ERROR'); - - // Toast.showToast(context, - // message: - // t.translate(i18.wageSeeker.pinCodeValidation), - // type: ToastType.error); - } else if (form.value[pinCodeKey].toString().isNotEmpty && - int.parse(form.value[pinCodeKey].toString()) < 100000) { - Notifiers.getToastMessage( - context, - t.translate(i18.wageSeeker.pinCodeValidation), - 'ERROR'); - - // Toast.showToast(context, - // message: - // t.translate(i18.wageSeeker.pinCodeValidation), - // type: ToastType.error); - } else { - final locationDetails = LocationDetails( - pinCode: form.value[pinCodeKey].toString(), - city: form.value[cityKey].toString(), - locality: form.value[localityKey].toString(), - ward: form.value[wardKey].toString(), - streetName: form.value[streetNameKey].toString(), - doorNo: form.value[doorNoKey].toString()); - BlocProvider.of(context).add( - WageSeekerCreateEvent( - individualDetails: individualDetails, - skillDetails: skillDetails, - locationDetails: locationDetails, - financialDetails: financialDetails), - ); - widget.onPressed(); - } - }, - label: t.translate(i18.common.next), - ) - - ],), ], ); }, diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart index 964bb79a5d..d53b6caa49 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/register_individual.dart @@ -248,15 +248,16 @@ class RegisterIndividualPageState extends State { error: (String? error) => Notifiers.getToastMessage( context, error.toString(), 'ERROR')); }), - const SizedBox( - height: 16.0, - ), - const Align( - alignment: Alignment.bottomCenter, - child: PoweredByDigit( - version: Constants.appVersion, - ), - ) + // TODO:testing + // const SizedBox( + // height: 16.0, + // ), + // const Align( + // alignment: Alignment.bottomCenter, + // child: PoweredByDigit( + // version: Constants.appVersion, + // ), + // ) ]), ); }); diff --git a/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart b/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart index 2d6784aea3..278cdfaebf 100644 --- a/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart +++ b/frontend/works_shg_app/lib/pages/wage_seeker_registration/summary_details.dart @@ -1,6 +1,7 @@ //import 'package:digit_components/digit_components.dart'; //import 'package:digit_components/widgets/atoms/details_card.dart'; import 'package:digit_ui_components/digit_components.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:digit_ui_components/widgets/atoms/label_value_list.dart'; import 'package:digit_ui_components/widgets/atoms/text_block.dart'; @@ -11,6 +12,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:works_shg_app/models/wage_seeker/skill_details_model.dart'; import 'package:works_shg_app/router/app_router.dart'; +import 'package:works_shg_app/utils/constants.dart'; import 'package:works_shg_app/utils/date_formats.dart'; import 'package:works_shg_app/utils/localization_constants/i18_key_constants.dart' as i18; @@ -230,10 +232,8 @@ class SummaryDetailsPageState extends State { Align( alignment: Alignment.center, child: Image.file( - FilePickerData.imageFile!, fit: BoxFit.cover, - ), ), ], @@ -388,7 +388,7 @@ class SummaryDetailsPageState extends State { // orElse: () => false, // loading: () => shg_loader.Loaders.circularLoader(context), // loaded: (SingleIndividualModel? individualListModel) { - + // context.read().add( // CreateBankWageSeekerEvent( // tenantId: @@ -472,95 +472,108 @@ class SummaryDetailsPageState extends State { ], ), - ui_card.DigitCard(children: [ - BlocListener( - listener: (context, individualState) { - individualState.maybeWhen( - orElse: () => false, - loading: () => shg_loader.Loaders.circularLoader(context), - loaded: (SingleIndividualModel? individualListModel) { - - context.read().add( - CreateBankWageSeekerEvent( - tenantId: - individualListModel?.Individual?.tenantId, - accountHolderName: - financialDetails?.accountHolderName, - accountNo: financialDetails?.accountNumber, - accountType: financialDetails?.accountType, - ifscCode: financialDetails?.ifscCode, - referenceId: individualListModel?.Individual?.id, - indId: - individualListModel?.Individual?.individualId, - bankName: '${financialDetails?.bankName}'), - ); - }, - error: (String? error) => - Notifiers.getToastMessage( - context, error.toString(), 'ERROR'), - // Toast.showToast(context, - // message: t.translate(error.toString()), - // type: ToastType.error), - ); - }, - child: BlocListener( + Column( + children: [ + Padding( + padding: EdgeInsets.all(Theme.of(context).spacerTheme.spacer4), + child: const Align( + alignment: Alignment.bottomCenter, + child: PoweredByDigit( + version: Constants.appVersion, + ), + ), + ), + ui_card.DigitCard(children: [ + BlocListener( listener: (context, individualState) { individualState.maybeWhen( orElse: () => false, loading: () => shg_loader.Loaders.circularLoader(context), - loaded: (BankingDetailsModel? bankingDetails, - BankAccounts? bankAccountDetails) { - FilePickerData.imageFile = null; - FilePickerData.bytes = null; - var localizationText = - '${t.translate(i18.wageSeeker.wageSeekerSuccessSubText)}'; - localizationText = localizationText.replaceFirst( - '{individualID}', bankAccountDetails?.indID ?? ''); - context.router.popAndPush(SuccessResponseRoute( - header: t.translate(i18.wageSeeker.createIndSuccess), - subTitle: localizationText, - backButton: true, - callBack: () => - context.router.push(const HomeRoute()), - buttonLabel: t.translate( - i18.common.backToHome, - ))); + loaded: (SingleIndividualModel? individualListModel) { + context.read().add( + CreateBankWageSeekerEvent( + tenantId: + individualListModel?.Individual?.tenantId, + accountHolderName: + financialDetails?.accountHolderName, + accountNo: financialDetails?.accountNumber, + accountType: financialDetails?.accountType, + ifscCode: financialDetails?.ifscCode, + referenceId: + individualListModel?.Individual?.id, + indId: individualListModel + ?.Individual?.individualId, + bankName: '${financialDetails?.bankName}'), + ); }, - error: (String? error) => - Notifiers.getToastMessage( - context, error.toString(), 'ERROR'), - // Toast.showToast(context, - // message: t.translate(error.toString()), - // type: ToastType.error), + error: (String? error) => Notifiers.getToastMessage( + context, error.toString(), 'ERROR'), + // Toast.showToast(context, + // message: t.translate(error.toString()), + // type: ToastType.error), ); }, - child: Center( - child: Button( - type: ButtonType.primary, - size: ButtonSize.large, - mainAxisSize: MainAxisSize.max, - onPressed: () { - if (debouncer != null && debouncer!.isActive) { - debouncer! - .cancel(); // Cancel the previous timer if it's active. - } - debouncer = Timer(const Duration(milliseconds: 1000), () { - context.read().add( - CreateWageSeekerEvent( - individualDetails: individualDetails, - skillDetails: skillDetails, - locationDetails: locationDetails, - financialDetails: financialDetails), - ); - }); - }, - label: t.translate(i18.common.submit), + child: BlocListener( + listener: (context, individualState) { + individualState.maybeWhen( + orElse: () => false, + loading: () => shg_loader.Loaders.circularLoader(context), + loaded: (BankingDetailsModel? bankingDetails, + BankAccounts? bankAccountDetails) { + FilePickerData.imageFile = null; + FilePickerData.bytes = null; + var localizationText = + '${t.translate(i18.wageSeeker.wageSeekerSuccessSubText)}'; + localizationText = localizationText.replaceFirst( + '{individualID}', bankAccountDetails?.indID ?? ''); + context.router.popAndPush(SuccessResponseRoute( + header: + t.translate(i18.wageSeeker.createIndSuccess), + subTitle: localizationText, + backButton: true, + callBack: () => + context.router.push(const HomeRoute()), + buttonLabel: t.translate( + i18.common.backToHome, + ))); + }, + error: (String? error) => Notifiers.getToastMessage( + context, error.toString(), 'ERROR'), + // Toast.showToast(context, + // message: t.translate(error.toString()), + // type: ToastType.error), + ); + }, + child: Center( + child: Button( + type: ButtonType.primary, + size: ButtonSize.large, + mainAxisSize: MainAxisSize.max, + onPressed: () { + if (debouncer != null && debouncer!.isActive) { + debouncer! + .cancel(); // Cancel the previous timer if it's active. + } + debouncer = + Timer(const Duration(milliseconds: 1000), () { + context.read().add( + CreateWageSeekerEvent( + individualDetails: individualDetails, + skillDetails: skillDetails, + locationDetails: locationDetails, + financialDetails: financialDetails), + ); + }); + }, + label: t.translate(i18.common.submit), + ), ), ), ), - ), - ]) + ]), + ], + ) ], ); } diff --git a/frontend/works_shg_app/lib/widgets/atoms/auto_complete_search_bar.dart b/frontend/works_shg_app/lib/widgets/atoms/auto_complete_search_bar.dart index 095c16eac0..0275721b57 100644 --- a/frontend/works_shg_app/lib/widgets/atoms/auto_complete_search_bar.dart +++ b/frontend/works_shg_app/lib/widgets/atoms/auto_complete_search_bar.dart @@ -59,15 +59,10 @@ class AutoCompleteSearchBar extends StatelessWidget { ); } else { return Container( + margin: - const EdgeInsets.only(top: 5.0, bottom: 5, right: 8, left: 8), - child: Column( - children: [ - Container( - padding: const EdgeInsets.only(top: 18, bottom: 3), - child: _autoComplete(context)), - ], - )); + const EdgeInsets.only(top: 16.0, bottom: 5.0, right: 4, left: 4), + child: _autoComplete(context)); } }); } @@ -91,6 +86,7 @@ class AutoCompleteSearchBar extends StatelessWidget { hintText: hintText ?? '', border: const OutlineInputBorder( borderRadius: BorderRadius.zero, + ), filled: true, fillColor: Colors.white, @@ -99,7 +95,7 @@ class AutoCompleteSearchBar extends StatelessWidget { prefixStyle: TextStyle( fontSize: 16, fontWeight: FontWeight.w400, - color: Theme.of(context).primaryColorDark), + color: Theme.of(context).colorScheme.secondary), prefixIcon: Padding( padding:const EdgeInsets.all(8.0), child: Icon(Icons.search_sharp, color: Theme.of(context).colorScheme.secondary, diff --git a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart index 0af0355bec..a904df78b1 100644 --- a/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart +++ b/frontend/works_shg_app/lib/widgets/mb/multi_line_items.dart @@ -259,7 +259,7 @@ class _MultiLineItemsState extends State { ), ), Padding( - padding: const EdgeInsets.only(top:8.0), + padding: EdgeInsets.only(top:Theme.of(context).spacerTheme.spacer4), child: LabeledField( label: t.translate(i18.measurementBook.numberLabel), child: DigitTextFormInput( @@ -275,7 +275,7 @@ class _MultiLineItemsState extends State { ), ), Padding( - padding: const EdgeInsets.only(top:8.0), + padding: EdgeInsets.only(top:Theme.of(context).spacerTheme.spacer4), child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -345,7 +345,7 @@ class _MultiLineItemsState extends State { ), ), Padding( - padding: const EdgeInsets.only(top:8.0), + padding: EdgeInsets.only(top:Theme.of(context).spacerTheme.spacer4), child: LabeledField( label: t.translate(i18.measurementBook.quantityLabel), child: DigitTextFormInput( diff --git a/frontend/works_shg_app/lib/widgets/mb/radio_button_sheet.dart b/frontend/works_shg_app/lib/widgets/mb/radio_button_sheet.dart index 87b4c58b3a..3483ece8df 100644 --- a/frontend/works_shg_app/lib/widgets/mb/radio_button_sheet.dart +++ b/frontend/works_shg_app/lib/widgets/mb/radio_button_sheet.dart @@ -2,6 +2,7 @@ import 'package:digit_ui_components/digit_components.dart'; import 'package:digit_ui_components/models/RadioButtonModel.dart'; import 'package:digit_ui_components/theme/ComponentTheme/divider_theme.dart'; +import 'package:digit_ui_components/theme/digit_extended_theme.dart'; import 'package:digit_ui_components/widgets/atoms/digit_divider.dart'; import 'package:digit_ui_components/widgets/atoms/digit_radio_list.dart'; import 'package:digit_ui_components/widgets/atoms/text_block.dart'; @@ -40,12 +41,18 @@ class _MyBottomSheetState extends State { padding: const EdgeInsets.only(left: 16.0, bottom: 8, top: 16.0), child: Row( children: [ - const Icon( + Icon( Icons.swap_vert, - size: 30, + size: 35, + color: Theme.of(context).colorTheme.primary.primary1, ), DigitTextBlock( heading: t.translate(i18.measurementBook.sortBy), + headingStyle: Theme.of(context) + .digitTextTheme(context) + .headingXl + .copyWith( + color: Theme.of(context).colorTheme.text.primary), ), ], ), From 451db31bc4b7399e94a3090c01815cd67d405338 Mon Sep 17 00:00:00 2001 From: kams Date: Tue, 1 Oct 2024 17:42:34 +0530 Subject: [PATCH 250/292] sticky component added --- .../src/hooks/paymentTrackerReport.js | 40 +++++++++++++------ .../src/configs/paymentTrackerSearchConfig.js | 6 ++- .../react-components/src/atoms/Table.js | 35 +++++++++++++++- .../react-components/src/hoc/ResultsTable.js | 1 + 4 files changed, 66 insertions(+), 16 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js index 9df4db2e73..f1bed898df 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js @@ -24,18 +24,32 @@ export const paymentTrackerReport = (props) => { const {isLoading: isProjectDetailsLoading, data: projectDetails} = Digit.Hooks.useCustomAPIHook(requestrevisionCriteria); - if(data?.aggsResponse?.projects) - data.aggsResponse.projects = data?.aggsResponse?.projects?.map((ob) => { - return { - ...ob, - wagebillsuccess : ob?.paymentDetails?.filter((obj) => obj?.billType?.includes("WAGE"))?.[0]?.paidAmount, - wagebillFailed : ob?.paymentDetails?.filter((obj) => obj?.billType?.includes("WAGE"))?.[0]?.remainingAmount, - purchasebillSuccess : ob?.paymentDetails?.filter((obj) => obj?.billType?.includes("PURCHASE"))?.[0]?.paidAmount, - purchasebillFailed : ob?.paymentDetails?.filter((obj) => obj?.billType?.includes("PURCHASE"))?.[0]?.remainingAmount, - supervisionbillSuccess : ob?.paymentDetails?.filter((obj) => obj?.billType?.includes("SUPERVISION"))?.[0]?.paidAmount, - supervisionbillFailed : ob?.paymentDetails?.filter((obj) => obj?.billType?.includes("SUPERVISION"))?.[0]?.remainingAmount, - project : /*projectDetails?.items?.filter((pj) => pj?.businessObject?.projectNumber === ob?.projectNumber)?.[0] */ projectDetails?.items?.[0] - } - }) + if(data?.aggsResponse?.projects) { + data.aggsResponse.projects = data?.aggsResponse?.projects?.map((ob) => { + return { + ...ob, + wagebillsuccess : ob?.paymentDetails?.filter((obj) => obj?.billType?.includes("WAGE"))?.[0]?.paidAmount, + wagebillFailed : ob?.paymentDetails?.filter((obj) => obj?.billType?.includes("WAGE"))?.[0]?.remainingAmount, + purchasebillSuccess : ob?.paymentDetails?.filter((obj) => obj?.billType?.includes("PURCHASE"))?.[0]?.paidAmount, + purchasebillFailed : ob?.paymentDetails?.filter((obj) => obj?.billType?.includes("PURCHASE"))?.[0]?.remainingAmount, + supervisionbillSuccess : ob?.paymentDetails?.filter((obj) => obj?.billType?.includes("SUPERVISION"))?.[0]?.paidAmount, + supervisionbillFailed : ob?.paymentDetails?.filter((obj) => obj?.billType?.includes("SUPERVISION"))?.[0]?.remainingAmount, + project : /*projectDetails?.items?.filter((pj) => pj?.businessObject?.projectNumber === ob?.projectNumber)?.[0] */ projectDetails?.items?.[0] + } + }) + data.stickyFooterRow = Array(9).fill(0); + data.stickyFooterRow[0] = ''; + data.stickyFooterRow[1] = 'Grand Total'; + data?.aggsResponse?.projects?.map((ob, index) => { + data.stickyFooterRow[2] += ob?.estimatedAmount + data.stickyFooterRow[3] += ob?.wagebillsuccess + data.stickyFooterRow[4] += ob?.wagebillFailed + data.stickyFooterRow[5] += ob?.purchasebillSuccess + data.stickyFooterRow[6] += ob?.purchasebillFailed + data.stickyFooterRow[7] += ob?.supervisionbillSuccess + data.stickyFooterRow[8] += ob?.supervisionbillFailed + }) + } + return { isLoading : (isLoading || isProjectDetailsLoading), data, revalidate, isFetching, error }; } \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/paymentTrackerSearchConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/paymentTrackerSearchConfig.js index ae04ae521f..abfa17e97b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/paymentTrackerSearchConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/paymentTrackerSearchConfig.js @@ -175,7 +175,8 @@ export const paymentTrackerSearchConfig = { }, { "label": "EXP_ESTIMATED_AMT", - "jsonPath": "estimatedAmount" + "jsonPath": "estimatedAmount", + "additionalCustomization": true }, { "label": "EXP_WAGE_PAYMENT_SUCCESS", @@ -214,7 +215,8 @@ export const paymentTrackerSearchConfig = { "resultsJsonPath": "aggsResponse.projects", "showCheckBox": false, "checkBoxActionLabel": "ES_COMMON_GENERATE_PAYMENT_ADVICE", - "showTableInstruction": "EXP_DOWNLOAD_BILL_INSTRUCTION" + "showTableInstruction": "EXP_DOWNLOAD_BILL_INSTRUCTION", + "stickyFooter": true }, "children": {}, "show": true diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/Table.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/Table.js index d590b99d60..9f032cc635 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/Table.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/Table.js @@ -59,7 +59,8 @@ const Table = ({ isReportTable = false, showCheckBox = false, actionLabel = 'CS_COMMON_DOWNLOAD', - tableSelectionHandler = () => {} + tableSelectionHandler = () => {}, + stickyFooter }) => { const { getTableProps, @@ -125,8 +126,30 @@ const Table = ({ } } ); + console.log(stickyFooter, page, data, columns, "heyhey"); let isTotalColSpanRendered = false; const [toast, setToast] = useState({show : false, label : "", error : false}); + // const [grandTotal, setGrandTotal] = useState([]); + + // useEffect(() => { + // if (page && page[0]) { + // const TotalRow = Array(page[0].cells.length - 2).fill(0); + + // page.forEach(row => { + // row.cells.forEach((cell, index) => { + // if (index > 1){ + // const value = parseFloat(cell.value); + // if (!isNaN(value)) { + // TotalRow[index - 2] += value; + // } + // } + // }); + // }); + + // setGrandTotal(TotalRow); // Set the calculated total + // console.log(TotalRow); + // } + // }, [page]); useEffect(() => { onSort(sortBy); @@ -210,6 +233,16 @@ const Table = ({ ); })} + + {stickyFooter && ( + + {stickyFooter?.map((amount, index) => ( + + {amount} + + ))} + + )} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ResultsTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ResultsTable.js index 854a3a0c1d..696bf34408 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ResultsTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ResultsTable.js @@ -207,6 +207,7 @@ const ResultsTable = ({ tableContainerClass, config,data,isLoading,isFetching,fu }, }; }} + stickyFooter={config?.stickyFooter ? data?.stickyFooterRow : undefined} />}
) From ad31fba8df400ec065256c5ebb9563968b8b0668 Mon Sep 17 00:00:00 2001 From: kams Date: Tue, 1 Oct 2024 18:17:16 +0530 Subject: [PATCH 251/292] changed amount format --- .../Mukta/src/configs/UICustomizations.js | 18 +++++++-------- .../src/hooks/paymentTrackerReport.js | 10 +++++++++ .../react-components/src/atoms/Table.js | 22 ------------------- 3 files changed, 19 insertions(+), 31 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js index 3c3016d179..8012c09fcb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js @@ -3106,9 +3106,6 @@ export const UICustomizations = { ); } - if (key === "EXP_ESTIMATED_AMT") { - return value ? `COMMON_MASTERS_BILL_TYPE_${Digit.Utils.locale.getTransformedLocale(value)}` : t("ES_COMMON_NA"); - } if(key === "EXP_PROJECT_NAME") { let currentProject = searchResult?.filter((result) => result?.id === row?.id)[0]; return ( @@ -3123,23 +3120,26 @@ export const UICustomizations = {
); } + if (key === "EXP_ESTIMATED_AMT") { + return ; + } if (key === "EXP_WAGE_PAYMENT_SUCCESS") { - return ; + return ; } if (key === "EXP_WAGE_PAYMENT_FAILED") { - return ; + return ; } if (key === "EXP_PUR_PAYMENT_SUCCESS") { - return ; + return ; } if (key === "EXP_PUR_PAYMENT_FAILED") { - return ; + return ; } if (key === "EXP_SUP_PAYMENT_SUCCESS") { - return ; + return ; } if (key === "EXP_SUP_PAYMENT_FAILED") { - return ; + return ; } // if (key === "CORE_COMMON_STATUS") { // return value ? t(`BILL_STATUS_${value}`) : t("ES_COMMON_NA"); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js index f1bed898df..a81592fc50 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js @@ -1,5 +1,12 @@ +import { useTranslation } from "react-i18next"; + +const Amount = ({t,roundOff=true,...props}) => { + const value=roundOff?Math.round(props?.value):props?.value; + return `${props?.rupeeSymbol ? "₹" : ""}${value !== undefined && value !== null ? (props?.sameDisplay ? value : `${Digit?.Utils?.dss?.formatterWithoutRound(value, "number")}`) : t("ES_COMMON_NA")}`; +} export const paymentTrackerReport = (props) => { + const { t } = useTranslation(); var { isLoading, data, revalidate, isFetching, error } = Digit.Hooks.useCustomAPIHook(props); //search Project const requestrevisionCriteria = { @@ -49,6 +56,9 @@ export const paymentTrackerReport = (props) => { data.stickyFooterRow[7] += ob?.supervisionbillSuccess data.stickyFooterRow[8] += ob?.supervisionbillFailed }) + for (let i = 2; i < 9; i++) { + data.stickyFooterRow[i] = Amount({ value: data.stickyFooterRow[i], rupeeSymbol: true, t: t }); + } } return { isLoading : (isLoading || isProjectDetailsLoading), data, revalidate, isFetching, error }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/Table.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/Table.js index 9f032cc635..cd0ce16e08 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/Table.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/Table.js @@ -126,30 +126,8 @@ const Table = ({ } } ); - console.log(stickyFooter, page, data, columns, "heyhey"); let isTotalColSpanRendered = false; const [toast, setToast] = useState({show : false, label : "", error : false}); - // const [grandTotal, setGrandTotal] = useState([]); - - // useEffect(() => { - // if (page && page[0]) { - // const TotalRow = Array(page[0].cells.length - 2).fill(0); - - // page.forEach(row => { - // row.cells.forEach((cell, index) => { - // if (index > 1){ - // const value = parseFloat(cell.value); - // if (!isNaN(value)) { - // TotalRow[index - 2] += value; - // } - // } - // }); - // }); - - // setGrandTotal(TotalRow); // Set the calculated total - // console.log(TotalRow); - // } - // }, [page]); useEffect(() => { onSort(sortBy); From 6f88c1458a57653386d2e9eb2c5db5722b9a7e43 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Thu, 3 Oct 2024 10:27:22 +0530 Subject: [PATCH 252/292] kibana redirection core update --- .../web/micro-ui-internals/example/package.json | 2 +- .../micro-ui-internals/packages/css/package.json | 2 +- .../packages/css/src/pages/employee/override.scss | 15 +++++++++++++++ .../packages/libraries/src/utils/index.js | 12 +++++++++++- .../packages/modules/works/package.json | 4 ++-- .../react-components/src/atoms/InputTextAmount.js | 2 +- .../react-components/src/hoc/FormComposer.js | 2 +- frontend/micro-ui/web/package.json | 2 +- frontend/micro-ui/web/public/index.html | 2 +- frontend/micro-ui/web/works/package.json | 2 +- 10 files changed, 35 insertions(+), 10 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index 48ec5e8840..64a60004fe 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -12,7 +12,7 @@ "@egovernments/digit-ui-react-components": "1.5.12", "@egovernments/digit-ui-components": "0.0.2-beta.43", "@egovernments/digit-ui-libraries": "1.5.0", - "@egovernments/digit-ui-module-core": "1.8.2-beta.18", + "@egovernments/digit-ui-module-core": "1.8.2-beta.19", "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-module-attendencemgmt": "0.4.9", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json index 0b2635f665..63fb4c640d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-works-css", - "version": "0.2.48", + "version": "0.2.49", "license": "MIT", "author": "Jagankumar ", "main": "dist/index.css", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss index 13429b5654..14b031026f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss @@ -155,4 +155,19 @@ .digit-bread-crumb{ margin-bottom: 1.5rem; + } + + + th{ + background-color: theme(digitv2.lightTheme.paper-primary); + } + + .uploadfile-composer-textfield{ + margin-bottom: 1.5rem; + } + + .digit-header-content{ + &.label{ + margin-top: 0.565rem; + } } \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/utils/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/utils/index.js index 3d8eec4c08..9516ae2d59 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/utils/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/utils/index.js @@ -25,6 +25,10 @@ const GetParamFromUrl = (key, fallback, search) => { return fallback; }; +const getMultiRootTenant = () => { + return window?.globalConfigs?.getConfig("MULTI_ROOT_TENANT") || false; +}; + const getPattern = (type) => { switch (type) { case "Name": @@ -320,6 +324,10 @@ const trimStringsInObject = ( obj ) => { return trimmedObj; } +const getRoleBasedHomeCard = () => { + return window?.globalConfigs?.getConfig("ROLE_BASED_HOMECARD") || false; +}; + export default { pdf: PDFUtil, downloadWorksPDF, @@ -369,5 +377,7 @@ export default { trimStringsInObject, statusBasedNavigation, getThumbnails, - debouncing + debouncing, + getMultiRootTenant, + getRoleBasedHomeCard }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json index ef2a6da877..5069dc3952 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-works", - "version": "0.0.18", + "version": "0.0.19", "description": "Works", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.40", + "@egovernments/digit-ui-components": "0.0.2-beta.43", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/InputTextAmount.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/InputTextAmount.js index 0ef8960f62..178ea8210c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/InputTextAmount.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/InputTextAmount.js @@ -1,4 +1,4 @@ -import TextInput from "./TextInput"; +import { TextInput } from "@egovernments/digit-ui-components"; import React, { forwardRef, useImperativeHandle, useMemo, useRef, useEffect, useState } from "react"; import { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js index dfe94416d7..c1a74bb126 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js @@ -215,7 +215,7 @@ export const FormComposer = (props) => { case "amount": // if (populators.defaultValue) setTimeout(setValue(populators?.name, populators.defaultValue)); return ( -
+
{populators?.componentInFront ? ( {populators.componentInFront} ) : null} diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index bf01738849..13ab84134d 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -19,7 +19,7 @@ "@egovernments/digit-ui-react-components": "1.5.12", "@egovernments/digit-ui-libraries": "1.5.0", "@egovernments/digit-ui-components": "0.0.2-beta.43", - "@egovernments/digit-ui-module-core": "1.8.2-beta.18", + "@egovernments/digit-ui-module-core": "1.8.2-beta.19", "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-module-attendencemgmt": "0.4.9", diff --git a/frontend/micro-ui/web/public/index.html b/frontend/micro-ui/web/public/index.html index 6bb896737f..ea8e83d191 100644 --- a/frontend/micro-ui/web/public/index.html +++ b/frontend/micro-ui/web/public/index.html @@ -9,7 +9,7 @@ rel='stylesheet' type='text/css'> - + diff --git a/frontend/micro-ui/web/works/package.json b/frontend/micro-ui/web/works/package.json index f7cebfa9c1..ec6b5bd069 100644 --- a/frontend/micro-ui/web/works/package.json +++ b/frontend/micro-ui/web/works/package.json @@ -16,7 +16,7 @@ "homepage": "/core-ui", "dependencies": { "@egovernments/digit-ui-libraries": "1.5.0", - "@egovernments/digit-ui-module-core": "1.8.2-beta.18", + "@egovernments/digit-ui-module-core": "1.8.2-beta.19", "@egovernments/digit-ui-react-components": "1.5.12", "@egovernments/digit-ui-module-hrms": "1.5.5-alpha.4", "@egovernments/digit-ui-module-works": "^0.0.9", From 13fe86c19604003e67f9ab3cc6ab58bcdf84a500 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 3 Oct 2024 12:14:33 +0530 Subject: [PATCH 253/292] UCEM-908 : Updated the param to include measure summary in the measurelineitems of measurement table --- .../modules/Measurement/src/components/MeasureRow.js | 11 +++++++---- .../Measurement/src/components/MeasureTable.js | 1 + .../Measurement/src/utils/transformEstimateData.js | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureRow.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureRow.js index 1e82a97e5e..979f101f6f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureRow.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureRow.js @@ -43,13 +43,13 @@ const MeasureInputAtom = ({ id, row, mode, disable = false, fieldKey, value, dis return( 0 && value)} + value={fieldKey === "description" || fieldKey === "measureSummary" ? value : (value > 0 && value)} //value={value} style={mode === "CREATE" || mode === "VIEW" ? {marginBottom:"0px"}: {}} - type={fieldKey == "description" ? "text" : "number"} + type={fieldKey == "description" || fieldKey === "measureSummary" ? "text" : "number"} onChange={(newValue) => { //newValue.target.value = fieldKey == "description" ? newValue?.target?.value : limitDecimalDigits(newValue.target.value); - if(fieldKey === "description" || ((newValue?.target?.value && parseFloat(newValue?.target?.value) >= 0) || newValue?.target?.value === "" || newValue?.target?.value === null)){ + if(fieldKey === "description" || fieldKey === "measureSummary" || ((newValue?.target?.value && parseFloat(newValue?.target?.value) >= 0) || newValue?.target?.value === "" || newValue?.target?.value === null)){ let updatedMeasureLineItems = [] if(mode === "CREATE"){ updatedMeasureLineItems = row?.additionalDetails?.measureLineItems?.length > 0 ? [...row?.additionalDetails?.measureLineItems] : []; @@ -129,6 +129,7 @@ const MeasureRow = ({ value, index, rowState, dispatch, mode, fields }) => { measureLineItems: [ ...value?.additionalDetails?.measureLineItems, { + measureSummary: null, number : 0, length: 0, width: 0, @@ -171,7 +172,7 @@ const MeasureRow = ({ value, index, rowState, dispatch, mode, fields }) => { /> )} - + {(mode === "CREATE" || mode === "VIEW") && 0 ? firstMeasurelineitem?.["measureSummary"] : rowState?.["measureSummary"]} mode={mode} measurelineitemNo={firstMeasurelineitem?.measurelineitemNo} style={mode === "CREATE" || mode === "VIEW" ? {verticalAlign:"top"}:{}} />} 0 ? firstMeasurelineitem?.["number"] : rowState?.["number"]} mode={mode} InputDecimalValidation={InputDecimalValidation} measurelineitemNo={firstMeasurelineitem?.measurelineitemNo} style={mode === "CREATE" || mode === "VIEW" ? {verticalAlign:"top"}:{}} /> 0 ? firstMeasurelineitem?.["length"] : rowState?.["length"]} mode={mode} InputDecimalValidation={InputDecimalValidation} measurelineitemNo={firstMeasurelineitem?.measurelineitemNo} style={mode === "CREATE" || mode === "VIEW" ? {verticalAlign:"top"}:{}}/> 0 ? firstMeasurelineitem?.["width"] : rowState?.["width"]} mode={mode} InputDecimalValidation={InputDecimalValidation} measurelineitemNo={firstMeasurelineitem?.measurelineitemNo} style={mode === "CREATE" || mode === "VIEW" ? {verticalAlign:"top"}:{}} /> @@ -221,6 +222,7 @@ const MeasureRow = ({ value, index, rowState, dispatch, mode, fields }) => { measureLineItems: [ ...value?.additionalDetails?.measureLineItems, { + measureSummary:null, number : 0, length: 0, width: 0, @@ -236,6 +238,7 @@ const MeasureRow = ({ value, index, rowState, dispatch, mode, fields }) => { )} } {idx === (value?.additionalDetails?.measureLineItems?.length - 1) && mode === "VIEW" && } + {(mode === "CREATE" || mode === "VIEW") && } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js index c83d6dfd7d..ad541a02cf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js @@ -246,6 +246,7 @@ const MeasureTable = (props) => { t("WORKS_SNO"), t("MB_IS_DEDUCTION"), t("MB_DESCRIPTION"), + t("MB_MEASURE_SUMMARY"), t("MB_ONLY_NUMBER"), t("MB_LENGTH"), t("MB_WIDTH"), diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/transformEstimateData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/transformEstimateData.js index c7f7b1ce11..bd654bdf4b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/transformEstimateData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/transformEstimateData.js @@ -49,7 +49,7 @@ export const transformEstimateData = (lineItems, contract, type, measurement = { number: isMeasurementCreate ? 0 : (measuredObject?.numItems || 0), noOfunit: isMeasurementCreate ? 0 : (measuredObject?.currentValue || 0), rowAmount: isMeasurementCreate ? 0 : (measuredObject?.additionalDetails?.mbAmount || 0), - additionalDetails: {...measuredObject?.additionalDetails, measureLineItems : measuredObject?.additionalDetails?.measureLineItems?.length > 0 && !(window.location.href.includes("measurement/create")) ? measuredObject?.additionalDetails?.measureLineItems : [{number:0,width:0,length:0,height:0, quantity:0, measurelineitemNo:0}]}, + additionalDetails: {...measuredObject?.additionalDetails, measureLineItems : measuredObject?.additionalDetails?.measureLineItems?.length > 0 && !(window.location.href.includes("measurement/create")) ? measuredObject?.additionalDetails?.measureLineItems : [{number:0,width:0,length:0,height:0, quantity:0,measureSummary:null, measurelineitemNo:0}]}, consumedRowQuantity: window.location.href.includes("/measurement/update") || (window.location.href.includes("/measurement/view"))? lastApprovedMeasurementObject?.lineItemsObject?.[transformedContract?.lineItemsObject?.[estimate?.id]?.contractLineItemId]?.cumulativeValue : transformMeasurementData?.lineItemsObject?.[transformedContract?.lineItemsObject?.[estimate?.id]?.contractLineItemId]?.cumulativeValue || 0, }) }); From b271405a3a03fbe9433a36efee8d17a35c593524 Mon Sep 17 00:00:00 2001 From: kams Date: Thu, 3 Oct 2024 13:48:48 +0530 Subject: [PATCH 254/292] changed stickyfooter row to array of objects --- .../micro-ui-internals/example/package.json | 2 +- .../src/hooks/paymentTrackerReport.js | 33 +++++++++++-------- .../packages/react-components/package.json | 9 +++-- .../react-components/src/atoms/Table.js | 14 ++++---- frontend/micro-ui/web/package.json | 2 +- 5 files changed, 33 insertions(+), 27 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index 37fd0fce9e..3212096857 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -9,7 +9,7 @@ "start": "react-scripts start" }, "devDependencies": { - "@egovernments/digit-ui-react-components": "1.5.12", + "@egovernments/digit-ui-react-components": "1.5.13", "@egovernments/digit-ui-components": "0.0.2-beta.40", "@egovernments/digit-ui-libraries": "1.5.1", "@egovernments/digit-ui-module-core": "1.8.2-beta.10", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js index a81592fc50..5b315df028 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js @@ -44,20 +44,27 @@ export const paymentTrackerReport = (props) => { project : /*projectDetails?.items?.filter((pj) => pj?.businessObject?.projectNumber === ob?.projectNumber)?.[0] */ projectDetails?.items?.[0] } }) - data.stickyFooterRow = Array(9).fill(0); - data.stickyFooterRow[0] = ''; - data.stickyFooterRow[1] = 'Grand Total'; - data?.aggsResponse?.projects?.map((ob, index) => { - data.stickyFooterRow[2] += ob?.estimatedAmount - data.stickyFooterRow[3] += ob?.wagebillsuccess - data.stickyFooterRow[4] += ob?.wagebillFailed - data.stickyFooterRow[5] += ob?.purchasebillSuccess - data.stickyFooterRow[6] += ob?.purchasebillFailed - data.stickyFooterRow[7] += ob?.supervisionbillSuccess - data.stickyFooterRow[8] += ob?.supervisionbillFailed + data.stickyFooterRow = [ + {'name': '', 'value':''}, + {'name': 'total', 'value': t('Grand Total')}, + {'name': 'estimatedAmount', 'value': 0}, + {'name': 'wagebillsuccess', 'value': 0}, + {'name': 'wagebillFailed', 'value': 0}, + {'name': 'purchasebillSuccess', 'value': 0}, + {'name': 'purchasebillFailed', 'value': 0}, + {'name': 'supervisionbillSuccess', 'value': 0}, + {'name': 'supervisionbillFailed', 'value': 0} + ] + + data?.aggsResponse?.projects?.forEach((ob, index) => { + data.stickyFooterRow.forEach((row, index) => { + if(index > 1 && typeof ob?.[row.name] === 'number') { + data.stickyFooterRow[index].value += ob?.[row.name] || 0; + } + }) }) - for (let i = 2; i < 9; i++) { - data.stickyFooterRow[i] = Amount({ value: data.stickyFooterRow[i], rupeeSymbol: true, t: t }); + for (let i = 2; i < data.stickyFooterRow.length; i++) { + data.stickyFooterRow[i].value = Amount({ value: data.stickyFooterRow[i].value, rupeeSymbol: true, t: t }); } } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json index 3201001185..f9a8d944fd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-react-components", - "version": "1.5.12", + "version": "1.5.13", "license": "MIT", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -24,18 +24,17 @@ "react-router-dom": "5.3.0" }, "devDependencies": { - "babel-eslint": "10.1.0", "cross-env": "7.0.3", "gh-pages": "2.2.0", "husky": "7.0.4", "lint-staged": "12.3.7", - "microbundle-crl": "0.13.11", + "microbundle-crl": "0.13.11", "react": "17.0.2", "react-dom": "17.0.2", - "react-router-dom": "5.3.0", + "react-router-dom": "5.3.0", "react-scripts": "^4.0.1", - "react-responsive":"9.0.2" + "react-responsive": "9.0.2" }, "files": [ "dist" diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/Table.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/Table.js index cd0ce16e08..cc6eb13b95 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/Table.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/Table.js @@ -213,13 +213,13 @@ const Table = ({ })} {stickyFooter && ( - - {stickyFooter?.map((amount, index) => ( - - {amount} - - ))} - + + {stickyFooter?.map(el => ( + + {el?.value} + + ))} + )} diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index 70feae9ad9..fc1c600f92 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -16,7 +16,7 @@ ], "homepage": "/mukta-works-ui", "dependencies": { - "@egovernments/digit-ui-react-components": "1.5.12", + "@egovernments/digit-ui-react-components": "1.5.13", "@egovernments/digit-ui-libraries": "1.5.1", "@egovernments/digit-ui-components": "0.0.2-beta.40", "@egovernments/digit-ui-module-core": "1.8.2-beta.10", From 744c95f4d4c754e36b80952d74e789777d5e9571 Mon Sep 17 00:00:00 2001 From: kams Date: Thu, 3 Oct 2024 17:28:50 +0530 Subject: [PATCH 255/292] integrated api endpoints --- .../Mukta/src/configs/UICustomizations.js | 2 +- .../libraries/src/services/atoms/urls.js | 21 ++++--- .../src/components/PaymentTrackerTable.js | 8 +-- .../configs/ViewScheduledJobsExcelConfig.js | 2 +- .../src/configs/paymentTrackerViewConfig.js | 4 +- .../pages/employee/paymentTrackerSearch.js | 60 ++++++++++++------- .../src/pages/employee/paymentTrackerView.js | 4 +- 7 files changed, 59 insertions(+), 42 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js index 8012c09fcb..983787e810 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js @@ -3092,7 +3092,7 @@ export const UICustomizations = { //const billType = getBillType(row?.businessService); return ( - + , + > ]} setactionFieldsToRight={true} className={"new-actionbar"} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/createEstimateConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/createEstimateConfig.js index 556dbaa5ad..35d9d1772d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/createEstimateConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/createEstimateConfig.js @@ -123,13 +123,19 @@ export const createEstimateConfig = () => { { "head": "", "subHead": "", + "sectionClassName":"viewstatement-viewamount-wrapper-create", "navLink": "Work Details", "body": [ { "type": "component", "component": "TotalEstAmount", "withoutLabel": true, - "key": "totalEstimatedAmount" + "key": "totalEstimatedAmount", + "props":{ + style:{ + marginTop:"0px" + } + } }, { "type": "component", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json index 1e8f0d6aed..009bd2ab6c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-masters", - "version": "0.4.11", + "version": "0.4.12", "description": "Masters Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ViewWageSeeker.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ViewWageSeeker.js index b768ff0011..20f30ffb6b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ViewWageSeeker.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ViewWageSeeker.js @@ -3,7 +3,7 @@ import { useTranslation } from "react-i18next"; import { useHistory, useLocation } from 'react-router-dom'; import { Header, SubmitBar } from '@egovernments/digit-ui-react-components'; import ApplicationDetails from '../../../../../templates/ApplicationDetails'; -import { Toast,ActionBar } from '@egovernments/digit-ui-components'; +import { Toast,ActionBar,Button } from '@egovernments/digit-ui-components'; const ViewWageSeeker = () => { const { t } = useTranslation() diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json index 6a1886d888..bcf9688de0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-measurement", - "version": "0.2.7", + "version": "0.2.8", "description": "Measurement Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureCard.js index 9ebff1e74e..284078daaf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureCard.js @@ -1,4 +1,5 @@ -import { Button, CardLabelError, CardSectionHeader, CloseSvg } from "@egovernments/digit-ui-react-components"; +import { CardLabelError, CardSectionHeader, CloseSvg } from "@egovernments/digit-ui-react-components"; +import { Button } from "@egovernments/digit-ui-components"; import React, { useReducer, Fragment, useState } from "react"; import { useTranslation } from "react-i18next"; import MeasureRow from "./MeasureRow"; @@ -231,8 +232,9 @@ const MeasureCard = React.memo(({ columns, fields = [], register, setValue, tabl {(mode == "CREATEALL" || mode == "CREATERE") && (
{showToast?.show && ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json index 9ec929a503..b609ee8202 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-expenditure", - "version": "0.4.6", + "version": "0.4.7", "description": "Expenditure Management Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.43", + "@egovernments/digit-ui-components": "0.0.2-beta.44", "lodash": "^4.17.21", "react": "17.0.2", "react-date-range": "^1.4.0", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json index e5635e4bc6..c211aa94b3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-masters", - "version": "0.4.13", + "version": "0.4.14", "description": "Masters Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.43", + "@egovernments/digit-ui-components": "0.0.2-beta.44", "lodash": "^4.17.21", "react": "17.0.2", "react-date-range": "^1.4.0", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json index bcf9688de0..0642ab6413 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-measurement", - "version": "0.2.8", + "version": "0.2.9", "description": "Measurement Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.43", + "@egovernments/digit-ui-components": "0.0.2-beta.44", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js index ad541a02cf..07132f378c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js @@ -336,7 +336,8 @@ const MeasureTable = (props) => { fontSize: "medium", bottom : "100%", overflow : "auto", - + left:"100%", + marginLeft:"0px" }}> {row.description} } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/ViewOnlyCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/ViewOnlyCard.js index 3d36ae81bc..1788ed8fac 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/ViewOnlyCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/ViewOnlyCard.js @@ -16,7 +16,7 @@ const ViewOnlyCard = (props) => { SOR?.reduce((acc, item) => acc + parseFloat(item?.amount), 0) + NONSOR?.reduce((acc, item) => acc + parseFloat(item?.amount), 0) || 0; return ( -
+
{/* {t("MB_AMOUNT_TOTAL")} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js index 750a224112..e558b04e22 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js @@ -197,6 +197,7 @@ export const CreateConfig = ({ defaultValue, measurement, mbnumber }) => { { head: "", subHead: "", + sectionClassName:"viewstatement-viewamount-wrapper-create", body: [ { type: "component", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json index 744f56105e..0a16680bb3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-project", - "version": "0.4.9", + "version": "0.4.10", "description": "Project Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.43", + "@egovernments/digit-ui-components": "0.0.2-beta.44", "lodash": "^4.17.21", "react": "17.0.2", "react-date-range": "^1.4.0", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json index ea2cf0d036..3940ba468b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-rate-analysis", - "version": "0.4.6", + "version": "0.4.7", "description": "Rate Analysis Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.43", + "@egovernments/digit-ui-components": "0.0.2-beta.44", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json index 5069dc3952..463e16d169 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-works", - "version": "0.0.19", + "version": "0.0.20", "description": "Works", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.43", + "@egovernments/digit-ui-components": "0.0.2-beta.44", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json index 1068eb6743..cf0705fcbd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json @@ -42,7 +42,7 @@ ], "dependencies": { "@googlemaps/js-api-loader": "1.13.10", - "@egovernments/digit-ui-components": "0.0.2-beta.43", + "@egovernments/digit-ui-components": "0.0.2-beta.44", "lodash": "^4.17.21", "react-date-range": "1.3.0", "react-hook-form": "6.15.8", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/WorkflowActions.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/WorkflowActions.js index b99c99bd27..b9e9eb8bcd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/WorkflowActions.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/WorkflowActions.js @@ -1,12 +1,13 @@ import React, { useEffect, useRef,useState } from "react"; import { useTranslation } from "react-i18next"; import SubmitBar from "./SubmitBar"; -import ActionBar from "./ActionBar"; +// import ActionBar from "./ActionBar"; import Menu from "./Menu"; import ActionModal from "./Modals"; import { Loader } from "./Loader"; -import Toast from "./Toast"; +// import Toast from "./Toast"; import { useHistory } from "react-router-dom"; +import { Toast, ActionBar,Button } from "@egovernments/digit-ui-components"; const WorkflowActions = ({ businessService, tenantId, applicationNo, forcedActionPrefix, ActionBarStyle = {}, MenuStyle = {}, applicationDetails, url, setStateChanged, moduleCode,editApplicationNumber,editCallback ,callback, WorflowValidation, fullData}) => { const history = useHistory() @@ -77,7 +78,7 @@ const WorkflowActions = ({ businessService, tenantId, applicationNo, forcedActio const closeModal = () => { setSelectedAction(null); setShowModal(false); - setShowToast({ warning:true,label:`WF_ACTION_CANCELLED`}) + setShowToast({ type:"warning",label:`WF_ACTION_CANCELLED`}) closeToast() }; @@ -144,7 +145,7 @@ const WorkflowActions = ({ businessService, tenantId, applicationNo, forcedActio onError:(error,variables)=>{ setIsEnableLoader(false) //show error toast acc to selectAction - setShowToast({ error: true, label: Digit.Utils.locale.getTransformedLocale(`WF_UPDATE_ERROR_${businessService}_${selectAction.action}`), isDleteBtn:true }) + setShowToast({ type:"error", label: Digit.Utils.locale.getTransformedLocale(`WF_UPDATE_ERROR_${businessService}_${selectAction.action}`), isDleteBtn:true }) callback?.onError?.(); @@ -174,54 +175,97 @@ const WorkflowActions = ({ businessService, tenantId, applicationNo, forcedActio return ( {!workflowDetails?.isLoading && isMenuBotton && !isSingleButton && ( - - {displayMenu && (workflowDetails?.data?.actionState?.nextActions || workflowDetails?.data?.nextActions) ? ( - + // {displayMenu && (workflowDetails?.data?.actionState?.nextActions || workflowDetails?.data?.nextActions) ? ( + // + // ) : null} + // setDisplayMenu(!displayMenu)} /> + // + - ) : null} - setDisplayMenu(!displayMenu)} /> - + type={workflowDetails?.data?.actionState?.nextActions || workflowDetails?.data?.nextActions ? "actionButton" : "submit"} + options={actions} + label={t("WORKS_ACTIONS")} + variation={"primary"} + optionsKey={"action"} + isSearchable={false} + onOptionSelect={(option) => { + onActionSelect(option); + }} + menuStyles={MenuStyle} + >, + ]} + setactionFieldsToRight={true} + className={"new-actionbar"} + /> )} - {!workflowDetails?.isLoading && !isMenuBotton && isSingleButton && ( - - - + { !workflowDetails?.isLoading && !isMenuBotton && isSingleButton && ( + // + // + // + { + onActionSelect(actions?.[0] || {}); + }} + >, + ]} + setactionFieldsToRight={true} + className={"new-actionbar"} + /> + )} + {showModal && ( + + )} + {showToast && ( + { + setShowToast(null); + }} + isDleteBtn={showToast?.isDleteBtn} + /> )} - - {showModal && } - {showToast && { - setShowToast(null); - }} - isDleteBtn={showToast?.isDleteBtn} - />} ); } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js index 2e964263bf..b759e49394 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js @@ -895,7 +895,7 @@ export const FormComposer = (props) => { props?.config?.map((section, index, array) => { return ( !section.navLink && ( - + {renderFormFields(props, section, index, array)} ) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/RenderFormFields.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/RenderFormFields.js index 8973b347b7..6cbd58cb72 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/RenderFormFields.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/RenderFormFields.js @@ -279,7 +279,7 @@ const RenderFormFields = ({data,...props}) => { rules={{ required: populators?.isMandatory }} render={(props) => { return ( -
+
); diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index 3e41553adb..256f5e870f 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -18,19 +18,19 @@ "dependencies": { "@egovernments/digit-ui-react-components": "1.5.12", "@egovernments/digit-ui-libraries": "1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.43", - "@egovernments/digit-ui-module-core": "1.8.2-beta.19", + "@egovernments/digit-ui-components": "0.0.2-beta.44", + "@egovernments/digit-ui-module-core": "1.8.2-beta.20", "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", - "@egovernments/digit-ui-module-attendencemgmt": "0.4.9", - "@egovernments/digit-ui-module-contracts": "0.4.8", - "@egovernments/digit-ui-module-measurement":"0.2.8", - "@egovernments/digit-ui-module-estimate": "0.4.14", - "@egovernments/digit-ui-module-masters": "0.4.13", - "@egovernments/digit-ui-module-project": "0.4.9", - "@egovernments/digit-ui-module-expenditure": "0.4.6", - "@egovernments/digit-ui-customisation-mukta": "0.2.6", - "@egovernments/digit-ui-module-rate-analysis": "0.4.6", + "@egovernments/digit-ui-module-attendencemgmt": "0.4.10", + "@egovernments/digit-ui-module-contracts": "0.4.9", + "@egovernments/digit-ui-module-measurement":"0.2.9", + "@egovernments/digit-ui-module-estimate": "0.4.15", + "@egovernments/digit-ui-module-masters": "0.4.14", + "@egovernments/digit-ui-module-project": "0.4.10", + "@egovernments/digit-ui-module-expenditure": "0.4.7", + "@egovernments/digit-ui-customisation-mukta": "0.2.7", + "@egovernments/digit-ui-module-rate-analysis": "0.4.7", "babel-loader": "8.1.0", "clean-webpack-plugin": "4.0.0", "react": "17.0.2", diff --git a/frontend/micro-ui/web/public/index.html b/frontend/micro-ui/web/public/index.html index 6d95a1baf5..19696d4aba 100644 --- a/frontend/micro-ui/web/public/index.html +++ b/frontend/micro-ui/web/public/index.html @@ -8,8 +8,8 @@ href="https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@400;500;700&family=Roboto:wght@400;500;700&display=swap" rel='stylesheet' type='text/css'> - - + + diff --git a/frontend/micro-ui/web/works/package.json b/frontend/micro-ui/web/works/package.json index ec6b5bd069..998980f1b0 100644 --- a/frontend/micro-ui/web/works/package.json +++ b/frontend/micro-ui/web/works/package.json @@ -16,7 +16,7 @@ "homepage": "/core-ui", "dependencies": { "@egovernments/digit-ui-libraries": "1.5.0", - "@egovernments/digit-ui-module-core": "1.8.2-beta.19", + "@egovernments/digit-ui-module-core": "1.8.2-beta.20", "@egovernments/digit-ui-react-components": "1.5.12", "@egovernments/digit-ui-module-hrms": "1.5.5-alpha.4", "@egovernments/digit-ui-module-works": "^0.0.9", From 49bd7ca3207255d7d3b43afeaae42b08c68d7e25 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 8 Oct 2024 10:26:06 +0530 Subject: [PATCH 260/292] reverted package change --- .../web/micro-ui-internals/package.json | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/package.json b/frontend/micro-ui/web/micro-ui-internals/package.json index 69af5af0de..cdf78b5bc8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/package.json @@ -4,15 +4,10 @@ "main": "index.js", "workspaces": [ "packages/libraries", - "example", - "packages/css", "packages/react-components", - "packages/modules/*", "packages/modules/Estimate", - "packages/modules/Project", - "packages/modules/Expenditure", - "packages/Mukta", - "packages/modules/RateAnalysis" + "packages/modules/RateAnalysis", + "packages/Mukta" ], "author": "JaganKumar ", "license": "MIT", @@ -44,15 +39,15 @@ "buildD": "run-p buildD:**", "build:libraries": "cd packages/libraries && yarn build", "build:components": "cd packages/react-components && yarn build", - "build:attendencemgmt": "cd packages/modules/AttendenceMgmt && yarn build", - "build:contracts": "cd packages/modules/Contracts && yarn build", - "build:masters": "cd packages/modules/Masters && yarn build", + "buildD:attendencemgmt": "cd packages/modules/AttendenceMgmt && yarn build", + "buildD:contracts": "cd packages/modules/Contracts && yarn build", + "buildD:masters": "cd packages/modules/Masters && yarn build", "build:estimate": "cd packages/modules/Estimate && yarn build", - "build:measurement": "cd packages/modules/Measurement && yarn build", + "buildD:measurement": "cd packages/modules/Measurement && yarn build", "build:mukta": "cd packages/Mukta && yarn build", - "build:project": "cd packages/modules/Project && yarn build", + "buildD:project": "cd packages/modules/Project && yarn build", "buildD:works": "cd packages/modules/works && yarn build", - "build:expenditure": "cd packages/modules/Expenditure && yarn build", + "buildD:expenditure": "cd packages/modules/Expenditure && yarn build", "build:rateAnalysis":"cd packages/modules/RateAnalysis && yarn build", "deploy:jenkins": "./scripts/jenkins.sh", "clean": "rm -rf node_modules" From fca3f52c57a32db8f0386522a90e91682f8bfaf0 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 8 Oct 2024 12:57:13 +0530 Subject: [PATCH 261/292] fixed viewonlycard issue --- .../micro-ui/web/micro-ui-internals/example/package.json | 4 ++-- .../packages/modules/Expenditure/package.json | 2 +- .../src/configs/createPurchaseBillConfigMUKTA.json | 3 ++- .../packages/modules/Measurement/package.json | 2 +- .../modules/Measurement/src/components/ViewOnlyCard.js | 2 +- .../packages/react-components/src/hoc/FormComposer.js | 5 +++++ frontend/micro-ui/web/package.json | 4 ++-- 7 files changed, 14 insertions(+), 8 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index 798b2e27b2..a5e9ce1cc2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -17,11 +17,11 @@ "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-module-attendencemgmt": "0.4.10", "@egovernments/digit-ui-module-contracts": "0.4.9", - "@egovernments/digit-ui-module-measurement":"0.2.9", + "@egovernments/digit-ui-module-measurement":"0.2.10", "@egovernments/digit-ui-module-estimate": "0.4.15", "@egovernments/digit-ui-module-masters": "0.4.14", "@egovernments/digit-ui-module-project": "0.4.10", - "@egovernments/digit-ui-module-expenditure": "0.4.7", + "@egovernments/digit-ui-module-expenditure": "0.4.8", "@egovernments/digit-ui-customisation-mukta": "0.2.7", "@egovernments/digit-ui-module-rate-analysis": "0.4.7", "http-proxy-middleware": "^1.0.5", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json index b609ee8202..b938bc0c71 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-expenditure", - "version": "0.4.7", + "version": "0.4.8", "description": "Expenditure Management Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/createPurchaseBillConfigMUKTA.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/createPurchaseBillConfigMUKTA.json index 19fcd4bd91..13e0aa0e06 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/createPurchaseBillConfigMUKTA.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/createPurchaseBillConfigMUKTA.json @@ -223,11 +223,12 @@ "isMandatory": true, "key": "billDetails_billDate", "type": "date", - "disable": true, + "disable": false, "preProcess" : { "updateDependent" : ["populators.max"] }, "populators": { + "nonEditable": true, "name": "billDetails_billDate", "error": "WORKS_REQUIRED_ERR", "max" : "currentDate" diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json index 0642ab6413..8b77ef5caa 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-measurement", - "version": "0.2.9", + "version": "0.2.10", "description": "Measurement Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/ViewOnlyCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/ViewOnlyCard.js index 1788ed8fac..01a900e2dc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/ViewOnlyCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/ViewOnlyCard.js @@ -16,7 +16,7 @@ const ViewOnlyCard = (props) => { SOR?.reduce((acc, item) => acc + parseFloat(item?.amount), 0) + NONSOR?.reduce((acc, item) => acc + parseFloat(item?.amount), 0) || 0; return ( -
+
{/* {t("MB_AMOUNT_TOTAL")} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js index b759e49394..6b2ffe187a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js @@ -161,6 +161,10 @@ export const FormComposer = (props) => { case "number": case "password": case "time": + case "geolocation": + case "search": + case "number": + case "numeric": // if (populators.defaultValue) setTimeout(setValue(populators?.name, populators.defaultValue)); return (
@@ -180,6 +184,7 @@ export const FormComposer = (props) => { max={populators?.validation?.max} min={populators?.validation?.min} disabled={disable} + nonEditable={populators?.nonEditable} // style={type === "date" ? { paddingRight: "3px" } : ""} maxlength={populators?.validation?.maxlength} minlength={populators?.validation?.minlength} diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index 256f5e870f..c9aae6bca0 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -24,11 +24,11 @@ "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-module-attendencemgmt": "0.4.10", "@egovernments/digit-ui-module-contracts": "0.4.9", - "@egovernments/digit-ui-module-measurement":"0.2.9", + "@egovernments/digit-ui-module-measurement":"0.2.10", "@egovernments/digit-ui-module-estimate": "0.4.15", "@egovernments/digit-ui-module-masters": "0.4.14", "@egovernments/digit-ui-module-project": "0.4.10", - "@egovernments/digit-ui-module-expenditure": "0.4.7", + "@egovernments/digit-ui-module-expenditure": "0.4.8", "@egovernments/digit-ui-customisation-mukta": "0.2.7", "@egovernments/digit-ui-module-rate-analysis": "0.4.7", "babel-loader": "8.1.0", From 93b6d9f0e89a8689a1716a4ee3c9f640ec2aed13 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 8 Oct 2024 14:06:13 +0530 Subject: [PATCH 262/292] label color fix --- .../web/micro-ui-internals/example/package.json | 4 ++-- .../packages/modules/Contracts/package.json | 2 +- .../TimeExtension/CreateTimeExtension.js | 14 +++++++------- .../packages/modules/RateAnalysis/package.json | 2 +- .../src/components/SORDetailsTemplate.js | 2 +- frontend/micro-ui/web/package.json | 4 ++-- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index a5e9ce1cc2..743b43fa7f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -16,14 +16,14 @@ "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-module-attendencemgmt": "0.4.10", - "@egovernments/digit-ui-module-contracts": "0.4.9", + "@egovernments/digit-ui-module-contracts": "0.4.10", "@egovernments/digit-ui-module-measurement":"0.2.10", "@egovernments/digit-ui-module-estimate": "0.4.15", "@egovernments/digit-ui-module-masters": "0.4.14", "@egovernments/digit-ui-module-project": "0.4.10", "@egovernments/digit-ui-module-expenditure": "0.4.8", "@egovernments/digit-ui-customisation-mukta": "0.2.7", - "@egovernments/digit-ui-module-rate-analysis": "0.4.7", + "@egovernments/digit-ui-module-rate-analysis": "0.4.8", "http-proxy-middleware": "^1.0.5", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json index 5d6726f58d..f2be2aaeff 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-contracts", - "version": "0.4.9", + "version": "0.4.10", "description": "Contracts Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/CreateTimeExtension.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/CreateTimeExtension.js index 1db4241c9b..e237fdfb43 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/CreateTimeExtension.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/CreateTimeExtension.js @@ -1,10 +1,10 @@ import React, { Fragment, useState, useEffect } from "react"; -import { Loader, SubmitBar, WorkflowModal, CardLabel,TextInput } from "@egovernments/digit-ui-react-components"; +import { Loader, SubmitBar, WorkflowModal, CardLabel} from "@egovernments/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import ApplicationDetails from "../../../../templates/ApplicationDetails"; import getModalConfig from "./modalConfig"; import { useHistory } from "react-router-dom"; -import {Toast,ActionBar,Button} from '@egovernments/digit-ui-components' +import {Toast,ActionBar,Button,TextInput} from '@egovernments/digit-ui-components' const CreateTimeExtension = ({isEdit,revisedWONumber,...props}) => { const history = useHistory() @@ -129,10 +129,10 @@ const CreateTimeExtension = ({isEdit,revisedWONumber,...props}) => {
- {`${t(`EXTENSION_REQ`)}*`} + {`${t(`EXTENSION_REQ`)}*`} setExtensionRequested(e.target.value)} ValidationRequired={true} validation={{ type: "number" }} @@ -143,10 +143,10 @@ const CreateTimeExtension = ({isEdit,revisedWONumber,...props}) => { />
- {`${t(`EXTENSION_REASON`)}*`} + {`${t(`EXTENSION_REASON`)}*`} setReasonForExtension(e.target.value)} defaultValue={isEdit ? contractObject?.additionalDetails?.timeExtReason : null} /> diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json index 3940ba468b..5956357f72 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-rate-analysis", - "version": "0.4.7", + "version": "0.4.8", "description": "Rate Analysis Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js index d21ea52d91..b35ec7c077 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js @@ -213,7 +213,7 @@ const SORDetailsTemplate = (props) => { } >
- {t(`RA_${props?.config?.sorType}_HEADER`)} + {t(`RA_${props?.config?.sorType}_HEADER`)} {pageType !== "VIEW" && (
Date: Tue, 8 Oct 2024 14:30:06 +0530 Subject: [PATCH 263/292] updated actionmenu display name --- .../src/pages/employee/ViewDetailedEstimate.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewDetailedEstimate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewDetailedEstimate.js index 4d6e365636..ef14a674c8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewDetailedEstimate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewDetailedEstimate.js @@ -87,7 +87,8 @@ const ViewDetailedEstimate = () => { setActionsMenu((prevState) => [ ...prevState, { - name: "EST_VIEW_ACTIONS_CREATE_CONTRACT", + name:"CREATE_CONTRACT", + displayName:"EST_VIEW_ACTIONS_CREATE_CONTRACT", }, ]); } @@ -98,7 +99,8 @@ const ViewDetailedEstimate = () => { setActionsMenu((prevState) => [ ...prevState, { - name: "EST_VIEW_ACTIONS_VIEW_CONTRACT", + name:"VIEW_CONTRACT", + displayName: "EST_VIEW_ACTIONS_VIEW_CONTRACT", }, ]); } @@ -111,7 +113,8 @@ const ViewDetailedEstimate = () => { setActionsMenu((prevState) => [ ...prevState, { - name: "EST_VIEW_ACTIONS_CREATE_REVISION_ESTIMATE", + name: "CREATE_REVISION_ESTIMATE", + displayName: "EST_VIEW_ACTIONS_CREATE_REVISION_ESTIMATE", }, ]); } @@ -128,15 +131,15 @@ const ViewDetailedEstimate = () => { setToast({typa: validationData?.error ? "error" : "", label: validationData?.label, show:true}) return; } - if (option?.name === "EST_VIEW_ACTIONS_CREATE_CONTRACT") { + if (option?.name === "CREATE_CONTRACT") { history.push(`/${window.contextPath}/employee/contracts/create-contract?tenantId=${tenantId}&estimateNumber=${estimateNumber}`); } - if (option?.name === "EST_VIEW_ACTIONS_VIEW_CONTRACT") { + if (option?.name === "VIEW_CONTRACT") { history.push( `/${window.contextPath}/employee/contracts/contract-details?tenantId=${tenantId}&workOrderNumber=${inWorkflowContract?.contractNumber}` ); } - if (option?.name === "EST_VIEW_ACTIONS_CREATE_REVISION_ESTIMATE") { + if (option?.name === "CREATE_REVISION_ESTIMATE") { history.push( `/${window.contextPath}/employee/estimate/create-revision-detailed-estimate?tenantId=${tenantId}&projectNumber=${project?.projectNumber}&estimateNumber=${estimateNumber}&isCreateRevisionEstimate=true` ); @@ -207,7 +210,7 @@ const ViewDetailedEstimate = () => { options={actionsMenu} label={t("WORKS_ACTIONS")} variation={"primary"} - optionsKey={"name"} + optionsKey={"displayName"} isSearchable={false} onOptionSelect={(option) => { handleActionBar(option); From 59dc0dc32ebb8c230ff8a32bae0d59caa80f2d7e Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 8 Oct 2024 15:00:44 +0530 Subject: [PATCH 264/292] updated displayName --- .../Estimate/src/components/ViewEstimateComponent.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewEstimateComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewEstimateComponent.js index 249d8bd431..ca01800593 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewEstimateComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewEstimateComponent.js @@ -49,7 +49,8 @@ const ViewEstimateComponent = ({editApplicationNumber,...props}) => { let isUserContractCreator = loggedInUserRoles?.includes("WORK_ORDER_CREATOR"); if (applicationDetails?.applicationData?.wfStatus === "APPROVED" && isUserContractCreator && !(actionsMenu?.find((ob) => ob?.name === "CREATE_CONTRACT"))){ setActionsMenu((prevState => [...prevState,{ - name:"EST_VIEW_ACTIONS_CREATE_CONTRACT" + name:"CREATE_CONTRACT", + displayNamw:"EST_VIEW_ACTIONS_CREATE_CONTRACT" }])) } //checking if any work order is inworflow, if it is then view contract will be shown otherwise create contract @@ -58,7 +59,8 @@ const ViewEstimateComponent = ({editApplicationNumber,...props}) => { //if contract is already there just remove the prevState and push View contract state if(contract?.contractNumber && isCreateContractallowed) { setActionsMenu((prevState => [{ - name: "EST_VIEW_ACTIONS_VIEW_CONTRACT" + name: "VIEW_CONTRACT", + displayNamw:"EST_VIEW_ACTIONS_VIEW_CONTRACT" }])) } }, [applicationDetails, isStateChanged,contract]) @@ -77,10 +79,10 @@ const ViewEstimateComponent = ({editApplicationNumber,...props}) => { }, [location]); const handleActionBar = (option) => { - if (option?.name === "EST_VIEW_ACTIONS_CREATE_CONTRACT") { + if (option?.name === "CREATE_CONTRACT") { history.push(`/${window.contextPath}/employee/contracts/create-contract?tenantId=${tenantId}&estimateNumber=${estimateNumber}`); } - if (option?.name === "EST_VIEW_ACTIONS_VIEW_CONTRACT") { + if (option?.name === "VIEW_CONTRACT") { history.push(`/${window.contextPath}/employee/contracts/contract-details?tenantId=${tenantId}&workOrderNumber=${inWorkflowContract?.contractNumber}`); } } @@ -127,7 +129,7 @@ const ViewEstimateComponent = ({editApplicationNumber,...props}) => { options={actionsMenu} label={t("WORKS_ACTIONS")} variation={"primary"} - optionsKey={"name"} + optionsKey={"displayName"} isSearchable={false} onOptionSelect={(option) => { handleActionBar(option); From 1cdef3065557720005abb59d00905e1b7016d5d9 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Tue, 8 Oct 2024 16:42:54 +0530 Subject: [PATCH 265/292] UCEM-765 : Updating the tenantid in mukta-ifix-adapter for api gateway issue --- .../web/micro-ui-internals/example/src/setupProxy.js | 4 +++- .../services/molecules/Expenditure/Payments/ViewPayment.js | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/src/setupProxy.js b/frontend/micro-ui/web/micro-ui-internals/example/src/setupProxy.js index 1bb4c6c725..682a238b57 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/src/setupProxy.js +++ b/frontend/micro-ui/web/micro-ui-internals/example/src/setupProxy.js @@ -42,6 +42,7 @@ module.exports = function (app) { "/egov-searcher/bill-genie/waterbills/_get", "/egov-searcher/bill-genie/seweragebills/_get", "/egov-pdf/download/UC/mcollect-challan", + "/mukta-egov-pdf/", "/mukta-egov-hrms/employees/_count", "/tl-services/v1/_create", "/tl-services/v1/_search", @@ -94,8 +95,9 @@ module.exports = function (app) { "/mdms-v2/", "/egov-idgen/", "/rate-analysis/v1/_calculate", - "mukta-ifix-adapter", + "/mukta-ifix-adapter", "/ifms-adapter", + "/boundary-service", //look here "/statements/v1/analysis/_create", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Expenditure/Payments/ViewPayment.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Expenditure/Payments/ViewPayment.js index b10ed805f9..1598b7f249 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Expenditure/Payments/ViewPayment.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Expenditure/Payments/ViewPayment.js @@ -59,7 +59,8 @@ const transformViewDataToApplicationDetails = async (t, payment, tenantId) => { //fetch all pis const piSearchPayload = { "criteria": { - payment_number:paymentNumber + payment_number:paymentNumber, + tenantId: tenantId } } const piResponse = await ExpenseService.searchPayment(piSearchPayload) @@ -356,6 +357,8 @@ const transformViewDataToApplicationDetails = async (t, payment, tenantId) => { export const ViewPayment = { fetchPayment: async (t, tenantId, data) => { try { + console.log(data); + debugger; const response = await ExpenseService.searchPA(data); return transformViewDataToApplicationDetails(t, response?.payments?.[0], tenantId); } catch (error) { From f4abfab074916830d8e815233a898dd52ccbc1f0 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Tue, 8 Oct 2024 16:44:46 +0530 Subject: [PATCH 266/292] UCEM-765: removing console and debuggers --- .../src/services/molecules/Expenditure/Payments/ViewPayment.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Expenditure/Payments/ViewPayment.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Expenditure/Payments/ViewPayment.js index 1598b7f249..1072016c48 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Expenditure/Payments/ViewPayment.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Expenditure/Payments/ViewPayment.js @@ -357,8 +357,6 @@ const transformViewDataToApplicationDetails = async (t, payment, tenantId) => { export const ViewPayment = { fetchPayment: async (t, tenantId, data) => { try { - console.log(data); - debugger; const response = await ExpenseService.searchPA(data); return transformViewDataToApplicationDetails(t, response?.payments?.[0], tenantId); } catch (error) { From 6704484c76f690ce729cbe222291c1815273bb7a Mon Sep 17 00:00:00 2001 From: kams Date: Tue, 8 Oct 2024 18:19:38 +0530 Subject: [PATCH 267/292] changed format api request --- .../Mukta/src/configs/UICustomizations.js | 49 +++++++------------ .../expenditure/useViewPaymentTracker.js | 2 +- .../src/hooks/paymentTrackerReport.js | 8 +-- .../configs/ViewScheduledJobsExcelConfig.js | 18 +++---- .../src/configs/paymentTrackerSearchConfig.js | 2 +- 5 files changed, 35 insertions(+), 44 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js index 2a8c9c4727..ee7f22cc84 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js @@ -2882,8 +2882,8 @@ export const UICustomizations = { }, ViewScheduledJobsConfig: { preProcess: (data) => { - const scheduledFrom = Digit.Utils.pt.convertDateToEpoch(data?.body?.reportSearchCriteria?.scheduleFrom); - const scheduledTo = Digit.Utils.pt.convertDateToEpoch(data.body.reportSearchCriteria?.scheduleTo); + const scheduledFrom = Digit.Utils.pt.convertDateToEpoch(data?.body?.reportSearchCriteria?.scheduledFrom); + const scheduledTo = Digit.Utils.pt.convertDateToEpoch(data.body.reportSearchCriteria?.scheduledTo); const status = data.body.reportSearchCriteria?.status?.code; data.params = { ...data.params, tenantId: Digit.ULBService.getCurrentTenantId(), includeAncestors: true }; data.body.reportSearchCriteria.tenantId = Digit.ULBService.getCurrentTenantId(); @@ -2891,8 +2891,8 @@ export const UICustomizations = { ...data.body.reportSearchCriteria, tenantId: Digit.ULBService.getCurrentTenantId(), status, - scheduleFrom:scheduledFrom, - scheduleTo:scheduledTo, + scheduledFrom:scheduledFrom, + scheduledTo:scheduledTo, }; data.body.pagination = { @@ -2912,9 +2912,6 @@ export const UICustomizations = { return false; }, additionalCustomizations: (row, key, column, value, t, searchResult) => { - //here we can add multiple conditions - //like if a cell is link then we return link - //first we can identify which column it belongs to then we can return relevant result switch (key) { case "EXP_JOB_ID": return value; @@ -2972,17 +2969,6 @@ export const UICustomizations = { excel = row.fileStoreId && (await Digit.UploadServices.Filefetch([row.fileStoreId], Digit.ULBService.getCurrentTenantId())); const excelLink = excel?.data?.fileStoreIds?.[0]?.url; downloadPdf(excelLink); - // const paySearchResponse = - // row?.paymentNumber && - // (await Digit.ExpenseService.searchPA({ - // paymentCriteria: { - // tenantId: row?.tenantId, - // paymentNumbers: [row?.paymentNumber], - // }, - // })); - // if (paySearchResponse && paySearchResponse?.payments?.[0]) { - // const payUpdateResponse = await Digit.ExpenseService.updatePayment(getUpdatePaymentPayload(paySearchResponse?.payments?.[0])); - // } } catch (error) { console.error(error, "downloaderror"); } @@ -3009,12 +2995,6 @@ export const UICustomizations = { default: return t("CS_COMMON_NA"); } - // return ( - //
- // {value === "FAILED" ? "Failed" : value === "COMPLETED" ? "Completed" : value === "IN_PROGRESS" ? "In Progress" : "Scheduled"} - //
- // ); - default: return t("ES_COMMON_NA"); } @@ -3139,11 +3119,19 @@ export const UICustomizations = { delete data.body.pagination; if(data?.state?.searchForm?.ward) data.body.searchCriteria.moduleSearchCriteria.ward = data?.state?.searchForm?.ward?.[0]?.code; - // const createdFrom = Digit.Utils.pt.convertDateToEpoch(data.body.Projects[0]?.createdFrom); - // const createdTo = Digit.Utils.pt.convertDateToEpoch(data.body.Projects[0]?.createdTo); - // data.params = { ...data.params, tenantId: Digit.ULBService.getCurrentTenantId() }; - //data.body.SearchCriteria = { ...data.body.SearchCriteria, tenantId: Digit.ULBService.getCurrentTenantId() }; + + const projectType = data?.body?.searchCriteria?.moduleSearchCriteria?.projectType?.code; + delete data.body.searchCriteria.moduleSearchCriteria.projectType; + if (projectType) data.body.searchCriteria.moduleSearchCriteria.projectType = projectType; + const projectName = data?.body?.searchCriteria?.moduleSearchCriteria?.projectName?.trim(); + if (projectName) data.body.searchCriteria.moduleSearchCriteria.projectName = projectName; + + const createdFrom = Digit.Utils.pt.convertDateToEpoch(data?.body?.searchCriteria?.moduleSearchCriteria?.createdFrom, "daystart"); + if (createdFrom) data.body.searchCriteria.moduleSearchCriteria.createdFrom = createdFrom; + const createdTo = Digit.Utils.pt.convertDateToEpoch(data?.body?.searchCriteria?.moduleSearchCriteria?.createdTo); + if (createdTo) data.body.searchCriteria.moduleSearchCriteria.createdTo = createdTo; + return data; }, postProcess: (responseArray, uiConfig) => { @@ -3156,6 +3144,7 @@ export const UICustomizations = { }, additionalCustomizations: (row, key, column, value, t, searchResult) => { if (key === "EXP_PROJECT_NUMBER") { + //const billType = getBillType(row?.businessService); return ( @@ -3174,7 +3163,7 @@ export const UICustomizations = { ); } if(key === "EXP_PROJECT_NAME") { - let currentProject = searchResult?.filter((result) => result?.id === row?.id)[0]; + let currentProject = searchResult?.filter((result) => result?.projectNumber === row?.projectNumber)[0]; return (
@@ -3182,7 +3171,7 @@ export const UICustomizations = {
{/* check condtion - if length greater than 20 */} - {"harcoded for now"} + {row?.project?.businessObject?.description}
); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/expenditure/useViewPaymentTracker.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/expenditure/useViewPaymentTracker.js index 8dcb374e25..09dfddfbc3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/expenditure/useViewPaymentTracker.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/expenditure/useViewPaymentTracker.js @@ -41,7 +41,7 @@ const useViewPaymentTracker = ({projectId, tenantId}) => { "tenantId": "pg.citya", "moduleSearchCriteria": { "tenantId": "pg.citya", - // "projectId": projectId + "projectId": projectId }, "limit": 10, "offset": 0, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js index 5b315df028..62788c8777 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js @@ -20,7 +20,7 @@ export const paymentTrackerReport = (props) => { "inbox": { "moduleSearchCriteria": { "tenantId": Digit.ULBService.getCurrentTenantId(), - "projectNumber": /*data?.aggsResponse?.projects.map((ob) => ob?.projectNumber)*/ ["PJ/2023-24/11/000085"] + "projectNumber": data?.aggsResponse?.projects.map((ob) => ob?.projectNumber) /* ["PJ/2023-24/11/000085"] */ }, "tenantId": "pg.citya", "limit": 10, @@ -29,7 +29,8 @@ export const paymentTrackerReport = (props) => { changeQueryName: "allProjectDetails" }; - const {isLoading: isProjectDetailsLoading, data: projectDetails} = Digit.Hooks.useCustomAPIHook(requestrevisionCriteria); + const {isLoading: isProjectDetailsLoading, data: projectDetails} = Digit.Hooks.useCustomAPIHook(requestrevisionCriteria); + console.log("hehe",isLoading, projectDetails) if(data?.aggsResponse?.projects) { data.aggsResponse.projects = data?.aggsResponse?.projects?.map((ob) => { @@ -41,9 +42,10 @@ export const paymentTrackerReport = (props) => { purchasebillFailed : ob?.paymentDetails?.filter((obj) => obj?.billType?.includes("PURCHASE"))?.[0]?.remainingAmount, supervisionbillSuccess : ob?.paymentDetails?.filter((obj) => obj?.billType?.includes("SUPERVISION"))?.[0]?.paidAmount, supervisionbillFailed : ob?.paymentDetails?.filter((obj) => obj?.billType?.includes("SUPERVISION"))?.[0]?.remainingAmount, - project : /*projectDetails?.items?.filter((pj) => pj?.businessObject?.projectNumber === ob?.projectNumber)?.[0] */ projectDetails?.items?.[0] + project : projectDetails?.items?.filter((pj) => pj?.businessObject?.projectNumber === ob?.projectNumber)?.[0] /* projectDetails?.items?.[0] */ } }) + console.log(data?.aggsResponse?.projects, "hehe") data.stickyFooterRow = [ {'name': '', 'value':''}, {'name': 'total', 'value': t('Grand Total')}, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/ViewScheduledJobsExcelConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/ViewScheduledJobsExcelConfig.js index 210a9199d5..37bb44dcbc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/ViewScheduledJobsExcelConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/ViewScheduledJobsExcelConfig.js @@ -60,12 +60,12 @@ const ViewScheduledJobsExcelConfig = { type: "date", isMandatory: false, disable: false, - key: "scheduleFrom", + key: "scheduledFrom", preProcess: { updateDependent: ["populators.max"], }, populators: { - name: "scheduleFrom", + name: "scheduledFrom", max: "currentDate", }, }, @@ -74,12 +74,12 @@ const ViewScheduledJobsExcelConfig = { type: "date", isMandatory: false, disable: false, - key: "scheduleTo", + key: "scheduledTo", preProcess: { updateDependent: ["populators.max"], }, populators: { - name: "scheduleTo", + name: "scheduledTo", error: "DATE_VALIDATION_MSG", max: "currentDate", }, @@ -111,11 +111,11 @@ const ViewScheduledJobsExcelConfig = { jsonPath: "auditDetails.createdTime", additionalCustomization: true, }, - // { - // label: "EXP_NO_OF_PROJECTS_SCHEDULED", - // jsonPath: "noOfSorScheduled", - // // additionalCustomization: false, - // }, + { + label: "EXP_NO_OF_PROJECTS", + jsonPath: "noOfProjects", + // additionalCustomization: true, + }, // { // label: "EXP_SUCCESSFUL", // jsonPath: "", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/paymentTrackerSearchConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/paymentTrackerSearchConfig.js index 9421193341..aff86b8b4b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/paymentTrackerSearchConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/paymentTrackerSearchConfig.js @@ -55,7 +55,7 @@ export const paymentTrackerSearchConfig = { "selectedText": "COMMON_SELECTED", "allowMultiSelect": false } - }, + }, { "label": "WORKS_PROJECT_TYPE", "type": "dropdown", From 2a7f4af0929a2eb86c6b0c2e505ce57893cce874 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Wed, 9 Oct 2024 14:01:00 +0530 Subject: [PATCH 268/292] ui-ux fixes --- .../css/src/components/searchSor.scss | 2 +- .../packages/css/src/index.scss | 7 ++++++ .../src/components/ViewEstimateDocs.js | 2 +- .../src/components/OverheadDetailsTable.js | 4 ++-- .../src/components/ViewTotalEstAmount.js | 4 ++-- .../src/pageComponents/OverheadsTable.js | 4 ++-- .../src/pageComponents/TotalEstAmount.js | 4 ++-- .../pages/employee/ViewDetailedEstimate.js | 2 +- .../Expenditure/src/components/PayableAmt.js | 4 ++-- .../createPurchaseBillConfigMUKTA.json | 22 +++++++++++-------- .../src/pageComponents/TotalBillAmount.js | 4 ++-- .../src/pageComponents/ViewTotalBillAmount.js | 4 ++-- .../src/components/MBHistoryTable.js | 2 +- .../src/components/MeasureTable.js | 4 ++-- .../src/components/ViewOnlyCard.js | 4 ++-- .../src/pages/employee/CreateMeasurement.js | 21 +++++++++++------- .../src/components/SORDetailsTemplate.js | 9 ++++---- .../src/configs/RateAnalysisCreateConfig.js | 3 ++- .../components/ApplicationDetailsContent.js | 6 ++--- .../components/DocumentsPreview.js | 4 ++-- .../components/PropertyDocuments.js | 4 ++-- .../src/atoms/WorkflowTimeline.js | 2 +- .../react-components/src/hoc/FormComposer.js | 6 ++--- .../src/hoc/UploadFileComposer.js | 2 +- .../src/hoc/ViewComposer/index.js | 2 +- .../src/hoc/ViewComposer/renderUtils.js | 8 +++---- 26 files changed, 79 insertions(+), 61 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/searchSor.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/searchSor.scss index 3322559df6..27a046d483 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/searchSor.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/searchSor.scss @@ -13,7 +13,7 @@ ul.suggestions-sor { padding: 0; margin: 0; position: absolute; - width: 205%; + width: 100%; background-color: #fff; border: 1px solid #ccc; border-top: none; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/index.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/index.scss index edc4ac6112..8207c80cb4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/index.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/index.scss @@ -992,6 +992,13 @@ input[type="number"] { background-color: #fff; } +.fc-header-texts-new{ + color: #000 !important; + display: flex; + border: none !important; + background-color: #ffffff !important; +} + .fc-paragraph { text-align: justify; padding-left: 9px; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/ViewEstimateDocs.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/ViewEstimateDocs.js index 212c08a16c..91748abd7c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/ViewEstimateDocs.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/ViewEstimateDocs.js @@ -36,7 +36,7 @@ function ViewEstimateDocs(props) { {documents?.map((document, index) => ( {/* {document?.title ? {t(document?.title)}: null} */} - {document?.title ? : null} + {document?.title ? : null}
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewTotalEstAmount.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewTotalEstAmount.js index 895346580e..33eea1a25c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewTotalEstAmount.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/components/ViewTotalEstAmount.js @@ -17,7 +17,7 @@ const ViewTotalEstAmount = ({ detail, ...props }) => { { 2 )}` } - subHeaderClasName={`table_total_amount_value ${"estimate_amount"}`} + subHeaderClassName={`table_total_amount_value ${"estimate_amount"}`} >
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/OverheadsTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/OverheadsTable.js index 97fd1cad85..dfbfc6b2f5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/OverheadsTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/OverheadsTable.js @@ -447,7 +447,7 @@ const OverheadsTable = ({ control, watch, ...props }) => { } */} - + { sameDisplay={true} > } - subHeaderClasName={"table_total_amount_value"} + subHeaderClassName={"table_total_amount_value"} >
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/TotalEstAmount.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/TotalEstAmount.js index d1e8f07e55..8a03cd82c4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/TotalEstAmount.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pageComponents/TotalEstAmount.js @@ -42,11 +42,11 @@ const TotalEstAmount = ({ formData, setValue, t, ...props }) => {
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewDetailedEstimate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewDetailedEstimate.js index ef14a674c8..0107c44bb8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewDetailedEstimate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewDetailedEstimate.js @@ -128,7 +128,7 @@ const ViewDetailedEstimate = () => { const handleActionBar = (option) => { if(validationData && Object.keys(validationData)?.length > 0 && validationData?.type?.includes(option?.name)) { - setToast({typa: validationData?.error ? "error" : "", label: validationData?.label, show:true}) + setToast({type: validationData?.error ? "error" : "", label: validationData?.label, show:true}) return; } if (option?.name === "CREATE_CONTRACT") { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/PayableAmt.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/PayableAmt.js index d050a2649f..1ac1eb0739 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/PayableAmt.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/PayableAmt.js @@ -11,8 +11,8 @@ const PayableAmt = ({ detail }) => { {/* {t("EXP_NET_PAYABLE")} {`₹ ${detail?.value}`} */} - - + +
); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/createPurchaseBillConfigMUKTA.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/createPurchaseBillConfigMUKTA.json index 13e0aa0e06..3506738171 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/createPurchaseBillConfigMUKTA.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/createPurchaseBillConfigMUKTA.json @@ -35,10 +35,11 @@ "isMandatory": false, "key": "basicDetails_workOrderNumber", "type": "text", - "disable": true, + "disable": false, "populators": { "name": "basicDetails_workOrderNumber", - "customClass": "fc-header-texts" + "customClass": "fc-header-texts-new", + "nonEditable":true } }, { @@ -46,10 +47,11 @@ "isMandatory": false, "key": "basicDetails_projectID", "type": "text", - "disable": true, + "disable": false, "populators": { "name": "basicDetails_projectID", - "customClass": "fc-header-texts" + "customClass": "fc-header-texts-new", + "nonEditable":true } }, { @@ -57,10 +59,11 @@ "isMandatory": false, "key": "basicDetails_projectDesc", "type": "text", - "disable": true, + "disable": false, "populators": { "name": "basicDetails_projectDesc", - "customClass": "fc-header-texts" + "customClass": "fc-header-texts-new", + "nonEditable":true } }, { @@ -68,10 +71,11 @@ "isMandatory": false, "key": "basicDetails_location", "type": "text", - "disable": true, + "disable": false, "populators": { "name": "basicDetails_location", - "customClass": "fc-header-texts" + "customClass": "fc-header-texts-new", + "nonEditable":true } } ] @@ -246,7 +250,7 @@ }, "populators": { "name": "billDetails_billAmt", - "customClass": "fc-header-texts", + "customClass": "fc-header-texts-new", "error": "EXP_BILL_AMOUNT_ERR" } }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pageComponents/TotalBillAmount.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pageComponents/TotalBillAmount.js index 4b96a8b5ab..1847db1659 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pageComponents/TotalBillAmount.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pageComponents/TotalBillAmount.js @@ -33,10 +33,10 @@ const TotalBillAmount = ({ formData, setValue, ...props }) => { {/* {`₹ ${Digit.Utils.dss.formatterWithoutRound(getTotalAmount, "number")}`} */} - +
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pageComponents/ViewTotalBillAmount.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pageComponents/ViewTotalBillAmount.js index c737553cdd..78f25a8e15 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pageComponents/ViewTotalBillAmount.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pageComponents/ViewTotalBillAmount.js @@ -13,8 +13,8 @@ const TotalBillAmountView = ({ detail, ...props }) => { {`₹ ${detail?.value}`} */} - - + +
); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MBHistoryTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MBHistoryTable.js index b0e504e2f2..455952fe2d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MBHistoryTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MBHistoryTable.js @@ -98,7 +98,7 @@ const MeasurementHistory = ({ contractNumber, measurementNumber }) => { // <> {/*
{t("MB_HISTORY")}
*/} - + {!isTableCollapsed && ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js index 07132f378c..f6f36e874d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js @@ -512,7 +512,7 @@ const MeasureTable = (props) => { } */} - + { sameDisplay={true} > } - subHeaderClasName={`table_total_amount_value`} + subHeaderClassName={`table_total_amount_value`} > diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/ViewOnlyCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/ViewOnlyCard.js index 01a900e2dc..9326e031d7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/ViewOnlyCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/ViewOnlyCard.js @@ -30,7 +30,7 @@ const ViewOnlyCard = (props) => { 2 )}`} */} - + { undefined, 2 )}`} - subHeaderClasName={`table_total_amount_value`} + subHeaderClassName={`table_total_amount_value`} > diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js index de89ca0772..7e727dd7cf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js @@ -135,25 +135,30 @@ const CreateMeasurement = ({ props }) => { // action to be performed.... let actionMB = [ { - name: "WF_SUBMIT", + name: "SUBMIT", + displayName:"WF_SUBMIT" }, { - name: "WF_SAVE_AS_DRAFT", + name:"SAVE_AS_DRAFT", + displayName: "WF_SAVE_AS_DRAFT" }, ]; - function onActionSelect(action = "WF_SUBMIT") { + function onActionSelect(action = { + name: "SUBMIT", + displayName:"WF_SUBMIT" + }) { if (createState?.period?.type == "error") { setErrorMessage(t(createState?.period?.message)); setShowToast({display:true, type:"error"}); return null; } - if (action?.name === "WF_SUBMIT") { + if (action?.name === "SUBMIT") { createState.workflowAction = "SUBMIT"; setShowModal(true); //handleCreateMeasurement(createState, action); } - if (action?.name === "WF_SAVE_AS_DRAFT") { + if (action?.name === "SAVE_AS_DRAFT") { createState.workflowAction = "SAVE_AS_DRAFT"; handleCreateMeasurement(createState, action); } @@ -183,7 +188,7 @@ const CreateMeasurement = ({ props }) => { if(action?.name === "SAVE_AS_DRAFT") { setErrorMessage(t("MB_APPLICATION_IS_SUCCESSFULLY_DRAFTED")); - setShowToast({display:true, type:""}); + setShowToast({display:true}); setTimeout(() => {history.push(`/${window.contextPath}/employee/measurement/update?tenantId=${resp.measurements[0].tenantId}&workOrderNumber=${contractNumber}&mbNumber=${resp.measurements[0].measurementNumber}`)}, 3000);; } else @@ -205,7 +210,7 @@ const CreateMeasurement = ({ props }) => { }; const closeToast = () => { - setShowToast({display:false, type:""});; + setShowToast({display:false}); }; //remove Toast after 3s useEffect(() => { @@ -276,7 +281,7 @@ const CreateMeasurement = ({ props }) => { options={actionMB} label={t("ACTIONS")} variation={"primary"} - optionsKey={"name"} + optionsKey={"displayName"} isSearchable={false} onOptionSelect={(option) => { onActionSelect(option); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js index b35ec7c077..b21277f380 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/components/SORDetailsTemplate.js @@ -1,10 +1,11 @@ -import { Card, Header, Button, Loader, TextInput, DeleteIcon } from "@egovernments/digit-ui-react-components"; +import { Card, Header, Loader, DeleteIcon } from "@egovernments/digit-ui-react-components"; import React, { useState, useEffect, useCallback } from "react"; import { useTranslation } from "react-i18next"; import SearchBar from "../../../Estimate/src/pageComponents/SearchBar"; import { has4DecimalPlaces } from "../utils/transformData"; import { Toast } from "@egovernments/digit-ui-components"; import { calculateTotalAmount } from "../utils/transformData"; +import {Button, TextInput } from "@egovernments/digit-ui-components"; const SORDetailsTemplate = (props) => { //new component only @@ -212,7 +213,7 @@ const SORDetailsTemplate = (props) => { } } > -
+
{t(`RA_${props?.config?.sorType}_HEADER`)} {pageType !== "VIEW" && (
@@ -222,7 +223,7 @@ const SORDetailsTemplate = (props) => { setSelectedSOR={setSelectedSOR} placeholder={t("RA_SEARCH_BAR_PLACEHOLDER")} /> -
)}
@@ -285,7 +286,7 @@ const SORDetailsTemplate = (props) => {
{ remove(row)} className="icon-wrapper"> - + }
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js index 59a54a90a9..29952cc43b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/configs/RateAnalysisCreateConfig.js @@ -141,12 +141,13 @@ export const CreateConfig = ({t, defaultValue, isUpdate, measurement }) => { "isMandatory": true, "key": "effective_from_date", "type": "date", - "disable": isUpdate ? true : false, + "disable":false, // "preProcess" : { // "updateDependent" : ["populators.validation.max"] // }, "populators": { "name": "effective_from_date", + "nonEditable": isUpdate ? true : false, "validation":{ "min":isUpdate ? null : defaultValue?.currentDate } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsContent.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsContent.js index f4fcf699e0..515721f33d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsContent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/ApplicationDetailsContent.js @@ -291,7 +291,7 @@ function ApplicationDetailsContent({
{index === 0 && !detail.asSectionHeader && detail?.title && detail?.title !== "" && detail?.title !== " " ? ( // {t(detail?.title)} - + ) : ( ((detail?.title && detail?.title !=="" && detail?.title !== " ") || detail?.Component) && ( @@ -302,7 +302,7 @@ function ApplicationDetailsContent({ {detail?.Component ? : null} } - subHeaderClasName={`view-subheader`} + subHeaderClassName={`view-subheader`} style={sectionHeadStyle ? sectionHeadStyle : {}} > {/* {t(detail?.additionalDetails?.table?.weekTable?.tableHeader)} */} - + {detail?.additionalDetails?.table.weekTable.renderTable && ( ( {/* {document?.title ? {t(document?.title)} : null} */} - {document?.title ? : null} + {document?.title ? : null}
{document?.values && document?.values.length > 0 ? document?.values?.map((value, index) => ( @@ -33,7 +33,7 @@ function DocumentsPreview({ documents, svgStyles = {}, isSendBackFlow = false, i {/* {document?.title ? {t(document?.title)} : null} */} - {document?.title ? : null} + {document?.title ? : null}
{document?.values && document?.values.length > 0 ? document?.values?.map((value, index) => ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyDocuments.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyDocuments.js index 120d4fa811..1b0b6675fd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyDocuments.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/templates/ApplicationDetails/components/PropertyDocuments.js @@ -49,7 +49,7 @@ function PropertyDocuments({ documents, svgStyles = {}, isSendBackFlow=false }) {/* {document?.title ? {t(document?.title)}: null} */} - {document?.title ? : null} + {document?.title ? : null}
{document?.values && document?.values.length>0 ? document?.values?.map((value, index) => ( @@ -67,7 +67,7 @@ function PropertyDocuments({ documents, svgStyles = {}, isSendBackFlow=false }) {/* {document?.title ? {t(document?.title)} : null} */} - {document?.title ? : null} + {document?.title ? : null}
{document?.values && document?.values.length>0 ? document?.values?.map((value, index) => ( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/WorkflowTimeline.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/WorkflowTimeline.js index ed286f4eb9..29a5a947a9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/WorkflowTimeline.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/WorkflowTimeline.js @@ -155,7 +155,7 @@ const WorkflowTimeline = ({ {t("WORKS_WORKFLOW_TIMELINE")} */} {/* {workflowDetails?.data?.timeline && diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js index 6b2ffe187a..f50f87fab0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js @@ -609,10 +609,10 @@ export const FormComposer = (props) => { // // <> - + ); @@ -624,7 +624,7 @@ export const FormComposer = (props) => { // // - + ); } else { return null; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/UploadFileComposer.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/UploadFileComposer.js index f6e5323452..952a1f796f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/UploadFileComposer.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/UploadFileComposer.js @@ -66,7 +66,7 @@ const UploadFileComposer = ({ module, config, Controller, control, register, for {/*
{t("WORKS_RELEVANT_DOCUMENTS")}
*/} - + {docConfig?.bannerLabel && ( { <> {section?.cardHeader && section?.cardHeader?.value && ( // {t(section.cardHeader.value)} - + )} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js index c4308e969c..87644a070e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/renderUtils.js @@ -15,10 +15,10 @@ export const RenderDataSection = ({ section }) => { return ( <> {/* {section.cardHeader && {t(section.cardHeader.value)}} */} - {section.cardHeader && } + {section.cardHeader && } {/* {section.sectionHeader && {t(section.sectionHeader.value)}} */} - {section.sectionHeader && } + {section.sectionHeader && } {section?.values?.filter((ob) => ob !== null && Object?.keys(ob)?.length > 0).map((row, rowIdx) => { const displayValue = row?.value !== undefined && row?.value !== null ? row.value : 'NA'; @@ -88,7 +88,7 @@ export const RenderDocumentsSection = ({ section }) => { {document?.title ? // {t(document?.title)} - + : null}
{document?.values && document?.values.length > 0 @@ -170,7 +170,7 @@ export const RenderPhotos = ({section}) => { <> {section?.cardHeader && section?.cardHeader?.value && ( // {t(section.cardHeader.value)} - + )} From 1a3abc84a899c44e6756a9299ce6d653b7c78cea Mon Sep 17 00:00:00 2001 From: kams Date: Wed, 9 Oct 2024 14:11:17 +0530 Subject: [PATCH 269/292] resolved cache issue --- .../Mukta/src/configs/UICustomizations.js | 3 +- .../src/hooks/paymentTrackerReport.js | 35 +++++++++++++------ 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js index ee7f22cc84..51d63c9e99 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js @@ -3163,11 +3163,10 @@ export const UICustomizations = { ); } if(key === "EXP_PROJECT_NAME") { - let currentProject = searchResult?.filter((result) => result?.projectNumber === row?.projectNumber)[0]; return (
- {String(t(value))} + {value && value !== '' ? String(t(value)) : t("ES_COMMON_NA")}
{/* check condtion - if length greater than 20 */} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js index 62788c8777..bfd44ec147 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js @@ -5,6 +5,21 @@ const Amount = ({t,roundOff=true,...props}) => { return `${props?.rupeeSymbol ? "₹" : ""}${value !== undefined && value !== null ? (props?.sameDisplay ? value : `${Digit?.Utils?.dss?.formatterWithoutRound(value, "number")}`) : t("ES_COMMON_NA")}`; } +const cyrb53 = (str, seed = 0) => { + let h1 = 0xdeadbeef ^ seed, h2 = 0x41c6ce57 ^ seed; + for(let i = 0, ch; i < str.length; i++) { + ch = str.charCodeAt(i); + h1 = Math.imul(h1 ^ ch, 2654435761); + h2 = Math.imul(h2 ^ ch, 1597334677); + } + h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507); + h1 ^= Math.imul(h2 ^ (h2 >>> 13), 3266489909); + h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507); + h2 ^= Math.imul(h1 ^ (h1 >>> 13), 3266489909); + + return 4294967296 * (2097151 & h2) + (h1 >>> 0); +}; + export const paymentTrackerReport = (props) => { const { t } = useTranslation(); var { isLoading, data, revalidate, isFetching, error } = Digit.Hooks.useCustomAPIHook(props); @@ -18,19 +33,20 @@ export const paymentTrackerReport = (props) => { }, body: { "inbox": { - "moduleSearchCriteria": { - "tenantId": Digit.ULBService.getCurrentTenantId(), - "projectNumber": data?.aggsResponse?.projects.map((ob) => ob?.projectNumber) /* ["PJ/2023-24/11/000085"] */ - }, - "tenantId": "pg.citya", - "limit": 10, - "offset": 0 + "moduleSearchCriteria": { + "tenantId": Digit.ULBService.getCurrentTenantId(), + "projectNumber": data?.aggsResponse?.projects.map((ob) => ob?.projectNumber) /* ["PJ/2023-24/11/000085"] */ + }, + "tenantId": "pg.citya", + "limit": 10, + "offset": 0 }}, - changeQueryName: "allProjectDetails" + changeQueryName: "projectpaymenttracker" }; + const changeQueryName = requestrevisionCriteria.body.inbox.moduleSearchCriteria.projectNumber?.sort().join(","); + requestrevisionCriteria.changeQueryName = data ? cyrb53(changeQueryName) : "projectpaymenttracker"; const {isLoading: isProjectDetailsLoading, data: projectDetails} = Digit.Hooks.useCustomAPIHook(requestrevisionCriteria); - console.log("hehe",isLoading, projectDetails) if(data?.aggsResponse?.projects) { data.aggsResponse.projects = data?.aggsResponse?.projects?.map((ob) => { @@ -45,7 +61,6 @@ export const paymentTrackerReport = (props) => { project : projectDetails?.items?.filter((pj) => pj?.businessObject?.projectNumber === ob?.projectNumber)?.[0] /* projectDetails?.items?.[0] */ } }) - console.log(data?.aggsResponse?.projects, "hehe") data.stickyFooterRow = [ {'name': '', 'value':''}, {'name': 'total', 'value': t('Grand Total')}, From 2949dbc1974eca145e9b9462e822afcb408dc00c Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Wed, 9 Oct 2024 14:13:56 +0530 Subject: [PATCH 270/292] updated versions --- .../micro-ui-internals/example/package.json | 20 +++++++++---------- .../packages/Mukta/package.json | 4 ++-- .../packages/css/package.json | 2 +- .../packages/libraries/package.json | 2 +- .../modules/AttendenceMgmt/package.json | 4 ++-- .../packages/modules/Contracts/package.json | 4 ++-- .../packages/modules/Estimate/package.json | 4 ++-- .../packages/modules/Expenditure/package.json | 4 ++-- .../packages/modules/Masters/package.json | 4 ++-- .../packages/modules/Measurement/package.json | 4 ++-- .../packages/modules/Project/package.json | 4 ++-- .../modules/RateAnalysis/package.json | 4 ++-- .../packages/modules/works/package.json | 4 ++-- .../packages/react-components/package.json | 2 +- frontend/micro-ui/web/package.json | 20 +++++++++---------- frontend/micro-ui/web/public/index.html | 2 +- 16 files changed, 44 insertions(+), 44 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index 743b43fa7f..946b6ad287 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -10,20 +10,20 @@ }, "devDependencies": { "@egovernments/digit-ui-react-components": "1.5.12", - "@egovernments/digit-ui-components": "0.0.2-beta.44", + "@egovernments/digit-ui-components": "0.0.2-beta.45", "@egovernments/digit-ui-libraries": "1.5.0", "@egovernments/digit-ui-module-core": "1.8.2-beta.20", "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", - "@egovernments/digit-ui-module-attendencemgmt": "0.4.10", - "@egovernments/digit-ui-module-contracts": "0.4.10", - "@egovernments/digit-ui-module-measurement":"0.2.10", - "@egovernments/digit-ui-module-estimate": "0.4.15", - "@egovernments/digit-ui-module-masters": "0.4.14", - "@egovernments/digit-ui-module-project": "0.4.10", - "@egovernments/digit-ui-module-expenditure": "0.4.8", - "@egovernments/digit-ui-customisation-mukta": "0.2.7", - "@egovernments/digit-ui-module-rate-analysis": "0.4.8", + "@egovernments/digit-ui-module-attendencemgmt": "0.4.11", + "@egovernments/digit-ui-module-contracts": "0.4.11", + "@egovernments/digit-ui-module-measurement":"0.2.11", + "@egovernments/digit-ui-module-estimate": "0.4.16", + "@egovernments/digit-ui-module-masters": "0.4.15", + "@egovernments/digit-ui-module-project": "0.4.11", + "@egovernments/digit-ui-module-expenditure": "0.4.9", + "@egovernments/digit-ui-customisation-mukta": "0.2.8", + "@egovernments/digit-ui-module-rate-analysis": "0.4.9", "http-proxy-middleware": "^1.0.5", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json index d6affe8145..14582e4f11 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-customisation-mukta", - "version": "0.2.7", + "version": "0.2.8", "description": "MUKTA Customisation of Works UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.44", + "@egovernments/digit-ui-components": "0.0.2-beta.45", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json index 7f8c7ddefb..0ffef1cbc9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-works-css", - "version": "0.2.51", + "version": "0.2.52", "license": "MIT", "author": "Jagankumar ", "main": "dist/index.css", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/package.json index c7217726cb..db4ee52297 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/package.json @@ -23,7 +23,7 @@ "react-scripts": "^4.0.1" }, "dependencies": { - "@egovernments/digit-ui-components": "0.0.2-beta.44", + "@egovernments/digit-ui-components": "0.0.2-beta.45", "axios": "1.4.0", "babel-preset-react": "6.24.1", "lodash": "^4.17.21", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json index 0ef5b5c328..21e048040d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-attendencemgmt", - "version": "0.4.10", + "version": "0.4.11", "description": "Attendence Management Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.44", + "@egovernments/digit-ui-components": "0.0.2-beta.45", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json index f2be2aaeff..924c05ee85 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-contracts", - "version": "0.4.10", + "version": "0.4.11", "description": "Contracts Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.44", + "@egovernments/digit-ui-components": "0.0.2-beta.45", "lodash": "^4.17.21", "react": "17.0.2", "react-date-range": "^1.4.0", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json index 11c9e6f4dc..c062f57631 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-estimate", - "version": "0.4.15", + "version": "0.4.16", "description": "Estimate Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.44", + "@egovernments/digit-ui-components": "0.0.2-beta.45", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json index b938bc0c71..86235f886b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-expenditure", - "version": "0.4.8", + "version": "0.4.9", "description": "Expenditure Management Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.44", + "@egovernments/digit-ui-components": "0.0.2-beta.45", "lodash": "^4.17.21", "react": "17.0.2", "react-date-range": "^1.4.0", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json index c211aa94b3..6d25227f39 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-masters", - "version": "0.4.14", + "version": "0.4.15", "description": "Masters Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.44", + "@egovernments/digit-ui-components": "0.0.2-beta.45", "lodash": "^4.17.21", "react": "17.0.2", "react-date-range": "^1.4.0", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json index 8b77ef5caa..cfbcb40354 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-measurement", - "version": "0.2.10", + "version": "0.2.11", "description": "Measurement Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.44", + "@egovernments/digit-ui-components": "0.0.2-beta.45", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json index 0a16680bb3..114396004f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-project", - "version": "0.4.10", + "version": "0.4.11", "description": "Project Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.44", + "@egovernments/digit-ui-components": "0.0.2-beta.45", "lodash": "^4.17.21", "react": "17.0.2", "react-date-range": "^1.4.0", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json index 5956357f72..37bdc9098c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-rate-analysis", - "version": "0.4.8", + "version": "0.4.9", "description": "Rate Analysis Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.44", + "@egovernments/digit-ui-components": "0.0.2-beta.45", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json index 463e16d169..88d66c0257 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-works", - "version": "0.0.20", + "version": "0.0.21", "description": "Works", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.44", + "@egovernments/digit-ui-components": "0.0.2-beta.45", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json index cf0705fcbd..65bbd4afc8 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json @@ -42,7 +42,7 @@ ], "dependencies": { "@googlemaps/js-api-loader": "1.13.10", - "@egovernments/digit-ui-components": "0.0.2-beta.44", + "@egovernments/digit-ui-components": "0.0.2-beta.45", "lodash": "^4.17.21", "react-date-range": "1.3.0", "react-hook-form": "6.15.8", diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index 5c5c63f7d9..f553d32217 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -18,19 +18,19 @@ "dependencies": { "@egovernments/digit-ui-react-components": "1.5.12", "@egovernments/digit-ui-libraries": "1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.44", + "@egovernments/digit-ui-components": "0.0.2-beta.45", "@egovernments/digit-ui-module-core": "1.8.2-beta.20", "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", - "@egovernments/digit-ui-module-attendencemgmt": "0.4.10", - "@egovernments/digit-ui-module-contracts": "0.4.10", - "@egovernments/digit-ui-module-measurement":"0.2.10", - "@egovernments/digit-ui-module-estimate": "0.4.15", - "@egovernments/digit-ui-module-masters": "0.4.14", - "@egovernments/digit-ui-module-project": "0.4.10", - "@egovernments/digit-ui-module-expenditure": "0.4.8", - "@egovernments/digit-ui-customisation-mukta": "0.2.7", - "@egovernments/digit-ui-module-rate-analysis": "0.4.8", + "@egovernments/digit-ui-module-attendencemgmt": "0.4.11", + "@egovernments/digit-ui-module-contracts": "0.4.11", + "@egovernments/digit-ui-module-measurement":"0.2.11", + "@egovernments/digit-ui-module-estimate": "0.4.16", + "@egovernments/digit-ui-module-masters": "0.4.15", + "@egovernments/digit-ui-module-project": "0.4.11", + "@egovernments/digit-ui-module-expenditure": "0.4.9", + "@egovernments/digit-ui-customisation-mukta": "0.2.8", + "@egovernments/digit-ui-module-rate-analysis": "0.4.9", "babel-loader": "8.1.0", "clean-webpack-plugin": "4.0.0", "react": "17.0.2", diff --git a/frontend/micro-ui/web/public/index.html b/frontend/micro-ui/web/public/index.html index 19696d4aba..9f9d7a42e6 100644 --- a/frontend/micro-ui/web/public/index.html +++ b/frontend/micro-ui/web/public/index.html @@ -9,7 +9,7 @@ rel='stylesheet' type='text/css'> - + From 8c00cc742c0a94d2dfc91cf654aaf815e41c7bdb Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Wed, 9 Oct 2024 15:20:23 +0530 Subject: [PATCH 271/292] added waheseeker changes --- .../src/pages/employee/WageSeeker/ModifyWageSeeker/index.js | 2 +- .../Masters/src/pages/employee/WageSeeker/ViewWageSeeker.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/index.js index 63c1311fa9..eb96f1ab37 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/index.js @@ -42,7 +42,7 @@ const ModifyWageSeeker = () => { //Call Search Wage Seeker const payload = { - Individual: { individualId } + Individual: { individualId : [individualId] } } const searchParams = { offset: 0, limit: 100 } const {isLoading: wageSeekerDataFetching, data: wageSeekerData, isError, isSuccess, error} = Digit.Hooks.wageSeeker.useWageSeekerDetails({tenantId, data: payload, searchParams, config:{ diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ViewWageSeeker.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ViewWageSeeker.js index 20f30ffb6b..61434c3fc0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ViewWageSeeker.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ViewWageSeeker.js @@ -19,7 +19,7 @@ const ViewWageSeeker = () => { const payload = { Individual: { - individualId + individualId: [individualId] } } const searchParams = { From bd6ce4d48d7474b403d2fe4ef4c9c1f20038f6bd Mon Sep 17 00:00:00 2001 From: Lokendra Tyagi Date: Wed, 9 Oct 2024 15:23:30 +0530 Subject: [PATCH 272/292] added calculation to all the amounts --- utilities/works-pdf/src/api.js | 8 +- utilities/works-pdf/src/config.js | 2 +- .../works-pdf/src/routes/paymentTracker.js | 76 +++++++++++++++++-- 3 files changed, 74 insertions(+), 12 deletions(-) diff --git a/utilities/works-pdf/src/api.js b/utilities/works-pdf/src/api.js index 82f43ce3f3..ecd8a7f754 100644 --- a/utilities/works-pdf/src/api.js +++ b/utilities/works-pdf/src/api.js @@ -546,14 +546,14 @@ async function search_measurementBookDetails(tenantId, requestinfo,contractNumbe }); } -async function search_payment_instruction(tenantId, requestinfo, piType) { +async function search_payment_instruction(tenantId, requestinfo, projectNum) { const searchEndpoint = config.paths.payment_instruction_search; const data = { "inbox": { "moduleSearchCriteria": { "tenantId": tenantId, - "piType": piType + "projectId": projectNum }, "tenantId": tenantId, "limit": 10, @@ -568,13 +568,13 @@ async function search_payment_instruction(tenantId, requestinfo, piType) { }); } -async function search_report_paymentTracker(tenantId, requestinfo, ward) { +async function search_report_paymentTracker(tenantId, requestinfo, projectNum) { const searchEndpoint = config.paths.report_paymentTracker_search; const data = { "searchCriteria": { "moduleSearchCriteria": { - "ward": ward + "projectId": projectNum }, "tenantId": tenantId, "limit": 10 diff --git a/utilities/works-pdf/src/config.js b/utilities/works-pdf/src/config.js index 8c0943d6b3..cf41e9c6f9 100644 --- a/utilities/works-pdf/src/config.js +++ b/utilities/works-pdf/src/config.js @@ -88,7 +88,7 @@ module.exports = { hrms_search: "/egov-hrms/employees/_search", deviationStatement_search: "/estimate/v1/_search", measurement_book_search: "/mukta-services/measurement/_search", - payment_instruction_search: "/wms/ifms-pi/_search", + payment_instruction_search: "/wms/mukta-pi/_search", report_paymentTracker_search: "/wms/report/payment_tracker" }, constraints: { diff --git a/utilities/works-pdf/src/routes/paymentTracker.js b/utilities/works-pdf/src/routes/paymentTracker.js index 43c22c904c..d2a4a3df3c 100644 --- a/utilities/works-pdf/src/routes/paymentTracker.js +++ b/utilities/works-pdf/src/routes/paymentTracker.js @@ -95,20 +95,53 @@ router.post( RequestInfo = requestinfo.RequestInfo; - var ward = "string"; + var estimatedAmount = 0; + var wageAmountPaid = 0; + var purchaseAmountPaid = 0; + var supervisionAmountPaid = 0; + var failedPaymentAmount = 0; + var total = 0; try { - resHeadWiseData = await search_report_paymentTracker(tenantId, RequestInfo, ward); + resHeadWiseData = await search_report_paymentTracker(tenantId, RequestInfo, projectNum); } catch (ex) { if (ex.response && ex.response.data) console.log(ex.response.data); return renderError(res, "Failed to query details of the report", 500); } var headWiseData = resHeadWiseData.data; + var projects = headWiseData.aggsResponse.projects[0]; + + if (projects) { + if(projects.estimatedAmount != null){ + estimatedAmount = projects.estimatedAmount; + } + if(projects.total != null){ + total = projects.total; + } + + if(projects.paymentDetails && projects.paymentDetails.length > 0){ + for (var i = 0; i < projects.paymentDetails.length; i++) { + billType = projects.paymentDetails[i].billType; + paidAmount = projects.paymentDetails[i].paidAmount; + remainingAmount = projects.paymentDetails[i].remainingAmount; + if (billType == "EXPENSE.WAGES") { + wageAmountPaid = paidAmount; + } + if (billType == "EXPENSE.PURCHASE") { + purchaseAmountPaid = paidAmount; + } + if (billType == "EXPENSE.SUPERVISION") { + supervisionAmountPaid = paidAmount; + } + failedPaymentAmount += remainingAmount; + } + + } + } - var piType = "ORIGINAL"; try { - resPaymentInstruction = await search_payment_instruction(tenantId, RequestInfo, piType); + resPaymentInstruction = await search_payment_instruction(tenantId, RequestInfo, projectNum); } catch (ex) { if (ex.response && ex.response.data) console.log(ex.response.data); @@ -116,6 +149,29 @@ router.post( } var paymentInstruction = resPaymentInstruction.data; + var bills = paymentInstruction.items; + if (bills && bills.length > 0) { + for (var i = 0; i < bills.length; i++) { + bills[i].businessObject["failedAmount"] = 0; + bills[i].businessObject["successAmount"] = 0; + if(bills[i].businessObject.piStatus == "FAILED"){ + bills[i].businessObject["failedAmount"] = bills[i].businessObject.netAmount; + }else if(bills[i].businessObject.piStatus == "SUCCESSFUL"){ + bills[i].businessObject["successAmount"] = bills[i].businessObject.netAmount; + }else if(bills[i].businessObject.piStatus == "PARTIAL"){ + if(bills[i].businessObject.beneficiaryDetails && bills[i].businessObject.beneficiaryDetails.length > 0){ + for(var j = 0; j < bills[i].businessObject.beneficiaryDetails.length; j++){ + if(bills[i].businessObject.beneficiaryDetails[j].paymentStatus == "Payment Successful"){ + bills[i].businessObject["successAmount"] += bills[i].businessObject.netAmount; + } + if(bills[i].businessObject.beneficiaryDetails[j].paymentStatus == "Payment Failed"){ + bills[i].businessObject["failedAmount"] += bills[i].businessObject.netAmount; + } + } + } + } + } + } var project = resProject.data; @@ -128,8 +184,14 @@ router.post( // Adding project as Projects because it's updating on create_pdf project["Projects"] = project.Project; project["Projects"][0]["date"] = getCurrentDate(); - project["Projects"][0]["bills"] = paymentInstruction.items; - project["Projects"][0]["headWiseData"] = headWiseData.aggsResponse.projects[0]; + project["Projects"][0]["bills"] = bills; + project["Projects"][0]["estimatedAmount"] = estimatedAmount; + project["Projects"][0]["wageAmountPaid"] = wageAmountPaid; + project["Projects"][0]["purchaseAmountPaid"] = purchaseAmountPaid; + project["Projects"][0]["supervisionAmountPaid"] = supervisionAmountPaid; + project["Projects"][0]["failedPaymentAmount"] = failedPaymentAmount; + + project["Projects"][0]["total"] = total; try { pdfResponse = await create_pdf( @@ -161,7 +223,7 @@ router.post( ); } } catch (ex) { - return renderError(res, "Failed to query details of the project", 500); + return renderError(res, "Failed to query details of the Parent", 500); } }) From 5603d1dbdf4a718bd48724bd282efb8d8cdeebfd Mon Sep 17 00:00:00 2001 From: kams Date: Wed, 9 Oct 2024 15:55:53 +0530 Subject: [PATCH 273/292] adjusted column width in table --- .../src/components/PaymentTrackerTable.js | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/PaymentTrackerTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/PaymentTrackerTable.js index b063f1765c..f967824d4a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/PaymentTrackerTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/PaymentTrackerTable.js @@ -40,7 +40,11 @@ const PaymentTrackerTable = ({excludeFailed, setExcludeFailed, ...props}) => { } }, { - Header: t("PI_NUMBER"), + Header: () => ( +
+ {t("PI_NUMBER")} +
+ ), accessor: "piNumber", Cell: ({ value, column, row }) => { if (value === "NA") { @@ -52,7 +56,11 @@ const PaymentTrackerTable = ({excludeFailed, setExcludeFailed, ...props}) => { } }, { - Header: t("PARENT_PI"), + Header: () => ( +
+ {t("PARENT_PI")} +
+ ), accessor: "parentPi", Cell: ({ value, column, row }) => { return String(t(value)); @@ -80,7 +88,11 @@ const PaymentTrackerTable = ({excludeFailed, setExcludeFailed, ...props}) => { } }, { - Header: t("PI_DATE"), + Header: () => ( +
+ {t("PI_DATE")} +
+ ), accessor: "piDate", Cell: ({ value, column, row }) => { return String(t(value)); From 3e08158095bffbc1a305a5a72e10c7184bea5a30 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Wed, 9 Oct 2024 17:13:17 +0530 Subject: [PATCH 274/292] added scrollbar for table cards --- .../micro-ui-internals/example/package.json | 4 +-- .../packages/css/package.json | 2 +- .../css/src/pages/employee/override.scss | 26 +++++++++++++++++++ .../packages/modules/Estimate/package.json | 2 +- .../createEstimateConfig.js | 3 +++ .../CreateEstimate/createEstimateConfig.js | 2 ++ .../packages/modules/Measurement/package.json | 2 +- .../src/configs/MeasurementCreateConfig.js | 3 +++ frontend/micro-ui/web/package.json | 4 +-- frontend/micro-ui/web/public/index.html | 2 +- 10 files changed, 42 insertions(+), 8 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index 946b6ad287..ecf9bd6c66 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -17,8 +17,8 @@ "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-module-attendencemgmt": "0.4.11", "@egovernments/digit-ui-module-contracts": "0.4.11", - "@egovernments/digit-ui-module-measurement":"0.2.11", - "@egovernments/digit-ui-module-estimate": "0.4.16", + "@egovernments/digit-ui-module-measurement":"0.2.12", + "@egovernments/digit-ui-module-estimate": "0.4.17", "@egovernments/digit-ui-module-masters": "0.4.15", "@egovernments/digit-ui-module-project": "0.4.11", "@egovernments/digit-ui-module-expenditure": "0.4.9", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json index 0ffef1cbc9..c54136fceb 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-works-css", - "version": "0.2.52", + "version": "0.2.53", "license": "MIT", "author": "Jagankumar ", "main": "dist/index.css", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss index d255e10852..c2685b4c3b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss @@ -202,3 +202,29 @@ flex-direction: row-reverse; justify-content: space-between; } + + .table-included-section { + max-width: 100%; + overflow-x: auto; + } + + .table-included-section::-webkit-scrollbar { + height: 0.375rem; + background-color: theme(digitv2.lightTheme.generic-background); + } + + .table-included-section::-webkit-scrollbar-track { + background-color: theme(digitv2.lightTheme.generic-background); + border-radius: 0.563rem; + } + + .table-included-section::-webkit-scrollbar-thumb { + background-color: theme(digitv2.lightTheme.generic-divider); + border-radius: 0.563rem; + } + + .total_amount_wrapper{ + .digit-text-block-wrap{ + margin-top: 0rem; + } + } \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json index c062f57631..c6236860ef 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-estimate", - "version": "0.4.16", + "version": "0.4.17", "description": "Estimate Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/createEstimateConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/createEstimateConfig.js index 35d9d1772d..46bb5d0eb3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/createEstimateConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/createEstimateConfig.js @@ -71,6 +71,7 @@ export const createEstimateConfig = () => { "head": " SOR", "subHead": "", "navLink": "Work Details", + "sectionClassName":"table-included-section", "body": [ { type: "component", @@ -92,6 +93,7 @@ export const createEstimateConfig = () => { "head": "NON_SOR", "subHead": "", "navLink": "Work Details", + "sectionClassName":"table-included-section", "body": [ { type: "component", @@ -111,6 +113,7 @@ export const createEstimateConfig = () => { "head": "Other Charges", "subHead": "", "navLink": "Work Details", + "sectionClassName":"table-included-section", "body": [ { "type": "component", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateEstimate/createEstimateConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateEstimate/createEstimateConfig.js index 124b38b95d..a6ba153ef5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateEstimate/createEstimateConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateEstimate/createEstimateConfig.js @@ -22,6 +22,7 @@ export const createEstimateConfig = () => { "head": "WORKS_NON_SOR", "subHead": "", "navLink": "Work Details", + "sectionClassName":"table-included-section", "body": [ { "type": "component", @@ -45,6 +46,7 @@ export const createEstimateConfig = () => { "head": "WORKS_OVERHEADS", "subHead": "", "navLink": "Work Details", + "sectionClassName":"table-included-section", "body": [ { "type": "component", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json index cfbcb40354..68af6aaa22 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-measurement", - "version": "0.2.11", + "version": "0.2.12", "description": "Measurement Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js index e558b04e22..9a4995e0e7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js @@ -152,6 +152,7 @@ export const CreateConfig = ({ defaultValue, measurement, mbnumber }) => { { subHead: "", //forOnlyUpdate : "", + sectionClassName:"table-included-section", body: [ { type: "component", @@ -169,6 +170,7 @@ export const CreateConfig = ({ defaultValue, measurement, mbnumber }) => { { head: "MB_SORS", subHead: "", + sectionClassName:"table-included-section", body: [ { type: "component", @@ -183,6 +185,7 @@ export const CreateConfig = ({ defaultValue, measurement, mbnumber }) => { { head: "MB_NONSOR", subHead: "", + sectionClassName:"table-included-section", body: [ { type: "component", diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index f553d32217..bab9d3c1b4 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -24,8 +24,8 @@ "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-module-attendencemgmt": "0.4.11", "@egovernments/digit-ui-module-contracts": "0.4.11", - "@egovernments/digit-ui-module-measurement":"0.2.11", - "@egovernments/digit-ui-module-estimate": "0.4.16", + "@egovernments/digit-ui-module-measurement":"0.2.12", + "@egovernments/digit-ui-module-estimate": "0.4.17", "@egovernments/digit-ui-module-masters": "0.4.15", "@egovernments/digit-ui-module-project": "0.4.11", "@egovernments/digit-ui-module-expenditure": "0.4.9", diff --git a/frontend/micro-ui/web/public/index.html b/frontend/micro-ui/web/public/index.html index 9f9d7a42e6..c069eb5c2b 100644 --- a/frontend/micro-ui/web/public/index.html +++ b/frontend/micro-ui/web/public/index.html @@ -9,7 +9,7 @@ rel='stylesheet' type='text/css'> - + From 24f63de7aeecab0e95cecf1c423873a251b26447 Mon Sep 17 00:00:00 2001 From: Lokendra Tyagi Date: Thu, 10 Oct 2024 14:53:02 +0530 Subject: [PATCH 275/292] fixed total value --- .../works-pdf/src/routes/paymentTracker.js | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/utilities/works-pdf/src/routes/paymentTracker.js b/utilities/works-pdf/src/routes/paymentTracker.js index d2a4a3df3c..24844e49ae 100644 --- a/utilities/works-pdf/src/routes/paymentTracker.js +++ b/utilities/works-pdf/src/routes/paymentTracker.js @@ -116,9 +116,9 @@ router.post( if(projects.estimatedAmount != null){ estimatedAmount = projects.estimatedAmount; } - if(projects.total != null){ - total = projects.total; - } + // if(projects.total != null){ + // total = projects.total; + // } if(projects.paymentDetails && projects.paymentDetails.length > 0){ for (var i = 0; i < projects.paymentDetails.length; i++) { @@ -162,14 +162,24 @@ router.post( if(bills[i].businessObject.beneficiaryDetails && bills[i].businessObject.beneficiaryDetails.length > 0){ for(var j = 0; j < bills[i].businessObject.beneficiaryDetails.length; j++){ if(bills[i].businessObject.beneficiaryDetails[j].paymentStatus == "Payment Successful"){ - bills[i].businessObject["successAmount"] += bills[i].businessObject.netAmount; + bills[i].businessObject["successAmount"] += bills[i].businessObject.beneficiaryDetails[j].amount; } if(bills[i].businessObject.beneficiaryDetails[j].paymentStatus == "Payment Failed"){ - bills[i].businessObject["failedAmount"] += bills[i].businessObject.netAmount; + bills[i].businessObject["failedAmount"] += bills[i].businessObject.beneficiaryDetails[j].amount; } } } + }else if(bills[i].businessObject.piStatus == "COMPLETED"){ + for(var j = 0; j < bills[i].businessObject.beneficiaryDetails.length; j++){ + if(bills[i].businessObject.beneficiaryDetails[j].paymentStatus == "Payment Successful"){ + bills[i].businessObject["successAmount"] += bills[i].businessObject.beneficiaryDetails[j].amount; + } + if(bills[i].businessObject.beneficiaryDetails[j].paymentStatus == "Payment Failed"){ + bills[i].businessObject["failedAmount"] += bills[i].businessObject.beneficiaryDetails[j].amount; + } + } } + total += bills[i].businessObject.successAmount; } } From d0aa512518a893ff5dd8cab2fc382c8eddd92853 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 10 Oct 2024 15:16:14 +0530 Subject: [PATCH 276/292] UCEM-765 : UI/UX and LTS fixed from the UI --- .../micro-ui/web/micro-ui-internals/example/package.json | 6 +++--- .../packages/modules/Expenditure/package.json | 2 +- .../src/pages/employee/Payments/ViewPayment.js | 4 ++-- .../packages/modules/Masters/package.json | 2 +- .../CreateOrganization/CreateOrganizationForm.js | 2 +- .../CreateOrganization/CreateOrganizationForm.js | 2 +- .../WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js | 8 +++++--- .../packages/modules/Project/package.json | 2 +- .../Project/src/components/SubProjectDetailsTable.js | 2 +- frontend/micro-ui/web/package.json | 6 +++--- 10 files changed, 19 insertions(+), 17 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index ecf9bd6c66..227b0e182d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -19,9 +19,9 @@ "@egovernments/digit-ui-module-contracts": "0.4.11", "@egovernments/digit-ui-module-measurement":"0.2.12", "@egovernments/digit-ui-module-estimate": "0.4.17", - "@egovernments/digit-ui-module-masters": "0.4.15", - "@egovernments/digit-ui-module-project": "0.4.11", - "@egovernments/digit-ui-module-expenditure": "0.4.9", + "@egovernments/digit-ui-module-masters": "0.4.16", + "@egovernments/digit-ui-module-project": "0.4.12", + "@egovernments/digit-ui-module-expenditure": "0.4.10", "@egovernments/digit-ui-customisation-mukta": "0.2.8", "@egovernments/digit-ui-module-rate-analysis": "0.4.9", "http-proxy-middleware": "^1.0.5", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json index 86235f886b..b1afdc5982 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-expenditure", - "version": "0.4.9", + "version": "0.4.10", "description": "Expenditure Management Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Payments/ViewPayment.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Payments/ViewPayment.js index 50d2c9dc93..74ba60f5b2 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Payments/ViewPayment.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/Payments/ViewPayment.js @@ -1,8 +1,8 @@ import React, { useState, useEffect } from 'react' import { useTranslation } from "react-i18next"; -import { Header } from '@egovernments/digit-ui-react-components'; +import { Header } from '@egovernments/digit-ui-react-components'; import ApplicationDetails from '../../../../../templates/ApplicationDetails'; -import { Toast,ActionBar } from '@egovernments/digit-ui-components'; +import { Toast,ActionBar, Button } from '@egovernments/digit-ui-components'; const ViewPayment = () => { const { t } = useTranslation(); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json index 6d25227f39..1cd27d3a4f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-masters", - "version": "0.4.15", + "version": "0.4.16", "description": "Masters Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/components/CreateOrganization/CreateOrganizationForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/components/CreateOrganization/CreateOrganizationForm.js index 1542b5be37..851c045eb9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/components/CreateOrganization/CreateOrganizationForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/components/CreateOrganization/CreateOrganizationForm.js @@ -26,7 +26,7 @@ const CreateOrganizationForm = ({setCreateOrgStatus, sessionFormData, setSession wards, localities } }, - },includeChildren = true) + },true) const filteredLocalities = isLoading ? [] : wardsAndLocalities?.localities[selectedWard] diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Organisation/CreateOrganization/CreateOrganizationForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Organisation/CreateOrganization/CreateOrganizationForm.js index 0a2d521460..6aa8841790 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Organisation/CreateOrganization/CreateOrganizationForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/Organisation/CreateOrganization/CreateOrganizationForm.js @@ -63,7 +63,7 @@ const CreateOrganizationForm = ({ createOrganizationConfig, sessionFormData, set wards, localities } } - },includeChildren = true); + },true); const filteredLocalities = wardsAndLocalities?.localities[selectedWard]; //org data diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js index 5e53a789b5..e46363d8c7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js @@ -1,10 +1,10 @@ import React, { useMemo, useState, useEffect } from 'react' import { useTranslation } from "react-i18next"; import { useHistory } from 'react-router-dom'; -import { FormComposer } from '@egovernments/digit-ui-components'; +import { FormComposer } from '@egovernments/digit-ui-react-components'; import { getWageSeekerUpdatePayload, getBankAccountUpdatePayload, getWageSeekerSkillDeletePayload } from '../../../../utils'; import debounce from 'lodash/debounce'; -import { Toast } from '@egovernments/digit-ui-components'; +import { Loader, Toast } from '@egovernments/digit-ui-components'; const navConfig = [{ name:"Wage_Seeker_Details", @@ -95,7 +95,7 @@ const requestCriteria = { wards, localities } } - },includeChildren = true); + },true); const filteredLocalities = wardsAndLocalities?.localities[selectedWard]; //wage seeker form config @@ -365,6 +365,8 @@ const requestCriteria = { debouncedOnModalSubmit(_data); }; + if(isLoading) return + return ( { let filteredSubTypeOfProject = ( subProjectTypeOfProjectOptions && subProjectTypeOfProjectOptions?.projectSubType ) ? ( diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index bab9d3c1b4..77f2d47dbc 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -26,9 +26,9 @@ "@egovernments/digit-ui-module-contracts": "0.4.11", "@egovernments/digit-ui-module-measurement":"0.2.12", "@egovernments/digit-ui-module-estimate": "0.4.17", - "@egovernments/digit-ui-module-masters": "0.4.15", - "@egovernments/digit-ui-module-project": "0.4.11", - "@egovernments/digit-ui-module-expenditure": "0.4.9", + "@egovernments/digit-ui-module-masters": "0.4.16", + "@egovernments/digit-ui-module-project": "0.4.12", + "@egovernments/digit-ui-module-expenditure": "0.4.10", "@egovernments/digit-ui-customisation-mukta": "0.2.8", "@egovernments/digit-ui-module-rate-analysis": "0.4.9", "babel-loader": "8.1.0", From 8f593b86dd4599ed7cc99a5394c42c5ffd7b25f7 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Thu, 10 Oct 2024 15:43:38 +0530 Subject: [PATCH 277/292] boundary service changed --- frontend/works_shg_app/.env | 26 ++++----- .../app_initilization/home_screen_bloc.dart | 8 +-- .../blocs/organisation/org_search_bloc.dart | 21 +++++--- .../wage_seeker_locality_bloc.dart | 24 +++++---- .../wage_seeker_location_bloc.dart | 18 ++++--- .../works_shg_app/lib/pages/org_profile.dart | 13 +++-- .../service_requests/service_requests.dart | 17 +++--- .../lib/pages/view_muster_rolls.dart | 17 +++--- frontend/works_shg_app/lib/services/urls.dart | 54 +++++++++++++++---- 9 files changed, 126 insertions(+), 72 deletions(-) diff --git a/frontend/works_shg_app/.env b/frontend/works_shg_app/.env index 51dfd97a24..b43e1c771a 100644 --- a/frontend/works_shg_app/.env +++ b/frontend/works_shg_app/.env @@ -1,17 +1,6 @@ -BASE_URL='https://mukta-uat.digit.org/' -MDMS_API_PATH='egov-mdms-service/v1/_search' -GLOBAL_ASSETS='https://mukta-uat.digit.org/mukta-uat-bucket-s3/muktaGlobalConfig.json' -TENANT_ID='statea' -CONNECT_TIMEOUT="120000" -RECEIVE_TIMEOUT="120000" -SEND_TIMEOUT="120000" -ENV_NAME="UAT" -AADHAAR_VERIFY_PATH='http://164.100.141.79/authekycv4/api/authenticate' - - -# BASE_URL='https://unified-qa.digit.org/' +# BASE_URL='https://mukta-uat.digit.org/' # MDMS_API_PATH='egov-mdms-service/v1/_search' -# GLOBAL_ASSETS='https://egov-dev-assets.s3.ap-south-1.amazonaws.com/globalConfigsMuktaWorksShgQA.json' +# GLOBAL_ASSETS='https://mukta-uat.digit.org/mukta-uat-bucket-s3/muktaGlobalConfig.json' # TENANT_ID='statea' # CONNECT_TIMEOUT="120000" # RECEIVE_TIMEOUT="120000" @@ -19,3 +8,14 @@ AADHAAR_VERIFY_PATH='http://164.100.141.79/authekycv4/api/authenticate' # ENV_NAME="UAT" # AADHAAR_VERIFY_PATH='http://164.100.141.79/authekycv4/api/authenticate' + +BASE_URL='https://unified-qa.digit.org/' +MDMS_API_PATH='egov-mdms-service/v1/_search' +GLOBAL_ASSETS='https://egov-dev-assets.s3.ap-south-1.amazonaws.com/globalConfigsMuktaWorksShgQA.json' +TENANT_ID='statea' +CONNECT_TIMEOUT="120000" +RECEIVE_TIMEOUT="120000" +SEND_TIMEOUT="120000" +ENV_NAME="UAT" +AADHAAR_VERIFY_PATH='http://164.100.141.79/authekycv4/api/authenticate' + diff --git a/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.dart b/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.dart index 3f9babde95..c3174b8fa0 100644 --- a/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/app_initilization/home_screen_bloc.dart @@ -73,15 +73,9 @@ class HomeScreenBloc extends Bloc { actionMaster: 'actions-test', enabled: true, roleCodes: GlobalVariables.roles, - tenantId: "od", + tenantId: GlobalVariables.tenantId ?? "od", ); - - // List? cboHomeScreenConfig = - // configModel.commonUiConfig?.cboHomeScreenConfig; - // cboHomeScreenConfig = cboHomeScreenConfig?.toList() - // ?..sort((a, b) => a.order!.compareTo(b.order!.toInt())); - emit(HomeScreenBlocState.loaded(null, configModel)); } on DioException catch (e) { emit(HomeScreenBlocState.error(e.response?.data['Errors'][0]['code'])); diff --git a/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.dart b/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.dart index 7d37f1f7fa..3f5be5b3ca 100644 --- a/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/organisation/org_search_bloc.dart @@ -28,11 +28,17 @@ class ORGSearchBloc extends Bloc { OrganisationListModel organisationListModel = await ORGRepository(client.init()) .searchORG(url: Urls.orgServices.orgSearch, body: { - "SearchCriteria": {"contactMobileNumber": event.mobileNumber}, + "SearchCriteria": { + "contactMobileNumber": event.mobileNumber, + "tenantId": GlobalVariables.tenantId + //"tenantId": "pg.citya" + }, "Pagination": {"offSet": 0, "limit": 10} }); GlobalVariables.organisationListModel = organisationListModel; - GlobalVariables.tenantId=organisationListModel.organisations?.first.tenantId??GlobalVariables.tenantId; + GlobalVariables.tenantId = + organisationListModel.organisations?.first.tenantId ?? + GlobalVariables.tenantId; await Future.delayed(const Duration(seconds: 1)); emit(ORGSearchState.loaded(organisationListModel)); } on DioException catch (e) { @@ -40,8 +46,8 @@ class ORGSearchBloc extends Bloc { } } - - FutureOr mbOrgSearch(SearchMbORGEvent event, ORGSearchEmitter emit) async { + FutureOr mbOrgSearch( + SearchMbORGEvent event, ORGSearchEmitter emit) async { Client client = Client(); try { emit(const ORGSearchState.loading()); @@ -52,7 +58,9 @@ class ORGSearchBloc extends Bloc { "Pagination": {"offSet": 0, "limit": 1000} }); GlobalVariables.organisationListModel = organisationListModel; - GlobalVariables.tenantId=organisationListModel.organisations?.first.tenantId??GlobalVariables.tenantId; + GlobalVariables.tenantId = + organisationListModel.organisations?.first.tenantId ?? + GlobalVariables.tenantId; await Future.delayed(const Duration(seconds: 1)); emit(ORGSearchState.loaded(organisationListModel)); } on DioException catch (e) { @@ -64,7 +72,8 @@ class ORGSearchBloc extends Bloc { @freezed class ORGSearchEvent with _$ORGSearchEvent { const factory ORGSearchEvent.search(String mobileNumber) = SearchORGEvent; - const factory ORGSearchEvent.mbOrgsearch({ required String tenantId}) = SearchMbORGEvent; + const factory ORGSearchEvent.mbOrgsearch({required String tenantId}) = + SearchMbORGEvent; } @freezed diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_locality_bloc.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_locality_bloc.dart index eefc49157b..6e5a99c957 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_locality_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_locality_bloc.dart @@ -5,6 +5,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:works_shg_app/models/mdms/location_mdms.dart'; import 'package:works_shg_app/services/urls.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; import '../../data/remote_client.dart'; import '../../data/repositories/common_repository/common_repository.dart'; @@ -20,21 +21,24 @@ class WageSeekerLocalityBloc } FutureOr _onWageSeekerLocality( - LocalityEventWageSeeker event, - WageSeekerLocalityEmitter emit, - ) async { + LocalityEventWageSeeker event, + WageSeekerLocalityEmitter emit, + ) async { Client client = Client(); try { emit(const WageSeekerLocalityState.loading()); Location result = await CommonRepository(client.init()).getCities( - url: Urls.commonServices.fetchCities, - queryParameters: { - "hierarchyTypeCode": "ADMIN", - "boundaryType": "locality", - "tenantId": event.tenantId.toString() - }, - ); + url: Urls.commonServices.fetchCities, + queryParameters: { + "hierarchyType": "ADMIN", + "boundaryType": "Locality", + "tenantId": event.tenantId.toString() + }, + options: Options(extra: { + "accessToken": GlobalVariables.authToken, + "userInfo": GlobalVariables.userRequestModel, + })); if (result != null) { emit(WageSeekerLocalityState.loaded(result)); diff --git a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_location_bloc.dart b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_location_bloc.dart index 89f1d37d75..abf02199dd 100644 --- a/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_location_bloc.dart +++ b/frontend/works_shg_app/lib/blocs/wage_seeker_registration/wage_seeker_location_bloc.dart @@ -4,6 +4,7 @@ import 'package:dio/dio.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:works_shg_app/services/urls.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; import '../../data/remote_client.dart'; import '../../data/repositories/common_repository/common_repository.dart'; @@ -28,13 +29,16 @@ class WageSeekerLocationBloc emit(const WageSeekerLocationState.loading()); Location result = await CommonRepository(client.init()).getCities( - url: Urls.commonServices.fetchCities, - queryParameters: { - "hierarchyTypeCode": "ADMIN", - "boundaryType": "Ward", - "tenantId": event.tenantId.toString() - }, - ); + url: Urls.commonServices.fetchCities, + queryParameters: { + "hierarchyType": "ADMIN", + "boundaryType": "Ward", + "tenantId": event.tenantId.toString() + }, + options: Options(extra: { + "accessToken": GlobalVariables.authToken, + "userInfo": GlobalVariables.userRequestModel, + })); if (result != null) { emit(WageSeekerLocationState.loaded(result)); diff --git a/frontend/works_shg_app/lib/pages/org_profile.dart b/frontend/works_shg_app/lib/pages/org_profile.dart index 1bbd8a7664..9076fa0008 100644 --- a/frontend/works_shg_app/lib/pages/org_profile.dart +++ b/frontend/works_shg_app/lib/pages/org_profile.dart @@ -380,11 +380,14 @@ class _ORGProfilePage extends State { }); }, ), - const SizedBox(height: 30), - const Align( - alignment: Alignment.bottomCenter, - child: PoweredByDigit( - version: Constants.appVersion, + + Padding( + padding: EdgeInsets.all(Theme.of(context).spacerTheme.spacer4), + child: const Align( + alignment: Alignment.bottomCenter, + child: PoweredByDigit( + version: Constants.appVersion, + ), ), ), ])); diff --git a/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart b/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart index 953cea81ba..72232b76ef 100644 --- a/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart +++ b/frontend/works_shg_app/lib/pages/service_requests/service_requests.dart @@ -77,15 +77,18 @@ class _MyServiceRequestsPage extends State { loading: () => shg_loader.Loaders.circularLoader(context), loaded: (ContractsModel? contractsModel) { return (contractsModel?.contracts ?? []).isEmpty - ? const SizedBox( - height: 30, - child: Align( - alignment: Alignment.bottomCenter, - child: PoweredByDigit( - version: Constants.appVersion, + ? Padding( + padding: EdgeInsets.all(Theme.of(context).spacerTheme.spacer4), + child: const SizedBox( + height: 45, + child: Align( + alignment: Alignment.bottomCenter, + child: PoweredByDigit( + version: Constants.appVersion, + ), ), ), - ) + ) : const SizedBox.shrink(); }); }); diff --git a/frontend/works_shg_app/lib/pages/view_muster_rolls.dart b/frontend/works_shg_app/lib/pages/view_muster_rolls.dart index 5f55433096..f8d10cc953 100644 --- a/frontend/works_shg_app/lib/pages/view_muster_rolls.dart +++ b/frontend/works_shg_app/lib/pages/view_muster_rolls.dart @@ -70,15 +70,18 @@ class _ViewMusterRollsPage extends State { loading: () => shg_loader.Loaders.circularLoader(context), loaded: (MusterRollsModel? musterRollsModel) { return musterList.isEmpty || musterList.length == 1 - ? const SizedBox( - height: 30, - child: Align( - alignment: Alignment.bottomCenter, - child: PoweredByDigit( - version: Constants.appVersion, + ? Padding( + padding: EdgeInsets.all(Theme.of(context).spacerTheme.spacer4), + child: const SizedBox( + height: 45, + child: Align( + alignment: Alignment.bottomCenter, + child: PoweredByDigit( + version: Constants.appVersion, + ), ), ), - ) + ) : const SizedBox.shrink(); }); }), diff --git a/frontend/works_shg_app/lib/services/urls.dart b/frontend/works_shg_app/lib/services/urls.dart index 005393982c..75899fb12d 100644 --- a/frontend/works_shg_app/lib/services/urls.dart +++ b/frontend/works_shg_app/lib/services/urls.dart @@ -21,7 +21,8 @@ class CommonServices { 'egov-workflow-v2/egov-wf/businessservice/_search'; String get fileUpload => 'filestore/v1/files'; String get fileFetch => 'filestore/v1/files/url'; - String get fetchCities => 'egov-location/location/v11/boundarys/_search'; + String get fetchCitiesold => 'egov-location/location/v11/boundarys/_search'; + String get fetchCities => 'boundary-service/boundary-relationships/_search'; String get bankDetails => 'https://ifsc.razorpay.com'; String get pdfDownload => 'egov-pdf/download'; } @@ -42,8 +43,9 @@ class BillServices { class WageSeekerServices { const WageSeekerServices(); // unified-qa - // String get individualCreate => 'mukta-individual/v1/_create'; - String get individualCreate => 'individual/v1/_create'; + String get individualCreate => 'mukta-individual/v1/_create'; + // uat-prod + //String get individualCreate => 'individual/v1/_create'; String get bankCreate => '/bankaccount-service/bankaccount/v1/_create'; String get adharVerifyUrl=>'http://164.100.141.79/authekycv4/api/authenticate'; @@ -71,15 +73,25 @@ class UserServices { class WorkServices { const WorkServices(); - String get myWorks => 'contract/v1/_search'; - String get updateWorkOrder => 'contract/v1/_update'; - String get createWorkOrder => 'contract/v1/_create'; + //uat-prod + // String get myWorks => 'contract/v1/_search'; + // String get updateWorkOrder => 'contract/v1/_update'; + // String get createWorkOrder => 'contract/v1/_create'; + + + // unified-qa + String get myWorks => 'mukta-contract/v1/_search'; + String get updateWorkOrder => 'mukta-contract/v1/_update'; + String get createWorkOrder => 'mukta-contract/v1/_create'; } class EmpHrms { const EmpHrms(); - String get leadHrmsEmployee => 'egov-hrms/employees/_search'; + // uat-prod + // String get leadHrmsEmployee => 'egov-hrms/employees/_search'; + // unified-qa + String get leadHrmsEmployee => 'mukta-egov-hrms/employees/_search'; } class MusterRollServices { @@ -92,6 +104,18 @@ class MusterRollServices { class AttendanceRegisterServices { const AttendanceRegisterServices(); + + // uat-prod + // String get createAttendanceRegister => 'attendance/v1/_create'; + // String get searchAttendanceRegister => 'attendance/v1/_search'; + // String get createAttendee => 'attendance/attendee/v1/_create'; + // String get createAttendanceLog => 'attendance/log/v1/_create'; + // String get updateAttendanceLog => 'attendance/log/v1/_update'; + // String get deEnrollAttendee => 'attendance/attendee/v1/_delete'; + // String get individualSearch => 'individual/v1/_search'; + // String get wmsIndividualSearch => 'wms/individual/_search'; + + // // unified-qa String get createAttendanceRegister => 'attendance/v1/_create'; String get searchAttendanceRegister => 'attendance/v1/_search'; String get createAttendee => 'attendance/attendee/v1/_create'; @@ -108,8 +132,15 @@ class AttendanceRegisterServices { class MeasurementService{ const MeasurementService(); +// UAT-prod + // String get measurementInbox=>'inbox/v2/_search'; + // String get measurementDetail=>"mukta-services/measurement/_search"; + // String get updateMeasurement => "measurement-service/v1/_update"; + // String get createMeasurement=>"measurement-service/v1/_create"; + + // unified-qa String get measurementInbox=>'inbox/v2/_search'; - String get measurementDetail=>"mukta-services/measurement/_search"; + String get measurementDetail=>"mukta-mukta-services/measurement/_search"; String get updateMeasurement => "measurement-service/v1/_update"; String get createMeasurement=>"measurement-service/v1/_create"; } @@ -120,6 +151,9 @@ class MeasurementService{ class EstimateService{ const EstimateService(); - String get estimateSearch=>'estimate/v1/_search'; - +// uat-prod + // String get estimateSearch=>'estimate/v1/_search'; + + // unified-qa + String get estimateSearch=>'mukta-estimate/v1/_search'; } From 044f296d70605f22fd47ddbe7232d8d487286629 Mon Sep 17 00:00:00 2001 From: kams Date: Thu, 10 Oct 2024 16:00:17 +0530 Subject: [PATCH 278/292] changed column alignments --- .../Mukta/src/configs/UICustomizations.js | 29 ++++---- .../src/hooks/paymentTrackerReport.js | 18 ++--- .../src/components/PaymentTrackerTable.js | 66 +++++++++++++++---- .../src/components/ViewTotalPaymentAmount.js | 2 +- .../configs/ViewScheduledJobsExcelConfig.js | 6 +- .../src/configs/paymentTrackerSearchConfig.js | 21 ++++-- .../pages/employee/paymentTrackerSearch.js | 16 ++--- .../src/utils/paymentTrackerUtils.js | 4 +- .../react-components/src/atoms/Table.js | 2 +- 9 files changed, 101 insertions(+), 63 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js index 51d63c9e99..f7535e315c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js @@ -2949,19 +2949,19 @@ export const UICustomizations = { switch (value) { case "COMPLETED": return ( -
+
{t(value)}
{row.fileStoreId && ( - //
+
{ let excel = ""; @@ -2976,7 +2976,7 @@ export const UICustomizations = { > {t("CS_COMMON_DOWNLOAD")} - //
+
)}
); @@ -3176,33 +3176,26 @@ export const UICustomizations = { ); } if (key === "EXP_ESTIMATED_AMT") { - return ; + return ; } if (key === "EXP_WAGE_PAYMENT_SUCCESS") { - return ; + return ; } if (key === "EXP_WAGE_PAYMENT_FAILED") { - return ; + return ; } if (key === "EXP_PUR_PAYMENT_SUCCESS") { - return ; + return ; } if (key === "EXP_PUR_PAYMENT_FAILED") { - return ; + return ; } if (key === "EXP_SUP_PAYMENT_SUCCESS") { - return ; + return ; } if (key === "EXP_SUP_PAYMENT_FAILED") { - return ; + return ; } - // if (key === "CORE_COMMON_STATUS") { - // return value ? t(`BILL_STATUS_${value}`) : t("ES_COMMON_NA"); - // } - // if (key === "ES_COMMON_LOCATION") { - // const headerLocale = Digit.Utils.locale.getTransformedLocale(row?.tenantId); - // return t(`TENANT_TENANTS_${headerLocale}`); - // } } } }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js index bfd44ec147..8846546609 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/paymentTrackerReport.js @@ -62,15 +62,15 @@ export const paymentTrackerReport = (props) => { } }) data.stickyFooterRow = [ - {'name': '', 'value':''}, - {'name': 'total', 'value': t('Grand Total')}, - {'name': 'estimatedAmount', 'value': 0}, - {'name': 'wagebillsuccess', 'value': 0}, - {'name': 'wagebillFailed', 'value': 0}, - {'name': 'purchasebillSuccess', 'value': 0}, - {'name': 'purchasebillFailed', 'value': 0}, - {'name': 'supervisionbillSuccess', 'value': 0}, - {'name': 'supervisionbillFailed', 'value': 0} + {'name': '', 'value':'', style: {fontWeight: 'bold'}}, + {'name': 'total', 'value': t('PAGE_TOTAL'), style: {fontWeight: 'bold'}}, + {'name': 'estimatedAmount', 'value': 0, style: {fontWeight: 'bold', textAlign: 'right'}}, + {'name': 'wagebillsuccess', 'value': 0, style: {fontWeight: 'bold', textAlign: 'right'}}, + {'name': 'wagebillFailed', 'value': 0, style: {fontWeight: 'bold', textAlign: 'right'}}, + {'name': 'purchasebillSuccess', 'value': 0, style: {fontWeight: 'bold', textAlign: 'right'}}, + {'name': 'purchasebillFailed', 'value': 0, style: {fontWeight: 'bold', textAlign: 'right'}}, + {'name': 'supervisionbillSuccess', 'value': 0, style: {fontWeight: 'bold', textAlign: 'right'}}, + {'name': 'supervisionbillFailed', 'value': 0, style: {fontWeight: 'bold', textAlign: 'right'}} ] data?.aggsResponse?.projects?.forEach((ob, index) => { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/PaymentTrackerTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/PaymentTrackerTable.js index f967824d4a..fc7652d1c9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/PaymentTrackerTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/PaymentTrackerTable.js @@ -33,10 +33,18 @@ const PaymentTrackerTable = ({excludeFailed, setExcludeFailed, ...props}) => { } }, { - Header: t("BILL_AMOUNT_RS"), + Header: () => ( +
+ {t("BILL_AMOUNT_RS")} +
+ ), accessor: "total", Cell: ({ value, column, row }) => { - return amountFormatter(value); + return ( +
+ {amountFormatter(value)} +
+ ); } }, { @@ -67,24 +75,40 @@ const PaymentTrackerTable = ({excludeFailed, setExcludeFailed, ...props}) => { } }, { - Header: t("PI_TYPE"), + Header: () => ( +
+ {t("PI_TYPE")} +
+ ), accessor: "piType", Cell: ({ value, column, row }) => { return String(t(value)); } }, { - Header: t("PI_CREATION_DATE"), + Header: () => ( +
+ {t("PI_CREATION_DATE")} +
+ ), accessor: "piCreationDate", Cell: ({ value, column, row }) => { return String(t(value)); } }, { - Header: t("PI_AMOUNT_RS"), + Header: () => ( +
+ {t("PI_AMOUNT_RS")} +
+ ), accessor: "paidAmount", Cell: ({ value, column, row }) => { - return amountFormatter(value); + return ( +
+ {amountFormatter(value)} +
+ ); } }, { @@ -99,24 +123,44 @@ const PaymentTrackerTable = ({excludeFailed, setExcludeFailed, ...props}) => { } }, { - Header: t("PI_STATUS"), + Header: () => ( +
+ {t("PI_STATUS")} +
+ ), accessor: "piStatus", Cell: ({ value, column, row }) => { return String(t(value)); } }, { - Header: t("PAYMENT_FAILED_RS"), + Header: () => ( +
+ {t("PAYMENT_FAILED_RS")} +
+ ), accessor: "paymentFailed", Cell: ({ value, column, row }) => { - return amountFormatter(value); + return ( +
+ {amountFormatter(value)} +
+ ); } }, { - Header: t("PAYMENT_SUCCESSFUL_RS"), + Header: () => ( +
+ {t("PAYMENT_SUCCESSFUL_RS")} +
+ ), accessor: "paymentSuccessful", Cell: ({ value, column, row }) => { - return amountFormatter(value); + return ( +
+ {amountFormatter(value)} +
+ ); } }, ] diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/ViewTotalPaymentAmount.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/ViewTotalPaymentAmount.js index d647d7ccce..b86222ce33 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/ViewTotalPaymentAmount.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/ViewTotalPaymentAmount.js @@ -6,7 +6,7 @@ const ViewTotalPaymentAmount = (props) => { const { t } = useTranslation(); - const amount = props?.tableRows?.map(row => (props?.excludeFailed ? (row.piStatus === 'FAILED' ? 0 : row.paidAmount) : row.paidAmount)).reduce((acc, curr) => acc + curr, 0); + const amount = props?.tableRows?.map(row => (props?.excludeFailed ? (row.piStatus === 'FAILED' ? 0 : row.paymentSuccessful) : row.paymentSuccessful)).reduce((acc, curr) => acc + curr, 0); return (
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/ViewScheduledJobsExcelConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/ViewScheduledJobsExcelConfig.js index 37bb44dcbc..15529b4d86 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/ViewScheduledJobsExcelConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/ViewScheduledJobsExcelConfig.js @@ -116,15 +116,11 @@ const ViewScheduledJobsExcelConfig = { jsonPath: "noOfProjects", // additionalCustomization: true, }, - // { - // label: "EXP_SUCCESSFUL", - // jsonPath: "", - // // additionalCustomization: true, - // }, { label: "EXP_STATUS_ACTION", jsonPath: "status", additionalCustomization: true, + headerAlign: "right", }, ], enableGlobalSearch: false, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/paymentTrackerSearchConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/paymentTrackerSearchConfig.js index aff86b8b4b..198f2d41d0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/paymentTrackerSearchConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/paymentTrackerSearchConfig.js @@ -175,38 +175,45 @@ export const paymentTrackerSearchConfig = { { "label": "EXP_ESTIMATED_AMT", "jsonPath": "estimatedAmount", - "additionalCustomization": true + "additionalCustomization": true, + "headerAlign": "right" }, { "label": "EXP_WAGE_PAYMENT_SUCCESS", "jsonPath": "wagebillsuccess", - "additionalCustomization": true + "additionalCustomization": true, + "headerAlign": "right" }, { "label": "EXP_WAGE_PAYMENT_FAILED", //"jsonPath": "$.paymentDetails[?(@.billType == 'EXPENSE.WAGE')].remainingAmount", "jsonPath":"wagebillFailed", - "additionalCustomization": true + "additionalCustomization": true, + "headerAlign": "right" }, { "label": "EXP_PUR_PAYMENT_SUCCESS", "jsonPath": "purchasebillSuccess", - "additionalCustomization": true + "additionalCustomization": true, + "headerAlign": "right" }, { "label": "EXP_PUR_PAYMENT_FAILED", "jsonPath": "purchasebillFailed", - "additionalCustomization": true + "additionalCustomization": true, + "headerAlign": "right" }, { "label": "EXP_SUP_PAYMENT_SUCCESS", "jsonPath": "supervisionbillSuccess", - "additionalCustomization": true + "additionalCustomization": true, + "headerAlign": "right" }, { "label": "EXP_SUP_PAYMENT_FAILED", "jsonPath": "supervisionbillFailed", - "additionalCustomization": true + "additionalCustomization": true, + "headerAlign": "right" } ], "enableGlobalSearch": false, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/paymentTrackerSearch.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/paymentTrackerSearch.js index b9180c77b6..29c450cb40 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/paymentTrackerSearch.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/paymentTrackerSearch.js @@ -1,6 +1,6 @@ import React, {useEffect, useMemo, useState} from "react"; import { useTranslation } from "react-i18next"; -import { Header, InboxSearchComposer,Loader } from "@egovernments/digit-ui-react-components"; +import { Header, InboxSearchComposer,Loader, MultiLink } from "@egovernments/digit-ui-react-components"; import { paymentTrackerSearchConfig } from "../../configs/paymentTrackerSearchConfig"; import { Toast, ActionBar, SubmitBar } from "@egovernments/digit-ui-components"; import { useHistory } from "react-router-dom/cjs/react-router-dom.min"; @@ -79,12 +79,16 @@ const PaymentTrackerSearch = () => { }, }); } - //if (isLoading) return return ( -
{t(configs?.label)}
+
+
+ {t(configs?.label)} +
+ {history.push(`/${window.contextPath}/employee/expenditure/view-jobs-excel`) }} downloadBtnClassName={"employee-download-btn-className"} label={t("CS_COMMON_DOWNLOAD")} /> +
@@ -96,12 +100,6 @@ const PaymentTrackerSearch = () => { style={{width: "auto"}} // disabled={!selectedSorIds.hasOwnProperty("sorIds") || selectedSorIds?.sorIds?.length <= 0 || selectedSorIds?.sorType !== "W"} /> - {history.push(`/${window.contextPath}/employee/expenditure/view-jobs-excel`) }} - style={{width: "auto"}} - // disabled={!selectedSorIds.hasOwnProperty("sorIds") || selectedSorIds?.sorIds?.length <= 0 || selectedSorIds?.sorType !== "W"} - />
) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/utils/paymentTrackerUtils.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/utils/paymentTrackerUtils.js index 482ce11aa4..e5595d8848 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/utils/paymentTrackerUtils.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/utils/paymentTrackerUtils.js @@ -73,13 +73,13 @@ export const transformBillData = ({projectBillData}) => { billNumber: bill?.businessObject?.additionalDetails?.billNumber?.[0], workOrderNumber: bill?.businessObject?.additionalDetails?.referenceId?.[0], billType: billType, - total: bill?.businessObject?.netAmount, + total: bill?.businessObject?.grossAmount, piNumber: bill?.businessObject?.jitBillNo, paymentNumber: bill?.businessObject?.muktaReferenceId, parentPi: bill?.businessObject?.parentPiNumber || t("NA"), piType: piType, piCreationDate: getDate(piCreationDate), - paidAmount: bill?.businessObject?.netAmount, + paidAmount: bill?.businessObject?.grossAmount, piDate: getDate(piDate), piStatus: bill?.businessObject?.piStatus, paymentFailed: paymentFailed, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/Table.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/Table.js index cc6eb13b95..a9337b737d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/Table.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/Table.js @@ -215,7 +215,7 @@ const Table = ({ {stickyFooter && (
{stickyFooter?.map(el => ( - ))} From 2bc654e6818f935c956e91e03c2f28acfd3a9402 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Thu, 10 Oct 2024 16:00:19 +0530 Subject: [PATCH 279/292] UCEM-765 : updated the logic for create purchase bill --- frontend/micro-ui/web/micro-ui-internals/example/package.json | 2 +- .../packages/modules/Expenditure/package.json | 2 +- .../packages/modules/Expenditure/src/utils/createBillUtils.js | 2 +- frontend/micro-ui/web/package.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index 227b0e182d..390647e43b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -21,7 +21,7 @@ "@egovernments/digit-ui-module-estimate": "0.4.17", "@egovernments/digit-ui-module-masters": "0.4.16", "@egovernments/digit-ui-module-project": "0.4.12", - "@egovernments/digit-ui-module-expenditure": "0.4.10", + "@egovernments/digit-ui-module-expenditure": "0.4.11", "@egovernments/digit-ui-customisation-mukta": "0.2.8", "@egovernments/digit-ui-module-rate-analysis": "0.4.9", "http-proxy-middleware": "^1.0.5", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json index b1afdc5982..06c42c4ac5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-expenditure", - "version": "0.4.10", + "version": "0.4.11", "description": "Expenditure Management Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/utils/createBillUtils.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/utils/createBillUtils.js index c019e98d3e..1f0a3f2ca0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/utils/createBillUtils.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/utils/createBillUtils.js @@ -87,7 +87,7 @@ export const createBillPayload = (data, contract, docConfigData,workflowDetails "payee": { "tenantId": tenantId, "type": "ORG", - "identifier": data?.invoiceDetails_vendor?.code, + "identifier": data?.invoiceDetails_vendorId, "status": "ACTIVE" }, "lineItems": [ diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index 77f2d47dbc..3d44dabf0f 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -28,7 +28,7 @@ "@egovernments/digit-ui-module-estimate": "0.4.17", "@egovernments/digit-ui-module-masters": "0.4.16", "@egovernments/digit-ui-module-project": "0.4.12", - "@egovernments/digit-ui-module-expenditure": "0.4.10", + "@egovernments/digit-ui-module-expenditure": "0.4.11", "@egovernments/digit-ui-customisation-mukta": "0.2.8", "@egovernments/digit-ui-module-rate-analysis": "0.4.9", "babel-loader": "8.1.0", From f97e50ed47fdb44ea3cc62b5b3d53cb1c22d2b31 Mon Sep 17 00:00:00 2001 From: kams Date: Thu, 10 Oct 2024 16:08:11 +0530 Subject: [PATCH 280/292] package version reverted --- .../micro-ui/web/micro-ui-internals/example/package.json | 2 +- .../packages/react-components/package.json | 2 +- frontend/micro-ui/web/package.json | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index 3212096857..37fd0fce9e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -9,7 +9,7 @@ "start": "react-scripts start" }, "devDependencies": { - "@egovernments/digit-ui-react-components": "1.5.13", + "@egovernments/digit-ui-react-components": "1.5.12", "@egovernments/digit-ui-components": "0.0.2-beta.40", "@egovernments/digit-ui-libraries": "1.5.1", "@egovernments/digit-ui-module-core": "1.8.2-beta.10", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json index f9a8d944fd..178e50af16 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-react-components", - "version": "1.5.13", + "version": "1.5.12", "license": "MIT", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index fc1c600f92..7467b63387 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -12,11 +12,13 @@ "micro-ui-internals/packages/react-components", "micro-ui-internals/packages/Mukta", "micro-ui-internals/packages/modules/Estimate", - "micro-ui-internals/packages/modules/RateAnalysis" + "micro-ui-internals/packages/modules/RateAnalysis", + "micro-ui-internals/packages/modules/Expenditure", + "micro-ui-internals/packages/modules/Measurement" ], "homepage": "/mukta-works-ui", "dependencies": { - "@egovernments/digit-ui-react-components": "1.5.13", + "@egovernments/digit-ui-react-components": "1.5.12", "@egovernments/digit-ui-libraries": "1.5.1", "@egovernments/digit-ui-components": "0.0.2-beta.40", "@egovernments/digit-ui-module-core": "1.8.2-beta.10", From 8ae735159c4f8f4eb1ba85bf66591e94ed84a122 Mon Sep 17 00:00:00 2001 From: kams Date: Thu, 10 Oct 2024 17:24:00 +0530 Subject: [PATCH 281/292] upgraded packages for expenditure --- .../micro-ui-internals/example/package.json | 2 +- .../packages/modules/Expenditure/package.json | 66 +++++++++---------- frontend/micro-ui/web/package.json | 2 +- 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index 390647e43b..70de012132 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -21,7 +21,7 @@ "@egovernments/digit-ui-module-estimate": "0.4.17", "@egovernments/digit-ui-module-masters": "0.4.16", "@egovernments/digit-ui-module-project": "0.4.12", - "@egovernments/digit-ui-module-expenditure": "0.4.11", + "@egovernments/digit-ui-module-expenditure": "0.4.12", "@egovernments/digit-ui-customisation-mukta": "0.2.8", "@egovernments/digit-ui-module-rate-analysis": "0.4.9", "http-proxy-middleware": "^1.0.5", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json index 06c42c4ac5..cea3d0a9fd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json @@ -1,34 +1,34 @@ { - "name": "@egovernments/digit-ui-module-expenditure", - "version": "0.4.11", - "description": "Expenditure Management Module UI", - "main": "dist/index.js", - "module": "dist/index.modern.js", - "source": "src/Module.js", - "files": [ - "dist" - ], - "scripts": { - "start": "microbundle-crl watch --no-compress --format modern,cjs", - "build": "microbundle-crl --compress --no-sourcemap --format cjs", - "prepublish": "yarn build" - }, - "peerDependencies": { - "react": "17.0.2", - "react-router-dom": "5.3.0" - }, - "dependencies": { - "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.45", - "lodash": "^4.17.21", - "react": "17.0.2", - "react-date-range": "^1.4.0", - "react-dom": "17.0.2", - "react-hook-form": "6.15.8", - "react-i18next": "11.16.2", - "react-query": "3.6.1", - "react-router-dom": "5.3.0" - }, - "author": "", - "license": "MIT" - } + "name": "@egovernments/digit-ui-module-expenditure", + "version": "0.4.12", + "description": "Expenditure Management Module UI", + "main": "dist/index.js", + "module": "dist/index.modern.js", + "source": "src/Module.js", + "files": [ + "dist" + ], + "scripts": { + "start": "microbundle-crl watch --no-compress --format modern,cjs", + "build": "microbundle-crl --compress --no-sourcemap --format cjs", + "prepublish": "yarn build" + }, + "peerDependencies": { + "react": "17.0.2", + "react-router-dom": "5.3.0" + }, + "dependencies": { + "@egovernments/digit-ui-react-components": "^1.5.0", + "@egovernments/digit-ui-components": "0.0.2-beta.45", + "lodash": "^4.17.21", + "react": "17.0.2", + "react-date-range": "^1.4.0", + "react-dom": "17.0.2", + "react-hook-form": "6.15.8", + "react-i18next": "11.16.2", + "react-query": "3.6.1", + "react-router-dom": "5.3.0" + }, + "author": "", + "license": "MIT" +} diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index 63ffee324a..55c31703fb 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -30,7 +30,7 @@ "@egovernments/digit-ui-module-estimate": "0.4.17", "@egovernments/digit-ui-module-masters": "0.4.16", "@egovernments/digit-ui-module-project": "0.4.12", - "@egovernments/digit-ui-module-expenditure": "0.4.11", + "@egovernments/digit-ui-module-expenditure": "0.4.12", "@egovernments/digit-ui-customisation-mukta": "0.2.8", "@egovernments/digit-ui-module-rate-analysis": "0.4.9", "babel-loader": "8.1.0", From 37dbb5df30c2a0fd95ddee058e9f7655de07a8f0 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Fri, 11 Oct 2024 10:27:39 +0530 Subject: [PATCH 282/292] UCEM-765 : meaasurement update fix --- frontend/micro-ui/web/micro-ui-internals/example/package.json | 2 +- .../packages/modules/Measurement/package.json | 2 +- .../packages/modules/Measurement/src/utils/transformData.js | 2 +- .../modules/Measurement/src/utils/transformEstimateData.js | 4 +++- frontend/micro-ui/web/package.json | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index 390647e43b..206355c0b3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -17,7 +17,7 @@ "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-module-attendencemgmt": "0.4.11", "@egovernments/digit-ui-module-contracts": "0.4.11", - "@egovernments/digit-ui-module-measurement":"0.2.12", + "@egovernments/digit-ui-module-measurement":"0.2.13", "@egovernments/digit-ui-module-estimate": "0.4.17", "@egovernments/digit-ui-module-masters": "0.4.16", "@egovernments/digit-ui-module-project": "0.4.12", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json index 68af6aaa22..6ff8f7a9d1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-measurement", - "version": "0.2.12", + "version": "0.2.13", "description": "Measurement Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/transformData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/transformData.js index 9556fd6d8d..1de6fe6da7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/transformData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/transformData.js @@ -151,7 +151,7 @@ const measurement= { } /* added as a temporary fix that sends entrydate */ - measurement.entryDate=new Date().getTime(); + measurement.entryDate = data?.entryDate ? data?.entryDate : new Date().getTime(); const transformedData = { measurements: [ measurement diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/transformEstimateData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/transformEstimateData.js index bd654bdf4b..c4181b682e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/transformEstimateData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/utils/transformEstimateData.js @@ -116,6 +116,7 @@ export const getDefaultValues = (data, t, mbNumber) => { const Pward = projectWard ? t(`${headerLocale}_ADMIN_${projectWard}`) : ""; // const city = projectLoc ? t(`${Digit.Utils.locale.getTransformedLocale(projectLoc)}`) : ""; const city = projectLoc ? t(`${headerLocale}_ADMIN_${projectLoc}`) : ""; + const entryDate = data?.allMeasurements?.filter(ob => ob?.measurementNumber === mbNumber)?.[0]?.entryDate; const projectLocation = `${Pward ? Pward + ", " : ""}${city}`; let CurrentStartDate = period?.startDate; @@ -163,7 +164,8 @@ export const getDefaultValues = (data, t, mbNumber) => { measurementPeriod: measurementPeriod, CurrentStartDate, CurrentEndDate, - mbNumber + mbNumber, + entryDate }; return { SOR, NONSOR, contractDetails, uploadedDocs, documents:measurement?.documents || allMeasurements?.[0]?.documents }; diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index 3d44dabf0f..090ec606c1 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -24,7 +24,7 @@ "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-module-attendencemgmt": "0.4.11", "@egovernments/digit-ui-module-contracts": "0.4.11", - "@egovernments/digit-ui-module-measurement":"0.2.12", + "@egovernments/digit-ui-module-measurement":"0.2.13", "@egovernments/digit-ui-module-estimate": "0.4.17", "@egovernments/digit-ui-module-masters": "0.4.16", "@egovernments/digit-ui-module-project": "0.4.12", From 4591103e0e95a953deb02c8ac801ee4b1104a5cf Mon Sep 17 00:00:00 2001 From: kams Date: Fri, 11 Oct 2024 10:45:05 +0530 Subject: [PATCH 283/292] added payment tracker in dss card --- .../packages/Mukta/src/components/DSSCard.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/DSSCard.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/DSSCard.js index a9b35641ec..46dbba053a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/DSSCard.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/components/DSSCard.js @@ -3,7 +3,8 @@ import React from "react"; import { useTranslation } from "react-i18next"; const ROLES = { - MUKTADASHBOARD: ["DASHBOARD_VIEWER"] + MUKTADASHBOARD: ["DASHBOARD_VIEWER"], + PAYMENT: ["EMPLOYEE_COMMON"], }; const DSSCard = () => { @@ -42,6 +43,12 @@ const DSSCard = () => { roles: ROLES.MUKTADASHBOARD, target: "_blank" }, + { + label: t("PAYMENT_TRACKER"), + link: `/${window?.contextPath}/employee/expenditure/payment-tracker`, + roles: ROLES.PAYMENT, + target: "_blank" + }, ], }; From 51634766bb76b6926c94916e8cdf1e29c36cfcff Mon Sep 17 00:00:00 2001 From: kams Date: Fri, 11 Oct 2024 10:52:58 +0530 Subject: [PATCH 284/292] reverted packages changes --- frontend/micro-ui/web/package.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index 5e1cf5dcdb..e5b29d78c7 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -12,9 +12,7 @@ "micro-ui-internals/packages/react-components", "micro-ui-internals/packages/Mukta", "micro-ui-internals/packages/modules/Estimate", - "micro-ui-internals/packages/modules/RateAnalysis", - "micro-ui-internals/packages/modules/Expenditure", - "micro-ui-internals/packages/modules/Measurement" + "micro-ui-internals/packages/modules/RateAnalysis" ], "homepage": "/mukta-works-ui", "dependencies": { From d27f2b36f655e91c26b534806b165b8bce5468a0 Mon Sep 17 00:00:00 2001 From: Lokendra Tyagi Date: Fri, 11 Oct 2024 12:43:38 +0530 Subject: [PATCH 285/292] fixed payment date in IST --- utilities/works-pdf/src/routes/paymentTracker.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/utilities/works-pdf/src/routes/paymentTracker.js b/utilities/works-pdf/src/routes/paymentTracker.js index 24844e49ae..9c27e1ebb7 100644 --- a/utilities/works-pdf/src/routes/paymentTracker.js +++ b/utilities/works-pdf/src/routes/paymentTracker.js @@ -116,9 +116,6 @@ router.post( if(projects.estimatedAmount != null){ estimatedAmount = projects.estimatedAmount; } - // if(projects.total != null){ - // total = projects.total; - // } if(projects.paymentDetails && projects.paymentDetails.length > 0){ for (var i = 0; i < projects.paymentDetails.length; i++) { @@ -148,12 +145,23 @@ router.post( return renderError(res, "Failed to query details of the payment instruction", 500); } + function convertEpochToIST(epochTime) { + // Convert epoch time (in milliseconds) to a JavaScript Date object + const date = new Date(epochTime); + + // Format the date in dd/mm/yyyy and adjust to IST timezone + const options = { timeZone: 'Asia/Kolkata', day: '2-digit', month: '2-digit', year: 'numeric' }; + return date.toLocaleDateString('en-GB', options); + } + var paymentInstruction = resPaymentInstruction.data; var bills = paymentInstruction.items; if (bills && bills.length > 0) { for (var i = 0; i < bills.length; i++) { bills[i].businessObject["failedAmount"] = 0; bills[i].businessObject["successAmount"] = 0; + const formattedDate = convertEpochToIST(bills[i].businessObject.auditDetails.lastModifiedTime); + bills[i].businessObject["paymentDate"] = formattedDate; if(bills[i].businessObject.piStatus == "FAILED"){ bills[i].businessObject["failedAmount"] = bills[i].businessObject.netAmount; }else if(bills[i].businessObject.piStatus == "SUCCESSFUL"){ From b6f4ed99132ff68c20c0e4e4de3f282f1f2b1bc0 Mon Sep 17 00:00:00 2001 From: pitabash-eGov Date: Fri, 11 Oct 2024 14:28:51 +0530 Subject: [PATCH 286/292] mdms url changed --- .../lib/blocs/employee/mb/project_type.dart | 3 +- frontend/works_shg_app/lib/services/urls.dart | 52 +++++++++---------- 2 files changed, 27 insertions(+), 28 deletions(-) diff --git a/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart b/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart index 9625bbf472..c0fdbdcbbb 100644 --- a/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart +++ b/frontend/works_shg_app/lib/blocs/employee/mb/project_type.dart @@ -8,6 +8,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:works_shg_app/data/repositories/employee_repository/mdms.dart'; import 'package:works_shg_app/models/employee/mb/mb_project_type.dart'; +import 'package:works_shg_app/utils/global_variables.dart'; import '../../../data/remote_client.dart'; import '../../../services/urls.dart'; @@ -33,7 +34,7 @@ class ProjectTypeBloc extends Bloc { url: Urls.initServices.mdms, body: { "MdmsCriteria": { - "tenantId": "od", + "tenantId": GlobalVariables.tenantId??"od", "moduleDetails": [ { "moduleName": "works", diff --git a/frontend/works_shg_app/lib/services/urls.dart b/frontend/works_shg_app/lib/services/urls.dart index 75899fb12d..3bf7fb8621 100644 --- a/frontend/works_shg_app/lib/services/urls.dart +++ b/frontend/works_shg_app/lib/services/urls.dart @@ -9,8 +9,8 @@ class Urls { static WorkServices workServices = const WorkServices(); static ORGServices orgServices = const ORGServices(); static BillServices billServices = const BillServices(); - static MeasurementService measurementService= const MeasurementService(); - static EmpHrms empHrms =const EmpHrms(); + static MeasurementService measurementService = const MeasurementService(); + static EmpHrms empHrms = const EmpHrms(); static EstimateService estimateService = const EstimateService(); } @@ -43,20 +43,23 @@ class BillServices { class WageSeekerServices { const WageSeekerServices(); // unified-qa - String get individualCreate => 'mukta-individual/v1/_create'; - // uat-prod + String get individualCreate => 'mukta-individual/v1/_create'; + // uat-prod //String get individualCreate => 'individual/v1/_create'; String get bankCreate => '/bankaccount-service/bankaccount/v1/_create'; - String get adharVerifyUrl=>'http://164.100.141.79/authekycv4/api/authenticate'; + String get adharVerifyUrl => + 'http://164.100.141.79/authekycv4/api/authenticate'; } class InitServices { const InitServices(); - String get mdms => 'egov-mdms-service/v1/_search'; - String get mdmsSkill=>"mdms-v2/v1/_search"; + // old + // String get mdms => 'egov-mdms-service/v1/_search'; + String get mdms => 'mdms-v2/v1/_search'; + String get mdmsSkill => "mdms-v2/v1/_search"; String get localizationSearch => 'localization/messages/v1/_search'; - String get empHomeConfig=>'access/v1/actions/mdms/_get'; + String get empHomeConfig => 'access/v1/actions/mdms/_get'; } class UserServices { @@ -78,9 +81,8 @@ class WorkServices { // String get updateWorkOrder => 'contract/v1/_update'; // String get createWorkOrder => 'contract/v1/_create'; - // unified-qa - String get myWorks => 'mukta-contract/v1/_search'; + String get myWorks => 'mukta-contract/v1/_search'; String get updateWorkOrder => 'mukta-contract/v1/_update'; String get createWorkOrder => 'mukta-contract/v1/_create'; } @@ -88,8 +90,8 @@ class WorkServices { class EmpHrms { const EmpHrms(); // uat-prod - // String get leadHrmsEmployee => 'egov-hrms/employees/_search'; - + // String get leadHrmsEmployee => 'egov-hrms/employees/_search'; + // unified-qa String get leadHrmsEmployee => 'mukta-egov-hrms/employees/_search'; } @@ -126,11 +128,8 @@ class AttendanceRegisterServices { String get wmsIndividualSearch => 'wms/individual/_search'; } - - - -class MeasurementService{ - const MeasurementService(); +class MeasurementService { + const MeasurementService(); // UAT-prod // String get measurementInbox=>'inbox/v2/_search'; @@ -138,22 +137,21 @@ class MeasurementService{ // String get updateMeasurement => "measurement-service/v1/_update"; // String get createMeasurement=>"measurement-service/v1/_create"; - // unified-qa - String get measurementInbox=>'inbox/v2/_search'; - String get measurementDetail=>"mukta-mukta-services/measurement/_search"; - String get updateMeasurement => "measurement-service/v1/_update"; - String get createMeasurement=>"measurement-service/v1/_create"; + // unified-qa + String get measurementInbox => 'inbox/v2/_search'; + String get measurementDetail => "mukta-mukta-services/measurement/_search"; + String get updateMeasurement => "measurement-service/v1/_update"; + String get createMeasurement => "measurement-service/v1/_create"; } //estimate/v1/_search - -class EstimateService{ - const EstimateService(); +class EstimateService { + const EstimateService(); // uat-prod // String get estimateSearch=>'estimate/v1/_search'; - // unified-qa - String get estimateSearch=>'mukta-estimate/v1/_search'; + // unified-qa + String get estimateSearch => 'mukta-estimate/v1/_search'; } From 04cc0304067975e534629c1c603b6dfd1335241c Mon Sep 17 00:00:00 2001 From: kams Date: Fri, 11 Oct 2024 15:13:46 +0530 Subject: [PATCH 287/292] vendor id population fix --- .../employee/CreateBills/CreatePurchaseBillForm.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/CreatePurchaseBillForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/CreatePurchaseBillForm.js index 5d52175963..c778ac4e89 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/CreatePurchaseBillForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/pages/employee/CreateBills/CreatePurchaseBillForm.js @@ -86,10 +86,10 @@ const CreatePurchaseBillForm = ({ setValue("invoiceDetails_vendor", contract.additionalDetails?.cboName); setValue("invoiceDetails_vendorId", contract.additionalDetails?.cboOrgNumber); - const organizationDetailsSection = createPurchaseBillConfig.form.find(item => item.head === "EXP_ORGANIZATION_DETAILS"); + let organizationDetailsSection = createPurchaseBillConfig.form.find(item => item.head === "EXP_ORGANIZATION_DETAILS"); if (organizationDetailsSection) { - const vendorField = organizationDetailsSection.body.find(item => item.key === "invoiceDetails_vendor"); + let vendorField = organizationDetailsSection.body.find(item => item.key === "invoiceDetails_vendor"); if (vendorField) { // Disabling and converting the field to text input @@ -98,14 +98,17 @@ const CreatePurchaseBillForm = ({ vendorField.populators.customClass = "disabled-text-field"; } } - } else { + } + + if (difference?.invoiceDetails_organisationType && formData?.invoiceDetails_organisationType?.code === "VEN") { + setValue("invoiceDetails_vendor", ''); setValue("invoiceDetails_vendorId", ''); - const organizationDetailsSection = createPurchaseBillConfig.form.find(item => item.head === "EXP_ORGANIZATION_DETAILS"); + let organizationDetailsSection = createPurchaseBillConfig.form.find(item => item.head === "EXP_ORGANIZATION_DETAILS"); if (organizationDetailsSection) { - const vendorField = organizationDetailsSection.body.find(item => item.key === "invoiceDetails_vendor"); + let vendorField = organizationDetailsSection.body.find(item => item.key === "invoiceDetails_vendor"); if (vendorField) { // Enabling and converting back to dropdown From 4800cf6883deb61e06aae0b1750f3764f16840b6 Mon Sep 17 00:00:00 2001 From: kams Date: Mon, 14 Oct 2024 10:35:35 +0530 Subject: [PATCH 288/292] aligned the text for status field in view excel jobs --- .../packages/Mukta/src/configs/UICustomizations.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js index 0ff237fdcd..90665557d1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js @@ -2982,18 +2982,22 @@ export const UICustomizations = { ); case "INPROGRESS": return ( -
+
{t(value)}
) case "FAILED": return ( -
+
{t(value)}
) default: - return t("CS_COMMON_NA"); + return ( +
+ {t("CS_COMMON_NA")} +
+ ); } default: return t("ES_COMMON_NA"); From b3f133fb6a50fb69d7df662f14aabfdc2dc1aaf5 Mon Sep 17 00:00:00 2001 From: kams Date: Mon, 14 Oct 2024 10:41:00 +0530 Subject: [PATCH 289/292] aligned the text for status field in view excel jobs --- .../packages/Mukta/src/configs/UICustomizations.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js index 90665557d1..19c7777485 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/src/configs/UICustomizations.js @@ -2994,7 +2994,7 @@ export const UICustomizations = { ) default: return ( -
+
{t("CS_COMMON_NA")}
); From 505dcc49b0d57f8199432b6db1095aa6e8e88725 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Mon, 14 Oct 2024 20:21:53 +0530 Subject: [PATCH 290/292] added audit changes --- .../micro-ui-internals/example/package.json | 18 +- .../example/public/index.html | 2 +- .../packages/Mukta/package.json | 4 +- .../packages/css/package.json | 2 +- .../css/src/components/measurement.scss | 2 - .../packages/css/src/index.scss | 5 +- .../css/src/pages/employee/override.scss | 425 +++++++++----- .../css/src/pages/works/InboxLinks.scss | 7 +- .../packages/libraries/package.json | 2 +- .../Expenditure/Payments/ViewPayment.js | 6 +- .../modules/AttendenceMgmt/package.json | 2 +- .../AttendenceMgmt/src/components/Response.js | 10 +- .../AttendenceMgmt/src/config/inboxConfig.js | 1 + .../viewAttendance/ViewAttendances.js | 2 +- .../packages/modules/Contracts/package.json | 4 +- .../TimeExtension/TimeExtensionResponse.js | 48 +- .../ContractsInbox/inboxConfigMukta.js | 1 + .../CreateWorkOrder/CreateWOResponse.js | 16 +- .../src/pages/employee/ViewContractDetails.js | 13 +- .../packages/modules/Estimate/package.json | 4 +- .../Estimate/src/configs/inboxConfigMukta.js | 1 + .../CreateEstimate/EstimateResponse.js | 16 +- .../src/pages/employee/ViewEstimate.js | 17 +- .../packages/modules/Expenditure/package.json | 4 +- .../src/components/CreateBill/MBDetailes.js | 8 +- .../src/configs/InboxBillConfig.js | 1 + .../configs/InboxPaymentInstructionConfig.js | 1 + .../createPurchaseBillConfigMUKTA.json | 536 +++++++++--------- .../CreateBills/CreatePurchaseBillResponse.js | 16 +- .../packages/modules/Masters/package.json | 4 +- .../Masters/src/components/MastersResponse.js | 18 +- .../CreateOrganizationForm.js | 2 +- .../employee/Organisation/ViewOrganisation.js | 13 +- .../ModifyWageSeeker/ModifyWageSeekerForm.js | 4 +- .../packages/modules/Measurement/package.json | 4 +- .../src/components/MeasureTable.js | 2 +- .../src/configs/MeasurementCreateConfig.js | 9 + .../src/configs/MeasurementInboxConfig.js | 1 + .../src/configs/ViewMeasurementConfig.js | 2 + .../src/pages/employee/ResponseBanner.js | 18 +- .../src/pages/employee/ViewMeasurement.js | 2 +- .../packages/modules/Project/package.json | 4 +- .../CreateProject/CreateProjectResponse.js | 18 +- .../pages/employee/ProjectDetails/index.js | 20 +- .../modules/RateAnalysis/package.json | 4 +- .../src/pages/employee/RAResponseBanner.js | 152 ++--- .../components/ApplicationDetailsContent.js | 19 +- .../ApplicationDetailsWarningPopup.js | 1 - .../components/SkillDetails.js | 2 +- .../components/SubWorkTableDetails.js | 29 +- .../packages/modules/works/package.json | 4 +- .../packages/react-components/package.json | 2 +- .../react-components/src/hoc/FormComposer.js | 14 +- .../src/hoc/ViewComposer/index.js | 58 +- .../src/molecules/RenderFormFields.js | 3 +- .../src/molecules/WorkflowStatusFilter.js | 16 +- frontend/micro-ui/web/package.json | 18 +- frontend/micro-ui/web/public/index.html | 4 +- 58 files changed, 941 insertions(+), 680 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index ecf9bd6c66..8cac18b478 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -10,20 +10,20 @@ }, "devDependencies": { "@egovernments/digit-ui-react-components": "1.5.12", - "@egovernments/digit-ui-components": "0.0.2-beta.45", + "@egovernments/digit-ui-components": "0.0.2-beta.47", "@egovernments/digit-ui-libraries": "1.5.0", "@egovernments/digit-ui-module-core": "1.8.2-beta.20", "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-module-attendencemgmt": "0.4.11", - "@egovernments/digit-ui-module-contracts": "0.4.11", - "@egovernments/digit-ui-module-measurement":"0.2.12", - "@egovernments/digit-ui-module-estimate": "0.4.17", - "@egovernments/digit-ui-module-masters": "0.4.15", - "@egovernments/digit-ui-module-project": "0.4.11", - "@egovernments/digit-ui-module-expenditure": "0.4.9", - "@egovernments/digit-ui-customisation-mukta": "0.2.8", - "@egovernments/digit-ui-module-rate-analysis": "0.4.9", + "@egovernments/digit-ui-module-contracts": "0.4.12", + "@egovernments/digit-ui-module-measurement":"0.2.13", + "@egovernments/digit-ui-module-estimate": "0.4.18", + "@egovernments/digit-ui-module-masters": "0.4.16", + "@egovernments/digit-ui-module-project": "0.4.12", + "@egovernments/digit-ui-module-expenditure": "0.4.10", + "@egovernments/digit-ui-customisation-mukta": "0.2.9", + "@egovernments/digit-ui-module-rate-analysis": "0.4.10", "http-proxy-middleware": "^1.0.5", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/example/public/index.html b/frontend/micro-ui/web/micro-ui-internals/example/public/index.html index 434d7214e4..9b58edd4b3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/public/index.html +++ b/frontend/micro-ui/web/micro-ui-internals/example/public/index.html @@ -11,7 +11,7 @@ MUKTASoft - + diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json index 14582e4f11..8c4e5b11ca 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-customisation-mukta", - "version": "0.2.8", + "version": "0.2.9", "description": "MUKTA Customisation of Works UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.45", + "@egovernments/digit-ui-components": "0.0.2-beta.47", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json index c54136fceb..776c817787 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-works-css", - "version": "0.2.53", + "version": "0.2.54", "license": "MIT", "author": "Jagankumar ", "main": "dist/index.css", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/measurement.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/measurement.scss index e8dc756e57..2198a41f3f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/measurement.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/components/measurement.scss @@ -30,8 +30,6 @@ &.collapsed { max-height: 0; /* Collapse the content by setting max-height to 0 */ } - padding: 10px; - margin-bottom: 10px; button { color: #cc7b2f; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/index.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/index.scss index 8207c80cb4..89792f0eb9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/index.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/index.scss @@ -966,10 +966,9 @@ input[type="number"] { max-width: 760px; margin-top: 20px; display: flex; - justify-content: space-between; .skill-details { - width: 50%; + width: 60%; } } @@ -1143,5 +1142,5 @@ input[type=“date”]::-webkit-calendar-picker-indicator { } .mb-history-header{ - color:#0b0c0c !important; + color:#363636 !important; } \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss index c2685b4c3b..132db9fd91 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/employee/override.scss @@ -1,230 +1,345 @@ .totalEstimateAmoutCrad { - display: flex; - align-items: center; - justify-content: space-between; + display: flex; + align-items: center; + justify-content: space-between; } .view-composer-subheader { - color: theme(digitv2.lightTheme.text-primary) !important; - margin-bottom: theme(digitv2.spacers.spacer4); + color: theme(digitv2.lightTheme.text-primary) !important; + margin-bottom: theme(digitv2.spacers.spacer4); } -.employee-main-application-details{ - &.project-details, - &.estimate-details, - &.contract-details, - &.analysis-details{ - padding: theme(digitv2.spacers.spacer0) !important; - } +.employee-main-application-details { + + &.project-details, + &.estimate-details, + &.contract-details, + &.analysis-details { + padding: theme(digitv2.spacers.spacer0) !important; + } } .row { - .extension-label{ - color: theme(digitv2.lightTheme.primary-1) !important; - } + .extension-label { + color: theme(digitv2.lightTheme.primary-1) !important; + } } -.digit-employee-card{ - .card-label{ - color: theme(digitv2.lightTheme.primary-1) !important; - } +.digit-employee-card { + .card-label { + color: theme(digitv2.lightTheme.primary-1) !important; + } } -.total_amount_wrapper{ - display: flex; - flex-direction: row; - justify-content: space-between; - padding: theme(digitv2.spacers.spacer4); - border: 0.063rem solid theme(digitv2.lightTheme.generic-divider); - border-radius: theme(digitv2.spacers.spacer1); - width: fit-content; +.total_amount_wrapper { + display: flex; + flex-direction: row; + justify-content: space-between; + padding: theme(digitv2.spacers.spacer4); + border: 0.063rem solid theme(digitv2.lightTheme.generic-divider); + border-radius: theme(digitv2.spacers.spacer1); + width: fit-content; } -.table_total_amount{ - margin-right: theme(digitv2.spacers.spacer4); - width: fit-content; - color: theme(digitv2.lightTheme.primary-2) !important; +.table_total_amount { + margin-right: theme(digitv2.spacers.spacer4); + width: fit-content; + color: theme(digitv2.lightTheme.primary-2) !important; } -.table_total_amount_value{ - width: fit-content; - color: theme(digitv2.lightTheme.primary-2) !important; +.table_total_amount_value { + width: fit-content; + color: theme(digitv2.lightTheme.primary-2) !important; } .view-subheader, -.create-header{ - margin-bottom: theme(digitv2.spacers.spacer6); - color: theme(digitv2.lightTheme.text-primary) !important; +.create-header { + margin-bottom: theme(digitv2.spacers.spacer6); + color: theme(digitv2.lightTheme.text-primary) !important; } -.create-est-viewAnalysis-totalEstAmt{ - display: flex; - align-items: center; - justify-content: space-between; +.create-est-viewAnalysis-totalEstAmt { + display: flex; + align-items: center; + justify-content: space-between; } -.digit-home-ground{ - padding: theme(digitv2.spacers.spacer5); +.digit-home-ground { + padding: theme(digitv2.spacers.spacer5); } -.digit-home-moduleCardWrapper{ - padding:theme(digitv2.spacers.spacer0); +.digit-home-moduleCardWrapper { + padding: theme(digitv2.spacers.spacer0); } .inbox-search-wrapper { - .inbox-search-component-wrapper{ - .sections-parent{ - &.search{ - .search-wrapper .search-button-wrapper{ - gap:theme(digitv2.spacers.spacer6); - } - } + .inbox-search-component-wrapper { + .sections-parent { + &.search { + .search-wrapper .search-button-wrapper { + gap: theme(digitv2.spacers.spacer6); + } + } - &.inbox{ - .section{ - &.search{ - .search-button-wrapper{ - gap:theme(digitv2.spacers.spacer6); - } - } - } + &.inbox { + .section { + &.search { + .search-button-wrapper { + gap: theme(digitv2.spacers.spacer6); } + } } + } } + } } .digit-action-bar-wrap { - &.new-actionbar { - div { - width: unset; - } + &.new-actionbar { + div { + width: unset; } + } } .digit-toast-success { - transform: translateX(-50%); - left: 50%; - bottom: -100%; + transform: translateX(-50%); + left: 50%; + bottom: -100%; } + @keyframes slideInFromBottom { - from { - bottom: -100%; + from { + bottom: -100%; + } + + to { + bottom: 4.5rem; + } +} + +.digit-toast-success.animate { + animation: slideInFromBottom 0.5s ease forwards; +} + +.digit-topbar .digit-logo-ulb-wrapper .digit-topbar-logo { + width: fit-content; +} + +.msb-sidebar { + z-index: 1000; +} + +.digit-header-content { + &.label { + font-family: theme(digitv2.fontFamily.sans); + font-style: theme(digitv2.fontStyle.normal); + font-weight: theme(digitv2.fontWeight.regular); + line-height: theme(digitv2.lineHeight.lineheight2); + + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-size: theme(digitv2.fontSize.label.mobile); } - to { - bottom: 4.5rem; + + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-size: theme(digitv2.fontSize.label.tablet); + } + + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-size: theme(digitv2.fontSize.label.desktop); } } - .digit-toast-success.animate { - animation: slideInFromBottom 0.5s ease forwards; - } - .digit-topbar .digit-logo-ulb-wrapper .digit-topbar-logo{ - width: fit-content; +} + +.digit-sidebar { + top: 4.5rem; +} + +.digit-bread-crumb { + margin-bottom: 1.5rem; +} + + +th { + background-color: theme(digitv2.lightTheme.paper-primary); +} + +.uploadfile-composer-textfield { + margin-bottom: 1.5rem; +} + +.digit-header-content { + &.label { + margin-top: 0.565rem; } - .msb-sidebar{ - z-index: 1000; +} + +@media (max-width: 30rem) { + .digit-action-bar-wrap { + height: fit-content; } +} - .digit-header-content{ - &.label{ - font-family: theme(digitv2.fontFamily.sans); - font-style: theme(digitv2.fontStyle.normal); - font-weight: theme(digitv2.fontWeight.regular); - line-height: theme(digitv2.lineHeight.lineheight2); - - @media (max-aspect-ratio: 9/16) { - /* Media query for mobile */ - font-size: theme(digitv2.fontSize.label.mobile); - } - - @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { - /* Media query for tablets */ - font-size: theme(digitv2.fontSize.label.tablet); - } - - @media (min-aspect-ratio: 3/4) { - /* Media query for desktop */ - font-size: theme(digitv2.fontSize.label.desktop); +.digit-action-bar-wrap { + .digit-action-bar-fields { + .action-bar-individual-action-field { + button { + min-width: 14rem; } } } +} - .digit-sidebar{ - top:4.5rem; - } +.viewstatement-viewamount-wrapper, +.totalEstimateAmoutCrad { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} - .digit-bread-crumb{ - margin-bottom: 1.5rem; - } +.viewstatement-viewamount-wrapper-create { + display: flex; + align-items: center; + flex-direction: row-reverse; + justify-content: space-between; +} +.table-included-section { + .digit-label-field-pair { + max-width: 100%; + overflow-x: auto; + } - th{ - background-color: theme(digitv2.lightTheme.paper-primary); + .digit-label-field-pair::-webkit-scrollbar { + height: 0.375rem; + background-color: theme(digitv2.lightTheme.generic-background); } - .uploadfile-composer-textfield{ - margin-bottom: 1.5rem; + .digit-label-field-pair::-webkit-scrollbar-track { + background-color: theme(digitv2.lightTheme.generic-background); + border-radius: 0.563rem; } - .digit-header-content{ - &.label{ - margin-top: 0.565rem; - } + .digit-label-field-pair::-webkit-scrollbar-thumb { + background-color: theme(digitv2.lightTheme.generic-divider); + border-radius: 0.563rem; } +} - @media (max-width: 30rem){ - .digit-action-bar-wrap{ - height: fit-content; - } +.total_amount_wrapper { + .digit-text-block-wrap { + margin-top: 0rem; } +} - .digit-action-bar-wrap{ - .digit-action-bar-fields{ - .action-bar-individual-action-field{ - button{ - min-width: 14rem; - } - } - } +.checkbox-status-filter-label { + color: theme(digitv2.lightTheme.text-primary); + font-family: theme(digitv2.fontFamily.sans); + font-style: theme(digitv2.fontStyle.normal); + font-weight: theme(digitv2.fontWeight.bold); + line-height: theme(digitv2.lineHeight.lineheight1); + + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-size: theme(digitv2.fontSize.heading-s.mobile); } - .viewstatement-viewamount-wrapper, - .totalEstimateAmoutCrad{ - display: flex; - flex-direction: row; - align-items: center; - justify-content: space-between; + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-size: theme(digitv2.fontSize.heading-s.tablet); } - .viewstatement-viewamount-wrapper-create{ - display: flex; - align-items: center; - flex-direction: row-reverse; - justify-content: space-between; + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-size: theme(digitv2.fontSize.heading-s.desktop); } - .table-included-section { - max-width: 100%; - overflow-x: auto; - } - - .table-included-section::-webkit-scrollbar { - height: 0.375rem; - background-color: theme(digitv2.lightTheme.generic-background); + .label-styles { + color: theme(digitv2.lightTheme.text-primary); + font-family: theme(digitv2.fontFamily.sans); + font-style: theme(digitv2.fontStyle.normal); + font-weight: theme(digitv2.fontWeight.bold); + line-height: theme(digitv2.lineHeight.lineheight1); + + @media (max-aspect-ratio: 9/16) { + /* Media query for mobile */ + font-size: theme(digitv2.fontSize.heading-s.mobile); } - - .table-included-section::-webkit-scrollbar-track { - background-color: theme(digitv2.lightTheme.generic-background); - border-radius: 0.563rem; + + @media (min-aspect-ratio: 9/16) and (max-aspect-ratio: 3/4) { + /* Media query for tablets */ + font-size: theme(digitv2.fontSize.heading-s.tablet); } - - .table-included-section::-webkit-scrollbar-thumb { - background-color: theme(digitv2.lightTheme.generic-divider); - border-radius: 0.563rem; + + @media (min-aspect-ratio: 3/4) { + /* Media query for desktop */ + font-size: theme(digitv2.fontSize.heading-s.desktop); } + } +} + +.search-component-table::-webkit-scrollbar { + height: 0.375rem; + background-color: theme(digitv2.lightTheme.generic-background); +} + +.search-component-table::-webkit-scrollbar-track { + background-color: theme(digitv2.lightTheme.generic-background); + border-radius: 0.563rem; +} + +.search-component-table::-webkit-scrollbar-thumb { + background-color: theme(digitv2.lightTheme.generic-divider); + border-radius: 0.563rem; +} + +.view-composer-custom-class { + max-width: 100%; + overflow-x: auto; + + &.mbhistory-wrapper{ + display: flex; + flex-direction: column; + gap: 1.5rem; + } +} - .total_amount_wrapper{ - .digit-text-block-wrap{ - margin-top: 0rem; +.view-composer-custom-class::-webkit-scrollbar { + height: 0.375rem; + background-color: theme(digitv2.lightTheme.generic-background); +} + +.view-composer-custom-class::-webkit-scrollbar-track { + background-color: theme(digitv2.lightTheme.generic-background); + border-radius: 0.563rem; +} + +.view-composer-custom-class::-webkit-scrollbar-thumb { + background-color: theme(digitv2.lightTheme.generic-divider); + border-radius: 0.563rem; +} + +.search-field-wrapper{ + &.search{ + .search-button-wrapper{ + &.search{ + margin-top: 21.91px; } - } \ No newline at end of file + } + } +} + +.mb-create-label, +.purchase-bill-label{ + width: 17rem !important; + font-weight: 500 !important; +} + +.digit-infobanner-wrap{ + max-width: 100%; +} \ No newline at end of file diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/InboxLinks.scss b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/InboxLinks.scss index 621b95a403..ecf3d47e77 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/InboxLinks.scss +++ b/frontend/micro-ui/web/micro-ui-internals/packages/css/src/pages/works/InboxLinks.scss @@ -5,8 +5,11 @@ flex-direction: column; padding: 1rem; .header { - display: grid; - grid-template-columns: 20% 1fr; + display: flex !important; + align-items: center; + justify-content: flex-start; + gap: 8px; + .logo { display: flex; align-items: center; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/package.json index db4ee52297..553b0494ac 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/package.json @@ -23,7 +23,7 @@ "react-scripts": "^4.0.1" }, "dependencies": { - "@egovernments/digit-ui-components": "0.0.2-beta.45", + "@egovernments/digit-ui-components": "0.0.2-beta.47", "axios": "1.4.0", "babel-preset-react": "6.24.1", "lodash": "^4.17.21", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Expenditure/Payments/ViewPayment.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Expenditure/Payments/ViewPayment.js index 1072016c48..32bcaea84e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Expenditure/Payments/ViewPayment.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Expenditure/Payments/ViewPayment.js @@ -51,7 +51,7 @@ const transformViewDataToApplicationDetails = async (t, payment, tenantId) => { { title: "CORE_COMMON_STATUS", value: t(`EXP_PI_STATUS_${status}`), - tab: { type: "statusColor", style: status === "SUCCESSFUL" ? { color: "green" } : status === "FAILED" ? { color: "red" } : {} }, + tab: { type: "statusColor", style: status === "SUCCESSFUL" ? { color: "#00703C" } : status === "FAILED" ? { color: "#B91900" } : {} }, }, ], }; @@ -90,7 +90,7 @@ const transformViewDataToApplicationDetails = async (t, payment, tenantId) => { return { value:t(Digit.Utils.locale.getTransformedLocale(`EXP_PI_STATUS_${paymentStatus}`)), type:"paymentStatus", - styles:paymentStatus==="SUCCESSFUL"?{color:"green"}:(paymentStatus==="FAILED"?{color:"red"}:{}), + styles:paymentStatus==="SUCCESSFUL"?{color:"#00703C"}:(paymentStatus==="FAILED"?{color:"#B91900"}:{}), hoverIcon: paymentStatus==="FAILED"?"infoIcon":"", iconHoverTooltipText: paymentStatus==="FAILED" ? pi?.piErrorResp ? t(pi?.piErrorResp) : (pi?.piStatusLogs?.[0] ? t(pi?.piStatusLogs?.[0]?.status) : t("ES_COMMON_NA")):"", toolTipStyles:{maxWidth:"30ch", maxHeight:"unset"} @@ -251,7 +251,7 @@ const transformViewDataToApplicationDetails = async (t, payment, tenantId) => { return { value:t(Digit.Utils.locale.getTransformedLocale(`BILL_STATUS_${paymentStatus}`)), type:"paymentStatus", - styles:paymentStatus==="Payment Successful"?{color:"green"}:(paymentStatus==="Payment Failed"?{color:"red"}:{}), + styles:paymentStatus==="Payment Successful"?{color:"#00703C"}:(paymentStatus==="Payment Failed"?{color:"#B91900"}:{}), hoverIcon: paymentStatus==="Payment Failed"?"infoIcon":"", iconHoverTooltipText: paymentStatus==="Payment Failed" ? t(bene?.paymentStatusMessage):"", toolTipStyles:{} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json index 21e048040d..da2426848b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.45", + "@egovernments/digit-ui-components": "0.0.2-beta.47", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/components/Response.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/components/Response.js index d2698e7106..ee2accd7c9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/components/Response.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/components/Response.js @@ -1,7 +1,7 @@ import React, { Fragment } from "react"; import { Link, useLocation } from "react-router-dom"; import { useTranslation } from "react-i18next"; -import { PanelCard, Button } from "@egovernments/digit-ui-components"; +import { PanelCard, Button,ActionBar } from "@egovernments/digit-ui-components"; const Response = () => { const { t } = useTranslation(); @@ -17,12 +17,16 @@ const Response = () => { response={state?.id} info={state?.info} description={state?.message} - footerChildren={[ + children={[state?.message]} + /> +
{(project || estimate) && } {estimate && ( - + {activeLink === "Project_Details" && ( )} {activeLink === "Estimate_Details" && } - + )} {toast?.show && }
diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json index 86235f886b..62d049716d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-expenditure", - "version": "0.4.9", + "version": "0.4.10", "description": "Expenditure Management Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.45", + "@egovernments/digit-ui-components": "0.0.2-beta.47", "lodash": "^4.17.21", "react": "17.0.2", "react-date-range": "^1.4.0", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/CreateBill/MBDetailes.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/CreateBill/MBDetailes.js index 003f682b8d..c7c17a848e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/CreateBill/MBDetailes.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/components/CreateBill/MBDetailes.js @@ -8,7 +8,7 @@ import { InfoCard,Button } from "@egovernments/digit-ui-components"; const getMBLinks = (mblinks, tenantId, workOrderNumber, history) => { return ( -
+
{mblinks?.map((measurementNumber) => (
, ]; - const footerChildren = [ - - ]} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js index 5e53a789b5..67742025e3 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/pages/employee/WageSeeker/ModifyWageSeeker/ModifyWageSeekerForm.js @@ -1,7 +1,7 @@ import React, { useMemo, useState, useEffect } from 'react' import { useTranslation } from "react-i18next"; import { useHistory } from 'react-router-dom'; -import { FormComposer } from '@egovernments/digit-ui-components'; +import { FormComposer } from '@egovernments/digit-ui-react-components' import { getWageSeekerUpdatePayload, getBankAccountUpdatePayload, getWageSeekerSkillDeletePayload } from '../../../../utils'; import debounce from 'lodash/debounce'; import { Toast } from '@egovernments/digit-ui-components'; @@ -95,7 +95,7 @@ const requestCriteria = { wards, localities } } - },includeChildren = true); + },true); const filteredLocalities = wardsAndLocalities?.localities[selectedWard]; //wage seeker form config diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json index 68af6aaa22..d79fd1dd31 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-measurement", - "version": "0.2.12", + "version": "0.2.13", "description": "Measurement Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.45", + "@egovernments/digit-ui-components": "0.0.2-beta.47", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js index f6f36e874d..c24b02d3b7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MeasureTable.js @@ -416,7 +416,7 @@ const MeasureTable = (props) => { {(mode == "CREATEALL" || mode == "CREATERE") && (
)} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js index 9a4995e0e7..fce726b5fc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementCreateConfig.js @@ -20,6 +20,7 @@ export const CreateConfig = ({ defaultValue, measurement, mbnumber }) => { type: "paragraph", disable: true, appendColon: false, + labelClassName:"mb-create-label", populators: { name: "mbNumber", customStyle: { marginBottom: "-5px", marginTop: "10px" }, @@ -36,6 +37,7 @@ export const CreateConfig = ({ defaultValue, measurement, mbnumber }) => { type: "paragraph", disable: true, appendColon: false, + labelClassName:"mb-create-label", populators: { name: "contractNumber", customStyle :{marginBottom:"-5px"}, @@ -50,6 +52,7 @@ export const CreateConfig = ({ defaultValue, measurement, mbnumber }) => { type: "paragraph", disable: true, appendColon: false, + labelClassName:"mb-create-label", populators: { customStyle :{marginBottom:"-5px"}, customParaStyle : {marginBottom:"revert"}, @@ -65,6 +68,7 @@ export const CreateConfig = ({ defaultValue, measurement, mbnumber }) => { type: "paragraph", disable: true, appendColon: false, + labelClassName:"mb-create-label", populators: { name: "musterRollNo", customClass: "", @@ -80,6 +84,7 @@ export const CreateConfig = ({ defaultValue, measurement, mbnumber }) => { type: "paragraph", disable: true, appendColon: false, + labelClassName:"mb-create-label", populators: { name: "sanctionDate", customStyle :{marginBottom:"-5px"}, @@ -95,6 +100,7 @@ export const CreateConfig = ({ defaultValue, measurement, mbnumber }) => { type: "paragraph", disable: true, appendColon: false, + labelClassName:"mb-create-label", populators: { name: "projectName", customStyle :{marginBottom:"-5px"}, @@ -108,6 +114,7 @@ export const CreateConfig = ({ defaultValue, measurement, mbnumber }) => { isMandatory: false, key: "projectDesc", type: "paragraph", + labelClassName:"mb-create-label", disable: true, appendColon: false, populators: { @@ -122,6 +129,7 @@ export const CreateConfig = ({ defaultValue, measurement, mbnumber }) => { label: "ES_COMMON_LOCATION", isMandatory: false, key: "projectLocation", + labelClassName:"mb-create-label", type: "paragraph", disable: true, appendColon: false, @@ -140,6 +148,7 @@ export const CreateConfig = ({ defaultValue, measurement, mbnumber }) => { type: "paragraph", disable: true, appendColon: false, + labelClassName:"mb-create-label", populators: { name: "measurementPeriod", customStyle :{marginBottom:"-5px"}, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementInboxConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementInboxConfig.js index b888866af4..987dc5de7e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementInboxConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/MeasurementInboxConfig.js @@ -177,6 +177,7 @@ const InboxMeasurementConfig = () => { { label: "MB_WORKFLOW_STATUS", type: "workflowstatesfilter", + labelClassName:"checkbox-status-filter-label" , isMandatory: false, disable: false, populators: { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/ViewMeasurementConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/ViewMeasurementConfig.js index fb437c849e..5d26f7598c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/ViewMeasurementConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/ViewMeasurementConfig.js @@ -73,6 +73,7 @@ export const data = (contract, estimateDetails, measurement, allMeasurements, th { type : "COMPONENT", component : "MeasurementHistory", + customComponnetWrapperClssName:"mbhistory-wrapper", props : { contractNumber : contract?.contractNumber, measurementNumber : measurement?.measurementNumber @@ -86,6 +87,7 @@ export const data = (contract, estimateDetails, measurement, allMeasurements, th type: "COMPONENT", cardHeader: { value: "MB_SORS", inlineStyles: {} }, component: "MeasureTable", + sectionClassName:"table-included-section", props: { config: { key: "SOR", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ResponseBanner.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ResponseBanner.js index 75985013e5..0ef6c536f5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ResponseBanner.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ResponseBanner.js @@ -1,7 +1,7 @@ import React, { Fragment } from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; -import { PanelCard, Button } from "@egovernments/digit-ui-components"; +import { PanelCard, Button ,ActionBar} from "@egovernments/digit-ui-components"; import { useHistory } from "react-router-dom"; import { withRouter } from "react-router-dom"; @@ -48,12 +48,6 @@ const MeasurementServiceResponse = () => { } }; - const footerChildren = [ - - , ]} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json index 37bdc9098c..aea793dbd9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-rate-analysis", - "version": "0.4.9", + "version": "0.4.10", "description": "Rate Analysis Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.45", + "@egovernments/digit-ui-components": "0.0.2-beta.47", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/RAResponseBanner.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/RAResponseBanner.js index 511dcdb616..0b40a76dea 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/RAResponseBanner.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/src/pages/employee/RAResponseBanner.js @@ -1,83 +1,85 @@ -import React from "react"; +import React,{Fragment} from "react"; import { useTranslation } from "react-i18next"; import { Link } from "react-router-dom"; import { EditIcon, AddNewIcon, InboxIcon , ArrowRightInbox , CreateLoiIcon, CardText, ArrowLeftWhite } from "@egovernments/digit-ui-react-components"; - +import { PanelCard, Button,ActionBar } from "@egovernments/digit-ui-components"; import { useHistory } from "react-router-dom"; +// import { Banner, Card, ActionBar, SubmitBar } from "@egovernments/digit-ui-react-components"; // Import the Banner component you provided -import { Banner, Card, ActionBar, SubmitBar } from "@egovernments/digit-ui-react-components"; // Import the Banner component you provided const RAResponseBanner = () => { - - const { t } = useTranslation(); - const history = useHistory(); - - // Get the current URL - const currentURL = window.location.href; - - // console.log(currentURL); - - // Create a URL object from the current URL - const url = new URL(currentURL); - - // Get the value of the "compositionId" query parameter - const compositionId = url.searchParams.get('compositionId'); - const sorId = url.searchParams.get('sorId'); - const effectiveFrom = url.searchParams.get('fromeffective'); - const isUpdate = url.searchParams.get('isUpdate'); - - // Now you can work with the response object as needed - - - - const goToHome = () => { - history.push({ - pathname: `/${window?.contextPath}/employee` - - }); - }; - - // Customize the message based on success or failure - const message = true - ? (isUpdate === true || isUpdate === "true" ? t("RA_SUCCESSFUL_UPDATE_MESSAGE") : t("RA_SUCCESSFUL_CREATE_MESSAGE")) - : t("RA_ERROR_MESSAGE"); - - return ( - - -
- -
- -
- -
- - - {t("RA_GO_TO_SEARCH_SOR")} - -
- -
- - - {t("RA_VIEW_RATE_ANALYSIS")} - -
-
- -
- - - - -
- - ); + const { t } = useTranslation(); + const history = useHistory(); + + // Get the current URL + const currentURL = window.location.href; + + // console.log(currentURL); + + // Create a URL object from the current URL + const url = new URL(currentURL); + + // Get the value of the "compositionId" query parameter + const compositionId = url.searchParams.get("compositionId"); + const sorId = url.searchParams.get("sorId"); + const effectiveFrom = url.searchParams.get("fromeffective"); + const isUpdate = url.searchParams.get("isUpdate"); + + // Now you can work with the response object as needed + + const navigate = (page) => { + switch (page) { + case "search-sor": { + history.push(`/${window.contextPath}/workbench-ui/employee/workbench/mdms-search-v2?moduleName=WORKS-SOR&masterName=SOR`); + break; + } + case "view-rateAnalysis": { + history.push(`/${window.contextPath}/employee/rateAnalysis/view-rate-analysis?sorId=${sorId}&fromeffective=${effectiveFrom}`); + break; + } + } + }; + + // Customize the message based on success or failure + const message = true + ? isUpdate === true || isUpdate === "true" + ? t("RA_SUCCESSFUL_UPDATE_MESSAGE") + : t("RA_SUCCESSFUL_CREATE_MESSAGE") + : t("RA_ERROR_MESSAGE"); + + const children = [ +
+
, + ]; + + return ( + <> + + +
); @@ -59,7 +73,7 @@ const SubWorkTableDetails = ({ data }) => {

{String(lineItem.value)}

- {lineItem?.hoverIcon && } + {lineItem?.hoverIcon && }
{lineItem?.iconHoverTooltipText && ( @@ -73,7 +87,16 @@ const SubWorkTableDetails = ({ data }) => { return (
); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json index 88d66c0257..cc8d5e938a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/works/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-works", - "version": "0.0.21", + "version": "0.0.22", "description": "Works", "main": "dist/index.js", "module": "dist/index.modern.js", @@ -19,7 +19,7 @@ }, "dependencies": { "@egovernments/digit-ui-react-components": "^1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.45", + "@egovernments/digit-ui-components": "0.0.2-beta.47", "react": "17.0.2", "react-date-range": "^1.4.0", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json index 65bbd4afc8..23036bd70d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/package.json @@ -42,7 +42,7 @@ ], "dependencies": { "@googlemaps/js-api-loader": "1.13.10", - "@egovernments/digit-ui-components": "0.0.2-beta.45", + "@egovernments/digit-ui-components": "0.0.2-beta.47", "lodash": "^4.17.21", "react-date-range": "1.3.0", "react-hook-form": "6.15.8", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js index f50f87fab0..495217a875 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/FormComposer.js @@ -43,7 +43,8 @@ import { Header, TextBlock, ActionBar, - SubmitBar + SubmitBar, + Tab } from "@egovernments/digit-ui-components"; const wrapperStyles = { @@ -714,7 +715,7 @@ export const FormComposer = (props) => { )} */} {!field.withoutLabel && ( -
+
{convertToSentenceCase( @@ -914,11 +915,16 @@ export const FormComposer = (props) => { )} {props?.showFormInNav && props.horizontalNavConfig && ( - {props?.showMultipleCardsInNavs ? ( props?.config?.map((section, index, array) => { @@ -945,7 +951,7 @@ export const FormComposer = (props) => { })} )} - + )} {!props.submitInForm && props.label && ( { case "COMPONENT": const Component = Digit.ComponentRegistryService.getComponent(section.component) ; return ( - <> +
{section?.cardHeader && section?.cardHeader?.value && ( // {t(section.cardHeader.value)} )} - +
); case "DIVIDER": return @@ -145,26 +145,62 @@ const ViewComposer = ({ isLoading = false,data, ...props }) => { const { cards } = data; const [activeNav,setActiveNav] = useState(data?.horizontalNav?.activeByDefault) + console.log(data?.horizontalNav?.configNavItems,activeNav) + if (isLoading) return ; return ( <> - {/* This first {} is for rendering cards at the top without navigationKey(out of navbar) */} - {cards?.filter(card => !card?.navigationKey)?.map((card, cardIdx) => { - const { sections ,sectionClassName} = card; + {/* This first {} is for rendering cards at the top without navigationKey(out of navbar) */} + {cards + ?.filter((card) => !card?.navigationKey) + ?.map((card, cardIdx) => { + const { sections, sectionClassName } = card; return ( - + {sections?.map((section, sectionIdx) => { return renderCardSectionJSX(section); })} ); })} - {/* This second section is for rendering cards that are part of the navBar) */} + {/* This second section is for rendering cards that are part of the navBar) */} + + + {cards + ?.filter((card) => card?.navigationKey) + ?.map((card, cardIdx) => { + const { sections } = card; + return ( + + {sections?.map((section, sectionIdx) => { + return renderCardSectionJSX(section); + })} + + ); + })} + - + {/* {cards?.filter(card => card?.navigationKey)?.map((card, cardIdx) => { - const { sections,sectionClassName } = card; + const { sections } = card; return ( {sections?.map((section, sectionIdx) => { @@ -173,7 +209,7 @@ const ViewComposer = ({ isLoading = false,data, ...props }) => { ); })} - + */} ); }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/RenderFormFields.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/RenderFormFields.js index 6cbd58cb72..664b2ab148 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/RenderFormFields.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/RenderFormFields.js @@ -349,10 +349,9 @@ const RenderFormFields = ({data,...props}) => { {item?.isMandatory ? " * " : null} )} */} - { item.label && ( -
+
{StringManipulator( diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/WorkflowStatusFilter.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/WorkflowStatusFilter.js index 45a05e5d46..8dd80c5645 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/WorkflowStatusFilter.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/molecules/WorkflowStatusFilter.js @@ -29,13 +29,13 @@ const WorkflowStatusFilter = ({ props, t, populators, formData,inboxResponse }) return ( <> - -{ statusMap&&statusMap.length>0&&populators?.componentLabel && ( - - {t(populators?.componentLabel)}{ populators?.isMandatory ? " * " : null } - ) - } - {statusMap?.map((row) => { + {statusMap && statusMap.length > 0 && populators?.componentLabel && ( + + {t(populators?.componentLabel)} + {populators?.isMandatory ? " * " : null} + + )} + {statusMap?.map((row) => { return ( { @@ -52,7 +52,7 @@ const WorkflowStatusFilter = ({ props, t, populators, formData,inboxResponse }) ); })} - ) + ); }; export default WorkflowStatusFilter; diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index bab9d3c1b4..05a4b79f97 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -18,19 +18,19 @@ "dependencies": { "@egovernments/digit-ui-react-components": "1.5.12", "@egovernments/digit-ui-libraries": "1.5.0", - "@egovernments/digit-ui-components": "0.0.2-beta.45", + "@egovernments/digit-ui-components": "0.0.2-beta.47", "@egovernments/digit-ui-module-core": "1.8.2-beta.20", "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", "@egovernments/digit-ui-module-attendencemgmt": "0.4.11", - "@egovernments/digit-ui-module-contracts": "0.4.11", - "@egovernments/digit-ui-module-measurement":"0.2.12", - "@egovernments/digit-ui-module-estimate": "0.4.17", - "@egovernments/digit-ui-module-masters": "0.4.15", - "@egovernments/digit-ui-module-project": "0.4.11", - "@egovernments/digit-ui-module-expenditure": "0.4.9", - "@egovernments/digit-ui-customisation-mukta": "0.2.8", - "@egovernments/digit-ui-module-rate-analysis": "0.4.9", + "@egovernments/digit-ui-module-contracts": "0.4.12", + "@egovernments/digit-ui-module-measurement":"0.2.13", + "@egovernments/digit-ui-module-estimate": "0.4.18", + "@egovernments/digit-ui-module-masters": "0.4.16", + "@egovernments/digit-ui-module-project": "0.4.12", + "@egovernments/digit-ui-module-expenditure": "0.4.10", + "@egovernments/digit-ui-customisation-mukta": "0.2.9", + "@egovernments/digit-ui-module-rate-analysis": "0.4.10", "babel-loader": "8.1.0", "clean-webpack-plugin": "4.0.0", "react": "17.0.2", diff --git a/frontend/micro-ui/web/public/index.html b/frontend/micro-ui/web/public/index.html index c069eb5c2b..6a19800015 100644 --- a/frontend/micro-ui/web/public/index.html +++ b/frontend/micro-ui/web/public/index.html @@ -8,8 +8,8 @@ href="https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@400;500;700&family=Roboto:wght@400;500;700&display=swap" rel='stylesheet' type='text/css'> - - + + From c6a2939f38e689f03c9ae2c2014b74214eda1a35 Mon Sep 17 00:00:00 2001 From: Swathi-eGov Date: Tue, 15 Oct 2024 10:29:42 +0530 Subject: [PATCH 291/292] removed console log --- .../web/micro-ui-internals/example/package.json | 16 ++++++++-------- .../packages/modules/AttendenceMgmt/package.json | 2 +- .../packages/modules/Contracts/package.json | 2 +- .../packages/modules/Estimate/package.json | 2 +- .../packages/modules/Expenditure/package.json | 2 +- .../packages/modules/Masters/package.json | 2 +- .../packages/modules/Measurement/package.json | 2 +- .../packages/modules/Project/package.json | 2 +- .../packages/modules/RateAnalysis/package.json | 2 +- .../src/hoc/ViewComposer/index.js | 2 -- frontend/micro-ui/web/package.json | 16 ++++++++-------- 11 files changed, 24 insertions(+), 26 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index dc5b908c78..9922d3ed61 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -15,15 +15,15 @@ "@egovernments/digit-ui-module-core": "1.8.2-beta.20", "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", - "@egovernments/digit-ui-module-attendencemgmt": "0.4.11", - "@egovernments/digit-ui-module-contracts": "0.4.12", - "@egovernments/digit-ui-module-measurement":"0.2.13", - "@egovernments/digit-ui-module-estimate": "0.4.18", - "@egovernments/digit-ui-module-masters": "0.4.16", - "@egovernments/digit-ui-module-project": "0.4.12", - "@egovernments/digit-ui-module-expenditure": "0.4.13", + "@egovernments/digit-ui-module-attendencemgmt": "0.4.12", + "@egovernments/digit-ui-module-contracts": "0.4.13", + "@egovernments/digit-ui-module-measurement":"0.2.14", + "@egovernments/digit-ui-module-estimate": "0.4.19", + "@egovernments/digit-ui-module-masters": "0.4.17", + "@egovernments/digit-ui-module-project": "0.4.13", + "@egovernments/digit-ui-module-expenditure": "0.4.14", "@egovernments/digit-ui-customisation-mukta": "0.2.9", - "@egovernments/digit-ui-module-rate-analysis": "0.4.10", + "@egovernments/digit-ui-module-rate-analysis": "0.4.11", "http-proxy-middleware": "^1.0.5", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json index da2426848b..9bd8913fbe 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-attendencemgmt", - "version": "0.4.11", + "version": "0.4.12", "description": "Attendence Management Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json index cc35313a0a..16417d978f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-contracts", - "version": "0.4.12", + "version": "0.4.13", "description": "Contracts Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json index bf62ddc320..047dc1a789 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-estimate", - "version": "0.4.18", + "version": "0.4.19", "description": "Estimate Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json index 128842dae4..871ba14f3e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-expenditure", - "version": "0.4.13", + "version": "0.4.14", "description": "Expenditure Management Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json index 7d2cdfe27f..127eab565c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-masters", - "version": "0.4.16", + "version": "0.4.17", "description": "Masters Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json index d79fd1dd31..0237ac126f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-measurement", - "version": "0.2.13", + "version": "0.2.14", "description": "Measurement Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json index e6b2c6a631..6f46d39890 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-project", - "version": "0.4.12", + "version": "0.4.13", "description": "Project Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json index aea793dbd9..4d9ea5cb7e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-rate-analysis", - "version": "0.4.10", + "version": "0.4.11", "description": "Rate Analysis Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/index.js index c1bfa05073..7897bce478 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/hoc/ViewComposer/index.js @@ -145,8 +145,6 @@ const ViewComposer = ({ isLoading = false,data, ...props }) => { const { cards } = data; const [activeNav,setActiveNav] = useState(data?.horizontalNav?.activeByDefault) - console.log(data?.horizontalNav?.configNavItems,activeNav) - if (isLoading) return ; return ( diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index 680c2e264c..d2ac669c42 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -22,15 +22,15 @@ "@egovernments/digit-ui-module-core": "1.8.2-beta.20", "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", - "@egovernments/digit-ui-module-attendencemgmt": "0.4.11", - "@egovernments/digit-ui-module-contracts": "0.4.12", - "@egovernments/digit-ui-module-measurement":"0.2.13", - "@egovernments/digit-ui-module-estimate": "0.4.18", - "@egovernments/digit-ui-module-masters": "0.4.16", - "@egovernments/digit-ui-module-project": "0.4.12", - "@egovernments/digit-ui-module-expenditure": "0.4.13", + "@egovernments/digit-ui-module-attendencemgmt": "0.4.12", + "@egovernments/digit-ui-module-contracts": "0.4.13", + "@egovernments/digit-ui-module-measurement":"0.2.14", + "@egovernments/digit-ui-module-estimate": "0.4.19", + "@egovernments/digit-ui-module-masters": "0.4.17", + "@egovernments/digit-ui-module-project": "0.4.13", + "@egovernments/digit-ui-module-expenditure": "0.4.14", "@egovernments/digit-ui-customisation-mukta": "0.2.9", - "@egovernments/digit-ui-module-rate-analysis": "0.4.10", + "@egovernments/digit-ui-module-rate-analysis": "0.4.11", "babel-loader": "8.1.0", "clean-webpack-plugin": "4.0.0", "react": "17.0.2", From d17fe1a4f5a7358a6e20cbca5e5a2e748dbb3255 Mon Sep 17 00:00:00 2001 From: Tulika-eGov Date: Tue, 15 Oct 2024 15:16:10 +0530 Subject: [PATCH 292/292] UCEM-765 : updated the LTS changes in UI and reverted the namespace --- frontend/micro-ui/web/docker/Dockerfile | 2 +- frontend/micro-ui/web/docker/nginx.conf | 4 +- .../micro-ui-internals/example/package.json | 20 +++---- .../example/src/UICustomizations.js | 6 +- .../example/src/setupProxy.js | 34 +++++------ .../packages/Mukta/package.json | 2 +- .../src/hooks/expenditure/useMBDataForPB.js | 2 +- .../hooks/mukta/useTEorMBCreateValidation.js | 2 +- .../libraries/src/services/atoms/urls.js | 60 +++++++++---------- .../services/molecules/Measurement/View.js | 2 +- .../modules/AttendenceMgmt/package.json | 2 +- .../viewAttendance/ViewAttendances.js | 2 +- .../packages/modules/Contracts/package.json | 2 +- .../TimeExtension/CreateTimeExtension.js | 2 +- .../src/configs/searchContractConfig.js | 2 +- .../src/pages/employee/ViewContractDetails.js | 2 +- .../packages/modules/Estimate/package.json | 2 +- .../src/configs/SearchConficMuktaFuzzy.js | 2 +- .../Estimate/src/configs/inboxConfig.js | 2 +- .../Estimate/src/configs/inboxConfigMukta.js | 4 +- .../Estimate/src/configs/searchConfig.js | 2 +- .../Estimate/src/configs/searchConfigMukta.js | 2 +- .../Estimate/src/configs/viewConfig.js | 2 +- .../CreateDetailedEstimate/CreateEstimate.js | 2 +- .../pages/employee/ViewDetailedEstimate.js | 4 +- .../packages/modules/Expenditure/package.json | 2 +- .../src/configs/CreatePAWMSConfig.js | 2 +- .../configs/InboxPaymentInstructionConfig.js | 2 +- .../src/configs/SearchBillConfig.js | 2 +- .../src/configs/SearchBillWMSConfig.js | 2 +- .../src/configs/SearchExpenseBillConfig.js | 2 +- .../packages/modules/Masters/package.json | 2 +- .../src/configs/searchWMSWageSeekerConfig.js | 2 +- .../src/configs/searchWageSeekerConfig.js | 2 +- .../packages/modules/Measurement/package.json | 2 +- .../src/components/MBHistoryTable.js | 2 +- .../src/configs/ViewMeasurementConfig.js | 2 +- .../src/pages/employee/CreateMeasurement.js | 2 +- .../src/pages/employee/ViewMeasurement.js | 2 +- .../packages/modules/Project/package.json | 2 +- .../Project/src/pages/employee/SampleComp.js | 6 +- .../modules/RateAnalysis/package.json | 2 +- frontend/micro-ui/web/package.json | 2 +- .../src/Customisations/UICustomizations.js | 6 +- frontend/micro-ui/web/src/setupProxy.js | 24 ++++---- frontend/micro-ui/web/webpack.config.js | 2 +- 46 files changed, 120 insertions(+), 120 deletions(-) diff --git a/frontend/micro-ui/web/docker/Dockerfile b/frontend/micro-ui/web/docker/Dockerfile index 10509eb054..c24852681e 100644 --- a/frontend/micro-ui/web/docker/Dockerfile +++ b/frontend/micro-ui/web/docker/Dockerfile @@ -19,7 +19,7 @@ RUN cd web/ \ FROM nginx:mainline-alpine #FROM ghcr.io/egovernments/nginx:mainline-alpine -ENV WORK_DIR=/var/web/mukta-works-ui +ENV WORK_DIR=/var/web/works-ui RUN mkdir -p ${WORK_DIR} diff --git a/frontend/micro-ui/web/docker/nginx.conf b/frontend/micro-ui/web/docker/nginx.conf index 9901cc81d2..207250856a 100644 --- a/frontend/micro-ui/web/docker/nginx.conf +++ b/frontend/micro-ui/web/docker/nginx.conf @@ -2,10 +2,10 @@ server { listen 80; underscores_in_headers on; - location /mukta-works-ui + location /works-ui { root /var/web; index index.html index.htm; - try_files $uri $uri/ /mukta-works-ui/index.html; + try_files $uri $uri/ /works-ui/index.html; } } diff --git a/frontend/micro-ui/web/micro-ui-internals/example/package.json b/frontend/micro-ui/web/micro-ui-internals/example/package.json index 9922d3ed61..bce3605bf9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/example/package.json @@ -4,7 +4,7 @@ "main": "index.js", "license": "MIT", "private": true, - "homepage": "mukta-works-ui", + "homepage": "works-ui", "scripts": { "start": "react-scripts start" }, @@ -15,15 +15,15 @@ "@egovernments/digit-ui-module-core": "1.8.2-beta.20", "@egovernments/digit-ui-module-hrms": "1.5.26", "@egovernments/digit-ui-module-dss": "1.5.52", - "@egovernments/digit-ui-module-attendencemgmt": "0.4.12", - "@egovernments/digit-ui-module-contracts": "0.4.13", - "@egovernments/digit-ui-module-measurement":"0.2.14", - "@egovernments/digit-ui-module-estimate": "0.4.19", - "@egovernments/digit-ui-module-masters": "0.4.17", - "@egovernments/digit-ui-module-project": "0.4.13", - "@egovernments/digit-ui-module-expenditure": "0.4.14", - "@egovernments/digit-ui-customisation-mukta": "0.2.9", - "@egovernments/digit-ui-module-rate-analysis": "0.4.11", + "@egovernments/digit-ui-module-attendencemgmt": "0.4.13", + "@egovernments/digit-ui-module-contracts": "0.4.14", + "@egovernments/digit-ui-module-measurement":"0.2.15", + "@egovernments/digit-ui-module-estimate": "0.4.20", + "@egovernments/digit-ui-module-masters": "0.4.18", + "@egovernments/digit-ui-module-project": "0.4.14", + "@egovernments/digit-ui-module-expenditure": "0.4.15", + "@egovernments/digit-ui-customisation-mukta": "0.2.10", + "@egovernments/digit-ui-module-rate-analysis": "0.4.12", "http-proxy-middleware": "^1.0.5", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/frontend/micro-ui/web/micro-ui-internals/example/src/UICustomizations.js b/frontend/micro-ui/web/micro-ui-internals/example/src/UICustomizations.js index fd23596e5f..3441ea06e4 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/src/UICustomizations.js +++ b/frontend/micro-ui/web/micro-ui-internals/example/src/UICustomizations.js @@ -31,7 +31,7 @@ const businessServiceMap = { }; const inboxModuleNameMap = { - "mukta-estimate": "estimate-service", + "estimate": "estimate-service", "contract-approval-mukta": "contract-service", "muster-roll-approval": "muster-roll-service", }; @@ -385,7 +385,7 @@ export const UICustomizations = { return ( {String(value ? value : t("ES_COMMON_NA"))} @@ -977,7 +977,7 @@ export const UICustomizations = { if (key === "WORKS_BILL_NUMBER") { return ( - + {String(value ? value : t("ES_COMMON_NA"))} diff --git a/frontend/micro-ui/web/micro-ui-internals/example/src/setupProxy.js b/frontend/micro-ui/web/micro-ui-internals/example/src/setupProxy.js index 682a238b57..33b87ec4c7 100644 --- a/frontend/micro-ui/web/micro-ui-internals/example/src/setupProxy.js +++ b/frontend/micro-ui/web/micro-ui-internals/example/src/setupProxy.js @@ -22,8 +22,8 @@ module.exports = function (app) { "/egov-workflow-v2", "/pgr-services", "/filestore", - "/mukta-egov-hrms", - "/mukta-user-otp", + "/egov-hrms", + "/user-otp", "/user", "/fsm", "/billing-service", @@ -42,8 +42,8 @@ module.exports = function (app) { "/egov-searcher/bill-genie/waterbills/_get", "/egov-searcher/bill-genie/seweragebills/_get", "/egov-pdf/download/UC/mcollect-challan", - "/mukta-egov-pdf/", - "/mukta-egov-hrms/employees/_count", + "/egov-pdf/", + "/egov-hrms/employees/_count", "/tl-services/v1/_create", "/tl-services/v1/_search", "/egov-url-shortening/shortener", @@ -65,33 +65,33 @@ module.exports = function (app) { "/report", "/inbox/v1/dss/_search", "/loi-service", - "/mukta-estimate", - "/mukta-contract", + "/estimate", + "/contract", "/loi-service", "/works-inbox-service/v2/_search", "/egov-pdf/download/WORKSESTIMATE/estimatepdf", "/muster-roll", "/project", "/inbox/v2/_search", - "/mukta-individual", + "/individual", "/org-services", - "/wms/mukta-contract/_search", + "/wms/contract/_search", "/org-services/organisation/v1/_search", "/expensebilling", "/bankaccount-service", "/wms", "/ifms", - "/wms/mukta-estimate/_search", - "/mukta-expense-calculator/v1/_estimate", - "/mukta-expense/bill", - "/mukta-expense-calculator/purchase/v1/_createbill", - "/mukta-expense/bill/v1", + "/wms/estimate/_search", + "/expense-calculator/v1/_estimate", + "/expense/bill", + "/expense-calculator/purchase/v1/_createbill", + "/expense/bill/v1", "/egov-pdf/bill/_search", - "/mukta-expense-calculator/v1/_search", - "/mukta-expense/payment/", - "/mukta-expense-calculator/", + "/expense-calculator/v1/_search", + "/expense/payment/", + "/expense-calculator/", "/measurement-service/", - "/mukta-mukta-services/", + "/mukta-services/", "/mdms-v2/", "/egov-idgen/", "/rate-analysis/v1/_calculate", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json index 8c4e5b11ca..877527f0a9 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/Mukta/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-customisation-mukta", - "version": "0.2.9", + "version": "0.2.10", "description": "MUKTA Customisation of Works UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/expenditure/useMBDataForPB.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/expenditure/useMBDataForPB.js index b41afa614d..b8db792efd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/expenditure/useMBDataForPB.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/expenditure/useMBDataForPB.js @@ -3,7 +3,7 @@ import { transformEstimateData } from "../../../../modules/Measurement/src/utils const useMBDataForPB=({workOrderNumber, tenantId})=>{ const requestCriteriaForMeasurement = { - url : "/mukta-mukta-services/measurement/_search", + url : "/mukta-services/measurement/_search", body: { "contractNumber" : workOrderNumber, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/mukta/useTEorMBCreateValidation.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/mukta/useTEorMBCreateValidation.js index e44bd935af..22e16f9762 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/mukta/useTEorMBCreateValidation.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/hooks/mukta/useTEorMBCreateValidation.js @@ -5,7 +5,7 @@ const useTEorMBCreateValidation=({estimateNumber, tenantId, t})=>{ //To get all the Estimates associated with the contract const requestrevisionCriteria = { - url: "/mukta-estimate/v1/_search", + url: "/estimate/v1/_search", params : {tenantId : tenantId , estimateNumber : estimateNumber}, config : { cacheTime : 0, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/atoms/urls.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/atoms/urls.js index 3075211cf8..984d7158c5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/atoms/urls.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/atoms/urls.js @@ -18,13 +18,13 @@ const Urls = { PGR_Create: `/pgr-services/v2/request/_create`, pgr_count: `/pgr-services/v2/request/_count`, - OTP_Send: "/mukta-user-otp/v1/_send", + OTP_Send: "/user-otp/v1/_send", Authenticate: "/user/oauth/token", RegisterUser: "/user/citizen/_create", ChangePassword: "/user/password/nologin/_update", ChangePassword1: "/user/password/_update", UserProfileUpdate: "/user/profile/_update", - EmployeeSearch: "/mukta-egov-hrms/employees/_search", + EmployeeSearch: "/egov-hrms/employees/_search", InboxSearch: "/works-inbox-service/v2/_search", @@ -35,13 +35,13 @@ const Urls = { works: { create: "/loi-service/v1/_create", - estimateSearch: "/mukta-estimate/v1/_search", + estimateSearch: "/estimate/v1/_search", loiSearch: "/loi-service/v1/_search", - createEstimate: "/mukta-estimate/v1/_create", - approvedEstimateSearch: "/mukta-estimate/v1/_search", - searchEstimate: "/mukta-estimate/v1/_search", + createEstimate: "/estimate/v1/_create", + approvedEstimateSearch: "/estimate/v1/_search", + searchEstimate: "/estimate/v1/_search", updateLOI: "/loi-service/v1/_update", - updateEstimate: "/mukta-estimate/v1/_update", + updateEstimate: "/estimate/v1/_update", download_pdf: "/egov-pdf/download/WORKSESTIMATE/estimatepdf", createProject: "/project/v1/_create", searchProject: "/project/v1/_search", @@ -54,9 +54,9 @@ const Urls = { }, contracts: { - createWO: "/mukta-contract/v1/_create", - search: "/mukta-contract/v1/_search", - update: "/mukta-contract/v1/_update", + createWO: "/contract/v1/_create", + search: "/contract/v1/_search", + update: "/contract/v1/_update", }, fsm: { @@ -92,17 +92,17 @@ const Urls = { obps_Reciept_Search: "/collection-services/payments/_search", billAmendmentSearch: "/billing-service/amendment/_search", getBulkPdfRecordsDetails: "/pdf-service/v1/_getBulkPdfRecordsDetails", - createPayment: "/mukta-expense/payment/v1/_create", + createPayment: "/expense/payment/v1/_create", ifms_funds_search : "/ifms-adapter/funds/v1/_search" }, expense:{ - createPayment: "/mukta-expense/payment/v1/_create", + createPayment: "/expense/payment/v1/_create", searchPayment: "/mukta-ifix-adapter/v1/pi/_search", - updatePayment: "/mukta-expense/payment/v1/_update", + updatePayment: "/expense/payment/v1/_update", regenerate : '/egov-pdf/bill/_generate', searchPaymentWMS:"/wms/mukta-pi/_search", updatePI:"/mukta-ifix-adapter/v1/disburse/_create", - searchPA:"/mukta-expense/payment/v1/_search", + searchPA:"/expense/payment/v1/_search", generateExcel: "/wms/report/payment-tracker/_create" }, pt: { @@ -136,10 +136,10 @@ const Urls = { count: "/echallan-services/eChallan/v1/_count", }, hrms: { - search: "/mukta-egov-hrms/employees/_search", - count: "/mukta-egov-hrms/employees/_count", - create: "/mukta-egov-hrms/employees/_create", - update: "/mukta-egov-hrms/employees/_update", + search: "/egov-hrms/employees/_search", + count: "/egov-hrms/employees/_count", + create: "/egov-hrms/employees/_create", + update: "/egov-hrms/employees/_update", }, tl: { create: "/tl-services/v1/_create", @@ -152,7 +152,7 @@ const Urls = { receipts: { receipt_download: "/egov-pdf/download/PAYMENT/consolidatedreceipt", payments: "/collection-services/payments", - count: "/mukta-egov-hrms/employees/_count", + count: "/egov-hrms/employees/_count", }, obps: { scrutinyDetails: "/edcr/rest/dcr/scrutinydetails", @@ -235,11 +235,11 @@ const Urls = { }, wageseeker: { - create: "/mukta-individual/v1/_create", - search: "/mukta-individual/v1/_search", - wmssearch: "/wms/mukta-individual/_search", - update: "/mukta-individual/v1/_update", - delete: "/mukta-individual/v1/_delete", + create: "/individual/v1/_create", + search: "/individual/v1/_search", + wmssearch: "/wms/individual/_search", + update: "/individual/v1/_update", + delete: "/individual/v1/_delete", }, noc: { @@ -251,9 +251,9 @@ const Urls = { bills: { cancelBill: "/billing-service/bill/v2/_cancelbill", createBill: "/expensebilling/demand/v1/_create", - searchBill: "/mukta-expense/bill/v1/_search", - createPurchaseBill: "/mukta-expense-calculator/purchase/v1/_createbill", - updatePurchaseBill:"/mukta-expense-calculator/purchase/v1/_updatebill" + searchBill: "/expense/bill/v1/_search", + createPurchaseBill: "/expense-calculator/purchase/v1/_createbill", + updatePurchaseBill:"/expense-calculator/purchase/v1/_updatebill" }, organisation: { @@ -272,12 +272,12 @@ const Urls = { billgenie: "/egov-searcher", bill: { - search: "/mukta-expense/bill/v1/_search", - searchCalculator: "/mukta-expense-calculator/v1/_search", + search: "/expense/bill/v1/_search", + searchCalculator: "/expense-calculator/v1/_search", }, calculator: { - expenseBill: "/mukta-expense-calculator/v1/_estimate", + expenseBill: "/expense-calculator/v1/_estimate", }, measurement : { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Measurement/View.js b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Measurement/View.js index df9d289032..cafd92699f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Measurement/View.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/libraries/src/services/molecules/Measurement/View.js @@ -157,7 +157,7 @@ export const View = { fetchMeasurementDetails: async (t, tenantId, data, searchParams, revisedWONumber) => { try { - const url = "/mukta-mukta-services/measurement/_search" + const url = "/mukta-services/measurement/_search" const allData = await CustomService.getResponse({ url, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json index 9bd8913fbe..fce8f60b98 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-attendencemgmt", - "version": "0.4.12", + "version": "0.4.13", "description": "Attendence Management Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/employee/viewAttendance/ViewAttendances.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/employee/viewAttendance/ViewAttendances.js index f430caeab1..b1cde7e20d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/employee/viewAttendance/ViewAttendances.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/AttendenceMgmt/src/pages/employee/viewAttendance/ViewAttendances.js @@ -28,7 +28,7 @@ const ViewAttendance = () => { const {isLoading, data, isError, isSuccess, error} = Digit.Hooks.attendance.useViewAttendance(tenantId, { musterRollNumber },{},isStateChanged); const requestCriteria = { - url : "/mukta-mukta-services/musterRollValidations/_validate", + url : "/mukta-services/musterRollValidations/_validate", body: { "tenantId" : tenantId, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json index 16417d978f..7af5dc26df 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-contracts", - "version": "0.4.13", + "version": "0.4.14", "description": "Contracts Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/CreateTimeExtension.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/CreateTimeExtension.js index e237fdfb43..5ec447398f 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/CreateTimeExtension.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/components/TimeExtension/CreateTimeExtension.js @@ -60,7 +60,7 @@ const CreateTimeExtension = ({isEdit,revisedWONumber,...props}) => { }, [approvers]); const reqCriteriaUpdate = { - url: isEdit ? `/mukta-contract/v1/_update` : `/mukta-contract/v1/_create`, + url: isEdit ? `/contract/v1/_update` : `/contract/v1/_create`, params: {}, body: {}, config: { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/configs/searchContractConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/configs/searchContractConfig.js index 347ca52003..be738091dd 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/configs/searchContractConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/configs/searchContractConfig.js @@ -4,7 +4,7 @@ return { "label": "WORKS_SEARCH_CONTRACT", "type": "search", "apiDetails": { - "serviceName": "/wms/mukta-contract/_search", + "serviceName": "/wms/contract/_search", "requestParam": {}, "requestBody": { "inbox": { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContractDetails.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContractDetails.js index 7cbcc2aa17..ff1b8f57d0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContractDetails.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Contracts/src/pages/employee/ViewContractDetails.js @@ -91,7 +91,7 @@ const ViewContractDetails = () => { //fetching measurement data const requestCriteria = { - url : "/mukta-mukta-services/measurement/_search", + url : "/mukta-services/measurement/_search", body: { "contractNumber" : contractId, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json index 047dc1a789..43ba89eb9d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-estimate", - "version": "0.4.19", + "version": "0.4.20", "description": "Estimate Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/SearchConficMuktaFuzzy.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/SearchConficMuktaFuzzy.js index 50e3d937ee..9bc99ea723 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/SearchConficMuktaFuzzy.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/SearchConficMuktaFuzzy.js @@ -3,7 +3,7 @@ const searchConfigMuktaFuzzy = () => { "label": "WORKS_SEARCH_ESTIMATES", "type": "search", "apiDetails": { - "serviceName": "/wms/mukta-estimate/_search", + "serviceName": "/wms/estimate/_search", "requestParam": {}, "requestBody": { "inbox": { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/inboxConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/inboxConfig.js index c01e992be4..ebed2fb623 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/inboxConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/inboxConfig.js @@ -3,7 +3,7 @@ label: "ACTION_TEST_ESTIMATE_INBOX", type: 'inbox', apiDetails: { - serviceName: "/mukta-estimate/v1/_search", + serviceName: "/estimate/v1/_search", requestParam: { }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/inboxConfigMukta.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/inboxConfigMukta.js index e9af32ce52..b9dfbdf993 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/inboxConfigMukta.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/inboxConfigMukta.js @@ -8,7 +8,7 @@ const inboxConfigMukta = () => { requestBody: { inbox: { processSearchCriteria: { - businessService: ["mukta-estimate"], + businessService: ["estimate"], moduleName: "estimate-service", }, moduleSearchCriteria: {}, @@ -259,7 +259,7 @@ const inboxConfigMukta = () => { populators: { name: "state", labelPrefix: "WF_EST_", - businessService: "mukta-estimate", + businessService: "estimate", }, }, ], diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/searchConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/searchConfig.js index deb3ad5d17..958f20c46e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/searchConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/searchConfig.js @@ -3,7 +3,7 @@ const searchConfig = () => { label: "WORKS_SEARCH_ESTIMATES", type: 'search', apiDetails: { - serviceName: "/mukta-estimate/v1/_search", + serviceName: "/estimate/v1/_search", requestParam: { }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/searchConfigMukta.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/searchConfigMukta.js index 1bc67283f8..fbc1b4fdf5 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/searchConfigMukta.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/searchConfigMukta.js @@ -3,7 +3,7 @@ const searchConfigMukta = () => { "label": "WORKS_SEARCH_ESTIMATES", "type": "search", "apiDetails": { - "serviceName": "/mukta-estimate/v1/_search", + "serviceName": "/estimate/v1/_search", "requestParam": {}, "requestBody": {}, "minParametersForSearchForm": 1, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewConfig.js index 817920dba5..fbaa50bf01 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/configs/viewConfig.js @@ -193,7 +193,7 @@ export const data = (projectDetails, estimateDetails, overheadDetails, revisionN applicationNo: revisionNumber ? revisionNumber : estimateDetails?.estimateNumber, tenantId: estimateDetails?.tenantId, applicationDetails: estimateDetails, - url: "/mukta-estimate/v1/_update", + url: "/estimate/v1/_update", moduleCode: "Estimate", editApplicationNumber: undefined, editCallback : getRedirectionCallback diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js index f5691dad88..30ff42e88b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/Estimates/CreateDetailedEstimate/CreateEstimate.js @@ -86,7 +86,7 @@ const CreateEstimate = ({ props }) => { //fetching all the estimates for revision original values const requestrevisionCriteria = { - url: "/mukta-estimate/v1/_search", + url: "/estimate/v1/_search", params: { tenantId: tenantId, estimateNumber: estimateNumber }, config: { cacheTime: 0, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewDetailedEstimate.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewDetailedEstimate.js index 0107c44bb8..12803fbd35 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewDetailedEstimate.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Estimate/src/pages/employee/ViewDetailedEstimate.js @@ -25,7 +25,7 @@ const ViewDetailedEstimate = () => { Digit.Hooks.useClickOutside(menuRef, closeMenu, showActions); const requestCriteria = { - url: "/mukta-estimate/v1/_search", + url: "/estimate/v1/_search", params : revisionNumber ? {tenantId : tenantId , revisionNumber : revisionNumber} : {tenantId : tenantId , estimateNumber : estimateNumber} }; @@ -34,7 +34,7 @@ const ViewDetailedEstimate = () => { //fetching all the estimates for revision original values const requestrevisionCriteria = { - url: "/mukta-estimate/v1/_search", + url: "/estimate/v1/_search", params : {tenantId : tenantId , estimateNumber : estimateNumber}, config : { cacheTime : 0 diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json index 871ba14f3e..b22acf3eee 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-expenditure", - "version": "0.4.14", + "version": "0.4.15", "description": "Expenditure Management Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/CreatePAWMSConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/CreatePAWMSConfig.js index 8b3a70c8dc..427002080e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/CreatePAWMSConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/CreatePAWMSConfig.js @@ -7,7 +7,7 @@ export const CreatePAWMSConfig = { "type": "search", "actionRole": "BILL_ACCOUNTANT", "apiDetails": { - "serviceName": "/wms/mukta-expense/_search", + "serviceName": "/wms/expense/_search", "requestParam": {}, "requestBody": { "inbox": { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/InboxPaymentInstructionConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/InboxPaymentInstructionConfig.js index ccd849ffe1..45cb37e21b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/InboxPaymentInstructionConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/InboxPaymentInstructionConfig.js @@ -7,7 +7,7 @@ export const InboxPaymentInstructionConfig = { "postProcessResult": false, "type": "inbox", "apiDetails": { - "serviceName": "/mukta-expense/payment/v1/_search", + "serviceName": "/expense/payment/v1/_search", "requestParam": {}, "requestBody": { "paymentCriteria": { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchBillConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchBillConfig.js index 688612d832..6ce7962812 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchBillConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchBillConfig.js @@ -9,7 +9,7 @@ export const SearchBillConfig = { "actionRole": "BILL_ACCOUNTANT", "actionLink": "expenditure/download-bill", "apiDetails": { - "serviceName": "/mukta-expense-calculator/v1/_search", + "serviceName": "/expense-calculator/v1/_search", "requestParam": {}, "requestBody": { "searchCriteria": {} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchBillWMSConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchBillWMSConfig.js index ae423e0b50..233df7747d 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchBillWMSConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchBillWMSConfig.js @@ -9,7 +9,7 @@ export const SearchBillWMSConfig = { actionRole: "BILL_CREATOR", actionLink: "expenditure/download-bill", apiDetails: { - serviceName: "/wms/mukta-expense/_search", + serviceName: "/wms/expense/_search", requestParam: {}, requestBody: { inbox: { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchExpenseBillConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchExpenseBillConfig.js index 24b003025f..3ebad84019 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchExpenseBillConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Expenditure/src/configs/SearchExpenseBillConfig.js @@ -9,7 +9,7 @@ export const SearchExpenseBillConfig = { actionRole: "BILL_CREATOR", actionLink: "expenditure/download-bill", apiDetails: { - serviceName: "/mukta-expense/bill/v1/_search", + serviceName: "/expense/bill/v1/_search", requestParam: {}, requestBody: { billCriteria: {} diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json index 127eab565c..b8711feeff 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-masters", - "version": "0.4.17", + "version": "0.4.18", "description": "Masters Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchWMSWageSeekerConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchWMSWageSeekerConfig.js index 32fd707564..7b93700c4e 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchWMSWageSeekerConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchWMSWageSeekerConfig.js @@ -6,7 +6,7 @@ const searchWMSWageSeekerConfig = () => { "actionRole": "INDIVIDUAL_CREATOR", "actionLink": "masters/create-wageseeker", "apiDetails": { - "serviceName": "/wms/mukta-individual/_search", + "serviceName": "/wms/individual/_search", "requestParam": {}, "requestBody": { "inbox": { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchWageSeekerConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchWageSeekerConfig.js index 191c373c48..960fd519e1 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchWageSeekerConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Masters/src/configs/searchWageSeekerConfig.js @@ -6,7 +6,7 @@ const searchWageSeekerConfig = () => { actionRole: "INDIVIDUAL_CREATOR", actionLink: "masters/create-wageseeker", apiDetails: { - serviceName: "/mukta-individual/v1/_search", + serviceName: "/individual/v1/_search", requestParam: {}, requestBody: { apiOperation: "SEARCH", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json index 0237ac126f..67a6bff691 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-measurement", - "version": "0.2.14", + "version": "0.2.15", "description": "Measurement Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MBHistoryTable.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MBHistoryTable.js index 455952fe2d..609e4b4282 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MBHistoryTable.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/components/MBHistoryTable.js @@ -25,7 +25,7 @@ const MeasurementHistory = ({ contractNumber, measurementNumber }) => { }; const requestCriteria = { - url : "/mukta-mukta-services/measurement/_search", + url : "/mukta-services/measurement/_search", body: { "contractNumber" : contractNumber, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/ViewMeasurementConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/ViewMeasurementConfig.js index 5d26f7598c..39973eb375 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/ViewMeasurementConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/configs/ViewMeasurementConfig.js @@ -41,7 +41,7 @@ export const data = (contract, estimateDetails, measurement, allMeasurements, th { key: "MB_MUSTER_ROLL_ID", isLink : musterrollNumber ? true : false, - to : `/mukta-works-ui/employee/attendencemgmt/view-attendance?tenantId=${measurement?.tenantId}&musterRollNumber=${musterrollNumber}`, + to : `/works-ui/employee/attendencemgmt/view-attendance?tenantId=${measurement?.tenantId}&musterRollNumber=${musterrollNumber}`, value: (findMusterRollNumber(musterRolls,measurement?.measurementNumber, measurement?.additionalDetails?.startDate, measurement?.additionalDetails?.endDate)) || "NA", }, { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js index 7e727dd7cf..2b31ef9edf 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/CreateMeasurement.js @@ -57,7 +57,7 @@ const CreateMeasurement = ({ props }) => { // for BFF service const requestCriteria = { - url: "/mukta-mukta-services/measurement/_search", + url: "/mukta-services/measurement/_search", body: { contractNumber: contractNumber, tenantId: tenantId, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ViewMeasurement.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ViewMeasurement.js index 6443a22b68..f3bc6cb1bc 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ViewMeasurement.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Measurement/src/pages/employee/ViewMeasurement.js @@ -11,7 +11,7 @@ const ViewMeasurement = () => { const [thumbnails, setThumbnails] = useState("") const requestCriteria = { - url: "/mukta-mukta-services/measurement/_search", + url: "/mukta-services/measurement/_search", body: { contractNumber: workOrderNumber, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json index 6f46d39890..e0fa031eda 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-project", - "version": "0.4.13", + "version": "0.4.14", "description": "Project Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/SampleComp.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/SampleComp.js index 1e4490a9ab..58b1158752 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/SampleComp.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/Project/src/pages/employee/SampleComp.js @@ -342,7 +342,7 @@ const data = { project: null, ProcessInstances: null, }, - url: "/mukta-estimate/v1/_update", + url: "/estimate/v1/_update", moduleCode: "Estimate", editApplicationNumber: undefined, }, @@ -379,7 +379,7 @@ const data = { //id {card[1]scection[]0+key} //classname // type:"link"/string/number/date/amount/ - to:"/mukta-works-ui/employee/estimate/estimate-details?tenantId=pg.citya&estimateNumber=ES/2023-24/000828", + to:"/works-ui/employee/estimate/estimate-details?tenantId=pg.citya&estimateNumber=ES/2023-24/000828", }, ], }, @@ -424,7 +424,7 @@ const data = { key: "key 3", value:"thisislink", isLink:true, - to:"/mukta-works-ui/employee/estimate/estimate-details?tenantId=pg.citya&estimateNumber=ES/2023-24/000828", + to:"/works-ui/employee/estimate/estimate-details?tenantId=pg.citya&estimateNumber=ES/2023-24/000828", }, ], }, diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json index 4d9ea5cb7e..f908e0a728 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/RateAnalysis/package.json @@ -1,6 +1,6 @@ { "name": "@egovernments/digit-ui-module-rate-analysis", - "version": "0.4.11", + "version": "0.4.12", "description": "Rate Analysis Module UI", "main": "dist/index.js", "module": "dist/index.modern.js", diff --git a/frontend/micro-ui/web/package.json b/frontend/micro-ui/web/package.json index d2ac669c42..8687fa20ed 100644 --- a/frontend/micro-ui/web/package.json +++ b/frontend/micro-ui/web/package.json @@ -14,7 +14,7 @@ "micro-ui-internals/packages/modules/Estimate", "micro-ui-internals/packages/modules/RateAnalysis" ], - "homepage": "/mukta-works-ui", + "homepage": "/works-ui", "dependencies": { "@egovernments/digit-ui-react-components": "1.5.12", "@egovernments/digit-ui-libraries": "1.5.0", diff --git a/frontend/micro-ui/web/src/Customisations/UICustomizations.js b/frontend/micro-ui/web/src/Customisations/UICustomizations.js index f821537012..c9036179b1 100644 --- a/frontend/micro-ui/web/src/Customisations/UICustomizations.js +++ b/frontend/micro-ui/web/src/Customisations/UICustomizations.js @@ -31,7 +31,7 @@ const businessServiceMap = { }; const inboxModuleNameMap = { - "mukta-estimate": "estimate-service", + "estimate": "estimate-service", "contract-approval-mukta": "contract-service", "muster-roll-approval": "muster-roll-service", }; @@ -382,7 +382,7 @@ export const UICustomizations = { return ( {String(value ? value : t("ES_COMMON_NA"))} @@ -975,7 +975,7 @@ export const UICustomizations = { if (key === "WORKS_BILL_NUMBER") { return ( - + {String(value ? value : t("ES_COMMON_NA"))} diff --git a/frontend/micro-ui/web/src/setupProxy.js b/frontend/micro-ui/web/src/setupProxy.js index 7623e6d113..d15e20a6d8 100644 --- a/frontend/micro-ui/web/src/setupProxy.js +++ b/frontend/micro-ui/web/src/setupProxy.js @@ -12,8 +12,8 @@ module.exports = function (app) { '/pgr-services', '/contract', '/filestore', - '/mukta-egov-hrms', - '/mukta-user-otp', + '/egov-hrms', + '/user-otp', '/user', '/fsm', '/billing-service', @@ -27,19 +27,19 @@ module.exports = function (app) { '/muster-roll', '/project', '/inbox/v2/_search', - '/mukta-individual', + '/individual', '/org-services', - '/wms/mukta-contract/_search', - '/mukta-contract', + '/wms/contract/_search', + '/contract', '/expensebilling', '/bankaccount-service', - '/mukta-expense-calculator/v1/_estimate', - '/mukta-expense-calculator/purchase/v1/_createbill', - '/mukta-expense/bill/v1', + '/expense-calculator/v1/_estimate', + '/expense-calculator/purchase/v1/_createbill', + '/expense/bill/v1', '/egov-pdf/bill/_search', - '/mukta-expense/bill', - "/mukta-expense-calculator/v1/_search", - "/mukta-expense/payment/v1/_create", - "/mukta-expense-calculator/purchase/v1/_updatebill" + '/expense/bill', + "/expense-calculator/v1/_search", + "/expense/payment/v1/_create", + "/expense-calculator/purchase/v1/_updatebill" ].forEach((location) => app.use(location, createProxy)); }; diff --git a/frontend/micro-ui/web/webpack.config.js b/frontend/micro-ui/web/webpack.config.js index 9da7c1dc39..b6a8011314 100644 --- a/frontend/micro-ui/web/webpack.config.js +++ b/frontend/micro-ui/web/webpack.config.js @@ -25,7 +25,7 @@ module.exports = { output: { filename: "[name].bundle.js", path: path.resolve(__dirname, "build"), - publicPath: "/mukta-works-ui/", + publicPath: "/works-ui/", }, optimization: { splitChunks: {
+ {el?.value} checkIfDeletionisAllowed(row) ? "" : remove(index)}> - +
- {String(lineItem.label ? lineItem.label : t("ES_COMMON_NA"))} + {/* {String(lineItem.label ? lineItem.label : t("ES_COMMON_NA"))} */} + +
setShowModal(lineItem)}> - {String(lineItem.label ? lineItem.label : t("ES_COMMON_NA"))} + {/* {String(lineItem.label ? lineItem.label : t("ES_COMMON_NA"))} */} +