aboutsummaryrefslogtreecommitdiffstats
path: root/src/containers/settings
diff options
context:
space:
mode:
Diffstat (limited to 'src/containers/settings')
-rw-r--r--src/containers/settings/EditWorkspaceScreen.js54
-rw-r--r--src/containers/settings/WorkspacesScreen.js16
2 files changed, 66 insertions, 4 deletions
diff --git a/src/containers/settings/EditWorkspaceScreen.js b/src/containers/settings/EditWorkspaceScreen.js
new file mode 100644
index 000000000..665b405bd
--- /dev/null
+++ b/src/containers/settings/EditWorkspaceScreen.js
@@ -0,0 +1,54 @@
1import React, { Component } from 'react';
2import { inject, observer } from 'mobx-react';
3import { defineMessages, intlShape } from 'react-intl';
4import Form from '../../lib/Form';
5import ErrorBoundary from '../../components/util/ErrorBoundary';
6import { gaPage } from '../../lib/analytics';
7import { state } from '../../features/workspaces/state';
8
9const messages = defineMessages({
10 name: {
11 id: 'settings.workspace.form.name',
12 defaultMessage: '!!!Name',
13 },
14});
15
16@inject('stores', 'actions') @observer
17class EditWorkspaceScreen extends Component {
18 static contextTypes = {
19 intl: intlShape,
20 };
21
22 componentDidMount() {
23 gaPage('Settings/Workspace/Edit');
24 }
25
26 prepareForm(workspace) {
27 const { intl } = this.context;
28 const config = {
29 fields: {
30 name: {
31 label: intl.formatMessage(messages.name),
32 placeholder: intl.formatMessage(messages.name),
33 value: workspace.name,
34 },
35 },
36 };
37 return new Form(config);
38 }
39
40 render() {
41 const { workspaceBeingEdited } = state;
42 if (!workspaceBeingEdited) return null;
43
44 // const form = this.prepareForm(workspaceBeingEdited);
45
46 return (
47 <ErrorBoundary>
48 <div>{workspaceBeingEdited.name}</div>
49 </ErrorBoundary>
50 );
51 }
52}
53
54export default EditWorkspaceScreen;
diff --git a/src/containers/settings/WorkspacesScreen.js b/src/containers/settings/WorkspacesScreen.js
index e767fdfbe..5e91f7673 100644
--- a/src/containers/settings/WorkspacesScreen.js
+++ b/src/containers/settings/WorkspacesScreen.js
@@ -1,25 +1,33 @@
1import React, { Component } from 'react'; 1import React, { Component } from 'react';
2import { observer } from 'mobx-react'; 2import { inject, observer } from 'mobx-react';
3import PropTypes from 'prop-types';
3import { gaPage } from '../../lib/analytics'; 4import { gaPage } from '../../lib/analytics';
4import { state } from '../../features/workspaces/state'; 5import { state } from '../../features/workspaces/state';
5
6import WorkspacesDashboard from '../../components/settings/workspaces/WorkspacesDashboard'; 6import WorkspacesDashboard from '../../components/settings/workspaces/WorkspacesDashboard';
7import ErrorBoundary from '../../components/util/ErrorBoundary'; 7import ErrorBoundary from '../../components/util/ErrorBoundary';
8 8
9@observer 9@inject('actions') @observer
10class WorkspacesScreen extends Component { 10class WorkspacesScreen extends Component {
11 static propTypes = {}; 11 static propTypes = {
12 actions: PropTypes.shape({
13 workspace: PropTypes.shape({
14 edit: PropTypes.func.isRequired,
15 }),
16 }).isRequired,
17 };
12 18
13 componentDidMount() { 19 componentDidMount() {
14 gaPage('Settings/Workspaces Dashboard'); 20 gaPage('Settings/Workspaces Dashboard');
15 } 21 }
16 22
17 render() { 23 render() {
24 const { workspace } = this.props.actions;
18 return ( 25 return (
19 <ErrorBoundary> 26 <ErrorBoundary>
20 <WorkspacesDashboard 27 <WorkspacesDashboard
21 workspaces={state.workspaces} 28 workspaces={state.workspaces}
22 isLoading={state.isLoading} 29 isLoading={state.isLoading}
30 onWorkspaceClick={w => workspace.edit({ workspace: w })}
23 /> 31 />
24 </ErrorBoundary> 32 </ErrorBoundary>
25 ); 33 );