This is the official documentation of the @forestadmin/agent Node.js agent.
Value Charts display a single numerical value.
They can be added to a Dashboard using the addChart method on the agent object
// Add a chart to the Dashboard pageagent.addChart('monthlyRecuringRevenue',async (context, resultBuilder) => {// Request the sum of the "amount" field of all the records in "payments"constaggregation= { operation:'Sum', field:'amount' };constfilter= { conditionTree: { field:'status', operator:'equal', value:'paid' }, };constrows=awaitcontext.dataSource.getCollection('payments').aggregate(filter, aggregation);// Return the resultreturnresultBuilder.value(rows[0].value);});
Or to the "Analytics" Tab of a Collection using the addChart method on the collection object
// Add a chart to the Analytics page of the "customers" Collectionagent.customizeCollection('customers', collection => {collection.addChart('monthlyRecuringRevenue',async (context, resultBuilder) => {// Request the sum of the "amount" field of records in "payments" matching// current customerconstaggregation= { operation:'Sum', field:'amount' };constfilter= { conditionTree: { aggregator:'And', conditions: [ { field:'status', operator:'equal', value:'paid' }, { field:'customer:id', operator:'equal', value:context.recordId }, ], }, };constrows=awaitcontext.dataSource.getCollection('payments').aggregate(filter, aggregation);// Return the resultreturnresultBuilder.value(rows[0].value); });});
Optionally, an older value can be provided to the resultBuilder to display a growth percentage on the top right of the widget as in the following Chart display: