aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/collections/CollectionViewBase.tsx
diff options
context:
space:
mode:
authorTyler Schicke <tyler_schicke@brown.edu>2019-03-23 00:28:53 -0400
committerTyler Schicke <tyler_schicke@brown.edu>2019-03-23 00:28:53 -0400
commitaec363d4b5fcb3df1a42796014c67dfc52149161 (patch)
tree82f0f898ec8cb5245ab42ccba1853a6872e732e3 /src/client/views/collections/CollectionViewBase.tsx
parent356991c6100a44ef45b4574b43c815383d9be751 (diff)
parent1238c172a2ac9fb7dfdee2588f141f2ae0c22b8e (diff)
Merge branch 'master' of github-tsch-brown:browngraphicslab/Dash-Web into promises_and_user_document
Diffstat (limited to 'src/client/views/collections/CollectionViewBase.tsx')
-rw-r--r--src/client/views/collections/CollectionViewBase.tsx12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/client/views/collections/CollectionViewBase.tsx b/src/client/views/collections/CollectionViewBase.tsx
index 7d903899d..adaf810ea 100644
--- a/src/client/views/collections/CollectionViewBase.tsx
+++ b/src/client/views/collections/CollectionViewBase.tsx
@@ -14,7 +14,6 @@ import { RouteStore } from "../../../server/RouteStore";
import { TupleField } from "../../../fields/TupleField";
import { CurrentUserUtils } from "../../../server/authentication/models/current_user_utils";
import { NumberField } from "../../../fields/NumberField";
-import { DocumentManager } from "../../util/DocumentManager";
import request = require("request");
import { ServerUtils } from "../../../server/ServerUtil";
import { Server } from "../../Server";
@@ -34,7 +33,7 @@ export interface CollectionViewProps {
export interface SubCollectionViewProps extends CollectionViewProps {
active: () => boolean;
- addDocument: (doc: Document, allowDuplicates: boolean) => void;
+ addDocument: (doc: Document, allowDuplicates: boolean) => boolean;
removeDocument: (doc: Document) => boolean;
CollectionView: CollectionView;
}
@@ -87,17 +86,20 @@ export class CollectionViewBase extends React.Component<SubCollectionViewProps>
@undoBatch
@action
- protected drop(e: Event, de: DragManager.DropEvent) {
+ protected drop(e: Event, de: DragManager.DropEvent): boolean {
if (de.data instanceof DragManager.DocumentDragData) {
if (de.data.aliasOnDrop) {
[KeyStore.Width, KeyStore.Height, KeyStore.CurPage].map(key =>
de.data.draggedDocument.GetTAsync(key, NumberField, (f: Opt<NumberField>) => f ? de.data.droppedDocument.SetNumber(key, f.Data) : null));
- } else if (de.data.removeDocument) {
+ }
+ let added = this.props.addDocument(de.data.droppedDocument, false);
+ if (added && de.data.removeDocument && !de.data.aliasOnDrop) {
de.data.removeDocument(this.props.CollectionView);
}
- this.props.addDocument(de.data.droppedDocument, false);
e.stopPropagation();
+ return added;
}
+ return false;
}
protected getDocumentFromType(type: string, path: string, options: DocumentOptions): Opt<Document> {