diff options
author | Amine Mouafik <amine@mouafik.fr> | 2019-05-12 20:00:41 +0700 |
---|---|---|
committer | Amine Mouafik <amine@mouafik.fr> | 2019-05-12 20:00:41 +0700 |
commit | d8a1d5f9151cc31f4c2b5c0096a35e49b2c74d61 (patch) | |
tree | 3974d449d8ef389fc61bf880ae758b5debc22a80 /src/containers/settings/EditServiceScreen.js | |
parent | Use dark background in SVG logo (diff) | |
parent | Update CHANGELOG.md (diff) | |
download | ferdium-app-d8a1d5f9151cc31f4c2b5c0096a35e49b2c74d61.tar.gz ferdium-app-d8a1d5f9151cc31f4c2b5c0096a35e49b2c74d61.tar.zst ferdium-app-d8a1d5f9151cc31f4c2b5c0096a35e49b2c74d61.zip |
Merge tag 'v5.1.0'
# Conflicts:
# README.md
# src/components/layout/AppLayout.js
Diffstat (limited to 'src/containers/settings/EditServiceScreen.js')
-rw-r--r-- | src/containers/settings/EditServiceScreen.js | 45 |
1 files changed, 25 insertions, 20 deletions
diff --git a/src/containers/settings/EditServiceScreen.js b/src/containers/settings/EditServiceScreen.js index b46908344..870ca4ecd 100644 --- a/src/containers/settings/EditServiceScreen.js +++ b/src/containers/settings/EditServiceScreen.js | |||
@@ -9,7 +9,6 @@ import ServicesStore from '../../stores/ServicesStore'; | |||
9 | import SettingsStore from '../../stores/SettingsStore'; | 9 | import SettingsStore from '../../stores/SettingsStore'; |
10 | import FeaturesStore from '../../stores/FeaturesStore'; | 10 | import FeaturesStore from '../../stores/FeaturesStore'; |
11 | import Form from '../../lib/Form'; | 11 | import Form from '../../lib/Form'; |
12 | import { gaPage } from '../../lib/analytics'; | ||
13 | 12 | ||
14 | import ServiceError from '../../components/settings/services/ServiceError'; | 13 | import ServiceError from '../../components/settings/services/ServiceError'; |
15 | import EditServiceForm from '../../components/settings/services/EditServiceForm'; | 14 | import EditServiceForm from '../../components/settings/services/EditServiceForm'; |
@@ -19,9 +18,12 @@ import { required, url, oneRequired } from '../../helpers/validation-helpers'; | |||
19 | import { getSelectOptions } from '../../helpers/i18n-helpers'; | 18 | import { getSelectOptions } from '../../helpers/i18n-helpers'; |
20 | 19 | ||
21 | import { config as proxyFeature } from '../../features/serviceProxy'; | 20 | import { config as proxyFeature } from '../../features/serviceProxy'; |
21 | import { config as spellcheckerFeature } from '../../features/spellchecker'; | ||
22 | 22 | ||
23 | import { SPELLCHECKER_LOCALES } from '../../i18n/languages'; | 23 | import { SPELLCHECKER_LOCALES } from '../../i18n/languages'; |
24 | 24 | ||
25 | import globalMessages from '../../i18n/globalMessages'; | ||
26 | |||
25 | const messages = defineMessages({ | 27 | const messages = defineMessages({ |
26 | name: { | 28 | name: { |
27 | id: 'settings.service.form.name', | 29 | id: 'settings.service.form.name', |
@@ -83,14 +85,6 @@ const messages = defineMessages({ | |||
83 | id: 'settings.service.form.proxy.password', | 85 | id: 'settings.service.form.proxy.password', |
84 | defaultMessage: '!!!Password', | 86 | defaultMessage: '!!!Password', |
85 | }, | 87 | }, |
86 | spellcheckerLanguage: { | ||
87 | id: 'settings.service.form.spellcheckerLanguage', | ||
88 | defaultMessage: '!!!Spell checking Language', | ||
89 | }, | ||
90 | spellcheckerSystemDefault: { | ||
91 | id: 'settings.service.form.spellcheckerLanguage.default', | ||
92 | defaultMessage: '!!!Use System Default ({default})', | ||
93 | }, | ||
94 | }); | 88 | }); |
95 | 89 | ||
96 | export default @inject('stores', 'actions') @observer class EditServiceScreen extends Component { | 90 | export default @inject('stores', 'actions') @observer class EditServiceScreen extends Component { |
@@ -98,10 +92,6 @@ export default @inject('stores', 'actions') @observer class EditServiceScreen ex | |||
98 | intl: intlShape, | 92 | intl: intlShape, |
99 | }; | 93 | }; |
100 | 94 | ||
101 | componentDidMount() { | ||
102 | gaPage('Settings/Service/Edit'); | ||
103 | } | ||
104 | |||
105 | onSubmit(data) { | 95 | onSubmit(data) { |
106 | const { action } = this.props.router.params; | 96 | const { action } = this.props.router.params; |
107 | const { recipes, services } = this.props.stores; | 97 | const { recipes, services } = this.props.stores; |
@@ -118,12 +108,26 @@ export default @inject('stores', 'actions') @observer class EditServiceScreen ex | |||
118 | } | 108 | } |
119 | 109 | ||
120 | prepareForm(recipe, service, proxy) { | 110 | prepareForm(recipe, service, proxy) { |
111 | const { | ||
112 | intl, | ||
113 | } = this.context; | ||
114 | |||
115 | const { | ||
116 | stores, | ||
117 | } = this.props; | ||
118 | |||
119 | let defaultSpellcheckerLanguage = SPELLCHECKER_LOCALES[stores.settings.app.spellcheckerLanguage]; | ||
120 | |||
121 | if (stores.settings.app.spellcheckerLanguage === 'automatic') { | ||
122 | defaultSpellcheckerLanguage = intl.formatMessage(globalMessages.spellcheckerAutomaticDetectionShort); | ||
123 | } | ||
124 | |||
121 | const spellcheckerLanguage = getSelectOptions({ | 125 | const spellcheckerLanguage = getSelectOptions({ |
122 | locales: SPELLCHECKER_LOCALES, | 126 | locales: SPELLCHECKER_LOCALES, |
123 | resetToDefaultText: this.context.intl.formatMessage(messages.spellcheckerSystemDefault, { default: SPELLCHECKER_LOCALES[this.props.stores.settings.app.spellcheckerLanguage] }), | 127 | resetToDefaultText: intl.formatMessage(globalMessages.spellcheckerSystemDefault, { default: defaultSpellcheckerLanguage }), |
128 | automaticDetectionText: stores.settings.app.spellcheckerLanguage !== 'automatic' ? intl.formatMessage(globalMessages.spellcheckerAutomaticDetection) : '', | ||
124 | }); | 129 | }); |
125 | 130 | ||
126 | const { intl } = this.context; | ||
127 | const config = { | 131 | const config = { |
128 | fields: { | 132 | fields: { |
129 | name: { | 133 | name: { |
@@ -160,13 +164,13 @@ export default @inject('stores', 'actions') @observer class EditServiceScreen ex | |||
160 | isDarkModeEnabled: { | 164 | isDarkModeEnabled: { |
161 | label: intl.formatMessage(messages.enableDarkMode), | 165 | label: intl.formatMessage(messages.enableDarkMode), |
162 | value: service.isDarkModeEnabled, | 166 | value: service.isDarkModeEnabled, |
163 | default: this.props.stores.settings.app.darkMode, | 167 | default: stores.settings.app.darkMode, |
164 | }, | 168 | }, |
165 | spellcheckerLanguage: { | 169 | spellcheckerLanguage: { |
166 | label: intl.formatMessage(messages.spellcheckerLanguage), | 170 | label: intl.formatMessage(globalMessages.spellcheckerLanguage), |
167 | value: service.spellcheckerLanguage, | 171 | value: service.spellcheckerLanguage, |
168 | options: spellcheckerLanguage, | 172 | options: spellcheckerLanguage, |
169 | disabled: !this.props.stores.settings.app.enableSpellchecking, | 173 | disabled: !stores.settings.app.enableSpellchecking, |
170 | }, | 174 | }, |
171 | }, | 175 | }, |
172 | }; | 176 | }; |
@@ -220,7 +224,7 @@ export default @inject('stores', 'actions') @observer class EditServiceScreen ex | |||
220 | } | 224 | } |
221 | 225 | ||
222 | if (proxy.isEnabled) { | 226 | if (proxy.isEnabled) { |
223 | const serviceProxyConfig = this.props.stores.settings.proxy[service.id] || {}; | 227 | const serviceProxyConfig = stores.settings.proxy[service.id] || {}; |
224 | 228 | ||
225 | Object.assign(config.fields, { | 229 | Object.assign(config.fields, { |
226 | proxy: { | 230 | proxy: { |
@@ -326,7 +330,8 @@ export default @inject('stores', 'actions') @observer class EditServiceScreen ex | |||
326 | onSubmit={d => this.onSubmit(d)} | 330 | onSubmit={d => this.onSubmit(d)} |
327 | onDelete={() => this.deleteService()} | 331 | onDelete={() => this.deleteService()} |
328 | isProxyFeatureEnabled={proxyFeature.isEnabled} | 332 | isProxyFeatureEnabled={proxyFeature.isEnabled} |
329 | isProxyFeaturePremiumFeature={proxyFeature.isPremium} | 333 | isProxyPremiumFeature={proxyFeature.isPremium} |
334 | isSpellcheckerPremiumFeature={spellcheckerFeature.isPremium} | ||
330 | /> | 335 | /> |
331 | </ErrorBoundary> | 336 | </ErrorBoundary> |
332 | ); | 337 | ); |