Releases: mui/mui-x
v4.0.0-alpha.36
August 6, 2021
Big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
- 🚀 Polish the cell editing API (#2220) @m4theushw
- ⚡️ Add
details
param to each callback option inXGrid
(#2236) @DanailH - 💅 Work on internal optimizations and code separation (#2176, #2243, #2235, #2213) @flaviendelangle
- ✨ Allow non-integer column width for flex columns (#2282) @flaviendelangle
- 🐞 Fix one bug related to filtering
@material-ui/[email protected]
/ @material-ui/[email protected]
Breaking changes
-
[DataGrid] Polish cell editing (#2220) @m4theushw
- Replace
onCellModeChange
prop withonCellEditEnter
oronCellEditExit
. - Rename
onCellEditEnter
prop toonCellEditStart
. - Rename
onCellEditEnd
prop toonCellEditStop
.
<DataGrid - onCellEditEnter={...} - onCellEditExit={...} + onCellEditStart={...} + onCellEditStop={...} />
- [XGrid] The
setEditCellProps
API call is not available anymore.
Use the controlled editing orsetEditRowsModel
.
-apiRef.current.setEditCellProps({ id, field, props: { ...props, error: true } }); +apiRef.current.setEditRowsModel({ + ...oldModel, + [id]: { + ...oldModel[id], + [field]: { ...oldModel[id][field], error: true }, + }, +});
- Replace
-
[DataGrid] Allow non-integer column width for flex columns (#2282) @flaviendelangle
- The
width
property of the columns is no longer updated with the actual width of of the column. Use the newcomputedWidth
property in the callbacks instead.
const columns: GridColDef = [ { field: "name", width: 100, renderCell: ({ value, colDef }) => { - console.log(colDef.width!) + console.log(colDef.computedWidth) return value } ]
- The
Changes
- [DataGrid] Canonical controlled state behavior (#2208) @oliviertassinari
- [DataGrid] Fix filter with extended columns (#2246) @m4theushw
- [DataGrid] Remove default value of columnTypes prop (#2280) @m4theushw
- [DataGrid] Add German (deDE) translation for export and isEmpty operator (#2285) @ChristopherBussick
- [XGrid] Add
details
param to each callback option inXGrid
(#2236) @DanailH
Docs
- [docs] Improve slot API docs (#2219) @oliviertassinari
- [docs] Document virtualization APIs in virtualization section (#2247) @ZeeshanTamboli
Core
- [core] Isolate
DataGrid
andXGrid
(#2176) @dtassone - [core] Move
GridFilterModel
in the models directory (#2243) @flaviendelangle - [core] Add new column internal
computedWidth
field (#2235) @flaviendelangle - [core] Use
rootProps
instead ofoptions
in the grid components except forclasses
(#2213) @flaviendelangle - [core] Fix
rebaseWhen=auto
not working (#2271) @oliviertassinari - [core] Batch small changes (#2249) @oliviertassinari
v4.0.0-alpha.35
July 31, 2021
Big thanks to the 8 contributors who made this release possible. Here are some highlights ✨:
- ⚛️ Complete the idiomatic support of controllable props (#2143, #2099) @m4theushw, @flaviendelangle
- ✨ Improve support of @material-ui/core@v5 (#2224, #2240) @oliviertassinari, @siriwatknp
- 🐛 Fix 7 bugs and regressions
@material-ui/[email protected]
/ @material-ui/[email protected]
Breaking changes
-
[DataGrid] Improve controllable cell edit (#2143) @m4theushw
- The
onEditCellChange
prop was renamed toonEditCellPropsChange
. - The
onEditCellChangeCommitted
prop was renamed toonCellEditCommit
. - The
onEditRowModelChange
prop was removed. Use the newonEditRowsModelChange
prop.-onEditRowModelChange?: (params: GridEditRowModelParams) +onEditRowsModelChange?: (editRowsModel: GridEditRowsModel)
- The
-
[XGrid] Improve controllable cell edit (#2143) @m4theushw
- The
cellEditPropsChange
event was renamed toeditCellPropsChange
. - The
cellEditPropsChangeCommitted
event was renamed tocellEditCommit
. - The
cellValueChange
event was removed. Listen tocellEditCommit
to detect when the value is committed. - The
editRowModelChange
event was renamed toeditRowsModelChange
.
- The
-
[DataGrid] Improve controllable pagination (#2099) @flaviendelangle
-
The
pageSize
is now a controlled prop. If you set a value, you also need to handle updates with onPageSizeChange. See the documentation. -
Change the controllable API signature:
// Signature -onPageChange?: (params: GridPageChangeParams) => void; +onPageChange?: (page: number) => void; // Usage -<DataGrid onPageChange={(params: GridPageChangeParams) => setPage(params.page)} /> +<DataGrid onPageChange={(page: number) => setPage(page)} />
// Signature -onPageSizeChange?: (params: GridPageChangeParams) => void; +onPageSizeChange?: (pageSize: number) => void; // Usage -<DataGrid onPageSizeChange={(params: GridPageChangeParams) => setPageSize(params.pageSize)} /> +<DataGrid onPageSizeChange={(pageSize: number) => setPageSize(pageSize)} />
-
Changes
- [DataGrid] Fix
Controlled selection
console error (#2197) @ZeeshanTamboli - [DataGrid] Fix
disableMultipleColumnsFiltering
console warning @ZeeshanTamboli - [DataGrid] Fix CSV export when selected row id is number (#2232) @flaviendelangle
- [DataGrid] Fix horizontal scroll when no rows (#2159) @m4theushw
- [DataGrid] Fix id passed to setEditCellValue (#2215) @m4theushw
- [DataGrid] Fix missing value in onCellEditCommit (#2214) @m4theushw
- [DataGrid] Fix prop-type warning with v5 (#2224) @oliviertassinari
- [DataGrid] Fix support for singleSelect with numeric values (#2112) @m4theushw
- [DataGrid] Improve translations to the Turkish locale (#2203) @cihanyakar
- [DataGrid] Use event.defaultMuiPrevented to prevent the default behavior (#2179) @m4theushw
- [DataGrid] Warn when pageSize is not present in rowsPerPageOptions (#2014) @flaviendelangle
- [XGrid] Fix v5 filter select display (#2240) @siriwatknp
Docs
- [docs] Add missing API docs (#2167) @ZeeshanTamboli
- [docs] Describe how to export custom rendered cells (#2194) @m4theushw
- [docs] Generate api doc for the GridExportCSVOptions interface (#2102) @flaviendelangle
- [docs] Handle generics in api doc generation (#2210) @flaviendelangle
Core
- [core] Don't export the internal utils (#2233) @flaviendelangle
- [core] Receive patch and minor dependency updates (#2221) @flaviendelangle
- [test] Add tests for column resizing (#2211) @flaviendelangle
- [test] Fix singleSelect tests (#2200) @m4theushw
- [test] Sync Karma config (#2191) @m4theushw
- [test] Test support for theme translations (#2229) @m4theushw
v4.0.0-alpha.34
July 21, 2021
Big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
- 🚀 Fix @material-ui/core v4.12.1 support (#2108) @DanailH
- 🐞 Add "is empty" and "is not empty" operators (#1997) @m4theushw
- 💅 Improve the editing API (#1955) @m4theushw
- 🐛 We have improved the scroll keyboard (#2162) @oliviertassinari
- ⚡️ Add control state for selection model, filter model, and sort model @dtassone
- 💡 Add quick filter demo in the docs @dtassone
@material-ui/[email protected] / @material-ui/[email protected]
Breaking changes
-
[DataGrid] Fix scrollToIndexes behavior (#2162) @oliviertassinari
Remove public
apiRef.current.isColumnVisibleInWindow()
as it servers private use cases.-apiRef.current.isColumnVisibleInWindow()
-
[DataGrid] Remove stateId argument from GridApi getState method (#2141) @flaviendelangle
-const filterState = apiRef.current.getState('filter'); +const filterState = apiRef.current.getState().filter;
-
[DataGrid] Improve controllable sorting (#2095) @dtassone
Normalize the controlled prop signature:
<DataGrid - onSortModelChange={(params: GridSortModelParams) => setSortModel(params.model)} + onSortModelChange={(model: GridSortModel) => setSortModel(model)} />
-
[DataGrid] Improve controllable filter (#1909) @dtassone
Normalize the controlled prop signature:
<DataGrid - onFilterModelChange={(params: GridFilterModelParams) => setFilterModel(params.model)} + onFilterModelChange={(model: GridFilterModel) => setFilterModel(model)} />
-
[DataGrid] Improve the editing API (#1955) @m4theushw
-
The
props
key in the first argument ofcommitCellChange
was removed to promote the use of the value already stored in the state.
To update the value in the state, callsetEditCellProps
before.-apiRef.current.commitCellChange({ id: 1, field: 'name', props: { value: 'Ana' } }); +apiRef.current.setEditCellProps({ id: 1, field: 'name', props: { value: 'Ana' } }); +apiRef.current.commitCellChange({ id: 1, field: 'name' });
-
Calling
commitCellChange
in a cell in view mode will throw an error. Make sure to first enter the edit mode.+apiRef.current.setCellMode(1, 'name', 'edit'); apiRef.current.commitCellChange({ id: 1, field: 'name' });
-
The
setCellValue
was removed from the API. UsecommitCellChange
orupdateRows
in place.-apiRef.current.setCellValue({ id: 1, field: 'name', value: 'Ana' }); +apiRef.current.updateRows([{ id: 1, name: 'Ana' }]);
or
-apiRef.current.setCellValue({ id: 1, field: 'name', value: 'Ana' }); +apiRef.current.setCellMode(1, 'name', 'edit'); +apiRef.current.setEditCellProps({ id: 1, field: 'name', props: { value: 'Ana' } }); +apiRef.current.commitCellChange({ id: 1, field: 'name' });
-
The
getEditCellProps
was removed becausegetEditCellPropsParams
offers the same functionality.-const props = apiRef.current.getEditCellProps(1, 'name'); +const { props } = apiRef.current.getEditCellPropsParams(1, 'name');
Note: This method will now throw an error if the cell is in view mode.
-
-
[DataGrid] Implement useControlState hook, and add control state on selectionModel (#1823) @dtassone
Normalize the controlled prop signature:
<DataGrid - onSelectionModelChange={(params: GridSelectionModelChangeParams) => setSelectionModel(params.model)} + onSelectionModelChange={(model: GridSelectionModel) => setSelectionModel(model)} />
Replace
onRowSelected
with the existing API:<DataGrid - onRowSelected={(params: GridRowSelectedParams) => } + onSelectionModelChange={(model: GridSelectionModel) => } />
Changes
- [DataGrid] Use find instead of filter (#2015) @DanailH
- [DataGrid] Add "is empty" and "is not empty" operators (#1997) @m4theushw
- [DataGrid] Add
minWidth
toGridColDef
(#2101) @DanailH - [DataGrid] Add missing localeText types (#2118) @oliviertassinari
- [DataGrid] Add missing translations to French (frFR) locale (#2082) @flaviendelangle
- [DataGrid] Add quick filter demo (#2149) @dtassone
- [DataGrid] Allow passing styles and Popper props to GridPanel (#1994) @sebastianfrey
- [DataGrid] Allow to customize the columns exported as CSV (#2008) @flaviendelangle
- [DataGrid] Emit
pageSizeChange
when autoPageSize is set and the grid size changes (#1986) @flaviendelangle - [DataGrid] Fix crash when id has a single-quote (#2033) @rbrishabh
- [DataGrid] Fix localeText type (#2117) @oliviertassinari
- [DataGrid] Fix manual entry in date fields (#2051) @m4theushw
- [DataGrid] Fix scrollToIndexes offscreen column (#1964) @m4theushw
- [DataGrid] Fix support for
@material-ui/[email protected]
(#2108) @DanailH - [DataGrid] Improve GridToolbarXXX props flexibility (#2157) @tifosiblack
- [DataGrid] Make GridToolbarXXX props overridable (#2084) @tifosiblack
- [DataGrid] Remove 'hide: true' from a column should correctly resize the others column (#2034) @flaviendelangle
- [DataGrid] Remove focus on cell when its row is removed from the data (#1995) @flaviendelangle
- [DataGrid] Remove unused
editMode
prop (#2173) @ZeeshanTamboli - [DataGrid] Support style prop (#2116) @oliviertassinari
- [DataGrid] Use Intl.Collator for string comparison (#2155) @m4theushw
- [DataGrid] Update apiRef.current.getRow to signal that it can return a null value (#2010) @flaviendelangle
- [XGrid] Add ability to disable reorder on some columns (#2085) @flaviendelangle
- [XGrid] Close column header menu when resizing column (#1989) @flaviendelangle
- [XGrid] Fix column resize on touch devices (#2089) @m4theushw
- [XGrid] Only show column sorting in the grid toolbar when experimental features enabled (#2091) @flaviendelangle
- [XGrid] Prevent headers from scrolling during reordering (#2154) @m4theushw
Docs
- [docs] Add new cursor-based pagination paragraph (#1991) @flaviendelangle
- [docs] Better explain what happens in the future (#2036) @oliviertassinari
- [docs] Fix broken env (#2160) @oliviertassinari
- [docs] Fix small typos in the documentation (#2169) @BrandonOldenhof
- [docs] Fix typo in README (#2150) @studyhog
Core
- [core] Add @material-ui/lab and @material-ui/icons as peer dependencies (#2012) @m4theushw
- [core] Add additional test case for
onSelectionModelChange
(#1966) @DanailH - [core] Add support bot (#2097) @oliviertassinari
- [core] Configure Renovate and remove Dependabot (#2075) @flaviendelangle
- [core] Copy getClasses from the core (removed in v5) (#2140) @flaviendelangle
- [core] Correctly test column visibility switch impact on column width (#2130) @flaviendelangle
- [core] Fix missing git source in packages (#2092) @msftenhanceprovenance
- [core] Fix typo errors (#2100) @flaviendelangle
- [core] No need to pin dependencies (#2094) @oliviertassinari
- [core] Remove dead code (#2088) @oliviertassinari
- [core] Remove implicit :scope (#2115) @oliviertassinari
- [core] Remove styled-components (#2060) @m4theushw
- [core] Remove unused event 'cellFocusChange' (#1996) @flaviendelangle
- [core] Renovate : Group storybook updates (#2086) @flaviendelangle
- [core] Replace fade with muiStyleAlpha (#2171) @m4theushw
- [core] Support
docs:api
script in Windows OS (#2166) @ZeeshanTamboli - [core] Upgrade dependencies (#2114) @oliviertassinari
- [core] Use getColumnHeaderCell in tests (#2093) @flaviendelangle
- [core] Use props instead of options for event handler (#2139) @flaviendelangle
- [test] Allow tests to run for up to 5 instead of 4 minutes (#2152) @oliviertassinari
- [test] Increase Browserstack worker timeout from 2.5 to 4 minutes (#2040) @flaviendelangle
- [test] Remove orphan async @oliviertassinari
- [test] Test the validation before saving a value (#2087) @m4theushw
v4.0.0-alpha.33
July 1, 2021
Big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
-
🐞 As a focus of Q2, we have kept fixing bugs
-
💅 End users are now allowed to copy the selected rows to the clipboard with CTRL + c (#1929) @m4theushw
-
🐛 We have fixed the
Select all
checkbox. When triggered, it should only select the filtered rows (#1879) @ZeeshanTamboli -
⚡️ We have added a new
singleSelect
column type (#1956) @DanailHUsing the column
type: 'singleSelect'
defaults toSelect
component when the cell is inedit
mode. You can find the documentation following this link.<DataGrid columns={[ { field: 'country', type: 'singleSelect', valueOptions: ['France', 'Netherlands', 'Brazil'], editable: true, } ]} rows={[ { id: 0, country: 'France' }, { id: 1, country: 'Netherlands' }, { id: 2, country: 'Brazil' }, ]} />
@material-ui/[email protected] / @material-ui/[email protected]
Breaking changes
-
[DataGrid] Rename
onColumnResizeCommitted
toonColumnWidthChange
(#1967) @m4theushw-<DataGrid onColumnResizeCommitted={...} /> +<DataGrid onColumnWidthChange={...} />
-
[DataGrid] Make GRID_ROWS_CLEAR private (#1925) @oliviertassinari
The
rowsCleared
event was always triggered alongsiderowsSet
. You can listen to the latter event only. -
[DataGrid] Fix events naming (#1862) @m4theushw
The following
XGrid
events were renamed:columnHeaderNavigationKeydown
tocolumnHeaderNavigationKeyDown
columnResizeCommitted
tocolumnWidthChange
rowsUpdated
torowsUpdate
columnsUpdated
tocolumnsChange
The following
XGrid
DOM events were removed:focusout
keydown
keyup
Changes
- [DataGrid] Add fallback for pagination translations (#2006) @m4theushw
- [DataGrid] Add single select column type (#1956) @DanailH
- [DataGrid] Allow to copy the selected rows to the clipboard (#1929) @m4theushw
- [DataGrid] Improve the logic of
scrollToIndexes
(#1969) @oliviertassinari - [DataGrid] Fix deferred rendering race condition (#1807) @dtassone
- [DataGrid] Fix double-click issue (#1919) @oliviertassinari
- [DataGrid] Fix number edit cell output (#1959) @oliviertassinari
- [DataGrid] Fix offscreen row when calling
scrollToIndexes
(#1949) @oliviertassinari - [DataGrid] Ignore drag events when disableColumnReorder is true (#1952) @m4theushw
- [DataGrid]
Select all
checkbox click should select only filtered rows (#1879) @ZeeshanTamboli - [XGrid] Add option to select only visible rows on the current page (#1998) @DanailH
Docs
- [docs] Align docs with EULA (source of truth) (#1963) @oliviertassinari
- [docs] Fix changing Dataset not working (#1965) @m4theushw
- [docs] Fix description of union types (#2003) @m4theushw
Core
- [core] Polish filtering internals (#1760) @ZeeshanTamboli
- [core] Upgrade actions-cool/issues-helper (#1962) @oliviertassinari
- [core] Name variables according to enUS instead of enGB (#1988) @flaviendelangle
- [test] Test vertical scrollbar (#1932) @oliviertassinari
v4.0.0-alpha.32
June 18, 2021
Big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
- ⚡️ Components that use portals, like
Select
andAutocomplete
, can now be used in the cell editing (#1772) @m4theushw - 📃 Apply the
valueFormatter
to the CSV exporting (#1922) @DanailH - 💅 Rename CSS classes to match the convention of the core components (#1872) @DanailH
- 🌎 Isolate translations from Material-UI Core and Material-UI X (#1913) @DanailH
- 🚀 Improve performance when finding column indexes and updating rows (#1903, #1923) @Janpot @N2D4
- 🐞 Bugfixes
@material-ui/[email protected] / @material-ui/[email protected]
Breaking changes
-
[DataGrid] The
onEditCellChangeCommitted
prop won't be called with an event when committing changes by clicking outside the cell (#1910) @m4theushw -
[DataGrid] Translation for Material-UI Core components are no longer included in the Material-UI X translation (#1913) @DanailH
import { createMuiTheme, ThemeProvider } from '@material-ui/core/styles'; import { DataGrid, bgBG } from '@material-ui/data-grid'; +import { bgBG as coreBgBG } from '@material-ui/core/locale'; const theme = createMuiTheme( { // ... }, bgBG, + coreBgBG, );
-
[DataGrid] The
disableClickEventBubbling
prop was removed (#1910) @m4theushwThe same outcome can be obtained by using the React synthetic event, calling
event.stopPropagation()
:-<DataGrid disableClickEventBubbling /> +<DataGrid onCellClick={(event) => event.stopPropagation()} />
-
[DataGrid] Rename CSS classes according to new convention (#1872) @DanailH
The main grid components:
.data-container
was removed.MuiDataGrid-columnHeaderSortable
was renamed to.MuiDataGrid-columnHeader--sortable
.MuiDataGrid-columnHeaderCenter
was renamed to.MuiDataGrid-columnHeader--alignCenter
.MuiDataGrid-columnHeaderRight
was renamed to.MuiDataGrid-columnHeader--alignRight
.MuiDataGrid-columnHeader-draggable
was renamed to.MuiDataGrid-columnHeaderDraggableContainer
.MuiDataGrid-columnHeaderSortable
was renamed to.MuiDataGrid-columnHeader--sortable
.MuiDataGrid-columnHeaderMoving
was renamed to.MuiDataGrid-columnHeader--moving
.MuiDataGrid-columnHeaderSorted
was renamed to.MuiDataGrid-columnHeader--sorted
.MuiDataGrid-columnHeaderNumeric
was renamed to.MuiDataGrid-columnHeader--numeric
.MuiDataGrid-columnHeader-dropZone
was renamed to.MuiDataGrid-columnHeaderDropZone
.MuiDataGrid-columnSeparatorResizable
was renamed to.MuiDataGrid-columnSeparator--resizable
.MuiDataGrid-cellWithRenderer
was renamed to.MuiDataGrid-cell--withRenderer
.MuiDataGrid-cellLeft
was renamed to.MuiDataGrid-cell--textLeft
.MuiDataGrid-cellRight
was renamed to.MuiDataGrid-cell--textRight
.MuiDataGrid-cellCenter
was renamed to.MuiDataGrid-cell--textCenter
.MuiDataGrid-cellEditing
was renamed to.MuiDataGrid-cell--editing
.MuiDataGrid-cellEditable
was renamed to.MuiDataGrid-cell--editable
.MuiDataGrid-editCellBoolean
was renamed to.MuiDataGrid-editBooleanCell
.MuiDataGrid-editCellInputBase
was renamed to.MuiDataGrid-editInputCell
.MuiDataGrid-scrollArea-left
was renamed to.MuiDataGrid-scrollArea--left
.MuiDataGrid-scrollArea-right
was renamed to.MuiDataGrid-scrollArea--right
The standalone components:
.MuiDataGridMenu-*
was renamed to.MuiGridMenu-*
.MuiDataGridPanel-*
was renamed to.MuiGridPanel-*
.MuiDataGridPanelContent-*
was renamed to.MuiGridPanelContent-*
.MuiDataGridPanelFooter-*
was renamed to.MuiGridPanelFooter-*
.MuiDataGridPanelWrapper-*
was renamed to.MuiGridPanelWrapper-*
.MuiDataGridFilterForm-*
was renamed to.MuiGridFilterForm-*
.MuiDataGridToolbarFilterButton-*
was renamed to.MuiGridToolbarFilterButton-*
.MuiDataGrid-footer
was renamed to.MuiDataGrid-footerContainer
.MuiDataGrid-toolbar
was renamed to.MuiDataGrid-toolbarContainer
Changes
- [DataGrid] Add
aria-label
toGridToolbarExport
(#1869) @rbrishabh - [DataGrid] Add support for edit components that use portal (#1772) @m4theushw
- [DataGrid] Add
useGridApiContext
hook to access theGridApiContext
(#1877) @m4theushw - [DataGrid] Allow to set the delimiter in
GridExportCsvOptions
(#1859) @michallukowski - [DataGrid] Escape regular expression characters in filters (#1899) @ZeeshanTamboli
- [DataGrid] Fix support for
getRowId
on cell editing (#1917) @m4theushw - [DataGrid] Fix typo in French (frFR) locale (#1874) @julien-guillon
- [DataGrid] Improve Brazilian Portuguese (ptBR) locale (#1861) @aline-matos
- [DataGrid] Improve type of the blur event (#1918) @oliviertassinari
- [DataGrid] Improve updateRows performance (#1923) @N2D4
- [DataGrid] Include Material-UI core component localizations in
localeText
(#1913) @DanailH - [DataGrid] Make the CSV export respect the
valueFormatter
(#1922) @DanailH - [DataGrid] Remove
disableClickEventBubbling
(#1910) @m4theushw - [DataGrid] Rename CSS classes according to new convention (#1872) @DanailH
- [DataGrid] Use binary search to find column indexes in virtualization (#1903) @Janpot
Docs
- [docs] Fix 404 links (#1880) @oliviertassinari
- [docs] Fix prop-type warning (#1916) @oliviertassinari
- [docs] Make cells editable in demos (#1817) @m4theushw
- [docs] Polish
disableDensitySelector
description (#1884) @oliviertassinari
Core
- [core] Batch small changes (#1901) @oliviertassinari
- [core] Remove dead logic (#1900) @oliviertassinari
- [test] Fix tests (#1928) @m4theushw
v4.0.0-alpha.31
June 9, 2021
Big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
- 💅 Allow to customize GridToolbarExport's CSV export (#1695) @michallukowski
- 🐛 Allow to deselect rows with CTRL + click (#1813) @ZeeshanTamboli
- ⚡️ Refactor scroll size detector (#1703) @dtassone
- 📖 Add documentation for interfaces and events (#1529) @m4theushw
- 🐞 Bugfixes
@material-ui/[email protected] / @material-ui/[email protected]
Breaking changes
-
[DataGrid] Improve
headerClassName
type (#1778) @DanailHcellClassName
andheaderClassName
no longer accept array of strings.-cellClassName?: string | string[] | (params: GridCellParams) => string; +cellClassName?: string | (params: GridCellParams) => string;
-headerClassName?: string | string[]; +headerClassName?: string | (params: GridColumnHeaderParams) => string;
Changes
- [DataGrid] Add
valueParser
to parse values entered by the user (#1785) @m4theushw - [DataGrid] Allow to customize GridToolbarExport's CSV export (#1695) @michallukowski
- [DataGrid] Allow to deselect rows with CTRL + click (#1813) @ZeeshanTamboli
- [DataGrid] Improve general architecture to better isolate hooks (#1720) @dtassone
- [DataGrid] Fix cell height after changing grid density (#1819) @DanailH
- [DataGrid] Fix fluid columns width when available
viewportWidth
< 0 (#1816) @DanailH - [DataGrid] Fix force reflow on scroll start and end (#1829) @dtassone
- [DataGrid] Refactor scroll size detector (#1703) @dtassone
- [XGrid] Display the number of filtered rows in the footer (#1830) @m4theushw
Docs
- [docs] Add docs for
disableDensitySelector
option (#1856) @DanailH - [docs] Automatically generate API docs (#1529) @m4theushw
Core
- [core] Batch small changes (#1848) @oliviertassinari
- [core] Add
yarn docs:api
@oliviertassinari - [test] Improve pagination tests (#1827) @m4theushw
v4.0.0-alpha.30
May 31, 2021
Big thanks to the 8 contributors who made this release possible. Here are some highlights ✨:
- 💅 Add
getCellClassName
prop (#1687) @m4theushw - 🐛 Fix a regression in the controlled pagination (#1729) @ZeeshanTamboli
- ⚡️ Remove
cellClassRules
fromGridColDef
(#1716) @m4theushw - 🇨🇿 Add csCZ locale (#1765) @Haaxor1689
- 🐞 Bugfixes
@material-ui/[email protected] / @material-ui/[email protected]
Breaking changes
-
[DataGrid] Rename toolbar components for consistency (#1724) @DanailH
Prefix all the toolbar-related components with
GridToolbar
.-.MuiDataGridFilterToolbarButton-list +.MuiDataGridToolbarFilterButton-list
-<GridColumnsToolbarButton /> +<GridToolbarColumnsButton />
-<GridFilterToolbarButton /> +<GridToolbarFilterButton />
-<GridDensitySelector /> +<GridToolbarDensitySelector />
-
[DataGrid] Remove
cellClassRules
fromGridColDef
(#1716) @m4theushwThe
GridCellClassParams
type is not exported anymore. Replace it withGridCellParams
.-import { GridCellClassParams} from '@material-ui/data-grid'; +import { GridCellParams } from '@material-ui/data-grid'; -cellClassName: (params: GridCellClassParams) => +cellClassName: (params: GridCellParams) =>
The
cellClassRules
inGridColDef
was removed because it's redundant. The same functionality can be obtained usingcellClassName
and theclsx
utility:+import clsx from 'clsx'; { field: 'age', width: 150, - cellClassRules: { - negative: params => params.value < 0, - positive: params => params.value > 0, - }, + cellClassName: params => clsx({ + negative: params.value < 0, + positive: params.value > 0, + }), }
-
[DataGrid] Fix
onPageChange
doesn't update thepage
when a pagination button is clicked (#1719) @ZeeshanTamboliFix naming of
pageChange
andpageSizeChange
events variables. The correct event variable name should be prefixed withGRID_
and converted to UPPER_CASE.-import { GRID_PAGESIZE_CHANGED, GRID_PAGE_CHANGED } from '@material-ui/data-grid'; +import { GRID_PAGESIZE_CHANGE, GRID_PAGE_CHANGE } from '@material-ui/data-grid';
-
[XGrid] The
getEditCellValueParams
method was removed from theapiRef
(#1767) @m4theushwThe
getEditCellValueParams
method was almost a straightforward alias ofgetEditCellPropsParams
.-const { value } = apiRef.current.getEditCellValueParams(id, field); +const { props: { value } } = apiRef.current.getEditCellPropsParams(id, field);
Changes
- [DataGrid] Add
getCellClassName
prop (#1687) @m4theushw - [DataGrid] Add customizable
aria-label
,aria-labelledby
field (#1764) @ZeeshanTamboli - [DataGrid] Add Czech (csCZ) locale and fix plural rules in Slovak (skSK) locale (#1765) @Haaxor1689
- [DataGrid] Fix cell accessibility aria-colindex (#1669) @ZeeshanTamboli
- [DataGrid] Fix changing rows per page size (#1729) @ZeeshanTamboli
- [DataGrid] Fix date operators not working with date-time values (#1722) @m4theushw
- [DataGrid] Fix
rowCount
prop updates (#1697) @dtassone - [DataGrid] Improve German (deDe) translation of "errorOverlayDefaultLabel" (#1718) @sebastianfrey
- [DataGrid] Fix accessibility of the filter panel textboxes (#1727) @m4theushw
- [XGrid] Fix
onFilterModelChange
not firing (#1706) @dtassone
Docs
- [docs] Fix outdated description of
GridRowParams.getValue
(#1731) @visshaljagtap - [docs] Fix 404 link (#1752) @oliviertassinari
- [docs] Improve Custom edit component demo (#1750) @oliviertassinari
- [docs] Remove redundant customizable pagination section (#1774) @ZeeshanTamboli
- [docs] Improve
GridApi
descriptions (#1767) @m4theushw
Core
- [core] Batch updates of storybook (#1751) @oliviertassinari
- [core] Help support different documents (#1754) @oliviertassinari
- [core] Upgrade Material-UI core v5 to latest version (#1763) @ZeeshanTamboli
- [test] Reduce flakiness (#1753) @oliviertassinari
- [test] Remove skip on Edge (#1708) @m4theushw
4.0.0-alpha.29
May 19, 2021
Big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
-
🚀 Performance increased when filtering, sorting, and rendering (#1513) @dtassone
-
💅 Add
columnHeader
,row
andcell
to theclasses
prop (#1660) @DanailH -
✅ Add the
isRowSelectable
prop to disable selection on certain rows (#1659) @m4theushwSee the documentation for more details.
-
⚡️ Add new icon slot to be displayed when the column is unsorted (#1415) @m4theushw
-
⚙ Improve consistency of the API to prepare for the first beta release
-
🐞 Bugfixes
@material-ui/[email protected] / @material-ui/[email protected]
Breaking changes
-
[DataGrid] Remove the properties
element
,rowIndex
, andcolIndex
from allparams
arguments (#1513) @dtassoneYou can use the following
apiRef
methods to replace some of them:-params.rowIndex -params.colIndex +apiRef.current.getRowIndex(params.id) +apiRef.current.getColumnIndex(params.field)
-
[DataGrid] Calling
params.getValue
now requires the id to be passed (#1513) @dtassone-params.getValue(field) +params.getValue(params.id, field)
-
[DataGrid] Rename CSS classes (#1660) @DanailH
MuiDataGrid-colCellWrapper
toMuiDataGrid-columnHeaderWrapper
MuiDataGrid-colCell
toMuiDataGrid-columnHeader
MuiDataGrid-colCellCheckbox
toMuiDataGrid-columnHeaderCheckbox
MuiDataGrid-colCellSortable
toMuiDataGrid-columnHeaderSortable
MuiDataGrid-colCellCenter
toMuiDataGrid-columnHeaderCenter
MuiDataGrid-colCellLeft
toMuiDataGrid-columnHeaderLeft
MuiDataGrid-colCellRight
toMuiDataGrid-columnHeaderRight
-
[XGrid] Calling
setCellFocus
now requires the id and field to be passed (#1513) @dtassone-apiRef.current.setCellFocus: (indexes: GridCellIndexCoordinates) => void; +apiRef.current.setCellFocus: (id: GridRowId, field: string) => void;
-
[XGrid] Rename
apiRef
methods (#1513) @dtassoneChanges on
apiRef.current
:-apiRef.current.getRowIndexFromId: (id: GridRowId) => number; +apiRef.current.getRowIndex: (id: GridRowId) => number;
-
[XGrid] Rename
apiRef
methods (#1667) @m4theushwChanges on
apiRef.current
:-apiRef.current.getColumnFromField: (field: string) => GridColDef; -apiRef.current.getRowFromId: (id: GridRowId) => GridRowModel; +apiRef.current.getColumn: (field: string) => GridColDef; +apiRef.current.getRow: (id: GridRowId) => GridRowModel;
Changes
- [DataGrid] Add Slovak (skSK) locale (#1634) @martinvysnovsky
- [DataGrid] Add
columnHeader
,row
andcell
in addition toroot
in classes prop (#1660) @DanailH - [DataGrid] Add
isRowSelectable
prop (#1659) @m4theushw - [DataGrid] Add sort icon for when column is unsorted (#1415) @m4theushw
- [DataGrid] Fix
id
andaria-labelledby
attributes on the column menu (#1460) @m4theushw - [DataGrid] Fix broken checkbox in Material-UI v5 (#1587) @ZeeshanTamboli
- [DataGrid] Fix CSS classes prefix (#1693) @m4theushw
- [DataGrid] Fix German (deDe) locale (#1624) @klinge27
- [DataGrid] Fix filter with object as value and value getter (#1665) @dtassone
- [DataGrid] Fix incorrect date selection (#1652) @aTmb405
- [DataGrid] Fix overflow of maximum page (#1583) @oliviertassinari
- [DataGrid] Fix typo in Italian (itIT) locale (#1635) @profcav
- [DataGrid] Improve performance of width resizing (#1686) @dtassone
- [DataGrid] Make rows immutable for better developer experience (#1661) @ZeeshanTamboli
- [DataGrid] Pass state values as props (#1628) @m4theushw
- [DataGrid] Improve performance with filtering, sorting, and rendering (#1513) @dtassone
- [XGrid] Fix checkbox column resizing (#1682) @elyesbenabdelkader
Docs
- [docs] Add description for all events (#1572) @m4theushw
- [docs] Add missing CSS rules (#1694) @ZeeshanTamboli
- [docs] Add missing descriptions in
GridFilterApi
(#1620) @m4theushw - [docs] Clean demos components (#1681) @oliviertassinari
- [docs] Fix docs demo (#1691) @dtassone
- [docs] Improve Filtering page (#1671) @m4theushw
- [docs] Improve the data grid components page (#1382) @dtassone
- [docs] Refine the descriptions to be clearer (#1589) @oliviertassinari
- [docs] Reshuffle columns and rows styling sections (#1622) @DanailH
Core
- [core] Fix dependabot config (#1619) @oliviertassinari
- [core] Remove
makeStyles
dependency on@material-ui/core/styles
(#1627) @mnajdova - [core] Remove
withStyles
dependency on@material-ui/core/styles
(#1690) @mnajdova - [core] Replace
classnames
utility withclsx
dependency (#1586) @ZeeshanTamboli - [core] Reuse
colIndex
already computed (#1666) @oliviertassinari - [test] Add constraints on cell render (#1662) @oliviertassinari
- [test] Catch broken demos (#1692) @oliviertassinari
v4.0.0-alpha.28
May 10, 2021
Big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:
- 🇹🇷 Add trTR locale (#1446) @simsek97
- 🎁 Add support for checkbox component slot (#1528) @ZeeshanTamboli
- ⚡️ Add
onColumnVisibilityChange
prop (#1578) @DanailH - 🐞 Bugfixes
@material-ui/[email protected] / @material-ui/[email protected]
Breaking changes
-
[XGrid] Rename apiRef
toggleColumn
method for consistency (#1578) @DanailH-apiRef.current.toggleColumn: (field: string, forceHide?: boolean) => void; +apiRef.current.setColumnVisibility: (field: string, isVisible: boolean) => void;
-
[XGrid] Fix event typo (#1574) @DanailH
-import { GRID_COLUMN_RESIZE_COMMITED } from '@material-ui/x-grid'; +import { GRID_COLUMN_RESIZE_COMMITTED } from '@material-ui/x-grid';
Changes
- [DataGrid] Add Turkish (trTR) locale (#1526) @simsek97
- [DataGrid] Add
onColumnVisibilityChange
prop (#1578) @DanailH - [DataGrid] Fix date input crash (#1570) @dtassone
- [DataGrid] Fix resulted filter data shows blank screen during pagination (#1571) @ZeeshanTamboli
- [DataGrid] Support Checkbox component slot (#1528) @ZeeshanTamboli
- [DataGrid] Fix column cell and row cell focus style (#1575) @DanailH
Docs
- [docs] Fix Feature comparison 404 links (#1525) @ZeeshanTamboli
- [docs] Fix focus isn't set on the text box in
Edit using external button
demo (#1515) @ZeeshanTamboli - [docs] Fix typo of
onColumnResizeCommitted
prop (#1563) @ZeeshanTamboli - [docs] Header convention for controllable prop (#1531) @oliviertassinari
- [docs] Fix errors in the docs (#1585) @oliviertassinari
Core
- [core] Add security policy (#1588) @oliviertassinari
- [core] Improve
GridApi
type structure (#1566) @oliviertassinari - [core] Simplify component type (#1552) @oliviertassinari
- [core] Update monorepo (#1530) @oliviertassinari
- [core] Increase timeout on jsdom (#1532) @oliviertassinari
v4.0.0-alpha.27
Apr 30, 2021
Big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
- 🎁 Add getRowClassName prop (#1448) @m4theushw
- ⚡️ Drop support for Node v10 (#1499) @ZeeshanTamboli
- ♿ Make checkbox focusable (#1421) @dtassone
- 🇮🇹 Add itIT locale (#1446) @profcav
- 🇷🇺 Add ruRU locale (#1449) @lukin
- 🐞 Bugfixes
@material-ui/[email protected] / @material-ui/[email protected]
Breaking changes
-
[core] Drop support for Node v10 (#1499) @ZeeshanTamboli
-
[XGrid] Remove
onAction
APIs (#1453) @DanailHThese event handlers on the apiRef were duplicating with the react props
and the event subscribe API. Changes onapiRef.current
:-onFilterModelChange -onPageChange -onPageSizeChange -onResize -onUnmount -onRowSelected -onSelectionModelChange -onSortModelChange -onStateChange
Note: These methods are available as React props.
-
[XGrid] Refactor useGridColumnResize (#1380) @DanailH
Changes on
apiRef.current
:-startResizeOnMouseDown +setColumnWidth
Changes
- [DataGrid] Add Italian (itIT) locale (#1446) @profcav
- [DataGrid] Add Russian (ruRU) locale (#1449) @lukin
- [DataGrid] Add getRowClassName prop (#1448) @m4theushw
- [DataGrid] Add support for
classes
prop (#1450) @ZeeshanTamboli - [DataGrid] Allow to customize the overlay when there're no filtered rows (#1445) @m4theushw
- [DataGrid] Correct quantities plPL (#1487) @Chriserus
- [DataGrid] Fix autoPageSize with small dataset (#1505) @dtassone
- [DataGrid] Fix delete key for uneditable cells (#1497) @dtassone
- [DataGrid] Fix invalid translation key (#1504) @DanailH
- [DataGrid] Forward props for all Toolbar and Footer components (#1456) @DanailH
- [DataGrid] Improve support of core v5 (#1458) @oliviertassinari
- [DataGrid] Fix multiple focus behaviors (#1421) @dtassone
Docs
- [docs] Add missing filterModel prop in /api/ (#1518) @imsuvesh
- [docs] Better document how to disable row selection (#1510) @ZeeshanTamboli
- [docs] Fix data grid feature comparison (#1516) @imsuvesh
- [docs] Fix typos (#1447) @ZeeshanTamboli
- [docs] No ads for commercial license (#1489) @oliviertassinari
Core
- [core] Label our packages as side effect free (#1466) @oliviertassinari
- [core] Reduce work in data grid (#1520) @oliviertassinari
- [core] Remove React.FC (#1436) @ZeeshanTamboli
- [license] No need to test the location (#1488) @oliviertassinari
- [test] Improve test coverage of roving tabindex (#1459) @oliviertassinari
- [test] Remove jest (#1467) @dependabot-preview
- [test] Run more tests in jsdom (#1361) @oliviertassinari