aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/collections/CollectionViewBase.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/views/collections/CollectionViewBase.tsx')
-rw-r--r--src/client/views/collections/CollectionViewBase.tsx20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/client/views/collections/CollectionViewBase.tsx b/src/client/views/collections/CollectionViewBase.tsx
index 948472275..e38258e0b 100644
--- a/src/client/views/collections/CollectionViewBase.tsx
+++ b/src/client/views/collections/CollectionViewBase.tsx
@@ -21,6 +21,8 @@ export interface CollectionViewProps {
select: (ctrlPressed: boolean) => void;
documentSize: () => { width: number, height: number };
bindings: any;
+ panelWidth: () => number;
+ panelHeight: () => number;
}
export interface SubCollectionViewProps extends CollectionViewProps {
active: () => boolean;
@@ -43,12 +45,16 @@ export class CollectionViewBase extends React.Component<SubCollectionViewProps>
@undoBatch
@action
protected drop(e: Event, de: DragManager.DropEvent) {
- const doc: DocumentView = de.data["document"];
- if (doc.props.ContainingCollectionView && doc.props.ContainingCollectionView !== this.props.CollectionView) {
- if (doc.props.RemoveDocument) {
- doc.props.RemoveDocument(doc.props.Document);
+ const docView: DocumentView = de.data["documentView"];
+ const doc: Document = de.data["document"];
+ if (docView && docView.props.ContainingCollectionView && docView.props.ContainingCollectionView !== this.props.CollectionView) {
+ if (docView.props.RemoveDocument) {
+ docView.props.RemoveDocument(docView.props.Document);
}
- this.props.addDocument(doc.props.Document);
+ this.props.addDocument(docView.props.Document);
+ } else if (doc) {
+ this.props.removeDocument(doc);
+ this.props.addDocument(doc);
}
e.stopPropagation();
}
@@ -61,7 +67,7 @@ export class CollectionViewBase extends React.Component<SubCollectionViewProps>
let html = e.dataTransfer.getData("text/html");
let text = e.dataTransfer.getData("text/plain");
- if (html) {
+ if (html && html.indexOf("<img") != 0) {
let htmlDoc = Documents.HtmlDocument(html, { ...options });
htmlDoc.SetText(KeyStore.DocumentText, text);
this.props.addDocument(htmlDoc);
@@ -73,7 +79,7 @@ export class CollectionViewBase extends React.Component<SubCollectionViewProps>
if (item.kind === "string" && item.type.indexOf("uri") != -1) {
e.dataTransfer.items[i].getAsString(function (s) {
action(() => {
- var img = Documents.ImageDocument(s, { ...options, nativeWidth: 300, nativeHeight: 300, width: 300, height: 300 })
+ var img = Documents.ImageDocument(s, { ...options, nativeWidth: 300, width: 300, })
let docs = that.props.Document.GetT(KeyStore.Data, ListField);
if (docs != FieldWaiting) {