aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/PresentationView.tsx
diff options
context:
space:
mode:
authorab <abdullah_ahmed@brown.edu>2019-05-21 16:37:41 -0400
committerab <abdullah_ahmed@brown.edu>2019-05-21 16:37:41 -0400
commit33c29d0e58c1b083e72df7e7fd81bb130f46bd2a (patch)
treef87bd33e2d98ce2752abec9d189de0de5161fddb /src/client/views/PresentationView.tsx
parentb3f1e5f60ee4a00522d3e4b0b03495685bde006c (diff)
parent7e5ba95b02e4ead3ee2b41eca1af0acb72d6f7cd (diff)
Merge branch 'master' of https://github.com/browngraphicslab/Dash-Web into cont_menu_ui
Diffstat (limited to 'src/client/views/PresentationView.tsx')
-rw-r--r--src/client/views/PresentationView.tsx14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/client/views/PresentationView.tsx b/src/client/views/PresentationView.tsx
index ce679aa0a..9d5798ff1 100644
--- a/src/client/views/PresentationView.tsx
+++ b/src/client/views/PresentationView.tsx
@@ -6,7 +6,7 @@ import { DocumentManager } from "../util/DocumentManager";
import { Utils } from "../../Utils";
import { Doc, DocListCast, DocListCastAsync } from "../../new_fields/Doc";
import { listSpec } from "../../new_fields/Schema";
-import { Cast, NumCast, FieldValue, PromiseValue, StrCast } from "../../new_fields/Types";
+import { Cast, NumCast, FieldValue, PromiseValue, StrCast, BoolCast } from "../../new_fields/Types";
import { Id } from "../../new_fields/FieldSymbols";
import { List } from "../../new_fields/List";
import { CurrentUserUtils } from "../../server/authentication/models/current_user_utils";
@@ -27,6 +27,7 @@ interface PresListProps extends PresViewProps {
*/
class PresentationViewList extends React.Component<PresListProps> {
+
/**
* Renders a single child document. It will just append a list element.
* @param document The document to render.
@@ -42,8 +43,17 @@ class PresentationViewList extends React.Component<PresListProps> {
//this doc is selected
className += " presentationView-selected";
}
+ let onEnter = (e: React.PointerEvent) => { document.libraryBrush = true; }
+ let onLeave = (e: React.PointerEvent) => { document.libraryBrush = false; }
return (
- <div className={className} key={document[Id] + index} onClick={e => { this.props.gotoDocument(index); e.stopPropagation(); }}>
+ <div className={className} key={document[Id] + index}
+ onPointerEnter={onEnter} onPointerLeave={onLeave}
+ style={{
+ outlineColor: "maroon",
+ outlineStyle: "dashed",
+ outlineWidth: BoolCast(document.libraryBrush, false) || BoolCast(document.protoBrush, false) ? `1px` : "0px",
+ }}
+ onClick={e => { this.props.gotoDocument(index); e.stopPropagation(); }}>
<strong className="presentationView-name">
{`${index + 1}. ${title}`}
</strong>