- fixed login for confidi users;
- restyled fileselect UI;
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user