Skip to content

Release 3.0.0

Compare
Choose a tag to compare
@shlomiassaf shlomiassaf released this 01 Jan 02:14
· 176 commits to master since this release

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.