diff options
author | bobzel <zzzman@gmail.com> | 2019-04-30 22:33:22 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-30 22:33:22 -0400 |
commit | 8d6593c91b4fda974c8969122008ada287979ecc (patch) | |
tree | 77d6eb479b459c76f2c0092464e4c9b7edf68a09 /src/client/views/Main.tsx | |
parent | 97ed2e452597d5f1f2e8d0abfc06e94b4aa5d448 (diff) | |
parent | dc2bed85181eb44784a470d8b1330108fa546abd (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.tsx | 19 |
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>; |