import React from 'react'; import PropTypes from 'prop-types'; import { siteRoot, gettext } from '../../utils/constants'; const propTypes = { repoName: PropTypes.string.isRequired, currentPath: PropTypes.string.isRequired, onPathClick: PropTypes.func.isRequired, }; class DirPath extends React.Component { onPathClick = (e) => { let path = e.target.dataset.path; this.props.onPathClick(path); } turnPathToLink = (path) => { path = path[path.length - 1] === '/' ? path.slice(0, path.length - 1) : path; let pathList = path.split('/'); let nodePath = ''; let pathElem = pathList.map((item, index) => { if (item === '') { return; } if (index === (pathList.length - 1)) { return ( /{item} ); } else { nodePath += '/' + item; return ( / {item} ); } }); return pathElem; } render() { let { currentPath, repoName } = this.props; let pathElem = this.turnPathToLink(currentPath); return (
{gettext('Libraries')} / {currentPath === '/' ? {repoName}: {repoName} } {pathElem}
); } } DirPath.propTypes = propTypes; export default DirPath;