All notable changes to dash-ag-grid will be documented in this file.
This project adheres to Semantic Versioning.
Links "DE#nnn" prior to version 2.0 point to the Dash Enterprise closed-source Dash AG Grid repo
- #408 fixed issue where the
columnStatewould conflict withcolumnDefsupdates - #412 fix "Multi-Column Filter not properly recognized in filterParams"
- #427 exposes
agGridfrom the community package for use in custom themes and functions
- #403 fix "Maximum update depth exceeded" error
- #403 fix "Maximum update depth exceeded" error
- #394 allow
cellRenderercolumn def to be a function
- #394 allow
cellRenderercolumn def to be a function
- bump to v
33.3.2for the grid - legacy (CSS-only) themes now require stylesheets to be loaded externally (for example, via the
external_stylesheetskwarg to the Dash constructor). Seetests/examples/themes_legacy.pyfor an example. - dashGridOptions now accepts a
themestring or function as per AG Grid's latest theming system. Seetests/examples/themes.pyfor examples. - defaultProps no longer used in modern React versions
- Component is refactored to be a function component rather than a class
- #387 fixed
isRowSelectableprop (issue #379)
- #328 fixed issue where
getRowStylewast able to be passed as a complete function
- #328
- bumping to v
32.3for the grid - the grid checks if updates are from an internal source (3.0.2 dash) and will selectively rerender if so
- bumping to v
- #346 Fixes issue #347 where styling wasnt considering if the grid had rows without
data. This is related to the alteration in #332 - #353 Adjustments for support of Dash 3
- #352 Adds
eventDataprop for devs to send arbitrary events from the grid events complete with an auto timestamp
- #362 bumping to v
31.3.4for the grid
- #300 Fixes issue #299 where grid was unmounted and trying to update the
columnState. - #325 Fixes issue #324 where
pivotComparatorfunctions were not sorting columns correctly because they were only being passedparams. - #314
- locking selenium for tests that were failing due to missing import
- #313
- #312 fixing issue where
scrollTowas defaulting to not reset the value- to maintain scroll position during a grid rerender, be sure to use
getRowId
- to maintain scroll position during a grid rerender, be sure to use
- fixing side issue where
cellDoubleClickedwas forcing the grid to rerender
- #312 fixing issue where
- #331
- adjusted
setProps->customSetPropswhich tests if the grid is active in the dash tree and mounted. - #307 fixes JS console error because
setPropsis no longer called when unmounted.
- adjusted
- #330 Added
dash_clientsideto available functions for easier one-liner functions, esp.eventListeners.- requested #303
- #327 bumping to v
31.3.2for the grid - #332
handleDynamicStylenow checks forparams.databefore attempting to apply the test- #321 fixes issue with infinite scroll and dynamic row styling
- #273 increased the timeout for
getApiAsyncto 2 minutes. - #281 webpack is now designed to build quicker, excludes
node_modulesand uses a different parser - #287 bumping to v
31.2.1for the grid
- #270
- support for
eventListenersto be added to the grid that get loaded upongridReady eventListenersare added upongridReadyonly, if you need to add or remove other event listeners, please use thegetApiorgetApiAsyncmethods- added default for
selectedRowsto be[]
- support for
- #283
- #287
aggFuncscan now be passes as an object from the grid to be mapped to functions- fixes #278
- #266 Updated README
- #246
grid_versionadded to allow developer to see underlying AG Grid version in python- Added
quartztheme native support - Added function support for
dateParser,dateFormatter,quickFilterParser,components,quickFilterMatcher,predicate,textFormatter,textMatcher,numberFormatter,numberParser,dataTypeMatcher
- #246 dropped
getColumnApiandgetColmunApiAsyncas these are deprecated from the underlying grid.
- #261 The
cellValueChangedproperty has changed been changed from a (single) event object to a list of event objects. For multi-cell edits, the list will contain an element per change. In other cases, the list will contain a single element. Fixes #262 - #246
- updating underlying grid version from AG Grid v29 -> v31, with this change, Dash AG Grid will reflect a similar version number to underlying Grid version.
dataTypeDefinitionsnow supports full js, partial python with full definitions in js of an object, and objects have parts that are jscolumnSizeandcolumnStatecannot be currently passed together when grid initializes, thecolumnSizewill trump thecolumnState
- #246 testing for grid going to destroyed state
- #243 Added function support for:
getContextMenuItems,isRowMaster,setPopupParent,popupParent,filter- iterate through
csvExportParamsanddefaultCsvExportParamsfor functions:getCustomContextBelowRow,shouldRowBeSkipped,processCellCallback,processHeaderCallback,processGroupHeaderCallback,processRowGroupCallback
- #237 Fixed issue with grid components not being passed down to the detail grids
- #232 Fixed height style to unassign automatically if
domLayout= 'autoHeight', addresses #231
- #212 Async function for
getApiAsyncandgetColumnApiAsyncfor use with grid initializing
- #226 Fixed issue when using grouped rows with
rowDataandvirtualRowDatapopulating incorrectly. #215
- #199 Add
scrollToprop which allows scrolling to rows and columns. - #209 Add
getApiandgetColumnApitodash_ag_gridnamespace to allow for JS functions to call the grid's API directly
- 210 Fix issue with
columnStateand React 18
- 210 Migrate props that use
setPropsfrom therender()tocomponentDidUpdate
- #201 Add
cellDoubleClickedprop, which works exactly likecellClicked
-
columnStatefloats during grid interaction and only gets pushed when sent in a callbackcolumnDefstrumpscolumnStateif it is pushed in a callback without acolumnState
-
#207 Update AG Grid from 29.3.3 to 29.3.5, with a few minor bugfixes, see their changelog for 29.3.4 and 29.3.5. Also other minor dependency updates.
-
#174 Fix #171:
Markdownrenderer now displays a blank cell rather than writingundefinedif there is no value -
#204
filterOptionswill now work as a regular object -
#206 Fix #195 where if the user was to redo the exact same action, callbacks on
cellValueChangedwould not trigger again. Fix by addingtimestampinto the object, as we have in other event-type props to make them unique.
-
- Remove
agGridColumnscomponent due to deprecation in AG Grid v29, usecolumnDefsinstead. - Remove some hardcoded CSS
- Remove
-
#132 Remove prop
autoSizeAllColumns, use thecolumnSizeprop instead.
-
- Add
classNameprop for css customization native to AG Grid - Add
enable*props for easier user / dash manipulation, for creating buttons - Add overarching
dangerously_allow_codeprop to grid props only provided at render, to keepcolumnDefsfrom receiving possible updates to execute malicious JavaScript (originally calleddangerously_allow_htmlbut renamed later) - Add
data_previousanddata_previous_timestampprops to allow easier change tracking in callbacks - Add
dashGridOptionsprop to allow for arbitrary use of AG Grid props not explicitly listed - Add
setRowIdprop to allowrowDatachange detection - Add
columnStateprop to retrieve the current state of the columns after user interaction
- Add
-
- Allow strings of functions to be passed as parameters to
valueGetterFunction,valueFormatterFunction. This allows for functions to be parsed even in a strict CSP environment. - Add row conditional formatting via
getRowStyle, acts similar tocellStyles - Add ability for custom parsing functions to be passed via the namespace
window.dashAgGridFunctions - Allow for
nullto be passed tocolumnSize, to prevent the fit to width or autosize being the only options
- Allow strings of functions to be passed as parameters to
-
- Allow for other column prop functions to pass without disabling them if
dangerously_allow_codeis not passed - Copy over
columnDefdangerously_allow_codeto allow for the prop to be placed only on the grid level - Keep
paramstogether instead of splitting into separate keys, to allow for easier transition to using AG Grid docs
- Allow for other column prop functions to pass without disabling them if
-
- Allow for
defaultColDefto be iterated through for functions - Add
tooltipComponentto be altered if it was list as a function object
- Allow for
-
#49 Safely handle more attributes when
dangerously_allow_codeis disabled:- Top-level attributes
rowClassRules,getRowStyle, andgetRowClass - Column attributes
cellClass,cellStyle, andcellClassRules
- Top-level attributes
-
#67 Function parsing recursive columnDefs
- Add more functions to be available for parsing
- Allow for recursively going through
columnDefs->childrenand master detail info
-
#76 Add logging function available by default, available via
{"function": "log()"} -
#111 Add
filterModelprop in order to capture the grid's active filters -
- Add new
columnSizeoptionresponsiveSizeToFit, which will adjust column sizes based upon grid size and columns added or removed - Add
columnSizeOptionsprop to modify the behavior chosen incolumnSize - Add ability to push
columnStateback to grid and replay the settings
- Add new
-
- Support
alignedGrids - Support functions with
tooltipComponentParams - Add
paginationInfofor read-only info from the grid's pagination - Add
paginationGoToto navigate to different pages
- Support
-#164 Support passing selectedRows functions or ids for performing selections
-
- Update AG Grid from v27.x to v29.x - see AG Grid Changelog for details.
- Update markdown renderer to use github markdown, and also have the ability to be passed a target for links, to avoid
dangerously_allow_code - Update
requirements.txt(Python dependencies for demos and docs) to allow the latest packages
-
- Change
selectionChangedtoselectedRowsto make props align with AG Grid - Allow
selectedRowsto persist
- Change
-
#70 Change
clickDatatocellRendererDatato more closely line up with what this does -
- Prop clean-up overhaul
- Remove
cellStylefrom the grid level, allowing more flexibility in customization, and alignment with AG grid - Allow for functions, styleConditions and regular dictionaries to be passed to the
cellStyleon all levels - Add
rowIdtocellClickeddata
-
#132 Change
columnSizeoption ofautoSizeAll->autoSize -
- Update React to
18.2.0 - Update
material-uito@muiforrowMenuRenderer
- Update React to
-#164 Update selectedRows to maintain persistence by utilizing rowIds if available
-
- Fix conditional formatting for nested columns
- Fix issue where columns would not take edits or adjustments due to becoming static
-
#6 Fix props issue for
enableAddRows -
#45 Fix #44, markdown ignoring
target="_blank"to open links in a new tab. Now ifdangerously_use_codeisfalse, markdown cells honorcolumnDef.linkTarget, but ifdangerously_use_codeistrueyou MUST use the HTML syntax<a target="_blank">to achieve this, markdown syntax[text](url)will ignorecolumnDef.linkTarget. -
#47 Fix
virtualRowDataby setting the defaultrowModelType='clientSide' -
#81 Fix syncing issue with
rowData,virtualRowDatawhen cell edits and asyncrowTransactionsoccur -
#90 Fix
columnStateto be populated oncegridReady -
#92 Fix
defaultStylewhen nostyleConditionsis incellStyle -
#111 Fix templates to only populate when
dangerously_allow_code=True -
#132 Fix
columnSizeto update upon interaction -
- Fix
onRowDragEndto triggervirtualRowDataupdate - Fix all
virtualRowDataupdates to take into account sorting
- Fix
-
- Fix
openGroupswhere clearing out the set would cause issues - Fix
paginationGoToto work with a starting page
- Fix
-
#161 Fix the default style to be applied even when a style is given from the developer.
style.heightandstyle.widthalways exist but can be overridden if other values are provided in thestyleprop.
-#164
- Fix
comparatorto not be restricted to just params - Fix
paginationGoToto allow0to be passed
- DE#146 Update DashAgGrid component to be async.
- DE#129 Rebuild with latest dash component generator for Py3.6 compatibility
- DE#126 AG Grid v27 drops support for IE11
- DE#126 Update AG Grid to v27.2.1.
- DE#125 Enable sparklines
- DE#124 Add Sidebar support
- DE#87 Add
virtualRowDatafor accessing filtered data
- DE#105 and DE#108 Update column widths when table is resized or a callback changes
columnDefs. - DE#96 Persist filters when
rowDatachanges - DE#90 and DE#86 Improved selections algorithm
- DE#88 Persist row groupings when
rowDatachanges
- Selections fixes by @ndrezn in DE#78
- Add 2.0 support by @ndrezn in DE#82
- Request & response for master detail by @ndrezn in DE#79
- Update look of docs
- DE#72: Support for master/detail grid https://www.ag-grid.com/javascript-data-grid/master-detail/
- DE#69: Improve support for persistence with
selectionChanged.
- Fix issue with
selectionChangedwrite support
- Adds support for
persistence - Adds support for exporting data as
CSV/excel - Adds support for column reset
This release is as v1.0.0 as it indicates production-ready, and changes the API for infinite scroll.
- DE#47 Fix issues with infinite scroll support
- DE#37 Remove build artifacts from tracking
- DE#45 Make download link a
dcc.Downloadcomponent in docs
- DE#28 Add cell styling support
- DE#31 Allow users to pass in Enterprise key and control whether Enterprise or Community modules are enabled
- DE#30 New demo illustrating how to generate a popup from a table
- DE#29 New demo illustrating how to download the dataset from a grid as a CSV file
- DE#27 Use DDK and GDWC for demo app