From 4dda97352e3f0a9b21185278cdbf98c4380dbc81 Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Tue, 17 Dec 2019 22:14:46 -0500 Subject: [PATCH] fix autodetection/selection for network fields --- src/_store/system.module.js | 3 ++- src/account/HomePage.vue | 2 +- src/account/NewNetworkPage.vue | 23 ++++++++++++++++++++--- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/_store/system.module.js b/src/_store/system.module.js index 171bc5b..e5ccd0c 100644 --- a/src/_store/system.module.js +++ b/src/_store/system.module.js @@ -42,7 +42,7 @@ const actions = { detectTimezone({ commit }) { commit('detectTimezoneRequest'); systemService.detectTimezone().then( - timezones => commit('detectTimezoneSuccess', timezones), + timezone => commit('detectTimezoneSuccess', timezone), error => commit('detectTimezoneFailure', error) ) }, @@ -122,6 +122,7 @@ const mutations = { }, detectTimezoneRequest(state) {}, detectTimezoneSuccess(state, detectedTimezone) { + console.log('detectTimezoneSuccess: detectedTimezone='+JSON.stringify(detectedTimezone)); state.detectedTimezone = detectedTimezone; }, detectTimezoneFailure(state, error) { diff --git a/src/account/HomePage.vue b/src/account/HomePage.vue index 7f2be7c..4565b3d 100644 --- a/src/account/HomePage.vue +++ b/src/account/HomePage.vue @@ -15,7 +15,7 @@ export default { account: state => state.account, users: state => state.users.all }), - ...mapState('system', ['messages']) + ...mapState('system', ['messages', 'detectedTimezone', 'detectedLocale']) }, methods: { ...mapActions('users', { diff --git a/src/account/NewNetworkPage.vue b/src/account/NewNetworkPage.vue index 5436f49..80fe07e 100644 --- a/src/account/NewNetworkPage.vue +++ b/src/account/NewNetworkPage.vue @@ -15,7 +15,7 @@
- +
{{ errors.first('timezone') }}
@@ -74,7 +74,7 @@ network: { name: '', domain: '', - locale: 'en_US', + locale: '', timezone: '', plan: 'bubble', footprint: 'Worldwide', @@ -89,7 +89,7 @@ }; }, computed: { - ...mapState('system', ['messages', 'locales', 'timezones', 'detectedTimezone']), + ...mapState('system', ['messages', 'locales', 'timezones', 'detectedTimezone', 'detectedLocale']), ...mapState('domains', ['domains']), ...mapState('plans', ['plans']), ...mapState('footprints', ['footprints']), @@ -171,6 +171,23 @@ }); } }, + watch: { + domains (doms) { + if (doms && doms[0]) { + if (this.network.domain == null || this.network.domain === '') this.network.domain = doms[0].name; + } + }, + detectedTimezone (tz) { + if (tz && tz.timeZoneId) { + if (this.network.timezone == null || this.network.timezone === '') this.network.timezone = tz.timeZoneId; + } + }, + detectedLocale (loc) { + if (loc) { + if (this.network.locale == null || this.network.locale === '') this.network.locale = loc; + } + } + }, created() { this.loadDomains(currentUser().uuid, this.messages, this.errors); this.loadPlans(this.messages, this.errors);