Hello I am proposing an idea for Tago to make a new widget called a Metadata Table Widget.
This widget would allow users to select a main variable and then select/define a nested metadata object to target. Then the table would dynamically create table columns based on the nested metadata object. See example JSON and how it would work:
{
"variable": "fridge_data",
"metadata": {
"model": "SmartCool X200",
"manufacturer": "CoolTech Inc.",
"serial_number": "CT-2025-XYZ-789",
"status": "Running",
"stock_levels": {
"milk": {
"quantity": 1,
"unit": "Liters",
"expiration_date": "2025-02-20"
},
"eggs": {
"quantity": 12,
"unit": "Pieces",
"expiration_date": "2025-02-18"
},
"vegetables": {
"quantity": 5,
"unit": "Kilograms"
}
}
}
}
1️⃣ Widget Configuration:
- Step 1: Select a main variable (e.g.,
"fridge_data"
). - Step 2: Define which nested metadata object you would like to use (e.g.,
"stock_levels"
). - Step 3: The widget dynamically extracts keys from that object and creates table columns.
- Step 4: Value of the keys are auto-populated
into the table rows. - Step 5: Automatically uses time and group from main variable.
How This Displays in the Widget
Item | Quantity | Unit | Expiration Date |
---|
Milk | 1 | Liters | 02/20/2025 |
Eggs | 12 | Pieces | 02/18/2025 |
Vegetables | 5 | Kilograms | - |
Features of the Widget
- Auto detects nested metadata objects and generates columns dynamically
- Allows apps to become more scalable and flexible.
- Uses less data and I/O
- Keep all same features of dynamic table like filters, pagination, etc.
- Could even support links allowing users to navigate to other dashboards within the run app, open up widgets from hidden tabs, embedded images, trigger analysis, etc
I think this widget would be a game changer and could be very powerful and quick to build and offer in tago.io native widgets! :)