mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-07 01:41:39 +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 CommentDialog from './components/markdown-view/comment-dialog';
|
||||||
import MarkdownViewerSlate from '@seafile/seafile-editor/dist/viewer/markdown-viewer-slate';
|
import MarkdownViewerSlate from '@seafile/seafile-editor/dist/viewer/markdown-viewer-slate';
|
||||||
import { serialize, deserialize } from '@seafile/seafile-editor/dist/utils/slate2markdown';
|
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 DiffViewer from '@seafile/seafile-editor/dist/viewer/diff-viewer';
|
||||||
import MarkdownViewerToolbar from './components/toolbar/markdown-viewer-toolbar';
|
import MarkdownViewerToolbar from './components/toolbar/markdown-viewer-toolbar';
|
||||||
import HistoryList from './components/markdown-view/history-list';
|
import HistoryList from './components/markdown-view/history-list';
|
||||||
@@ -454,6 +454,12 @@ class MarkdownEditor extends React.Component {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
closeDraftDialog = () => {
|
||||||
|
this.setState({
|
||||||
|
localDraftDialog: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
clearTimer = () => {
|
clearTimer = () => {
|
||||||
clearTimeout(this.timer);
|
clearTimeout(this.timer);
|
||||||
this.timer = null;
|
this.timer = null;
|
||||||
@@ -1054,11 +1060,15 @@ class MarkdownEditor extends React.Component {
|
|||||||
return (
|
return (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
{this.state.localDraftDialog?
|
{this.state.localDraftDialog?
|
||||||
<LocalDraftDialog
|
<ModalPortal>
|
||||||
localDraftDialog={this.state.localDraftDialog}
|
<LocalDraftDialog
|
||||||
deleteDraft={this.deleteDraft}
|
localDraftDialog={this.state.localDraftDialog}
|
||||||
useDraft={this.useDraft}/>:
|
deleteDraft={this.deleteDraft}
|
||||||
null}
|
closeDraftDialog={this.closeDraftDialog}
|
||||||
|
useDraft={this.useDraft}
|
||||||
|
/>
|
||||||
|
</ModalPortal>
|
||||||
|
: null}
|
||||||
{component}
|
{component}
|
||||||
{this.state.showMarkdownEditorDialog && (
|
{this.state.showMarkdownEditorDialog && (
|
||||||
<React.Fragment>
|
<React.Fragment>
|
||||||
|
Reference in New Issue
Block a user