v8.0.0

Added

  • Added support for using date only and time only columns without additional configuration.
  • Added support for using different cultures on grid filtering.

Removed

  • Removed grid's dependency on view context, because it's too specific while http context suffice.
v7.2.1

Fixed

  • Fixed, grid partial using queryable object for emptiness check, resulting in N+1 queries for each grid.
v7.2.0

Added

  • Added support for using automatic filter mode, to allow front end framework to use grid's backend more easily.
v7.1.0

Added

  • Added support for using fuzzy like consists search for text columns.
v7.0.2

Fixed

  • Fixed, multi sort using column order instead of specified user order to sort the rows.
v7.0.1

Fixed

  • Fixed, grid pager using first page size instead of the next highest one when requested rows per page doesn't fall into a valid page sizes range.
v7.0.0

Added

  • Added generic grid column filter interfaces to keep consistency with sorting and make filtering through reflection easier.
  • Added support for saving column width configuration in resizable grid scenarios.
  • Added client side validation for invalid rows per page.
  • Added support for specifying column width.

Improved

  • Replaced grid loader with a non blocking one, to allow users changing the search parameters in case of mistakes.
  • Replaced deprecated keyboard key code usages with supported equivalents.
  • Increased line height to avoid padding issues on different font sizes.
  • Made it easier to style the grid using sticky headers and footers.

Removed

  • Removed cache busting on urls, to respect response headers.
v6.2.4

Removed

  • Removed UTF BOM to reduce problems with byte based bundlers and minifiers.
v6.2.3

Fixed

  • Fixed, row clicked event crashing on merged columns in custom partials.
v6.2.2

Fixed

  • Fixed, not applicable filter scenarios crashing on enumerable filters.
  • Fixed, newly available nullability warnings.
v6.2.1

Fixed

  • Fixed, grid rows not being enumerated before rendering the grid.
  • Fixed, rows per page not updating the grid in multiple pager scenarios.
v6.2.0

Added

  • Added forced row grid row enumeration before rendering the html.
  • Added support for using client side function for configuring the grid.
  • Added support for using raw html for empty text row, resolves #275.
  • Added default styling classes for all built in grid filters, resolves #280.
  • Added support for using multiple pager visualizations in the grid partial, resolves #281.

Improved

  • Changed loading timer type to reduce unnecessary nullable types.
  • Replaced disabled pager button class with an attribute to improve accessibility.

Fixed

  • Fixed, grid row filter classes being concatenated with normal column classes.
  • Fixed, pager total rows attribute not being cleaned up after initialization.

Removed

  • Removed BOM from css file to avoid problems with some bundlers.
v6.1.0

Improved

  • Made paging reset on client side consistent with server side, by jumping to the last page on overrun.

Fixed

  • Fixed #260, pager resorting data when it's ordered in descending order.
v6.0.1

Fixed

  • Fixed, filter popup being closed prematurely, when on-screen keyboard is opened on mobile devices.
v6.0.0

Added

  • Added support for using multi column sorting by pressing shift or control keys.
  • Added support for suppressing rejected grid failure promise from bubbling out.
  • Added support for using default filter provider for unsupported column types.
  • Added support for changing column order and visibility by the user.
  • Added support for enabling sorting together with it's options.
  • Added support for filtering columns with enumerable values.
  • Added support for unsorting a column on 3rd sort toggle.
  • Added support for specifying grid column filter case.
  • Added typescript sources for the client side library.

Improved

  • Made sortable and filterable column apis enable filter and sort options only then they are not configured.
  • Renamed source url to url, to avoid confusion that source url is for data only and not the grid itself.
  • Made pager row selection wider, to improve consistent rendering on different browsers.
  • Merged extensions with optional parameters into one, to reduce public API surface.
  • Made grid table styling more specific to avoid styling actual grid content in the cells.
  • Renamed grid helper classes to keep consistency with other organization libraries.
  • Made less used extension names shorter to improve grid configuration readability.
  • Made grid loader recyclable, to avoid flashing it on and off on reloads.
  • Left only netstandard2.0 target, because net47 already implements it.
  • Reduced filter expression sizes to improve possible query execution.
  • Made table padding more consistent across different filter modes.
  • Made grid url management simpler, by using native url interfaces.
  • Reduced html footprint in generated html.
  • Migrated the client side library to ES6.

