- fixed login for confidi users;

- restyled fileselect UI;
This commit is contained in:
Vitalii Kiiko
2025-03-11 15:19:13 +01:00
parent d9aa0b6c23
commit e13e63e1ca
12 changed files with 126 additions and 56 deletions

View File

@@ -8,6 +8,7 @@ import { ListBox } from 'primereact/listbox';
import { Button } from 'primereact/button';
import CompanyDocumentsService from '../../../../service/company-documents-service';
import { Link } from 'react-router-dom';
import FileUploadService from '../../../../service/file-upload-service';
const FileSelect = ({
fieldName,
@@ -29,6 +30,7 @@ const FileSelect = ({
const [selectedUnconfirmed, setSelectedUnconfirmed] = useState([]);
const [optionsTransformed, setOptionsTransformed] = useState([]);
const [loading, setLoading] = useState(false);
const [addNewMode, setAddNewMode] = useState(false);
const attachSelectedFiles = useCallback(() => {
const existingIds = pluck('id', stateFieldData.current);
@@ -43,10 +45,12 @@ const FileSelect = ({
['documentType', source]
])
});
setAddNewMode(false);
}, [selectedUnconfirmed]);
const removeAttached = (id) => {
console.log('stateFieldData', stateFieldData, id)
const doGoBackToListOfFiles = () => {
setSelectedUnconfirmed([]);
setAddNewMode(false);
}
const callback = (resp) => {
@@ -62,9 +66,30 @@ const FileSelect = ({
setLoading(false);
}
useEffect(() => {
const removeAttached = (id) => {
FileUploadService.deleteFile(
{},
(data) => deleteCallback(data, id),
deleteErrorCallback,
[['id', id]]
);
}
const deleteCallback = (data, id) => {
if (data.status === 'SUCCESS') {
stateFieldData.current = stateFieldData.current.filter(o => id !== o.id);
setDataFn(fieldName, stateFieldData.current, { shouldValidate: true });
saveFormCallback();
}
}
const deleteErrorCallback = (err) => {
console.log('err', err);
}
/*useEffect(() => {
console.log('selectedUnconfirmed', selectedUnconfirmed)
}, [selectedUnconfirmed]);
}, [selectedUnconfirmed]);*/
useEffect(() => {
stateFieldData.current = defaultValue;
@@ -73,6 +98,7 @@ const FileSelect = ({
useEffect(() => {
if (!isEmpty(options)) {
console.log('options', options);
const optionsDefault = [
{
label: __('Documenti dell\'Azienda', 'gepafin'),
@@ -92,7 +118,7 @@ const FileSelect = ({
useEffect(() => {
stateFieldData.current = defaultValue;
}, [defaultValue]);
//console.log([...stateFieldData.current])
return (
<>
<label htmlFor={fieldName} className={classNames({ 'p-error': errors[fieldName] })}>
@@ -100,25 +126,32 @@ const FileSelect = ({
<span className="appForm__field--required">*</span> : null}
</label>
<div className="fileselectInner">
<div className="fileselectInner__selectionBox">
<ListBox multiple
value={selectedUnconfirmed}
onChange={(e) => setSelectedUnconfirmed(e.value)}
options={optionsTransformed}
optionLabel="name"
optionGroupLabel="label"
optionGroupChildren="items"
className="w-full md:w-14rem"
listStyle={{ maxHeight: '130px' }}/>
{!isEmpty(optionsTransformed)
? <Button
severity="success"
disabled={loading}
onClick={attachSelectedFiles}
label={__('Conferma i file scelti', 'gepafin')}
icon="pi pi-arrow-right" size="small" iconPos="right"/> : null}
</div>
{!isEmpty(optionsTransformed)
{addNewMode
? <div className="fileselectInner__selectionBox">
<ListBox multiple
value={selectedUnconfirmed}
onChange={(e) => setSelectedUnconfirmed(e.value)}
options={optionsTransformed}
optionLabel="name"
optionGroupLabel="label"
optionGroupChildren="items"
className="w-full md:w-14rem"
listStyle={{ maxHeight: '130px' }}/>
{!isEmpty(selectedUnconfirmed)
? <Button
severity="success"
disabled={loading}
onClick={attachSelectedFiles}
label={__('Conferma i file scelti', 'gepafin')}
icon="pi pi-arrow-right" size="small" iconPos="right"/>
: <Button
severity="success"
outlined
onClick={doGoBackToListOfFiles}
label={__('Torna alla lista dei file selezionati', 'gepafin')}
icon="pi pi-arrow-right" size="small" iconPos="right"/>}
</div> : null}
{!isEmpty(optionsTransformed) && !addNewMode
? <div className="fileselectInner__selectedFiles">
<p>{__('I file selezionati')}</p>
<ul>
@@ -134,6 +167,12 @@ const FileSelect = ({
</div>
</li>)}
</ul>
<Button
severity="success"
disabled={loading}
onClick={() => setAddNewMode(true)}
label={__('Aggiungi i file', 'gepafin')}
icon="pi pi-plus" size="small" iconPos="right"/>
</div> : null}
</div>
{isEmpty(optionsTransformed)