Data Tables Component

Embed interactive data grids with sorting, filtering, and pagination using the rb-tabulator web component.


Table of Contents

Overview

The <rb-tabulator> component renders an interactive data table. It provides sorting, filtering, pagination, and data export features.

ReportBurster Tabulator Data Table

FlowKraft Apps: The FlowKraft Frontend App has this component pre-configured. Just paste your embed code from the Usage tab—no script setup required. See FlowKraft Frontend App for details.

Basic Usage

<rb-tabulator
  report-code="monthly-sales"
  api-base-url="http://localhost:9090/api/jobman/reporting">
</rb-tabulator>

Attributes

AttributeRequiredDescription
report-codeYesReport folder name configured in ReportBurster
api-base-urlYesBase URL for API calls

DSL Configuration

Table configuration is defined in ReportBurster using a Groovy DSL. The component supports layout options and column definitions.

Layout Options

tabulator {
    layoutOptions {
        layout 'fitColumns'      // fitData, fitColumns, fitDataFill, fitDataStretch, fitDataTable
        height 400               // Fixed height in pixels
        autoColumns true         // Auto-generate columns from data
    }
}

Column Definitions

tabulator {
    columns {
        column(field: 'region', title: 'Region')
        column(field: 'sales', title: 'Sales', formatter: 'money', hozAlign: 'right')
        column(field: 'date', title: 'Date', sorter: 'date')
        column(field: 'active', title: 'Active', formatter: 'tickCross')
    }
}

Column Properties Reference

PropertyDescriptionExample Values
fieldData field name'sales', 'customerName'
titleColumn header'Total Sales'
hozAlignHorizontal alignment'left', 'center', 'right'
widthColumn width200, '20%'
formatterDisplay format'money', 'datetime', 'tickCross', 'html'
sorterSort type'string', 'number', 'date', 'boolean'
headerFilterEnable filtering'input', 'number', 'list'
visibleShow/hide columntrue, false
frozenFreeze columntrue, false

Formatters

Common formatters:

  • 'plaintext' - Default text display
  • 'money' - Currency format
  • 'datetime' - Date/time format
  • 'tickCross' - Checkmark for boolean values
  • 'html' - Render HTML content
  • 'link' - Clickable link

Examples

Sales Report Table

tabulator {
    columns {
        column(field: 'month', title: 'Month')
        column(field: 'region', title: 'Region', headerFilter: 'list')
        column(field: 'revenue', title: 'Revenue', formatter: 'money', hozAlign: 'right')
        column(field: 'orders', title: 'Orders', hozAlign: 'center')
    }
    layoutOptions {
        layout 'fitColumns'
    }
}

Customer List with Filtering

tabulator {
    columns {
        column(field: 'name', title: 'Customer Name', headerFilter: 'input')
        column(field: 'email', title: 'Email')
        column(field: 'status', title: 'Status', headerFilter: 'list')
        column(field: 'balance', title: 'Balance', formatter: 'money', hozAlign: 'right')
    }
}