mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-07 09:51:26 +00:00
remove-draft-dialog (#3122)
This commit is contained in:
32
frontend/src/components/dialog/local-draft-dialog.js
Normal file
32
frontend/src/components/dialog/local-draft-dialog.js
Normal file
@@ -0,0 +1,32 @@
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { gettext } from '../../utils/constants';
|
||||
import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';
|
||||
|
||||
const propTypes = {
|
||||
deleteDraft: PropTypes.func.isRequired,
|
||||
useDraft: PropTypes.func.isRequired,
|
||||
localDraftDialog: PropTypes.bool.isRequired,
|
||||
closeDraftDialog: PropTypes.func.isRequired,
|
||||
};
|
||||
|
||||
class LocalDraftDialog extends React.PureComponent {
|
||||
render() {
|
||||
return (
|
||||
<Modal isOpen={true} toggle={this.props.closeDraftDialog}>
|
||||
<ModalHeader toggle={this.props.closeDraftDialog}>{gettext('Local draft')}</ModalHeader>
|
||||
<ModalBody>
|
||||
<p>{gettext('You have an unsaved draft. Do you like to use it?')}</p>
|
||||
</ModalBody>
|
||||
<ModalFooter>
|
||||
<Button color="primary" onClick={this.props.useDraft}>{gettext('Use draft')}</Button>
|
||||
<Button color="secondary" onClick={this.props.deleteDraft}>{gettext('Delete draft')}</Button>
|
||||
</ModalFooter>
|
||||
</Modal>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
LocalDraftDialog.propTypes = propTypes;
|
||||
|
||||
export default LocalDraftDialog;
|
@@ -15,7 +15,7 @@ import ShareDialog from './components/dialog/share-dialog';
|
||||
import CommentDialog from './components/markdown-view/comment-dialog';
|
||||
import MarkdownViewerSlate from '@seafile/seafile-editor/dist/viewer/markdown-viewer-slate';
|
||||
import { serialize, deserialize } from '@seafile/seafile-editor/dist/utils/slate2markdown';
|
||||
import LocalDraftDialog from '@seafile/seafile-editor/dist/components/local-draft-dialog';
|
||||
import LocalDraftDialog from './components/dialog/local-draft-dialog';
|
||||
import DiffViewer from '@seafile/seafile-editor/dist/viewer/diff-viewer';
|
||||
import MarkdownViewerToolbar from './components/toolbar/markdown-viewer-toolbar';
|
||||
import HistoryList from './components/markdown-view/history-list';
|
||||
@@ -454,6 +454,12 @@ class MarkdownEditor extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
closeDraftDialog = () => {
|
||||
this.setState({
|
||||
localDraftDialog: false
|
||||
});
|
||||
}
|
||||
|
||||
clearTimer = () => {
|
||||
clearTimeout(this.timer);
|
||||
this.timer = null;
|
||||
@@ -1054,11 +1060,15 @@ class MarkdownEditor extends React.Component {
|
||||
return (
|
||||
<React.Fragment>
|
||||
{this.state.localDraftDialog?
|
||||
<ModalPortal>
|
||||
<LocalDraftDialog
|
||||
localDraftDialog={this.state.localDraftDialog}
|
||||
deleteDraft={this.deleteDraft}
|
||||
useDraft={this.useDraft}/>:
|
||||
null}
|
||||
closeDraftDialog={this.closeDraftDialog}
|
||||
useDraft={this.useDraft}
|
||||
/>
|
||||
</ModalPortal>
|
||||
: null}
|
||||
{component}
|
||||
{this.state.showMarkdownEditorDialog && (
|
||||
<React.Fragment>
|
||||
|
Reference in New Issue
Block a user