This commit is contained in:
2021-02-02 20:47:02 +00:00
parent f78d0f9532
commit c1b6c5e336
24 changed files with 63 additions and 35 deletions

View File

@@ -673,7 +673,7 @@ export default {
UserName: window.$gz.store.state.userName,
Authorization: "Bearer " + window.$gz.store.state.apiToken, //api token for using api methods as current user viewing report
DownloadToken: window.$gz.store.state.downloadToken,
TimeZoneName: window.$gz.locale.getBrowserTimeZoneName(),
TimeZoneName: window.$gz.locale.getResolvedTimeZoneName(),
LanguageName: window.$gz.locale.getBrowserLanguages(),
Hour12: window.$gz.locale.getHour12(),
CurrencyName: window.$gz.locale.getCurrencyName(),

View File

@@ -771,7 +771,7 @@ async function getUserOptions() {
l.timeZoneOverride =
res.data.timeZoneOverride ||
window.$gz.locale.getBrowserTimeZoneName() ||
window.$gz.locale.getResolvedTimeZoneName() ||
"America/New_York";
//No browser setting for this so meh

View File

@@ -1,5 +1,8 @@
/* ZZeslint-disable */
//Browser Locale conversion utilities
import { faYinYang } from "@fortawesome/free-solid-svg-icons";
//dates,numbers currency etc
export default {
////////////////////////////////////////////////////////
@@ -25,8 +28,13 @@ export default {
// Get users default time zone
//https://www.iana.org/time-zones
//https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
getBrowserTimeZoneName() {
return Intl.DateTimeFormat().resolvedOptions().timeZone;
getResolvedTimeZoneName() {
let ov = window.$gz.store.state.userOptions.timeZoneOverride;
if (!window.$gz.util.stringIsNullOrEmpty(ov)) {
return window.$gz.store.state.userOptions.timeZoneOverride;
} else {
return Intl.DateTimeFormat().resolvedOptions().timeZone;
}
},
//////////////////////////////////////////////////
// Get the user's chosen currency name
@@ -55,7 +63,7 @@ export default {
return "";
}
if (!timeZoneName) {
timeZoneName = this.getBrowserTimeZoneName();
timeZoneName = this.getResolvedTimeZoneName();
}
if (!languageName) {
languageName = this.getBrowserLanguages();
@@ -88,7 +96,7 @@ export default {
return "";
}
if (!timeZoneName) {
timeZoneName = this.getBrowserTimeZoneName();
timeZoneName = this.getResolvedTimeZoneName();
}
if (!languageName) {
languageName = this.getBrowserLanguages();
@@ -115,7 +123,7 @@ export default {
return "";
}
if (!timeZoneName) {
timeZoneName = this.getBrowserTimeZoneName();
timeZoneName = this.getResolvedTimeZoneName();
}
if (!languageName) {
languageName = this.getBrowserLanguages();
@@ -153,7 +161,7 @@ export default {
//also fr-CA does as well as possibly en-CA
//https://stackoverflow.com/a/58633686/8939
if (!timeZoneName) {
timeZoneName = this.getBrowserTimeZoneName();
timeZoneName = this.getResolvedTimeZoneName();
}
return new Date(value).toLocaleTimeString("sv-SE", {
timeZone: timeZoneName
@@ -168,7 +176,7 @@ export default {
localTimeDateStringToUTC8601String(value, timeZoneName) {
//https://moment.github.io/luxon/docs/manual/zones.html#creating-datetimes-in-a-zone
if (!timeZoneName) {
timeZoneName = this.getBrowserTimeZoneName();
timeZoneName = this.getResolvedTimeZoneName();
}
//parse in the time in the currently used timezone
return window.$gz.DateTime.fromISO(value, {
@@ -194,11 +202,31 @@ export default {
//
clientLocalZoneTimeStamp(timeZoneName) {
if (!timeZoneName) {
timeZoneName = this.getBrowserTimeZoneName();
timeZoneName = this.getResolvedTimeZoneName();
}
return window.$gz.DateTime.local()
.setZone(timeZoneName)
.toString();
// let ret = window.$gz.DateTime.local()
// .setZone(timeZoneName, { keepLocalTime: true })
// .toString();
let l = new Date();
//DateTime.fromISO("2017-05-15T09:10:23", { zone: "Europe/Paris" });
let ret = window.$gz.DateTime.fromObject({
zone: timeZoneName,
year: l.getFullYear(),
month: l.getMonth() + 1,
day: l.getDate(),
hour: l.getHours(),
minute: l.getMinutes(),
second: l.getSeconds(),
millisecond: l.getMilliseconds()
});
console.log("clientLocalZoneTimeStamp", {
zoneName: timeZoneName,
ret: ret
});
return ret;
},
///////////////////////////////////////////////
// Get default start date time in api format
@@ -233,7 +261,7 @@ export default {
//also fr-CA does as well as possibly en-CA
//https://stackoverflow.com/a/58633686/8939
if (!timeZoneName) {
timeZoneName = this.getBrowserTimeZoneName();
timeZoneName = this.getResolvedTimeZoneName();
}
return new Date(value).toLocaleDateString("sv-SE", {
timeZone: timeZoneName