Fixed

  • Fixed #252, rows change not resetting current page resulting in no rows on last pages.
  • Fixed, already applied but empty value filters being cancelled on filter reapply.
  • Fixed, inconsistent popup closure in various similar contexts.
  • Fixed, sorting arrows spacing inconsistently on zoom.

Removed

  • Removed support for translating grid names into dash spaced string representation, resolves #225.
  • Removed support for specifying grid column's initial sort.
  • Removed support for changing fetch request method.
v5.1.2

Fixed

  • Fixed, filter options using to string conversion which can not always be translated into sql.
v5.1.1

Fixed

  • Fixed, null enum values throwing exceptions on render.
v5.1.0

Added

  • Added nullability context annotations.

Removed

  • Removed unused row css classes in the grid partial.
v5.0.1

Fixed

  • Fixed, grid column names using broader range of expressions than filtering and sorting.
  • Fixed, grid firing cancelable events on IE even through they can not be cancelled.
  • Fixed, empty column titles collapsing the header.
v5.0.0

Added

  • Added support for opening filter popup automatically, when header input is applied from option list.
  • Added support for transforming grid and column names to match default grid column naming.
  • Added support for automatically enabling the filter if filter options are applied on the column.
  • Added support for filtering more than two values at once using the same filtering method.
  • Added sorting option for header filtering mode to improve usability, resolves #192.
  • Added support for using current row index in grid value rendered.
  • Added support for clearing grid data from the query.
  • Added optional value to all automatic filter options.
  • Added support for applying multiple filters at once.
  • Added overflow ellipsis on long grid filter values.
  • Added api support for hiding columns.

Improved

  • Moved from click events for grid filter popup closure check to mouse down and touch start ones.
  • Made unavailable filters not rendered at all to prevent runtime exceptions, resolves #200.
  • Made grid query implementation be closer to actual url search params implementation.
  • Moved manual processing type configuration from processors to the grid itself.
  • Made grid query lazily loaded, to allow query non request queries to be used.
  • Made all data referenced in javascript api lower cased to keep consistency.
  • Renamed all the extensions to follow "UsingX" naming pattern.
  • Moved filter data initialization from inline html data to url query.
  • Moved from first filter popup element focus to the actual value.
  • Replaced multi filtering option with a double filter type one.
  • Disabled second filter parsing if multi filtering is disabled.
  • Made attributes with null values not rendered at all.
  • Replaced unicode based arrows with font icons.
  • Renamed static content paths to lowercase.
  • Reduced html footprint in generated html.
  • Shortened grid filter mode names.

Fixed

  • Fixed, microsoft edge rendering semi transparent checkmark by default.
  • Fixed, grid dropdowns not using white color on some mobile devices.
  • Fixed, html grid not using grid's context when it's available.
  • Fixed, filter popup not being hidden on manual filter apply.
  • Fixed, second filter being applied instead of the first one.

Removed

  • Removed row css classes, because they can be expressed using row attributes.
  • Removed null check on grid query initialization.
v4.1.2

Fixed

  • Fixed, filter popup being closed prematurely, then on-screen keyboard is opened on mobile devices.
v4.1.1

Fixed

  • Fixed #193, grid attributed extension dropping old attributes.
v4.1.0

Added

  • Added support for using equals method as a default for column filter with options.
  • Added support for using distinct column values as filter options, resolves #186.

Improved

  • Made filtering more resilient to unavailable filter method usage.
  • Made enum options always ordered by ascending text order.
v4.0.3

