apiOutputVooStandard function
- @Preview(name: 'API Output - Voo Standard')
Widget
apiOutputVooStandard(
)
Implementation
@Preview(name: 'API Output - Voo Standard')
Widget apiOutputVooStandard() {
const requestBuilder = DataGridRequestBuilder(standard: ApiFilterStandard.voo);
final request = requestBuilder.buildRequest(
page: 1,
pageSize: 20,
filters: {
'Site.Name': const VooDataFilter(operator: VooFilterOperator.contains, value: 'Tech'),
'Client.CompanyName': const VooDataFilter(operator: VooFilterOperator.contains, value: 'Solutions'),
'Site.SiteNumber': const VooDataFilter(operator: VooFilterOperator.greaterThan, value: 1006),
'OrderStatus': const VooDataFilter(operator: VooFilterOperator.equals, value: 0),
'OrderDate': const VooDataFilter(operator: VooFilterOperator.greaterThanOrEqual, value: '2024-01-01T00:00:00Z'),
'OrderCost': const VooDataFilter(operator: VooFilterOperator.greaterThanOrEqual, value: 1000.00),
},
sorts: [const VooColumnSort(field: 'OrderDate', direction: VooSortDirection.descending)],
);
final jsonOutput = const JsonEncoder.withIndent(' ').convert(request);
return Material(
child: Container(
padding: const EdgeInsets.all(16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Text('Voo API Standard Request:', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16)),
const SizedBox(height: 8),
Container(
padding: const EdgeInsets.all(12),
decoration: BoxDecoration(
color: Colors.grey.withValues(alpha: 0.1),
borderRadius: BorderRadius.circular(8),
border: Border.all(color: Colors.grey.withValues(alpha: 0.3)),
),
child: SelectableText(jsonOutput, style: const TextStyle(fontFamily: 'monospace', fontSize: 12)),
),
],
),
),
);
}