diff --git a/src/assets/scss/components/appForm.scss b/src/assets/scss/components/appForm.scss index c114ba9..bb532bd 100644 --- a/src/assets/scss/components/appForm.scss +++ b/src/assets/scss/components/appForm.scss @@ -147,6 +147,7 @@ .appForm__fileUploadItemName { color: var(--global-textColor); font-style: italic; + text-align: left; } .appForm__row { diff --git a/src/assets/scss/components/appPage.scss b/src/assets/scss/components/appPage.scss index e0655d1..6963add 100644 --- a/src/assets/scss/components/appPage.scss +++ b/src/assets/scss/components/appPage.scss @@ -276,6 +276,10 @@ .summary { font-weight: bold; } + + a { + color: inherit; + } } @container section_with_border (max-width: 600px) { diff --git a/src/assets/scss/components/layout.scss b/src/assets/scss/components/layout.scss index 7c6eb60..e226e1a 100644 --- a/src/assets/scss/components/layout.scss +++ b/src/assets/scss/components/layout.scss @@ -28,6 +28,14 @@ body { } } +a { + color: inherit; + + &:hover { + text-decoration: none; + } +} + #root, .wrapper { min-height: 100%; display: flex; diff --git a/src/assets/scss/components/misc.scss b/src/assets/scss/components/misc.scss index c276636..0b795e1 100644 --- a/src/assets/scss/components/misc.scss +++ b/src/assets/scss/components/misc.scss @@ -118,6 +118,10 @@ user-select: none; } +.p-dropdown-panel { + max-width: 100%; +} + .p-inputgroup.flex-1 { align-items: center; } diff --git a/src/components/FormFieldRepeater/index.js b/src/components/FormFieldRepeater/index.js index 9d69312..fe00a72 100644 --- a/src/components/FormFieldRepeater/index.js +++ b/src/components/FormFieldRepeater/index.js @@ -73,6 +73,7 @@ const FormFieldRepeater = ({ const properField = (item, i) => { return !isNil(item.lookUpDataId) ? selectItem(e, i)} optionDisabled={(opt) => usedExistingValues().includes(opt.value)} diff --git a/src/components/FormFieldRepeaterCriteria/index.js b/src/components/FormFieldRepeaterCriteria/index.js index 7882cf8..9f96447 100644 --- a/src/components/FormFieldRepeaterCriteria/index.js +++ b/src/components/FormFieldRepeaterCriteria/index.js @@ -79,6 +79,7 @@ const FormFieldRepeaterCriteria = ({ const properField = (item, i) => { return !isNil(item.lookUpDataId) ? selectItem(e, i)} optionDisabled={(opt) => usedExistingValues().includes(opt.value)} diff --git a/src/components/FormFieldRepeaterFaq/index.js b/src/components/FormFieldRepeaterFaq/index.js index 0d16fa3..5ba60a3 100644 --- a/src/components/FormFieldRepeaterFaq/index.js +++ b/src/components/FormFieldRepeaterFaq/index.js @@ -12,6 +12,7 @@ import { Dialog } from 'primereact/dialog'; import { InputSwitch } from 'primereact/inputswitch'; import renderHtmlContent from '../../helpers/renderHtmlContent'; import { Editor } from 'primereact/editor'; +import DOMPurify from 'dompurify'; const FormFieldRepeaterFaq = ({ data, @@ -143,6 +144,10 @@ const FormFieldRepeaterFaq = ({ const header = renderHeader(); + const faqOptionTemplate = (option) => { + return DOMPurify.sanitize(option.title, {ALLOWED_TAGS: ['#text']}); + } + useEffect(() => { const storeFieldData = data ?? []; setStateFieldData(storeFieldData); @@ -177,9 +182,11 @@ const FormFieldRepeaterFaq = ({ disabled={disabled} icon="pi pi-plus" onClick={addNewItem}/> selectItem(e)} + filter disabled={disabled} optionDisabled={(opt) => usedExistingValues().includes(opt.title)} options={stateOptionsData} + itemTemplate={faqOptionTemplate} placeholder={__('Scegli tra quelli pre-creati', 'gepafin')} optionLabel="title"/> @@ -216,9 +223,9 @@ const FormFieldRepeaterFaq = ({ } > -

