aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/presentationview/PresentationElement.tsx
diff options
context:
space:
mode:
authormadelinegr <mgriswold99@gmail.com>2019-06-12 15:33:51 -0400
committermadelinegr <mgriswold99@gmail.com>2019-06-12 15:33:51 -0400
commit9a93306ba382018ebf3c686117bd4301beda61ef (patch)
tree5e3baecb55b6f696e75b69b71bdc78b6394a4023 /src/client/views/presentationview/PresentationElement.tsx
parentf9b472e6d69fcb99b8139cfcd6c36a8277962251 (diff)
BUtton status and pres status saved on refresh, only groups left
Diffstat (limited to 'src/client/views/presentationview/PresentationElement.tsx')
-rw-r--r--src/client/views/presentationview/PresentationElement.tsx42
1 files changed, 27 insertions, 15 deletions
diff --git a/src/client/views/presentationview/PresentationElement.tsx b/src/client/views/presentationview/PresentationElement.tsx
index 7928722f2..9fe69c2e3 100644
--- a/src/client/views/presentationview/PresentationElement.tsx
+++ b/src/client/views/presentationview/PresentationElement.tsx
@@ -1,9 +1,9 @@
import { observer } from "mobx-react";
import React = require("react");
-import { Doc, DocListCast } from "../../../new_fields/Doc";
+import { Doc, DocListCast, DocListCastAsync } from "../../../new_fields/Doc";
import { NumCast, BoolCast, StrCast, Cast } from "../../../new_fields/Types";
import { Id } from "../../../new_fields/FieldSymbols";
-import { observable, action, computed } from "mobx";
+import { observable, action, computed, runInAction } from "mobx";
import "./PresentationView.scss";
import { Utils } from "../../../Utils";
import { library } from '@fortawesome/fontawesome-svg-core';
@@ -64,21 +64,33 @@ export default class PresentationElement extends React.Component<PresentationEle
get selected() {
return this.selectedButtons;
}
- @action
- componentDidMount() {
+
+ async componentDidMount() {
// let castedList = Cast(this.props.presButtonBackUp.selectedButtons, listSpec(Doc), null) as any as List<List<boolean>>;
- let castedList = DocListCast(this.props.presButtonBackUp.selectedButtonDocs);
- if (castedList.length !== 0) {
- // this.selectedButtons = castedList;
- let selectedButtonOfDoc = Cast(castedList[this.props.index].selectedButtons, listSpec("boolean"), null);
+ let castedList = Cast(this.props.presButtonBackUp.selectedButtonDocs, listSpec(Doc));
+ if (!castedList) {
+ this.props.presButtonBackUp.selectedButtonDocs = castedList = new List<Doc>();
+ }
+ // let castedList = DocListCast(this.props.presButtonBackUp.selectedButtonDocs);
+
+ console.log("Mounted!!");
+ console.log("CastedList Len: ", castedList.length);
+ console.log("Index of doc: ", this.props.index);
+
+ if (castedList.length <= this.props.index) {
+ console.log("Entered here by index : ", this.props.index);
+ castedList.push(new Doc());
+ } else {
+ let curDoc: Doc = await castedList[this.props.index];
+ let selectedButtonOfDoc = Cast(curDoc.selectedButtons, listSpec("boolean"), null);
+ console.log("Entered First Place");
if (selectedButtonOfDoc !== undefined) {
- this.selectedButtons = selectedButtonOfDoc;
+ runInAction(() => this.selectedButtons = selectedButtonOfDoc);
+ console.log("Entered Second Place");
}
- console.log("Entered!!");
-
}
- console.log("Mounted!!");
- //this.props.presButtonBackUp.elIndex = this.props.index;
+
+
}
/**
@@ -195,9 +207,9 @@ export default class PresentationElement extends React.Component<PresentationEle
}
@action
- autoSaveButtonChange = (index: buttonIndex) => {
+ autoSaveButtonChange = async (index: buttonIndex) => {
// let castedList = Cast(this.props.presButtonBackUp.selectedButtons, listSpec(Doc), null) as any as List<List<boolean>>;
- let castedList = DocListCast(this.props.presButtonBackUp.selectedButtonDocs);
+ let castedList = (await DocListCastAsync(this.props.presButtonBackUp.selectedButtonDocs))!;
castedList[this.props.index].selectedButtons = new List(this.selectedButtons);
//this.props.mainDocument.presButtonBackUp = this.props.presButtonBackUp;