PoNG Module: Master Details View
This module creates a view of a record and details tables for any associated data in a resource view.
Please have a look at the other standard modules coming with PoNG.
Requires: PoNG Table View
Inhaltsverzeichnis
Usage in "structure"
Simply "type": "pong-table"
to the rows
or cols
resource. Example structure file extract:
{ "layout": { ... "rows": [ { "rowId": "bla", "resourceURL": "Products", "type": "pong-master-details", ... }, ... ], ... }
Definition of the Master Details View
The resource will load the table definition from the URL ../svc/XYZ/pong-table
Example JSON definition from ../svc/<resourceUrl>/pong-master-details
{ "label": "Customers", "description": "CRM demo data", "searchFilter": { "searchFields": [ {"id":"name", "label":"Name"}, {"id":"phone", "label":"Phone"} ] }, "fields" : [ { "id": "customerId", "label": "ID", "cellType": "id" }, { "id": "name", "label": "Name", "cellType": "text" }, { "id": "phone", "label": "Phone", "cellType": "text" }, { "id": "addr", "label": "Address", "cellType": "text" } ], "associations" : [ { "resourceURL": "svc/demoOrders", "label":"Customers Orders", "tableDef": "detail-tbl-meta" }, { "resourceURL": "svc/blog", "label":"Messages from Customer", "listDef": "pong-list", "filterField":"authorID" } ] }
For the associations you must provide a table view definition at the specified resourceURL.
The field tableDef
is optional, by default it will use pong-table
for the columns definition of the details table view.
An alternative to tableDef
is listDef
, which triggers to render a list view instead of a table.
If the ID field of the details view differs from the master ID name, you have to define it as "filterField":"<details ID column name"
Simple example
This is the result of the definition above:
CSS
You can use the following CCS elements to modify thy styles:
- TODO