diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d7a89a..c6d34e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +## 0.11.0 - 2026-10-08 + ### Changed - **DEPRECATED**: The bundled theme stylesheets moved from @@ -19,7 +21,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ``` matching the layout the `IgniteUI.Blazor` and `IgniteUI.Blazor.Lite` packages use. The old paths still work, through a stylesheet that imports the theme from its new location, and will be removed in a future release. - **BREAKING**: `IgbGridLiteFilterExpression.Condition` is a `string`, the name of a grid-lite filter condition, instead of `object`. Its documentation and the README list the names for each column data type. In the `Filtering` and `Filtered` events it holds the condition's name; before, it held grid-lite's condition object as a `JsonElement`. -- **BREAKING**: In the `Filtering` and `Filtered` events, `IgbGridLiteFilterExpression.SearchTerm` holds a `string`, `double` or `bool` instead of a `JsonElement`. Numbers are always `double`, as JavaScript has one number type, so a search term set as an `int` comes back as a `double`. +- **BREAKING**: In the `Filtering` and `Filtered` events, `IgbGridLiteFilterExpression.SearchTerm` holds a `string` or a `double`. Numbers are always `double`: they arrive as JSON numbers, which don't record whether a value was an integer, so a search term set as an `int` comes back as a `double`. While boolean conditions are unary, a `bool` is preserved as well. Only unrecognized values provided by the app stay a `JsonElement` as fallback. - **BREAKING**: `IgbGridLiteFilterExpression.Criteria` is a `GridLiteFilterCriteria?` (`And`, `Or`) instead of a `string?`, and `IgbGridLiteFilteringEventArgs.Type` is a `GridLiteFilteringType` (`Add`, `Modify`, `Remove`) instead of a `string`. - **BREAKING**: `IgbGridLiteFilteringEventArgs.Expressions` and `IgbGridLiteFilteredEventArgs.State` are `IReadOnlyList` instead of `List`. - **BREAKING**: Renamed `IgbColumnConfiguration` → `IgbGridLiteColumnConfiguration`, the only public type without `GridLite` in its name. diff --git a/src/IgniteUI.Blazor.GridLite/Internal/AppValueSerializer.cs b/src/IgniteUI.Blazor.GridLite/Internal/AppValueSerializer.cs index a218508..abf41c5 100644 --- a/src/IgniteUI.Blazor.GridLite/Internal/AppValueSerializer.cs +++ b/src/IgniteUI.Blazor.GridLite/Internal/AppValueSerializer.cs @@ -46,8 +46,8 @@ private static JsonSerializerOptions CreateOptions() /// internal sealed class FilterValueConverter : JsonConverter { - // JSON has one number type OOB, so every number reads as a double. An array or object can only be a value - // the app set itself; it stays a JsonElement. + // A JSON number doesn't record whether it was an integer, so every number reads as a double. An array or object + // can only be a value the app set itself; it stays a JsonElement. public override object Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) => reader.TokenType switch { diff --git a/src/IgniteUI.Blazor.GridLite/Models/IgbGridLiteFilterExpression.cs b/src/IgniteUI.Blazor.GridLite/Models/IgbGridLiteFilterExpression.cs index 468e964..e2c3c57 100644 --- a/src/IgniteUI.Blazor.GridLite/Models/IgbGridLiteFilterExpression.cs +++ b/src/IgniteUI.Blazor.GridLite/Models/IgbGridLiteFilterExpression.cs @@ -48,9 +48,10 @@ public class IgbGridLiteFilterExpression /// Optional for unary conditions. /// /// - /// Typically matches the holding a , - /// a (any number, including one set as an ) or a ; - /// falls back to for other unrecognized/app-provided types. + /// Typically matches the holding a or + /// a (any number, including one set as an ). While boolean conditions + /// are unary, a is preserved as well. + /// Falls back to for other app-provided values. /// [JsonPropertyName("searchTerm")] [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] diff --git a/src/IgniteUI.Blazor.GridLite/_Imports.razor b/src/IgniteUI.Blazor.GridLite/_Imports.razor deleted file mode 100644 index 7728512..0000000 --- a/src/IgniteUI.Blazor.GridLite/_Imports.razor +++ /dev/null @@ -1 +0,0 @@ -@using Microsoft.AspNetCore.Components.Web