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
- #300 Fixes issue #299 where grid was unmounted and trying to update the
columnState
. - #325 Fixes issue #324 where
pivotComparator
functions 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
scrollTo
was 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
cellDoubleClicked
was forcing the grid to rerender
- #312 fixing issue where
- #331
- adjusted
setProps
->customSetProps
which tests if the grid is active in the dash tree and mounted. - #307 fixes JS console error because
setProps
is no longer called when unmounted.
- adjusted
- #330 Added
dash_clientside
to available functions for easier on-liner functions, esp.eventListeners
.- requested #303
- #327 bumping to v
31.3.2
for the grid - #332
handleDynamicStyle
now checks forparams.data
before attempting to apply the test- #321 fixes issue with infinite scroll and dynamic row styling
- #273 increased the timeout for
getApiAsync
to 2 minutes. - #281 webpack is now designed to build quicker, excludes
node_modules
and uses a different parser - #287 bumping to v
31.2.1
for the grid
- #270
- support for
eventListeners
to be added to the grid that get loaded upongridReady
eventListeners
are added upongridReady
only, if you need to add or remove other event listeners, please use thegetApi
orgetApiAsync
methods- added default for
selectedRows
to be[]
- support for
- #283
- #287
aggFuncs
can now be passes as an object from the grid to be mapped to functions- fixes #278
- #266 Updated README
- #246
grid_version
added to allow developer to see underlying AG Grid version in python- Added
quartz
theme native support - Added function support for
dateParser
,dateFormatter
,quickFilterParser
,components
,quickFilterMatcher
,predicate
,textFormatter
,textMatcher
,numberFormatter
,numberParser
,dataTypeMatcher
- #246 dropped
getColumnApi
andgetColmunApiAsync
as these are deprecated from the underlying grid.
- #261 The
cellValueChanged
property 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.
dataTypeDefinitions
now supports full js, partial python with full definitions in js of an object, and objects have parts that are jscolumnSize
andcolumnState
cannot be currently passed together when grid initializes, thecolumnSize
will trump thecolumnState
- #246 testing for grid going to destroyed state
- #243 Added function support for:
getContextMenuItems
,isRowMaster
,setPopupParent
,popupParent
,filter
- iterate through
csvExportParams
anddefaultCsvExportParams
for 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
getApiAsync
andgetColumnApiAsync
for use with grid initializing
- #226 Fixed issue when using grouped rows with
rowData
andvirtualRowData
populating incorrectly. #215
- #199 Add
scrollTo
prop which allows scrolling to rows and columns. - #209 Add
getApi
andgetColumnApi
todash_ag_grid
namespace to allow for JS functions to call the grid's API directly
- 210 Fix issue with
columnState
and React 18
- 210 Migrate props that use
setProps
from therender()
tocomponentDidUpdate
- #201 Add
cellDoubleClicked
prop, which works exactly likecellClicked
-
columnState
floats during grid interaction and only gets pushed when sent in a callbackcolumnDefs
trumpscolumnState
if 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:
Markdown
renderer now displays a blank cell rather than writingundefined
if there is no value -
#204
filterOptions
will now work as a regular object -
#206 Fix #195 where if the user was to redo the exact same action, callbacks on
cellValueChanged
would not trigger again. Fix by addingtimestamp
into the object, as we have in other event-type props to make them unique.
-
- Remove
agGridColumns
component due to deprecation in AG Grid v29, usecolumnDefs
instead. - Remove some hardcoded CSS
- Remove
-
#132 Remove prop
autoSizeAllColumns
, use thecolumnSize
prop instead.
-
- Add
className
prop for css customization native to AG Grid - Add
enable*
props for easier user / dash manipulation, for creating buttons - Add overarching
dangerously_allow_code
prop to grid props only provided at render, to keepcolumnDefs
from receiving possible updates to execute malicious JavaScript (originally calleddangerously_allow_html
but renamed later) - Add
data_previous
anddata_previous_timestamp
props to allow easier change tracking in callbacks - Add
dashGridOptions
prop to allow for arbitrary use of AG Grid props not explicitly listed - Add
setRowId
prop to allowrowData
change detection - Add
columnState
prop 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
null
to 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_code
is not passed - Copy over
columnDef
dangerously_allow_code
to allow for the prop to be placed only on the grid level - Keep
params
together 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
defaultColDef
to be iterated through for functions - Add
tooltipComponent
to be altered if it was list as a function object
- Allow for
-
#49 Safely handle more attributes when
dangerously_allow_code
is 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
->children
and master detail info
-
#76 Add logging function available by default, available via
{"function": "log()"}
-
#111 Add
filterModel
prop in order to capture the grid's active filters -
- Add new
columnSize
optionresponsiveSizeToFit
, which will adjust column sizes based upon grid size and columns added or removed - Add
columnSizeOptions
prop to modify the behavior chosen incolumnSize
- Add ability to push
columnState
back to grid and replay the settings
- Add new
-
- Support
alignedGrids
- Support functions with
tooltipComponentParams
- Add
paginationInfo
for read-only info from the grid's pagination - Add
paginationGoTo
to 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
selectionChanged
toselectedRows
to make props align with AG Grid - Allow
selectedRows
to persist
- Change
-
#70 Change
clickData
tocellRendererData
to more closely line up with what this does -
- Prop clean-up overhaul
- Remove
cellStyle
from 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
cellStyle
on all levels - Add
rowId
tocellClicked
data
-
#132 Change
columnSize
option ofautoSizeAll
->autoSize
-
- Update React to
18.2.0
- Update
material-ui
to@mui
forrowMenuRenderer
- 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_code
isfalse
, markdown cells honorcolumnDef.linkTarget
, but ifdangerously_use_code
istrue
you MUST use the HTML syntax<a target="_blank">
to achieve this, markdown syntax[text](url)
will ignorecolumnDef.linkTarget
. -
#47 Fix
virtualRowData
by setting the defaultrowModelType='clientSide'
-
#81 Fix syncing issue with
rowData
,virtualRowData
when cell edits and asyncrowTransactions
occur -
#90 Fix
columnState
to be populated oncegridReady
-
#92 Fix
defaultStyle
when nostyleConditions
is incellStyle
-
#111 Fix templates to only populate when
dangerously_allow_code=True
-
#132 Fix
columnSize
to update upon interaction -
- Fix
onRowDragEnd
to triggervirtualRowData
update - Fix all
virtualRowData
updates to take into account sorting
- Fix
-
- Fix
openGroups
where clearing out the set would cause issues - Fix
paginationGoTo
to work with a starting page
- Fix
-
#161 Fix the default style to be applied even when a style is given from the developer.
style.height
andstyle.width
always exist but can be overridden if other values are provided in thestyle
prop.
-#164
- Fix
comparator
to not be restricted to just params - Fix
paginationGoTo
to allow0
to 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
virtualRowData
for 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
rowData
changes - DE#90 and DE#86 Improved selections algorithm
- DE#88 Persist row groupings when
rowData
changes
- 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
selectionChanged
write 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.Download
component 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