Skip to content
This repository was archived by the owner on Jun 1, 2025. It is now read-only.

Releases: ghiscoding/Angular-Slickgrid

Pinned (frozen) Columns/Rows & AutoComplete Editor/Filter

11 Jan 17:17
Compare
Choose a tag to compare

This version brings a long awaited request of Pinned Columns/Rows (aka Frozen). Also note that the demo with Bootstrap 3 is using previous lib version 1.x (which doesn't latest features) and only the Bootstrap 4 demo got migrated to newer version 2.x of the lib (with Angular 7). Also a reminder, new features will only go in version 2.x of the lib which requires Angular 7+.

Note

I'm not sure why, possibly ng-packagr, but since the lib was updated to Angular 7. I often have to release 2 versions to make it to work correctly. This is the reason why there was so many versions released recently. I don't think it's Angular itself but possibly the packager.

Features

  • (frozen): add Frozen/Pinned rows/columns Feature (PR #93)
  • (sorting): add "Clear Sort" in each Column Header Menu (PR #94)
    • make sure to update your Translations for this new header menu (on each column), basically add this translation key
    • you can also hide this new command (or any commands) through headerMenu: { hideClearSortCommand: true } in your Grid Options
  • (filters): add optional placeholder to all Filters (PR #98)
  • (editors): add optional placeholder to all Editors (PR #99)
  • (formatter): Formatter can return a string or an object (PR #96)
  • (autocomplete): Editor & Filter autocomplete feature (PR #101)
    • demo | demo component | animated gif | Uncyclo doc
    • since jQuery UI is a dependency of SlickGrid, using jQuery UI AutoComplete comes for free (no new lib).
    • Chrome will detect the demo as unsafe script because of CORS, you can try with Firefox/Edge or simply allow script on that page
    • also make sure you use the latest version of jQuery-UI through the jquery-dist NPM package (see howto). I lost 2 hours myself on this because I was using an older version of jQuery-UI
  • (sorter): add object with dataKey as a Sort and add custom Sorter
  • (headermenu): add Clear Filter to each Column Header Menu
  • (divider): add divider option to Grid Menu & Column Header Menu items
  • (filter): input mask filter (PR #107)
    • note this is a very simplified mask filter, if the behavior is not what you are looking for then it might be better to create your own custom filter with an external 3rd party lib that support mask well
  • (gridService): add new methods to GridService, see #110, #111
    • add new methods "deleteDataGridItems" and "deleteDataGridItemByIds" to address issue #111
    • add 3rd argument "shouldHighlightRow" boolean field to the "updateDataGridItem" ans "updateDataGridItems" method to address issue
  • (formatter): Formatter returning an object now accept tooltip

Fixes

  • (pagination): refresh paging after adding/deleting item with DataView
  • (filter): Select Filter "addBlankEntry" sometimes add 2x entries
  • (translateFormatter): shouldn't convert null values to string (PR #102)
  • (build): distribution folder shouldn't be part of the Git project (PR #103)
  • (filter): Header Menu Clear Filter not calling Grid State change
  • (styling): fix styling issue when Filters are filled
    • adds a filled class which user can customize to his need, e.g. change background-color of filled Filters
    • Uncyclo doc
  • (delete): remove any row selection after deleting a row, #111
  • (backend): debounceTypingDelay on input Filter was no longer
    • (filter): on ENTER key it should skip debounce waiting on input
  • (pagination): incorrect pagination behavior on adding/removing items
  • (filter): all jquery .on bound event should also be unbound
  • (regression): the commit cdcc979 caused a regression with click event
  • (filter): Select Filter doesn't get removed on destroy

Refactoring

  • (backend): remove all castToPromise and keep Observables as is

Draggable Grouping

07 Dec 20:47
Compare
Choose a tag to compare

Features

  • (grouping): add draggable grouping plugin
  • (inputType): Add multiple input types (number/password)
    • inputNumber, inputPassword, compoundInputNumber, compoundInputPassword
  • (remote): add customDataView with Remote Model feature with an example
    • this was actually released in version 1.8.x but it's still very new
      -see demo Example17, Chrome might block the remote model api javascript file loading, you can unblock it or try with different browser like Firefox/Edge
  • (selector): add new property to display "Select All" checkbox in different location (header row (default) or filter row)
    • the default doesn't show "Select All" on the filter row, it's useful to change this property, to do so you can change hideInFilterHeaderRow: false and hideInColumnTitleRow: true

Fixes

  • (filter): Date in UTC format with milliseconds not filtering well
  • (grouping): toggle group not working in example 18, fixes #91
  • (filter): all jquery .on bound event should also be unbound

Angular 7 support

20 Dec 22:20
Compare
Choose a tag to compare

This is a Major version because there are breaking changes (thanks to Angular).
Also worth to know that I skipped Angular 6, if you wish to remain on that version then use lib version 1.x and follow this comment with rxjs-compat

Breaking Changes

  • updated RxJs to version 6.3.x
  • updated @ngx-translate/core to 11.x.x
  • updated @ngx-translate/http-loader to 4.x.x
  • updated all Angular libs to 7.x.x
  • updated ng-packagr to 4.4.x

Previous Version 1

  • Previous version 1.x will still be supported but only for patches/fixes
  • all new major features will be available only on the version 2.x upward

Fixes

  • (grouping): toggle group not working in example 18, fixes #91

Extract all SlickGrid Controls/Plugins into their own classes

14 Nov 23:40
Compare
Choose a tag to compare

This new release does not bring much to the user on the feature side of it, however in code there was a major rewrite in how SlickGrid Controls & Plugins (gridMenu, headerMenu, columnPicker, ...) are handled. It was all previously under 1 big Service which was getting way too big, the rewrite was to separate them all in individual classes/services which is much more maintainable. Another big change, again under the hood, is that each of these controls/plugins (now called simply as Extensions) will be called On Demand, meaning that if you don't enable the extension, it won't use the SlickGrid Control/Plugin, this should end up in smaller prod build size (SlickGrid has about 10 controls/plugins and you might not use them all).

Features

  • (filter): add "filter-{id}" to all Filters. easier styling & target
  • (editor): add "editor-{id}" to all Editors. easier styling & target
  • (plugin): split out all controls/plugins into their own class
    • load extension on demand (dynamically via require)
    • use DI in all Extensions
  • (plugin): add new Example 17 of SlickGrid Plugin - Row Move Manager, closes #78
  • (update): add new method updateDataGridItems (in GridService) for multiple changes
    • also provide optional flag to disable highlight on both updateDataGridItem & updateDataGridItems
  • (remote): add CustomDataView flag and feature, ref issue #83
  • (backend): add onError callback which catch error from process
  • (remote): add Remote Model example with custom dataview
  • (badge): add download count badge

Fixes

  • (backend): made pagination input larger and shrink other elements
  • (select): collectionAsync error thrown when using collection, closes #76
  • (resize): global delay timer was affecting multiple grid resize, closes #81
  • (editor): Float Editor Validator not working with .5 but works with 0.5
  • (pagination): fixed a few pagination problem used by backend service

Collection now support multiple filterBy/sortBy... and more features & fixes

09 Oct 14:55
Compare
Choose a tag to compare

Features

  • (resize): add maxHeight & maxWidth options to Resizer Service (autoResize)
  • (filter): add possibility to filter complex objects (with JSON dataset)
  • (sort): add possibility to sort complex objects (with JSON dataset)
  • (collection): support multiple filterBy/sortBy in CollectionService
    • (collection): add FilterMultiplePassType (with option: merge, chain)
    • Uncyclo doc
  • (editor): add auto commit edit flag to grid options
    • new Grid Option boolean flag name is autoCommitEdit
  • (select): add option to use label as selected text
  • (select): Filter/Editor able to translate prefix/suffix/optionLabel
  • (select): collection can also be of type String (not just label/value pair)

Fixes

  • (header): use showHeaderRow flag when defined by user
  • (graphql): should be able to use presets even if field is not a column definition
  • (select): fix separatorBetweenLabels to use join so that it doesn't add extra separator when prefix or suffix isn't present
  • (resize): autoAdjustDropWidthByTextSize should handle 100% width
  • (resize): when having 2 grids resize only works on 1 grid
  • (select): Single Select should use EQ operator instead of IN
  • (select): multiple-select autoAdjustDropWidth sometime incorrect
  • (resize): auto-resize shouldn't resize when fixing gridHeight/gridWidth

Dynamically Change Row CSS Classes

13 Sep 18:37
Compare
Choose a tag to compare

Features

Fixes

  • (editor): LongText & Select Editor should close when tabbing away
  • (chrome): Compensate incorrect SlickGrid measureScrollbar causing horizontal scrollbar to sometime show up in Chrome browser only
    • this was observed on computer with Chrome and only 20% of the time
    • miscalculation of 3px was the cause of the horizontal scrollbar
  • (update): regression updateDataGridItem shouldn't throws error
  • (export): remove extra comma at the end of each line
  • (filter): regression fix on select filters
  • (styling): remove black border bottom from column headers
    • this was only showing with an ng build Prod
  • (demo): fix Grid Editor component demo which the prerequisite editor that was misbehaving
  • (editor): make the Float Editor Validator work correctly min/max val
  • (export): Export should work with datasetIdPropertyName, closes #67

auto-adjust Select drop height, width & position

29 Aug 19:46
Compare
Choose a tag to compare

Features

  • (multiselect): auto-adjust height, width & position of multiple-select.js
    • 3 new flags were added to control height, width, position of the drop from Single/Multiple Select Filters/Editors
      • autoAdjustDropHeight, autoAdjustDropPosition, autoAdjustDropWidthByTextSize
      • these new flags are all enabled by default, however you can choose to disable them at any time
    • multiple other properties were also added to change behavior, if need be, of these auto-adjustments
      • minWidth, maxWidth, adjustHeightPadding
      • maxHeight (already existed but can be helpful with these new adjustments
    • for more in depth details, please see the PR #59 or Uncyclo - Select Filter
  • (style): customize grid styling with more variables

Fixes

  • (columnSize): add flag enableAutoSizeColumns, closes #60
  • (header): hidding column from header menu after reordering fixes #62

Small Fixes & Features to Filters/Editors

22 Aug 21:32
Compare
Choose a tag to compare

Features

  • (filter): auto adjust drop position (up/down) of select filter

Fixes

  • (formatter): null values not handled properly with number formatters
  • (editor): auto adjust drop position (up/down) broken multiple editors

Small breaking change with Editor/Filter CustomStructure

16 Aug 20:02
Compare
Choose a tag to compare

Released under a minor release because it's a breaking change (though not big enough for a major).
I would be surprised that anyone even used these new options yet which were added faily recently to the customStructure object, but just in case, I decided to release a minor version for that reason

Breaking Change

  • (customStructure): options moved to new collectionOption property
    • cut all options (4x) out of customStructure and move them to the new collectionOption property
    • the 4 options moved were (addBlankEntry, collectionInObjectProperty, separatorBetweenTextLabels, includePrefixSuffixToSelectedValues) which are now under collectionOption

MultipleSelect / SingleSelect Editors & Filters Collection Async

14 Aug 00:03
Compare
Choose a tag to compare

Features

  • (editor): add collectionAsync to editor
  • (filter): add collectionAsync to filter
  • (formatter): add new arrayObjectToCsv Formatter
  • (formatter): add 2 new DateTime Short Formatter without seconds
  • (filter): optionally pull collection from object property
  • (filter): optionally add a blank entry to the collection
  • (editor): optionally pull collection from object property
  • (editor): optionally add a blank entry to the collection

Refactoring

  • (styling): change default singleSelect radio icon
  • (example): add editors inside the example to test issue reported in #53

Fixes

  • (pagination): Only display Pagination with backendServiceApi
  • (build): remove unnecessary lodash from package.json
  • (filter): MultipleSelect Filter had z-index too low in modal window
  • (sanitize): replace sanitize-html with DOMPurify for a much smaller lib
  • (selector): Row Selection should be reset for a Sort change also
  • (editor): LongText Editor should'nt throw i18n error when missing
  • (grouping): Grouping with Filter should work together, closes #57

Breaking Changes

  • (custom): Editor/Filter CustomStructure addSpaceBetweenLabels property replaced by separatorBetweenTextLabels