Untitled

 avatar
unknown
plain_text
a month ago
41 kB
2
Indexable
import React, { useEffect } from 'react';
import {
        Section,
            Page,
                Header,
                    Date,
                        Card,
                            Textarea,
                                List,
                                    ListItem,
                                        Selectbox,
} from '@d-lift/uxcomponents';
import { Navigate, withPage, useAppState, AppContext } from '@d-lift/core';
import PageData from '@/UXModule/bcDesktopWayfinder/aplDesktopWayfinderData.json';
import CPUtil from '@/Util/CPUtil';
import ButtonNavigation from '@/UXModule/ButtonNavigation/ButtonNavigation';
import ConstantKeys from '@/Constants/ConstantKeys';
import dataAdapter from '@/Adapters/DataAdapter';

const pageConfig = {
        PageName: 'APLPR',
            Description: 'Program And Reason Page',
                ContextRoot: 'Appeals',
                    ContentManager: true,
                        PageType: 'workflow',
                            WorkFlowNavigation: true,
                                TemplateOptions: { cardWorkflow: true },
                                    pageId: 'APLPR',
                                        ShowTitle: false,
                                            SaveAndExitActionUrl: '/APLPR/APLPRLoad',
                                                PersistActionUrl: '/APLPR/APLPRNext',
};

const APLPR = () => {
        useEffect(() => {
                    CPUtil.setValueInAppcontext('currentStep', 2);
                            CPUtil.setValueInAppcontext('wayFinderSteps', PageData);
                                    APLPRLoadData();
        }, []);

            const APLPRLoadData = () => {
                        dataAdapter
                                    .invokeSummaryLoad({}, AppContext.pagedetails.getPageConfig().saveAndExitActionUrl)
                                                .then((response) => {
                                                                    let success = dataAdapter.validateServiceResponse(response);
                                                                                    if (success) {
                                                                                                            let appealId = response?.data?.appealId;
                                                                                                                                console.log('data from APLPRLoad', appealId);
                                                                                                                                                    setAppealId(appealId);
                                                                                    }
                                                });
            };

                const defaultData = {
                            programCd: '',
                                    programReasonCd: '',
                };
                    const [APLPR] = useAppState('APLPR', defaultData);
                        const [appealId, setAppealId] = useAppState('appealId', '');

                            const onNext = () => {
                                        let data = AppContext.model.getValue(AppContext.pagedetails.getPageConfig().pageId);
                                                if (!AppContext.model.getValue('errorMsg')) {
                                                                dataAdapter.invokeAppealPresist(
                                                                                    createAppealRequest(
                                                                                                            'Appeals',
                                                                                                                                { pageId: 'APLPR', pageAction: 'APLPRNext' },
                                                                                                                                                    null,
                                                                                                                                                                        null,
                                                                                                                                                                                            null,
                                                                                                                                                                                                                false,
                                                                                                                                                                                                                                    appealId // Pass the appealId
                                                                                    ),
                                                                                                    AppContext.pagedetails.getPageConfig().persistActionUrl
                                                                );
                                                }
                                                        CPUtil.setValueInAppcontext('currentStep', 3);
                                                                Navigate.to('/Appeals/AppealsContinuationOfBenefits/APLCB');
                            };

                                const onBack = () => {
                                            Navigate.to('/Appeals/AppealsMoreAbout/APLMR');
                                };

                                    return (
                                                <Page ref-table-list="APPG_11006 ,  APPR_11005,APPR_11005:1, APPR_11005:2">
                                                            <Section className="container">
                                                                            <Header labelKey="Appeals_program_reason_header" />
                                                                                            <Header
                                                                                                                header-size="2"
                                                                                                                                    className="mt-4"
                                                                                                                                                        labelKey="Appeals_program_selection_sub_header"
                                                                                                                                                                        />

                                                                                                                                                                                        <Selectbox
                                                                                                                                                                                                            id="program_selection"
                                                                                                                                                                                                                                labelKey="Appeals_program_selection_dropdown_title"
                                                                                                                                                                                                                                                    defaultOption="true"
                                                                                                                                                                                                                                                                        defaultOptionValue="SEL"
                                                                                                                                                                                                                                                                                            defaultOptionLabelKey="common_selectone"
                                                                                                                                                                                                                                                                                                                model="APLPR.programCd"
                                                                                                                                                                                                                                                                                                                                    ref-table="APPG_11006"
                                                                                                                                                                                                                                                                                                                                                        optionLabel={ConstantKeys.REF_TABLE_COLS.DESCRIPTION}
                                                                                                                                                                                                                                                                                                                                                                            optionValue={ConstantKeys.REF_TABLE_COLS.CODE}
                                                                                                                                                                                                                                                                                                                                                                                                required="{true}"
                                                                                                                                                                                                                                                                                                                                                                                                                    validationRules="required"
                                                                                                                                                                                                                                                                                                                                                                                                                                        errormessages='{{"required": "common_mandatory_error"}}'
                                                                                                                                                                                                                                                                                                                                                                                                                                                        />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <Header size="2" labelKey="Appeals_additional_details_header" />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <Section showIf={AppContext.model.getValue('APLPR.programReasonCd')}>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <Date
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    id="noticeDate"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            labelKey="notice_date_text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    model="date3"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            monthDropdown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    yearDropdown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <Date
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    id="noticeDate"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            labelKey="apply_date_text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    model="date3"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            monthDropdown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    yearDropdown
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </Section>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <Header size="3" labelKey="Tell_us_why_textbox_title" />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <Textarea
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            labelKey="Maximum_characters"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                rows="9"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    maxLength="2000"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        showRemaining
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            charRemainingKey="common_char_remaining_text"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                model="APLPR.APPEALS_Program_Details_Collection.appeal_reason_txt"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    calculateLength="{CPUtil.getTextLengthInBytes}"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        validationRules="max_length_in_bytes_2000"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            errormessages='{{ max_length_in_bytes_2000: "common_length_validation"}}'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                change="{(e)=>CPUtil.handleSpclCharsInTextArea(e)}"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    truncate="true"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                </Section>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <ButtonNavigation onNext={onNext} onBack={onBack} />
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    </Page>
                                    );
};

export default withPage(pageConfig, APLPR);

                                    )
                                }
                                                                                    )
                                                                )
                                                }
                            }
                }
                                                                                    }
                                                })
            }
        })
}
}
}
Editor is loading...
Leave a Comment