aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/collections
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2021-09-13 23:01:27 -0400
committerbobzel <zzzman@gmail.com>2021-09-13 23:01:27 -0400
commit4bdd8c4304d0512b69cada37bbed76f3a093e889 (patch)
treecad4333b9d655c55850668c406710056ccdce182 /src/client/views/collections
parentaf246480e97554233293ab1dfb08b5af5e1f9d7c (diff)
added drop code for dropping onto an audio stackedTimeline
Diffstat (limited to 'src/client/views/collections')
-rw-r--r--src/client/views/collections/CollectionStackedTimeline.tsx23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/client/views/collections/CollectionStackedTimeline.tsx b/src/client/views/collections/CollectionStackedTimeline.tsx
index 0fc66445a..65022fdfd 100644
--- a/src/client/views/collections/CollectionStackedTimeline.tsx
+++ b/src/client/views/collections/CollectionStackedTimeline.tsx
@@ -44,6 +44,8 @@ import { LabelBox } from "../nodes/LabelBox";
import "./CollectionStackedTimeline.scss";
import { Colors } from "../global/globalEnums";
import { DocumentManager } from "../../util/DocumentManager";
+import { SnappingManager } from "../../util/SnappingManager";
+import { DragManager } from "../../util/DragManager";
type PanZoomDocument = makeInterface<[]>;
const PanZoomDocument = makeInterface();
@@ -345,6 +347,22 @@ export class CollectionStackedTimeline extends CollectionSubView<
);
}
+ @action
+ internalDocDrop(e: Event, de: DragManager.DropEvent, docDragData: DragManager.DocumentDragData, xp: number) {
+ if (!de.embedKey && this.props.layerProvider?.(this.props.Document) !== false && this.props.Document._isGroup) return false;
+ if (!super.onInternalDrop(e, de)) return false;
+
+
+ // determine x coordinate of drop and assign it to the documents being dragged --- see internalDocDrop of collectionFreeFormView.tsx for how it's done when dropping onto a 2D freeform view
+
+ return true;
+ }
+
+ onInternalDrop = (e: Event, de: DragManager.DropEvent) => {
+ if (de.complete.docDragData?.droppedDocuments.length) return this.internalDocDrop(e, de, de.complete.docDragData, 0);
+ return false;
+ }
+
@undoBatch
@action
static createAnchor(
@@ -361,6 +379,7 @@ export class CollectionStackedTimeline extends CollectionSubView<
title: ComputedField.MakeFunction(
`"#" + formatToTime(self["${startTag}"]) + "-" + formatToTime(self["${endTag}"])`
) as any,
+ _stayInCollection: true,
useLinkSmallAnchor: true,
hideLinkButton: true,
annotationOn: rootDoc,
@@ -537,7 +556,7 @@ export class CollectionStackedTimeline extends CollectionSubView<
const maxLevel = overlaps.reduce((m, o) => Math.max(m, o.level), 0) + 2;
const isActive =
this.props.isContentActive() || this.props.isSelected(false);
- return (
+ return (<div ref={this.createDashEventsTarget} style={{ pointerEvents: SnappingManager.GetIsDragging() ? "all" : undefined }}>
<div
className="collectionStackedTimeline"
ref={(timeline: HTMLDivElement | null) => (this._timeline = timeline)}
@@ -642,7 +661,7 @@ export class CollectionStackedTimeline extends CollectionSubView<
</>
)}
</div>
- );
+ </div>);
}
}