Skip to content

RevoGrid Migration Guides

Version 4.28.0

Breaking change: Default filter conditions are now visible

Opening an empty column filter panel now displays one removable draft condition. String columns start with Contains, number columns start with =, and other filter families use their first available operator. The draft does not filter rows, emit filtering events, or mark the column as filtered until the user enters a value or explicitly selects an operator.

To preserve the previous empty-panel behavior for the whole grid, disable default filter drafts in the filter configuration:

ts
grid.filter = { defaultFilter: false };

To disable the draft for only one column, use the structured column filter configuration:

ts
grid.columns = [
  {
    prop: 'name',
    filter: { type: 'string', default: false },
  },
];

See Filtering for column overrides and the complete draft lifecycle.

Version 2.0+

  • Introduced the plugin system, grouping, sorting, and filtering.

Version 3.0+

  • Breaking Changes:
    • Removed the redundant viewport component.
    • Renamed classes to support Bootstrap and other libraries:
      • row -> rgRow
      • col -> rgCol
      • data-cell -> rgCell
      • data-header-cell -> rgHeaderCell
    • Migrated all method names to lowercase to align with modern event naming conventions. For example, afterEdit is now afteredit. Check the API for details.
    • Added support for pure ESM modules to enable the use of the grid in all modern frontend tooling like Vite, Parcel, etc. You can now import custom elements without lazy loading. Note that you are responsible for polyfills.

Version 4.0+

TIP

For a comprehensive migration guide check the migration guide.

  • Summary on Breaking Changes:

    • Redesigned type support:
      • Removed deprecated namespaces RevoGrid, Selection and others from type imports. Use direct import instead. For example:
        • Before: RevoGrid.ColumnRegular
        • Now: ColumnRegular; ...
      • Improved type imports. For example:
        • Before: import { RevoGrid } from '@revolist/revogrid/dist/types/interfaces'
        • Now: import { ColumnRegular } from '@revolist/revogrid'.
      • Changed viewport type names everywhere. For example, before: rowDefinitions: [{ type: "row", index: 0, size: 145 }], after: rowDefinitions: [{ type: "rgRow", index: 0, size: 145 }].
    • Updated event naming convention. Review your event usage. Event names are all lowercase now and are aligned with modern event naming conventions. For example, afterEdit -> afteredit. Check migration guide for details.
  • Major improvements:

    • Rethought the entire framework approach. Introduced Pro version with advance support and pro features.
    • Updated scrolling system for better mobile support.
    • Advance template support. Introduced additionalData for templates and editors. Prop gives access to parent/root app context.
    • Redesigned the documentation.
    • Fixed major issues and significantly improved overall performance, making the grid multiple time faster.
    • Enhanced plugin support - now with full access to grid providers.
    • Provided full framework support and native render for Angular, React, Svelte, and Vue, with partial support for Ember.