From b15ab410fca852bc6c85582d9eff01e0f6da46c0 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Wed, 4 Mar 2020 18:19:21 +0000 Subject: [PATCH] --- .../api/relative-date-filter-calculator.js | 62 +++++++++++++++++-- ayanova/src/components/gz-data-table.vue | 4 +- 2 files changed, 59 insertions(+), 7 deletions(-) diff --git a/ayanova/src/api/relative-date-filter-calculator.js b/ayanova/src/api/relative-date-filter-calculator.js index 9703ec04..8fd03dcf 100644 --- a/ayanova/src/api/relative-date-filter-calculator.js +++ b/ayanova/src/api/relative-date-filter-calculator.js @@ -23,11 +23,11 @@ name: vm.lt("DateRangeInTheLastSixMonths"), id: "**" }, - { name: vm.lt("DateRangePastYear"), id: "*pastyear*" }, //last 365 days + { name: vm.lt("DateRangePastYear"), id: "**" }, //last 365 days - { name: vm.lt("DateRangePast90Days"), id: "*past90days*" }, - { name: vm.lt("DateRangePast30Days"), id: "*past30days*" }, - { name: vm.lt("DateRangePast24Hours"), id: "*past24hours*" } */ + { name: vm.lt("DateRangePast90Days"), id: "**" }, + { name: vm.lt("DateRangePast30Days"), id: "**" }, + { name: vm.lt("DateRangePast24Hours"), id: "**" } */ ///////////////////////////////// // Convert a date token to local // date range suitable for query @@ -308,7 +308,7 @@ export default { break; - case "*pastyear*": //last 365 days + case "*pastyear*": //within the prior 365 days before today //From Now minus 365 days var dtAfter = dtToday.plus({ days: -365 }); @@ -324,6 +324,58 @@ export default { break; + case "*past90days*": + //From Now minus 90 days + var dtAfter = dtNow.plus({ days: -90 }); + + //Before now + var dtBefore = dtNow; + + //move after back a second for boundary + dtAfter = dtAfter.plus({ seconds: -1 }); + + //set return values from calculated values + ret.after = dtAfter.toUTC().toString(); + ret.before = dtBefore.toUTC().toString(); + + break; + + case "*past30days*": + //From Now minus 30 days + var dtAfter = dtNow.plus({ days: -30 }); + + //Before now + var dtBefore = dtNow; + + //move after back a second for boundary + dtAfter = dtAfter.plus({ seconds: -1 }); + + //set return values from calculated values + ret.after = dtAfter.toUTC().toString(); + ret.before = dtBefore.toUTC().toString(); + + break; + + case "*past24hours*": + //From Now minus 24 hours + var dtAfter = dtNow.plus({ hours: -24 }); + + //Before now + var dtBefore = dtNow; + + //move after back a second for boundary + dtAfter = dtAfter.plus({ seconds: -1 }); + + //set return values from calculated values + ret.after = dtAfter.toUTC().toString(); + ret.before = dtBefore.toUTC().toString(); + + break; + + default: + throw "realtive-date-time-filter-calculater: Date token [" + + token + + "] was not recognized"; //-------------------------- } diff --git a/ayanova/src/components/gz-data-table.vue b/ayanova/src/components/gz-data-table.vue index 75402281..7dd9a23f 100644 --- a/ayanova/src/components/gz-data-table.vue +++ b/ayanova/src/components/gz-data-table.vue @@ -916,8 +916,8 @@ function untokenizeListView(lv) { //iterate the array and build a new array with substituted tokens with the correct date and time in them //console.log(lv); //console.log(JSON.parse(lv)); - console.log("test:pastyear"); - console.log(relativeDatefilterCalculator.tokenToDates("*pastyear*")); + console.log("test:past30days"); + console.log(relativeDatefilterCalculator.tokenToDates("*past30days*")); //[{"fld":"widgetname"},{"fld":"widgetstartdate","filter":{"items":[{"op":"=","value":"*past90days*","token":true}]}},{"fld":"widgetenddate"}] if (lv == null) { return lv;