aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGeireann Lindfield Roberts <60007097+geireann@users.noreply.github.com>2020-10-25 23:51:42 +0800
committerGeireann Lindfield Roberts <60007097+geireann@users.noreply.github.com>2020-10-25 23:51:42 +0800
commit40e6cb8f667f5c5274504a0906251cfcf42eb5e6 (patch)
tree839a8f4c7c3063cd9008f04d269c7c0836128f91 /src
parent81bfd88ba098083382d70895e787e6abde4801d5 (diff)
parente2b5bc51c1fa4b4ed026e6582b80086808bdcb70 (diff)
Merge branch 'master' into presentation_v1
Diffstat (limited to 'src')
-rw-r--r--src/client/views/nodes/PresBox.tsx6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/client/views/nodes/PresBox.tsx b/src/client/views/nodes/PresBox.tsx
index 47334bd5f..22dd4ce65 100644
--- a/src/client/views/nodes/PresBox.tsx
+++ b/src/client/views/nodes/PresBox.tsx
@@ -1,7 +1,7 @@
import React = require("react");
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { Tooltip } from "@material-ui/core";
-import { action, computed, observable, runInAction, ObservableMap } from "mobx";
+import { action, computed, observable, runInAction, ObservableMap, IReactionDisposer, reaction } from "mobx";
import { observer } from "mobx-react";
import { ColorState, SketchPicker } from "react-color";
import { Doc, DocCastAsync, DocListCast, DocListCastAsync } from "../../../fields/Doc";
@@ -78,6 +78,7 @@ export class PresBox extends ViewBoxBaseComponent<FieldViewProps, PresBoxSchema>
@observable _pathBoolean: boolean = false;
@observable _expandBoolean: boolean = false;
+ private _disposers: { [name: string]: IReactionDisposer } = {};
@observable private transitionTools: boolean = false;
@observable private newDocumentTools: boolean = false;
@observable private progressivizeTools: boolean = false;
@@ -144,6 +145,7 @@ export class PresBox extends ViewBoxBaseComponent<FieldViewProps, PresBoxSchema>
this.resetPresentation();
// Turn of progressivize editors
this.turnOffEdit(true);
+ Object.values(this._disposers).forEach(disposer => disposer?.());
}
@action
@@ -160,6 +162,8 @@ export class PresBox extends ViewBoxBaseComponent<FieldViewProps, PresBoxSchema>
this.turnOffEdit(true);
DocListCastAsync((Doc.UserDoc().myPresentations as Doc).data).then(pres =>
!pres?.includes(this.rootDoc) && Doc.AddDocToList(Doc.UserDoc().myPresentations as Doc, "data", this.rootDoc));
+ this._disposers.selection = reaction(() => SelectionManager.SelectedDocuments(),
+ views => views.some(view => view.props.Document === this.rootDoc) && this.updateCurrentPresentation())
}
@action