Closes #673 - Redirect to new document after duplicating
This commit is contained in:
@@ -37,7 +37,8 @@ class DocumentMenu extends React.Component<Props> {
|
||||
};
|
||||
|
||||
handleDuplicate = async (ev: SyntheticEvent<*>) => {
|
||||
this.props.document.duplicate();
|
||||
const duped = await this.props.document.duplicate();
|
||||
this.props.history.push(duped.url);
|
||||
};
|
||||
|
||||
handlePin = (ev: SyntheticEvent<*>) => {
|
||||
|
||||
@@ -4,7 +4,6 @@ import invariant from 'invariant';
|
||||
|
||||
import { client } from 'utils/ApiClient';
|
||||
import stores from 'stores';
|
||||
import UiStore from 'stores/UiStore';
|
||||
import parseTitle from '../../shared/utils/parseTitle';
|
||||
import unescape from '../../shared/utils/unescape';
|
||||
|
||||
@@ -17,7 +16,8 @@ type SaveOptions = { publish?: boolean, done?: boolean, autosave?: boolean };
|
||||
class Document extends BaseModel {
|
||||
isSaving: boolean = false;
|
||||
hasPendingChanges: boolean = false;
|
||||
ui: UiStore;
|
||||
ui: *;
|
||||
store: *;
|
||||
|
||||
collaborators: User[];
|
||||
collection: $Shape<Collection>;
|
||||
@@ -266,7 +266,7 @@ class Document extends BaseModel {
|
||||
};
|
||||
|
||||
duplicate = () => {
|
||||
this.emit('documents.duplicate', this);
|
||||
return this.store.duplicate(this);
|
||||
};
|
||||
|
||||
download = async () => {
|
||||
@@ -298,6 +298,7 @@ class Document extends BaseModel {
|
||||
|
||||
this.updateData(data);
|
||||
this.ui = stores.ui;
|
||||
this.store = stores.documents;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -222,6 +222,7 @@ class DocumentsStore extends BaseStore {
|
||||
id: duped.id,
|
||||
collectionId: duped.collection.id,
|
||||
});
|
||||
return duped;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -257,9 +258,6 @@ class DocumentsStore extends BaseStore {
|
||||
this.on('documents.create', (data: Document) => {
|
||||
this.add(data);
|
||||
});
|
||||
this.on('documents.duplicate', (data: Document) => {
|
||||
this.duplicate(data);
|
||||
});
|
||||
|
||||
// Re-fetch dashboard content so that we don't show deleted documents
|
||||
this.on('collections.delete', () => {
|
||||
|
||||
Reference in New Issue
Block a user