+ {renderHtmlContent(o.response)} -

+ )} { + const chosenCompanyId = useStore().main.chosenCompanyId(); const isAsyncRequest = useStore().main.isAsyncRequest(); const [items, setItems] = useState(null); const [filters, setFilters] = useState(null); @@ -161,11 +162,11 @@ const AllBandiAccordion = () => {
{renderHtmlContent(data.descriptionShort)}

{__('Scadenza', 'gepafin')}: {getDateFromISOstring(data.dates[1])}

- {!data.confidi + {!isEmpty(chosenCompanyId) && chosenCompanyId !== 0 && !data.confidi ? : null} - {data.confidi + {!isEmpty(chosenCompanyId) && chosenCompanyId !== 0 && data.confidi ? : null} @@ -199,9 +200,10 @@ const AllBandiAccordion = () => { - + body={actionsBodyTemplate}/> : null}
) diff --git a/src/pages/BandiBeneficiario/index.js b/src/pages/BandiBeneficiario/index.js index 8165092..be925d3 100644 --- a/src/pages/BandiBeneficiario/index.js +++ b/src/pages/BandiBeneficiario/index.js @@ -1,11 +1,18 @@ import React from 'react'; import { __ } from '@wordpress/i18n'; +import { Link } from 'react-router-dom'; +import { isEmpty } from 'ramda'; + +// store +import { useStore } from '../../store'; // components import AllBandiAccordion from './components/AllBandiAccordion'; const BandiBeneficiario = () => { - return( + const chosenCompanyId = useStore().main.chosenCompanyId(); + + return (

{__('Bandi disponibili', 'gepafin')}

@@ -13,6 +20,19 @@ const BandiBeneficiario = () => {
+ {isEmpty(chosenCompanyId) || chosenCompanyId === 0 + ? <> +
+ + {__('Attenzione', 'gepafin')} + + {__('Per applicare ai bandi devi Registare un Azienda clicca', 'gepafin')} + {__('qua', 'gepafin')} + +
+
+ : null} +
diff --git a/src/pages/BandoEdit/components/BandoEditFormActions/index.js b/src/pages/BandoEdit/components/BandoEditFormActions/index.js index 3b65462..4658387 100644 --- a/src/pages/BandoEdit/components/BandoEditFormActions/index.js +++ b/src/pages/BandoEdit/components/BandoEditFormActions/index.js @@ -5,27 +5,29 @@ import { isNil } from 'ramda'; // components import { Button } from 'primereact/button'; -const BandoEditFormActions = ({ id, openPreview, openPreviewEvaluation, submitFn }) => { +const BandoEditFormActions = ({ id, openPreview, submitFn, status }) => { return (
) diff --git a/src/pages/BandoEdit/components/BandoEditFormStep1/index.js b/src/pages/BandoEdit/components/BandoEditFormStep1/index.js index 4117123..0baca40 100644 --- a/src/pages/BandoEdit/components/BandoEditFormStep1/index.js +++ b/src/pages/BandoEdit/components/BandoEditFormStep1/index.js @@ -112,7 +112,7 @@ const BandoEditFormStep1 = forwardRef(function ({ initialData, getFormErrors, st toast.current.show({ severity: 'success', summary: '', - detail: __('Il bando è stato aggiornato corretamente!', 'gepafin') + detail: __('Il bando è stato aggiornato correttamente!', 'gepafin') }); } const values = getValues(); @@ -176,8 +176,13 @@ const BandoEditFormStep1 = forwardRef(function ({ initialData, getFormErrors, st storeSet.main.unsetAsyncRequest(); } - const shouldDisableField = () => { - return values.status === 'PUBLISH' + const shouldDisableField = (fieldName) => { + return values.status === 'PUBLISH' && + ![ + 'descriptionShort', 'descriptionLong', 'documentationRequested', 'threshold', + 'aimedTo', 'criteria', 'docs', 'checklist', 'faq', 'amount', 'amountMin', 'amountMax', + 'email', 'phoneNumber', 'checkList', 'images' + ].includes(fieldName) } useImperativeHandle( @@ -239,7 +244,7 @@ const BandoEditFormStep1 = forwardRef(function ({ initialData, getFormErrors, st { - return values.status === 'PUBLISH' + const shouldDisableField = (fieldName) => { + return values.status === 'PUBLISH' && + ![ + 'descriptionShort', 'descriptionLong', 'documentationRequested', 'threshold', + 'aimedTo', 'criteria', 'docs', 'checklist', 'faq', 'amount', 'amountMin', 'amountMax', + 'email', 'phoneNumber', 'checkList', 'images' + ].includes(fieldName) } const acceptAllFormats = () => { @@ -219,7 +224,7 @@ const BandoEditFormStep2 = forwardRef(function ({ initialData, getFormErrors, st { toast.current.show({ severity: 'success', summary: '', - detail: __('Il flusso è stato aggiornato corretamente!', 'gepafin') + detail: __('Il flusso è stato aggiornato correttamente!', 'gepafin') }); } } diff --git a/src/pages/BandoForms/index.js b/src/pages/BandoForms/index.js index ea70e59..cee1051 100644 --- a/src/pages/BandoForms/index.js +++ b/src/pages/BandoForms/index.js @@ -91,7 +91,7 @@ const BandoForms = () => { toast.current.show({ severity: 'success', summary: '', - detail: __('Il form è stato aggiornato corretamente!', 'gepafin') + detail: __('Il form è stato aggiornato correttamente!', 'gepafin') }); } @@ -235,7 +235,7 @@ const BandoForms = () => { outlined disabled={!selectedForm} onClick={goToEditForm} - label={'PUBLISH' === bandoStatus ? __('Mostra', 'gepafin') : __('Modifica', 'gepafin')} + label={__('Modifica', 'gepafin')} icon="pi pi-cog" iconPos="right"/>
diff --git a/src/pages/BandoFormsEdit/components/BuilderElement/index.js b/src/pages/BandoFormsEdit/components/BuilderElement/index.js index ff1fbc0..56fde4a 100644 --- a/src/pages/BandoFormsEdit/components/BuilderElement/index.js +++ b/src/pages/BandoFormsEdit/components/BuilderElement/index.js @@ -11,7 +11,7 @@ import { Button } from 'primereact/button'; import { Tag } from 'primereact/tag'; import BuilderElementProperLabel from '../BuilderElementProperLabel'; -const BuilderElement = ({ id, name, label, index }) => { +const BuilderElement = ({ id, name, label, index, bandoStatus }) => { const draggingElementId = useStore().main.draggingElementId(); const ref = useRef(null); @@ -109,28 +109,10 @@ const BuilderElement = ({ id, name, label, index }) => {
) - - /*return ( -
- {draggingId === id - ?
- : <> -
- - -
-
-
- - } -
- )*/ } export default BuilderElement; \ No newline at end of file diff --git a/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSetting/index.js b/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSetting/index.js index 6264b89..6e2dcfc 100644 --- a/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSetting/index.js +++ b/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSetting/index.js @@ -11,7 +11,7 @@ import { Editor } from 'primereact/editor'; import { mimeTypes } from '../../../../../../configData'; import ElementSettingTableColumns from '../ElementSettingTableColumns'; -const ElementSetting = ({ setting, changeFn, updateDataFn }) => { +const ElementSetting = ({ setting, changeFn, updateDataFn, bandoStatus }) => { const settingLabels = { label: __('Label', 'gepafin'), @@ -48,6 +48,7 @@ const ElementSetting = ({ setting, changeFn, updateDataFn }) => { return } else if (setting.name === 'mime') { return { return } else { return { const [stateFieldData, setStateFieldData] = useState([]); @@ -53,10 +54,10 @@ const ElementSettingRepeater = ({ {stateFieldData.map((o, i) =>
{properField(o, i)} -
)} - - {rowData.confidi - ? -