This commit is contained in:
@@ -44,41 +44,30 @@ CURRENT TODOs
|
||||
|
||||
SHELL / NAV / MENUS / LAYOUT
|
||||
|
||||
- Best way to handle filters at client
|
||||
- Client sends filter and sort as json fragment when requesting list, same format as with datafilter
|
||||
- Example filter and sort:
|
||||
- "{"data":{"id":1,"concurrencyToken":7169684,"userId":1,"name":"SortByFieldAscendingWorks 1581453714634 1581453715083","public":true,"listKey":"TestWidgetDataList","filter":"[ { "fld": "widgetname", "op": "%-", "value": "SortByFieldAscendingWorks 1581453714634" }]","sort":"[ { "fld": "widgetstartdate", "dir": "+" }]"}}"
|
||||
- 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 dates as a *BETWEEN* type filter
|
||||
- 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:
|
||||
|
||||
TODO: FILTER AT CLIENT
|
||||
- Combined sort and filter should be user surfaced with name "List options" (yes there is already a listoptions object but that can be refactored)
|
||||
- Go to server and rename DataListFilter shit to DataListOptions
|
||||
|
||||
- SERVER: DataList fetcher ListOptions no longer uses datafilterid anymore nor does any part of datalist code, instead they accept a single sort and filter json fragment
|
||||
- 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 filter sort frag to querybuilders
|
||||
- INTEGRATION TESTS: Update to work with new method for datafilter
|
||||
- CLIENT: needs datafilter rehydration code also maybe part of doing the datafilter UI stuff
|
||||
|
||||
|
||||
TODO: FILTER UI
|
||||
- Show current filter summary or text name of filter at top of filter
|
||||
- going to need filter name and also a summarized fragment of text showing criteria for reporting so also could purpose that list to show current filter?
|
||||
- Filter picklist will show name for the current filter and sb at top of filter right up front
|
||||
- Relative time filters need to be removed from server and replaced with a single BETWEEN filter
|
||||
- Then they need to be re-implemented at the client where the client will send the between date/times to the server based on the user's chosen relative token
|
||||
- This fixes a bad design decision to involve the server in time zone shit when in fact the server should never operate in anything but UTC
|
||||
- Time zones are a client issue and should never be a server issue
|
||||
- When the filter code and processor is written it should calc the dates based on token and user's local time , then conver to between filter on the fly
|
||||
- system is written with static filters saved to server so maybe need to turn it around and instead of providing a filterid, provide the filter json instead?
|
||||
|
||||
- PickList of filters for dataListKey (DO I have a server route for that?)
|
||||
- ListOptions editor
|
||||
- OWN PAGE NOT combined with data table
|
||||
- Data Table just has the selection for presaved filters
|
||||
- UI allows to edit both filters and sort order
|
||||
- FILTERS: needs to take a list of available fields to select from, pick on adds to collection then can set actual OP and VALUE etc stuff on it based on type
|
||||
- Build from new, rehydrate view from existing, handle bad column names no longer valid
|
||||
- uses standard filter column definition to feed UI elements, ideally not a composite array that needs transformation
|
||||
- See custom fields builder as that is similar
|
||||
- Code as an component element, perhaps made of other components?
|
||||
- SORT
|
||||
- In same UI as the filter builder, probably the most commonly accessed of the two so maybe sort order on top and filter below?
|
||||
|
||||
- ListOptions builder
|
||||
- Need method that builds the list options into json fragments to send to server with datalist request
|
||||
- ListOptions descriptive text builder
|
||||
- A Way to show a string of text showing what filter options and sort options were chosen so can be output to reports etc
|
||||
- DataTAble UI
|
||||
- Pick list of ListOptions for that list type at top also (no options) empty default choice
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user