Untitled
unknown
plain_text
a year ago
7.6 kB
7
Indexable
import ConstantKeys from '@/Constants/ConstantKeys'; import webService from '@/Services/WebService'; import { AppContext, Lift, useAppState, Util, Navigate } from '@d-lift/core'; import { Button, Section, LineBreak, Checkbox, CheckboxGroup, DataTable, Group, Header, Label, NavLink, Textbox, UX, } from '@d-lift/uxcomponents'; import PropTypes from 'prop-types'; import React from 'react'; import '../my-rfis.scss'; import RFIUtil from '@/Util/RFIUtil'; import App from '@/App/App'; const MyRFIDashboard = ({ myRFIFilter, myRFIData, myRFISubmittedData }) => { const getTitleLink = (colData, rowData, index) => { return ( <UX type="section"> <NavLink className="ux-rfi-link" to="/response"> {rowData.title} </NavLink> </UX> ); }; const getSubmittedTableTitleLink = () => { Navigate.to('/response'); }; // const getProgramDsc = (colData) => { // if (typeof colData === 'string') { // const programCodes = colData.split(','); // return programCodes // .map((code) => // Util.getRefTableDescriptionByCode(ConstantKeys.REF_TABLE_NAMES.PROGRAM, code), // ) // .join(','); // } else { // return Util.getRefTableDescriptionByCode(ConstantKeys.REF_TABLE_NAMES.PROGRAM, colData); // } // }; // const getCategoryDsc = (colData) => { // if (typeof colData === 'string') { // const programCodes = colData.split(','); // return programCodes // .map((code) => // Util.getRefTableDescriptionByCode(ConstantKeys.REF_TABLE_NAMES.CATEGORY, code), // ) // .join(', '); // } else { // return Util.getRefTableDescriptionByCode( // ConstantKeys.REF_TABLE_NAMES.CATEGORY, // colData, // ); // } // }; const getOfferingDsc = (colData) => { return Util.getRefTableDescriptionByCode(ConstantKeys.REF_TABLE_NAMES.OFFERING, colData); }; const getStateDsc = (colData) => { return Util.getRefTableDescriptionByCode(ConstantKeys.REF_TABLE_NAMES.STATE, colData); }; const getStatusDsc = (colData) => { return Util.getRefTableDescriptionByCode(ConstantKeys.REF_TABLE_NAMES.STATUS, colData); }; const getRowStyle = (item) => ({ border: item.status === 'Incomplete' ? '2px solid red' : 'none', }); const getRowClass = (item) => (item.status === 'Incomplete' ? 'incompleteStatus' : ''); return ( <> <Button id="continue-editing-btn" className="ux-rfi-yellow-button" labelKey="continue_editing_btn" click={getSubmittedTableTitleLink} /> <Header className="pt-3 ux-rfi-font-header" size="2"> RFIs submitted by team {getStateDsc(myRFIFilter?.state)}: </Header> {myRFIData?.rfiSubmitted ? ( <DataTable col-data-keys="title,dueDT,offering,programs,category,replies,status" col-default-headers="Title,Opened Due,Offering,Program,Category,Responded,Status" className="dt-container border border-secondary" datacollection="myRFIData.rfiSubmitted" customContent={{ // Program: getProgramDsc, // Category: getCategoryDsc, Offering: getOfferingDsc, State: getStateDsc, Status: getStatusDsc, }} keyfield="id" hover="false" bordered="true" striped="true" emptymsg-key="no_records" responsive={true} /> ) : ( <></> )} <Header className="pt-3 ux-rfi-font-header" size="2" labelKey="require_attention"></Header> {myRFIData?.rfiRequireAttention ? ( <DataTable col-data-keys="dueDT,title,offering" col-default-headers="Due,Title,Offering" className="dt-container border border-secondary" datacollection="myRFIData.rfiRequireAttention" customContent={{ Title: getTitleLink, Offering: getOfferingDsc, }} keyfield="id" hover="false" bordered="true" striped="true" emptymsg-key="no_records" responsive={true} /> ) : ( <></> )} <Header className="pt-3 ux-rfi-font-header" size="2"> Responses submitted by team {getStateDsc(myRFIFilter?.state)}: </Header> <Section> {myRFISubmittedData?.map( (item, index) => ( // item.status !== 'Incomplete' ? ( <div id={index}> <div className="ux-rfi-response-container"> <LineBreak size={1} /> <div className="pr-4 pl-1"> <Button className="ux-rfi-white-button w-100" mode="link" click={getSubmittedTableTitleLink}> {item.title} </Button> </div> <div className="p-3"> <DataTable col-data-keys="question,dueDT,offering,programs,category,replies" col-default-headers="Title,Submitted,Offering,Program,Category,Replies" datacollection={item.id} className="dt-container bg-white" emptymsg-key="Empty_message" keyfield="id" hover="false" bordered={true} striped={false} responsive={true} colWidths={5} /> </div> </div> <LineBreak size={1} /> </div> ), // ) : null, )} </Section> </> ); }; MyRFIDashboard.propTypes = { myRFIFilter: PropTypes.object.isRequired, myRFIData: PropTypes.object.isRequired, myRFISubmittedData: PropTypes.object.isRequired, }; export default MyRFIDashboard;
Editor is loading...
Leave a Comment