- saving progress;

This commit is contained in:
Vitalii Kiiko
2024-12-02 09:47:09 +01:00
parent f8ba6731b4
commit 3759400f19
9 changed files with 124 additions and 94 deletions

View File

@@ -51,9 +51,36 @@
.flowContainer__flowItem {
display: flex;
flex-direction: column;
gap: 20px;
width: 100%;
max-width: 280px;
padding: 15px;
border: 1px solid var(--panel-content-borderColor);
}
.flowContainer__flowItemInner {
display: flex;
flex-direction: column;
gap: 10px;
width: 100%;
max-width: 250px;
padding: 7px;
border: 1px solid var(--table-border-color);
border: 1px solid var(--panel-content-borderColor);
label {
display: flex;
justify-content: center;
padding: 10px 0 5px;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 18px;
}
&.initialForm, &.finalForm {
border-color: var(--card-full-background-color-3);
background-color: var(--card-full-background-color-3);
label {
color: white;
}
}
}

View File

@@ -21,6 +21,7 @@
--message-warning-color: #cc8925;
--message-info-background: rgba(183, 183, 183, 0.7);
--message-info-color: #3B82F6;
--panel-content-borderColor: #E5E7EB;
--card-full-background-color-2: #EEC137;
--card-full-background-color-3: #FA8E42;

View File

@@ -8,7 +8,7 @@ import { isEmpty } from 'ramda';
import '@xyflow/react/dist/style.css';
// store
import { useStore, storeSet, storeGet } from '../../store';
import { useStore, storeSet } from '../../store';
// nodes
import NodeInitialForm from './components/NodeInitialForm';

View File

@@ -1,6 +1,6 @@
import React from 'react';
import { classNames } from 'primereact/utils';
import { isEmpty, isNil } from 'ramda';
import { isNil } from 'ramda';
// components
import { Controller } from 'react-hook-form';

View File

