ag-grid

The best JavaScript Data Table for building Enterprise Applications. Supports React / Angular / Vue / Plain JavaScript.

OTHER License

Downloads
47
Stars
12.6K

Bot releases are visible (Hide)

ag-grid - 4.1.3

Published by ceolter over 8 years ago

ag-grid - 4.1.2

Published by ceolter over 8 years ago

see website for release notes

ag-grid - Rename file PopupService.js to popupService.js

Published by ceolter over 8 years ago

Just a file rename, only impacts people using commonjs and linux (windows was case insensitive).

ag-grid - Bug fix and new feature

Published by ceolter over 8 years ago

  • min was not working in status bar
  • implemented ctrl+d for 'copy down' when range selected
ag-grid - bug fix

Published by ceolter over 8 years ago

setting sort before datasource on pagination caused error

ag-grid - Bug fixes

Published by ceolter over 8 years ago

See release notes at www.ag-grid.com

ag-grid - Bug fixes, see change log

Published by ceolter over 8 years ago

ag-grid - Bug fix on build issue

Published by ceolter over 8 years ago

ag-grid - ag-Grid Enterprise

Published by ceolter over 8 years ago

New Features

The grid has moved to Enterprise vs Free.
Enterprise Feature: Enhanced enterprise column menu, in addition to filtering there is now a menu and also column management.
Enterprise Feature: Row group panel on top of grid, so you can drag columns to here to group.
Enterprise Feature: You can now drag columns from the tool panel into the grid to make them visible.
Enterprise Feature: Row grouping and aggregation are no longer in the tool panel as they can be done bia column menu (grouping and aggregation) or dragging to the row group panel (grouping).
Enterprise Feature: Context Menu
Enterprise Feature: Range Selection
Enterprise Feature: Enterprise column menu
Enterprise Feature: Clipboard interaction
Enterprise Feature: Status bar
Tool panel, set filter, row grouping and aggregation are now only available in Enterprise version of ag-Grid.
Enhancements & Changes

