- added two new settings related to CSV report;

This commit is contained in:
Vitalii Kiiko
2025-04-14 10:00:18 +02:00
parent aaad6e0fd7
commit f9b54d6350
5 changed files with 183 additions and 10 deletions

View File

@@ -8,6 +8,7 @@ import { storeSet, useStoreValue } from '../../store';
// api
import BandoService from '../../service/bando-service';
import FormsService from '../../service/forms-service';
// tools
import getBandoLabel from '../../helpers/getBandoLabel';
@@ -20,7 +21,6 @@ import { Steps } from 'primereact/steps';
import BandoEditFormStep1 from './components/BandoEditFormStep1';
import BandoEditFormStep2 from './components/BandoEditFormStep2';
import { Messages } from 'primereact/messages';
import FormsService from '../../service/forms-service';
import BlockingOverlay from '../../components/BlockingOverlay';
import { Toast } from 'primereact/toast';
import BandoEditFormStep3 from './components/BandoEditFormStep3';

View File

@@ -40,6 +40,8 @@ const ElementSetting = ({ setting, changeFn, updateDataFn, bandoStatus }) => {
variable: __('Variabile (lettere, cifre e "_"; il primo carattere deve essere una lettera!)', 'gepafin'),
formula: __('Formula di calcolo automatico', 'gepafin'),
isChecklistItem: __('Fa parte di "checklist"?', 'gepafin'),
reportEnable: __('Aggiungere nel report CSV?', 'gepafin'),
reportHeader: __('Nome della colonna nel CSV', 'gepafin')
}
const settingDescription = {
@@ -114,7 +116,7 @@ const ElementSetting = ({ setting, changeFn, updateDataFn, bandoStatus }) => {
name={setting.name}
bandoStatus={bandoStatus}
setDataFn={updateDataFn}/>
} else if (['isRequestedAmount', 'isDelegation', 'isChecklistItem'].includes(setting.name)) {
} else if (['isRequestedAmount', 'isDelegation', 'isChecklistItem', 'reportEnable'].includes(setting.name)) {
return <InputSwitch
checked={setting.value}
onChange={(e) => changeFn(e.value, setting.name)}/>

View File

@@ -27,6 +27,7 @@ const BuilderElementSettings = ({ closeSettingsFn, callStatus, context }) => {
const [settings, setSettings] = useState([]);
const [validators, setValidators] = useState({});
const [dynamicData, setDynamicData] = useState([]);
const [reportData, setReportData] = useState({});
const [criteria, setCriteria] = useState([]);
const numberBasedValidatorFields = ['min', 'max', 'minLength', 'maxLength'];
const customValidationOptions = [
@@ -150,7 +151,7 @@ const BuilderElementSettings = ({ closeSettingsFn, callStatus, context }) => {
<TabPanel header={__('Presentation', 'gepafin')}>
{settings
? settings
.filter(o => !['variable', 'formula'].includes(o.name))
.filter(o => !['variable', 'formula', 'reportEnable', 'reportHeader'].includes(o.name))
.map((o) => <ElementSetting
key={o.name}
setting={o}
@@ -242,8 +243,7 @@ const BuilderElementSettings = ({ closeSettingsFn, callStatus, context }) => {
placeholder={__('Scegli', 'gepafin')}/>
</div>
</TabPanel> : null}
{settings
&& settings
{settings && settings
.filter(o => ['variable', 'formula'].includes(o.name)).length > 0
? <TabPanel header={__('Calcolo', 'gepafin')}>
{settings
@@ -257,6 +257,18 @@ const BuilderElementSettings = ({ closeSettingsFn, callStatus, context }) => {
updateDataFn={onUpdateOptions}/>)
: null}
</TabPanel> : null}
<TabPanel header={__('Rapporto CSV', 'gepafin')}>
{settings
? settings
.filter(o => ['reportEnable', 'reportHeader'].includes(o.name))
.map((o) => <ElementSetting
key={o.name}
setting={o}
callStatus={callStatus}
changeFn={onChange}
updateDataFn={onUpdateOptions}/>)
: null}
</TabPanel>
</TabView>
<div style={{ display: 'flex', gap: '0.5rem' }}>

View File

@@ -24,9 +24,6 @@ import set404FromErrorResponse from '../../helpers/set404FromErrorResponse';
// api
import FormsService from '../../service/forms-service';
import BandoService from '../../service/bando-service';
// TODO temp data
import { elementItems } from '../../tempData';
import DocumentCategoryService from '../../service/document-category-service';
// TODO temp data
@@ -222,7 +219,9 @@ const BandoFormsEdit = () => {
const getElementItemsCallback = (data) => {
if (data.status === 'SUCCESS') {
//storeSet('elementItems', elementItems.sort((a, b) => a.sortOrder - b.sortOrder));
/*storeSet('elementItems', elementItems
.filter(o => o.id !== 22)
.sort((a, b) => a.sortOrder - b.sortOrder));*/
storeSet('elementItems', data.data
.filter(o => o.id !== 22)
.sort((a, b) => a.sortOrder - b.sortOrder));

View File

@@ -13,6 +13,14 @@ export const elementItems = [
{
name: "placeholder",
value: ""
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -37,6 +45,14 @@ export const elementItems = [
{
name: "placeholder",
value: ""
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -61,6 +77,14 @@ export const elementItems = [
{
name: "placeholder",
value: ""
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -101,6 +125,14 @@ export const elementItems = [
name: "formula",
value: ""
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
isRequired: false,
@@ -124,6 +156,14 @@ export const elementItems = [
{
name: "options",
value: []
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -145,6 +185,14 @@ export const elementItems = [
{
name: "options",
value: []
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -166,6 +214,14 @@ export const elementItems = [
{
name: "options",
value: []
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -189,6 +245,14 @@ export const elementItems = [
{
name: "isChecklistItem",
value: false
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -205,6 +269,14 @@ export const elementItems = [
{
name: "label",
value: "Data"
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -252,6 +324,14 @@ export const elementItems = [
{
name: "placeholder",
value: ""
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -273,6 +353,14 @@ export const elementItems = [
{
name: "placeholder",
value: ""
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -294,6 +382,14 @@ export const elementItems = [
{
name: "placeholder",
value: ""
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -315,6 +411,14 @@ export const elementItems = [
{
name: "placeholder",
value: ""
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -336,6 +440,14 @@ export const elementItems = [
{
name: "placeholder",
value: "nome@esempio.it"
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -357,6 +469,14 @@ export const elementItems = [
{
name: "placeholder",
value: "nome@pec.it"
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -378,6 +498,14 @@ export const elementItems = [
{
name: "placeholder",
value: ""
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -399,6 +527,14 @@ export const elementItems = [
{
name: "placeholder",
value: "Numero identificativo"
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -434,6 +570,14 @@ export const elementItems = [
{
name: "table_columns",
value: {}
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -458,6 +602,14 @@ export const elementItems = [
{
name: "variable",
value: []
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {
@@ -478,6 +630,14 @@ export const elementItems = [
{
name: "isChecklistItem",
value: true
},
{
name: "reportEnable",
value: false
},
{
name: "reportHeader",
value: ""
}
],
validators: {