diff --git a/services/common/src/components/forms/RenderCancelButton.tsx b/services/common/src/components/forms/RenderCancelButton.tsx index 690676dfe4..dfc71d8413 100644 --- a/services/common/src/components/forms/RenderCancelButton.tsx +++ b/services/common/src/components/forms/RenderCancelButton.tsx @@ -32,6 +32,8 @@ interface RenderCancelButtonProps { cancelFunction?: () => void | Promise; cancelModalProps?: ModalFuncProps; iconButton?: boolean; + disabled?: boolean; + loading?: boolean; } /** @@ -48,7 +50,9 @@ const RenderCancelButton: FC = ({ buttonProps = { type: "default" }, cancelFunction, cancelModalProps, - iconButton = false + iconButton = false, + disabled = false, + loading = false, }) => { const dispatch = useDispatch(); const { formName, isModal, isEditMode } = useContext(FormContext); @@ -72,7 +76,7 @@ const RenderCancelButton: FC = ({ const className = `${buttonProps?.className ?? ""} form-btn`; return ( - buttonCancelFunction()}> + buttonCancelFunction()}> {!iconButton && buttonLabel} ); diff --git a/services/common/src/components/forms/RenderSubmitButton.tsx b/services/common/src/components/forms/RenderSubmitButton.tsx index ef2c8b7be2..d72aba51da 100644 --- a/services/common/src/components/forms/RenderSubmitButton.tsx +++ b/services/common/src/components/forms/RenderSubmitButton.tsx @@ -27,6 +27,7 @@ const RenderSubmitButton: FC = ({ const submitting = useSelector(isSubmitting(formName)); const isFormDirty = useSelector(isDirty(formName)); const disabled = props.disabled || submitting || (!isFormDirty && disableOnClean); + const loading = props.loading || (submitting && !iconButton); const className = `${buttonProps?.className ?? ""} form-btn`; return ( @@ -35,7 +36,7 @@ const RenderSubmitButton: FC = ({ ) : (canEditPermitConditions && @@ -1274,7 +1276,7 @@ exports[`PermitConditions renders properly 1`] = ` class="condition-collapsed" >
blockquote { border-left: 4px solid $primary-color; diff --git a/services/core-web/src/tests/components/Forms/reports/ReportPermitRequirementForm.spec.tsx b/services/core-web/src/tests/components/Forms/reports/ReportPermitRequirementForm.spec.tsx index 28cec82e40..db5c80409f 100644 --- a/services/core-web/src/tests/components/Forms/reports/ReportPermitRequirementForm.spec.tsx +++ b/services/core-web/src/tests/components/Forms/reports/ReportPermitRequirementForm.spec.tsx @@ -7,6 +7,7 @@ import { USER_ROLES } from "@mds/common/constants/environment"; import { SystemFlagEnum } from "@mds/common/constants/enums"; import { ReportPermitRequirementForm } from "@/components/Forms/reports/ReportPermitRequirementForm"; import { complianceReportReducerType, reportParamsGetAll } from "@mds/common/redux/slices/complianceReportsSlice"; +import { PermitConditionsProvider } from "@/components/mine/Permit/PermitConditionsContext"; const initialState = { [STATIC_CONTENT]: { @@ -35,19 +36,31 @@ const initialState = { }, }; +const providerParams = { + mineGuid: "mineGuid", + permitGuid: "permitGuid", + latestAmendment: null, + previousAmendment: null, + currentAmendment: null, + loading: false, + setLoading: jest.fn(), +}; + describe("RequestReportForm", () => { it("renders form properly", () => { const { container } = render( - { }} - canEditPermitConditions={true} - refreshData={jest.fn()} - currentAmendment={MOCK.PERMITS[0].permit_amendments[0]} - mineGuid={MOCK.PERMITS[0].mine_guid} - condition={MOCK.PERMITS[0].permit_amendments[0].conditions[0]} - /> + + { }} + canEditPermitConditions={true} + refreshData={jest.fn()} + currentAmendment={MOCK.PERMITS[0].permit_amendments[0]} + mineGuid={MOCK.PERMITS[0].mine_guid} + condition={MOCK.PERMITS[0].permit_amendments[0].conditions[0]} + /> + ); diff --git a/services/core-web/src/tests/components/mine/Permit/PermitConditionReportRequirements.spec.tsx b/services/core-web/src/tests/components/mine/Permit/PermitConditionReportRequirements.spec.tsx index 951f643dfb..13bc595f54 100644 --- a/services/core-web/src/tests/components/mine/Permit/PermitConditionReportRequirements.spec.tsx +++ b/services/core-web/src/tests/components/mine/Permit/PermitConditionReportRequirements.spec.tsx @@ -16,6 +16,8 @@ const params = { currentAmendment: MOCK.PERMITS[0].permit_amendments[0], latestAmendment: MOCK.PERMITS[0].permit_amendments[0], previousAmendment: MOCK.PERMITS[0].permit_amendments[0], + loading: false, + setLoading: jest.fn() }; describe("PermitConditionReportRequirements", () => {