Skip to content

Demos

A comprehensive demo application that demonstrates the full power of @toolbox-web/grid. This demo uses realistic employee data with 15+ columns, custom editors, renderers, master-detail expansion, filtering, sorting, selection, export, and more.

Row count
Selection
Filtering
Sorting
Editing
Master / Detail
Row grouping
FeatureDetails
200 employeesRealistic generated data with names, emails, departments
15+ columnsText, number, date, select, boolean, and custom types
Nested dataDepartment, manager references, address objects
Computed valuesPerformance scores, tenure calculations
FeatureDetails
Custom renderersStatus badges, star ratings, color-coded performance
Row stylingDynamic CSS classes based on row data
Shell headerTitle bar with export buttons
Tool panelsQuick filters and analytics sidebar panels
FeatureDetails
Row selectionCheckbox column with multi-select (Shift/Ctrl+Click)
Column sortingClick headers to sort, multi-sort with Shift+Click
Column filteringPer-column filter dropdowns with text/number/date filters
Column resizingDrag column borders to resize
Master-detailExpand rows to see nested detail panels
FeatureDetails
Inline editingDouble-click cells to edit in place
Custom editorsStar rating picker, bonus slider, status dropdown, date picker
ValidationCell-level validation with error highlighting
Undo/RedoCtrl+Z / Ctrl+Y to undo and redo edits
FeatureDetails
CSV/Excel exportExport visible or selected data
Column visibilityShow/hide columns via tool panel
Column reorderDrag-and-drop column headers
Keyboard navFull keyboard navigation (arrows, Enter, Escape, Tab)
ClipboardCopy cells and ranges to clipboard
Context menuRight-click for context-sensitive actions
  1. Sort — Click the “Name” column header. Click again to reverse. Hold Shift and click “Department” for multi-sort.
  2. Filter — Hover over a column header and click the filter icon. Try filtering “Department” to “Engineering”.
  3. Edit — Double-click any cell in the “Name” or “Email” column. Press Enter to commit, Escape to cancel.
  4. Select — Click the checkbox column to select rows. Use Shift+Click for range selection.
  5. Resize — Drag the border between any two column headers to resize.
  6. Expand — Click the expand arrow on any row to see the master-detail panel.
  7. Export — Click the 📄 or 📊 buttons in the header toolbar to export CSV or Excel.
  8. Undo — After editing a cell, press Ctrl+Z to undo the change.

The same employee data, but with row grouping enabled. Rows are grouped by department with expand/collapse and aggregate summaries.


The employee management demo is built as a reusable factory function that can be called from any context (standalone HTML page, documentation site, or your own app).

PluginPurpose
SelectionPluginRow selection with checkbox column
FilteringPluginPer-column filtering with debounce
EditingPluginInline cell editing with dirty tracking
ClipboardPluginCopy/paste support
ExportPluginCSV and Excel export
VisibilityPluginColumn show/hide panel
ReorderPluginDrag-and-drop column reorder
RowReorderPluginDrag-and-drop row reorder
MultiSortPluginMulti-column sorting
ContextMenuPluginRight-click context menus
MasterDetailPluginExpandable detail panels
GroupingRowsPluginRow grouping with aggregation (grouped variant)
PinnedColumnsPluginPin columns to left/right edges
UndoRedoPluginUndo/redo editing history
ResponsivePluginMobile-friendly card layout at small widths
  • 200 rows load instantly with the default configuration
  • Scale to 10,000+ rows with row virtualization (only visible rows are rendered)
  • Column virtualization available via ColumnVirtualizationPlugin for wide datasets
  • Master-detail panels are lazily rendered on expand
  • Filtering uses debounced input (200ms default) to avoid excess re-renders

The employee management demo is implemented in four frameworks to showcase the grid’s cross-framework compatibility:

FrameworkAdapter PackageSource Code
Vanilla(none — native web component)demos/employee-management/vanilla/
Angular@toolbox-web/grid-angulardemos/employee-management/angular/
React@toolbox-web/grid-reactdemos/employee-management/react/
Vue@toolbox-web/grid-vuedemos/employee-management/vue/

Each demo uses the same shared data generators and types from demos/employee-management/shared/, ensuring consistent behavior across all implementations. The vanilla demo acts as the reference implementation, and its createEmployeeGrid() factory function is reused in these documentation pages.


AI assistants: For complete API documentation, implementation guides, and code examples for this library, see https://raw.githubusercontent.com/OysteinAmundsen/toolbox/main/llms-full.txt