Skip to content

Releases: ghiscoding/Angular-Slickgrid

v8.5.0 - Infinite Scroll

07 Aug 01:41
Compare
Choose a tag to compare

8.5.0 (2024-08-07)

Release Info

This new release adds the Infinite Scroll feature and with it adds not just 1 but 3 new examples to cover all use cases (read the new Infinite Scroll docs for more info)

  1. Example 38 - with OData Backend
  2. Example 39 - with GraphQL Backend
  3. Example 40 - with JSON data (local)

Infinite scrolling allows the grid to lazy-load rows from the server when reaching the scroll bottom (end) position. In its simplest form, the more the user scrolls down, the more rows get loaded. If we reached the end of the dataset and there is no more data to load, then we'll assume to have the entire dataset loaded in memory. This contrast with the regular Pagination approach which will only hold a single page data at a time.

Features

  • Infinite Scroll for Backend Services (OData/GraphQL) (13e2697)
  • Infinite Scroll for JSON data (251a984)

Installation

Please remember that all packages of @slickgrid-universal (v5.5.0) and Angular-Slickgrid (v8.5.0) must be updated at the same time and they will always get bumped on the same day to avoid any upgrade issues. You can also consult the Versions Compatibility Table - Wiki

also remember that Slickgrid-Universal monorepo is where the biggest portion of the code exists (~90%), so most of the commits are now happening on that side.

  1. review the Slickgrid-Universal changelog
  2. and the Angular-Slickgrid changelog (above)

v8.4.0

20 Jul 18:37
Compare
Choose a tag to compare

8.4.0 (2024-07-20)

Features

  • add columnPickerLabel for custom label, also fix #1442 (45b0f7f)

Bug Fixes

  • filterQueryOverride provide all search values (0eef5c0)

Installation

Please remember that all packages of @slickgrid-universal (v5.4.0) and Angular-Slickgrid (v8.4.0) must be updated at the same time and they will always get bumped on the same day to avoid any upgrade issues. You can also consult the Versions Compatibility Table - Wiki

also remember that Slickgrid-Universal monorepo is where the biggest portion of the code exists (~90%), so most of the commits are now happening on that side.

  1. review the Slickgrid-Universal changelog
  2. and the Angular-Slickgrid changelog (above)

v8.3.2

13 Jul 18:44
Compare
Choose a tag to compare

8.3.2 (2024-07-13)

Bug Fixes

  • SASS warnings & other unit test fixes (227e538)

Installation

Please remember that all packages of @slickgrid-universal (v5.3.4) and Angular-Slickgrid (v8.3.2) must be updated at the same time and they will always get bumped on the same day to avoid any upgrade issues. You can also consult the Versions Compatibility Table - Wiki

also remember that Slickgrid-Universal monorepo is where the biggest portion of the code exists (~90%), so most of the commits are now happening on that side.

  1. review the Slickgrid-Universal changelog
  2. and the Angular-Slickgrid changelog (above)

v8.3.1

06 Jul 00:50
Compare
Choose a tag to compare

8.3.1 (2024-07-06)

Bug Fixes

  • Composite Editor should work with Cell Menu (a28a62d)

v8.3.0

29 Jun 02:07
Compare
Choose a tag to compare

8.3.0 (2024-06-29)

Features

  • add onPreHeaderContextMenu for Column Picker usage (c5be4a8)

Bug Fixes

  • setting date picker should always work (050deb8)

Installation

Please remember that all packages of @slickgrid-universal (v5.3.2) and Angular-Slickgrid (v8.3.0) must be updated at the same time and they will always get bumped on the same day to avoid any upgrade issues. You can also consult the Versions Compatibility Table - Wiki

also remember that Slickgrid-Universal monorepo is where the biggest portion of the code exists (~90%), so most of the commits are now happening on that side.

  1. review the Slickgrid-Universal changelog
  2. and the Angular-Slickgrid changelog (above)

v8.2.0 - Filter Shortcuts

18 Jun 02:44
Compare
Choose a tag to compare

8.2.0 (2024-06-18)

New Release Info

This new release brings Filter Shortcuts that once defined will be added as sub-menus the Column Header Menu. These shortcuts are nothing new in terms of what you can already do with Column Filters, however the main reason to use them is to define some filters with simple logic, for example give me all the Blanks or Non-Blanks Values or even better filter the last 6 months data. For more info and demo, take a look at:

  • Example 6 - Filter "Next 20 days" with Date Range
  • Example 16 - Filter "Description" Blanks/Non-Blanks and "Start" Until Now/Future
  • Read the Filter Shortcuts docs on how to use it

