diff --git a/packages/react-sdk-components/src/components/infra/Assignment/Assignment.tsx b/packages/react-sdk-components/src/components/infra/Assignment/Assignment.tsx index badd7f6a..f5cab234 100644 --- a/packages/react-sdk-components/src/components/infra/Assignment/Assignment.tsx +++ b/packages/react-sdk-components/src/components/infra/Assignment/Assignment.tsx @@ -97,37 +97,44 @@ export default function Assignment(props: PropsWithChildren) { const oWorkItem = firstChild.props.getPConnect(); const oWorkData = oWorkItem.getDataObject(); const oData: any = thePConn.getDataObject(''); // 1st arg empty string until typedefs allow it to be optional + const caseInfo = oData?.caseInfo; + if (!oWorkData?.caseInfo || oWorkData.caseInfo.assignments === null || !caseInfo) { + return; + } - if (oWorkData?.caseInfo && oWorkData.caseInfo.assignments !== null) { - const oCaseInfo = oData?.caseInfo; + // Set action buttons + if (caseInfo.actionButtons) { + setActionButtons(caseInfo.actionButtons); + } - if (oCaseInfo && oCaseInfo.actionButtons) { - setActionButtons(oCaseInfo.actionButtons); - } + // Handle navigation setup + const navigation = caseInfo.navigation; + if (!navigation) { + setHasNavigation(false); + return; + } - if (oCaseInfo?.navigation /* was oCaseInfo.navigation != null */) { - setHasNavigation(true); + const isStandardTemplate = navigation.template?.toLowerCase() === 'standard'; + const hasSingleStep = navigation.steps?.length === 1; + const shouldHideNavigation = isStandardTemplate || hasSingleStep; - if ( - (oCaseInfo.navigation.template && oCaseInfo.navigation.template.toLowerCase() === 'standard') || - oCaseInfo?.navigation?.steps?.length === 1 - ) { - setHasNavigation(false); - } else if (oCaseInfo.navigation.template && oCaseInfo.navigation.template.toLowerCase() === 'vertical') { - setIsVertical(true); - } else { - setIsVertical(false); - } + setHasNavigation(!shouldHideNavigation); - if (oCaseInfo?.navigation?.steps) { - const steps = JSON.parse(JSON.stringify(oCaseInfo?.navigation?.steps)); - const formedSteps = getStepsInfo(steps); - setArNavigationSteps(formedSteps); - } + if (shouldHideNavigation) { + return; + } - setArCurrentStepIndicies(findCurrentIndicies(arNavigationSteps, arCurrentStepIndicies, 0)); - } + // set vertical navigation + const isVerticalTemplate = navigation.template?.toLowerCase() === 'vertical'; + setIsVertical(isVerticalTemplate); + + if (navigation.steps) { + const steps = JSON.parse(JSON.stringify(navigation.steps)); + const formedSteps = getStepsInfo(steps); + setArNavigationSteps(formedSteps); } + + setArCurrentStepIndicies(findCurrentIndicies(arNavigationSteps, arCurrentStepIndicies, 0)); } }, [children]);