Untitled
unknown
plain_text
a month ago
41 kB
4
Indexable
import React, { useEffect, useState } from 'react'; import { Section, Page, Header, Row, Column, Button, Para, Selectbox } from '@d-lift/uxcomponents'; import { withPage, Navigate, useAppState } from '@d-lift/core'; import PageData from '@/UXModule/bcDesktopWayfinder/aplDesktopWayfinderData.json'; import CPUtil from '@/Util/CPUtil'; import ButtonNavigation from '@/UXModule/ButtonNavigation/ButtonNavigation'; import './APLCN.scss'; import caseDataJSON from './CaseData.json'; const pageConfig = { PageName: 'APLCN', Description: 'Case And Notice Page', ContextRoot: 'Appeals', ContentManager: true, PageType: 'workflow', WorkFlowNavigation: true, TemplateOptions: { cardWorkflow: true }, pageId: 'APLCN', ShowTitle: false, }; const APLCN = () => { const [visibleCard, setVisibleCard] = useState(null); const [filteredCaseNumberList, setFilteredCaseNumberList] = useState([]); const [personList, setPersonList] = useState([]); const defaultData = { appealStatus: '', caseNumber: '', personId: '', appealingIndvId: '', }; const [APLCN] = useAppState('APLCN', defaultData); useEffect(() => { CPUtil.setValueInAppcontext('currentStep', 3); CPUtil.setValueInAppcontext('wayFinderSteps', PageData); }, []); useEffect(() => { const programCd = CPUtil.getValueFromAppContext('APLPR.programCd'); let filteredCases = []; if (programCd === 'snap') { filteredCases = caseDataJSON.caseData.filter((c) => c.programCode === 'FS'); } else if (programCd === 'ff') { filteredCases = caseDataJSON.caseData.filter((c) => c.programCode === 'TA'); } setFilteredCaseNumberList( filteredCases.map((c) => ({ value: c.caseNumber, label: c.caseNumber })) ); }, []); useEffect(() => { if (APLCN.caseNumber) { const selectedCase = caseDataJSON.caseData.find((c) => c.caseNumber === APLCN.caseNumber); if (selectedCase && selectedCase.persons) { setPersonList( selectedCase.persons.map((p) => ({ value: p.personId, label: `${p.firstName} ${p.lastName} ${p.middleInitial || ''}`.trim(), })) ); } } }, [APLCN.caseNumber]); const onNext = () => { CPUtil.setValueInAppcontext('currentStep', 4); Navigate.to('/Appeals/AppealsAppeallantInfo/APLAI'); }; const onBack = () => { Navigate.to('/Appeals/AppealsContinuationOfBenefits/APLCB'); }; return ( <Page> <Section className="container"> <Header labelKey="case_header" /> <Header header-size="2" className="mt-4" labelKey="case_subheader" /> <Row> <Column> <Button className="col-auto mx-2 mb-2" labelKey="caseNumber_btn_text" click={() => setVisibleCard('case')} /> </Column> <Column> <Button className="col-auto mx-2 mb-2" labelKey="applNumber_btn_text" click={() => setVisibleCard('appl')} /> </Column> </Row> {visibleCard === 'case' && ( <Section id="caseNumber_card" className="dynamic-fields left-button mb-4"> <Selectbox id="case_question1" labelKey="case_question1" defaultOption="true" defaultOptionValue="SEL" defaultOptionLabelKey="common_selectone" list={filteredCaseNumberList} model="APLCN.caseNumber" required="{true}" validationRules="required" errormessages='{{"required": "common_mandatory_error"}}' /> <Para className="ux-helper-text" labelKey="case_question_helper_text" /> <Selectbox id="case_question2" labelKey="case_question2" defaultOption="true" defaultOptionValue="SEL" defaultOptionLabelKey="selectIndividual_dropdown_text" list={personList} model="APLCN.personId" required="{true}" validationRules="required" errormessages='{{"required": "common_mandatory_error"}}' /> </Section> )} {visibleCard === 'appl' && ( <Section id="applNumber_card" className="dynamic-fields right-button mb-4"> <Selectbox id="application_question" labelKey="application_question" defaultOption="true" defaultOptionValue="SEL" defaultOptionLabelKey="common_selectone" model="APLCN.appealingIndvId" required="{true}" validationRules="required" errormessages='{{"required": "common_mandatory_error"}}' /> <Para className="ux-helper-text" labelKey="application_question_helper_text" /> </Section> )} <Header header-size="2" className="mt-4" labelKey="selectNotice_subheader" /> <Selectbox id="appeal_reason" labelKey="selectNotice_question" defaultOption="true" defaultOptionValue="SEL" defaultOptionLabelKey="selectDoc_dropdown_text" /> <Para className="ux-helper-text" labelKey="case_question_helper_text" /> </Section> <ButtonNavigation onNext={onNext} onBack={onBack} /> </Page> ); }; export default withPage(pageConfig, APLCN); )} )} ) } } })) ) } } }) ) } } }) }) } } }
Editor is loading...
Leave a Comment