Releases: ghiscoding/slickgrid-universal
v5.10.1
5.10.1 (2024-11-09)
A bit more fixes related to the switch to SASS @use
and couple of fixes related to Grid Service & Calendar Picker editor.
Bug Fixes
- date editor clear/reset not working in composite editor (#1735) (976bd23) - by @ghiscoding
- editor: add missing
changeEditorOption()
for Composite Editor (#1733) (b43b53b) - by @ghiscoding - hideColumnByIds wasn't hiding columns properly (#1738) (da89db4) - by @ghiscoding
- hideColumnByIds() should call setColumn() only once (#1736) (0ba1a93) - by @ghiscoding
- hiding column(s) returned incorrect Grid State changes data (#1737) (59a47b8) - by @ghiscoding
- Material Theme primary color should be reassigned & forwarded (a786038) - by @ghiscoding
- Material Theme primary color should be reassigned & forwarded (b3f4a23) - by @ghiscoding
- more ms-select Dark Mode styling fixes (810ce40) - by @ghiscoding
- remove
$primary-color
& fix more styling issues for ms-select (2841dbc) - by @ghiscoding - small box-shadow fix on ms-select filter in focus (23ec036) - by @ghiscoding
v5.10.0
5.10.0 (2024-11-02)
This release fixes all recent SASS (dart-sass) warnings for their upcoming major version 2.0 and even fixes next 3.0 warnings. Note that external libraries like Bootstrap, Bulma and others still have to fix their own warnings as well but as far as SlickGrid goes, all warnings were fixed.
Features
- switch to SASS
@use
and remove any@import
to fix deprecations (ba58eab) - by @ghiscoding
Bug Fixes
- add more SASS styling fixes & fix box-shadow w/filled filters (2fc5dad) - by @ghiscoding
- couple of SASS styling fixes (d87912b) - by @ghiscoding
- decrease ColumnPicker/GridMenu min-height to 150px (5041c95) - by @ghiscoding
v5.9.0
5.9.0 (2024-10-19)
You can now provide a Custom Pagination instead of the default built-in Pagination
- see the new Example 30
Features
- allow providing a Custom Pagination (4a2bfc8) - by @ghiscoding
Bug Fixes
- Column Picker should auto-position left/right with available space (48c2d13) - by @ghiscoding
- deps: update all non-major dependencies (fcc779b) - by @renovate-bot
- move DI to init() to make Pagination Comp working with all ports (cd30686) - by @ghiscoding
Performance Improvements
- remove unnecessary events to re-render Header Grouping (ce02f0f) - by @ghiscoding
v5.8.0
5.8.0 (2024-09-29)
Release Info
This new release brings a new preParseDateColumns
grid option that allows to pre-parse date columns to improve Date column Sorting by a factor of 10x (and also make subsequent sorting extremely fast). The problem at hand is simple, parsing dates can be an expensive process especially for large dataset, but it is required in order to do Date Sorting. When we say parsing we mean reading the formatted date string and convert it to a JS Date
object. For small dataset (less than 10K), it's not much of a problem but it becomes quite noticeable with large dataset, because calling a Sort will revisit the same items over and over until every items are fully sorted and without the new option enabled, we are reparsing these items multiple times which as I said earlier can become an expensive task... so with this release, we now have a new opt-in preParseDateColumns
grid option (to be used only with large dataset 10K or more, the option IS NOT enabled by default). For more info, please take the time to read the Sorting - Pre-Parse Date Columns documentation. You can test this out via Example 2 by clicking on "50K rows" button and then try sorting Start/Finish dates.
Features
- allow overriding readOnly behavior of dateEditor (d4da489) - by @zewa666
- home and end key stop propagation in editors (d143820) - by @zewa666
- PubSub: allow multiple subcribe events for a single callback (6d39c2c) - by @ghiscoding
- update according to review; add unit tests (eb176de) - by @zewa666
Bug Fixes
- allowInput instead of allowEdit (8318853) - by @zewa666
- Date parsing shouldn't fail & dateIso type should accept time (a3e5a49) - by @ghiscoding
- styling: SASS deprecated
lighten
anddarken
methods (a66506f) - by @ghiscoding
Performance Improvements
- improve Date Sorting by optionally pre-parsing date items (6678139) - by @ghiscoding
- treeData: huge time decrease to expandAll/collapseAll tree grid (98bd334) - by @ghiscoding
v5.7.0
5.7.0 (2024-09-14)
A huge thanks to @Vsinghal339-source for all the troubleshooting and PRs to improve performance of the grid, there were couple of area with code of O(n square) that were brought down to O(n), it's really great to receive such huge impacting contributions. Thanks a lot 🎉
Features
- add warning if necessary rows aren't added (6471248) - by @zewa666
- matching border color for range selector in darkmode (aec04ed) - by @zewa666
- switch darkmode inside init (908e7aa) - by @zewa666
Bug Fixes
- composite editor wrong selector (77b89c6) - by @zewa666
- core: Autocomplete Editor shouldn't navigate down twice on enter key (4f9eb36) - by @ghiscoding
- deps: update dependency @faker-js/faker to v9 (5e9ffb2) - by @renovate-bot
- do not create empty object rows, use newRowCreator instead (a170560) - by @zewa666
- styling: add missing
!default
to a few SASS variables (6779947) - by @ghiscoding-SE - TreeData: identifier is not always "id' when unflattening (78653f9) - by @ghiscoding-SE
- TreeData: Reset the childrens prop when unflattening dataset in case it is being reused (cf70729) - by @jano-kucera
Performance Improvements
- Reduce iterative time complexity, fixes #1668 (8a95b8a) - by @Vsinghal339-source
- Optimize SlickGrid handleSelectedRangesChanged by using Set (ac7e6f9) - by @Vsinghal339-source
- don't invalidate grid rows more than once, fixes #1678 (a5b9647) - by @ghiscoding
- RowDetail: use Set to improve perf with Row Detail (5abfd41) - by @ghiscoding
- use Set to improve perf when read current Select Editor values (56dfe92), closes #1670 - by @ghiscoding
v5.6.1
5.6.1 (2024-08-31)
Bug Fixes
- only import
@excel-builder-vanilla/types
for optional dep (27e983e) - by @ghiscoding - tree: unflattening tree->flat array multiple times, fixes #1657 (67edd1e) - by @ghiscoding
v5.6.0
5.6.0 (2024-08-24)
Release Info
With this release, we are migrating to the original Vanilla-Calendar-Pro project and dropping the vanilla-calendar-picker
temporary fork and that is because all features & bug fixes I had in my fork were all merged recently to the original project (the fork was always meant to be a temporary thing).
There's also a new rowTopOffsetRenderType
grid option that might be of interest, the default is top
but if you set it to transform
then all rows of the grid will use transform: translateY({offset}px)
to position each row in the grid and the transform might actually improve perf as per this article: Why Moving Elements With Translate() Is Better Than Pos:abs Top/left
Features
- migrate back to Vanilla-Calendar-Pro (bfcdbd5) #1644 - by @ghiscoding
Bug Fixes
- calling
preRegisterExternalExtensions
should be added to ext list (0af5d59) #1647 - by @ghiscoding - don't render filter element on hidden column (559d7de) - by @ghiscoding
- SlickCellExternalCopyManager should use DataView (abed483) - by @ghiscoding
- SlickCellExternalCopyManager should work w/hidden cols fixes #1634 (b156bfa) #1651 - by @ghiscoding
Performance Improvements
- add new
rowTopOffsetRenderType
grid option to use "transform" (cf0a22c) #1650 - by @ghiscoding - decrease virtual scroll render throttling to 10ms (4419132) #1648 - by @ghiscoding
v5.5.2
5.5.2 (2024-08-17)
Bug Fixes
- use setTimeout/setInterval from window object with correct TS type (63953ec) - by @ghiscoding
v5.5.1
5.5.1 (2024-08-17)
Bug Fixes
- add missing TrustedHTML type (8b22914) - by @ghiscoding
- common: add missing dependency
@types/trusted-types
(df6114a) - by @ghiscoding - common: Tree Data should work without initial sort (ee26a76) - by @ghiscoding
v5.5.0 - Infinite Scroll
5.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)
- Example 26 - with OData Backend
- Example 27 - with GraphQL Backend
- Example 28 - 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
- add
preRegisterExternalExtensions
to help external RowDetail (016af41) - by @ghiscoding - add Infinite Scroll with local JSON data (ef52d3f) - by @ghiscoding
- Infinite Scroll for Backend Services (POC) (1add6a3) - by @ghiscoding
- Infinite Scroll for GraphQL Backend Service (a057864) - by @ghiscoding
Bug Fixes
- core: pinning 1st column could caused the header to get misaligned (42c94e8) - by @ghiscoding
- styles: Add missing semicolon in line 1147 of _variables.scss (36c3187) - by @oilmonkey