Skip to main content

Tips and Tricks

This section provides practical tips and tricks for effectively using the Brixxbox Client API.

This collection contains best practices, optimization techniques, and solutions for common challenges when developing with the Brixxbox platform.

General Best Practices

  • Function Structures - Structure your code cleanly and use meaningful function names
  • Error Handling - Always implement appropriate error handling in your code
  • Logging - Use the logAdd() function for better debugging
  • Comments - Add clear comments to your code, especially for more complex functions

Performance Optimization

  • Avoid Frequent API Calls - Minimize repeated calls to the same API functions
  • Cache Data - Use variables to cache frequently used data
  • Grid Optimization - Tips for efficient handling of large amounts of data in grids
  • Event Handling - Avoid excessive event handlers, especially in loops

Common Scenarios

Dynamic Forms

// Example: Dynamically show/hide fields based on a selection
brixxApi.addEventListener('onChange', 'category', function() {
const category = brixxApi.getFieldValue('category');

if (category === 'Private') {
brixxApi.setVisibility('companyName', false);
brixxApi.setVisibility('firstName', true);
brixxApi.setVisibility('lastName', true);
} else {
brixxApi.setVisibility('companyName', true);
brixxApi.setVisibility('firstName', false);
brixxApi.setVisibility('lastName', false);
}
});

Data Validation

// Example: Custom validation before saving
brixxApi.addEventListener('onRecordSave', function() {
const startDate = brixxApi.getFieldValue('startDate');
const endDate = brixxApi.getFieldValue('endDate');

if (startDate > endDate) {
brixxApi.showMessage({
text: 'The start date cannot be after the end date.',
type: 'error'
});
return true; // Prevents the default behavior (saving)
}
});

Working with Grids

// Example: Format rows in a grid based on values
brixxApi.addEventListener('onRowCreated', 'gridOrders', function(event) {
const row = event.row;

if (row.status === 'Completed') {
brixxApi.addClassToGridRowCell(event, 'status', 'text-success');
} else if (row.status === 'Canceled') {
brixxApi.addClassToGridRowCell(event, 'status', 'text-danger');
}
});

Debugging Tips

  • Console Debugging - Learn how to use the developer console for debugging
  • Common Errors - Common mistakes and how to fix them
  • Understanding Error Messages - Interpretation of brixxApi error messages

Advanced Techniques

  • API Chaining - How to efficiently combine multiple API calls
  • Asynchronous Operations - Tips for working with asynchronous functions in Brixxbox
  • Custom Components - Creating reusable code components

These tips and tricks are intended to help you improve your Brixxbox applications and avoid common pitfalls. This collection is regularly updated and expanded.