aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormadelinegr <mgriswold99@gmail.com>2019-06-06 18:47:48 -0400
committermadelinegr <mgriswold99@gmail.com>2019-06-06 18:47:48 -0400
commitecbf6dda7f410f866b1031966982b23b031e72ee (patch)
treeb7c8943f44e96b1a2710bbd74ad1832df207abe9
parent51c59893afd84eb9f36669282cbf0479ee9d9f84 (diff)
Pres ELements mapped
-rw-r--r--src/client/views/presentationview/PresentationElement.tsx16
-rw-r--r--src/client/views/presentationview/PresentationView.tsx8
2 files changed, 14 insertions, 10 deletions
diff --git a/src/client/views/presentationview/PresentationElement.tsx b/src/client/views/presentationview/PresentationElement.tsx
index f5220c564..33c0289d7 100644
--- a/src/client/views/presentationview/PresentationElement.tsx
+++ b/src/client/views/presentationview/PresentationElement.tsx
@@ -3,7 +3,7 @@ import React = require("react");
import { Doc } from "../../../new_fields/Doc";
import { NumCast, BoolCast, StrCast } from "../../../new_fields/Types";
import { Id } from "../../../new_fields/FieldSymbols";
-import { observable, action } from "mobx";
+import { observable, action, computed } from "mobx";
import "./PresentationView.scss";
import { Utils } from "../../../Utils";
@@ -35,6 +35,10 @@ export default class PresentationElement extends React.Component<PresentationEle
@observable selectedButtons: boolean[] = new Array(6);
+ @computed
+ get selected() {
+ return this.selectedButtons;
+ }
@action
onGroupClick = (document: Doc, index: number, buttonStatus: boolean) => {
@@ -118,18 +122,16 @@ export default class PresentationElement extends React.Component<PresentationEle
e.stopPropagation();
if (this.selectedButtons[buttonIndex.HideTillPressed]) {
this.selectedButtons[buttonIndex.HideTillPressed] = false;
+ this.props.document.opacity = 1;
} else {
this.selectedButtons[buttonIndex.HideTillPressed] = true;
- }
- }
+ this.props.document.opacity = 0;
- hideDocumentIfNotPressed = () => {
- this.props.allListElements.forEach((doc: Doc) => doc.opacity = 1);
+ }
}
-
render() {
let p = this.props;
let title = p.document.title;
@@ -160,7 +162,7 @@ export default class PresentationElement extends React.Component<PresentationEle
<br></br>
<button className={this.selectedButtons[buttonIndex.Show] ? "presentation-interaction-selected" : "presentation-interaction"}>A</button>
<button className={this.selectedButtons[buttonIndex.Navigate] ? "presentation-interaction-selected" : "presentation-interaction"}>B</button>
- <button className={this.selectedButtons[buttonIndex.HideTillPressed] ? "presentation-interaction-selected" : "presentation-interaction"} onClick={(e) => { this.onHideDocumentUntilPressClick(e); this.hideDocumentIfNotPressed(); }}>C</button>
+ <button className={this.selectedButtons[buttonIndex.HideTillPressed] ? "presentation-interaction-selected" : "presentation-interaction"} onClick={this.onHideDocumentUntilPressClick}>C</button>
<button className={this.selectedButtons[buttonIndex.FadeAfter] ? "presentation-interaction-selected" : "presentation-interaction"}>D</button>
<button className={this.selectedButtons[buttonIndex.HideAfter] ? "presentation-interaction-selected" : "presentation-interaction"}>E</button>
<button className={this.selectedButtons[buttonIndex.Group] ? "presentation-interaction-selected" : "presentation-interaction"} onClick={(e) => {
diff --git a/src/client/views/presentationview/PresentationView.tsx b/src/client/views/presentationview/PresentationView.tsx
index 3263ea62e..0655418f4 100644
--- a/src/client/views/presentationview/PresentationView.tsx
+++ b/src/client/views/presentationview/PresentationView.tsx
@@ -20,6 +20,7 @@ interface PresListProps extends PresViewProps {
deleteDocument(index: number): void;
gotoDocument(index: number): void;
groupMappings: Map<String, Doc[]>;
+ presElementsMappings: Map<Doc, PresentationElement>;
}
@@ -107,10 +108,10 @@ class PresentationViewList extends React.Component<PresListProps> {
render() {
const children = DocListCast(this.props.Document.data);
this.initializeGroupIds(children);
-
return (
+
<div className="presentationView-listCont">
- {children.map((doc: Doc, index: number) => <PresentationElement key={index} mainDocument={this.props.Document} document={doc} index={index} deleteDocument={this.props.deleteDocument} gotoDocument={this.props.gotoDocument} groupMappings={this.props.groupMappings} allListElements={children} />)}
+ {children.map((doc: Doc, index: number) => <PresentationElement ref={(e) => this.props.presElementsMappings.set(doc, e!)} key={index} mainDocument={this.props.Document} document={doc} index={index} deleteDocument={this.props.deleteDocument} gotoDocument={this.props.gotoDocument} groupMappings={this.props.groupMappings} allListElements={children} />)}
</div>
);
}
@@ -123,6 +124,7 @@ export class PresentationView extends React.Component<PresViewProps> {
@observable groupedMembers: Doc[][] = [];
@observable groupMappings: Map<String, Doc[]> = new Map();
+ @observable presElementsMappings: Map<Doc, PresentationElement> = new Map();
//observable means render is re-called every time variable is changed
@observable
@@ -197,7 +199,7 @@ export class PresentationView extends React.Component<PresViewProps> {
<button className="presentation-button" onClick={this.back}>back</button>
<button className="presentation-button" onClick={this.next}>next</button>
</div>
- <PresentationViewList Document={this.props.Document} deleteDocument={this.RemoveDoc} gotoDocument={this.gotoDocument} groupMappings={this.groupMappings} />
+ <PresentationViewList Document={this.props.Document} deleteDocument={this.RemoveDoc} gotoDocument={this.gotoDocument} groupMappings={this.groupMappings} presElementsMappings={this.presElementsMappings} />
</div>
);
}