aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/collections/collectionFreeForm
diff options
context:
space:
mode:
authorFawn <fangrui_tong@brown.edu>2019-06-25 20:18:14 -0400
committerFawn <fangrui_tong@brown.edu>2019-06-25 20:18:14 -0400
commit2d300b0cd3d02c900865c61eacd539efed5289e6 (patch)
tree8a71792efda43c0ee4c37f716bae7f2bb63a2c95 /src/client/views/collections/collectionFreeForm
parent2a698e88da5ef0a9fee1ff4ee69746f1242798c9 (diff)
fixed link metadata rendering bug
Diffstat (limited to 'src/client/views/collections/collectionFreeForm')
-rw-r--r--src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.scss31
-rw-r--r--src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.tsx1
-rw-r--r--src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkWithProxyView.tsx131
3 files changed, 0 insertions, 163 deletions
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.scss b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.scss
index 239c2ce56..fc5212edd 100644
--- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.scss
+++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.scss
@@ -17,34 +17,3 @@
transform: translate(10000px,10000px);
pointer-events: all;
}
-
-.linkview-ele {
- transform: translate(10000px,10000px);
- pointer-events: all;
-
- &.linkview-line {
- stroke: black;
- stroke-width: 2px;
- opacity: 0.5;
- }
-}
-
-.linkview-button {
- width: 200px;
- height: 100px;
- border-radius: 5px;
- padding: 10px;
- position: relative;
- background-color: black;
- cursor: pointer;
-
- p {
- width: calc(100% - 20px);
- color: white;
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- }
-
-}
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.tsx
index 5dc3b5c16..b546d1b78 100644
--- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.tsx
+++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkView.tsx
@@ -9,7 +9,6 @@ import v5 = require("uuid/v5");
export interface CollectionFreeFormLinkViewProps {
A: Doc;
B: Doc;
- // LinkDoc: Doc;
LinkDocs: Doc[];
addDocument: (document: Doc, allowDuplicates?: boolean) => boolean;
removeDocument: (document: Doc) => boolean;
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkWithProxyView.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkWithProxyView.tsx
deleted file mode 100644
index a4d122af2..000000000
--- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormLinkWithProxyView.tsx
+++ /dev/null
@@ -1,131 +0,0 @@
-import { observer } from "mobx-react";
-import { Doc, HeightSym, WidthSym } from "../../../../new_fields/Doc";
-import { BoolCast, NumCast, StrCast } from "../../../../new_fields/Types";
-import { InkingControl } from "../../InkingControl";
-import "./CollectionFreeFormLinkView.scss";
-import React = require("react");
-import v5 = require("uuid/v5");
-import { DocumentView } from "../../nodes/DocumentView";
-import { Docs } from "../../../documents/Documents";
-import { observable, action } from "mobx";
-import { CollectionDockingView } from "../CollectionDockingView";
-import { dropActionType, DragManager } from "../../../util/DragManager";
-import { emptyFunction } from "../../../../Utils";
-import { DocumentManager } from "../../../util/DocumentManager";
-
-export interface CollectionFreeFormLinkViewProps {
- sourceView: DocumentView;
- targetView: DocumentView;
- proxyDoc: Doc;
- // addDocTab: (document: Doc, where: string) => void;
-}
-
-@observer
-export class CollectionFreeFormLinkWithProxyView extends React.Component<CollectionFreeFormLinkViewProps> {
-
- // @observable private _proxyX: number = NumCast(this.props.proxyDoc.x);
- // @observable private _proxyY: number = NumCast(this.props.proxyDoc.y);
- private _ref = React.createRef<HTMLDivElement>();
- private _downX: number = 0;
- private _downY: number = 0;
- @observable _x: number = 0;
- @observable _y: number = 0;
- // @observable private _proxyDoc: Doc = Docs.TextDocument(); // used for positioning
-
- @action
- componentDidMount() {
- let a2 = this.props.proxyDoc;
- this._x = NumCast(a2.x) + (BoolCast(a2.isMinimized, false) ? 5 : NumCast(a2.width) / NumCast(a2.zoomBasis, 1) / 2);
- this._y = NumCast(a2.y) + (BoolCast(a2.isMinimized, false) ? 5 : NumCast(a2.height) / NumCast(a2.zoomBasis, 1) / 2);
- }
-
-
- followButton = (e: React.PointerEvent): void => {
- e.stopPropagation();
- let open = this.props.targetView.props.ContainingCollectionView ? this.props.targetView.props.ContainingCollectionView.props.Document : this.props.targetView.props.Document;
- CollectionDockingView.Instance.AddRightSplit(open);
- DocumentManager.Instance.jumpToDocument(this.props.targetView.props.Document, e.altKey);
- }
-
- @action
- setPosition(x: number, y: number) {
- this._x = x;
- this._y = y;
- }
-
- startDragging(x: number, y: number) {
- if (this._ref.current) {
- let dragData = new DragManager.DocumentDragData([this.props.proxyDoc]);
-
- DragManager.StartLinkProxyDrag(this._ref.current, dragData, x, y, {
- handlers: {
- dragComplete: action(() => {
- let a2 = this.props.proxyDoc;
- let offset = NumCast(a2.width) / NumCast(a2.zoomBasis, 1) / 2;
- let x = NumCast(a2.x);// + NumCast(a2.width) / NumCast(a2.zoomBasis, 1) / 2;
- let y = NumCast(a2.y);// + NumCast(a2.height) / NumCast(a2.zoomBasis, 1) / 2;
- this.setPosition(x, y);
-
- // this is a hack :'( theres prob a better way to make the input doc not render
- let views = DocumentManager.Instance.getDocumentViews(this.props.proxyDoc);
- views.forEach(dv => {
- dv.props.removeDocument && dv.props.removeDocument(dv.props.Document);
- });
- }),
- },
- hideSource: true //?
- });
- }
- }
-
- onPointerDown = (e: React.PointerEvent): void => {
- this._downX = e.clientX;
- this._downY = e.clientY;
-
- e.stopPropagation();
- document.removeEventListener("pointermove", this.onPointerMove);
- document.addEventListener("pointermove", this.onPointerMove);
- document.removeEventListener("pointerup", this.onPointerUp);
- document.addEventListener("pointerup", this.onPointerUp);
- }
-
- onPointerMove = (e: PointerEvent): void => {
- if (Math.abs(this._downX - e.clientX) > 3 || Math.abs(this._downY - e.clientY) > 3) {
- document.removeEventListener("pointermove", this.onPointerMove);
- document.removeEventListener("pointerup", this.onPointerUp);
- this.startDragging(this._downX, this._downY);
- }
- e.stopPropagation();
- e.preventDefault();
- }
- onPointerUp = (e: PointerEvent): void => {
- document.removeEventListener("pointermove", this.onPointerMove);
- document.removeEventListener("pointerup", this.onPointerUp);
- }
-
- render() {
- let a1 = this.props.sourceView;
- let x1 = NumCast(a1.Document.x) + (BoolCast(a1.Document.isMinimized, false) ? 5 : NumCast(a1.Document.width) / NumCast(a1.Document.zoomBasis, 1) / 2);
- let y1 = NumCast(a1.Document.y) + (BoolCast(a1.Document.isMinimized, false) ? 5 : NumCast(a1.Document.height) / NumCast(a1.Document.zoomBasis, 1) / 2);
-
- let context = this.props.targetView.props.ContainingCollectionView ?
- (" in the context of " + StrCast(this.props.targetView.props.ContainingCollectionView.props.Document.title)) : "";
- let text = "link to " + StrCast(this.props.targetView.props.Document.title) + context;
-
- return (
- <>
- <line className="linkview-line linkview-ele"
- // style={{ strokeWidth: `${2 * 1 / 2}` }}
- x1={`${x1}`} y1={`${y1}`}
- x2={`${this._x}`} y2={`${this._y}`} />
- <foreignObject className="linkview-button-wrapper linkview-ele" width={200} height={100} x={this._x - 100} y={this._y - 50}>
- <div className="linkview-button" onPointerDown={this.onPointerDown} onPointerUp={this.followButton} ref={this._ref}>
- <p>{text}</p>
- </div>
- </foreignObject>
- </>
- );
- }
-}
-
-//onPointerDown={this.followButton} \ No newline at end of file