import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import { gettext, repoID, slug, siteRoot } from '../../utils/constants'; import CommonToolbar from '../../components/toolbar/common-toolbar'; import MarkdownViewer from '../../components/markdown-viewer'; import TreeDirView from '../../components/tree-dir-view/tree-dir-view'; let loginUser = window.app.pageOptions.username; const propTypes = { content: PropTypes.string, lastModified: PropTypes.string, latestContributor: PropTypes.string, permission: PropTypes.string, filePath: PropTypes.string.isRequired, isFileLoading: PropTypes.bool.isRequired, isViewFileState: PropTypes.bool.isRequired, changedNode: PropTypes.object, onMenuClick: PropTypes.func.isRequired, onSearchedClick: PropTypes.func.isRequired, onMainNavBarClick: PropTypes.func.isRequired, onMainNodeClick: PropTypes.func.isRequired, onLinkClick: PropTypes.func.isRequired, onDeleteNode: PropTypes.func.isRequired, onRenameNode: PropTypes.func.isRequired, }; class MainPanel extends Component { constructor(props) { super(props); this.state = { needOperationGroup: false }; } onMenuClick = () => { this.props.onMenuClick(); } onEditClick = (e) => { // const w=window.open('about:blank') e.preventDefault(); window.location.href= siteRoot + 'lib/' + repoID + '/file' + this.props.filePath + '?mode=edit'; } onMainNavBarClick = (e) => { this.props.onMainNavBarClick(e.target.dataset.path); } onContentRendered = (markdownViewer) => { // } render() { let filePathList = this.props.filePath.split('/'); let nodePath = ''; let pathElem = filePathList.map((item, index) => { if (item === '') { return; } if (index === (filePathList.length - 1)) { return ( /{item} ); } else { nodePath += '/' + item; return ( / {item} ); } }); return (
{loginUser &&
{ this.props.permission === 'rw' && }
}
{loginUser && {gettext('Wikis')} / } {slug} {pathElem}
{ this.props.isViewFileState && } { !this.props.isViewFileState && }
); } } MainPanel.propTypes = propTypes; export default MainPanel;