Skip to content

Releases: ghiscoding/Angular-Slickgrid

Dynamic Grid Options and Column Definitions

15 May 23:33
Compare
Choose a tag to compare

Features

  • (grid): ability to dynamically add or change Column Headers and/or Grid Options
    • you can see Example 12, click on "Dynamically Duplicate Title Column" to see it in action
  • (resize): use gridHeight or gridWidth when provided
    • if user pass any of them, even when the grid option enableAutoResize is enabled, we will use the provided size to fix that one but resize the one that is not provided.
    • Example, let say the user passes gridHeight="300", the autoResize service will only resize the width and never the height because it is now a fixed height.

Fixes

  • (grid): issue #20 Dynamic Headers in Angular 5
    • this is the new feature mentioned on top "Dynamic Grid Options and Column Definitions"
  • (editor): Date Editor was not using picked date
  • (editors): use indexOf in multiple select editor to load value
  • (editor): Date Editor was not using picked date
  • (headerMenu): we should not display header menu on row select column
  • (dataview): preserve any previous sort when resetting items
  • (control): Grid Menu is shown behind grid when using modal window

Few small fixes & updated to latest Slickgrid version

11 May 14:04
Compare
Choose a tag to compare

Fixes

  • (editor): provide decimal places option to Float Editor
  • (eventService): use grid.getOptions for gridDefinition
  • (build): ngx-translate has new version 10 that have breaking changes
  • (example): header button highlighting was staying red even after leaving and coming back on the same example
  • (grid): issue #27, sort icon hidden behind grid menu w/small dataset
    • a new grid option flag was added in SlickGrid (by me actually) which is alwaysShowVerticalScroll to remove visual issues observed with small dataset
    • this fix was only possible through the new SlickGrid version 2.3.18 released recently

Features

  • (styling): text and number editor should be displayed, add styling
  • (slickgrid): updated to latest SlickGrid version 2.3.18 which brings a few fixes in the core

Row Colspan, Header Grouping & Default Header Menu

10 Apr 21:10
Compare
Choose a tag to compare

Features

  • (grid): add Column Span (colspan)
  • (grid): add Header Grouping across multiple colspan
  • (sorting): add support for multi-columns number indicator & tristate
    • try doing a multi-sort in any of the grids
  • (grid): add all missing grid options available in SlickGrid
  • (grid): Excel like Copy Buffer with Copy Manager Plugin
  • (grid): add a default Header Menu with hideColumn, sort Asc/Desc commands
    • now enabled by default in global grid options

Fixes

  • (style): formatter should not remove href link underline
  • (grid): calling refreshBackendDataset was not refreshing UI
  • (formatter): make sure object exist before getting property
  • (editor): SingleSelect & MultiSelect Editors misbehave w/sorted desc

Grouping Formatters

02 Apr 16:25
Compare
Choose a tag to compare

Features

  • (grouping): add multiple Formatters and Group Totals Formatters
  • (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') to new Aggregators.Sum('duration')

Fixes

  • (graphql): make sure column exist before trying to get properties

Grouping & Aggregators (released)

26 Mar 16:13
Compare
Choose a tag to compare

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
  • 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)

20 Mar 18:02
Compare
Choose a tag to compare

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 all Aggregators 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.

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 is 1.12.1, this version does use it.

Compound Filters & Single/Multiselect Editors

13 Mar 15:29
Compare
Choose a tag to compare

Features

  • feat(editor): add new Single & Multiselect Editors
  • feat(gridState): add onGridStateServiceChanged Event Emitter
  • feat(filter): add new Input & Date Compond Filter
  • feat(formatter): remove Formatter inputNoPlaceholder and replaced with a new global grid options defaultFilterPlaceholder that is set with the magnifying glass icon. If you don't want any placeholder, just set the defaultFilterPlaceholder: '' 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
  • 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

06 Mar 22:19
Compare
Choose a tag to compare

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

05 Mar 17:05
Compare
Choose a tag to compare

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

01 Mar 21:49
Compare
Choose a tag to compare

Features

  • Grid State allows you know at any time, what are the current Filters, Sorters and Pagination 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 certain presets that include Filters, Sorters and Pagination
    • again Pagination is only with a Backend Service
  • When combining Grid State and Grid Presets, you can store the state in Local Storage (or DB) and later come back to that same page and load the presets. We plan to use it with Local Storage in our App
  • extend GridOption interface with editCommandHandler option (PR #15)
    • this bring Inline Editor Undo capabilities, see updated Example 3
  • add datasetIdPropertyName into grid options for dataset that don't have an id but rather another name like ID, 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 and hideSyncResizeButton
      • expose onColumnsChanged new Slick Event
    • 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

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. 🥇