From 4dc8c03562a0473becb895824740da487e16e771 Mon Sep 17 00:00:00 2001
From: Bob Zeleznik <zzzman@gmail.com>
Date: Tue, 18 Jun 2019 00:17:58 -0400
Subject: added dropping of Dash urls from gmail

---
 src/client/views/collections/CollectionSubView.tsx | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

(limited to 'src/client/views/collections/CollectionSubView.tsx')

diff --git a/src/client/views/collections/CollectionSubView.tsx b/src/client/views/collections/CollectionSubView.tsx
index b5a3d087e..af0495e4f 100644
--- a/src/client/views/collections/CollectionSubView.tsx
+++ b/src/client/views/collections/CollectionSubView.tsx
@@ -182,8 +182,19 @@ export function CollectionSubView<T>(schemaCtor: (doc: Doc) => T) {
                 return;
             }
             if (html && html.indexOf("<img") !== 0 && !html.startsWith("<a")) {
-                let htmlDoc = Docs.HtmlDocument(html, { ...options, width: 300, height: 300, documentText: text });
-                this.props.addDocument(htmlDoc, false);
+                let path = window.location.origin + "/doc/";
+                if (text.startsWith(path)) {
+                    let docid = text.replace(DocServer.prepend("/doc/"), "").split("?")[0];
+                    DocServer.GetRefField(docid).then(f => {
+                        if (f instanceof Doc) {
+                            if (options.x || options.y) { f.x = options.x; f.y = options.y; } // should be in CollectionFreeFormView
+                            (f instanceof Doc) && this.props.addDocument(f, false);
+                        }
+                    });
+                } else {
+                    let htmlDoc = Docs.HtmlDocument(html, { ...options, width: 300, height: 300, documentText: text });
+                    this.props.addDocument(htmlDoc, false);
+                }
                 return;
             }
             if (text && text.indexOf("www.youtube.com/watch") !== -1) {
-- 
cgit v1.2.3-70-g09d2

