aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/nodes/LinkBox.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/views/nodes/LinkBox.tsx')
-rw-r--r--src/client/views/nodes/LinkBox.tsx52
1 files changed, 9 insertions, 43 deletions
diff --git a/src/client/views/nodes/LinkBox.tsx b/src/client/views/nodes/LinkBox.tsx
index 5597bb1aa..1a7cce4a3 100644
--- a/src/client/views/nodes/LinkBox.tsx
+++ b/src/client/views/nodes/LinkBox.tsx
@@ -4,13 +4,10 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { observer } from "mobx-react";
import { DocumentManager } from "../../util/DocumentManager";
import { undoBatch } from "../../util/UndoManager";
-import { CollectionDockingView } from "../collections/CollectionDockingView";
import './LinkBox.scss';
import React = require("react");
import { Doc } from '../../../new_fields/Doc';
-import { Cast, NumCast } from '../../../new_fields/Types';
-import { listSpec } from '../../../new_fields/Schema';
-import { action } from 'mobx';
+import { StrCast } from '../../../new_fields/Types';
library.add(faEye);
@@ -20,9 +17,8 @@ library.add(faArrowRight);
interface Props {
linkDoc: Doc;
- linkName: String;
- pairedDoc: Doc;
- type: String;
+ sourceDoc: Doc;
+ destinationDoc: Doc;
showEditor: () => void;
}
@@ -30,58 +26,28 @@ interface Props {
export class LinkBox extends React.Component<Props> {
@undoBatch
- followLink = async (e: React.PointerEvent): Promise<void> => {
+ onFollowLink = async (e: React.PointerEvent): Promise<void> => {
e.stopPropagation();
- DocumentManager.Instance.jumpToDocument(this.props.pairedDoc, e.altKey);
+ DocumentManager.Instance.jumpToDocument(this.props.destinationDoc, e.altKey);
}
- onEditButtonPressed = (e: React.PointerEvent): void => {
+ onEdit = (e: React.PointerEvent): void => {
e.stopPropagation();
-
this.props.showEditor();
}
- // @action
- // onDeleteButtonPressed = async (e: React.PointerEvent): Promise<void> => {
- // e.stopPropagation();
- // const [linkedFrom, linkedTo] = await Promise.all([Cast(this.props.linkDoc.linkedFrom, Doc), Cast(this.props.linkDoc.linkedTo, Doc)]);
- // if (linkedFrom) {
- // const linkedToDocs = Cast(linkedFrom.linkedToDocs, listSpec(Doc));
- // if (linkedToDocs) {
- // linkedToDocs.splice(linkedToDocs.indexOf(this.props.linkDoc), 1);
- // }
- // }
- // if (linkedTo) {
- // const linkedFromDocs = Cast(linkedTo.linkedFromDocs, listSpec(Doc));
- // if (linkedFromDocs) {
- // linkedFromDocs.splice(linkedFromDocs.indexOf(this.props.linkDoc), 1);
- // }
- // }
- // }
-
render() {
-
return (
- //<LinkEditor linkBox={this} linkDoc={this.props.linkDoc} />
<div className="link-menu-item">
<div className="link-menu-item-content">
<div className="link-name">
- <p>{this.props.linkName}</p>
- </div>
- <div className="doc-name">
- <p>{this.props.type}{this.props.pairedDoc.Title}</p>
+ <p>{StrCast(this.props.destinationDoc.title)}</p>
</div>
</div>
<div className="link-menu-item-buttons">
- {/* <div title="Follow Link" className="button" onPointerDown={this.onViewButtonPressed}>
- <FontAwesomeIcon className="fa-icon-view" icon="eye" size="sm" /></div> */}
- <div title="Follow Link" className="button" onPointerDown={this.followLink}>
- <FontAwesomeIcon className="fa-icon" icon="arrow-right" size="sm" /></div>
- <div title="Edit Link" className="button" onPointerDown={this.onEditButtonPressed}>
- <FontAwesomeIcon className="fa-icon" icon="edit" size="sm" /></div>
- {/* <div title="Delete Link" className="button" onPointerDown={this.onDeleteButtonPressed}>
- <FontAwesomeIcon className="fa-icon" icon="times" size="sm" /></div> */}
+ <div title="Edit link" className="button" onPointerDown={this.onEdit}><FontAwesomeIcon className="fa-icon" icon="edit" size="sm" /></div>
+ <div title="Follow link" className="button" onPointerDown={this.onFollowLink}><FontAwesomeIcon className="fa-icon" icon="arrow-right" size="sm" /></div>
</div>
</div>
);