This commit is contained in:
2020-02-11 20:38:41 +00:00
parent 4d6077d6b4
commit 8159db4280

View File

@@ -44,7 +44,28 @@ CURRENT TODOs
SHELL / NAV / MENUS / LAYOUT
- Determine best way to handle filters at client then code it
- Best way to handle filters at client
- Client sends filter and sort as json fragments when requesting list
- OPEN QUESTION: Are filter and sort different fragments?
- Saved filters are only for the client consumption not the server ever
- User creates saves and selects filters at client with list type above list in ui
- Relative tokens are stored in the filter as tokens, user never needs to set dates for them as they are all relative anyway
-
- If filter selected then it builds the json fragment to send based on the filter currently selected and sends that with the datalist request
- If relative dates are in it then they are rehydrated into utc iso-8601 format dates
- Server validates filter and sort json fragment during query build, if not ok then either attempts to workaround or balks with error (probably balks is the better choice)
- TOOD:
- SERVER: Keep data filter routes and stuff at server pretty much as is but keep in mind they are only for the client's consumption
- SERVER: DataList fetcher ListOptions no longer uses datafilterid anymore nor does any part of datalist code, instead they accept a sort and filter json fragment(s)
- SERVER: DataList controller get list route change from GET to POST
- SERVER: DataList controller get list route change from query string properties for listoptions to POST in FORM options (since much bigger)
- SERVER: DATALIST BIZ now must pass json frags to querybuilders
- Filter: "{[today]}";
- Maybe same as before however the client will update the
- Modify datalist server code to alternatively accept a json filter string instead of a filter ID (post?)
- Actually, this is jsut for relative dates so, instead how about optional start and stop date parameters to go with filterid that contains relative filter?
- Mayve need to actually make the filter client code and that will trigger the right design?