diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index e96d6d80..d995e34a 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -10,16 +10,14 @@ MISC ITEMS THAT CAME UP LISTVIEW REPLACE CURRENT <----HERE not THERE ---v (below this is all past for reference) FILTER - Client MUST send filter to server on gridData request because it needs to apply locale dependent datefilteroptions - So the server can store saved filters but client must send the actual filter values to the server - So server datatable filter cannot use local copy AT server but must use copy from client - This is starting to come aroudn to the listView system again! :) - TODO (round 1): - Investigate: - Can the server hydrate the filter and handle filter tokens given some minimal info from the client like timezone? + Very similar to columnview in that it's saved at the server then triggers a refresh and server handles from local copy + Client needs to send current local time and date to server with list request so it can apply relative date filters + Server accepts request clientnow,listview,filterid and applies any relative filter calcs in sqlWhere generator at server + TODO (round 1): SERVER - Accept filter json from client with getdata + Accept filter request from client with clientNow time CLIENT + Send ClientNow with datatable request Implement filter UI to construct local filter object that is temporary and stored in session state doesn't have to do anything specific yet, just handles the filtering into an object for the next stage Construct a filter string json in the format easiest to consume at server diff --git a/ayanova/src/components/data-table.vue b/ayanova/src/components/data-table.vue index b9c306e0..91795966 100644 --- a/ayanova/src/components/data-table.vue +++ b/ayanova/src/components/data-table.vue @@ -723,7 +723,8 @@ export default { limit: listOptions.Limit, dataListKey: vm.dataListKey, listView: untokenizedListView, - clientCriteria: vm.clientCriteria + clientCriteria: vm.clientCriteria, + clientTimeStamp: new Date() }); if (res.error) {