diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 74a96a48..73fc61c6 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -50,7 +50,8 @@ todo: custom fields currency type control NOT implement yet, are there others to todo: custom fields date only and time only are not setting but combined date/time is setting - It's possible I made a change in datetime that I need to also make in standalone separate ones to update properly - Maybe in event emitted? - + +todo: are *all* custom field types working? Not certain todo: apparently I can change the buttons to display the text not uppercase with class="text-none" or something - https://github.com/vuetifyjs/vuetify/issues/3948 diff --git a/ayanova/src/components/custom-fields-control.vue b/ayanova/src/components/custom-fields-control.vue index a22849e4..0094c489 100644 --- a/ayanova/src/components/custom-fields-control.vue +++ b/ayanova/src/components/custom-fields-control.vue @@ -207,7 +207,7 @@ export default { //Only process if value is non-null since all control types can handle null if (ret != null) { //check types that matter - /* + /*thes are all types, not necessarily all custom field types NoType = 0, DateTime = 1, Date = 2, @@ -229,7 +229,6 @@ export default { case 2: case 3: //can it be parsed into a date using the same library as the components use? - //window.$gz.DateTime.fromISO(valueStart); if (!window.$gz.DateTime.fromISO(ret).isValid) { ret = null; } diff --git a/ayanova/src/components/date-control.vue b/ayanova/src/components/date-control.vue index 9dcdee8b..5572aa36 100644 --- a/ayanova/src/components/date-control.vue +++ b/ayanova/src/components/date-control.vue @@ -68,9 +68,7 @@ export default { date() { //this tortuous fuckery is required so that the input and change events only fire on a real change, not initial page load //also it shouldn't signal a change if the values are the same and nothing was effectively changed - var hasChanged = false; - if (this.date != this.oldDate) { hasChanged = true; } @@ -117,8 +115,13 @@ export default { ); }, set(value) { + //2017-08-15T12:10:34.4443084+03:00 + var TimePortion = this.timeOnly; + if (!TimePortion) { + TimePortion = "00:00:00"; + } this.date = window.$gz.locale.localTimeDateStringToUTC8601String( - value + "T" + this.timeOnly, + value + "T" + TimePortion, this.timeZoneName ); } @@ -133,8 +136,24 @@ export default { ); }, set(value) { + var DatePortion = this.dateOnly; + if (!DatePortion) { + var v = new Date(); + var fullYear = v.getFullYear(); + var fullMonth = v.getMonth() + 1; + if (fullMonth < 10) { + fullMonth = "0" + fullMonth.toString(); + } + var fullDay = v.getDate(); + if (fullDay < 10) { + fullDay = "0" + fullDay.toString(); + } + + DatePortion = fullYear + "-" + fullMonth + "-" + fullDay; + } + this.date = window.$gz.locale.localTimeDateStringToUTC8601String( - this.dateOnly + "T" + value, + DatePortion + "T" + value, this.timeZoneName ); } diff --git a/ayanova/src/components/time-control.vue b/ayanova/src/components/time-control.vue index 31106bd3..0149c1ec 100644 --- a/ayanova/src/components/time-control.vue +++ b/ayanova/src/components/time-control.vue @@ -74,7 +74,7 @@ export default { //this tortuous fuckery is required so that the input and change events only fire on a real change, not initial page load //also it shouldn't signal a change if the values are the same and nothing was effectively changed var hasChanged = false; - if (this.oldDate != null && this.date != this.oldDate) { + if (this.date != this.oldDate) { hasChanged = true; } this.oldDate = this.date; @@ -113,8 +113,13 @@ export default { ); }, set(value) { + //2017-08-15T12:10:34.4443084+03:00 + var TimePortion = this.timeOnly; + if (!TimePortion) { + TimePortion = "00:00:00"; + } this.date = window.$gz.locale.localTimeDateStringToUTC8601String( - value + "T" + this.timeOnly, + value + "T" + TimePortion, this.timeZoneName ); } @@ -129,8 +134,24 @@ export default { ); }, set(value) { + var DatePortion = this.dateOnly; + if (!DatePortion) { + var v = new Date(); + var fullYear = v.getFullYear(); + var fullMonth = v.getMonth() + 1; + if (fullMonth < 10) { + fullMonth = "0" + fullMonth.toString(); + } + var fullDay = v.getDate(); + if (fullDay < 10) { + fullDay = "0" + fullDay.toString(); + } + + DatePortion = fullYear + "-" + fullMonth + "-" + fullDay; + } + this.date = window.$gz.locale.localTimeDateStringToUTC8601String( - this.dateOnly + "T" + value, + DatePortion + "T" + value, this.timeZoneName ); }