Lastly there's also a new Example 37 which is showing Column Totals in the grid Footer (the code was taken from an old SlickGrid example).


Features

  • add Footer Totals Row and fix footer styling (17e798f)
  • add new optional filterShortcuts to Column Filter (b284785)
  • paste multiline content as single cell (7c9fdc0)

Installation

Please remember that all packages of @slickgrid-universal (v5.2.0) and Angular-Slickgrid (v8.2.0) must be updated at the same time and they will always get bumped on the same day to avoid any upgrade issues. You can also consult the Versions Compatibility Table - Wiki

also remember that Slickgrid-Universal monorepo is where the biggest portion of the code exists (~90%), so most of the commits are now happening on that side.

  1. review the Slickgrid-Universal changelog
  2. and the Angular-Slickgrid changelog (above)

v8.1.0 - Filter Predicates

08 Jun 03:29
Compare
Choose a tag to compare

8.1.0 (2024-06-08)

New Release Info

This new release brings a ton of new features and most of the new feature ideas came from this great Stack Overflow question Angular Slickgrid - Custom Filter which the user asked if it was possible to create a custom filter as SQL LIKE. So, from this idea in mind and considering that we already had a sortComparer for custom Sorting but no ways to customize Filtering, now let's work around this idea shall we?

  • new filterPredicate for local JSON dataset (see Example 31 for SQL LIKE demo)
  • new filterQueryOverride which is the filter override for Backend Services (OData / GraphQL)
  • new OperatorType.custom that can be used with above custom filter predicate/override
  • new Operator a*z (StartsWith & EndsWith combo) available for local JSON dataset and Backend Services
  • new Top-Header panel which now allows the user to use both Draggable Grouping and Header Grouping together, this just wasn't possible before (see Example 19)

This new release also brings a lot of improvements to the Excel Export with a new Example 36 which demos how to dynamically use Excel Formulas (e.g. Sums), you can even use Excel Formulas with Grouping to do Sums, isn't it awesome!? Let's just say that pretty much everything you can do in excel-builder-vanilla, you can probably do in Angular-Slickgrid.

A huge thanks to @zewa666 and @jr01 for their contributions & feedback to add some of these new features and fixes. 🚀


Features

  • add filterQueryOverride to GraphQL Service (7151d43)
  • add filterQueryOverride to OData Service (2ccdaf0)
  • add local data StartsWith/EndsWith (a*z) filter combo (69bc186)
  • add optional Top-Header for Draggable Grouping & Header Grouping (99c4cf2)
  • add StartsWith/EndsWith (a*z) to OData/GraphQL (e2f5439)
  • export: enhanced valueParserCallback with dataContext & new demo (bd057e5)
  • filters: add a filterPredicate option for user customization (2a7ebba)

Bug Fixes

  • demo: out of boundaries page Grid Preset should be unset (7e4e3b8)
  • TreeData: addItem should keep current sorted column (7f1bbe0)

Installation

Please remember that all packages of @slickgrid-universal (v5.1.0) and Angular-Slickgrid (v8.1.0) must be updated at the same time and they will always get bumped on the same day to avoid any upgrade issues. You can also consult the Versions Compatibility Table - Wiki

also remember that Slickgrid-Universal monorepo is where the biggest portion of the code exists (~90%), so most of the commits are now happening on that side.

  1. review the Slickgrid-Universal changelog
  2. and the Angular-Slickgrid changelog (above)

v8.0.0 - Modern UI

23 May 01:22
Compare
Choose a tag to compare

8.0.0 (2024-05-23)

New Major 8.0 Release

This new release brings a lot of changes oriented toward better UI/UX, our SVG icons are now pure CSS and can be colorized like any other text via the native CSS color property (which helped a lot improving the Dark Mode Theme).

Another noticeable UI change is the migration of the date picker from Flatpickr to Vanilla-Calendar-Pro, this new library has ESM support, it has modern styling and an awesome UI/UX. Another change that is mostly internal but is also indirectly connected to the date picker is the migration from MomentJS to Tempo which is a new modern lib and is also packaged as ESM which is great for Tree Shaking. Lastly DOMPurify is now optional, giving you the choice to install it or to use something else like isomorphic-dompurify for SSR support... Please note that even if it is now optional, we strongly suggest that you install it nonetheless that is if you want to stay secure and CSP compliant (see migration below for more info).

I believe that with all of these recent changes, the project is pretty much feature complete and you should not expect any new major releases for a long time (hopefully) which is also why I decided to require Angular 18 as soon as it came out.

