diff options
| author | bobzel <zzzman@gmail.com> | 2021-09-13 23:01:27 -0400 |
|---|---|---|
| committer | bobzel <zzzman@gmail.com> | 2021-09-13 23:01:27 -0400 |
| commit | 4bdd8c4304d0512b69cada37bbed76f3a093e889 (patch) | |
| tree | cad4333b9d655c55850668c406710056ccdce182 /src/client/views/collections | |
| parent | af246480e97554233293ab1dfb08b5af5e1f9d7c (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.tsx | 23 |
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>); } } |
