aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/collections
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/views/collections')
-rw-r--r--src/client/views/collections/CollectionFreeFormView.tsx19
-rw-r--r--src/client/views/collections/CollectionViewBase.tsx34
2 files changed, 20 insertions, 33 deletions
diff --git a/src/client/views/collections/CollectionFreeFormView.tsx b/src/client/views/collections/CollectionFreeFormView.tsx
index cf9bf9b92..808a22a5d 100644
--- a/src/client/views/collections/CollectionFreeFormView.tsx
+++ b/src/client/views/collections/CollectionFreeFormView.tsx
@@ -79,20 +79,11 @@ export class CollectionFreeFormView extends CollectionViewBase {
let screenX = de.x - (de.data["xOffset"] as number || 0);
let screenY = de.y - (de.data["yOffset"] as number || 0);
const [x, y] = this.getTransform().transformPoint(screenX, screenY);
- if (!de.data["alias"]) {
- const docView: DocumentView = de.data["documentView"];
- let doc: Document = docView ? docView.props.Document : de.data["document"];
- if (doc) {
- doc.SetNumber(KeyStore.X, x);
- doc.SetNumber(KeyStore.Y, y);
- this.bringToFront(doc);
- }
- }
- else {
- let newDoc: Document = de.data["newDoc"]
- newDoc.SetNumber(KeyStore.X, x)
- newDoc.SetNumber(KeyStore.Y, y)
- this.bringToFront(newDoc)
+ let doc: Document = de.data["document"];
+ if (doc) {
+ doc.SetNumber(KeyStore.X, x);
+ doc.SetNumber(KeyStore.Y, y);
+ this.bringToFront(doc);
}
}
diff --git a/src/client/views/collections/CollectionViewBase.tsx b/src/client/views/collections/CollectionViewBase.tsx
index 6725fc2d1..304c44788 100644
--- a/src/client/views/collections/CollectionViewBase.tsx
+++ b/src/client/views/collections/CollectionViewBase.tsx
@@ -46,34 +46,30 @@ export class CollectionViewBase extends React.Component<SubCollectionViewProps>
@undoBatch
@action
protected drop(e: Event, de: DragManager.DropEvent) {
- const docView: DocumentView = de.data["documentView"]
- const doc: Document = de.data["document"]
- if (de.data["alias"]) {
- let newDoc = docView ? docView.props.Document.CreateAlias() : doc.CreateAlias()
- de.data["newDoc"] = newDoc
- let oldDoc = docView ? docView.props.Document : doc
+ let dropDoc: Document = de.data["document"];
+ if (de.data["alias"] && dropDoc) {
+ let oldDoc = dropDoc;
+ de.data["document"] = dropDoc = oldDoc.CreateAlias();
oldDoc.GetTAsync(KeyStore.Width, NumberField, (f: Opt<NumberField>) => {
if (f) {
- newDoc.SetNumber(KeyStore.Width, f.Data)
+ dropDoc.SetNumber(KeyStore.Width, f.Data)
}
})
oldDoc.GetTAsync(KeyStore.Height, NumberField, (f: Opt<NumberField>) => {
if (f) {
- newDoc.SetNumber(KeyStore.Height, f.Data)
+ dropDoc.SetNumber(KeyStore.Height, f.Data)
}
})
- }
-
- if (docView && docView.props.ContainingCollectionView && docView.props.ContainingCollectionView !== this.props.CollectionView) {
- if (docView.props.RemoveDocument && !de.data["alias"]) {
- docView.props.RemoveDocument(docView.props.Document)
+ } else {
+ const docView: DocumentView = de.data["documentView"];
+ if (docView && docView.props.RemoveDocument && docView.props.ContainingCollectionView !== this.props.CollectionView) {
+ docView.props.RemoveDocument(dropDoc);
+ } else if (dropDoc) {
+ this.props.removeDocument(dropDoc);
}
- this.props.addDocument(de.data["alias"] ? de.data["newDoc"] : docView.props.Document)
- } else if (doc) {
- if (!de.data["alias"]) {
- this.props.removeDocument(doc)
- }
- this.props.addDocument(de.data["alias"] ? de.data["newDoc"] : doc)
+ }
+ if (dropDoc) {
+ this.props.addDocument(dropDoc);
}
e.stopPropagation();
}