diff options
Diffstat (limited to 'src/features/workspaces/components/EditWorkspaceForm.js')
-rw-r--r-- | src/features/workspaces/components/EditWorkspaceForm.js | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/src/features/workspaces/components/EditWorkspaceForm.js b/src/features/workspaces/components/EditWorkspaceForm.js index e602ebd5a..b3551a7b9 100644 --- a/src/features/workspaces/components/EditWorkspaceForm.js +++ b/src/features/workspaces/components/EditWorkspaceForm.js | |||
@@ -12,8 +12,10 @@ import Form from '../../../lib/Form'; | |||
12 | import { required } from '../../../helpers/validation-helpers'; | 12 | import { required } from '../../../helpers/validation-helpers'; |
13 | import WorkspaceServiceListItem from './WorkspaceServiceListItem'; | 13 | import WorkspaceServiceListItem from './WorkspaceServiceListItem'; |
14 | import Request from '../../../stores/lib/Request'; | 14 | import Request from '../../../stores/lib/Request'; |
15 | import { gaEvent } from '../../../lib/analytics'; | 15 | |
16 | import { GA_CATEGORY_WORKSPACES } from '../index'; | 16 | import { KEEP_WS_LOADED_USID } from '../../../config'; |
17 | |||
18 | import Toggle from '../../../components/ui/Toggle'; | ||
17 | 19 | ||
18 | const messages = defineMessages({ | 20 | const messages = defineMessages({ |
19 | buttonDelete: { | 21 | buttonDelete: { |
@@ -32,6 +34,14 @@ const messages = defineMessages({ | |||
32 | id: 'settings.workspace.form.yourWorkspaces', | 34 | id: 'settings.workspace.form.yourWorkspaces', |
33 | defaultMessage: '!!!Your workspaces', | 35 | defaultMessage: '!!!Your workspaces', |
34 | }, | 36 | }, |
37 | keepLoaded: { | ||
38 | id: 'settings.workspace.form.keepLoaded', | ||
39 | defaultMessage: '!!!Keep this workspace loaded*', | ||
40 | }, | ||
41 | keepLoadedInfo: { | ||
42 | id: 'settings.workspace.form.keepLoadedInfo', | ||
43 | defaultMessage: '!!!*This option will be overwritten by the global "Keep all workspaces loaded" option.', | ||
44 | }, | ||
35 | servicesInWorkspaceHeadline: { | 45 | servicesInWorkspaceHeadline: { |
36 | id: 'settings.workspace.form.servicesInWorkspaceHeadline', | 46 | id: 'settings.workspace.form.servicesInWorkspaceHeadline', |
37 | defaultMessage: '!!!Services in this Workspace', | 47 | defaultMessage: '!!!Services in this Workspace', |
@@ -53,6 +63,9 @@ const styles = () => ({ | |||
53 | serviceList: { | 63 | serviceList: { |
54 | height: 'auto', | 64 | height: 'auto', |
55 | }, | 65 | }, |
66 | keepLoadedInfo: { | ||
67 | marginBottom: '2rem !important', | ||
68 | }, | ||
56 | }); | 69 | }); |
57 | 70 | ||
58 | @injectSheet(styles) @observer | 71 | @injectSheet(styles) @observer |
@@ -90,6 +103,11 @@ class EditWorkspaceForm extends Component { | |||
90 | value: workspace.name, | 103 | value: workspace.name, |
91 | validators: [required], | 104 | validators: [required], |
92 | }, | 105 | }, |
106 | keepLoaded: { | ||
107 | label: intl.formatMessage(messages.keepLoaded), | ||
108 | value: workspace.services.includes(KEEP_WS_LOADED_USID), | ||
109 | default: false, | ||
110 | }, | ||
93 | services: { | 111 | services: { |
94 | value: workspace.services.slice(), | 112 | value: workspace.services.slice(), |
95 | }, | 113 | }, |
@@ -103,7 +121,6 @@ class EditWorkspaceForm extends Component { | |||
103 | const { onSave } = this.props; | 121 | const { onSave } = this.props; |
104 | const values = f.values(); | 122 | const values = f.values(); |
105 | onSave(values); | 123 | onSave(values); |
106 | gaEvent(GA_CATEGORY_WORKSPACES, 'save'); | ||
107 | }, | 124 | }, |
108 | onError: async () => {}, | 125 | onError: async () => {}, |
109 | }); | 126 | }); |
@@ -112,7 +129,6 @@ class EditWorkspaceForm extends Component { | |||
112 | delete() { | 129 | delete() { |
113 | const { onDelete } = this.props; | 130 | const { onDelete } = this.props; |
114 | onDelete(); | 131 | onDelete(); |
115 | gaEvent(GA_CATEGORY_WORKSPACES, 'delete'); | ||
116 | } | 132 | } |
117 | 133 | ||
118 | toggleService(service) { | 134 | toggleService(service) { |
@@ -155,6 +171,10 @@ class EditWorkspaceForm extends Component { | |||
155 | <div className="settings__body"> | 171 | <div className="settings__body"> |
156 | <div className={classes.nameInput}> | 172 | <div className={classes.nameInput}> |
157 | <Input {...form.$('name').bind()} /> | 173 | <Input {...form.$('name').bind()} /> |
174 | <Toggle field={form.$('keepLoaded')} /> | ||
175 | <p className={classes.keepLoadedInfo}> | ||
176 | { intl.formatMessage(messages.keepLoadedInfo) } | ||
177 | </p> | ||
158 | </div> | 178 | </div> |
159 | <h2>{intl.formatMessage(messages.servicesInWorkspaceHeadline)}</h2> | 179 | <h2>{intl.formatMessage(messages.servicesInWorkspaceHeadline)}</h2> |
160 | <div className={classes.serviceList}> | 180 | <div className={classes.serviceList}> |