diff --git a/src/pages/SoccorsoAddPreInstructor/index.js b/src/pages/SoccorsoAddPreInstructor/index.js index 0af256d..8def4b1 100644 --- a/src/pages/SoccorsoAddPreInstructor/index.js +++ b/src/pages/SoccorsoAddPreInstructor/index.js @@ -1,20 +1,17 @@ import React, { useState, useEffect, useRef } from 'react'; import { __ } from '@wordpress/i18n'; import { useNavigate, useParams } from 'react-router-dom'; -import { is, isEmpty } from 'ramda'; +import { isEmpty } from 'ramda'; import { wrap } from 'object-path-immutable'; // store import { storeSet, useStore } from '../../store'; // api -import ApplicationEvaluationService from '../../service/application-evaluation-service'; import AmendmentsService from '../../service/amendments-service'; // tools import set404FromErrorResponse from '../../helpers/set404FromErrorResponse'; -import getBandoLabel from '../../helpers/getBandoLabel'; -import getDateFromISOstring from '../../helpers/getDateFromISOstring'; // components import { Skeleton } from 'primereact/skeleton'; @@ -24,7 +21,6 @@ import { Editor } from 'primereact/editor'; import { InputNumber } from 'primereact/inputnumber'; import BlockingOverlay from '../../components/BlockingOverlay'; import { Toast } from 'primereact/toast'; -import HelpIcon from '../../icons/HelpIcon'; import { InputSwitch } from 'primereact/inputswitch'; const SoccorsoEditPreInstructor = () => { diff --git a/src/pages/SoccorsoEditPreInstructor/index.js b/src/pages/SoccorsoEditPreInstructor/index.js index 13be91a..d0835be 100644 --- a/src/pages/SoccorsoEditPreInstructor/index.js +++ b/src/pages/SoccorsoEditPreInstructor/index.js @@ -1,41 +1,41 @@ import React, { useState, useEffect, useRef } from 'react'; -import { __, sprintf } from '@wordpress/i18n'; +import { __ } from '@wordpress/i18n'; import { useNavigate, useParams } from 'react-router-dom'; -import { is, isEmpty, isNil, sum, pathOr } from 'ramda'; -import { klona } from 'klona'; +import { is, isEmpty, isNil } from 'ramda'; import { wrap } from 'object-path-immutable'; // store import { storeSet, useStore } from '../../store'; // api -import ApplicationEvaluationService from '../../service/application-evaluation-service'; +import AmendmentsService from '../../service/amendments-service'; +import CommunicationService from '../../service/communication-service'; // tools import set404FromErrorResponse from '../../helpers/set404FromErrorResponse'; import getBandoLabel from '../../helpers/getBandoLabel'; import getDateFromISOstring from '../../helpers/getDateFromISOstring'; +import renderHtmlContent from '../../helpers/renderHtmlContent'; // components import { Skeleton } from 'primereact/skeleton'; import { Button } from 'primereact/button'; -import { Tag } from 'primereact/tag'; -import { Checkbox } from 'primereact/checkbox'; -import { Editor } from 'primereact/editor'; -import { InputNumber } from 'primereact/inputnumber'; import BlockingOverlay from '../../components/BlockingOverlay'; import { Toast } from 'primereact/toast'; -import HelpIcon from '../../icons/HelpIcon'; -import AmendmentsService from '../../service/amendments-service'; -import renderHtmlContent from '../../helpers/renderHtmlContent'; -import CommunicationService from '../../service/communication-service'; +import { classNames } from 'primereact/utils'; +import { Dialog } from 'primereact/dialog'; +import { InputText } from 'primereact/inputtext'; +import { InputTextarea } from 'primereact/inputtextarea'; const SoccorsoEditPreInstructor = () => { const isAsyncRequest = useStore().main.isAsyncRequest(); - const { id, amendmendId } = useParams(); + const { id, amendmentId } = useParams(); const navigate = useNavigate(); const [data, setData] = useState({}); const [comms, setComms] = useState([]); + const [isVisibleNewCommDialog, setIsVisibleNewCommDialog] = useState(false); + const [newCommData, setNewCommData] = useState({}); + const [isLoadingCommunication, setIsLoadingCommunication] = useState(false); const toast = useRef(null); const goToEvaluationPage = () => { @@ -107,28 +107,49 @@ const SoccorsoEditPreInstructor = () => { const header = renderHeader(); - const updateEvaluationValue = (value, path, maxValue) => { - let finalValue = value; - - if (maxValue) { - finalValue = value > maxValue ? maxValue : value; - } - - const newData = wrap(data).set(path.split('.'), finalValue).value(); - setData(newData); + const headerEditDialog = () => { + return {__('Aggiungi comunicazione', 'gepafin')} } - /*const doSaveDraft = () => { - const formData = { - criteria: klona(data.criteria), - checklist: klona(data.checklist), - files: klona(data.files), - note: data.note - } - ApplicationEvaluationService.updateEvaluation(id, formData, updateCallback, errUpdateCallback); + const hideEditDialog = () => { + setIsVisibleNewCommDialog(false); + setNewCommData({ + title: '', + comment: '' + }); } - const updateCallback = (data) => { + const footerEditDialog = () => { + return
+
+ } + + const openNewCommDialog = () => { + setIsVisibleNewCommDialog(true); + setNewCommData({ + title: '', + comment: '' + }); + } + + const updateNewCommData = (value, path) => { + const newData = wrap(newCommData).set(path.split('.'), value).value(); + setNewCommData(newData); + } + + const createCommunication = () => { + setIsLoadingCommunication(true); + CommunicationService.createCommunication(newCommData, createCommunicationCallback, errCreateCommunicationCallback, [ + ['amendmentId', amendmentId] + ]); + } + + const createCommunicationCallback = (data) => { if (data.status === 'SUCCESS') { if (toast.current) { toast.current.show({ @@ -137,11 +158,12 @@ const SoccorsoEditPreInstructor = () => { detail: data.message }); } + console.log(data.data) } - storeSet.main.unsetAsyncRequest(); + setIsLoadingCommunication(false); } - const errUpdateCallback = (data) => { + const errCreateCommunicationCallback = (data) => { if (toast.current && data.message) { toast.current.show({ severity: 'error', @@ -150,15 +172,15 @@ const SoccorsoEditPreInstructor = () => { }); } set404FromErrorResponse(data); - storeSet.main.unsetAsyncRequest(); - }*/ + setIsLoadingCommunication(false); + } useEffect(() => { - const parsedSoccorsoId = parseInt(amendmendId) + const parsedSoccorsoId = parseInt(amendmentId); const soccorsoEntityId = !isNaN(parsedSoccorsoId) ? parsedSoccorsoId : 0; AmendmentsService.getSoccorsoById(getCallback, errGetCallback, [['id', soccorsoEntityId]]); - }, [amendmendId]); + }, [amendmentId]); return (
@@ -255,6 +277,7 @@ const SoccorsoEditPreInstructor = () => {
) diff --git a/src/routes.js b/src/routes.js index f94adfe..db2d8de 100644 --- a/src/routes.js +++ b/src/routes.js @@ -99,7 +99,7 @@ const routes = ({ role, chosenCompanyId }) => { {'ROLE_BENEFICIARY' === role ? : null} {'ROLE_PRE_INSTRUCTOR' === role ? : null} }/> - + {'ROLE_SUPER_ADMIN' === role ? : null} {'ROLE_BENEFICIARY' === role ? : null} {'ROLE_PRE_INSTRUCTOR' === role ? : null} diff --git a/src/service/communication-service.js b/src/service/communication-service.js index 4481621..758b7fd 100644 --- a/src/service/communication-service.js +++ b/src/service/communication-service.js @@ -8,7 +8,7 @@ export default class CommunicationService { NetworkService.get(`${API_BASE_URL}/communication/${id}`, callback, errCallback, queryParams); }; - static getCommsByAmendmentId = (id, callback, errCallback, queryParams) => { - NetworkService.get(`${API_BASE_URL}/communication/${id}`, callback, errCallback, queryParams); + static createCommunication = (body, callback, errCallback, queryParams) => { + NetworkService.post(`${API_BASE_URL}/communication`, body, callback, errCallback, queryParams); }; }