Performance improvements - no longer attaching listeners to each cell, so when scrolling, the dom is not been ripped up with adding and removing listeners. Instead the grid has one listener (eg for mouse click), and when the click happens, the grid then works out which cell it was for.
rowNode is now a class object with methods (previously it only have properties, a simple data object). Methods now include: setSelected(), isSelected(), addEventListener(), removeEventListener(), resetQuickFilterAggregateText(), deptFirstSearch(callback).
RowNode now has method 'setSelected'. This should now be used for row selection over the gridApi.selectXXXX() methods.
api.getSelectedNodesById gone, use api.getSelectedNodes instead
Event rowDeselected gone, now event rowSelected gets fired for both selected and deselected. Check node state to see if row is selected or not.
Event selectionChanged no longer contains the selected rows or nodes. Use the API to look these up if needed. Preparing these lists took CPU time, so it's best they are only prepared if needed.
Concept of 'suppressEvents' was dumped for row selection. No other event event type had this feature, and it was out of sync with how web components work in general. If you don't want to be notified of an event, then remove your event listener.
api.addVirtualRowListener is gone. Instead for row selection/deselection listening, use node.addEventListener(), and for virtual row removed, use api.addRenderedRowListener()
New API methods: getFirstRenderedRow() and getLastRenderedRow(), to know the first and last rows in the DOM (the grid only renders enough rows (plus a buffer) to show what's visible for performance reasons).
Introduced property modelType, set to 'pagination' or 'virtual' for pagination and virtual pagination. This replaces virtualPaging, as virtual was a boolean when in fact we need to distinctly model three modes of operation: Normal, Pagination and Virtual Pagination.
rowsAlreadyGrouped replaced with getNodeChildDetails. If you are providing already grouped data to the grid, see the new section 'Tree Data' on how this is now done. It had to change because Node is now an object with functinality, so you can't just pass in JSON an expect them to be treated like nodes.
Renamed: columnApi.getState()/setState()/resetState() to columnApi.getColumnState()/setColumnState()/resetColumnState()
Floating rows can now be selected and navigated.
processRowPostCreate callback, so you can process the grid row after it is created. Handy for adding attributes or other stuff to the row after create.
Now CSV export allows you to format cells on their way out. Handy if you want to import into Excel and need to make dates, for example, into Excel formatted dates.
New colDef properties suppressAggregation and suppressRowGroup for suppressing aggregation and row group for particular columns
Added new property: suppressFieldDotNotation
Took out property groupHideGroupColumns, if you don't want a column to be shown, just hide it. This feature was not necessary and caused complexity in the design.
Removed api.refreshRowGroup() -> it wasn't documented, and I can't remember why I put it in, refreshing the grid has the same effect.
api.getValue(colKey, node) replaces api.getValue(colDef, node, data), the colDef and data were 'old design', newer method works much better.
api.getFocusedCell() -> now returns rowIndex and Column (used to return colDef and rowNode, colDef not needed as you can get from Column, rowNode not needed as you can lookup using rowIndex)
rowNode attributes floatingTop and floatingBottom removed, now floating is no longer a boolean, it's a string that can be 'top' or 'bottom' if floating.
setFocusedCell(rowIndex, colId) is now setFocusedCell(rowIndex, colKey, floating).
Bug Fixes

Text filter 'ends with' was not working correctly if search string appeared twice in the text.
forPrint was occasionally given 'Uncaught TypeError: Cannot read property 'appendChild' of undefined'. now fixed.
RIP Virtual DOM

Took out virtual dom. This was an implementation detail, no change in how you interface with the grid. It only made an improvement on IE, and now that we are using delayed scrolling, IE is working fast enough now. In addition, I have now tested with Windows 10 and Edge (the IE replacement) and it's work very fast. So the virtual DOM was giving very little benefit and was 'getting in the way' of a clean design. So I've favored a clean design rather than a more complex design just to get it faster in IE. If you want to see how little difference a virtual DOM made, see the Angular Connect 2015 talk I gave.

ag-grid - bug fix

Published by ceolter over 8 years ago

Pinned rows were not colored correctly

ag-grid - rebuild of 3.3.1

Published by ceolter over 8 years ago

i messed up 3.3.1 release, so use 3.3.2 instead

ag-grid - Bug fixes

Published by ceolter over 8 years ago

Bug fix: Was not exporting initialiseAgGridWithAngular1() and initialiseAgGridWithWebComponents() with CommonJS
Buf fix: Period in fields (ie address.line1) was not working for editing.

ag-grid - Moving columns & Moving to CommonJS

Published by ceolter over 8 years ago

Minor: headerClass (column definition) can now be provided for column groups.
Major: If using Pure JavaScript "new ag.grid.Grid()", it's now "new agGrid.Grid()".
Major: Event 'ready' is now called 'gridReady'
Major: Angular 1 - you now need to initialise the grid via agGrid.initialiseAgGridWithAngular1(angular)
Major: Web Components - you now need to initialise the grid via agGrid.initialiseAgGridWithWebComponents()
Major: Angular 2 - Dropped support for UMD version of Angular
Major: Angular 2 - Now supports CommonJS and ECMA 6 module loading
Minor: BugFix: forPrint was not sizing headers correctly when doing grouped columns.
Major: Added sorting to groups
Minor: Added minColWidth and maxColWidth grid properties. Impacts all columns if set.
Major: Column no longer has 'index' attribute, as the columns moving now has no meaning. Use 'colId' to identify columns.
Major: api.ensureColIndexVisible(index) replace with api.ensureColumnVisible(colKey)
Major: Focused cell not longer has attribute colIndex, instead has attribute colId.
Major: Movable columns via dragging the column header.

Major Build Changes:
CSS now bundled in ag-Grid.js file
Took out TypeScript internal modules
Moved to ECMA 6 style imports (instead of require)
Moved to WebPack for bundling
Moved Angular 2 component to new project

ag-grid - 3.3.0-alpha.1

Published by ceolter over 8 years ago

<li>Minor: headerClass (column definition) can now be provided for column groups.</li>
<li>Major: If using Pure JavaScript "new ag.grid.Grid()", it's now "new agGrid.Grid()".</li>
<li>Major: If using Angular 2 then what was "directives: [ag.grid.AgGridNg2]" is now "directives: [agGrid.AgGridNg2]".</li>
<li>Major: Event 'ready' is now called 'gridReady'</li>

<li>Major Build Changes:
    <ul>
        <li>CSS now bundled in ag-Grid.js file</li>
        <li>Took out TypeScript internal modules</li>
        <li>Moved to ECMA 6 style imports (instead of require)</li>
        <li>Moved to WebPack for bundling</li>
        <li>Moved Angular 2 component to new project</li>
    </ul>
</li>
ag-grid - Just change version number

Published by ceolter over 8 years ago

ag-grid - React Changes

Published by ceolter over 8 years ago

<li>Minor: New event rowGroupOpened, for when row groups are opened / closed.</li>
<li>Minor: Bug fix - pinning was not saved during columnApi.getState()</li>
<li>Minor: Added 'typings' to package.json, so TypeScript can pick up typings from node module</li>
<li>Minor: groupDefaultExpanded must be number (used to be number or boolean). Set to -1 instead of 'true' for same effect.</li>
<li>Minor: addVirtualRowListener - now takes an event type and a function, so has similar pattern to normal event listeners.</li>
<li>Minor: New method 'destroy' added to custom filters. If you need to do cleanup, put it in the destroy method.</li>
<li>Minor: Took out 'agGridGlobalFunc()', should use ag.grid.Grid() instead.</li>
ag-grid - Bug fix

Published by ceolter over 8 years ago

New column API methods: getLeftDisplayedColumnGroups(), getCenterDisplayedColumnGroups(), getRightDisplayedColumnGroups(), getAllDisplayedColumnGroups()

ag-grid - Bug fixes

Published by ceolter over 8 years ago

Minor: Added 'columnSeparator' to CSV Export
Minor: Added starting character of '\ufeff' to CSV Export (for Excel compatibility)
Minor: Bugfix - gridOptions.isEnableSorting && colDef.suppressSorting were not used in 3.1.0, fixed.

ag-grid - Headers and Columns

Published by ceolter almost 9 years ago

Minor: New allColumns property for export to csv
Minor: API method deselectNode() now takes 'suppressEvents' parameter.
Minor: Now colDef.field can had deep references, eg colDef.field = 'owner.firstName'
Minor: New event gridSizeChanged, gets fired when grid changes size, due to window resize or other application state change. Useful if you want to lay out the grid, eg call api.sizeColumnsToFit()
Minor: Bug fix - since v3 columnDefs was mandatory and threw error if missing. Is now optional again.
Major: Implemented auto-size for column. Now columns can be told to fit their content.
Minor: New property: suppressParentsInRowNodes - if you don't want parents in the row node tree structure.
Minor: Fixed up placement of menu icon, it was hitting the header border.
Major: Rows can have variable heights with new getRowHeight() callback.
Minor: bugfix - setColState was not restoring 'visible' correctly
Minor: New APi - columnApi.resetState()
Major: Implemented column header templates

ag-grid - Columns Refactored

Published by ceolter almost 9 years ago

+) Grouping of headers is now called 'columnGrouping' and can now take multiple levels of groups.
+) Pinning can now be done on the left and right, previously was just the right.
+) Row pivoting is now called row grouping. So the two types of grouping are now called Row Grouping and Column Grouping. Pivoting was taken out as it wasn't true pivoting. The was done to allow true pivoting to happen in a future release and avoid any name clashes.
+) gridOptions.groupKeys and gridOptions.groupAggFields are now gone. These were duplicated ways of setting rowGroups and rowAggregation. The correct (and only non-duplicated way) is to use colDef.rowGroupIndex and colDef.aggFunc.
+) New Column API method setColumnPinned().
+) api.refreshPivot() now called api.refreshRowGroup()
+) Event EVENT_COLUMN_PINNED_COUNT_CHANGED removed and EVENT_COLUMN_PINNED added.
+) Column getState() and setState() now include pinned state.
+) Header Height is now height per row, so if 25, and three column groups, total header height is 3x25 = 75. Before it was total header height (so height was split evenly across the header rows)
+) gridOptions.groupHeaders is no longer a property, as grouping in the headers is now defined inside the column definitions.
Minor: CSS Classes ag-header-cell-grouped and ag-header-cell-not-grouped are no longer used.
+) colDef.headerGroupShow is now called colDef.columnGroupShow.
+) Icons {headerGroupOpened, headerGroupClosed} now called {columnGroupOpened, columnGroupClosed}
+) Column API - columnGroupOpened() renamed to setColumnGroupOpened()
+) setColumnVisible(key) now takes a 'key' which can be a colId, field, ColDef object or Column object - previously you had to provide a Column object. Also new method setColumnsVisible(listOfKeys) for updating batches of columns.
+) New methods setColumnPinned(key) and setColumnsPinned(listOfKeys) - behave similar to previously mentioned 'visible' methods
+) In get/set column state, pivotIndex is now called rowGroupIndex
+) If doing raw Javascript version, then angularGridGlobalFunction() is now deprecated, use "new ag.grid.Grid()" method instead.
+) checkboxSelection (on colDef) can now be a function, so you can use params in the function
to work out at runtime if the cell should have a checkbox. gridOptions now also has function of the same
name, so you can configure the grid to have a checkbox in the first column always regardless of the colDef
(this is what the test drive does).

Package Rankings
Top 16.33% on Npmjs.org
Top 21.33% on Bower.io
Top 40.42% on Repo1.maven.org
Related Projects