Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/wincloud_gateway/node_modules/strapi-plugin-upload/admin/src/components/List/ drwxr-xr-x | |
| Viewing file: Select action/file-type: import React from 'react';
import PropTypes from 'prop-types';
import { Checkbox } from '@buffetjs/core';
import { get, pick } from 'lodash';
import { prefixFileUrlWithBackendUrl } from 'strapi-helper-plugin';
import { getTrad, getType } from '../../utils';
import Card from '../Card';
import CardControlsWrapper from '../CardControlsWrapper';
import ListWrapper from '../ListWrapper';
import IntlText from '../IntlText';
import ListCell from './ListCell';
import ListRow from './ListRow';
const List = ({
allowedTypes,
data,
onChange,
onCardClick,
selectedItems,
smallCards,
canSelect,
renderCardControl,
showCheckbox,
}) => {
const selectedAssets = selectedItems.length;
const handleCheckboxClick = e => {
e.stopPropagation();
};
return (
<ListWrapper>
{!smallCards && selectedAssets > 0 && (
<IntlText
id={getTrad(`list.assets.selected.${selectedAssets > 1 ? 'plural' : 'singular'}`)}
values={{ number: selectedAssets }}
lineHeight="18px"
/>
)}
<ListRow>
{data.map(item => {
const { id } = item;
const thumbnail = get(item, ['formats', 'small'], item);
const isAllowed =
allowedTypes.length > 0 ? allowedTypes.includes(getType(item.mime)) : true;
const checked = selectedItems.findIndex(file => file.id === id) !== -1;
const fileUrl = prefixFileUrlWithBackendUrl(thumbnail.url);
const cardOptions = {
...pick(item, ['ext', 'name', 'mime', 'height', 'width', 'size', 'previewUrl', 'id']),
isDisabled: !isAllowed,
checked,
url: fileUrl,
onClick: onCardClick,
small: smallCards,
};
return (
<ListCell key={id}>
<Card options={cardOptions}>
{(checked || canSelect) && (
<>
{(checked || isAllowed) && showCheckbox && (
<CardControlsWrapper leftAlign className="card-control-wrapper">
<Checkbox
name={`${id}`}
onChange={onChange}
onClick={handleCheckboxClick}
value={checked}
/>
</CardControlsWrapper>
)}
{renderCardControl && (
<CardControlsWrapper className="card-control-wrapper card-control-wrapper-hidden">
{renderCardControl(id)}
</CardControlsWrapper>
)}
</>
)}
</Card>
</ListCell>
);
})}
</ListRow>
</ListWrapper>
);
};
List.defaultProps = {
allowedTypes: [],
canSelect: true,
data: [],
onChange: () => {},
onCardClick: () => {},
renderCardControl: null,
selectedItems: [],
smallCards: false,
showCheckbox: true,
};
List.propTypes = {
allowedTypes: PropTypes.array,
canSelect: PropTypes.bool,
data: PropTypes.array,
onChange: PropTypes.func,
onCardClick: PropTypes.func,
renderCardControl: PropTypes.func,
selectedItems: PropTypes.array,
smallCards: PropTypes.bool,
showCheckbox: PropTypes.bool,
};
export default List;
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0045 ]-- |