- added add company page;
- connected api for delega download, upload and deleting;
This commit is contained in:
@@ -7,22 +7,21 @@ import FileUploadService from '../../service/file-upload-service';
|
||||
import { FileUpload } from 'primereact/fileupload';
|
||||
import { Tag } from 'primereact/tag';
|
||||
import { Button } from 'primereact/button';
|
||||
import CompanyService from '../../service/company-service';
|
||||
|
||||
const FileuploadStandalone = ({
|
||||
const FileuploadDelega = ({
|
||||
fieldName,
|
||||
setDataFn,
|
||||
defaultValue = [],
|
||||
accept = ['image/*'],
|
||||
doctype = 'images',
|
||||
accept = [],
|
||||
maxSize = 100000000,
|
||||
emptyText = __('Trascina qui il tuo file', 'gepafin'),
|
||||
chooseLabel = __('Aggiungi immagine', 'gepafin'),
|
||||
chooseLabel = __('Aggiungi delega', 'gepafin'),
|
||||
multiple = false,
|
||||
sourceId = 0,
|
||||
source = 'application',
|
||||
companyId = 0,
|
||||
disabled = false
|
||||
}) => {
|
||||
const [stateFieldData, setStateFieldData] = useState([]);
|
||||
const [stateFieldData, setStateFieldData] = useState({});
|
||||
const [acceptFormats, setAcceptFormats] = useState('');
|
||||
const inputRef = useRef();
|
||||
|
||||
@@ -31,10 +30,7 @@ const FileuploadStandalone = ({
|
||||
for (const file of event.files) {
|
||||
formData.append('file', file)
|
||||
}
|
||||
FileUploadService.uploadFile(sourceId, formData, callback, errorCallback, [
|
||||
['documentType', doctype.toUpperCase()],
|
||||
['sourceType', source.toUpperCase()]
|
||||
]);
|
||||
CompanyService.uploadCompanyDelega(companyId, formData, callback, errorCallback);
|
||||
};
|
||||
|
||||
const callback = (data) => {
|
||||
@@ -51,11 +47,12 @@ const FileuploadStandalone = ({
|
||||
}
|
||||
|
||||
const itemTemplate = (file) => {
|
||||
console.log('file', file)
|
||||
return (
|
||||
<div className="appForm__fileUploadItem">
|
||||
<div>
|
||||
<span className="appForm__fileUploadItemName">
|
||||
{file.name}
|
||||
{file.fileName}
|
||||
</span>
|
||||
</div>
|
||||
<div>
|
||||
@@ -77,11 +74,10 @@ const FileuploadStandalone = ({
|
||||
|
||||
const onTemplateRemove = (file) => {
|
||||
if (file.id) {
|
||||
FileUploadService.deleteFile(
|
||||
{},
|
||||
CompanyService.deleteDelega(
|
||||
companyId,
|
||||
(data) => dCallback(data, file.id),
|
||||
dErrorCallback,
|
||||
[['id', file.id]]
|
||||
dErrorCallback
|
||||
);
|
||||
} else {
|
||||
const files = inputRef.current.getFiles()
|
||||
@@ -120,7 +116,9 @@ const FileuploadStandalone = ({
|
||||
const MIMEtype = new RegExp(acceptFormats);
|
||||
|
||||
return Array.prototype.every.call(files, function passesAcceptedFormat(file) {
|
||||
return MIMEtype.test(file.type);
|
||||
const fileExtension = `.${file.name.split('.').pop().toLowerCase()}`;
|
||||
const fileType = file.type;
|
||||
return MIMEtype.test(fileType) || MIMEtype.test(fileExtension);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -128,6 +126,13 @@ const FileuploadStandalone = ({
|
||||
setStateFieldData(defaultValue);
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
if (inputRef.current) {
|
||||
inputRef.current.setUploadedFiles(multiple ? defaultValue : [defaultValue]);
|
||||
console.log('inputRef.current', inputRef.current, multiple ? defaultValue : [defaultValue])
|
||||
}
|
||||
}, [defaultValue]);
|
||||
|
||||
useEffect(() => {
|
||||
// eslint-disable-next-line no-useless-escape
|
||||
setAcceptFormats(accept.join(',').replace(/\*/g, '.\*').replace(/,/g, '|'));
|
||||
@@ -135,13 +140,14 @@ const FileuploadStandalone = ({
|
||||
|
||||
useEffect(() => {
|
||||
if (inputRef.current) {
|
||||
inputRef.current.setUploadedFiles(stateFieldData);
|
||||
inputRef.current.setUploadedFiles(multiple ? stateFieldData : [stateFieldData]);
|
||||
}
|
||||
setDataFn(fieldName, [...stateFieldData], { shouldValidate: true });
|
||||
|
||||
setDataFn(fieldName, multiple ? [...stateFieldData] : stateFieldData, { shouldValidate: true });
|
||||
}, [stateFieldData])
|
||||
|
||||
return (
|
||||
sourceId && sourceId !== 0
|
||||
companyId && companyId !== 0
|
||||
? <FileUpload
|
||||
ref={inputRef}
|
||||
disabled={disabled}
|
||||
@@ -164,4 +170,4 @@ const FileuploadStandalone = ({
|
||||
)
|
||||
}
|
||||
|
||||
export default FileuploadStandalone;
|
||||
export default FileuploadDelega;
|
||||
@@ -126,7 +126,9 @@ const Fileupload = ({
|
||||
const MIMEtype = new RegExp(acceptFormats);
|
||||
|
||||
return Array.prototype.every.call(files, function passesAcceptedFormat(file) {
|
||||
return MIMEtype.test(file.type);
|
||||
const fileExtension = `.${file.name.split('.').pop().toLowerCase()}`;
|
||||
const fileType = file.type;
|
||||
return MIMEtype.test(fileType) || MIMEtype.test(fileExtension);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -127,7 +127,9 @@ const FileuploadAsync = ({
|
||||
const MIMEtype = new RegExp(acceptFormats);
|
||||
|
||||
return Array.prototype.every.call(files, function passesAcceptedFormat(file) {
|
||||
return MIMEtype.test(file.type);
|
||||
const fileExtension = `.${file.name.split('.').pop().toLowerCase()}`;
|
||||
const fileType = file.type;
|
||||
return MIMEtype.test(fileType) || MIMEtype.test(fileExtension);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -54,12 +54,19 @@ const TopBarProfileMenu = ({ menuLeftRef }) => {
|
||||
command: () => {
|
||||
navigate('/profilo-aziendale')
|
||||
},
|
||||
enable: !intersection(permissions, ['MANAGE_TENDERS']).length
|
||||
enable: !intersection(permissions, ['MANAGE_TENDERS']).length && companies.length > 0
|
||||
},
|
||||
{
|
||||
label: __('Seleziona azienda', 'gepafin'),
|
||||
items: companyItems,
|
||||
enable: true
|
||||
enable: companies.length
|
||||
},
|
||||
{
|
||||
label: __('Aggiungi Azienda', 'gepafin'),
|
||||
command: () => {
|
||||
navigate('/agguingi-azienda')
|
||||
},
|
||||
enable: !intersection(permissions, ['MANAGE_TENDERS']).length
|
||||
},
|
||||
{
|
||||
separator: true,
|
||||
|
||||
Reference in New Issue
Block a user