From 7dcd9dac57f848271ef6fa96f66064382331ee13 Mon Sep 17 00:00:00 2001 From: bob Date: Thu, 2 May 2019 14:17:15 -0400 Subject: added some hover highlighting. --- .../views/collections/CollectionTreeView.tsx | 28 ++++++++++++++++------ 1 file changed, 21 insertions(+), 7 deletions(-) (limited to 'src/client/views/collections/CollectionTreeView.tsx') diff --git a/src/client/views/collections/CollectionTreeView.tsx b/src/client/views/collections/CollectionTreeView.tsx index 037703c46..3c8cfcffd 100644 --- a/src/client/views/collections/CollectionTreeView.tsx +++ b/src/client/views/collections/CollectionTreeView.tsx @@ -46,13 +46,14 @@ class TreeView extends React.Component { delete = () => this.props.deleteDoc(this.props.document); get children() { - return Cast(this.props.document.data, listSpec(Doc), []).filter(doc => FieldValue(doc)); + return Cast(this.props.document.data, listSpec(Doc), []); // bcz: needed? .filter(doc => FieldValue(doc)); } @action remove = (document: Document) => { - if (this.children) { - this.children.splice(this.children.indexOf(document), 1); + let children = Cast(this.props.document.data, listSpec(Doc), []); + if (children) { + children.splice(children.indexOf(document), 1); } } @@ -106,8 +107,15 @@ class TreeView extends React.Component { if (!ContextMenu.Instance.getItems().some(item => item.description === "Open as Workspace")) { ContextMenu.Instance.addItem({ description: "Open as Workspace", event: undoBatch(() => Main.Instance.openWorkspace(this.props.document)) }); } + if (!ContextMenu.Instance.getItems().some(item => item.description === "Delete")) { + ContextMenu.Instance.addItem({ description: "Delete", event: undoBatch(() => this.props.deleteDoc(this.props.document)) }); + } } } + + onPointerEnter = (e: React.PointerEvent): void => { this.props.document.libraryBrush = true; } + onPointerLeave = (e: React.PointerEvent): void => { this.props.document.libraryBrush = false; } + render() { let bulletType = BulletType.List; let contentElement: JSX.Element | null = (null); @@ -121,7 +129,12 @@ class TreeView extends React.Component { } else bulletType = BulletType.Collapsed; } - return
+ return
  • {this.renderBullet(bulletType)} {this.renderTitle()} @@ -137,19 +150,20 @@ class TreeView extends React.Component { @observer export class CollectionTreeView extends CollectionSubView(Document) { - @action remove = (document: Document) => { - const children = this.children; + let children = Cast(this.props.Document.data, listSpec(Doc), []); if (children) { children.splice(children.indexOf(document), 1); } } - onContextMenu = (e: React.MouseEvent): void => { if (!e.isPropagationStopped() && this.props.Document[Id] !== CurrentUserUtils.MainDocId) { // need to test this because GoldenLayout causes a parallel hierarchy in the React DOM for its children and the main document view7 ContextMenu.Instance.addItem({ description: "Create Workspace", event: undoBatch(() => Main.Instance.createNewWorkspace()) }); } + if (!ContextMenu.Instance.getItems().some(item => item.description === "Delete")) { + ContextMenu.Instance.addItem({ description: "Delete", event: undoBatch(() => this.remove(this.props.Document)) }); + } } render() { const children = this.children; -- cgit v1.2.3-70-g09d2