diff --git a/packages/strapi-plugin-upload/admin/src/components/Card/index.js b/packages/strapi-plugin-upload/admin/src/components/Card/index.js
index 24f495508e..5ac2f1726b 100644
--- a/packages/strapi-plugin-upload/admin/src/components/Card/index.js
+++ b/packages/strapi-plugin-upload/admin/src/components/Card/index.js
@@ -1,6 +1,5 @@
import React from 'react';
import PropTypes from 'prop-types';
-import { Checkbox } from '@buffetjs/core';
import Text from '../Text';
import CardImgWrapper from '../CardImgWrapper';
@@ -9,20 +8,31 @@ import Wrapper from './Wrapper';
import Title from './Title';
// TODO - adapt with the real data
-const Card = ({ checked, id, name, size, small, type, onChange, url }) => {
+const Card = ({
+ checked,
+ children,
+ errorMessage,
+ hasError,
+ mime,
+ name,
+ onChange,
+ small,
+ size,
+ type,
+ url,
+}) => {
return (
-
-
-
-
-
+
+
+ {children}
{name}
- {`${type} - ${size}`}
+ {!hasError && {`${type} - ${size}`}}
+ {hasError && {errorMessage}
}
);
@@ -30,6 +40,8 @@ const Card = ({ checked, id, name, size, small, type, onChange, url }) => {
Card.defaultProps = {
checked: false,
+ children: null,
+ hasError: false,
name: null,
onChange: () => {},
size: 0,
@@ -40,8 +52,10 @@ Card.defaultProps = {
Card.propTypes = {
checked: PropTypes.bool,
+ children: PropTypes.node,
+ hasError: PropTypes.bool,
name: PropTypes.string,
- id: PropTypes.string.isRequired,
+ id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
onChange: PropTypes.func,
size: PropTypes.number,
small: PropTypes.bool,
diff --git a/packages/strapi-plugin-upload/admin/src/components/CardImgWrapper/index.js b/packages/strapi-plugin-upload/admin/src/components/CardImgWrapper/index.js
index 42366c79e6..e90687f2ac 100644
--- a/packages/strapi-plugin-upload/admin/src/components/CardImgWrapper/index.js
+++ b/packages/strapi-plugin-upload/admin/src/components/CardImgWrapper/index.js
@@ -23,7 +23,7 @@ const CardImgWrapper = styled.div`
&:hover {
.card-control-wrapper {
display: flex;
- z-index: 1050;
+ z-index: 1045;
}
}
diff --git a/packages/strapi-plugin-upload/admin/src/components/CardPreview/Wrapper.js b/packages/strapi-plugin-upload/admin/src/components/CardPreview/Wrapper.js
index 6f0d33129d..1736ad1bce 100644
--- a/packages/strapi-plugin-upload/admin/src/components/CardPreview/Wrapper.js
+++ b/packages/strapi-plugin-upload/admin/src/components/CardPreview/Wrapper.js
@@ -8,15 +8,15 @@ const Wrapper = styled.div`
top: 0;
left: 0;
display: flex;
- background-color: ${({ isImg }) => (isImg ? '#333740' : '#F2F3F4')};
+ background-color: ${({ isFile }) => (isFile ? '#F2F3F4' : '#333740')};
`;
Wrapper.defaultProps = {
- isImg: false,
+ isFile: false,
};
Wrapper.propTypes = {
- isImg: PropTypes.bool,
+ isFile: PropTypes.bool,
};
export default Wrapper;
diff --git a/packages/strapi-plugin-upload/admin/src/components/CardPreview/index.js b/packages/strapi-plugin-upload/admin/src/components/CardPreview/index.js
index 2407238483..d920cec29c 100644
--- a/packages/strapi-plugin-upload/admin/src/components/CardPreview/index.js
+++ b/packages/strapi-plugin-upload/admin/src/components/CardPreview/index.js
@@ -6,14 +6,16 @@ import Wrapper from './Wrapper';
import Image from './Image';
const CardPreview = ({ url, type }) => {
+ const isFile = !type.includes('image') && !type.includes('video');
+
return (
- {!url ? : }
+ {isFile ? : }
);
};
CardPreview.defaultProps = {
url: null,
- type: null,
+ type: '',
};
CardPreview.propTypes = {
diff --git a/packages/strapi-plugin-upload/admin/src/components/List/index.js b/packages/strapi-plugin-upload/admin/src/components/List/index.js
index a1a2a99957..91d1d41a6d 100644
--- a/packages/strapi-plugin-upload/admin/src/components/List/index.js
+++ b/packages/strapi-plugin-upload/admin/src/components/List/index.js
@@ -1,5 +1,6 @@
import React from 'react';
import PropTypes from 'prop-types';
+import { Checkbox } from '@buffetjs/core';
import createMatrix from '../../utils/createMatrix';
@@ -15,14 +16,16 @@ const List = ({ data, onChange, selectedItems }) => {
return (
{rowContent.map(item => {
+ const { id, url } = item;
+ const checked = selectedItems.includes(`${id}`);
+
return (
);
})}
@@ -34,62 +37,7 @@ const List = ({ data, onChange, selectedItems }) => {
};
List.defaultProps = {
- data: [
- {
- id: '0',
- name: 'Chat paysage',
- size: 17329,
- type: 'image/png',
- url:
- 'https://images.pexels.com/photos/20787/pexels-photo.jpg?auto=compress&cs=tinysrgb&h=350',
- },
- {
- id: '1',
- name: 'Chat portrait',
- size: 17329,
- type: 'image/png',
- url: 'https://emiliedammedumoulin.com/wp-content/uploads/2018/07/contact-chat-accueil.jpg',
- },
- {
- id: '2',
- name: 'Gif',
- size: 17329,
- type: 'image/png',
- url:
- 'https://user-images.githubusercontent.com/879561/51321923-54024f00-1a64-11e9-8c37-3308350a59c4.gif',
- },
- {
- id: '3',
- name: 'Paysage',
- size: 17329,
- type: 'image/png',
- url:
- 'https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSyHCXO8D0QQrPDuGstvH9dEwhhB7Qv-3mDMWGpLExyY1CF84cL',
- },
- {
- id: '4',
- name: 'That kitten is so beautiful that I am not sure to have the place to describe it',
- size: 17329,
- type: 'image/png',
- url:
- 'https://images.pexels.com/photos/1643457/pexels-photo-1643457.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500',
- },
- {
- id: '5',
- name: 'pdf file',
- type: 'pdf',
- },
- {
- id: '6',
- name: 'Zip file',
- type: 'zip',
- },
- {
- id: '7',
- name: 'Doc file',
- type: 'docx',
- },
- ],
+ data: [],
onChange: () => {},
selectedItems: [],
};
diff --git a/packages/strapi-plugin-upload/admin/src/components/UploadList/RowItem.js b/packages/strapi-plugin-upload/admin/src/components/UploadList/RowItem.js
index 79b500d286..5c2e478346 100644
--- a/packages/strapi-plugin-upload/admin/src/components/UploadList/RowItem.js
+++ b/packages/strapi-plugin-upload/admin/src/components/UploadList/RowItem.js
@@ -1,12 +1,14 @@
import React from 'react';
import PropTypes from 'prop-types';
+
+import Card from '../Card';
import CardControl from '../CardControl';
import CardControlsWrapper from '../CardControlsWrapper';
import CardImgWrapper from '../CardImgWrapper';
import InfiniteLoadingIndicator from '../InfiniteLoadingIndicator';
const RowItem = ({
- // file,
+ file,
fileInfo,
hasError,
errorMessage,
@@ -15,6 +17,8 @@ const RowItem = ({
onClickEdit,
originalIndex,
}) => {
+ const url = URL.createObjectURL(file);
+
const handleClick = () => {
onClick(originalIndex);
};
@@ -24,18 +28,23 @@ const RowItem = ({
};
return (
-
-
-
- {isUploading && }
- {!isUploading && (
-
-
-
- )}
-
-
{errorMessage || fileInfo.name}
-
+
+
+ {isUploading && }
+ {!isUploading && (
+
+
+
+ )}
+
);
};
@@ -45,7 +54,7 @@ RowItem.defaultProps = {
};
RowItem.propTypes = {
- // file: PropTypes.object.isRequired,
+ file: PropTypes.object.isRequired,
fileInfo: PropTypes.shape({
name: PropTypes.string.isRequired,
}).isRequired,
diff --git a/packages/strapi-plugin-upload/admin/src/containers/HomePage/index.js b/packages/strapi-plugin-upload/admin/src/containers/HomePage/index.js
index afb71ee6e5..8c40b46820 100644
--- a/packages/strapi-plugin-upload/admin/src/containers/HomePage/index.js
+++ b/packages/strapi-plugin-upload/admin/src/containers/HomePage/index.js
@@ -93,7 +93,7 @@ const HomePage = () => {
value,
});
};
-
+
const handleChangeListParams = ({ target: { name, value } }) => {
if (name.includes('_page')) {
handleChangeParams({
@@ -195,7 +195,7 @@ const HomePage = () => {
onClick={handleDeleteFilter}
/>
-
+
handleClickToggleModal()} />
{} }}