This commit is contained in:
Jan Prochazka
2020-11-14 18:03:54 +01:00
parent b1ce2f7b90
commit 844ebf129a
2 changed files with 13 additions and 7 deletions

View File

@@ -1,6 +1,7 @@
import React from 'react'; import React from 'react';
import styled from 'styled-components'; import styled from 'styled-components';
import { FontIcon } from './icons'; import { FontIcon } from './icons';
import useTheme from './theme/useTheme';
const TargetStyled = styled.div` const TargetStyled = styled.div`
position: fixed; position: fixed;
@@ -9,7 +10,7 @@ const TargetStyled = styled.div`
left: 0; left: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
background: #aaaaff; background: ${(props) => props.theme.main_background_blue[3]};
align-items: center; align-items: center;
justify-content: space-around; justify-content: space-around;
z-index: 1000; z-index: 1000;
@@ -37,9 +38,10 @@ const TitleWrapper = styled.div`
`; `;
export default function DragAndDropFileTarget({ isDragActive, inputProps }) { export default function DragAndDropFileTarget({ isDragActive, inputProps }) {
const theme = useTheme();
return ( return (
!!isDragActive && ( !!isDragActive && (
<TargetStyled> <TargetStyled theme={theme}>
<InfoBox> <InfoBox>
<IconWrapper> <IconWrapper>
<FontIcon icon="icon cloud-upload" /> <FontIcon icon="icon cloud-upload" />

View File

@@ -86,9 +86,9 @@ function getFileFilters(storageType) {
return res; return res;
} }
async function addFilesToSourceList(files, values, setFieldValue) { async function addFilesToSourceList(files, values, setFieldValue, preferedStorageType) {
const newSources = []; const newSources = [];
const storage = values.sourceStorageType; const storage = preferedStorageType || values.sourceStorageType;
for (const file of getAsArray(files)) { for (const file of getAsArray(files)) {
if (isFileStorage(storage)) { if (isFileStorage(storage)) {
if (storage == 'excel') { if (storage == 'excel') {
@@ -113,6 +113,9 @@ async function addFilesToSourceList(files, values, setFieldValue) {
} }
} }
setFieldValue('sourceList', [...(values.sourceList || []).filter((x) => !newSources.includes(x)), ...newSources]); setFieldValue('sourceList', [...(values.sourceList || []).filter((x) => !newSources.includes(x)), ...newSources]);
if (preferedStorageType && preferedStorageType != values.sourceStorageType) {
setFieldValue('sourceStorageType', preferedStorageType);
}
} }
function ElectronFilesInput() { function ElectronFilesInput() {
@@ -311,7 +314,7 @@ export default function ImportExportConfigurator({ uploadedFile = undefined }) {
const sourceConnectionInfo = useConnectionInfo({ conid: values.sourceConnectionId }); const sourceConnectionInfo = useConnectionInfo({ conid: values.sourceConnectionId });
const { engine: sourceEngine } = sourceConnectionInfo || {}; const { engine: sourceEngine } = sourceConnectionInfo || {};
const { sourceList } = values; const { sourceList } = values;
const { uploadListener, setUploadListener } = useUploadsProvider(); const { setUploadListener } = useUploadsProvider();
const theme = useTheme(); const theme = useTheme();
const handleUpload = React.useCallback( const handleUpload = React.useCallback(
@@ -324,11 +327,12 @@ export default function ImportExportConfigurator({ uploadedFile = undefined }) {
}, },
], ],
values, values,
setFieldValue setFieldValue,
!sourceList || sourceList.length == 0 ? file.storageType : null
); );
// setFieldValue('sourceList', [...(sourceList || []), file.originalName]); // setFieldValue('sourceList', [...(sourceList || []), file.originalName]);
}, },
[setFieldValue, sourceList] [setFieldValue, sourceList, values]
); );
React.useEffect(() => { React.useEffect(() => {