diff --git a/src/assets/scss/components/appForm.scss b/src/assets/scss/components/appForm.scss index 06d11d3..abde506 100644 --- a/src/assets/scss/components/appForm.scss +++ b/src/assets/scss/components/appForm.scss @@ -153,5 +153,42 @@ } .appForm__content { + p { + margin-bottom: 10px; + &.ql-indent-1 { + padding-left: 3em; + } + &.ql-indent-2 { + padding-left: 6em; + } + &.ql-indent-3 { + padding-left: 9em; + } + &.ql-indent-4 { + padding-left: 12em; + } + &.ql-indent-5 { + padding-left: 15em; + } + &.ql-indent-6 { + padding-left: 18em; + } + &.ql-indent-7 { + padding-left: 21em; + } + } + + h2 { + margin-bottom: 15px; + font-size: 1.5em; + } + h3 { + font-size: 1.2em; + margin-bottom: 10px; + } + + li[data-list="bullet"] { + list-style: disc; + } } \ No newline at end of file diff --git a/src/assets/scss/components/formBuilder.scss b/src/assets/scss/components/formBuilder.scss index 9e0d482..d90b097 100644 --- a/src/assets/scss/components/formBuilder.scss +++ b/src/assets/scss/components/formBuilder.scss @@ -59,6 +59,47 @@ align-items: flex-start; } + .label { + p { + margin-bottom: 10px; + + &.ql-indent-1 { + padding-left: 3em; + } + &.ql-indent-2 { + padding-left: 6em; + } + &.ql-indent-3 { + padding-left: 9em; + } + &.ql-indent-4 { + padding-left: 12em; + } + &.ql-indent-5 { + padding-left: 15em; + } + &.ql-indent-6 { + padding-left: 18em; + } + &.ql-indent-7 { + padding-left: 21em; + } + } + + h2 { + margin-bottom: 15px; + font-size: 1.5em; + } + h3 { + font-size: 1.2em; + margin-bottom: 10px; + } + + li[data-list="bullet"] { + list-style: disc; + } + } + .actions { display: flex; gap: 0.5rem; diff --git a/src/components/FormField/components/Wysiwyg/index.js b/src/components/FormField/components/Wysiwyg/index.js index 084d761..755396a 100644 --- a/src/components/FormField/components/Wysiwyg/index.js +++ b/src/components/FormField/components/Wysiwyg/index.js @@ -23,7 +23,6 @@ const Wysiwyg = ({ - diff --git a/src/pages/BandoEdit/components/BandoEditFormStep2/index.js b/src/pages/BandoEdit/components/BandoEditFormStep2/index.js index 834f818..ab6cc67 100644 --- a/src/pages/BandoEdit/components/BandoEditFormStep2/index.js +++ b/src/pages/BandoEdit/components/BandoEditFormStep2/index.js @@ -96,11 +96,7 @@ const BandoEditFormStep2 = forwardRef(function ({ initialData, getFormErrors, st } storeSet.main.setAsyncRequest(); - if (!formData.id) { - BandoService.createBando(formData, createCallback, errCreateCallback); - } else { - BandoService.updateBandoStep1(formData.id, formData, createCallback, errCreateCallback); - } + BandoService.updateBandoStep2(formData.id, formData, createCallback, errCreateCallback); } const createCallback = (data) => { diff --git a/src/pages/BandoFlowEdit/index.js b/src/pages/BandoFlowEdit/index.js index 9d8b744..0cab200 100644 --- a/src/pages/BandoFlowEdit/index.js +++ b/src/pages/BandoFlowEdit/index.js @@ -129,6 +129,9 @@ const BandoFlowEdit = () => { const formOptions = data.data.map(o => ({ label: o.label, value: o.id })) storeSet.main.flowForms(data.data); setFormOptions([{label: '', value: ''}, ...formOptions]); + const bandoId = getBandoId(); + storeSet.main.setAsyncRequest(); + FlowService.getFlow(bandoId, getFlowCallback, errGetFlowCallback); } storeSet.main.unsetAsyncRequest(); } @@ -233,7 +236,6 @@ const BandoFlowEdit = () => { const bandoId = getBandoId(); storeSet.main.setAsyncRequest(); FormsService.getFormsForCall(bandoId, getFormsCallback, errGetFormsCallback); - FlowService.getFlow(bandoId, getFlowCallback, errGetFlowCallback) }, [id]); useEffect(() => { diff --git a/src/pages/BandoFormsEdit/components/BuilderElementProperLabel/index.js b/src/pages/BandoFormsEdit/components/BuilderElementProperLabel/index.js index 74b9bc1..788875b 100644 --- a/src/pages/BandoFormsEdit/components/BuilderElementProperLabel/index.js +++ b/src/pages/BandoFormsEdit/components/BuilderElementProperLabel/index.js @@ -3,22 +3,27 @@ import { head } from 'ramda'; // store import { useStore } from '../../../../store'; +import renderHtmlContent from '../../../../helpers/renderHtmlContent'; const BuilderElementProperLabel = ({ id, defaultLabel }) => { const elements = useStore().main.formElements(); - const [label, setLabel] = useState(); + const [label, setLabel] = useState(''); useEffect(() => { const element = head(elements.filter(o => o.id === id)); - const setting = head(element.settings.filter(o => o.name === 'label')); - if (setting) { - setLabel(setting.value); + const label = head(element.settings.filter(o => o.name === 'label')); + const text = head(element.settings.filter(o => o.name === 'text')); + + if (label) { + setLabel(label.value); + } else if (text) { + setLabel(text.value); } else { setLabel(defaultLabel); } }, [elements]); - return label + return
{renderHtmlContent(label)}
} export default BuilderElementProperLabel; \ 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 3c48d47..3140fd5 100644 --- a/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSetting/index.js +++ b/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSetting/index.js @@ -29,8 +29,8 @@ const ElementSetting = ({ setting, changeFn, updateDataFn }) => { - + @@ -40,7 +40,7 @@ const ElementSetting = ({ setting, changeFn, updateDataFn }) => { }; const header = renderHeader(); -console.log('setting', setting) + return
{setting.name === 'options' diff --git a/src/pages/BandoView/index.js b/src/pages/BandoView/index.js index a1a335f..6616cd1 100644 --- a/src/pages/BandoView/index.js +++ b/src/pages/BandoView/index.js @@ -156,7 +156,7 @@ const BandoView = () => {

{__('Documentazione Richiesta', 'gepafin')}

-

{data.documentationRequested}

+

{renderHtmlContent(data.documentationRequested)}

diff --git a/src/pages/BandoViewBeneficiario/index.js b/src/pages/BandoViewBeneficiario/index.js index ba7e0f3..703a692 100644 --- a/src/pages/BandoViewBeneficiario/index.js +++ b/src/pages/BandoViewBeneficiario/index.js @@ -25,6 +25,7 @@ import { Message } from 'primereact/message'; import BandoService from '../../service/bando-service'; import FaqItemService from '../../service/faq-item-service'; import ApplicationService from '../../service/application-service'; +import { Editor } from 'primereact/editor'; const BandoViewBeneficiario = () => { const isAsyncRequest = useStore().main.isAsyncRequest(); @@ -84,7 +85,7 @@ const BandoViewBeneficiario = () => { } const submitNewQuestion = () => { - if (newQuestion) { + if (newQuestion && chosenCompanyId && 0 !== chosenCompanyId) { if (bandoMsgs.current) { bandoMsgs.current.clear(); } @@ -97,7 +98,7 @@ const BandoViewBeneficiario = () => { "isVisible": false } storeSet.main.setAsyncRequest(); - FaqItemService.addQuestion(id, obj, createCallBack, errCreateCallback) + FaqItemService.addQuestion(id, obj, createCallBack, errCreateCallback, [['companyId', chosenCompanyId]]) } } @@ -172,6 +173,26 @@ const BandoViewBeneficiario = () => { storeSet.main.unsetAsyncRequest(); } + const renderHeader = () => { + return ( + + + + + + + + + + + + + + ); + }; + + const header = renderHeader(); + useEffect(() => { const bandoId = getBandoId(); storeSet.main.setAsyncRequest(); @@ -260,7 +281,7 @@ const BandoViewBeneficiario = () => {

{__('Documentazione Richiesta', 'gepafin')}

-

{data.documentationRequested}

+

{renderHtmlContent(data.documentationRequested)}

@@ -303,13 +324,15 @@ const BandoViewBeneficiario = () => {

{__('Non hai trovato la risposta che cercavi?', 'gepafin')}

- setNewQuestion(e.target.value)} - aria-describedby="newQuestion-help"/> + headerTemplate={header} + onTextChange={(e) => setNewQuestion(e.htmlValue)} + style={{ height: 80 * 3 }} + aria-describedby="newQuestion-help" + /> {__('Riceverai una notifica quando ti risponderemo', 'gepafin')} diff --git a/src/service/faq-item-service.js b/src/service/faq-item-service.js index d46aa20..7a798ce 100644 --- a/src/service/faq-item-service.js +++ b/src/service/faq-item-service.js @@ -4,7 +4,7 @@ const API_BASE_URL = process.env.REACT_APP_API_EXECUTION_ADDRESS; export default class FaqItemService { - static addQuestion = (id, body, callback, errCallback) => { - NetworkService.post(`${API_BASE_URL}/faq/call/${id}`, body, callback, errCallback); + static addQuestion = (id, body, callback, errCallback, queryParams) => { + NetworkService.post(`${API_BASE_URL}/faq/call/${id}`, body, callback, errCallback, queryParams); }; }