Untitled
unknown
plain_text
10 months ago
3.0 kB
1
Indexable
import BodySection from '@/Layout/BodySection'; import RightSection from '@/Layout/RightSection'; import { useAppState, withPage, Util } from '@d-lift/core'; import { Page } from '@d-lift/uxcomponents'; import React, { useEffect, useState } from 'react'; import RFIFilters from './Components/RFIFilters'; import RFIRequestForm from './Components/RFIRequestForm'; import './create-rfi.scss'; import ConstantKeys from '@/Constants/ConstantKeys'; const RFIRequest = () => { const defaultRFIRequest = { title: '', reqDescription: '', questionsList: [{ question: '', description: '' }], requestedBy: '', neededBy: '', offering: ConstantKeys.DEFAULT_OPTION.OFFERING, category: ConstantKeys.DEFAULT_OPTION.CATEGORY, programs: ConstantKeys.DEFAULT_OPTION.PROGRAM, status: '', }; const [rfiRequest, setRFIRequest] = useAppState('rfiRequest', defaultRFIRequest); const [filteredPrograms, setFilteredPrograms] = useState([]); const [filteredCategories, setFilteredCategories] = useState([]); const [refTableContent, setRefTableContent] = useState(null); const updateRFIRequest = (newState) => { setRFIRequest(newState); }; useEffect(() => { const refTableContent = JSON.parse(Util.getSessionData(ConstantKeys.REF_TABLE.GET_OFFERING)); setRefTableContent(refTableContent); const filterData = (selectedOffering) => { if (!refTableContent) return; const programs = refTableContent.PROGRAM; const categories = refTableContent.CATEGORY; const filteredPrograms = programs.filter(program => program[selectedOffering] === 'Y'); setFilteredPrograms(filteredPrograms); const filteredCategories = categories.filter(category => category[selectedOffering] === 'Y'); setFilteredCategories(filteredCategories); }; filterData(rfiRequest.offering); }, [rfiRequest.offering]); return ( <Page ref-table-list="PROGRAM, CATEGORY, OFFERING"> <div className="d-flex"> <BodySection> <RFIRequestForm rfiRequest={rfiRequest} updateRFIRequest={updateRFIRequest} resetRFIRequest={defaultRFIRequest}></RFIRequestForm> </BodySection> <RightSection> <RFIFilters rfiRequest={rfiRequest} updateRFIRequest={updateRFIRequest} filteredPrograms={filteredPrograms} filteredCategories={filteredCategories}></RFIFilters> </RightSection> </div> </Page> ); }; export default withPage( { Description: 'Make a Request Page', ContentManager: true, LayoutStyle: 'rfi-dashboard', }, RFIRequest, );
Editor is loading...
Leave a Comment