import React from 'react'; import PropTypes from 'prop-types'; import { siteRoot } from '../../utils/constants'; import { Utils } from '../../utils/utils'; const propTypes = { path: PropTypes.string.isRequired, dirent: PropTypes.object.isRequired, onDirentClick: PropTypes.func.isRequired, }; class WikiDirListItem extends React.Component { constructor(props) { super(props); this.state = { highlight: false, }; } onMouseEnter = () => { this.setState({ highlight: true }); }; onMouseLeave = () => { this.setState({ highlight: false }); }; onContextMenu = (event) => { event.preventDefault(); event.stopPropagation(); }; onDirentClick = (e) => { e.preventDefault(); this.props.onDirentClick(this.props.dirent); }; render() { let { path, dirent } = this.props; let href = siteRoot + 'published' + Utils.joinPath(path, dirent.name); let iconUrl = Utils.getDirentIcon(dirent); const isDesktop = Utils.isDesktop(); return isDesktop ? ( {dirent.name} {dirent.size} {dirent.mtime_relative} ) : ( {dirent.name}
{dirent.size} {dirent.mtime_relative} ); } } WikiDirListItem.propTypes = propTypes; export default WikiDirListItem;