@@ -39,7 +39,7 @@ const BandoApplicationPreview = () => {
const [formData, setFormData] = useState([]);
const [formInitialData, setFormInitialData] = useState(null);
const [bandoTitle, setBandoTitle] = useState('');
const [bandoId, setBandoId] = useState(0);
const [, setBandoId] = useState(0);
const [formId, setFormId] = useState('');
const [totalSteps, setTotalSteps] = useState(0);
const [applicationStatus, setApplicationStatus] = useState('');

View File

@@ -15,7 +15,6 @@ import set404FromErrorResponse from '../../helpers/set404FromErrorResponse';
// components
import { Button } from 'primereact/button';
import { Dropdown } from 'primereact/dropdown';
import FlowBuilder from '../../components/FlowBuilder';
import { Messages } from 'primereact/messages';
import FlowService from '../../service/flow-service';
import { confirmPopup, ConfirmPopup } from 'primereact/confirmpopup';
@@ -223,6 +222,10 @@ const BandoFlowEdit = () => {
const initialFormObj = head(flowForms.filter(o => String(o.id) === String(initialForm)));
let finalFormObj = null;
if (!initialFormObj) {
return;
}
const relevantFields = initialFormObj
? initialFormObj.content
.filter(o => ['radio', 'select'].includes(o.name))
@@ -323,60 +326,6 @@ const BandoFlowEdit = () => {
<div className="appPage__spacer"></div>
<div className="appPageSection">
{forms.length >= 2 && isFlowAllowed
? <div className="flowContainer">
<div className="flowContainer__level">
<div className="flowContainer__flowItem">
<label htmlFor="mainField">{__('Scegli form iniziale', 'gepafin')}</label>
<Dropdown
id="initialForm"
disabled={'PUBLISH' === bandoStatus}
value={initialForm}
onChange={(e) => updateInitialForm(e.value)}
optionDisabled={(opt) => finalForm === opt.value || isEmpty(opt.value)}
options={formOptions}
optionLabel="label"
optionValue="value"
placeholder={__('Scegli il form', 'gepafin')}/>
{initialForm && forms.length > 2 && mainFieldOptions
? <div className="appForm__field">
<label htmlFor="mainField">{__('Scegli il campo principale', 'gepafin')}</label>
<Dropdown
id="mainField"
disabled={'PUBLISH' === bandoStatus}
value={mainField}
onChange={(e) => setMainField(e.value)}
optionDisabled={(opt) => isEmpty(opt.value)}
options={mainFieldOptions}
optionLabel="label"
optionValue="value"
placeholder={__('Scegli il campo', 'gepafin')}/>
</div> : null}
</div>
</div>
{forms.length >= 2 && initialForm
? <div className="flowContainer__level">
<div className="flowContainer__flowItem">
<label htmlFor="mainField">{__('Scegli form finale', 'gepafin')}</label>
<Dropdown
id="finalForm"
disabled={'PUBLISH' === bandoStatus}
value={finalForm}
onChange={(e) => setFinalForm(e.value)}
optionDisabled={(opt) => initialForm === opt.value || isEmpty(opt.value)}
options={formOptions}
optionLabel="label"
optionValue="value"
placeholder={__('Scegli il form', 'gepafin')}/>
</div>
</div> : null}
</div> : null}
</div>
<div className="appPage__spacer"></div>
{/*<div className="appPageSection">
<div className="appForm__cols">
<div className="appForm__field">
@@ -440,11 +389,61 @@ const BandoFlowEdit = () => {
<div className="appPageSection">
<Messages ref={flowMsgs}/>
{/*{forms.length >= 2 && isFlowAllowed
? <FlowBuilder
initialForm={initialForm}
finalForm={finalForm}
mainField={mainField}/> : null}*/}
{forms.length >= 2 && isFlowAllowed
? <div className="flowContainer">
<div className="flowContainer__level">
<div className="flowContainer__flowItem initialForm">
<div className="flowContainer__flowItemInner initialForm">
<label htmlFor="mainField">{__('Scegli form iniziale', 'gepafin')}</label>
<Dropdown
id="initialForm"
disabled={'PUBLISH' === bandoStatus}
value={initialForm}
onChange={(e) => updateInitialForm(e.value)}
optionDisabled={(opt) => finalForm === opt.value || isEmpty(opt.value)}
options={formOptions}
optionLabel="label"
optionValue="value"
placeholder={__('Scegli il form', 'gepafin')}/>
{initialForm && forms.length > 2 && mainFieldOptions
? <div className="appForm__field">
<label
htmlFor="mainField">{__('Scegli il campo principale', 'gepafin')}</label>
<Dropdown
id="mainField"
disabled={'PUBLISH' === bandoStatus}
value={mainField}
onChange={(e) => setMainField(e.value)}
optionDisabled={(opt) => isEmpty(opt.value)}
options={mainFieldOptions}
optionLabel="label"
optionValue="value"
placeholder={__('Scegli il campo', 'gepafin')}/>
</div> : null}
</div>
</div>
</div>
{forms.length >= 2 && initialForm
? <div className="flowContainer__level">
<div className="flowContainer__flowItem">
<div className="flowContainer__flowItemInner finalForm">
<label htmlFor="mainField">{__('Scegli form finale', 'gepafin')}</label>
<Dropdown
id="finalForm"
disabled={'PUBLISH' === bandoStatus}
value={finalForm}
onChange={(e) => setFinalForm(e.value)}
optionDisabled={(opt) => initialForm === opt.value || isEmpty(opt.value)}
options={formOptions}
optionLabel="label"
optionValue="value"
placeholder={__('Scegli il form', 'gepafin')}/>
</div>
</div>
</div> : null}
</div> : null}
</div>
<div className="appPage__spacer"></div>

View File

@@ -50,7 +50,8 @@ const ArchiveDocument = ({ ndg = '', fileId = 0 }) => {
}
const submitData = () => {
console.log('submitData', modalData)
console.log('submitData', modalData);
//setLoading(true);
}
useEffect(() => {

View File

@@ -181,6 +181,7 @@ const DomandaEditPreInstructor = () => {
motivation
}
setLoading(true);
ApplicationEvaluationService.updateEvaluation(data.assignedApplicationId, formData, updateStatusCallback, errUpdateStatusCallback);
}
@@ -194,6 +195,7 @@ const DomandaEditPreInstructor = () => {
motivation
}
setLoading(true);
ApplicationEvaluationService.updateEvaluation(data.assignedApplicationId, formData, updateStatusCallback, errUpdateStatusCallback);
}
@@ -207,7 +209,7 @@ const DomandaEditPreInstructor = () => {
});
}
}
storeSet.main.unsetAsyncRequest();
setLoading(false);
}
const errUpdateStatusCallback = (data) => {
@@ -219,7 +221,7 @@ const DomandaEditPreInstructor = () => {
});
}
set404FromErrorResponse(data);
storeSet.main.unsetAsyncRequest();
setLoading(false);
}
const displayCriterionData = (id) => {
@@ -377,6 +379,7 @@ const DomandaEditPreInstructor = () => {
&& !isEmpty(appointmentData.duration) && appointmentData.duration !== 0 && appointmentData.amount !== 0
) {
console.log(appointmentData);
//setLoading(true);
}
}