- added 'preview' btn for the tables of applications submitted;

This commit is contained in:
Vitalii Kiiko
2024-11-13 15:58:50 +01:00
parent 2ed3fd010b
commit 2ce8107f2c

View File

@@ -1,4 +1,4 @@
import React, { useState, useEffect} from 'react'; import React, { useState, useEffect } from 'react';
import { __ } from '@wordpress/i18n'; import { __ } from '@wordpress/i18n';
import { is, uniq } from 'ramda'; import { is, uniq } from 'ramda';
import { Link } from 'react-router-dom'; import { Link } from 'react-router-dom';
@@ -101,10 +101,12 @@ const AllDomandeTable = ({ openDialogFn, updaterString = '' }) => {
const renderHeader = () => { const renderHeader = () => {
return ( return (
<div className="appTableHeader"> <div className="appTableHeader">
<Button type="button" icon="pi pi-filter-slash" label={__('Pulisci', 'gepafin')} outlined onClick={clearFilter} /> <Button type="button" icon="pi pi-filter-slash" label={__('Pulisci', 'gepafin')} outlined
onClick={clearFilter}/>
<IconField iconPosition="left"> <IconField iconPosition="left">
<InputIcon className="pi pi-search" /> <InputIcon className="pi pi-search"/>
<InputText value={globalFilterValue} onChange={onGlobalFilterChange} placeholder={__('Cerca', 'gepafin')} /> <InputText value={globalFilterValue} onChange={onGlobalFilterChange}
placeholder={__('Cerca', 'gepafin')}/>
</IconField> </IconField>
</div> </div>
); );
@@ -119,7 +121,8 @@ const AllDomandeTable = ({ openDialogFn, updaterString = '' }) => {
}; };
const dateFilterTemplate = (options) => { const dateFilterTemplate = (options) => {
return <Calendar value={options.value} onChange={(e) => options.filterCallback(e.value, options.index)} dateFormat="mm/dd/yy" placeholder="mm/dd/yyyy" mask="99/99/9999" />; return <Calendar value={options.value} onChange={(e) => options.filterCallback(e.value, options.index)}
dateFormat="mm/dd/yy" placeholder="mm/dd/yyyy" mask="99/99/9999"/>;
}; };
const statusBodyTemplate = (rowData) => { const statusBodyTemplate = (rowData) => {
@@ -127,19 +130,25 @@ const AllDomandeTable = ({ openDialogFn, updaterString = '' }) => {
}; };
const actionsBodyTemplate = (rowData) => { const actionsBodyTemplate = (rowData) => {
return openDialogFn return <>
? <Button severity="info" {openDialogFn
onClick={() => openDialogFn(rowData.id)} ? <Button severity="info"
label={__('Assegnare', 'gepafin')} onClick={() => openDialogFn(rowData.id)}
icon="pi pi-pencil" size="small" iconPos="right" /> label={__('Assegnare', 'gepafin')}
: <Link to={'/domande'}> icon="pi pi-pencil" size="small" iconPos="right"/>
<Button severity="info" label={__('Gestire', 'gepafin')} size="small" /> : <Link to={'/domande'}>
<Button severity="info" label={__('Gestire', 'gepafin')} size="small"/>
</Link>}
<Link to={`/domande/${rowData.id}`}>
<Button severity="info" label={__('Anteprima', 'gepafin')} icon="pi pi-eye" size="small"
iconPos="right"/>
</Link> </Link>
</>
} }
const header = renderHeader(); const header = renderHeader();
return( return (
<div className="appPageSection__table"> <div className="appPageSection__table">
<DataTable value={items} paginator showGridlines rows={10} loading={localAsyncRequest} dataKey="id" <DataTable value={items} paginator showGridlines rows={10} loading={localAsyncRequest} dataKey="id"
filters={filters} filters={filters}
@@ -162,7 +171,7 @@ const AllDomandeTable = ({ openDialogFn, updaterString = '' }) => {
style={{ minWidth: '8rem' }} style={{ minWidth: '8rem' }}
body={dateEndBodyTemplate} filter filterElement={dateFilterTemplate}/> body={dateEndBodyTemplate} filter filterElement={dateFilterTemplate}/>
<Column field="status" header={__('Stato', 'gepafin')} <Column field="status" header={__('Stato', 'gepafin')}
style={{ minWidth: '8rem' }} body={statusBodyTemplate} /> style={{ minWidth: '8rem' }} body={statusBodyTemplate}/>
<Column header={__('Azioni', 'gepafin')} <Column header={__('Azioni', 'gepafin')}
body={actionsBodyTemplate}/> body={actionsBodyTemplate}/>
</DataTable> </DataTable>