From d3a0357123873ed5eb048d10ad2a3e3a7480e94a Mon Sep 17 00:00:00 2001 From: Vitalii Kiiko Date: Thu, 24 Oct 2024 13:10:35 +0200 Subject: [PATCH] - updated table of appl's ready to be evaluated; --- .../components/AppSidebar/index.js | 14 +-- .../components/MyEvaluationsTable/index.js | 100 +++++++----------- .../components/AllDomandeTable/index.js | 8 +- 3 files changed, 51 insertions(+), 71 deletions(-) diff --git a/src/layouts/DefaultLayout/components/AppSidebar/index.js b/src/layouts/DefaultLayout/components/AppSidebar/index.js index b596b83..013aa06 100644 --- a/src/layouts/DefaultLayout/components/AppSidebar/index.js +++ b/src/layouts/DefaultLayout/components/AppSidebar/index.js @@ -37,49 +37,49 @@ const AppSidebar = () => { label: __('Gestione Domande', 'gepafin'), icon: 'pi pi-file', href: '/domande', - id: 5, + id: 4, enable: intersection(permissions, ['VIEW_USERS', 'MANAGE_USERS']).length }, { label: __('Bandi disponibili', 'gepafin'), icon: 'pi pi-bookmark', href: '/bandi', - id: 4, + id: 5, enable: intersection(permissions, ['VIEW_CALLS']).length }, { label: __('Domande da valutare', 'gepafin'), icon: 'pi pi-calendar-clock', href: '/valutazioni', - id: 4, + id: 6, enable: intersection(permissions, ['EVALUATE_APPLICATIONS']).length }, { label: __('Gestione Utenti', 'gepafin'), icon: 'pi pi-users', href: '/utenti', - id: 5, + id: 7, enable: intersection(permissions, ['VIEW_USERS', 'MANAGE_USERS']).length }, { label: __('Configurazione', 'gepafin'), icon: 'pi pi-cog', //href: '/configurazione', - id: 6, + id: 8, enable: false }, { label: __('Report e Analisi', 'gepafin'), icon: 'pi pi-chart-bar', //href: '/stats', - id: 7, + id: 9, enable: false }, { label: __('Log di Sistema', 'gepafin'), icon: 'pi pi-receipt', clickFn: () => {}, - id: 8, + id: 10, enable: false } ] diff --git a/src/pages/DashboardInstructor/components/MyEvaluationsTable/index.js b/src/pages/DashboardInstructor/components/MyEvaluationsTable/index.js index 487bedd..b591241 100644 --- a/src/pages/DashboardInstructor/components/MyEvaluationsTable/index.js +++ b/src/pages/DashboardInstructor/components/MyEvaluationsTable/index.js @@ -1,16 +1,12 @@ -import React, { useState, useEffect } from 'react'; +import React, { useState, useEffect} from 'react'; import { __ } from '@wordpress/i18n'; -import { Link } from 'react-router-dom'; +import { is, uniq } from 'ramda'; // store -import { useStore } from '../../../../store'; - -// tools -//import set404FromErrorResponse from '../../../../helpers/set404FromErrorResponse'; -import ProperBandoLabel from '../../../../components/ProperBandoLabel'; +//import { storeSet, storeGet } from '../../../../store'; // api -//import ApplicationService from '../../../../service/application-service'; +import ApplicationService from '../../../../service/application-service'; // components import { FilterMatchMode, FilterOperator } from 'primereact/api'; @@ -21,57 +17,39 @@ import { IconField } from 'primereact/iconfield'; import { InputIcon } from 'primereact/inputicon'; import { Button } from 'primereact/button'; import { Calendar } from 'primereact/calendar'; +import ProperBandoLabel from '../../../../components/ProperBandoLabel'; const MyEvaluationsTable = () => { - const isAsyncRequest = useStore().main.isAsyncRequest(); const [items, setItems] = useState(null); const [filters, setFilters] = useState(null); + const [localAsyncRequest, setLocalAsyncRequest] = useState(false); const [globalFilterValue, setGlobalFilterValue] = useState(''); + const [statuses, setStatuses] = useState([]); useEffect(() => { - const demoItems = [ - { - id: 1, - callTitle: 'Bando 1', - appliedDate: '2024-10-01', - callEndDate: '2025-11-25', - status: 'AWAITING' - }, - { - id: 2, - callTitle: 'Bando 2', - appliedDate: '2024-08-11', - callEndDate: '2027-09-23', - status: 'AWAITING' - } - ]; - setItems(getFormattedData(demoItems)); - /*storeSet.main.setAsyncRequest(); - ApplicationService.getApplications(getApplCallback, errGetApplCallback)*/ + setLocalAsyncRequest(true); + ApplicationService.getApplications(getCallback, errGetCallbacks, [['status', 'ASSIGNED']]); }, []); - /*const getApplCallback = (data) => { + const getCallback = (data) => { if (data.status === 'SUCCESS') { - if (data.data.length) { - setItems(getFormattedBandiData(data.data)); - setStatuses(uniq(items.map(o => o.status))) - initFilters(); - } + setItems(getFormattedData(data.data)); + setStatuses(uniq(data.data.map(o => o.status))) + initFilters(); } - storeSet.main.unsetAsyncRequest(); + setLocalAsyncRequest(false); } - const errGetApplCallback = (data) => { - set404FromErrorResponse(data); - storeSet.main.unsetAsyncRequest(); - }*/ + const errGetCallbacks = (data) => { + setLocalAsyncRequest(false); + } const getFormattedData = (data) => { - return [...(data || [])].map((d) => { - d.appliedDate = new Date(d.appliedDate); - d.callEndDate = new Date(d.callEndDate); - + return data.map((d) => { + d.callEndDate = is(String, d.callEndDate) ? new Date(d.callEndDate) : (d.callEndDate ? d.callEndDate : ''); + d.modifiedDate = is(String, d.modifiedDate) ? new Date(d.modifiedDate) : (d.modifiedDate ? d.modifiedDate : ''); + d.submissionDate = is(String, d.submissionDate) ? new Date(d.submissionDate) : (d.submissionDate ? d.submissionDate : ''); return d; }); }; @@ -120,19 +98,17 @@ const MyEvaluationsTable = () => { const renderHeader = () => { return (
-
); }; const dateAppliedBodyTemplate = (rowData) => { - return formatDate(rowData.appliedDate); + return formatDate(rowData.submissionDate); }; const dateEndBodyTemplate = (rowData) => { @@ -140,8 +116,7 @@ const MyEvaluationsTable = () => { }; const dateFilterTemplate = (options) => { - return options.filterCallback(e.value, options.index)} - dateFormat="mm/dd/yy" placeholder="mm/dd/yyyy" mask="99/99/9999"/>; + return options.filterCallback(e.value, options.index)} dateFormat="mm/dd/yy" placeholder="mm/dd/yyyy" mask="99/99/9999" />; }; const statusBodyTemplate = (rowData) => { @@ -149,28 +124,31 @@ const MyEvaluationsTable = () => { }; const actionsBodyTemplate = (rowData) => { - return -