1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-14 06:11:16 +00:00

Optimize internal link dialog cod (#5466)

* optimize code

* optimize code
This commit is contained in:
杨顺强
2023-05-12 11:24:34 +08:00
committed by GitHub
parent d090dd0ec0
commit 87dc0289d1
11 changed files with 103 additions and 64 deletions

View File

@@ -0,0 +1,6 @@
import InternalLinkOperation from './internal-link-operation';
import './style.css';
export {
InternalLinkOperation,
};

View File

@@ -0,0 +1,48 @@
import React, { Fragment } from 'react';
import PropTypes from 'prop-types';
import { gettext } from '../../../utils/constants';
import InternalLinkDialog from '../../dialog/internal-link-dialog';
const propTypes = {
repoID: PropTypes.string.isRequired,
path: PropTypes.string.isRequired,
};
class InternalLinkOperation extends React.Component {
constructor(props) {
super(props);
this.state = {
isShowInternalLinkDialog: false
};
}
onInternalLinkDialogToggle = () => {
this.setState({isShowInternalLinkDialog: !this.state.isShowInternalLinkDialog});
}
render() {
const { repoID, path } = this.props;
const { isShowInternalLinkDialog } = this.state;
const title = gettext('Internal Link');
return (
<Fragment>
<span className='dialog-operation'>
<i className="file-internal-link fa fa-link" title={title} aria-label={title} onClick={this.onInternalLinkDialogToggle}/>
</span>
{isShowInternalLinkDialog && (
<InternalLinkDialog
repoID={repoID}
path={path}
onInternalLinkDialogToggle={this.onInternalLinkDialogToggle}
/>
)}
</Fragment>
);
}
}
InternalLinkOperation.propTypes = propTypes;
export default InternalLinkOperation;

View File

@@ -0,0 +1,17 @@
.dialog-operation {
display: flex;
align-items: center;
}
.dialog-operation .file-internal-link {
font-size: 12px;
font-weight: 700;
cursor: pointer;
margin-left: 0.5rem;
color: #999;
margin-top: 2px;
}
.dialog-operation .file-internal-link:hover {
color: #333;
}