aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFawn <fangrui_tong@brown.edu>2019-06-20 17:12:48 -0400
committerFawn <fangrui_tong@brown.edu>2019-06-20 17:12:48 -0400
commite6ebed17e6ddb2ccee81d65fcb451a9b54302762 (patch)
treed614e48439da83bcdeb596099d7ecdab1bb8ad88
parent4360287e6cafcb59af1ae62fc31ddc161bcf2e51 (diff)
links can be made from freeform view to treeview
-rw-r--r--src/client/views/collections/CollectionTreeView.tsx8
-rw-r--r--src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.scss6
-rw-r--r--src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.tsx2
-rw-r--r--src/client/views/collections/collectionFreeForm/CollectionFreeFormLinksView.tsx3
-rw-r--r--src/client/views/nodes/LinkMenuItem.scss8
5 files changed, 19 insertions, 8 deletions
diff --git a/src/client/views/collections/CollectionTreeView.tsx b/src/client/views/collections/CollectionTreeView.tsx
index c51c16883..ba2dac1c3 100644
--- a/src/client/views/collections/CollectionTreeView.tsx
+++ b/src/client/views/collections/CollectionTreeView.tsx
@@ -9,7 +9,7 @@ import { List } from '../../../new_fields/List';
import { Document, listSpec } from '../../../new_fields/Schema';
import { BoolCast, Cast, NumCast, StrCast } from '../../../new_fields/Types';
import { emptyFunction, Utils } from '../../../Utils';
-import { Docs } from '../../documents/Documents';
+import { Docs, DocUtils } from '../../documents/Documents';
import { DocumentManager } from '../../util/DocumentManager';
import { DragManager, dropActionType, SetupDrag } from "../../util/DragManager";
import { SelectionManager } from '../../util/SelectionManager';
@@ -232,6 +232,12 @@ class TreeView extends React.Component<TreeViewProps> {
let bounds = this.props.ScreenToLocalTransform().transformPoint(rect.left, rect.top + rect.height / 2);
let before = x[1] < bounds[1];
let inside = x[0] > bounds[0] + 75 || (!before && !this._collapsed);
+ if (de.data instanceof DragManager.LinkDragData) {
+ let sourceDoc = de.data.linkSourceDocument;
+ let destDoc = this.props.document;
+ DocUtils.MakeLink(sourceDoc, destDoc);
+ e.stopPropagation();
+ }
if (de.data instanceof DragManager.DocumentDragData) {
let addDoc = (doc: Doc) => this.props.addDocument(doc, this.props.document, before);
if (inside) {
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.scss b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.scss
index 0cd4338e5..d8d518147 100644
--- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.scss
+++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.scss
@@ -33,16 +33,14 @@
width: 200px;
height: 100px;
border-radius: 5px;
- border: 2px solid black;
padding: 10px;
position: relative;
- background-color: white;
- text-align: center;
+ background-color: black;
cursor: pointer;
p {
width: calc(100% - 20px);
- color: black;
+ color: white;
position: absolute;
top: 50%;
left: 50%;
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.tsx
index 13b5dc575..ca55b0ff0 100644
--- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.tsx
+++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.tsx
@@ -58,7 +58,7 @@ export class CollectionFreeFormLinkView extends React.Component<CollectionFreeFo
return (
<>
<line className="linkview-line linkview-ele"
- style={{ strokeWidth: `${2 * 1 / 2}` }}
+ // style={{ strokeWidth: `${2 * 1 / 2}` }}
x1={`${x1}`} y1={`${y1}`}
x2={`${x2}`} y2={`${y2}`} />
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinksView.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinksView.tsx
index 3c2ccecfc..6868e8187 100644
--- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinksView.tsx
+++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinksView.tsx
@@ -165,6 +165,9 @@ export class CollectionFreeFormLinksView extends React.Component<CollectionViewP
findUniquePairs = (): JSX.Element[] => {
let connections = DocumentManager.Instance.LinkedDocumentViews;
+ // console.log("CONNECTIONS");
+ // connections.forEach(c => console.log(StrCast(c.anchor1View.Document.title), StrCast(c.anchor2View.Document.title)));
+
let unique: Set<{ sourceView: DocumentView, targetView: DocumentView, linkDoc: Doc }> = new Set();
connections.forEach(c => {
diff --git a/src/client/views/nodes/LinkMenuItem.scss b/src/client/views/nodes/LinkMenuItem.scss
index 77462f611..16a1df331 100644
--- a/src/client/views/nodes/LinkMenuItem.scss
+++ b/src/client/views/nodes/LinkMenuItem.scss
@@ -6,6 +6,10 @@
display: flex;
font-size: 12px;
+ .link-name {
+ position: relative;
+ }
+
.linkMenu-item-content {
width: 100%;
}
@@ -27,10 +31,10 @@
display: flex;
}
.linkMenu-item-content {
- &.expand-two {
+ &.expand-two p {
width: calc(100% - 46px);
}
- &.expand-three {
+ &.expand-three p {
width: calc(100% - 78px);
}
}