Releases: ghiscoding/Angular-Slickgrid
Releases · ghiscoding/Angular-Slickgrid
Grouping Formatters
Features
- (grouping): add multiple Formatters and Group Totals Formatters
- the Wiki - Grouping & Aggregators doc is now fully updated. You can now review it for more info.
- (gridMenu): all commands icons can now be changed in gridMenu
- (export): add cell data sanitize option, that will strip HTML tags from output
- (styling): make the multiple-select.js "Select All" text 100% wide
- (sort): add a Clear Sorting function and grid menu command
- (styling): add height/width to the grouping icons to make it easy to click
- (editor): auto-adjust ms-select drop up/down by space
- (grid): correcly set gridHeight & gridWidth, improved resize perf
- (resizer): add lastGridDimension getter
- (graphql): add option to pass extra query arguments
Refactoring
- (graphql): without cursor doesn't need pageInfo or hasNextPage
- (aggregators):
Aggregators
instantiating classes should be uppercase- this is important, since the signature changed from
new Aggregators.sum('duration')
tonew Aggregators.Sum('duration')
- this is important, since the signature changed from
Fixes
- (graphql): make sure column exist before trying to get properties
Grouping & Aggregators (released)
Features
- Grouping & Aggregators, now released
- see the demo in action
- see Wiki - Grouping & Aggregators for more info.
- Export to File also updated to work with it (a reminder, the export is WYSIWYG)
- created
Aggregators
to use directly from the lib, more will come in the future - updated styling
- MultipleSelect/SingleSelect, MultipleEditor/SingleEditor Collection filterBy/sortBy
- you can now pre-filter and/or pre-sort the collection passed to any of these Editors/Filters.
- see Wiki - Collection filterBy/sortBy for more info.
- feat(export): add onGrid Before/After ExportToFile Observable
- this could be useful if user want to display a spinner while downloading
Fixes
- fix(preset): Preset with Sort was not working correctly with GraphQL
- fix(sorting): previous version
0.14.2
refactoring broke the multi-sort in some occasions - fix(graphql): no need to throw an error when dataset is empty or is incorrect structure, just return empty array
- fix(interface): multipleSelectOption interface is missing some arguments
Grouping & Aggregators (alpha stage)
Features
- feat(grouping): add first draft of Grouping & Aggregators functionality
- this is in Alpha stage, things will change, especially the
Slick.Data.Aggregators
these should not be used directly but I just wanted them working as a POC (proof of concept) for an Alpha release. Future version will separate allAggregators
into their own interfaces and functions, and you will call them from Angular-Slickgrid (just like Formatters). - you can give it a try and provide feedback (if so use issue #21), but expect to have to refactor your code in the next version (probably in a week or so)
- no documentation yet, just look at the demo and ts file for now.
- this is in Alpha stage, things will change, especially the
Fixes
- fix(jquery-ui): use latest version of jQuery-UI to avoid jQuery 3 errors
- previous version wasn't using the latest version of
jQuery-UI
which is1.12.1
, this version does use it.
- previous version wasn't using the latest version of
Compound Filters & Single/Multiselect Editors
Features
- feat(editor): add new Single & Multiselect Editors
- see Wiki - Select Editors and see a demo
- feat(gridState): add onGridStateServiceChanged Event Emitter
- see Wiki - Grid State Events for more info
- feat(filter): add new Input & Date Compond Filter
- see Wiki - Compound Filters for more info and see a demo
- feat(formatter): remove Formatter
inputNoPlaceholder
and replaced with a new global grid optionsdefaultFilterPlaceholder
that is set with the magnifying glass icon. If you don't want any placeholder, just set thedefaultFilterPlaceholder: ''
to empty string - feat(sass): add focus color for multiselect
- feat(grid): add column definition setter to update dynamically, ref #20
Fixes
- fix(odata): the OData grid sample Pagination was not working correctly
- fix(formatter): dateTimeIso Formatter was using dateIso
- fix(jquery): remove all jquery imports causing issues with external libs
- fix(jquery-ui): use latest version of jQuery-UI to avoid jQuery 3 errors
- to avoid error thrown by jQuery 3 and issues with 3rd party lib, in my case Bootstrap.js Tooltip, I had to change the order of the scripts imports, look at
angular-cli.json
info in the Wiki -
HOWTO
- to avoid error thrown by jQuery 3 and issues with 3rd party lib, in my case Bootstrap.js Tooltip, I had to change the order of the scripts imports, look at
- fix(gridState): get Current Pagination not set on first load
- fix(styling): header with char "g" is sometimes cut out, increase height
- fix(filter): single select filter incorrect emit
- fix(backend): Grid Presets sort order not correct with backend services
- fix(pagination): go back to page 1 only on filter change (backend service only)
- fix(filter): Compound Input filter on type string was not working correctly with regular grids (without backend service)
- fix(filter): CompoundDate Filter should add a time picker when found 'h'
Grid State additions and fixes
Features
- feat(queryFilter): add new "queryFieldFilter" and "queryFieldSorter"
- feat(formatter): add a new HyperlinkUriPrefix formatter, you need to pass uriPrefix
- feat(filter): add new InputNoPlaceholderFilter and global default filter
- feat(event): add onGridStateChanged and onPaginationChanged events
- feat(graphQL): add Column "fields" to help pass multiple properties to GraphQL query
- feat(gridState): add headerName which can be columnDef.headerKey or columnDef.name
- feat(service): expose refreshBackendDataset for backend
Fixes
- fix(graphQL): delete duplicate gridOptions it was causing issues with GraphQL internalPostProcess call
- fix(graphql): a column type of number should use EQ in GraphQL query
- fix(backend): backend filter on delay was broken since GridState feature was introduced
- fix(gridState): onGridStateChanged not working correctly in many cases
- fix(formatter): multipleFormatter should pass value to next formatter
Deprecated
- remove deprecated Event Emitter (onGridCreated)
Grid State fixes
features
- feat(formatter): add multiple formatter
- feat(query): add new Column property
excludeFromQuery
and use it for Row Selection
fixes
- fix(graphql): GraphQL had the incorrect sorting structure
- fix(error): make sure dataview exist before trying to refresh it
- refactor(filter): make the setValues a required function
- refactor(filter): all setValues argument should be typed
- fix(state): Grid State output should only have properties of it's own type
demo
New demo of a Custom Pagination, thanks to @sabeurch for providing it.
Grid State & Grid Presets
Features
Grid State
allows you know at any time, what are the currentFilters
,Sorters
andPagination
information. See the Grid State & Presets for more info.- Pagination is only used with a Backend Service
Grid Presets
, you can now load a grid with certainpresets
that includeFilters
,Sorters
andPagination
- again Pagination is only with a Backend Service
- When combining
Grid State
andGrid Presets
, you can store the state in Local Storage (or DB) and later come back to that same page and load thepresets
. We plan to use it with Local Storage in our App - extend
GridOption
interface witheditCommandHandler
option (PR #15)- this bring Inline Editor Undo capabilities, see updated Example 3
- add
datasetIdPropertyName
into grid options for dataset that don't have anid
but rather another name likeID
, where the case matters. - add MultipleSelectOption type to make it easier to use with
filterOptions
property - add Pagination page number input (with Backend Service only)
- updated to latest SlickGrid version
2.3.15
which brings a few features and fixes- ColumnPicker / GridMenu
- expose new hide flags (
hideForceFitButton
andhideSyncResizeButton
- expose
onColumnsChanged
new Slick Event
- expose new hide flags (
- Header Menu now have
autoAlign
, which basically change the menu alignment to left when it knows there isn't enough room to show on the right
- ColumnPicker / GridMenu
Fixes
- fix(odata): OData string filter should also support
!=
and<>
operators with input filter - fix(grid): Widen resizable handle cursor areas for columns
- fix(events): every subscribed event should have an unsubscribe to avoid unwanted behavior and memory leak
- fix(grid): update SlickGrid version and configure Header Menu autoAlign
- fix(grid): filter selected values were being lost after changin col pos
Thanks
A big thanks to @asdman384 and @sabeurch for their PRs, discussions and ideas. 🥇
Export to File
Features
- Export to File, currently 2 types of exports are supported Wiki - Export to File
- CSV
- Text (Tab or Semicolon delimited, or actually any delimiter you wish)
- New version of Packagr which was designed for Angular 5, this is for Development purposes, but it's worth knowing
- add
autoDropWidth
option tomultiple-select.js
which can be used as afilterOptions
forSingleSelect
andMultipleSelect
Filters - add Filter class "filled" (or no class when empty) for styling purposes on all Filters.
- we could for example show a different background color when the filter is filled
- add
positionOrder
to change the order position of the "Custom Commands" list showing up in the Grid Menu - update to latest version of SlickGrid
2.3.13
which brings a few goodies- when using
Formatters.translate
, you can now define it directly in the Grid Options instead of each Column Definition.
- when using
Fixes
- fixed inline editor checkbox not showing up
- fixed pagination should display 1-(itemCount) when count is lower than totalCount
- for example if we want to display 20 items per page but our list only has 6 items, it should display
1-6 of 6 items
- fixed issue #13, when using Backend Service API and setting
enablePagination: false
, it shouldn't show the pagination component. - fixed header buttons styling, which was not floating correctly anymore
- Example 7 (Header Button Plugin demo)
Multiple-Select Filter & Custom Filter
Features
- rewrote most of the Filter implementation to make Filters more modular
- MANDATORY, if you want to use the new filters, you will have to modify your angular-cli.json, you can review the HOWTO
- now support Multiple-Select Filter with SASS variables for styling.
- uses a customized version of multiple-select.js to suit Angular-Slickgrid needs, read Wiki - Select Filter for more info.
- created Single Select Filter (radio box), again read Wiki - Select Filter for more info.
- also support Custom Filter, read Wiki - Custom Filter for more info.
Fixes
- when rewriting the Filter, I found performance issues there was 2 nested for loop while only 1 loop is enough. So there were performance impact.
translateFormatter
should only translate when it has a value
Deprecated
- Select Filter
selectOptions
property was renamedcollection
to make it more generic and re-usable with other Filter that might not be Select.- a console warning will be shown if you use the old property name, so it won't break any code. The old property will be removed in later versions.
Small fixes - TranslateFormatter & Filter translated cell values
Fixes
translateFormatter
was throwing error on empty spacengx-translate
doesn't seem to like empty string as a translate key but white space are ok, so we'll use that as fallback
- fix regular grid local filter not working with localization (i18n)
- a new flag
useFormatterOuputToFilter
was created to get over the problem, so you need to set this flag to true when you want to use the output of Formatter to filter against, see the Wiki - input filter - in the Example 12 - Localization, the Title column filtering was not working correctly because each cell value uses a translate formatter.
- a new flag