import { useState, useEffect } from 'react'; import { Table, Text, withConfiguration } from '@pega/cosmos-react-core'; import type { PConnFieldProps } from './PConnProps'; import './create-nonce'; import StyledPegaDxilMyCaseWidgetWrapper from './styles'; // interface for props interface PegaDxilMyCaseWidgetProps extends PConnFieldProps { // If any, enter additional props that only exist on TextInput here } // Duplicated runtime code from Constellation Design System Component // props passed in combination of props from property panel (config.json) and run time props from Constellation // any default values in config.pros should be set in defaultProps at bottom of this file function PegaDxilMyCaseWidget(props: PegaDxilMyCaseWidgetProps) { const { getPConnect, label } = props; const pConn = getPConnect(); const [history, setHistory] = useState([]); const [isLoading, setIsLoading] = useState(true); const caseProp: string = PCore.getConstants().CASE_INFO.CASE_INFO_ID; const caseID = pConn.getValue(caseProp, ''); const context = pConn.getContextName(); const columns = [ { renderer: 'date', label: pConn.getLocalizedValue('Date', '', '') }, { renderer: 'description', label: pConn.getLocalizedValue('Description', '', '') }, { renderer: 'user', label: pConn.getLocalizedValue('Performed by', '','') } ]; useEffect(() => { // @ts-ignore const payload = { dataViewParameters: [{ CaseInstanceKey: caseID }] }; PCore.getDataApiUtils() // @ts-ignore .getData('D_pyWorkHistory', payload, context) // @ts-ignore .then((response) => { setIsLoading(false); if (response.data.data !== null) { setHistory( response.data.data.map((entry: any, index: number) => { return { date: new Date(entry.pxTimeCreated).toLocaleString(), description: {entry.pyMessageKey}, user: entry.pyPerformer, id: index } as any; }) as any ); } else { setHistory([]); } }) .catch(() => { setHistory([]); setIsLoading(false); }); }, [caseID, context]); return ( ); } export default withConfiguration(PegaDxilMyCaseWidget);