67 lines
1.8 KiB
JavaScript
Raw Normal View History

2020-02-13 09:01:32 +01:00
import React from 'react';
import PropTypes from 'prop-types';
import { Checkbox } from '@buffetjs/core';
2020-02-13 09:01:32 +01:00
import { createMatrix } from '../../utils';
import Card from '../Card';
import CardControlsWrapper from '../CardControlsWrapper';
import Wrapper from './Wrapper';
const List = ({ data, onChange, onClickEditFile, selectedItems }) => {
const matrix = createMatrix(data);
return (
<Wrapper>
{matrix.map(({ key, rowContent }) => {
return (
<div className="row" key={key}>
{rowContent.map(item => {
const { id, url } = item;
const checked = selectedItems.includes(id);
return (
<div className="col-xs-12 col-md-6 col-xl-3" key={id}>
<Card
checked={checked}
{...item}
onClick={onClickEditFile}
url={`${strapi.backendURL}${url}`}
>
<CardControlsWrapper leftAlign className="card-control-wrapper">
<Checkbox
name={`${id}`}
onChange={onChange}
value={checked}
onClick={e => {
e.stopPropagation();
}}
/>
</CardControlsWrapper>
</Card>
</div>
);
})}
</div>
);
})}
</Wrapper>
);
2020-02-13 09:01:32 +01:00
};
List.defaultProps = {
data: [],
onChange: () => {},
onClickEditFile: () => {},
selectedItems: [],
2020-02-13 09:01:32 +01:00
};
List.propTypes = {
data: PropTypes.array,
onChange: PropTypes.func,
onClickEditFile: PropTypes.func,
selectedItems: PropTypes.array,
2020-02-13 09:01:32 +01:00
};
export default List;