Skip to content

Releases: shlomiassaf/ngrid

Release 5.0.0

10 Oct 21:02
Compare
Choose a tag to compare

Support angular 14

Release 5.0.0-alpha.0

09 Oct 03:42
Compare
Choose a tag to compare
Release 5.0.0-alpha.0 Pre-release
Pre-release

Angular 14 support

Release 4.0.1

02 Oct 20:43
7beb16a
Compare
Choose a tag to compare

ngrid

bug fix core: fix issue with TypeScript DOM library update (db0b8ca93c526c5604b28c56dff8c6457c3d38f5)
bug fix support header & footer background colors in theming (e825e4fe16ef07093ef41b665dbf596f305f614c)
bug fix target-events: expose mouseUp & mouseDown events in target events plugin (c460d3bd1ce7cb7f026712c2f3d5baac84eab50c)

4.0.0

02 Oct 20:30
Compare
Choose a tag to compare

ngrid

bug fix remove tilde from use rule (66a48ad11c814f17d332d4c4e1e7261ea92122e3)
bug fix revert to using ViewEngine package (3a1fe8f3202f4760d53085874279b26cfd902e88)
bug fix scss bundles proper export (c86b9b5140e584971aeeaf50223a03a72e014e36)
bug fix force export augmenting d.ts files (f2c60ab)
bug fix sort: support empty strings when sorting (6a1023e066a297f6b87c8a37554fc73ac723e114)

Highlights

Sass

Sass theming API has been reworked so that clients can take advantage of @use. This includes:

  • A single entry point into @pebula/ngrid, @pebula/ngrid-material and @pebula/ngrid-bootstrap
  • Renamed functions, mixins, and variables to be a better reflection of what they do
  • Applications still using node-sass will need to switch to the sass package
    For more information, check out the new material theming guide and ngrid's theming docs.
  • For convinience, legacy theming API is still availavle at @pebula/ngrid/theming, @pebula/ngrid-material/theming and @pebula/ngrid-bootstrap/theming. The legacy API will be removed in v5.0.0

IVY APF v12

Starting from version 4 of nGrid, the library is packaged using the new IVY Angular Pacakge Format (v12).

Compilation is done in ViewEngine mode.
While angular recommends compiling in partial-ivy mode, it has several limitations:

  • Support is still not wide-spread so several tools will not load nGrid (StackBlitz, CodeSandbox, etc...)
  • Applcations still running in ViewEnginge will not be able to run nGrid while IVY application can use NGCC
  • NGCC in v12 is still fully operational, so why limit?
  • @angular/components (material) is also publishing v12 libaraies in ViewEngine

However, as part of the CI process we still compile with partial-ivy mode enabled to catch errors since it is still new and has it's quirks which required some shellow API changes to work around it's issues. There should be no effect and used to ensure futute competability, however, if you experience strange behaviour please report.

In addition, symboles exposes in public modules are now required to be exposed in the public API as well. This resulted in multiple symboles which were previously private now exposed.

Aligned with v12 of the angular eco-system

Library is now on par with version 12 of angular, @angular/cdk and @angular/components (material).

Since nGrid@v4 is IVY compiled and the CDK does not support previous versions, v4 of nGrid will only run on angular version 12 and up.

Release 3.0.0

01 Jan 02:14
Compare
Choose a tag to compare

Bug Fixes

  • ngrid: don't attach global templates to the root registry (0494678)
  • ngrid: fix group logic (e75e493)
  • ngrid: fix virtual page height (633a37d)
  • ngrid: pagination reset when filter is on (468de4f), closes #78
  • ngrid: column header sticky rows index is wrong (c122e9d)
  • ngrid/drag: support column & row reorder on the same host (c1312c9)
  • ngrid/drag: support row reordering in virtual scroll (5a24eec)
  • ngrid/infinite-scroll: scroll page init without reason (54a1b65)
  • ngrid: do not auto-clear context on source changing (e49d4ff)
  • ngrid: missed a row when measuring virtual height (cf9ebfe)
  • ngrid: rtl not working with live changes in direction (2956192), closes #141
  • ngrid: workaround virtual scroll height limitation in browsers (233e3b2)
  • ngrid: wrong ds index reference in context when using multirow setup (58ab268)
  • ngrid/block-ui: allow BooleanInput for strict mode (2a9770a)
  • ngrid/block-ui: wait for grid init before creating view (b9d1ea3)
  • ngrid/infinite-scroll: proper reflection of refresh trigger state vs infitie scroll trigger state (3340bc9)
  • ngrid/target-events: keyboard focus does not sync when virtual scrolling (b488d91), closes #117

