Skip to content

Conversation

Copy link

Copilot AI commented Jan 5, 2026

Updates the Blazor wrapper to match breaking API changes in igniteui-grid-lite v0.3.1.

Breaking Changes

Column Configuration (v0.2.0-v0.3.0)

  • Property renames: KeyField, TypeDataType, HeaderTextHeader
  • Sort/filter properties flattened from objects to booleans:
    • Sort object → Sortable (bool) + SortingCaseSensitive (bool?)
    • Filter object → Filterable (bool) + FilteringCaseSensitive (bool?)
  • Removed IgbColumnFilterConfiguration and IgbColumnSortConfiguration types

Sorting API (v0.1.0)

  • Type renames: IgbGridLiteSortConfigurationIgbGridLiteSortingOptions, IgbGridLiteSortExpressionIgbGridLiteSortingExpression
  • Parameter renames: SortConfigurationSortingOptions, SortExpressionsSortingExpressions
  • Sorting mode: Multiple (bool) → Mode (string: "single" | "multiple")
  • Removed TriState property (always enabled)

Filter Expressions

  • Property rename: KeyField

JavaScript Integration

  • Updated to use sortingOptions/sortingExpressions properties
  • Removed updateColumns function (columns update declaratively via updateGrid)

Migration Example

Before:

new IgbColumnConfiguration {
    Key = nameof(Product.Name),
    Type = GridLiteColumnDataType.String,
    HeaderText = "Product",
    Sort = new IgbColumnSortConfiguration { CaseSensitive = false },
    Filter = true
}

var sortConfig = new IgbGridLiteSortConfiguration { Multiple = true, TriState = false };
var sortExpr = new IgbGridLiteSortExpression { Key = "Name", Direction = Ascending };

After:

new IgbColumnConfiguration {
    Field = nameof(Product.Name),
    DataType = GridLiteColumnDataType.String,
    Header = "Product",
    Sortable = true,
    SortingCaseSensitive = false,
    Filterable = true
}

var sortingOptions = new IgbGridLiteSortingOptions { Mode = "multiple" };
var sortingExpr = new IgbGridLiteSortingExpression { Field = "Name", Direction = Ascending };

See CHANGELOG.md for complete migration guide.

Original prompt

Summary

The Blazor wrapper is currently using igniteui-grid-lite version 0.0.1. It needs to be updated to match the latest API changes from version 0.3.1.

Changes Required

Based on the CHANGELOG.md from igniteui-grid-lite, the following breaking changes need to be applied:

From 0.3.1

  • Remove updateColumns method - declarative columns can be updated directly now

From 0.3.0 - Column Property Renames

  • keyfield - The field from the data that the column references
  • typedataType - The data type of the column's values
  • headerTextheader - The header text of the column

From 0.2.0 - Sort/Filter Property Changes

  • Column sort property replaced with:
    • sortable (boolean)
    • sortingCaseSensitive (boolean)
    • sortConfiguration (object with comparer option)
  • Column filter property replaced with:
    • filterable (boolean)
    • filteringCaseSensitive (boolean)
  • Remove ColumnFilterConfiguration type (use filteringCaseSensitive boolean directly)

From 0.1.0 - Sorting API Renames

  • GridSortConfiguration type → GridLiteSortingOptions
  • IgcGridLite.sortConfiguration property → sortingOptions
  • IgcGridLite.sortExpressions property → sortingExpressions
  • SortExpression type → SortingExpression
  • BaseSortExpression type → BaseSortingExpression
  • GridLiteSortingOptions.multiple boolean → mode property ('single' or 'multiple')
  • Remove triState property (tri-state sorting always enabled)

Files to Update

  1. src/IgniteUI.Blazor.GridLite/package.json

    • Update igniteui-grid-lite dependency from ~0.0.1 to ~0.3.1
  2. src/IgniteUI.Blazor.GridLite/Models/IgbColumnConfiguration.cs

    • Rename KeyField (with [JsonPropertyName("field")])
    • Rename TypeDataType (with [JsonPropertyName("dataType")])
    • Rename HeaderTextHeader (with [JsonPropertyName("header")])
    • Replace Sort object property with:
      • Sortable (bool) with [JsonPropertyName("sortable")]
      • SortingCaseSensitive (bool?) with [JsonPropertyName("sortingCaseSensitive")]
    • Replace Filter object property with:
      • Filterable (bool) with [JsonPropertyName("filterable")]
      • FilteringCaseSensitive (bool?) with [JsonPropertyName("filteringCaseSensitive")]
    • Update ToJsConfig() method to use new property names
  3. src/IgniteUI.Blazor.GridLite/Models/IgbGridLiteSortConfiguration.cs → Rename to IgbGridLiteSortingOptions.cs

    • Rename class IgbGridLiteSortConfigurationIgbGridLiteSortingOptions
    • Replace Multiple (bool) with Mode (string) using [JsonPropertyName("mode")] - accepts "single" or "multiple"
    • Remove TriState property entirely
  4. src/IgniteUI.Blazor.GridLite/Models/IgbGridLiteSortExpression.cs → Rename to IgbGridLiteSortingExpression.cs

    • Rename class IgbGridLiteSortExpressionIgbGridLiteSortingExpression
    • Rename KeyField with [JsonPropertyName("field")]
  5. src/IgniteUI.Blazor.GridLite/IgbGridLite.razor.cs

    • Rename parameter SortConfigurationSortingOptions (type IgbGridLiteSortingOptions)
    • Rename parameter SortExpressionsSortingExpressions (type IEnumerable<IgbGridLiteSortingExpression>)
    • Update all references to use new property/type names
    • Update SortAsync methods to use IgbGridLiteSortingExpression
  6. src/IgniteUI.Blazor.GridLite/igc-grid-lite-entry.js

    • Update renderGrid to use sortingOptions instead of sortConfiguration
    • Update to use sortingExpressions instead of sortExpressions
    • Remove updateColumns function (no longer needed)
    • Update updateGrid to use new property names
  7. Delete files:

    • src/IgniteUI.Blazor.GridLite/Models/IgbColumnFilterConfiguration.cs
    • src/IgniteUI.Blazor.GridLite/Models/IgbColumnSortConfiguration.cs
  8. src/IgniteUI.Blazor.GridLite/Models/IgbGridLiteFilterExpression.cs

    • Rename KeyField with [JsonPropertyName("field")]
  9. demo/GridLite.DemoApp/Components/Pages/Home.razor

    • Update to use new property names (Field, DataType, Sortable, Filterable, etc.)
    • Update IgbGridLiteSortConfigurationIgbGridLiteSortingOptions
    • Update IgbGridLiteSortExpressionIgbGridLiteSortingExpression
    • Use Mode = "multiple" instead of Multiple = true
    • Remove TriState usage
  10. README.md

    • Update all code examples to use new property names
    • Update documentation for column configuration
    • Update sorting/filtering examples
  11. Add CHANGELOG.md documenting all breaking changes

Event Args Updates

Also update event args classes if they reference the old property names:

  • IgbGridLiteSortingEventArgs - ensure it uses new expression types
  • IgbGridLiteSortedEventArgs - ensure it uses new expression types

This pull request was created from Copilot chat.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI changed the title [WIP] Update Blazor wrapper to igniteui-grid-lite version 0.3.1 Update igniteui-grid-lite from v0.0.1 to v0.3.1 Jan 5, 2026
Copilot AI requested a review from damyanpetev January 5, 2026 09:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants