This commit is contained in:
@@ -48,16 +48,12 @@ CURRENT TODOs
|
|||||||
SHELL / NAV / MENUS / LAYOUT
|
SHELL / NAV / MENUS / LAYOUT
|
||||||
|
|
||||||
|
|
||||||
CLIENT PROJECT CUSTOM FIELDS CHANGE
|
|
||||||
- Must use numeric instead of text values now for field types
|
|
||||||
- Additional NUMBER is split now between integer and decimal types update control STEP value for inputs to include decimal places or none depending on type
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TODO: GRIDS
|
TODO: GRIDS
|
||||||
- MAKE GRID AS GENERIC VUE COMPONENT
|
- MAKE GRID AS GENERIC VUE COMPONENT
|
||||||
- See gz-data-table.vue notes in component comments for it's own todo's
|
- See gz-data-table.vue notes in component comments for it's own todo's
|
||||||
|
- See test-widgets.vue for parent container that hosts control and get devving!!
|
||||||
|
|
||||||
- MUST HANDLE HIDDEN FIELDS AND NOT DISPLAY (this is also a server issue)
|
- MUST HANDLE HIDDEN FIELDS AND NOT DISPLAY (this is also a server issue)
|
||||||
- Grid does *NOT* have sort indicators or controls, that's behind the grid in the filter UI, this is necessary for reasons I forget
|
- Grid does *NOT* have sort indicators or controls, that's behind the grid in the filter UI, this is necessary for reasons I forget
|
||||||
@@ -85,6 +81,8 @@ TODO: GRIDS
|
|||||||
- Modify the grid to no longer use mock values but real ones instead and test
|
- Modify the grid to no longer use mock values but real ones instead and test
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
TODO: MAKE COMPONENT Select lists and filtering by tag "select-search-filter-control"
|
TODO: MAKE COMPONENT Select lists and filtering by tag "select-search-filter-control"
|
||||||
- Implement it as a component with built in searching and tag selection that is sticky by individual form item
|
- Implement it as a component with built in searching and tag selection that is sticky by individual form item
|
||||||
- this is an important crucial item and needs to be easy and clean
|
- this is an important crucial item and needs to be easy and clean
|
||||||
|
|||||||
@@ -22,18 +22,19 @@ This handles fetching and displaying the data, the parent form handles all other
|
|||||||
- selecting filters and adding editing templates
|
- selecting filters and adding editing templates
|
||||||
|
|
||||||
What is required to be sent to server:
|
What is required to be sent to server:
|
||||||
- example full request http://localhost:7575/api/v8/Widget/ListWidgets?Offset=1&Limit=12&DataFilterId=122&vp=xs
|
- example full request: DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId=1
|
||||||
- api list url
|
- example mini request: DataList/list?DataListKey=TestWidgetDataList&Offset=0&Limit=999&DataFilterId=1&mini=true
|
||||||
- "Widget/ListWidgets"
|
|
||||||
- Offset
|
- Offset
|
||||||
- Limit
|
- Limit
|
||||||
- DatafilterId
|
- DatafilterId
|
||||||
- Viewport if XS otherwise nothing
|
- mini=true if XS otherwise nothing
|
||||||
|
|
||||||
|
|
||||||
What it needs from it's parent form:
|
|
||||||
|
What it needs from it's parent form:
|
||||||
- form key for saving / getting persistent grid settings
|
- form key for saving / getting persistent grid settings
|
||||||
- api list url
|
- api list url (maybe, or if all from datalist then no)
|
||||||
|
- DataListKey value
|
||||||
- filter id
|
- filter id
|
||||||
- refresh command
|
- refresh command
|
||||||
- rows per page
|
- rows per page
|
||||||
@@ -46,11 +47,164 @@ What it needs to provide TO it's parent form
|
|||||||
|
|
||||||
|
|
||||||
What will be delivered by the server:
|
What will be delivered by the server:
|
||||||
- a response object like this:
|
Example request: http://localhost:7575/api/v8/DataList/List?Offset=2&Limit=2&DataListKey=TestWidgetDataList
|
||||||
|
Full response object:
|
||||||
{
|
{
|
||||||
"data": [ ...all rows here ... ] ,
|
"data": [
|
||||||
"paging": { ...paging data... },
|
[
|
||||||
"columns":{ ...column definitions .... }
|
{
|
||||||
|
"v": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": "Handcrafted Fresh Keyboard 27",
|
||||||
|
"i": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": 697.34
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": 128
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": "2020-01-28T12:10:46.212435Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": "Doug Effertz 17 - OpsAdminFull",
|
||||||
|
"i": 18
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"v": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": "Unbranded Fresh Shoes 28",
|
||||||
|
"i": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": 219.09
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": 16
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": "2020-01-28T12:33:14.347243Z"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": "Samuel Powlowski 14 - CustomerLimited",
|
||||||
|
"i": 15
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"paging": {
|
||||||
|
"count": 100,
|
||||||
|
"offset": 2,
|
||||||
|
"limit": 2,
|
||||||
|
"first": "http://localhost:7575/api/v8/DataList/List?DataListKey=TestWidgetDataList&pageNo=1&pageSize=2",
|
||||||
|
"previous": "http://localhost:7575/api/v8/DataList/List?DataListKey=TestWidgetDataList&pageNo=1&pageSize=2",
|
||||||
|
"next": "http://localhost:7575/api/v8/DataList/List?DataListKey=TestWidgetDataList&pageNo=3&pageSize=2",
|
||||||
|
"last": "http://localhost:7575/api/v8/DataList/List?DataListKey=TestWidgetDataList&pageNo=50&pageSize=2"
|
||||||
|
},
|
||||||
|
"columns": [
|
||||||
|
{
|
||||||
|
"cm": "df",
|
||||||
|
"dt": 0,
|
||||||
|
"ay": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cm": "WidgetName",
|
||||||
|
"dt": 4,
|
||||||
|
"ay": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cm": "WidgetSerial",
|
||||||
|
"dt": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cm": "WidgetDollarAmount",
|
||||||
|
"dt": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cm": "WidgetRoles",
|
||||||
|
"dt": 10
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cm": "WidgetStartDate",
|
||||||
|
"dt": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cm": "Active",
|
||||||
|
"dt": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cm": "User",
|
||||||
|
"dt": 4,
|
||||||
|
"ay": 3
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
MINI Response object:
|
||||||
|
{
|
||||||
|
"data": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"v": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": "Handmade Soft Towels 27",
|
||||||
|
"i": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"v": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": "Handcrafted Cotton Cheese 28",
|
||||||
|
"i": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"v": 4
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"paging": {
|
||||||
|
"count": 100,
|
||||||
|
"offset": 2,
|
||||||
|
"limit": 2,
|
||||||
|
"first": "http://localhost:7575/api/v8/DataList/List?DataListKey=TestWidgetDataList&Mini=True&pageNo=1&pageSize=2",
|
||||||
|
"previous": "http://localhost:7575/api/v8/DataList/List?DataListKey=TestWidgetDataList&Mini=True&pageNo=1&pageSize=2",
|
||||||
|
"next": "http://localhost:7575/api/v8/DataList/List?DataListKey=TestWidgetDataList&Mini=True&pageNo=3&pageSize=2",
|
||||||
|
"last": "http://localhost:7575/api/v8/DataList/List?DataListKey=TestWidgetDataList&Mini=True&pageNo=50&pageSize=2"
|
||||||
|
},
|
||||||
|
"columns": [
|
||||||
|
{
|
||||||
|
"cm": "df",
|
||||||
|
"dt": 0,
|
||||||
|
"ay": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cm": "Widget",
|
||||||
|
"dt": 4,
|
||||||
|
"ay": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
What this grid needs to do:
|
What this grid needs to do:
|
||||||
@@ -74,18 +228,9 @@ What this grid needs to do:
|
|||||||
|
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
- Modify server widgetlist route:
|
- Start coding grid here with vue component parameters and handlers first and in conjunction with test-widgets.vue
|
||||||
|
- Once it's parent / component properties are set then get into the details
|
||||||
|
|
||||||
- Modify route to accept mini paramenter for small viewport (OR maybe something less tied to physical screen size, i.e. it's a single column so maybe that like format=compact)
|
|
||||||
- Add mock column data and include it in the response for grid queries
|
|
||||||
- modify server to return alternate list of just names and id's if vp paramenter is present and xs (may be other values in future so check for xs specifically)
|
|
||||||
- this route could actually be just a defined c# object since it's always going to be one column and one id like namevalue list
|
|
||||||
- full width all columns though would be different kettle of fish entirely so this is a good time to experiment and figure it out
|
|
||||||
- not sure if right time but also need to modify server return to hide hidden columns which we have working code for already for widgets to hide them so yay?
|
|
||||||
- Also custom fields, or is that a template issue?
|
|
||||||
|
|
||||||
- Start coding grid here with vue component parameters and handlers first and work down into detailed items once they are all in place between parent and here
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
export default {
|
export default {
|
||||||
|
|||||||
Reference in New Issue
Block a user