- saving progress;
This commit is contained in:
@@ -1,18 +1,25 @@
|
||||
import React, { useState, useEffect, useRef } from 'react';
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import { __ } from '@wordpress/i18n';
|
||||
import { useParams, useNavigate } from 'react-router-dom';
|
||||
import { isEmpty } from 'ramda';
|
||||
|
||||
// components
|
||||
import { Button } from 'primereact/button';
|
||||
import { Dropdown } from 'primereact/dropdown';
|
||||
|
||||
// service
|
||||
import FormsService from '../../service/forms-service';
|
||||
|
||||
// store
|
||||
import { storeSet } from '../../store';
|
||||
|
||||
const BandoForms = () => {
|
||||
const { id } = useParams();
|
||||
const navigate = useNavigate()
|
||||
const [templates, setTemplate] = useState(null);
|
||||
const [templates, setTemplates] = useState(null);
|
||||
const [selectedTemplate, setSelectedTemplate] = useState(null);
|
||||
//const [data, setData] = useState({});
|
||||
//const [isLoading, setIsLoading] = useState(true);
|
||||
const [selectedForm, setSelectedForm] = useState(null);
|
||||
const [forms, setForms] = useState([]);
|
||||
|
||||
const doCreateNewForm = () => {
|
||||
navigate(`/bandi/${id}/forms/new`);
|
||||
@@ -22,17 +29,35 @@ const BandoForms = () => {
|
||||
navigate(`/bandi/${id}`);
|
||||
}
|
||||
|
||||
const goToEditForm = () => {
|
||||
if (selectedForm && selectedForm !== 0) {
|
||||
navigate(`/bandi/${id}/forms/${selectedForm}`);
|
||||
}
|
||||
}
|
||||
|
||||
const goToEditFormFromTemplate = () => {
|
||||
console.log('goToEditFormFromTemplate', selectedTemplate)
|
||||
//navigate(`/bandi/${id}`);
|
||||
}
|
||||
|
||||
const getFormsCallback = (data) => {
|
||||
if (data.status === 'SUCCESS') {
|
||||
const forms = data.data.map(o => ({label: o.label, value: o.id}))
|
||||
setForms(forms);
|
||||
}
|
||||
storeSet.main.unsetAsyncRequest();
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
const parsed = parseInt(id)
|
||||
const bandoId = !isNaN(parsed) ? parsed : 0;
|
||||
|
||||
const templates = [
|
||||
{ name: 'Il mio template', value: 22 },
|
||||
{ name: 'Template #11', value: 11 },
|
||||
];
|
||||
setTemplate(templates);
|
||||
setTemplates([
|
||||
{label: "Form template", value: 11}
|
||||
])
|
||||
|
||||
// TODO
|
||||
storeSet.main.setAsyncRequest();
|
||||
FormsService.getFormsForCall(bandoId, getFormsCallback, () => {});
|
||||
}, [id]);
|
||||
|
||||
return (
|
||||
@@ -66,8 +91,15 @@ const BandoForms = () => {
|
||||
value={selectedTemplate}
|
||||
onChange={(e) => setSelectedTemplate(e.value)}
|
||||
options={templates}
|
||||
optionLabel="name"
|
||||
optionLabel="label"
|
||||
placeholder={__('Seleziona template', 'gepafin')}/>
|
||||
<Button
|
||||
type="button"
|
||||
outlined
|
||||
disabled={true}
|
||||
onClick={goToEditFormFromTemplate}
|
||||
label={__('Crea', 'gepafin')}
|
||||
icon="pi pi-plus" iconPos="right"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -82,15 +114,25 @@ const BandoForms = () => {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="appPageSection__withBorder disabled">
|
||||
<h2>{__('Modifica Form esistente', 'gepafin')}</h2>
|
||||
<div className="appPageSection__withBorder">
|
||||
<h2>{__('Modifica form esistente', 'gepafin')}</h2>
|
||||
<div className="row">
|
||||
<p>{__('Continua a lavorare su un form precedentemente salvato', 'gepafin')}</p>
|
||||
<Dropdown
|
||||
id="form"
|
||||
disabled={isEmpty(forms)}
|
||||
value={selectedForm}
|
||||
onChange={(e) => setSelectedForm(e.value)}
|
||||
options={forms}
|
||||
optionLabel="label"
|
||||
placeholder={__('Seleziona form', 'gepafin')}/>
|
||||
<Button
|
||||
type="button"
|
||||
disabled={true}
|
||||
onClick={doCreateNewForm}
|
||||
label={__('Modifica', 'gepafin')}/>
|
||||
outlined
|
||||
disabled={!selectedForm}
|
||||
onClick={goToEditForm}
|
||||
label={__('Modifica', 'gepafin')}
|
||||
icon="pi pi-cog" iconPos="right"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user