Minimum Requirements

  • Angular >=18.0
  • Node >=18.19.1

Note

Follow the Migration Guide v8.0 for all the changes


⚠ BREAKING CHANGES

  • upgrade to Angular 18
  • make DOMPurify as optional
  • migrate from Moment to Tempo
  • remove Font-Awesome and use new SVG icons
  • common: migrate from Flatpickr to Vanilla-Calendar

Features

  • common: migrate from Flatpickr to Vanilla-Calendar (109f155)
  • make DOMPurify as optional (8bb566e)
  • migrate from Moment to Tempo (a27b6e9)
  • remove Font-Awesome and use new SVG icons (d73cc9c)
  • upgrade to Angular 18 (97b27e4)

Bug Fixes

  • deps: update all non-major dependencies (7f4e145)
  • small styling issues & better primary color support w/Dark Mode (01a16e2)

Installation

Please remember that all packages of @slickgrid-universal (v5.0.1) and Angular-Slickgrid (v8.0.0) must be updated at the same time and they will always get bumped on the same day to avoid any upgrade issues. You can also consult the Versions Compatibility Table - Wiki

also remember that Slickgrid-Universal monorepo is where the biggest portion of the code exists (~90%), so most of the commits are now happening on that side.

  1. review the Slickgrid-Universal changelog
  2. and the Angular-Slickgrid changelog (above)

v7.7.0

20 Apr 01:00
Compare
Choose a tag to compare

7.7.0 (2024-04-20)

Quick Info

This new release adds 2x new grid options defaultEditorOptions and defaultFilterOptions so that user can define global Editor/Filter options instead of having to duplicate same options on each column editorOptions/filterOptions. An example is shown below.

  • Note: for defaultFilterOptions, we use the same keys as the Editor (date, select, slider, ...) but please note that these 3 filters options have combined options into 1 prop for compound & range filters (e.g. date is for both compoundDate and dateRange filter options).
this.gridOptions = {
  defaultEditorOptions: { 
    autocompleter: { debounceWaitMs: 150 }, // auto-typed as AutocompleterOption
    date: { minDate: 'today' },
    longText: { cols: 50, rows: 5 } 
  }
}

Features

  • add global defaultEditorOptions & defaultFilterOptions (4c6d1de)

Installation

Please remember that all packages of @slickgrid-universal (v4.7.0) and Angular-Slickgrid (v7.7.0) must be updated at the same time and they will always get bumped on the same day to avoid any upgrade issues. You can also consult the Versions Compatibility Table - Wiki

also remember that Slickgrid-Universal monorepo is where the biggest portion of the code exists (~90%), so most of the commits are now happening on that side.

  1. review the Slickgrid-Universal changelog
  2. and the Angular-Slickgrid changelog (above)

v7.6.1

01 Apr 02:46
Compare
Choose a tag to compare

7.6.1 (2024-04-01)

Quick Info

This release will now work with multiple tooltips on the same cell (e.g. multiple buttons with icons like the "Action" column in Example 35).

Another great change with this release is that I created a PR on the autocompleter external dependency to provide an ESM build (it was simply missing a Rollup es build) and I waited for a over a month without any news, so I decided to create a new temporary autocompleter-es package (my hope is that this is a temp package and that my PR will be merge in the near future so that I can switch back to the original package). So... long story short, you can now remove autocompleter from allowedCommonJsDependencies (from angular.json) and that is 1 less CJS dependency to worry about :)

Edit

My autocompleter PR got merged, so I'll switch back to the original package for the next release, note that this has zero impact on your side since this is an internal dependency of Slickgrid-Universal when using the Autocomplete Editor/Filter. The removal of CJS, as shown below, is still valid :)

{
  "allowedCommonJsDependencies": [
-   "autocompleter",
    "isomorphic-dompurify", // it was previous `dompurify` but it was recently replaced to support SSR
    "flatpickr",
    "moment-mini",
    "stream"
  ],
}

Bug Fixes

  • allow multiple tooltips per grid cell (85cabd7)

Installation

Please remember that all packages of @slickgrid-universal (v4.6.1) and Angular-Slickgrid (v7.6.1) must be updated at the same time and they will always get bumped on the same day to avoid any upgrade issues. You can also consult the Versions Compatibility Table - Wiki

please remember that Slickgrid-Universal monorepo now contains the biggest portion of the code (~90%), so most of the commits are now happening on that side.

  1. review the Slickgrid-Universal changelog
  2. and the Angular-Slickgrid changelog (above)