@orfeas126/box-ui-elements
Version:
Box UI Elements
65 lines (64 loc) • 1.86 kB
JavaScript
/**
*
* @author Box
*/
import * as React from 'react';
import { injectIntl } from 'react-intl';
import FileIcon from '../../../icons/file-icon/FileIcon';
import FolderIcon from '../../../icons/folder-icon/FolderIcon';
import BookmarkIcon from '../../../icons/bookmark-icon/BookmarkIcon';
import { TYPE_FOLDER, TYPE_FILE, TYPE_WEBLINK } from '../../../constants';
import messages from '../messages';
import './IconCell.scss';
const IconCell = ({
intl,
rowData,
dimension
}) => {
const {
type,
extension,
has_collaborations,
is_externally_owned
} = rowData;
let title;
switch (type) {
case TYPE_FILE:
title = intl.formatMessage(messages.file);
return /*#__PURE__*/React.createElement(FileIcon, {
dimension: dimension,
extension: extension,
title: title
});
case TYPE_FOLDER:
if (has_collaborations) {
title = intl.formatMessage(messages.collaboratedFolder);
} else if (is_externally_owned) {
title = intl.formatMessage(messages.externalFolder);
} else {
title = intl.formatMessage(messages.personalFolder);
}
return /*#__PURE__*/React.createElement(FolderIcon, {
dimension: dimension,
isCollab: has_collaborations,
isExternal: is_externally_owned,
title: title
});
case TYPE_WEBLINK:
title = intl.formatMessage(messages.bookmark);
return /*#__PURE__*/React.createElement(BookmarkIcon, {
height: dimension,
width: dimension,
title: title
});
default:
title = intl.formatMessage(messages.file);
return /*#__PURE__*/React.createElement(FileIcon, {
dimension: dimension,
title: title
});
}
};
export { IconCell as IconCellBase };
export default injectIntl(IconCell);
//# sourceMappingURL=IconCell.js.map