Fixed

  • Fixed, header row filter not updating row input values, when input is a selection dropdown.
  • Fixed, inline filter inputs cutting letters which pass the baseline height.
  • Fixed, dropdown based filters not working in microsoft browsers.
  • Fixed, not all filter modes clearing the visible filter values.
v4.0.2

Fixed

  • Fixed, grid column values written without taking html encoder into a consideration.
  • Fixed, pager always creating a static margin, even when it's not shown.
  • Fixed #173, grid buttons making submits if used in a form.
v4.0.1

Fixed

  • Fixed, dom events not being initialized correctly on internet explorer.
v4.0.0

Added

  • Added support for cycling tab focus when filter popup is opened.
  • Added support for closing grid filter popup on pressing escape.
  • Added support for automatically filtering guid values.
  • Added support for specifying default filter method.
  • Added automatic grid query sorting while paging.

Improved

  • Improved ajax grid error handling, by giving the user description of possible problems.
  • Improved grid exception message when grid element is not passed to the constructor.
  • Improved grid reloading on urls modified by history.pushState method, resolves #158.
  • Renamed boolean filter options, to keep consistency with what is shown in the table.
  • Made header row filter input width dynamically aligned with it's placeholder length.
  • Improved how columns with expressions containing underscored are named.
  • Changed synchronous partial calls with asynchronous ones, resolves #165.
  • Made readonly header row value not tabbable.
  • Made disabled sort and filter values read only.
  • Merged `showLoading` option to `loadingDelay`.
  • Made boolean filter localization easier.
  • Made grid styling use relative sizing.

Fixed

  • Fixed, page sizes not shown in normal height in internet explorer.
  • Fixed, filter method and value fields not being aligned correctly.

Removed

  • Removed `?` from the query string if the search is empty.
  • Removed all javascript based dependencies.
v3.1.0

Improved

  • Updated minimum mvc package version requirements to encourage people to get security fixes.
  • Made grid scripts multi include compliant.

Fixed

  • Fixed, string contains filter not working in net core 2.1.
v3.0.0

Added

  • Added support for loading normal grid with the original request and switching to ajax one.
  • Added support for restricting how many rows per page can be served by the grid.
  • Added support for using zero as a indication that grid rows should not be paged.
  • Added support for using empty filter value as null in all default grid filters.
  • Added support for showing loading screen on longer loading ajax grids.
  • Added support for adding html attributes on grid row elements #101.
  • Added support for skipping substring based filters on empty values.
  • Added support for appending css classes to grids and columns.
  • Added support for enabling filtering together with multi filtering.
  • Added support for using different filtering modes on the grid.
  • Added support for automatically filtering enum values.
  • Added support for specifying grid filter select options.
  • Added support for using separate value as a grid id.
  • Added support for specifying ajax grid attributes.
  • Added support for customizing grid page sizes.
  • Added default invalid grid filter styling.
  • Added default grid filter styling.

Improved

  • Switched grid data initialization from .data to .attr method, to avoid string value type conversions.
  • Improved grid and tag helper compatibility by removing tag helpers from dynamic tags #122.
  • Moved grid column sorting variables out of grid column to the grid column sort instance.
  • Improved date filter type linguistics, by using more know words for comparing dates.
  • Moved grid column filter variables out of grid column to the grid column filter itself.
  • Improved default grid styling to avoid requiring additional styling after installation.
  • Replaced generic type constraint on grid column extensions with generic interface.
  • Made grid filter extensibility easier, by providing a base filter to extend.
  • Moved page data from the pager's list item to it's anchor tag.
  • Made grid query use lower cased with camel case splitting.
  • Made default grid installation and usage easier.
  • Moved html grid helper methods to extensions.
  • Made grid query case insensitive.
  • Improved pager accessibility.

