aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBob Zeleznik <zzzman@gmail.com>2019-04-14 20:31:04 -0400
committerBob Zeleznik <zzzman@gmail.com>2019-04-14 20:31:04 -0400
commita1db664e45592967058b25112f7802fe37476cb6 (patch)
tree9fa7998cdc3ed8835834ca8ab9b8f1033b28de24 /src
parent6414a703d504a16c9eed5ab22eeb9ab829443511 (diff)
from last - fixed issue with golden layout
Diffstat (limited to 'src')
-rw-r--r--src/client/views/Main.tsx11
-rw-r--r--src/client/views/collections/CollectionDockingView.tsx2
-rw-r--r--src/server/authentication/models/current_user_utils.ts6
3 files changed, 9 insertions, 10 deletions
diff --git a/src/client/views/Main.tsx b/src/client/views/Main.tsx
index bf10a10af..0c703384b 100644
--- a/src/client/views/Main.tsx
+++ b/src/client/views/Main.tsx
@@ -9,7 +9,7 @@ import * as ReactDOM from 'react-dom';
import Measure from 'react-measure';
import * as request from 'request';
import { Document } from '../../fields/Document';
-import { Field, FieldWaiting, Opt } from '../../fields/Field';
+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';
@@ -47,11 +47,10 @@ export class Main extends React.Component {
@observable public pwidth: number = 0;
@observable public pheight: number = 0;
- @computed private get mainContainer(): Document | undefined {
- let doc = CurrentUserUtils.UserDocument.GetT(KeyStore.ActiveWorkspace, Document);
- return doc === FieldWaiting ? undefined : doc;
+ @computed private get mainContainer(): Document | undefined | FIELD_WAITING {
+ return CurrentUserUtils.UserDocument.GetT(KeyStore.ActiveWorkspace, Document);
}
- private set mainContainer(doc: Document | undefined) {
+ private set mainContainer(doc: Document | undefined | FIELD_WAITING) {
doc && CurrentUserUtils.UserDocument.Set(KeyStore.ActiveWorkspace, doc);
}
@@ -270,7 +269,7 @@ export class Main extends React.Component {
let areWorkspacesShown = () => this._workspacesShown;
let toggleWorkspaces = () => runInAction(() => this._workspacesShown = !this._workspacesShown);
let workspaces = CurrentUserUtils.UserDocument.GetT<ListField<Document>>(KeyStore.Workspaces, ListField);
- return (!workspaces || workspaces === FieldWaiting) ? (null) :
+ return (!workspaces || workspaces === FieldWaiting || this.mainContainer == FieldWaiting) ? (null) :
<WorkspacesMenu active={this.mainContainer} open={this.openWorkspace}
new={this.createNewWorkspace} allWorkspaces={workspaces.Data}
isShown={areWorkspacesShown} toggle={toggleWorkspaces} />;
diff --git a/src/client/views/collections/CollectionDockingView.tsx b/src/client/views/collections/CollectionDockingView.tsx
index 6d772b90e..4f7d4fc0d 100644
--- a/src/client/views/collections/CollectionDockingView.tsx
+++ b/src/client/views/collections/CollectionDockingView.tsx
@@ -172,7 +172,7 @@ export class CollectionDockingView extends React.Component<SubCollectionViewProp
} catch (e) {
}
- this._goldenLayout.destroy();
+ if (this._goldenLayout) this._goldenLayout.destroy();
this._goldenLayout = null;
window.removeEventListener('resize', this.onResize);
}
diff --git a/src/server/authentication/models/current_user_utils.ts b/src/server/authentication/models/current_user_utils.ts
index 848728183..5d4479c88 100644
--- a/src/server/authentication/models/current_user_utils.ts
+++ b/src/server/authentication/models/current_user_utils.ts
@@ -40,14 +40,14 @@ export class CurrentUserUtils {
throw new Error("There should be a user! Why does Dash think there isn't one?");
}
});
- let userDocPromise = rp.get(ServerUtils.prepend(RouteStore.getUserDocumentId)).then(id => runInAction(() => {
+ let userDocPromise = rp.get(ServerUtils.prepend(RouteStore.getUserDocumentId)).then(id => {
if (id) {
return Server.GetField(id).then(field =>
- this.user_document = field instanceof Document ? field : this.createUserDocument(id));
+ runInAction(() => this.user_document = field instanceof Document ? field : this.createUserDocument(id)));
} else {
throw new Error("There should be a user id! Why does Dash think there isn't one?");
}
- }));
+ });
return Promise.all([userPromise, userDocPromise]);
}