This commit is contained in:
2020-07-23 19:13:38 +00:00
parent 8a713c2b1f
commit 1261116f1e
12 changed files with 81 additions and 64 deletions

View File

@@ -765,7 +765,9 @@ async function getUserOptions() {
languageOverride: null,
timeZoneOverride: null,
currencyName: null,
hour12: true
hour12: true,
uiColor: "#000000",
emailAddress: null
};
//get language to use, try user set override first, if empty then browser set, if empty then default to en-us
@@ -785,7 +787,10 @@ async function getUserOptions() {
l.hour12 = res.data.hour12;
}
window.$gz.store.commit("setLocale", l);
l.uiColor = res.data.uiColor || "#000000";
l.emailAddress = res.data.emailAddress || null;
window.$gz.store.commit("setUserOptions", l);
}
} catch (error) {
window.$gz.store.commit(

View File

@@ -32,13 +32,13 @@ export default {
// Get the user's chosen currency name
//https://en.wikipedia.org/wiki/ISO_4217
getCurrencyName() {
return window.$gz.store.state.locale.currencyName;
return window.$gz.store.state.userOptions.currencyName;
},
//////////////////////////////////////////////////
// Get the user's chosen 12hr clock
//
getHour12() {
return window.$gz.store.state.locale.hour12;
return window.$gz.store.state.userOptions.hour12;
},
///////////////////////////////////////////
// Turn a utc date into a displayable

View File

@@ -10,29 +10,27 @@ export default {
//expects extra data (tid) to be one of { type: [AYATYPE], id: [RECORDID] }
//or null which is what is called when asking to check if there is a direct openObject in store and open it
if (tid == null) {
let op = vm.$store.state.openObject;
//clear it out so it doesn't recur
window.$gz.store.commit("clearOpenObject");
if (op && op.type) {
tid = op;
} else {
//log it in case we need to see it in tech support
window.$gz.store.commit(
"logItem",
`Error: open object url was not valid, missing type or invalid type ${JSON.stringify(
op
)}`
);
return; //bail out, nothing to open here
}
}
// if (tid == null) {
// let op = vm.$store.state.openObject;
// //clear it out so it doesn't recur
// window.$gz.store.commit("clearOpenObject");
// if (op && op.type) {
// tid = op;
// } else {
// //log it in case we need to see it in tech support
// window.$gz.store.commit(
// "logItem",
// `Error: open object url was not valid, missing type or invalid type ${JSON.stringify(
// op
// )}`
// );
// return; //bail out, nothing to open here
// }
// }
//NOTE: for new objects all edit pages assume record ID 0 means create rather than open
if (tid.type && tid.id != null) {
console.log("tid", tid);
console.log("ayatype", ayatype);
switch (tid.type) {
case ayatype.Widget:
vm.$router.push({

View File

@@ -273,7 +273,7 @@ export default {
let timeZoneName = window.$gz.locale.getBrowserTimeZoneName();
let languageName = window.$gz.locale.getBrowserLanguages();
let hour12 = window.$gz.store.state.locale.hour12;
let hour12 = window.$gz.store.state.userOptions.hour12;
let ret = [];
for (let i = 0; i < data.length; i++) {
let o = data[i];

View File

@@ -637,8 +637,8 @@ function buildRecords(listData, columndefinitions) {
//cache display format stuff
let timeZoneName = window.$gz.locale.getBrowserTimeZoneName();
let languageName = window.$gz.locale.getBrowserLanguages();
let hour12 = window.$gz.store.state.locale.hour12;
let currencyName = window.$gz.store.state.locale.currencyName;
let hour12 = window.$gz.store.state.userOptions.hour12;
let currencyName = window.$gz.store.state.userOptions.currencyName;
//comes as an array of arrays, needs to leave as an array of objects representing each row
for (let iRow = 0; iRow < listData.length; iRow++) {

View File

@@ -33,11 +33,13 @@ export default new Vuex.Store({
homePage: undefined,
translationText: {},
enums: {}, //all enum values with translated text to match stored as key e.g. enums:={AuthorizationRoles:{0:"no role",1:"Limited role"},UserTypes:{0:"Technician",1:"Client user"}}
locale: {
userOptions: {
languageOverride: "en-US",
timeZoneOverride: "America/New_York",
currencyName: "USD",
hour12: true
hour12: true,
uiColor: "#000000",
emailAddress: null
},
globalSettings: {},
navItems: [],
@@ -77,10 +79,12 @@ export default new Vuex.Store({
state.enums = {};
state.formCustomTemplate = {};
state.apiUrl = "";
state.locale.languageOverride = "en-US";
state.locale.timeZoneOverride = "America/New_York";
state.locale.currencyName = "USD";
state.locale.hour12 = true;
state.userOptions.languageOverride = "en-US";
state.userOptions.timeZoneOverride = "America/New_York";
state.userOptions.currencyName = "USD";
state.userOptions.hour12 = true;
state.userOptions.uiColor = "#000000";
state.userOptions.emailAddress = null;
state.globalSettings = {};
state.knownPassword = false;
state.newNotificationCount = 0;
@@ -96,12 +100,14 @@ export default new Vuex.Store({
data.concurrency;
state.formCustomTemplate[data.formKey] = data.value;
},
setLocale(state, data) {
setUserOptions(state, data) {
// mutate state
state.locale.languageOverride = data.languageOverride;
state.locale.currencyName = data.currencyName;
state.locale.hour12 = data.hour12;
state.locale.timeZoneOverride = data.timeZoneOverride;
state.userOptions.languageOverride = data.languageOverride;
state.userOptions.currencyName = data.currencyName;
state.userOptions.hour12 = data.hour12;
state.userOptions.timeZoneOverride = data.timeZoneOverride;
state.userOptions.emailAddress = data.emailAddress;
state.userOptions.uiColor = data.uiColor;
},
setGlobalSettings(state, data) {
// mutate state

View File

@@ -291,7 +291,7 @@ export default {
let currentEventCount = vm.obj.length;
let timeZoneName = window.$gz.locale.getBrowserTimeZoneName();
let languageName = window.$gz.locale.getBrowserLanguages();
let hour12 = window.$gz.store.state.locale.hour12;
let hour12 = window.$gz.store.state.userOptions.hour12;
for (let i = 0; i < temp.length; i++) {
temp[i].date = window.$gz.locale.utcDateToShortDateAndTimeLocalized(
temp[i].date,

View File

@@ -160,7 +160,7 @@ export default {
let timeZoneName = window.$gz.locale.getBrowserTimeZoneName();
let languageName = window.$gz.locale.getBrowserLanguages();
let hour12 = window.$gz.store.state.locale.hour12;
let hour12 = window.$gz.store.state.userOptions.hour12;
for (let i = 0; i < temp.length; i++) {
temp[
i

View File

@@ -175,6 +175,8 @@ export default {
await vm.getDataFromApi(vm.$route.params.recordid); //let getdata handle loading
}
} else {
//default to their configured email address on new record
this.obj.deliveryAddress = this.$store.state.userOptions.emailAddress;
vm.formState.loading = false; //here we handle it immediately
}
//set initial form status

View File

@@ -316,7 +316,7 @@ export default {
});
//Set values in store so they are updated immediately for user
let l = vm.$store.state.locale;
let l = vm.$store.state.userOptions;
if (vm.obj.languageOverride) {
l.languageOverride = vm.obj.languageOverride;
@@ -334,7 +334,14 @@ export default {
l.hour12 = vm.obj.hour12;
}
window.$gz.store.commit("setLocale", l);
if (vm.obj.uiColor) {
l.uiColor = vm.obj.uiColor;
}
if (vm.obj.emailAddress) {
l.emailAddress = vm.obj.emailAddress;
}
window.$gz.store.commit("setUserOptions", l);
if (
vm.activeTranslationId &&

View File

@@ -180,26 +180,27 @@ export default {
dirty: false
});
//Set values in store so they are updated immediately for user
let l = vm.$store.state.locale;
//why is this crap here, copied over from user settings form I guess , remove
// //Set values in store so they are updated immediately for user
// let l = vm.$store.state.userOptions;
if (vm.obj.languageOverride) {
l.languageOverride = vm.obj.languageOverride;
}
// if (vm.obj.languageOverride) {
// l.languageOverride = vm.obj.languageOverride;
// }
if (vm.obj.timeZoneOverride) {
l.timeZoneOverride = vm.obj.timeZoneOverride;
}
// if (vm.obj.timeZoneOverride) {
// l.timeZoneOverride = vm.obj.timeZoneOverride;
// }
if (vm.obj.currencyName) {
l.currencyName = vm.obj.currencyName;
}
// if (vm.obj.currencyName) {
// l.currencyName = vm.obj.currencyName;
// }
if (vm.obj.hour12) {
l.hour12 = vm.obj.hour12;
}
// if (vm.obj.hour12) {
// l.hour12 = vm.obj.hour12;
// }
window.$gz.store.commit("setLocale", l);
// window.$gz.store.commit("setUserOptions", l);
}
} catch (error) {
vm.formState.loading = false;