Fixed

  • Fixed, grid partial incorrectly checking for first filter nullability, resulting in null reference exceptions.
  • Fixed, long horizontal grids overflowing their parent container, resulting in bad user experience.
  • Fixed, grid filter popup not always expanding on wider buttons or filter types.
  • Fixed, grid rows per page not being preserved in the url if grid is empty.
  • Fixed, pager not setting total pages correctly, if page size is set to 0.
  • Fixed, ajax grid update causing flickering on slower machines.
  • Fixed, grid pager data not set correctly in javascript object.

Removed

  • Removed bootstrap specific classes, to remove indirect dependencies on bootstrap framework.
  • Removed ajax grid partial, because it can be easily replaced by faster tag builder code.
  • Removed css classes property, because it's already available from grid html attributes.
  • Removed empty string fallbacks from grid initialization to allow zero value usage.
  • Removed grid empty class, because it already has a named parent.
  • Removed rows parameter from url for grids without page sizes.
  • Removed filterable and sortable methods using parameters.
  • Removed pagination class from pager element.
  • Removed unnecessary grid column interfaces.
v2.3.0

Added

  • Added support for reloading grid using named methods.
  • Added support for using original row clicked event from grid's rowclick event.
  • Added support for getting grid instance through named a named method call.

Improved

  • Improved grid and bootstrap modal compatibility.

Fixed

  • Fixed, grid filter popup being not being positioned correctly when grid escapes window boundaries.
  • Fixed, filter popup arrow not being aligned with the filter icon when opened.
  • Fixed, grid popup filter sometimes being repositioned off screen.
v2.2.0

Added

  • Added support for having multiple grid event handlers through jQuery event binding.

Fixed

  • Fixed, grid source url not being set to the grid instance while setting options.
  • Fixed, reload ended using old grid as it's context.

Removed

  • Removed manual processing from grid pager, because it's not being called by the grid anyway.
v2.1.1

Fixed

  • Fixed, empty grid row triggering row clicked event.
v2.1.0

Added

  • Added support for using the grid with the latest mvc version.

Fixed

  • Fixed, rows per page change event not being bound to grid specific namespace.
v2.0.0

Added

  • Added support for generating readable grid queries for grids without names.
  • Added, support for adding html attributes on grid table element.
  • Added support for rendering user specified grid footer partial.
  • Added support for creating columns without an expression.
  • Added support for using dynamic ajax grid source url.
  • Added support for setting grid options to null values.
  • Added support for manual data paging.

Improved

  • Made grid initialization easier, by allowing inner grid elements to be used as an initialization root.
  • Replaced static grid filter images with font glyphs, to improve control over their styling.
  • Moved grid column helper methods to extensions.
  • Restyled grid filter icons to improve usability.

Fixed

  • Fixed, grid table not styled at all if expected css framework dependency is not included.

Removed

  • Removed grid parameter from grid functions, because it's available from `this` variable.
v1.4.0

Added

  • Added support for not showing an empty row if grid's empty text is null.

Improved

  • Made pager visible then it contains only one page, to improve usability for #42.

Fixed

  • Fixed #49, grid pager not styled at all if expected css framework dependency is not included.
  • Fixed #53, multi date filter always using first filter value for it's second filter input.
  • Fixed, not equals filter not being included in a second part of multi filter.
v1.3.0

Added

  • Added support for recalculating popup position on window resize, instead of closing it.
  • Added support for reloading grid with a new query being passed and an option.
  • Added support for reloading grid with post data.

Improved

  • Improved grid styling compatibility with bootstrap's grid classes.

Fixed

  • Fixed, filter popup being closed prematurely, then on-screen keyboard is opened on mobile devices.
v1.2.0

Added

  • Added support for using new jQuery 3.x libraries.

Fixed

  • Fixed, pager's current page being empty on not visible pagers.
v1.1.0

Added

  • Added support for not equals filter.
v1.0.0

Features

  • Multiple grids on page
  • Fluent configuration
  • Automatic filtering
  • Automatic sorting
  • Automatic paging
  • User friendly urls
  • Globalization
  • Multi filterin
  • Ajax support