Added 'duplicate' menu option

For now duplicates next to original document in the same collection
This commit is contained in:
Tom Moor
2018-06-05 06:57:26 -07:00
parent 45a2c03030
commit 2d02093f48
3 changed files with 34 additions and 0 deletions

View File

@@ -203,6 +203,26 @@ class DocumentsStore extends BaseStore {
}
};
@action
duplicate = async (document: Document): * => {
const res = await client.post('/documents.create', {
publish: true,
parentDocument: document.parentDocumentId,
collection: document.collection.id,
title: `${document.title} (duplicate)`,
text: document.text,
});
if (res && res.data) {
const duped = res.data;
this.emit('documents.create', duped);
this.emit('documents.publish', {
id: duped.id,
collectionId: duped.collection.id,
});
}
};
@action
add = (document: Document): void => {
this.data.set(document.id, document);
@@ -235,6 +255,9 @@ class DocumentsStore extends BaseStore {
this.on('documents.create', (data: Document) => {
this.add(new Document(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', () => {