Features

  • ngrid-bootstrap: selection column (ab09209)
  • ngrid: add schematics support (1d7814c)
  • ngrid-bootstrap: initial bootstrap support (80d6a85)
  • ngrid: 3rd party storage for context api (#132) (0c9ca4c), closes #10 #127
  • ngrid: allow minimum height based on row count (296fe5d)
  • ngrid: cache when rendering rows (170c2d4)
  • ngrid: custom row override (fec9445)
  • ngrid: implement dynamic virtual scroll strategy (30117a3)
  • ngrid: new api to add/remove columns (7a79b2e)
  • ngrid: use intersection observer (161371b)
  • ngrid-cypress: new package with cypress helpers (similar to harnesses) (e33d638)
  • ngrid/detail-row: implement global detail row instance manager (f30c335)
  • ngrid/testing: add test harnesses for ngrid, columns and data rows/cells (19bbba6)

Performance Improvements

  • ngrid: support tree-shakable errors (0fa90ff)
  • ngrid: disable wheel mode when virtual scroll paging is active (25d269e)
  • ngrid: rebuild columns/cells inside rows when invalidating (35bbea8)
  • ngrid: use internal row context (f7f8367)

Code Refactoring

  • ngrid: move column (some) and datasource symbols to core package (33d2bca)
  • ngrid: move configuration symbols to core package (fc259ba)
  • ngrid: move most of utils to @pebula/ngrid/core (2990511)
  • ngrid: move registry to core package (55e8f31)
  • ngrid: moved pagination types to core (cad0f5b)
  • ngrid: refactor the cell rendering engine and refactor the group definitions (4882e4a), closes #123 #131
  • ngrid: simplify working with rows (a81b1af)

BREAKING CHANGES

  • ngrid: To reduce clutter in the main packge the configuration symbols moved to @pebula/ngrid/core.
    At this point all symbols were re-exported from the main module so this no effect there. However, if you've extended on of the symbols using augmentation you will need to update the augmentation module path.
  • ngrid: To reduce clutter in the main packge the datasource symbols (all) and some of the column model symbols moved to @pebula/ngrid/core.
    At this point all symbols we're re-exported from the main module so this no effect there. However, if you've extended on of the symbols using augmentation you will need to update the augmentation module path.
  • ngrid: Since the registry and it's type mapping symbols are for intenral or plugin use they are now part of the core pacakge. Currently the single/multi directives are still in the main package but they might also be moved in a later phase
  • ngrid: If you've used unrx in your code, it is not located in @pebula/ngrid/core since it is not for used by "regular" users, only required for plugin authoring.
  • ngrid: Pagination types have moved from @pebula/ngrid to @pebula/ngrid/core as part of the cleanup process to simplify the main package. @pebula/ngrid re-exports the interfaces and types but the concrete implementations for PblPagingPaginator and PblTokenPaginator are now in the core pacakge as they are
    not intended to be used by "regular" users, only plugin authors.
  • ngrid: Binding [grid] and [row] is no longer required. Same for detailRow and infiniteRow
  • ngrid: resize-observer-polyfill is no longer a peerDependency and is not required by the library. If you want polyfill support please import the polyfill using polyfill.ts
  • ngrid: prop and span are deprecated from PblColumnGroupDefinition and will be removed from version 4.0.0
    prop and span are removed from PblColumnGroup and instread columnIds list is used
  • ngrid: If you used the hideColumns property (setter only) via code and not via html binding it will no longer work.
    Instead, use the new api to add/remove columns.
    If you used it via bindings, it will still work but it is not recommended because other plugins that use the API
    will override values from the array provided.

Version 2.3.1

03 Dec 20:14
Compare
Choose a tag to compare
chore: bump version to # 2.3.1 w/ changelog