This commit is contained in:
2021-09-24 00:13:36 +00:00
parent b85e7e99b8
commit a384b92927
3 changed files with 395 additions and 10 deletions

View File

@@ -21,6 +21,321 @@
3698 - hide unassigned tech slot (or case 3697 above would take care of that too)
iPad error:
Name:
Test testerson
Company:
GZ TestCo Inc.
Database Id:
Mr8K4dgpDir722i9HLKhCYZ6r4WAweM9N7CQG4L9594=
Message:
AyaNova App
Version: 8.0.0-alpha.131
User: Theresa Christiansen - Tech
12h: true
Override browser time zone: America/Vancouver
Override browser language code: en-CA
Currency code (ISO 4217): USD
Browser
platform: MacIntel
userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15
languages: [ "en-CA" ]
tz: America/Vancouver
oscpu:
maxTouchPoints: 5
webdriver: false
vendor: Apple Computer, Inc.
availWidth: 768
availHeight: 1024
width: 768
height: 1024
devicePixelRatio: 2
pixelDepth: 32
Server
Server address: http://192.168.1.56:7575/api/v8.0/
Version: AyaNova server 8.0.0-alpha.131
Schema version: 1
Server time: 2021-09-23 2:31 PM
Override browser time zone: Pacific Standard Time
License
Licensed to: GZ TestCo Inc.
Database ID: Mr8K4dgpDir722i9HLKhCYZ6r4WAweM9N7CQG4L9594=
License serial number: 1632408933
License expiration date: 2021-10-23T14:55:33.7129704Z
Support and updates expiration date: 2021-10-23T14:55:33.7129704Z
Licensed options
Accounting
ServiceMode
ServiceTechs: 1000
TrialMode
CLIENT LOG
1592933475310|##### New version detected ##### cleared form settings cache ( -> 8.0.0-alpha.6)
1592933475463|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1595354141568|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1599088629760|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1599088633630|##### New version detected ##### cleared form settings cache (8.0.0-alpha.6 -> 8.0.0-alpha.10)
1599088633766|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1599088644529|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1599088644604|auth::processLogin -> User 1 logged in
1599088644604|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1599088713858|auth::processLogout -> User logged out
1624057130392|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1624057135269|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1624057135318|auth::processLogin -> User 1 logged in
1624057135319|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1624057271576|auth::processLogout -> User logged out
1624060747161|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1624060752120|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1624060754068|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1624060754122|auth::processLogin -> User 1 logged in
1624060754123|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1632426279289|auth::processLogout -> User logged out
1632426290692|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1632426290741|auth::processLogin -> User 10 logged in
1632426290741|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1632426302055|Vue error:
Error - Name:Error, Message:NaN is not a valid timestamp. It must be a Date, number of seconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.
info: render
STACK:
Y@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:45:50695
W@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:101988
parseEvent@[native code]
map@[native code]
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31780
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:33478
getScopedSlots@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:108311
getScopedSlots@[native code]
render@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:126624
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:23866
i@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:27910
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31524
Kn@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:29731
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12775
ue@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12166
promiseReactionJob@[native code]
1632426302057|notify-error: Vue error:
Error - Name:Error, Message:NaN is not a valid timestamp. It must be a Date, number of seconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.
info: render
STACK:
Y@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:45:50695
W@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:101988
parseEvent@[native code]
map@[native code]
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31780
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:33478
getScopedSlots@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:108311
getScopedSlots@[native code]
render@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:126624
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:23866
i@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:27910
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31524
Kn@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:29731
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12775
ue@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12166
promiseReactionJob@[native code]
1632426319813|App::Mounted - preset path presented: /home-schedule
1632426320393|Vue error:
Error - Name:Error, Message:NaN is not a valid timestamp. It must be a Date, number of seconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.
info: render
STACK:
Y@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:45:50695
W@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:101988
parseEvent@[native code]
map@[native code]
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31780
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:33478
getScopedSlots@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:108311
getScopedSlots@[native code]
render@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:126624
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:23866
i@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:27910
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31524
Kn@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:29731
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12775
ue@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12166
promiseReactionJob@[native code]
1632426320394|notify-error: Vue error:
Error - Name:Error, Message:NaN is not a valid timestamp. It must be a Date, number of seconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.
info: render
STACK:
Y@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:45:50695
W@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:101988
parseEvent@[native code]
map@[native code]
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31780
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:33478
getScopedSlots@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:108311
getScopedSlots@[native code]
render@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:126624
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:23866
i@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:27910
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31524
Kn@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:29731
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12775
ue@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12166
promiseReactionJob@[native code]
1632426333532|Vue error:
Error - Name:Error, Message:NaN is not a valid timestamp. It must be a Date, number of seconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.
info: render
STACK:
Y@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:45:50695
W@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:101988
parseEvent@[native code]
map@[native code]
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31780
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:33478
getScopedSlots@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:108311
getScopedSlots@[native code]
render@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:126624
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:23866
i@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:27910
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31524
Kn@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:29731
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12775
ue@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12166
promiseReactionJob@[native code]
1632426333532|notify-error: Vue error:
Error - Name:Error, Message:NaN is not a valid timestamp. It must be a Date, number of seconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.
info: render
STACK:
Y@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:45:50695
W@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:101988
parseEvent@[native code]
map@[native code]
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31780
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:33478
getScopedSlots@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:108311
getScopedSlots@[native code]
render@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:126624
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:23866
i@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:27910
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31524
Kn@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:29731
http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12775
ue@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12166
promiseReactionJob@[native code]
1632432624067|App::Mounted - preset path presented: /about
1632432642216|App::Mounted - preset path presented: /about
1632432647725|auth::processLogout -> User logged out
1632432653007|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1632432660143|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1632432660193|auth::processLogin -> User 10 logged in
1632432660194|gzapi::APIUrl -> setting to: http://192.168.1.56:7575/api/v8.0/
1632432668970|Vue error:
Error - Name:Error, Message:NaN is not a valid timestamp. It must be a Date, number of seconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.
info: render
STACK:
Y@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:45:50695
W@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:101988
parseEvent@[native code]
map@[native code]
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31780
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:33478
getScopedSlots@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:108311
getScopedSlots@[native code]
render@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:126624
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:23866
i@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:27910
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31524
Kn@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:29731
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12775
ue@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12166
promiseReactionJob@[native code]
1632432668972|notify-error: Vue error:
Error - Name:Error, Message:NaN is not a valid timestamp. It must be a Date, number of seconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.
info: render
STACK:
Y@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:45:50695
W@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:101988
parseEvent@[native code]
map@[native code]
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31780
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:33478
getScopedSlots@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:108311
getScopedSlots@[native code]
render@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:126624
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:23866
i@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:27910
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31524
Kn@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:29731
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12775
ue@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12166
promiseReactionJob@[native code]
1632432678709|Vue error:
Error - Name:Error, Message:NaN is not a valid timestamp. It must be a Date, number of seconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.
info: render
STACK:
Y@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:45:50695
W@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:101988
parseEvent@[native code]
map@[native code]
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31780
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:33478
getScopedSlots@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:108311
getScopedSlots@[native code]
render@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:126624
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:23866
i@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:27910
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31524
Kn@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:29731
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12775
ue@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12166
promiseReactionJob@[native code]
1632432678710|notify-error: Vue error:
Error - Name:Error, Message:NaN is not a valid timestamp. It must be a Date, number of seconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.
info: render
STACK:
Y@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:45:50695
W@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:101988
parseEvent@[native code]
map@[native code]
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31780
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:33478
getScopedSlots@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:108311
getScopedSlots@[native code]
render@http://192.168.1.56:7575/js/ay-common.05538e3e.js:1:126624
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:23866
i@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:27910
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:30792
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:31524
Kn@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:29731
@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12775
ue@http://192.168.1.56:7575/js/chunk-vendors.d24d09fe.js:7:12166
promiseReactionJob@[native code]
//..........
Data Table filter, now impossible to remove a filter because save is blanked out, maybe needs a clear button that does it all? Delete should trigger save too I guess
so maybe save should expose on change, not on presence of filter
@@ -95,6 +410,22 @@ Coded by importance
- 1 BUG BUG: attempt to delete a customer with a linked unit (so it can't be deleted) and get error properly but overlay stays on form
whatever this is needs to be fixed everywhere
- 1 potential serious bug need to test to confirm it's ok:
Test input and display when forced time zone to alternate:
Good test time zones:
America/St_Johns - because it has a fractional hour difference
America/New_York
America/Los_Angeles
In particular also, need to confirm DST boundary still works as expected even when in alternate time zone
Also confirm when not overriding time zone the DST boundary thing
- 1 If the client has not overriden their browser time zone then there is really no need to go through the hoops to convert it
i.e. it should all just work without any conversion, wouldn't that be faster??
- 1 Reminder form dates don't have start before end rule applied??
- 1 reminder list default template has stop before start left to right backwards
- 1 Help->About tech support should not show for a customer login
-2 hyperlinks in memos sb clickable to open in new tab or window or whatever
@@ -105,7 +436,7 @@ todo:2 notifications screen add delete all menu item that will just remove all t
Maybe a checkbox and delete selected and select all?? That way can also be a dual useful feature
also should delete *from* the client so that it deletes only what it has in view so user doesn't accidentally delete unseen yet to be delivered ones?
todo: 2 About page should show license and other expiration dates in local format, right now it's a UTC iso string :(
todo:2 need to track fetched keys vs used keys so can tell if fetched a key that I don't need or stopped using due to code change
todo:2 PO (workorder already done) strip all *viz fields from object before sending over the wire from client to server

View File

@@ -76,9 +76,9 @@ export default {
return window.$gz.store.state.userOptions.hour12;
},
///////////////////////////////////////////
// Turn a utc date into a vueitfy calendar
// schedule control compatible format
/////////////////////////////////////////////////////////////////////
// Turn a utc ISO date from server into a vuetify calendar
// schedule control compatible (epoch) format
// localized.
// For ease of use in schedule the epoch (milliseconds) is the best format
// "It must be a Date, number of seconds since Epoch, or a string in the format of YYYY-MM-DD or YYYY-MM-DD hh:mm. Zero-padding is optional and seconds are ignored.""
@@ -94,12 +94,40 @@ export default {
return null;
}
return new Date(
//sv-SE is iso-8601 format so cleanest to parse accurately
new Date(value).toLocaleString("sv-SE", {
timeZone: timeZoneName
})
).getTime();
//Not sure what all the parsing was about below, but
//if it comes from teh server in iso standard format and ends in '...z' for zulu / utc time
//then not sure what the parsing is needed for as this would output the same epoch value as that's independant of anything
//I'm thinking I meant to adjust to a new epoch value by offset so need to test this with a forced alternate time zone
return new Date(value).getTime();
// //convert to locale timezone and output in the closest thing to iso-8601 format
// let tmp = new Date(value).toLocaleString("sv-SE", {
// timeZone: timeZoneName
// });
// tmp = tmp.replace(" ", "T");
// let ret = new Date(
// tmp
// //sv-SE is iso-8601 format so cleanest to parse accurately
// //bugbug: potential bug here, sv-sE not working on iPad??
// //this always seemed sketchy, how to replace with something
// //less flakey??
// // new Date(value).toLocaleString("sv-SE", {
// // timeZone: timeZoneName
// // })
// ).getTime();
// window.$gz.store.commit(
// "logItem",
// `utcDateToScheduleCompatibleFormatLocalized:${JSON.stringify({
// value: value,
// timeZoneName: timeZoneName,
// tmp: tmp,
// ret: ret,
// newTest: newtest
// })}`
// );
// return ret;
},
///////////////////////////////////////////////
// Convert a local schedule epoch timestamp
@@ -294,6 +322,7 @@ export default {
///////////////////////////////////////////////
// Convert a local time only string with date string
// to UTC and output as ISO 8601
// also converts to time zone specified if diff from browser
// (used by time and date picker components)
//
localTimeDateStringToUTC8601String(value, timeZoneName) {

View File

@@ -421,6 +421,23 @@
TODO NEXT:
bugbug? If I set new york time zone in ayanova, then in schedule the appointments made previously in vancovuer time zone don't seem to move.
if I make a new appointment in the schedule by dragging like 6pm then open a reminder to fill it, it shows as 9pm
so the calendar is still in browser local time, not overridden
This works properly when I can make an appointment in sched set to newyork time at 3pm and then flip to vancovuer time and it's 12:00noon and vice versa
it should show in the sched at correct local time and create at correct local time.
Notes: date/time pickers don't have time zone settings, so whatever I did there I need to do here
For *DISPLAY* need to convert UTC to local iso8601 using locale.utcDateStringToLocal8601DateOnlyString
For return back to actual server value it emits using this code:
let ret = window.$gz.locale.localTimeDateStringToUTC8601String(
theDate + "T" + theTime,
vm.timeZoneName
);
So the issue is that the controls will *always* use / expect the time to be local to the browser ignoring the forced conversion
so we need to present the UTC time to the control as a local time that works for HERE but in fact is then converted by the difference of the forced time zone when saving
If I'm in New York and I book for 4pm it should show 1pm to a user in Vancouver zone
TESTING:
Test here locally and check for layout issues while doing it on all devices
@@ -920,6 +937,10 @@ export default {
nativeEvent.stopPropagation();
},
async fetchEvents({ start, end }) {
window.$gz.store.commit(
"logItem",
`fetchEvents:${JSON.stringify({ start: start.date, end: end.date })}`
);
// console.log("FetchEvents:", { start: start.date, end: end.date });
try {
window.$gz.form.deleteAllErrorBoxErrors(this);
@@ -944,6 +965,10 @@ export default {
this.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(this);
} else {
// window.$gz.store.commit(
// "logItem",
// `fetchEvents::MAPPING, res.data is: ${JSON.stringify(res.data)}`
// );
this.events = res.data.map(x => {
return {
...x,