This commit is contained in:
@@ -429,6 +429,99 @@ namespace AyaNova.DataList
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
|
###################################################################################################
|
||||||
|
Javascript version of this taken from most recent grid code:
|
||||||
|
|
||||||
|
// ////////////////////
|
||||||
|
// //
|
||||||
|
// function untokenizeListView(lvJson) {
|
||||||
|
// //if it has one or more tokens
|
||||||
|
// //iterate the array and build a new array with substituted tokens with the correct date and time in them
|
||||||
|
|
||||||
|
// //format of a date token filter
|
||||||
|
// //[{"fld":"widgetname"},{"fld":"widgetstartdate","filter":{"items":[{"op":"=","value":"*past90days*","token":true}]}},{"fld":"widgetenddate"}]
|
||||||
|
// if (lvJson == null) {
|
||||||
|
// return lvJson;
|
||||||
|
// }
|
||||||
|
// //See if it has any date tokens
|
||||||
|
// if (lvJson.indexOf('"token":true') == -1) {
|
||||||
|
// return lvJson;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// //we have one or more tokens, substitute them in the filter array
|
||||||
|
// let ret = [];
|
||||||
|
// let lv = JSON.parse(lvJson);
|
||||||
|
|
||||||
|
// //iterate the incoming and copy to the outgoing directly
|
||||||
|
// //except if a date token filter then substitute our own filter object in place
|
||||||
|
// for (let ilv = 0; ilv < lv.length; ilv++) {
|
||||||
|
// //listview object
|
||||||
|
// let lvo = lv[ilv];
|
||||||
|
// //instantiate return object
|
||||||
|
// let reto = {};
|
||||||
|
// //copy over field name to return object
|
||||||
|
// reto.fld = lvo.fld;
|
||||||
|
// //sort?
|
||||||
|
// if (lvo.sort) {
|
||||||
|
// reto.sort = lvo.sort;
|
||||||
|
// }
|
||||||
|
// //does it have a filter?
|
||||||
|
// if (lvo.filter) {
|
||||||
|
// //yes, so copy / transform as required
|
||||||
|
|
||||||
|
// //create an empty filter items array on return object
|
||||||
|
// reto.filter = { items: [] };
|
||||||
|
|
||||||
|
// //"any" property set?
|
||||||
|
// if (lvo.filter.any) {
|
||||||
|
// reto.filter.any = true;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// //iterate the filter items in the source lvo object
|
||||||
|
// for (let j = 0; j < lvo.filter.items.length; j++) {
|
||||||
|
// //get this filter item
|
||||||
|
// let fi = lvo.filter.items[j];
|
||||||
|
// //no token shortcut
|
||||||
|
// if (!fi.token) {
|
||||||
|
// //just copy it out
|
||||||
|
// reto.filter.items.push(fi);
|
||||||
|
// } else {
|
||||||
|
// //it has a date token so let's build it out
|
||||||
|
// //filter item value contains the token, op is always equals
|
||||||
|
// let filterDates = relativeDatefilterCalculator.tokenToDates(fi.value);
|
||||||
|
// //create and add a new filter item for each not undefined value
|
||||||
|
// //{ after: undefined, before: undefined }
|
||||||
|
// //AFTER DATE?
|
||||||
|
// if (filterDates.after) {
|
||||||
|
// reto.filter.items.push({
|
||||||
|
// op: ">", //was GreaterThanOrEqualTo but that doesn't make sense, it's only greater than was seeing wrong return data as relative date filter already adjusts for boundaries
|
||||||
|
// value: filterDates.after
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// //BEFORE DATE?
|
||||||
|
// if (filterDates.before) {
|
||||||
|
// reto.filter.items.push({
|
||||||
|
// op: "<", //was LessThanOrEqualTo but see above for after ===-----^
|
||||||
|
// value: filterDates.before
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// //end of has filter if condition
|
||||||
|
// }
|
||||||
|
|
||||||
|
// //push the return object into the return array
|
||||||
|
// ret.push(reto);
|
||||||
|
// //end of iterate lv loop
|
||||||
|
// }
|
||||||
|
|
||||||
|
// return JSON.stringify(ret);
|
||||||
|
// } //[{"fld":"widgetname"},{"fld":"widgetstartdate","filter":{"items":[{"op":"=","value":"*past90days*","token":true}]}},{"fld":"widgetenddate"}]
|
||||||
|
|
||||||
|
#############################################################################################################################################################
|
||||||
|
|
||||||
Last working server date token filter code from revision 2612 feb 7 2020
|
Last working server date token filter code from revision 2612 feb 7 2020
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user