This commit is contained in:
2020-01-09 20:42:26 +00:00
parent fef04f29ed
commit 4c718f7832

View File

@@ -25,9 +25,9 @@ Client
- the client sends no viewport= parameter as it's optional and understood to be full size
- the list comes back as an object with not only the actual columns but also a separate property listing the set of columns in order to be displayed
- Also their data type
- Also need to handle links of what type of object and or ID to open maybe for each column
- Also need what type of object if openable with an url
- Client expects an arbitrary set of columns in an arbitrary order defined by server so doesn't have a pre-ordained set of things.
- HMMM... Maybe I only need a single list object that adapts to the data being sent back
- HMMM... Maybe I only need a single list object that adapts to the data being sent back!!!!!
Server
- Server needs to accept a parameter from the client when a grid list is fetched that tells it if it needs to send a single column templated list
@@ -35,6 +35,25 @@ Server
- Grid lists need to know what their template is as more than one list might use the same template?
- SERVER SENDS LIST OF COLUMNS
- The server needs to tell the client which columns are coming back with the list and what types etc so the client can just adapt to any template setting
- column list has type of object behind each column if applicable so client can make hyperlinks
- SERVER SENDS DATA
- Data in json format
- Each row has each column as a object comprising of:
- Display value (the data to show, not formatted yet, that's up to the client)
- Optional: ID value (if the object is openable then this is the id to open for the client to put a hyperlink on that column)
- For example (wide list):
data:{
columns:{ {name:"lt_client_name",datatype:text,ayatype:client},{name:"lt_client_notes",datatype:text},{name:"lt_last_workorder",datatype:number,ayatype:workorder}}
rows:{ {display:"Green mechanics",id:32},"...notes...",{display:"42",id:42}, ...thousands more etc.... }
}
- For example (XS list)
data:{
columns:{ {name:"lt_client",datatype:text,ayatype:client}}
rows:{ {display:"Green mechanics",id:32}, ...thousands more etc.... }
}
- has separate property defining all columns in list, their datatype and ayatype if openable
Back AND front end