aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/Main.tsx
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2019-04-30 22:33:22 -0400
committerGitHub <noreply@github.com>2019-04-30 22:33:22 -0400
commit8d6593c91b4fda974c8969122008ada287979ecc (patch)
tree77d6eb479b459c76f2c0092464e4c9b7edf68a09 /src/client/views/Main.tsx
parent97ed2e452597d5f1f2e8d0abfc06e94b4aa5d448 (diff)
parentdc2bed85181eb44784a470d8b1330108fa546abd (diff)
Merge pull request #69 from browngraphicslab/presentation_view
Presentation view
Diffstat (limited to 'src/client/views/Main.tsx')
-rw-r--r--src/client/views/Main.tsx19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/client/views/Main.tsx b/src/client/views/Main.tsx
index 129079271..28ea902f4 100644
--- a/src/client/views/Main.tsx
+++ b/src/client/views/Main.tsx
@@ -12,7 +12,6 @@ import { Document } from '../../fields/Document';
import { Field, FieldWaiting, Opt, FIELD_WAITING } from '../../fields/Field';
import { KeyStore } from '../../fields/KeyStore';
import { ListField } from '../../fields/ListField';
-import { WorkspacesMenu } from '../../server/authentication/controllers/WorkspacesMenu';
import { CurrentUserUtils } from '../../server/authentication/models/current_user_utils';
import { MessageStore } from '../../server/Message';
import { RouteStore } from '../../server/RouteStore';
@@ -30,6 +29,8 @@ import { Server } from '../Server';
import { SetupDrag, DragManager } from '../util/DragManager';
import { Transform } from '../util/Transform';
import { UndoManager } from '../util/UndoManager';
+import { PresentationView } from './PresentationView';
+import { WorkspacesMenu } from '../../server/authentication/controllers/WorkspacesMenu';
import { CollectionDockingView } from './collections/CollectionDockingView';
import { ContextMenu } from './ContextMenu';
import { DocumentDecorations } from './DocumentDecorations';
@@ -52,7 +53,10 @@ export class Main extends React.Component {
return CurrentUserUtils.UserDocument.GetT(KeyStore.ActiveWorkspace, Document);
}
private set mainContainer(doc: Document | undefined | FIELD_WAITING) {
- doc && CurrentUserUtils.UserDocument.Set(KeyStore.ActiveWorkspace, doc);
+ if (doc) {
+ doc.GetOrCreateAsync(KeyStore.PresentationView, Document, doc => { });
+ CurrentUserUtils.UserDocument.Set(KeyStore.ActiveWorkspace, doc);
+ }
}
constructor(props: Readonly<{}>) {
@@ -177,11 +181,21 @@ export class Main extends React.Component {
}
@computed
+ get presentationView() {
+ if (this.mainContainer) {
+ let presentation = this.mainContainer.GetT(KeyStore.PresentationView, Document);
+ return presentation ? <PresentationView Document={presentation} key="presentation" /> : (null);
+ }
+ return (null);
+ }
+
+ @computed
get mainContent() {
let pwidthFunc = () => this.pwidth;
let pheightFunc = () => this.pheight;
let noScaling = () => 1;
let mainCont = this.mainContainer;
+ let pcontent = this.presentationView;
return <Measure onResize={action((r: any) => { this.pwidth = r.entry.width; this.pheight = r.entry.height; })}>
{({ measureRef }) =>
<div ref={measureRef} id="mainContent-div">
@@ -200,6 +214,7 @@ export class Main extends React.Component {
parentActive={returnTrue}
whenActiveChanged={emptyFunction}
ContainingCollectionView={undefined} />}
+ {pcontent}
</div>
}
</Measure>;