Releases history

2.0.0 :

  1. Added compatibility with .NET Standard 2.0, and Core 2.0
  2. Breaking change 1: with Core 2.0 some more parentheses must be added in some Razor expressions due to changes in the new Razor version. Expressions like @Model.SubInfo<ProductMaintenanceViewModelDetail>().Model must be substituted with @(Model.SubInfo<ProductMaintenanceViewModelDetail>().Model)
  3. Breaking change 2: with 2 DateTimes are not converted implicitely into Month and Week types in Select clauses of LinQ expressions, due to changes in the new Entity Framework. Thus. in order to assign a DateTime? to a Month? in a Select or Projection you must provide an expression like:
    DateValid = m.DateValid == null ? null : (Month?)Month.FromDateTime(m.DateValid.Value)

1.2.7 :

  1. Added input-detail-class and input-detail-checkbox attributes to column tag helper to customize input css classes in controls that render data items in detail mode
  2. Improved grid accessibility. Now when a grid row moves from display mode to edit mode or it is added to grid, it get focus, so user may immediately access its fields and buttons with the tab. Moreover, the only row of an immediate grid that is in edit mode get the aria-selected="true" attribute.
  3. Fixed a bug that prevented correct globalization of some strings in column based controls in multi-language web applications.
  4. Fixed the key attribute of row based controls (grids, and detail forms for instance). Now no bugs occur anymore when a key whose name differs from "Id" is assigned to this key attribute.

1.2.5 :

  1. Added default animation to Html links
  2. Added full ajax support to OData queries.

1.2.1 :

  1. Rrevomed all dependencies from portable-net45+win8, thus avoiding the manual modifications to .csproj

1.2.0 :

  1. OData 4.0 compatible Filtering, sorting, and grouping capabilities you may apply easily to grids or to your custom pages
  2. When DateTimeOffset is used instead of DateTime for date+time editing, automatic conversion to the browser Time zone is performed. On the server side model binder "catches" date + time and client time zone offset into the DateTimeOffset
  3. Added a not trivial default "updating" behavior (current default behavior simply does nothing). Namely, during ajax updates buttons that might interfere with the ongoing operation are automatically disabled, and the updating part of the screen changes its opacity to give a vsual feedback of the update process. As for previous versions default behavior may be changed
  4. Added antiforgery protection to ServerCrudController Delete
  5. When automatically copying ViewModel/DTO Month and Week properties from/to DB Models with CRUDRepository methods, automatic conversion is performed
  6. DefaultCRUDRepository, and Projection operator will tranform models into viewmodles also in nested collection with no need to copy all properties: writing Select(m => new MyNestedViewModel{}) will suffice
  7. Added support for interfaces in both business and core tools. Business tools may return and process interfaces instead of ViewModels, and model binder will bind and validate interfaces. Both Model Binder and Json deserializer use core DI to instantiate interfaces.
  8. Improved Detail Form default Edit and display templates by adding bootstrap clearfix to all ViewPort line boundaries. This way, the form layout will not break also when using custom column templates with higher heights.

1.1.5 :

  1. Fixed a few minor bugs
  2. [RunTimeType] now affects also Json serialization/deserialization
  3. Added logic to handle Tag Helper Providers plug-ins
  4. Added custom columns with a "name" instead of "asp-for"

1.1.4 :

  1. Improved Linq/Database tools, and added CRUDRepository class.
  2. Added Rows/Columns, Templates, and associated TagHelpers, cahe and paste TagHelpers. Added the whole Taghelper Provider Logic.
  3. Added Batch Grid, Immediate Grid, Pager, Detail form, Autocomplete, CrudController and Server Controls TagHelper provider

1.0.1 Bug fix release. Fixed:

  1. store-model tag helper not working properly when not in the root of the ViewModel.
  2. Range & DynamicRance attributes fixed limits not working for input type month.

1.0.0 First public release

Fork me on GitHub