This commit is contained in:
2020-01-15 21:50:29 +00:00
parent f90eb44130
commit addafcb9a5
3 changed files with 23 additions and 19 deletions

View File

@@ -28,9 +28,8 @@ Client
- Each row contains a bunch of row objects
- Each column from the db is converted to an object and is formatted like this:
- {v:[field value],id:42[optional id value if openable]}, {v:[field value],id:42[optional id value if openable]}...etc
- First row object is ALWAYS the Default object
- Key: "_df_" FIRST COLUMN: the DATA list returned MUST contain as the first column a column labelled "_df_" column which is not intended for display
- Default column contains the same format as a normal column but doesn't display and is intended for the client to know what type and ID of object to open
- First row object is ALWAYS the Default object and is not intended for display
- First column contains the same format as a normal column but doesn't display and is intended for the client to know what type and ID of object to open
- This is necessary in cases where they have made selections that preclude knowing what link to open, so if there is no links in the row this is the default for the entire row
- This also saves bandwidth as a list that has no other types can not bother setting the type or id for any other columns
@@ -50,6 +49,10 @@ Server
- 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 and user has rights to open so client can make hyperlinks
- FIRST column in column list is always the DEFAULT column corresponding to the first "default" column in the data row
- cm value is always "_df_"
- dt value is always 0 (dt:0)
- AyaType is always the default type to open, if it's nothing there is nothing to open (not likely)
- SERVER SENDS DATA
- Data in a standard format all grid lists json format, not based on set objects (I think I can do that, probably a hybrid object with JSON data)
- Each row has each column as a object comprising of:
@@ -58,16 +61,17 @@ Server
- To save bandwidth abbreviations are used in the column definitions:
- ColumnsJSON=@"""columns"":[ {""cm"":""Widget"",""dt"":""text"",""ay"":"+ AyaType.Widget.ToString()+ "}]";
- cm=column name locale key, dt=AyDataType, ay=AyaType to open on click of that column field (optional, not present if not openable)
- For example (wide list):
data:{
columns:{[ {cm:"lt_client_name",dt:text,ay:2},{cm:"lt_client_notes",dt:text},{cm:"lt_last_workorder",dt:number,ay:workorder}]}
rows:{[ {},{v:"Green mechanics",id:32},"...notes...",{v:"42",id:42}, ...thousands more etc.... ]}
}
- For example (XS list)
data:{
columns:{[ {cm:"lt_client",dt:text,ay:client}]}
rows:{ {display:"Green mechanics",id:32}, ...thousands more etc.... }
}
- First column is the DEFAULT column that corresponds to the
- For example (wide list):
data:{
columns:{[ {cm:"lt_client_name",dt:text,ay:2},{cm:"lt_client_notes",dt:text},{cm:"lt_last_workorder",dt:number,ay:workorder}]}
rows:{[ {},{v:"Green mechanics",id:32},"...notes...",{v:"42",id:42}, ...thousands more etc.... ]}
}
- For example (XS list)
data:{
columns:{[ {cm:"lt_client",dt:text,ay:client}]}
rows:{ {display:"Green mechanics",id:32}, ...thousands more etc.... }
}
- has separate property defining all columns in list, their datatype and ayatype if openable