This commit is contained in:
Vitalii Kiiko
2024-09-03 10:44:07 +02:00
parent 6f6234a1d8
commit 429ca3c1d1
12 changed files with 105 additions and 26 deletions

View File

@@ -100,11 +100,13 @@ const BuilderElementSettings = ({ closeSettings }) => {
? settings.map((o) => <div className="formElementSettings__field" key={o.name}>
<label htmlFor={o.name}>{o.name}</label>
{o.name === 'options'
? <ElementSettingRepeater value={o.value} name={o.name} setDataFn={onUpdateOptions} />
?
<ElementSettingRepeater value={o.value} name={o.name} setDataFn={onUpdateOptions}/>
: <InputText id={o.name} aria-describedby={`${o.name}-help`}
value={o.value}
onChange={(e) => onChange(e.target.value, o.name)}/>}
</div>) : null}
value={o.value}
onChange={(e) => onChange(e.target.value, o.name)}/>}
</div>)
: null}
</TabPanel>
<TabPanel header={__('Validation', 'gepafin')}>
{validators
@@ -128,11 +130,11 @@ const BuilderElementSettings = ({ closeSettings }) => {
: null}
{textBasedValidatorFields.includes(k) && !isNil(validators[k])
? <div className="formElementSettings__field">
<label htmlFor={k}>{k}</label>
<InputText id={k} aria-describedby={`${k}-help`}
value={validators[k]}
onChange={(e) => onChangeValidator(e.target.value, k)}/>
</div> : null}
<label htmlFor={k}>{k}</label>
<InputText id={k} aria-describedby={`${k}-help`}
value={validators[k]}
onChange={(e) => onChangeValidator(e.target.value, k)}/>
</div> : null}
</div>) : null}
</TabPanel>
</TabView>

View File

@@ -11,9 +11,10 @@ import { storeSet, storeGet, useStore } from '../../store';
// components
import FormBuilder from './components/FormBuilder';
import { Button } from 'primereact/button';
// components
import { ConfirmPopup, confirmPopup } from 'primereact/confirmpopup';
import { InputText } from 'primereact/inputtext';
// api
import FormsService from '../../service/forms-service';
const BandoFormsEdit = () => {
@@ -46,7 +47,7 @@ const BandoFormsEdit = () => {
if (bandoFormId === 0) {
FormsService.createFormForCall(bandoId, formData, formCreateCallback, errFormCreateCallback);
} else {
FormsService.updateForm(bandoFormId, formData, formCreateCallback, errFormCreateCallback)
FormsService.updateForm(bandoFormId, formData, formCreateCallback, errFormCreateCallback);
}
}
@@ -71,10 +72,40 @@ const BandoFormsEdit = () => {
navigate(`/bandi/${bandoId}/forms/${formId}/preview`);
}
const confirmDelete = (event) => {
confirmPopup({
target: event.currentTarget,
message: __('Sei sicuro di cancellare questo form?', 'gepafin'),
icon: 'pi pi-info-circle',
defaultFocus: 'reject',
acceptClassName: 'p-button-danger',
accept: doDelete,
reject: () => {}
});
};
const doPublish = () => {
console.log('doPublish');
}
const doDelete = () => {
storeSet.main.setAsyncRequest();
FormsService.deleteForm(formId, formDeleteCallback, errFormDeleteCallback)
}
const formDeleteCallback = (data) => {
if (data.status === 'SUCCESS') {
const bandoId = getBandoId();
navigate(`/bandi/${bandoId}/forms`);
}
storeSet.main.unsetAsyncRequest();
}
const errFormDeleteCallback = (data) => {
console.log('errFormDeleteCallback', data)
storeSet.main.unsetAsyncRequest();
}
const getElementItemsCallback = (data) => {
if (data.status === 'SUCCESS') {
storeSet.main.elementItems(data.data);
@@ -172,6 +203,13 @@ const BandoFormsEdit = () => {
onClick={doPublish}
label={__('Pubblica', 'gepafin')}/>
</div>
<div className="appPageSection__actions">
<ConfirmPopup />
<Button
onClick={confirmDelete}
severity="danger"
label={__('Cancella', 'gepafin')} icon="pi pi-trash" iconPos="right"/>
</div>
</div>
</div>
)