This commit is contained in:
Vitalii Kiiko
2024-08-14 09:53:55 +02:00
parent cd73c7fd1d
commit 3690835fa1
4 changed files with 57 additions and 7 deletions

View File

@@ -0,0 +1,13 @@
.pageBando__templateSelection {
display: flex;
gap: 14px;
align-items: flex-end;
.appForm__field {
width: 100%;
}
button {
flex: 0 0 auto;
}
}

View File

@@ -105,4 +105,5 @@ body {
@import "./components/appPage.scss"; @import "./components/appPage.scss";
@import "./components/statsBigBadges.scss"; @import "./components/statsBigBadges.scss";
@import "./components/bandoStatusTag.scss"; @import "./components/bandoStatusTag.scss";
@import "./components/appForm.scss"; @import "./components/appForm.scss";
@import "./components/pageBando.scss";

View File

@@ -1,8 +1,10 @@
import React from 'react'; import React from 'react';
import { Navigate, Outlet } from 'react-router-dom'; import {
//Navigate,
Outlet } from 'react-router-dom';
// tools // tools
import AuthenticationService from '../../service/authentication-service'; //import AuthenticationService from '../../service/authentication-service';
const ProtectedRoute = () => { const ProtectedRoute = () => {

View File

@@ -9,10 +9,13 @@ import { InputText } from 'primereact/inputtext';
import { InputTextarea } from 'primereact/inputtextarea'; import { InputTextarea } from 'primereact/inputtextarea';
import getBandoLabel from '../../helpers/getBandoLabel'; import getBandoLabel from '../../helpers/getBandoLabel';
import { Button } from 'primereact/button'; import { Button } from 'primereact/button';
import { Dropdown } from 'primereact/dropdown';
const Bando = () => { const Bando = () => {
const { id } = useParams(); const { id } = useParams();
const [data, setData] = useState({}); const [data, setData] = useState({});
const [selectedTemplate, setSelectedTemplate] = useState(null);
const [templates, setTemplate] = useState(null);
const { const {
control, control,
reset, reset,
@@ -21,7 +24,7 @@ const Bando = () => {
getValues getValues
} = useForm(data); } = useForm(data);
const onSubmit = data => console.log(data); const onSubmit = data => console.log(data);
console.log(errors, getValues()); console.log('data', data);
const onPublish = () => { const onPublish = () => {
console.log('click onPublish'); console.log('click onPublish');
@@ -34,8 +37,8 @@ const Bando = () => {
const data = 0 === bandoId const data = 0 === bandoId
? { ? {
status: 'draft', status: 'draft',
name: null, name: '',
description: null description: ''
} }
: { : {
name: 'Bando Innovazione 2024', name: 'Bando Innovazione 2024',
@@ -48,6 +51,12 @@ const Bando = () => {
} }
setData(data); setData(data);
reset(); reset();
const templates = [
{ name: 'Il mio template', value: 22 },
{ name: 'Template #11', value: 11 },
];
setTemplate(templates)
}, [id]); }, [id]);
return ( return (
@@ -62,6 +71,28 @@ const Bando = () => {
<div className="appPage__spacer"></div> <div className="appPage__spacer"></div>
<div className="pageBando__templateSelection">
<div className="appForm__field">
<label htmlFor="template">
{__('Usa Template Salvato', 'gepafin')}
</label>
<Dropdown
id="template"
value={selectedTemplate}
onChange={(e) => setSelectedTemplate(e.value)}
options={templates}
optionLabel="name"
placeholder={__('Seleziona template', 'gepafin')} />
</div>
<Button
onClick={() => console.log('use template')}
label={__('Applica', 'gepafin')}
icon="pi pi-check"
iconPos="right" />
</div>
<div className="appPage__spacer"></div>
{data {data
? <form className="appForm" onSubmit={handleSubmit(onSubmit)}> ? <form className="appForm" onSubmit={handleSubmit(onSubmit)}>
<div className="appForm__field"> <div className="appForm__field">
@@ -75,7 +106,10 @@ const Bando = () => {
rules={{ required: __('È obbligatorio', 'gepafin') }} rules={{ required: __('È obbligatorio', 'gepafin') }}
render={({ field, fieldState }) => ( render={({ field, fieldState }) => (
<InputText id={field.name} <InputText id={field.name}
{...field} onInput={field.onChange}
onBlur={field.onBlur}
value={field.value}
name={field.name}
autoFocus autoFocus
className={classNames({ 'p-invalid': fieldState.invalid })}/> className={classNames({ 'p-invalid': fieldState.invalid })}/>
)}/> )}/>