4.0.5 (2023-07-03)
- react-grid: fixed scrollbar jumps when scrolling a virtual table with different row heights from bottom to top (T1171681) (#3657) (cd0da0c)
- react-grid: fixed a bug when the previous column's sorting was not cleared after the user sorted by a different column and the Sorting State plugin's column extensions were used (#3647) (#3653) (5655906)
4.0.4 (2023-05-16)
- grid-core: Make a virtual table's viewport calculation band-friendly (T1154239) (#3643) (cf41706)
- react-scheduler: fix horizontal scale flickering (T1151128) (#3641) (fc2b29e)
- Update the
react-popper
dependency to v2, by @glsignal (345fa12)
4.0.3 (2023-01-26)
4.0.2 (2022-12-26)
- scheduler-core: fix rrule import in bundle (#3617)
4.0.1 (2022-12-21)
- react-core: fix importing of mui packages that do not support ESM yet (#3608) (8ec2bd6)
- react-core: fix types for react 18 (T1130302) (#3604) (2930d7c)
- react-scheduler: fix types (#3605) (eeebfe9)
4.0.0 (2022-11-25)
3.0.6 (2022-10-14)
- chart-core: fix security issue (#3578) (e70cad9)
- core: fix updating plugins (#3573) (da2bed3)
- react-common: add children property in the themes (#3568) (6a761e2)
- react-grid: fix flickering of virtual table (T1108194) (#3567) (31ef862)
- react-grid: fix grid flickers after scrolling (T1118401) (#3574) (d37014a)
- react-grid: fix grid scrolling with lazy loading (T1106910) (#3572) (af65a74)
- react-grid: fix typescript for grouping panel (#3580) (458174a)
- react-scheduler: fix deleting first oppointment (#3582) (9bf1f70)
3.0.5 (2022-08-22)
- react-common: add children property (T1104887) (#3563) (ec1aa9f)
- react-grid: fix banded columns in virtual table (T1107446) (#3565) (617f37c)
- react-grid: fix column resizing for VirtualTable (T1106563) (#3564) (02eb6bd)
3.0.4 (2022-07-12)
- react-core: fix dragging on unmount component (T1093143) (53502ae)
- react-grid: fix column resizing after its reordering (T1096930) (#3557) (ae205dd)
- react-grid: fix grouping for react 18 (#3556) (edc0d60)
- react-grid: fix render big amount of the rows in virtual table (#3550) (c240410)
- react-scheduler: fix DateTimePicker on Esc pressed (T1099508) (#3558) (84792af)
3.0.3 (2022-05-10)
- core: fix changing vizability for series(T1073127) (#3535) (15e95d6)
- core: make dx-core type public for fix lib check react-grid compilation error (#3538) (629e905)
- react-chart: apply right series hatching color for 2 charts with same selection state (#3536) (3a2789e)
- react-chart: fix chart in bootstrap and fix hover elements (#3545) (8d76c42)
- react-grid: add forwardedRef property in doc (#3534) (82c8006)
- react-grid: fix column reordering (T1079946) (#3543) (06166f2)
- react-grid: fix grouping with Banded columns (#3541) (dd88f70)
- react-grid: fix displaying data in virtual table (#3529) (304489b)
- react-grid-material-ui: column headers are not fixed on vertical scrolling if the TableFixedColumns plugin is used (T1079942) (#3539) (c168da5)
- react-scheduler: fix displaying edit form (#3537) (6ae6d8e)
- react-scheduler-material-ui: A circle icon doesn't apply a color set in a resource in an appointment tooltip (#3540) (7f7e9bc)
3.0.2 (2022-02-24)
- chore: fix third element update (#3511) (9b99074)
- react-grid: fix virtualTable with resizing (T1067026) (#3523) (52a151f)
- react-grid-material-ui: fix header row (T1068611) (#3521) (41cad0e)
- react-grid-material-ui: remove the
forwardedRef
prop from a DOM (T1068005) (#3520) (3ad77df) - react-scheduler: fix type for endDate in AppointmentModel (#3518) (6a29837)
- site: fix static fields on site (#3512) (522c0c1)
3.0.1 (2022-02-15)
- react-grid: fix scrolling in virual table (#3506) (d640672)
- react-grid: make summary row fixed (#3499) (6084aae)
- react-scheduler: add params for commit (#3500) (c2d65e8)
- react-scheduler: fix error for overlapping appointments (#3498) (d2fdbb8)
- react-scheduler: rename field in WeeklyRecurrenceSelectorProps (#3501) (46a8e3a)
3.0.0 (2022-01-31)
- react-grid: add dependence in the TableBandHeader plugin (#3483) (5eaf231)
- react-grid: extend type of Filter value (#3488) (65005d0)
- react-grid: fix calculating colSpan for virtualTable (#3469) (a8686e4)
- react-grid: fix colspan calculation (#3471) (5c44427)
- react-grid: fix changing a visibility of a column with selectors(T1032186) (#3458) (4c77781)
- react-grid: fix page freezes on drag and drop (#3462) (6f000e0)
- react-grid: fix render of group cell of second level (#3479) (b7c3919)
- react-grid: fix type DataTypeProvider.ValueEditorProps (#3484) (c9c93d0)
- react-grid: fix type description in docs for toggleColumnVisibility (T1029991) (#3446) (4e5500f)
- react-grid: prevent resize of the column out the left side of window (#3486) (bb11855)
- react-scheduler: fix adding appointment after editing in control mode(T1024087) (#3463) (462dbeb)
- react-scheduler: fix container classes (#3456) (1b40305)
- react-scheduler: fix scrolling after migrate from jss (#3487) (372dbc2)
- react-scheduler: make
timeScaleTickCellComponent
property public (#3474) (cee2043) - react-scheduler: actualize types for EditingState (#3485) (8fece29)
- react-grid: Now, declare the
TableColumnVisibility
plug-in before theTableBandHeader
plug-in to correctly calculate column spans and borders.
...
+<TableColumnVisibility
+ defaultHiddenColumnNames={...}
+/>
...
<TableBandHeader
columnBands={columnBands}
/>
...
-<TableColumnVisibility
- defaultHiddenColumnNames={...}
-/>
...
3.0.0-beta.2 (2021-11-22)
- react-grid: fix console error (#3442) (6470942)
- react-grid: fix enter action in inline cell editing (#3431) (cd8aea0)
- react-scheduler: use correct type for ConfirmationDialog's messages (#3433) (e6e9e02)
3.0.0-beta.1 (2021-10-21)
- react-core: do not treat right mouse click as the start of dragging (T1005625) (#3358) (f3bfe6a)
- react-core: pass refs to components to get rid of findDOMNode (#3404) (11b9a0d)
- react-core: We updated the minimum required MUI version to v5.0.0. Please follow this link to migrate to it: https://mui.com/guides/migration-v4/. Also, we updated the minimum required React version to v17.0.2. Follow this link to migrate to it: https://ru.reactjs.org/blog/2020/10/20/react-v17.html.
2.7.6 (2021-06-24)
- react-chart: fix chart display for zoom factor 90% (#3354) (ba7097e), closes #2988, #3288
- react-chart: fix series showing if scaleName contains
top
orbottom
(#3343) (99c4efd) - react-grid: make possible to define custom messages for TableFilterRow with TypeScript (#3298) (9b08ce5)
- react-grid: show page button instead of ellipsis if all pagination elements are visible (#3353) (c0ee6fe)
2.7.5 (2021-03-04)
- react-grid: make
onValueChange
property for TableEditCell optional (#3253) (5c1247f) - react-grid: take into account flex columns for colspan calculating (#3254) (3f35212)
- react-scheduler-material-ui: show group panel in Mozilla Firefox correctly (#3264) (92576d7)
2.7.4 (2020-12-24)
- react-grid: correct colspan calculating for group row when used with certain plugins (#3170) (c73dd9f)
- react-grid: fix regression after #3174 (#3214) (7ccd25c)
- react-grid: format currency in the Data Editing demo (#3179) (e7ce15f)
- react-grid: make grouping work with a high level of nested groups (#3174) (abb2983)
- react-grid: make inline cell editing works only with data rows (#3201) (087eb69)
- react-grid: make tree data work with a high level of row nesting (#3171) (623883d)
- react-scheduler: display time in Time Scale correctly when a DST change is present (#3198) (d1247fb)
2.7.3 (2020-11-03)
- react-chart: get rid of errors while click on chart with
shift
key (#3132) (9d2532e), closes #3130 - react-grid: correct DataTypeProvider.ValueEditorProps types (#3146) (c414927)
- react-grid: correct row interval request with infinite scrolling (#3139) (e72257b)
- react-grid: make infinite scrolling work correctly after "totalRowCount" is reduced and expanded (#3115) (5aa943c)
- react-grid-demos: fix detail editing codesandbox demo (#3133) (213e96b), closes #3103
- react-scheduler: make outlook-compatible recurrence rule when selecting monthly and yearly recurrence (#3134) (32ea79b)
- react-scheduler-demos: use GoogleAPI as a data source for remote demo (#3155) (de27416)
- react-scheduler-material-ui: make it possible to set a yearly recurrence by week number, day of week and month (#3131) (36eb86e)
- scheduler-core: display correct appointment time in Safari (#3151) (8bd5619)
- scheduler-core: process DST correctly (#3136) (e0e3b99)
2.7.2 (2020-10-01)
2.7.1 (2020-08-25)
- react-core: make scrolling behavior similar in Safari and Chrome while drag columns (#2999) (d85787b), closes #2982
- react-grid: use 'calc' to calculate table min width (#3049) (e1d9b3a)
- react-scheduler: change the implementation of the CurrentTimeIndicator plugin set and clearInterval usage (2728bcc), closes #3013
- react-scheduler: get rid of mui warning in recurrence layout (#3020) (304c367), closes #3018
- scheduler-core: update rrule version to 2.6.4 and fix it (#3053) (a16a94d)
2.7.0 (2020-07-17)
- react-grid: allow to use SummaryState without "*Items" properties (#2977) (4785504)
- react-grid: improve fixed columns reordering (#2973) (1816f51)
- react-grid: make TableBandHeader work correctly with TableColumnVisibility (#2979) (4186fb9)
- react-scheduler-material-ui: use flex containers to render main layout (#2989) (ad10be6)
- react-grid: remove blank row between customized header and table (#2961) (1b9ac67)
- react-scheduler: add Enhanced Rendering for Overlapped Events/Appointments feature (#2889) (e7812cb)
2.6.4 (2020-06-19)
- chart-core: add TypeScript definitions (#2910) (36d56c8), closes #2902
- react-core: prevent errors when mouse drags element outside the window (#2930) (a95b393)
- react-grid: calculate group row colspan correctly (#2898) (3ddc3de)
- react-grid: correct columns on remove banded column in runtime (#2916) (ff58483)
- react-grid: reset viewport position on search and group when data remote (#2934) (606e410)
- react-grid-export: remove ES6 syntax from bundle (#2893) (bda3cec)
- react-grid-material-ui: center text when label without icon (#2909) (f14e660)
- react-grid-material-ui: Make border for fixed cells nontransparent (#2927) (743fbd7)
2.6.3 (2020-05-14)
- react-chart: animate series after axes finished rerendering (#2832) (def9f0d)
- react-core: check dependencies on plugin mount (#2835) (fdeb8ec)
- react-grid: calculate actual row count in VirtualTableState (#2888) (82cade0)
- react-grid: define
ref
andexportGrid
types in GridExporter (#2887) (f89fb05) - react-grid: prevent collapse VirtualTable with horizontal scrolling (#2866) (377b2a4)
- react-grid: provide right 'skip' value on filtering (#2890) (46076f7)
- react-grid: render drag drop container in body (#2879) (1663707)
- react-grid-demos: move the bands data file into the demo-data folder (#2881) (e645811)
2.6.2 (2020-04-15)
- grid-core: prevent values from being calculated twice in a group summary (#2825) (c704fdf)
- react-grid: fix typo in action name (#2824) (b1a4079)
2.6.1 (2020-04-09)
- react-grid: make possible put VirtualTable in container with scale (#2787) (8008bac)
- react-grid-material-ui: apply page size selector position only for Edge (#2790) (762dd57)
2.6.0 (2020-03-27)
- react-chart: make ArgumentScale factory type compatible with d3-scale (#2758) (d171f36)
- react-core: make StateHelper work correctly when several actions are triggered at once (#2781) (f083519)
- react-core: notify state update outside the state updater (#2744) (8e9d7ec)
- react-grid: add GridExporter to ts definition (#2755) (a2bafb5)
- react-grid: avoid rendering group summary row if no footer summary exists (#2742) (48a3b45)
- react-grid: check viewport position when handle top row id (#2780) (bc57080)
- react-grid: make 'onTopRowChange' work with detail row (#2753) (cf6bf5c)
- react-grid: prevent infinite loop while horizontal scroll (#2771) (cb1d9be)
- react-grid: reset viewport position on filter change when data remote (#2748) (ddd8be7)
2.5.1 (2020-03-11)
- react-grid: remove exceljs from ts declaration (#2734) (c40abf3)
- react-grid: render stub cell on group row and flex column intersection (#2726) (483e944)
2.5.0 (2020-03-04)
- react-scheduler: make it possible to change allowDrag and allowResize in runtime (#2715) (1e38729)
- react-scheduler: update elementsMeta on cellComponent change (#2714) (4f814e8)
- react-scheduler: use defaults when resource id is not specified in instances but is specified in an appointment (#2699) (3ec51af)
- scheduler-core: assign colors to resource instances even when palette's size is less than the number of resource instances (#2691) (2020ad2)
- scheduler-core: filter WeekView appointments correctly when excluded days contain an interval of three or more days in a row (#2713) (c658869)
2.4.1 (2020-02-20)
- react-grid: add ref to VirtualTable props definition (#2661) (aa0fd1a)
- react-grid: allow to change "TableTreeColumn.for" property in runtime (#2650) (bda719e)
- react-grid: delete deprecated properties from TableHeaderCell (#2643) (c4d5481)
- react-grid: prevent Sizer's infinite loop (#2662) (ce6b261)
- react-scheduler: render all-day appointments and prevent appointments' rendering when timeTableCellElementsMeta is not valid (#2673) (0afd6c3)
- react-scheduler: show multiple resources on cell's double click in the AppointmentForm (#2670) (908c61d)
- react-grid: publish TableSelection's rowComponent (#2676) (eefb65a)
- react-scheduler: add grouping by date (#2630) (9fdbd67)
- react-scheduler-material-ui: change DayView and WeekView DayScale's today cell appearance (#2671) (35def37)
2.4.0 (2020-01-16)
- react-grid: specify detail row as a dependency for fixed columns (#2614) (54b782c)
- react-grid: split band columns with the same name but different parents (#2618) (deecbab)
- react-grid-demos: provide total count when rows taken from cache (#2639) (6dd41be)
- react-scheduler: fix error caused by view switching when all-day panel is used (#2638) (b858ddf)
- react-scheduler: fix localization messages in Scheduler (#2628) (28584dc)
- react-grid: add scroll to row in virtual table (#2511) (089c1b5)
- react-scheduler: add horizontal grouping by resources (#2576) (d4ad281)
2.3.2 (2019-12-19)
- react-grid: Adjust readonly property to match Typescript spec (#2597) (abe64f3)
- react-grid-demos: show no data message after scrolling and filtering (#2591) (b8d60f1)
- react-scheduler-material-ui: do not show comma in zero-time appointments' title if the title is undefined (#2596) (4be4e92)
2.3.1 (2019-12-05)
- react-core: allow Sizer to update size on cDU (#2577) (183539f)
- react-scheduler: display all-day appointments of the same day correctly (#2557) (b831767)
- react-scheduler: display horizontal appointments in chronological order (#2579) (0c1071b)
- react-scheduler: open the AppointmentForm from AllDayPanel (#2583) (8d384e0)
2.3.0 (2019-11-22)
- demo-shell: re-render demo frame on submitting custom theme link (#2529) (28177d6)
- react-grid-bootstrap3: correct sticky header colors (#2527) (21e82f2)
- react-grid-material-ui: correct disabled behaviour for inline cell editing (#2537) (909f0bd)
- react-grid-material-ui: show zero numbers in editors (#2553) (fdc8b9d)
- react-chart: add animation on transition (#2334) (54d11b7)
- react-scheduler: add appointment resources support (#2498) (0100670)
- react-scheduler: add CurrentTimeIndicator plugin (#2536) (8fe5abb)
2.2.1 (2019-11-07)
- react-grid: make TableInlineCellEditing.Cell available (#2508) (3eb81f2)
- react-grid: rerender only cell being edited in inline cell editing mode (#2507) (9adadea)
- react-grid-demos: add margin for custom numeric input (#2521) (aa1dd34)
- react-scheduler-material-ui: Fix DayView DayScale cell (#2524) (2901f59)
- react-scheduler: add mobile adaptability to the Scheduler (#2497) (cfe48bd)
- react-scheduler: show day of week in the AppointmentTooltip (#2501) (75394a5)
- react-scheduler-material-ui: redesign Scheduler's views (#2506) (94c00e6)
2.2.0 (2019-10-25)
- react-grid: handle column count decrease in virtual table (#2464) (2c21e30)
- react-grid: incorrect 'row' property type in the documentation (#2424) (23ba6c5)
- react-grid-demos: fix object assign on Safari (#2489) (64b330f), closes #2488
- react-grid-material-ui: correct default properties for Virtual Table (#2484) (973f928)
- react-scheduler: make it impossible to edit radio groups in read-only mode and set default interval to 1 (#2439) (dbb414c)
- react-scheduler: render TimeScale of the same size as TimeTable (#2409) (d753090)
- react-scheduler-material-ui: display dates in the AppointmentFrom correctly (#2441) (4af2688)
- react-grid-bootstrap3: add previous and next buttons for pagination (#2428) (8740f83)
- react-scheduler: add capability to render zero time appointments (#2406) (731b4b8)
- react-scheduler: add ConfirmationDialog plugin (#2393) (9041bd5)
- react-scheduler: do not show AppointmentForm's Delete Button if a new appointment is being edited (#2462) (4eb83bc)
- react-scheduler: redesign AppointmentTooltip (#2474) (41b8f28)
- react-scheduler: The
DayView
andWeekView
plugins now do not have thetimeScaleRowComponent
andtimeScaleCellComponent
properties. Instead, they have a new,timeScaleLabelComponent
, property.
...
<WeekView
- timeScaleRowComponent
- timeScaleCellComponent
+ timeScaleLabelComponent
/>
<DayView
- timeScaleRowComponent
- timeScaleCellComponent
+ timeScaleLabelComponent
/>
...
- react-scheduler: We have extended the
headerComponent
andcontentComponent
in theAppointmentTooltip
plugin with new properties. If you use these components, add the following properties in your code:
...
<AppointmentTooltip
headerComponent={({
+ commandButtonComponent
+ showOpenButton
+ showCloseButton
+ showDeleteButton
+ commandBottonIds
...restProps
}) => (
<AppointmentTooltip.Header
+ commandButtonComponent={commandButtonComponent}
+ showOpenButton={showOpenButton}
+ showCloseButton={showCloseButton}
+ showDeleteButton={showDeleteButton}
+ commandBottonIds={commandBottonIds}
{...restProps}
/>
)}
contentComponent={({
+ formatDate
...restProps
}) => (
<AppointmentTooltip.Content
+ formatDate={formatDate}
{...restProps}
/>
)}
/>
...
2.1.2 (2019-10-11)
- react-grid: add width convert for TableEditColumn (#2408) (6f7592f)
- react-grid: allow inline cell editing only for table data type rows (#2390) (ac1b279)
- react-grid: check next column name by column.name instead type (#2399) (7acfcbb)
- react-grid-demos: correct displaying custom selector in Edge (#2422) (832586f)
- react-grid-material-ui: add padding for first edit cell in in-line cell editing mode (#2392) (f011a55)
- scheduler-core: calculate the last TimeScale EndDate correctly (#2404) (0411235)
- scheduler-core: time scale should take fractional startDayHour/endDayHour values (#2396) (272b351)
- scheduler-core: use different default counts for different recurrence types (#2372) (6eb2dc3)
2.1.1 (2019-10-01)
- react-grid: correctly import interface from grid-core package (#2375) (906b5b2)
- react-scheduler-material-ui: correct AppointmentTooltip OpenButton position (#2367) (3fbcf4a)
2.1.0 (2019-09-30)
- react-grid: add type checking for next column in getNextColumnName (#2354) (03e261c)
- react-grid: allow columns bands to work in virtual table (#2291) (582eb94)
- react-grid: correct displaying "No data" message in Edge (#2332) (e16be01), closes #2330
- react-grid: correct getCellWidth property's default value (#2353) (9fde9b0)
- react-grid-bootstrap4: correct position when horizontal scrolling (#2364) (908bcbe)
- react-scheduler: move firstDayOfWeek prop from views to Scheduler (#2360) (dd5753b)
- react-scheduler-demos: add capability to delete zero index appointment (#2341) (1e837eb), closes #2338
- scheduler-core: correct date formatting string for Safari (#2365) (04989e8)
- scheduler-core: get rid of different
new Date
behavior in Safari (#2370) (061fd31), closes #2369
- react-grid: implement Inline Cell Editing (#2302) (27be87f)
- react-scheduler: add capability to edit recurrent appointments to appointment form (#2205) (da2c36a), closes #2203
- react-scheduler: The
AppointmentForm
plugin now doesn't have thepopupComponent
,containerComponent
,scrollableAreaComponent
andstaticAreaComponent
properties. We have made many changes to the form. You can find all the new properties in the AppointmentForm Plugin Reference.
...
<AppointmentForm
- popupComponent
- containerComponent
- scrollableAreaComponent
- staticAreaComponent
/>
...
- react-scheduler: The
MonthView
andWeekView
plugins now do not have firstDayOfWeek property. It was moved to theScheduler
plugin.
<Scheduler
+ firstDayOfWeek={firstDayOfWeek}
>
<MonthView
- firstDayOfWeek={firstDayOfWeek}
>
<WeekView
- firstDayOfWeek={firstDayOfWeek}
>
...
</Scheduler>
2.0.5 (2019-09-16)
- react-chart: fix typescript in scales (#2314) (15ecec0)
- react-grid: add summary rows only if summary items are specified (#2298) (5ee7d97)
- react-grid: correct displaying Filter Selector in Edge (#2318) (903f3c5)
- react-scheduler: make it possible to create an appointment after cancelled drag-drop (#2307) (b666250)
- react-scheduler-material-ui: remove lastChild's paddingRight from all cells (#2323) (27121c2)
- scheduler-core: delete recurrent appointments correctly with 'delete current and following' option (#2313) (d3d1df7)
- scheduler-core: fix Drag-and-Drop of recurrent appointments with UNTIL (#2321) (ba6cf21)
- react-grid: improve column resizing (#2218) (cd73218)
- react-scheduler: display month's name in the first day cell of the month in MonthView (#2316) (28cd3d2)
2.0.4 (2019-09-02)
- react-chart: fix arrow displaying on corner point (#2232) (5c49aca)
- react-grid: allow DataTypeProvider editor to know if editing is enabled (#2265) (b3cdd95)
- react-grid: correct calculating start index of loading row for Infinite Scrolling (#2256) (1741f9c)
- react-grid: correct displaying Page Size Selector in Edge (#2246) (f67e419)
- react-grid: correct offset calculation in virtual table (#2245) (4d3fba9)
- react-grid: correctly handle column count changes in virtual table (#2257) (451c56c)
- react-scheduler: correct render horizontal draft appointments by DnD (#2258) (d919d19)
- react-scheduler: fix create an appointment on the first call of AppointmentForm (#2272) (8ab05ef)
- react-scheduler: fix incorrect render of recurrent appointments in the first cell of AllDayPanel (#2264) (fe33ea2)
- react-scheduler: make it possible to drag-drop appointments in MonthView with AllDayPanel plugin (#2275) (456a423)
- react-scheduler: prevent double render of all-day recurrence appointments (#2253) (e92bdeb)
- scheduler-core: display recurrent appointments in the lower right corner of WeekView correctly (#2290) (bc8ae2d)
- scheduler-core: fix recurrent appointment disappearing after dragdrop (#2288) (5cc0aaf)
BREAKING CHANGES:
- react-scheduler: Editing logic for recurrent appointments was removed from the
EditingState
plugin. Now, editing requires theEditingState
, and either theIntegratedEditing
or theEditRecurrenceMenu
plugin. In addition, you can add the EditRecurrenceMenu plugin to allow users to select how recurrent appointments are edited.
<Scheduler>
<EditingState />
+ <EditRecurrenceMenu />
+ {/* or <IntegratedEditing />*/}
...
</Scheduler>
The following EditingState
properties were replaced:
editingAppointmentId
->editingAppointment
defaultEditingAppointmentId
->defaultEditingAppointment
onEditingAppointmentIdChange
->onEditingAppointmentChange
The new properties contain an AppointmentModel of the appointment being edited.
<Scheduler>
<EditingState
- editingAppointmentId
- defaultEditingAppointmentId
- onEditingAppointmentIdChange
+ editingAppointment
+ defaultEditingAppointment
+ onEditingAppointmentChange
/>
...
</Scheduler>
2.0.3 (2019-08-16)
- react-chart: fix axis layout after update data (#2199) (2b84bd8)
- react-grid: correctly calculate force reload interval when total count is 0 (#2238) (e9daa64)
- react-grid: retrieve incomplete page from cache (#2215) (0ee86fd)
- scheduler-core: fix incorrect render of recurrent appointments with BYMONTHDAY parameter (#2216) (7346df3)
2.0.2 (2019-08-01)
- react-chart: fix tooltip customization (#2191) (b23bef2)
- react-chart: fix zooming over minimal threshold (#2183) (88baf47)
- react-chart-material-ui: apply correct layout height (#2180) (88bf517), closes #2172
- react-core: get rid of redundant type (#2179) (eb0ca11)
- react-grid: correct calculation of available row count in infninite scrolling mode (#2188) (28e93d5)
- react-grid: correct changing DataTypeProvider.for property in runtime (#2201) (3732635)
- react-grid: correctly calculate rows to load when sorting/filtering in lazy loading mode (#2186) (3789b89)
- react-grid: prevent scrolling sticky header on Safari (#2178) (47666b7)
- react-scheduler: set Scheduler's height to Root instead of body (#2189) (46bef67)
- react-scheduler-material-ui: remove transparent border from draft appointment (#2200) (005336b)
- react-scheduler:
DayView
plugin's,WeekView
plugin's andMonthView
plugin's layout component now doesn't have theheight
property.height
is nowScheduler
plugin's root component property.
...
<DayView
layoutComponent={({
- height,
...restProps
}) => (
<DayView.Layout
- height={height}
{...restProps}
/>
)}
/>
...
<WeekView
layoutComponent={({
- height,
...restProps
}) => (
<WeekView.Layout
- height={height}
{...restProps}
/>
)}
/>
...
<MonthView
layoutComponent={({
- height,
...restProps
}) => (
<MonthView.Layout
- height={height}
{...restProps}
/>
)}
/>
...
<Scheduler
rootComponent={({
+ height,
...restProps
}) => (
<Scheduler.Root
+ height={height}
{...restProps}
/>
)}
/>
...
2.0.1 (2019-07-18)
- react-chart: improve touch events on hover/select (#2159) (61ee79a)
- react-grid: correct stub cell render for GroupRow in virtual table (#2157) (1624947)
- react-grid: disable skeleton cells when local data is used (#2153) (920008f)
- react-scheduler: call editing actions by DnD only once (#2163) (5364254)
- react-scheduler-material-ui: set appointment's default color (#2154) (ea7c508)
2.0.0 (2019-07-08)
We released v2.0.0 today because we migrated to material-ui v4. For the time being, we will fix bugs in v1.x for those who need to remain on material-ui v3. We recommend updating to material-ui v4, since new features will only be included in v2.x.
- react-chart: arg and val scale inconsistency (#2070) (6286577)
- react-chart: fix zooming on IPad (#2122) (41ebed6)
- react-chart: update ZoomAndPan plugin ts declaration (#2109) (6a81792)
- react-grid: add grouping as optional dependency for summary (#2097) (12d633f)
- react-grid: add TableGroupRow as optional dependency for TableFixedColumns (#2112) (be38da1)
- react-grid: calculate summary for collapsed groups under first level (#2106) (f7c7655)
- react-grid: correct virtual table row boundaries for mui 4 (#2144) (ffc4681)
- react-grid-bootstrap4: make resize control visible on resizing (#2103) (3f875c5)
- react-scheduler: add capability to pass className and style into Scheduler layout component (#2140) (3177586)
- react-scheduler: fix no space between appointments bug in Firefox (#2124) (0016a8b)
- react-scheduler: remove excess commitChanges call by DnD (#2123) (044e188)
- react-scheduler: set px as measurement unit of MonthView today cell lineHeight (#2145) (25fd88a)
- react-scheduler: delete borders around Scheduler (#2136) (a5fe73f)
- react-scheduler: add display name to views (#2134) (4c20034)
- react-scheduler: transfer DOM operations into theme package (#2068) (c851a48)
- migrate to MUI v4 (#2060) (99ff97d)
- react-chart: rotated chart (#2089) (def0662)
- react-scheduler: add TodayButton plugin (#2118) (84ef5a3)
- react-scheduler:
ViewSwitcher
plugin's switcher component now doesn't have thecurrentViewName
andavailableViewNames
properties. To specify the current view name usecurrentView
property consisting of 2 fields:name
anddisplayName
. To provide available views, use availableViews property, which is an array of elements withname
anddisplayName
fields.
...
<ViewSwitcher
switcherComponent={({
- currentViewName,
+ currentView,
- avalableViewNames,
+ availableViews,
...restProps
}) => (
<ViewSwitcher.Switcher
- currentViewName={currentViewName}
+ currentView={currentView}
- availableViewNames={availableViewNames}
+ availableViews={availableViews}
{...restProps}
/>
)}
/>
...
- react-scheduler:
AllDayPanel
plugin's layout component now doesn't have theallDayPanel
property. To specify cell elements usesetCellElementsMeta
property.
...
<AllDayyPanel
layoutComponent={({
- allDayPanelRef,
+ setCellElementsMeta,
...restProps
}) => (
<AllDayPanel.Layout>
- allDayPanelRef={allDayPanelRef}
+ setCellElementsMeta={setCellElementsMeta}
{...restProps}
/>
)}
/>
...
- react-chart: The
x
,y
, andy1
properties in series points' coordinates have been renamed toarg
,val
, andstartVal
respectively. The old names were unsuitable in the case when the chart was rotated.
1.11.1 (2019-06-14)
- react-chart: fix strange text artifacts during scrolling (#2081) (e4f7fb2)
- react-grid: can not resize fixed column (#2052) (86495a4)
- react-grid: change processing of last page in lazy load mode (#2067) (2b52fe0)
- react-grid: Fixed column cell of selected row is not highlighted (#2042) (fda3d36)
- react-grid: use default color for selected fixed cell if highlight is disabled (#2076) (74a42ef)
- react-scheduler: update views by passing new props (#2040) (2cf4665)
- scheduler-core: consider seconds instead of milliseconds while calculate intervals (#2064) (e2b20a7)
- react-grid: stick group row on horizontal scroll (#2037) (c063efe)
- react-scheduler: add a capability to set Scheduler's height (#2043) (6c140a5)
1.11.0 (2019-05-17)
- react-chart: fix layout of the value axes (#1996) (030f4b1)
- react-chart: fix spacing on axis labels in Edge (#2006) (568ba8a)
- react-core: prevent Getter losing on Plugin adding (#2002) (89f4e87)
- react-grid: add transform style for IE11 (#2001) (ef75b9c)
- react-grid: consider fixed columns when columns are virtualized (#2014) (f13c525)
- react-grid: provide minWidth to virtual table in Safari (#2034) (55a9d3d)
- react-scheduler: move children inside (#2018) (bbd4198)
- react-scheduler: pass formatDate func into DnD drafts (#2031) (63df375)
- react-chart: We have replaced the
dominantBaseline
option with thedy
option for axis labels because Edge does not support the former. Thedy
option does not change the baseline position and simply shifts text up or down.
1.11.0-beta.1 (2019-04-24)
- grid-core: fix group summary rows order (#1926) (e9f3c60)
- react-chart: fix event coordinates calculation in a scrolled container (#1950) (498969f)
- react-chart: fix generated dts (#1927) (5598e3c)
- react-core: ensure onSizeChange is triggered when browser zoom less than 100 (#1900) (b85b017)
- react-grid-bootstrap3: add fallback position sticky css property for Safari (#1964) (7a1f4aa)
- react-grid-bootstrap4: correct Popover prop types (#1901) (c6131fc)
- react-chart: add zoom and pan for chart (#1917) (6c30b95)
- react-grid: add aria-labels for pager buttons (#1906) (0d2cf72)
- react-grid: remote virtual scrolling (#1936) (43c967c0)
- react-scheduler: allow appointment resizing (#1932) (785f8a1)
- react-scheduler: allow recurrence appointment rendering (#1956) (c75f584)
-
react-scheduler: The
Appointment
component of theAppointments
plugin has not received astyle
property. These styles have passed to theContainer
component of theAppointments
plugin.Before
... <Appointments appointmentComponent={({ style, children, data, onClick?, onDoubleClick? }) => ... } ... /> ...
After
... <Appointments appointmentComponent={({ children, data, onClick?, onDoubleClick? }) => ... } containerComponent={({ style, children }) => ... } ... /> ...
1.11.0-alpha.1 (2019-03-13)
1.10.4 (2019-03-11)
- react-core: correct IDependency definition (#1891) (c9d0f44)
- react-grid: correct typescript definitions (#1876) (404a239)
1.10.3 (2019-02-27)
1.10.2 (2019-02-27)
- grid-core: fix equal/notEqual filtering operations (#1834) (8ff84e6)
- grid-core: fix filter selector value calculation (#1831) (5ab35a5)
- react-core: notify Sizer content when container size is increasing (#1828) (b58e1bd)
- react-chart: fix line target element getter (#1847) (688a8e9)
- react-grid: fix borders of fixed columns in Edge (#1849) (5d1763e)
- react-grid: fix virtual table column width in Edge (#1866) (5d58a58)
- react-grid: prevent converting group row value to a string if it is undefined (#1824) (c878d33)
- react-grid-material-ui: fix page size selector alignment in FF (#1839) (5a79b30)
- chart-core: migrate chart core to TS (#1816) (23a17e8)
- scheduler-core: migrate to TypeScript (#1809) (4c5c52)
- react-grid: migrate to TS (#1832) (4bacf20)
- react-grid: fix sorting state props type (#1850) (7b5b720)
- react-grid-demos: replace modal dialog with confirmation in featured editing demo (#1871) (66faabf)
1.10.1 (2019-02-06)
- react-chart: fix hovered and selected scatter point size (#1808) (647a0d8)
- react-chart: fix-event-handlers-in-safari (#1803) (cc90bc0)
- react-chart-bootstrap4: fix dependencies section (#1774) (12e9f6f)
- react-grid: disallow rendering a checkbox in incorrect column when grouping is enabled (#1793) (96b7de0)
- react-grid: fix column width in virtual table (#1783) (f3c481c)
- react-grid: prevent tree column header text from overflowing a container (#1731) (af3629c)
- react-grid: stretch table container to a container size (#1796) (a36b109)
- react-chart: move point coordinates calculations specifics down to the pointComponent (#1753) (fde7756)
-
react-chart: Previously,
pointComponent
ofBarSeries
andPieSeries
accepted precalculated fields (width
andd
, respectively). Now,pointComponent
accepts fields that provide raw data for calculation. This makespointComponent
more flexible as thewidth
andd
fields can now be calculated the way you need.The following substitutions took place:
width
=>barWidth
andmaxBarWidth
d
=>innerRadius
,outerRadius
,maxRadius
,startAngle
, andendAngle
1.10.0 (2018-12-25)
- react-chart: fix resizing of the axes (#1685) (7c409f0)
- react-chart: fix-pie-legend (#1714) (d662409)
- react-core-demos: fix the 'Template Overriding' demo (#1729) (a119cb4)
- react-grid: apply wordWrapEnabled property to TableTreeColumn (#1721) (336c88a)
- react-grid: fix header layout when middle band column is fixed (#1619) (504f434)
- react-grid: pass actual properties to a tableLayout in VirtualTable (#1690) (ac609f2)
- react-grid: prevent animation flicker on column visibility change (#1674) (2cbb72a)
- react-grid: prevent virtual table from setting a width to flex column (#1691) (6d28bfb)
- react-grid: specify table fixed columns plugin optional dependencies (#1693) (3564212)
- react-scheduler: add to AllDayPanel another cell template name (#1719) (386728f)
- react-scheduler: fix date navigator button width (#1699) (7093d7b)
- update @material-ui/core to 3.7.0 (#1718) (ce5d4fe)
- react-chart: replace Scale plugin with ArgumentScale and ValueScale (#1650) (1f2e0b2)
- react-chart: rename "showGrids" Axis property (#1696) (f8087da)
- react-chart: property to customize scale domain (#1711) (b09e439)
-
react-chart: Previously the
ArgumentAxis
,ValueAxis
, andScale
plugins allowed you to customize argument and value scales. In this release, we have implemented theArgumentScale
andValueScale
plugins for this purpose. -
react-chart: The
showGrids
Axis property is renamed toshowGrid
. -
react-chart: The
min
andmax
scale properties are replaced with themodifyDomain
property because the band scale domain cannot be customized in min and max terms.Replace this
<ArgumentScale min={0} max={10} ... />
with this
const modifyDomain = () => [0, 10]; <ArgumentScale modifyDomain={modifyDomain} ... />
1.9.1 (2018-12-07)
- docs: correct the Appointments plugin docs (#1633) (87b2988)
- docs: correct the table summary row plugin docs (#1632) (0ab1145)
- react-grid: fix the 'no data' message alignment (#1597) (663685a), closes #1600
- react-grid: fix virtual table layout in Edge (#1593) (65fdf63)
- react-grid: normalize scroll position in Edge browser (#1605) (7e313ce)
- react-grid-bootstrap4: prevent edge from overlapping a scrollbar (#1612) (2fc8a6b)
- react-scheduler: add cursor pointer to appointment template (#1594) (d5db46d)
- react-scheduler: fix TypeScript definitions for the 'dx-react-scheduler-material-ui' package (#1644) (aa93cd1)
- react-scheduler: remove excess events from an appointment (#1591) (ceba7de)
- site: fix the 'Why We Use Cookies' message (#1655) (3e66474)
- react-scheduler: simplify the ViewSwitcher.Switcher component API (#1660) (6c5d5ca)
- react-scheduler: simplify the onNavigate function arguments (#1659) (7e4104)
- react-chart: make grid part of the axis (#1646) (4d99c93)
- react-chart: add tooltip plugin (#1611) (1f9322c)
- react-grid: provide a way to customize a group cell (#1596) (d95a0cb)
- react-grid: provide a way to customize a summary item (#1567) (f131c1c)
- react-scheduler: highlight today DayScale cell (#1653) (eb42d14)
-
react-scheduler: We have changed the
onChange
function's argument type to make theViewSwitcher
's API more clear.Previously:
onChange({ nextViewName: string }) => void
Now:
onChange(nextViewName: string) => void
-
react-scheduler: We changed the
onNavigate
function's argument type to make theDateNavigator
's API more clear.Previously:
onNavigate({ back: boolean }) => void
Now:
onNavigate(direction: 'forward' | 'back') => void
-
react-chart:
-
In the
ArgumentAxis
andValueAxis
pluginslineComponent
andtickComponent
render identical svg-path elements. Previously, they require different properties for drawing:width
andheight
forlineComponent
andx1
,x2
,y1
,y2
fortickComponent
. Now, for more consistency thelineComponent
requires the same properties astickComponent
. -
Previously, there were
ArgumentGrid
andValueGrid
plugins that render grid lines for axes. Now, grids are part of the axes:<ArgumentAxis showGrids /> <ValueAxis />
For grid customization, use
gridComponent
as follows:<ArgumentAxis gridComponent={...} /> <ValueAxis gridComponent={...} />
1.9.0 (2018-11-07)
- react-chart: fix indent from axis for label w/o tick and line components (#1528) (e8b2ccb)
- react-chart: fix stacks processing (#1535) (9660d5f)
- react-grid: correct order of fixed right columns (#1533) (00ccebd)
- react-grid: pass undefined as empty value to filter editorComponent (#1522) (e69813f)
- react-grid: use a column filter operation as a filter selector value (#1479) (70e26fa), closes #1474
- react-grid-bootstrap3/4: prevent sorting for disabled columns (#1490) (086242d)
- react-grid-bootstrap4: fix position of dragged column header (#1513) (8e0893c)
- react-grid-bootstrap4: prevent filter popup cut off on fixed columns (#1576) (979476e)
- react-scheduler: add the React Scheduler component
- react-chart: add animation plugin (#1469) (3c41352)
- update dependencies (#1542) (f32f1b2)
- react-chart: remove "groupWidth" property from BarSeries (0a15e87)
- react-chart: The
groupWidth
property configures a band scale for arguments - it is not a property of a particular bar series. To configure a band scale, use theScale
plugin as follows:
<Scale extensions={[{ type: 'band', constructor: d3.scaleBand().paddingOuter(0.1).paddingInner(0.2) }]} />
1.8.0 (2018-10-04)
- grid: add missed props to documentation (#1414) (e7fe289), closes #1412
- grid: fix nullable values sorting (#1432) (f75deb1), closes #1428
- react: handle event changes correctly (#1405) (61732a1)
- react-chart: fix crash in production caused by PropTypes reference (fd386f5)
- react-chart: bind default domain names for argument and value axes (#1435) (0a5fdf1)
- react-grid: add lost border to bands (#1440) (f051c69)
- react-grid: fix virtual scrolling in desktop Safari (#1397) (d353edf)
- react-grid-material-ui: update MUI (#1430) (c6ef66c), closes #1413
- react-chart: add legend for pie chart (#1393) (088767c)
- react-chart: add palette plugin (#1408) (a025bb0)
- react-grid: extract ToggleButton component in TableFilterRow (#1403) (687fe3b)
-
react-chart: Previously, there was a single
Grid
plugin. Now there areArgumentGrid
andValueGrid
plugins.ArgumentGrid
is bound to an argument domain.ValueGrid
is bound to a value domain specified by the name property or to a default domain. -
react-chart: Previously, the Chart component configured scales internally. Starting with this release, we extracted the scale customization logic to a separate plugin to enable a user to customize a scale. Now, you need to manually add the
Scale
plugin to the Chart component to draw a chart.
1.8.0-beta.1 (2018-09-07)
- react-chart: fix console errors about equal keys in axis (#1375) (cc9d9f9)
- react-chart: fix domain calculation with zero values (#1383) (1b514db)
- react-chart: fix style applying in legend label in material-ui (#1374) (38e3ed4)
- react-chart: fix wrong position of scatter points (#1384) (8f8ae54)
- react-grid: extract sorting control (#881) (2a6dd1a)
- react-grid: support columns fixing (#1305) (81c13a4)
- react-grid:
Because we extracted the sorting control, the
getMessage
property was moved from theTableHeaderRow.CellProps
interface toTableHeaderRow.SortLabelProps
. This property returns the sort label's text.
1.7.2 (2018-08-31)
1.7.1 (2018-08-31)
- grid: fix group row level key calculation (#1359) (dfec46e), closes #1355
- react: prevent the 'process.env' value usage in umd bundles (#1363) (29468da)
1.7.0 (2018-08-23)
- grid: fix sorting with undefined values (#1348) (8342724), closes #1344
- react: remove prop types in production mode (#1331) (f0020c8)
- react-chart: fix console warning about equal keys (#1340) (fd58312)
- react-chart: fix drawing spline (#1341) (e6f5d72)
- react-chart: fix errors for BarSeries plugin (#1349) (5784cda)
- react-grid: add missed optionals to docs (#1347) (1902196), closes #1343
- vue-grid: fix functional components (#1350) (5aa21a2), closes #1345
- react-chart: Previously, we had the pointComponent property for drawing and customizing LineSeries, SplineSeries, and AreaSeries plugin points. But since we have a scatter series, this property has become unnecessary. Use the ScatterSeries plugin or customize the pathComponent of the corresponding plugin.
1.6.1 (2018-08-21)
- react-grid: remove resizing animation (#1333) (5c0e748)
- react: fix adding existing plugins (#1328) (e773303)
1.6.0 (2018-08-17)
- grid: add missed action argument (#1292) (f60e162)
- grid: correct types for the commit changes event (#1291) (2f02936)
- react-grid: fix word wrap behavior with the SortingControl (#1280) (45d5729), closes #1278
- react-grid: allow showing row summaries (#1216) (e2397d1), closes #1024
- react-grid: export nested component interfaces in theme packages (#1299) (788bac9)
1.5.1 (2018-07-31)
1.5.0 (2018-07-26)
- core: fix incorrect template rendering on mount/unmount (#1232) (cd03c72)
- docs: correct the 'EditingState' plugin docs (#1226) (b8735b6), closes #1223
- grid: add missed operation field in Filter config (#1233) (dc6114b)
- grid: allow use word wrap with the Sorting feature (#1238) (adc2d19), closes #1237
- grid: fix VirtualTable with non-standard browser zooming (#1243) (412ba38)
- grid-core: fix incorrect filter updating (#1267) (16580ab), closes #1262
- react-grid-material-ui: get rid old palette syntax (#1247) (1a7218f), closes #1246
- react-grid-material-ui: rotate grid pagination arrows for RTL layouts (#1244) (f96501a)
- react-chart: add API to manage series in stacks (#1227) (4239e7f)
- react-grid: support stretching virtual table to parent element (#1261) (ded7357), closes #996
- vue-grid: support tree data structuries (#1115) (3ce296c)
- react-chart: The 'SeriesFamily' plugin has been renamed to 'Stack' to make it meaning more transparent.
1.4.0 (2018-06-22)
- vue-grid: fix spread messages property (#1205) (c19907f)
- vue-grid: get rid excess attrs (#1204) (87a87cc)
- react-chart: add a capability to stretch the Chart component (#1166) (c038e7c)
- vue-grid: add column chooser (#1150) (ae6fdd0)
- vue-grid: add the Advanced filtering feature (#1186) (b5a468c)
- vue-grid: add the banded columns support (#1131) (71bd847)
- vue-grid: add the Virtual Scrolling feature (#1047) (d0ba194)
1.3.0 (2018-06-04)
- grid-core: remove excess property from TableRow component (#1128) (2c6ed12)
- react-grid: fix double event call in strict mode (#1157) (e280eac)
- vue-grid-bootstrap4: change grouping indent (#1127) (a450470)
1.3.0-beta.2 (2018-05-24)
1.3.0-beta.1 (2018-05-16)
- react-grid: always pass the whole Filter object to the filter table cells (#1011) (8fa802d)
- react-grid: change default prop type (#1056) (34c44e8)
- react-grid: correct filtering predicate type (#1062) (b8367ee)
- react-grid-material-ui: reverse detail toggle icons (#1044) (06e7dcd)
1.2.0 (2018-05-04)
- react-grid: correct Table.NoDataCell reference (#903) (e3c8de2)
- react-grid: correct TableFilterRow.CellProps types (#926) (639f35f)
- react-grid: correct types for components (#910) (f5546b8)
- react-grid: do not pass the
row
property to the table edit command cell (#890) (610343c) - react-grid-material-ui: rename column chooser button component (#871) (42ef0ab)
- react-grid-material-ui: update material-ui to 1.0.0-beta.41 (#901) (2447c4c)
- react-grid: fix incorrect prop types for CustomGrouping (#946) (fdf492f), closes #941
- react-grid: fix ts for TableColumnResizing (#955) (d2cfcd6), closes #951
- react-grid-material-ui: change detail toggle icon (#957) (ce9b453)
- react-grid-material-ui: prevent click on disabled grouping control (#935) (95fc44a)
- react-grid: fix the 'selectByRowClick' prop processing (#1000) (8dc1337), closes #998
- react-grid: improve className and style types (#930) (0132e12)
- react-grid: allow word wrapping in table cells (#875) (5febc85)
- react-grid: support the Band Columns feature (#826) (6f935a8)
- react-grid: support tree data structures (#730) (d069c71)
- react-grid: support column virtualization (#892) (67dc486)
1.2.0-beta.3 (2018-04-28)
- react-grid: fix the 'selectByRowClick' prop processing (#1000) (8dc1337), closes #998
- react-grid: improve className and style types (#930) (0132e12)
1.2.0-beta.2 (2018-04-19)
- react-grid: fix incorrect prop types for CustomGrouping (#946) (fdf492f), closes #941
- react-grid: fix ts for TableColumnResizing (#955) (d2cfcd6), closes #951
- react-grid-material-ui: change detail toggle icon (#957) (ce9b453)
- react-grid-material-ui: prevent click on disabled grouping control (#935) (95fc44a)
1.2.0-beta.1 (2018-04-12)
- react-grid: correct Table.NoDataCell reference (#903) (e3c8de2)
- react-grid: correct TableFilterRow.CellProps types (#926) (639f35f)
- react-grid: correct types for components (#910) (f5546b8)
- react-grid: do not pass the
row
property to the table edit command cell (#890) (610343c) - react-grid-material-ui: rename column chooser button component (#871) (42ef0ab)
- react-grid-material-ui: update material-ui to 1.0.0-beta.41 (#901) (2447c4c)
- react-grid: allow word wrapping in table cells (#875) (5febc85)
- react-grid: support the Band Columns feature (#826) (6f935a8)
- react-grid: support tree data structures (#730) (d069c71)
1.1.2 (2018-04-11)
- react-grid: correct Table.NoDataCell reference (#899) (aaa2c4c)
- react-grid: correct types for components (#902) (3666b7e)
- react-grid-material-ui: rename column chooser button component (#872) (65b3a34)
- react-grid-material-ui: update material-ui to 1.0.0-beta.41 (#900) (1715803)
1.1.1 (2018-03-20)
- react-grid: correct empty value passed to filter cell editors (#857) (66e47d0)
- react-grid: correct TableHeaderRow.CellProps types (#858) (8ed9b8a)
1.1.0 (2018-03-15)
- grid-core: repair column reordering after grouping (#831) (edf32d0)
- react-demos: get rid of warnings in the Featured Controlled demos (#821) (6c24a1b)
- react-grid: cancel handling of bubbled scroll event in the virtual table (#829) (8a9a731), closes #805
- react-grid-material-ui: fix sorting in MUI v1.0.0-beta.37 (#830) (47ba974), closes #825
1.1.0-beta.3 (2018-03-07)
- react-grid-bootstrap4: fix the 'Nothing to show' message (#816) (34167bb)
- react-grid-bootstrap4: get rid cursor poiner on disabled item (#799) (1d59052)
- react-grid: add search panel plugin (#726) (c8e79fb)
- react-grid: extract the Table plugin components (#766) (e626a66)
- react-grid: support center alignment for columns (#804) (209d1c9)
1.1.0-beta.2 (2018-03-02)
1.0.3 (2018-03-02)
- react-grid: fix incorrect initial options handling (#797) (1220664)
- react-grid: make EditingState pure (#796) (b409c11)
1.0.2 (2018-03-01)
- react-grid: rework controlled mode (#779) (a412dda), closes #762
- react-grid-material-ui: update material-ui and material-ui-icons version to 1.0.0-beta.35 (#784) (d96b1be)
1.1.0-beta.1 (2018-02-22)
- react-grid: allow adding custom styles to some components (#728) (7580410)
- react-grid: fix reordering after grouping (#744) (4de38d7)
- react-grid-bootstrap3: repair column chooser positioning (#740) (4c4ed15)
- react-grid-material-ui: remove PagingPanel's border-top (#751) (353e486)
- react-grid: add the ability to prevent column filtering (#702) (f3d3f10)
- react-grid: add the ability to prevent column visibility toggling (#705) (2cdfe06)
- react-grid: add the ability to prevent editing by a column (#729) (3c88c4c)
- react-grid: add the ability to sort/group by the particular column (#692) (b5d0e2f)
- react-grid: add TypeScript definitions (#710) (7dfc052)
1.0.1 (2018-02-16)
- react-grid: calculate visible rows when rendering VirtualTable (#749) (424a48c), closes #748
- react-grid: fix hidden tall rows in VirtualTable (#747) (dc02bd5), closes #745
- react-grid-material-ui: update material-ui version to 1.0.0-beta.33 (#750) (4bf8810)
1.0.0 (2018-02-02)
- react-core: rename PluginContainer to Plugin (#712) (30734d8)
- react-grid: rename expanded details getter (#713) (771eb3f)
- react-core: The
PluginContainer
component has been renamed toPlugin
. - react-grid: The
expandedRowIds
getter of the RowDetailState plugin has been renamed toexpandedDetailRowIds
.
1.0.0-rc.2 (2018-01-26)
- react-core: fix crash when using with webpack-dev-server and Hot Module Reloading (#694) (bdc944b)
- react-grid-bootstrap3: align header and data cell texts (#687) (b34f142)
- react-grid-bootstrap3: correct grouping icon alignment (#686) (fb30cc3)
- react-grid-material-ui: use long paths for modules (#684) (b32f79c)
1.0.0-rc.1 (2018-01-18)
- react-core: clear text selection when dragging (#669) (b7c2eac)
- react-grid: display empty message when all data columns are hidden (#670) (44d7622)
- react-grid: set higher precedence to props in state plugins (#663) (bb5ef97), closes #662
- react-grid: update render component in correct lifecycle hook (#655) (c56ff88), closes #649
- react-grid-bootstrap3: repair keyboard navigation in column chooser (#666) (7f2b461)
- react-grid-material-ui: disable ripple on active page button (#682) (c75078d)
- react-grid-material-ui: import 'VisibilityOff' icon from separate file (#640) (7b71ebc)
- react-grid: change columnWidth type from object to array (#613) (6f4d19f)
- react-grid: change the 'expandedGroups' Getter data type (#661) (f078d3a)
- react-grid: change the 'selection' Getter data type (#656) (262d169)
- react-grid: rename the *hiddenColumns getters and props (#651) (068604d)
- react-grid: rename the changedRows Getter and dependent properties (#657) (26735c7)
- react-grid: rename the deletedRows Getter and dependent properties (#652) (ae78d23)
- react-grid: rename the expandedRows Getter and dependent properties (#653) (db56cad)
- react-grid: rename the groupByColumn action to changeColumnGrouping (#660) (a3974bd)
- react-grid: rename the setColumnFilter action to changeColumnFilter (#659) (eec6c41)
- react-grid: rename the setColumnSorting action to changeColumnSorting (#658) (e4f9c12)
- react-grid: rename the setDetailRowExpanded action (#648) (1285a14)
- react-grid: standardize draft change actions in GroupingState (#668) (43593eb)
- react-grid: standardize draft change actions in TableColumnResizing (#665) (3fec37a)
- react-grid: use the 'state' name as a parameter in toggle actions (#645) (6c3f15d)
- react-grid: rename the EditingState plugin properties (#650) (4d7fe82)
-
react-grid: The
draftGrouping
getter does not contain information about draft mode anymore. ThedraftGroupingChange
, andcancelGroupingChange
actions have been renamed todraftColumnGrouping
, andcancelColumnGroupingDraft
. -
react-grid: The type of the TableColumnResizing plugin's
columnWidths
anddefaultColumnWidths
properties has been changed from object to array to improve API consistency.Before:
<Grid> <TableColumnResizing columnWidths={{ a: 120 }} /> </Grid>
After:
<Grid> <TableColumnResizing columnWidths={[{ columnName: a, width: 120 }]} /> </Grid>
-
react-grid: The
changeDraftTableColumnWidth
action has been renamed todraftTableColumnWidth
. The functionality that resets draft column width has been moved from from thedraftTableColumnWidth
action into the separatecancelTableColumnWidthDraft
action.The
onDraftWidthChange
event of the TableHeaderRow's cellComponent has been renamed toonWidthDraft
. The functionality that cancels draft width changes has been extracted to theonWidthDraftCancel
event. -
react-grid: The the GroupingState plugin's
groupByColumn
action has been renamed tochangeColumnGrouping
. -
react-grid: We changed the
selection
getter's data type fromSet
toArray
to improve the API consistency. -
react-grid: We renamed the following TableColumnVisibility plugin's properties to improve the API consistency:
hiddenColumns
=>hiddenColumnNames
defaultHiddenColumns
=>defaultHiddenColumnNames
onHiddenColumnsChange
=>onHiddenColumnNamesChange
The
hiddenColumns
getter has been renamed tohiddenColumnNames
. -
react-grid: The following RowDetailState plugin's properties have been renamed to improve the API consistency:
expandedRows
=>expandedRowIds
defaultExpandedRows
=>defaultExpandedRowIds
onExpandedRowsChange
=>onExpandedRowIdsChange
The
expandedRows
getter has been renamed toexpandedRowIds
. -
react-grid: The following EditingState plugin's properties have been renamed to improve the API consistency:
changedRows
=>rowChanges
defaultChangedRows
=>defaultRowChanges
onChangedRowsChange
=>onRowChangesChange
The
changedRows
getter has been renamed torowChanges
. -
react-grid: The FilteringState plugin's
setColumnFilter
action has been renamed tochangeColumnFilter
. -
react-grid: The RowDetailState plugin's
setDetailRowExpanded
action has been renamed totoggleDetailRowExpanded
. -
react-grid: The
toggleSelection
action'sselected
parameter has been renamed tostate
. -
react-grid: We changed the
expandedGroups
getter's data type fromSet
toArray
to improve the API consistency. -
react-grid: The following EditingState plugin's properties have been renamed to improve the API consistency:
deletedRows
=>deletedRowIds
defaultDeletedRows
=>defaultDeletedRowIds
onDeletedRowsChange
=>onDeletedRowIdsChange
editingRows
=>editingRowIds
defaultEditingRows
=>defaultEditingRowIds
onEditingRowsChange
=>onEditingRowIdsChange
The
deletedRows
getter has been renamed todeletedRowIds
. TheeditingRows
getter has been renamed toeditingRowIds
. -
react-grid: The SortingState plugin's
setColumnSorting
action has been renamed tochangeColumnSorting
.
1.0.0-beta.3 (2017-12-28)
- grid-core: fix blinks when reordering group items (#573) (739c664)
- react-grid: correct state helper & editing state (#623) (3cd07bd)
- react-grid: fix blinks when reordering header-cell items (#590) (e94b824)
- react-grid: fix incorrect applying of several actions in a batch (#560) (7c3ff9b), closes #549
- react-grid: remove outline from header cell when mouse click (#576) (807597b)
- react-grid-material-ui: add border beetwin rows and pager panel (#622) (d7cb9c7)
- react-grid-material-ui: use theme constant in the table header background (#602) (797e134)
- react-grid: add the toolbar (#585) (70fdc25)
- react-grid: cancel column sorting by passing null to the direction argument (#620) (3abe8f9)
- react-grid: extract table column extension (#586) (7f57be2)
- react-grid: get rid of explicit column resizing enabling (#597) (f215103)
- react-grid: get rid of explicit dragging enabling (#583) (60797c2)
- react-grid: give column properties greater precedence (#617) (4a2924c)
- react-grid: remove totalCount property from PagingState to CustomPaging (#555) (95fe97d)
- react-grid: rename data processing plugins (#612) (468dde4)
- react-grid: rename DragDropContext to DragDropProvider (#611) (26d303e)
- react-grid: rename properties from allow* to *Enabled (#618) (6c291e8)
- react-grid: rename some group and paging properties (#581) (6300249)
- react-grid: specify typed columns directly in DataTypeProvider (#591) (6ed28e4)
- react-grid: swap args in the createRowChange function (#619) (1178ee1)
- react-grid: switch to column extensions in EditingState (#604) (d56b3f0)
- react-grid: switch to column extensions in LocalFiltering (#594) (955da48)
- react-grid: switch to column extensions in LocalGrouping (#601) (9efc007)
- react-grid: switch to column extensions in LocalSorting (#603) (08c96da)
- react-grid: switch to column extensions in TableGroupRow (#609) (373d4d8)
-
react-grid: We have moved the PagingState plugin's
totalCount
property to the CustomPaging plugin to improve API consistency. Now, you can add the CustomPaging plugin to a project and specify itstotalCount
property to implement remote paging.Before:
<Grid> <...> <PagingState totalCount={10} /> </Grid>
After:
<Grid> <...> <PagingState /> <CustomPaging totalCount={10} /> </Grid>
-
react-grid: To simplify working and make consistent API, some plugins properties have been renamed.
- The TableHeaderRow plugin's
allowGroupingByClick
property has been renamed toshowGroupingControls
. - The GroupingPanel plugin's
allowUngroupingByClick
property has been renamed toshowGroupingControls
. - The PagingPanel plugin's
allowedPageSizes
property has been renamed topageSizes
.
- The TableHeaderRow plugin's
-
react-grid: A column's
getCellValue
function has gotten higher priority than that defined in the Grid component. -
react-grid: The
createRowChange
function arguments order has been changed to(row: any, value: any, columnName: string)
to improve the API consistency. Now, the EditingState plugin'screateRowChange
function has the same signature as the column extension's one. -
react-grid: We have renamed the following plugins that process data to make the Grid API more consistent:
- LocalFiltering => IntegratedFiltering
- LocalGrouping => IntegratedGrouping
- LocalPaging => IntegratedPaging
- LocalSelection => IntegratedSelection
- LocalSorting => IntegratedSorting
-
react-grid: We removed the LocalSorting plugin's
getColumnIdentity
property to improve API consistency. Now, use the column extension'scriteria
property to specify an individual column's grouping criteria.Before:
const columns = [{ name: 'field' }, { name: 'field2' }]; const fieldGroupCriteria = /* custom group criteria */; const getColumnIdentity = (columnName) => { if (name === 'field') return fieldGroupCriteria; }; <Grid columns={columns}> <LocalGrouping getColumnIdentity={getColumnIdentity} /> </Grid>
After:
const columns= [{ name: 'field' }, { name: 'field2' }]; const fieldGroupCriteria = /* custom group criteria */; const integratedGroupingColumnExtensions = [ { columnName: 'field', criteria: fieldGroupCriteria }, ]; <Grid columns={columns}> <IntegratedGrouping columnExtensions={integratedGroupingColumnExtensions} /> </Grid>
-
react-grid: We removed the
cancel
argument from the SortingState plugin'ssetColumnSorting
action and from theonSort
event of the TableHeaderCellProps and GroupPanelItemProps component properties. Now, you can passnull
to thedirection
argument to cancel sorting by column. -
react-grid: The TableHeaderCellProps interface's
allowResizing
property has been renamed toresizingEnabled
to improve the API consistency. -
react-grid: We removed the
getColumnCompare
property from the LocalSorting plugin to improve API consistency. Now, use thecolumnExtension
property to specify individual column sorting options.Before:
const columns = [{ name: 'field' }, { name: 'field2' }]; const fieldCompare = /* custom sort compare */; const getColumnCompare = (columnName) => { if (name === 'field') return fieldCompare; }; <Grid columns={columns}> <LocalSorting getColumnCompare={getColumnCompare} /> </Grid>
After:
const columns= [{ name: 'field' }, { name: 'field2' }]; const fieldCompare = /* custom sort compare */; const integratedSortingColumnExtensions = [ { columnName: 'field', compare: fieldIdentity }, ]; <Grid columns={columns}> <IntegratedSorting columnExtensions={integratedSortingColumnExtensions} /> </Grid>
-
react-grid: We have integrated the column chooser into the Grid as a plugin to simplify the API. Now, use the column chooser as follows:
<Grid> {/* ... */} <TableColumnVisibility /* props */ /> <Toolbar /> <ColumnChooser /> </Grid>
For details, see Controlling Column Visibility.
-
react-grid: We extracted the column's
showWhenGrouped
property that the TableGroupRow plugin handles to a column extension to improve the API readability. The TableGroupRow plugin'sshowColumnsWhenGrouped
property type has been changed toboolean
and this property affects all columns. If you need to control specific columns' visibility, use column extensions.Before:
const columns = [{ name: 'field', showWhenGrouped: true }, { name: 'field2' }]; <Grid columns={columns}> <TableGroupRow /> </Grid>
After:
const columns= [{ name: 'field' }, { name: 'field2' }]; const tableGroupColumnExtensions = [ { columnName: 'field', showWhenGrouped: true }, ]; <Grid columns={columns}> <TableGroupRow columnExtensions={tableGroupColumnExtensions} /> </Grid>
Note that column extension properties have higher priority than corresponding plugin properties.
-
react-grid: We renamed the
DragDropContext
plugin toDragDropProvider
to improve API consistency. -
react-grid: We removed the
allowResizing
property from the TableHeaderRow plugin to simplify the API. Now, adding the TableColumnResizing plugin enables column resizing. -
react-grid: In order to improve API readability, we extracted the
width
andalign
column properties that the Table and VirtualTable plugins handle into a separate property. Now, thewidth
andalign
properties in the Gridcolumns
are no longer supported. Use a TableColumnExtension instead:Before:
const columns= [{ name: 'field', width: 100 }, { name: 'field2' }]; <Grid columns={columns}> <Table /> </Grid>
After:
const columns= [{ name: 'field1' }, { name: 'field2' }]; const tableColumnExtensions = [{ columnName: 'field1', width: 100 }]; <Grid columns={columns}> <Table columnExtensions={tableColumnExtensions} /> </Grid>
-
react-grid: In order to simplify API, we changed the way the DataTypeProvider plugin detects columns associated with a type. Now, to associate a custom formatter and editor with a column, pass a column array to the DataTypeProvider's
for
field:Before:
const columns= [{ name: 'field', dataType: 'boolean' }, { name: 'field2' }]; <Grid columns={columns}> <DataTypeProvider type="boolean" /> </Grid>
After:
const columns= [{ name: 'field1' }, { name: 'field2' }]; const booleanColumns = ['field1']; <Grid columns={columns}> <DataTypeProvider for={booleanColumns} /> </Grid>
-
react-grid: In order to improve API consistency, we've decided to replace the
getColumnPredicate
function in the LocalFiltering plugin with the LocalFilteringColumnExtension.Before:
const columns = [{ name: 'field' }, { name: 'field2' }]; const fieldPredicate = /* custom filtering predicate */; const getColumnPredicate = (columnName) => { if (name === 'field') return fieldPredicate; }; <Grid columns={columns}> <LocalFiltering getColumnPredicate={getColumnPredicate} /> </Grid>
After:
const columns= [{ name: 'field' }, { name: 'field2' }]; const fieldPredicate = /* custom filtering predicate */; const integratedFilteringColumnExtensions = [ { columnName: 'field', predicate: fieldPredicate }, ]; <Grid columns={columns}> <IntegratedFiltering columnExtensions={integratedFilteringColumnExtensions} /> </Grid>
-
react-grid: In order to simplify API, we've decided to remove allowDragging properties in TableHeaderRow and GroupingPanel plugins. Now, to enable dragging it is enough to add the DragDropContext plugin.
-
react-grid: To provide a more convenient and flexible way to render elements that are placed within a Grid header we add the Toolbar plugin. For this reason, the GroupingPanel plugin has the Toolbar dependency:
import { // ... Toolbar, GroupingPanel } from '@devexpress/dx-react-grid-material-ui'; <Grid> {/* ... */} <Toolbar /> <GroupingPanel /> </Grid>
To simplify Grid's markup we removed header placeholder and footer placeholder components. If you're customizing Grid appearance using the
headerPlaceholderComponent
andfooterPlaceholderComponent
properties, your code should be updated as follows: Before:<Grid headerPlaceholderTemplate={() => (<div />)} footerPlaceholderTemplate={() => (<div />)} > {/* ... */} </Grid>
After:
import { Template, TemplatePlaceholder } from '@devexpress/dx-react-core'; <Grid> <Template name="header"> <TemplatePlaceholder /> {/* Custom markup */} </Template> <Template name="footer"> <TemplatePlaceholder /> {/* Custom markup */} </Template> {/* ... */} </Grid>
-
react-grid: We extracted the column's
createRowChange
property that the EditingState plugin handles to a column extension to improve API readability.Before:
const columns = [{ name: 'field', createRowChange: (row, value) => { /* logic */ } }, { name: 'field2' }]; <Grid columns={columns}> <EditingState /> </Grid>
After:
const columns= [{ name: 'field' }, { name: 'field2' }]; const editingColumnExtensions = [ { columnName: 'field', createRowChange: (row, value) => { /* logic */ } }, ]; <Grid columns={columns}> <EditingState columnExtensions={editingColumnExtensions} /> </Grid>
Note that column extension properties have higher priority than corresponding plugin properties.
1.0.0-beta.2 (2017-12-14)
- grid-core: allow to place TableColumnVisibility after another table plugins (#557) (6788ba6)
- grid-core: fix problem when grouped columns are hidden (#562) (8fbc2c9)
- react-core: fix drag by mouse on a touch-enabled devices (#541) (fd9b7f9), closes #535
- react-core: remove redundant markup elements (#544) (f5e24a6)
- react-demos: fix the Featured Remote Data demo (#548) (35729d1)
- react-grid: clean drag-drop grouping variables (#479) (fdfab56)
- react-grid: get rid of console error during column dragging (#570) (c508953)
- react-grid: prevent click event propagation on detail toggle (#494) (f5b861b), closes #492
- react-grid-material-ui: correct header cell width (#536) (858ee1c)
- react-grid-material-ui: replace click action from Cell to CheckBox (#490) (8a12806)
- react-grid-material-ui: rework cell paddings (#480) (1bc29f2)
- react-grid: replace render functions with components in TableEditRow (#518) (9bc0993)
- react-grid: replace render functions with components in TableEditColumn (#522) (9273e04)
- react-grid: replace render functions with components in TableFilterRow (#512) (1b95ae5)
- react-grid: replace Watcher with the Getter (#545) (138c7c0)
- react-grid: get rid of internal seamless-immutable support (#556) (195ad79)
- react-grid: rename TableView and VirtualTableView components to Table and VirtualTable (#482) (3874da9)
- react-grid: replace render functions with components in Grid (#486) (cb409a1)
- react-grid: replace render functions with components in GroupingPanel (#540) (fbca230)
- react-grid: replace render functions with components in TableGroupRow (#511) (7d7d3a1)
- react-grid: replace render functions with components in TableHeaderRow (#508) (255e729)
- react-grid: replace render functions with components in TableRowDetail (#505) (844330b)
- react-grid: replace render functions with components in TableSelection (#502) (f9e3c88)
- react-grid: replace render functions with components in TableView (#485) (f5bd4e0)
- react-grid: split SelectionState to SelectionState and LocalSelection (#506) (e49ad0d)
- react-grid: split SelectionState to SelectionState and LocalSelection (#552) (be42695)
- react-grid-material-ui: get rid of the Paper wrapper (#487) (2e40de9)
- react-grid: add components for ColumnChooser (#543) (7c24c91)
- react-grid: add components for DragDropContext plugin (#526) (49d9662)
- react-grid: add components for the Grid component (#553) (314f0d8)
- react-grid: add components for the GroupingPanel plugin (#565) (e79ba9c)
- react-grid: add components for the PagingPanel plugin (#542) (3d226bb)
- react-grid: add components for the Table plugin (#516) (37b4393)
- react-grid: add components for the TableColumnVisibility plugin (#539) (2d12091)
- react-grid: add components for the TableEditColumn plugin (#534) (a24a9ce)
- react-grid: add components for the TableEditRow plugin (#529) (5615ecf)
- react-grid: add components for the TableFilterRow plugin (#523) (06afae1)
- react-grid: add components for the TableGroupRow plugin (#520) (dc9903c)
- react-grid: add components for the TableRowDetail plugin (#538) (a721d36)
- react-grid: add components for the TableSelection plugin (#521) (4574aaf)
- react-grid: add components for the VirtualTable plugin (#566) (d67ec6f)
- react-grid: add table header row & cell components (#507) (826cda8)
-
react-core: To get rid of redundant 'div' elements in markup, we have updated the minimum React version the grid requires to 16.2.0.
-
react-grid: Some times ago, we created a pull request that allows using our React Grid with the seamless-immutable library. The main change is that we switched from the
Array.prototype.slice()
function to theArray.from()
one to copy arrays. It was not a good decision, becauseArray.from()
is slower thanArray.prototype.slice()
. Now we return back toArray.prototype.slice()
for performance reasons.If you are using the seamless-immutable library, change your code as follows:
const state = { data: Immutable({ selection: [], }) }; <Grid> { /* ...*/ } <SelectionState // selection: this.state.data.selection -> before selection: this.state.data.selection.asMutable() // now /> </Grid>
The related guide is updated as well.
-
react-grid-material-ui: To make Grid for Material-UI more flexible we've stopped using the Paper component inside the Grid's layout. It allows placing our Grid to an existing Paper with other components. For example:
<Paper> <Button>Products</Button> <Button>Customers</Button> <Button>Sales</Button> <Grid /* ... */ > {/* ... */} </Grid> </Paper>
-
react-grid: To simplify working with selection features and make the selection plugin's purposes clearer, the functionality that computes the selection state has been moved from the
SelectionState
plugin to theLocalSelection
one:- The
availableToSelect
getter has been deleted from theSelectionState
plugin, while theselectAllAvailable
,allSelected
, andsomeSelected
getters have been added to theLocalSelection
plugin. - The
SelectionState
plugin'ssetRowsSelection
action has been renamed totoggleSelection
. - The
selection
getter's return value type has been changed toSet
. - The default value of the
TableSelection
plugin'sshowSelectAll
property has been changed tofalse
.
Both plugins are available from the
@devexpress/dx-react-grid
package. Note thatLocalSelection
should be linked afterSelectionState
if you use theTableSelection
plugin. - The
-
react-core: To simplify working with plugins, we have got rid of the Watcher. Now, you can use a Getter instead.
Before:
... <Watcher watch={ getter = getter('someGetter') } onChange={(action, someGetter) => { action('someAction')(someGetter); }} /> ...
After:
... <Getter name="someGetter" computed={(getters, actions) => { actions.someAction(getters.someGetter); return getters.someGetter; }} /> ...
-
react-grid: Such plugin names as
TableView
andVirtualTableView
don't correspond to other plugins likeTableFilterRow
,TableGroupRow
,TableSelection
, which do not have "view" in their names. To keep the names of plugins consistent, the following changes have been introduced:- the
TableView
plugin has been renamed toTable
; - the
VirtualTableView
plugin has been renamed toVirtualTable
;
- the
-
react-grid: The TableEditRow plugin's
editCellTemplate
, andeditRowTemplate
properties have been replaced withcellComponent
, androwComponent
ones, which accept components instead of render functions. Find more details here: #496 -
react-grid: The GroupingPanel plugin's
groupPanelTemplate
, andgroupPanelItemTemplate
properties have been replaced withcontainerComponent
, anditemComponent
ones, which accept components instead of render functions. Find more details here: #496containerComponent
takes on thechildren
property instead of all arguments passed to thegroupPanelTemplate
function.The
onSort
, andonGroup
properties passed toitemComponent
are used instead of thechangeSortingDirection
, andgroupByColumn
arguments passed to thegroupPanelItemTemplate
function. Theitem
, anddraft
properties are no longer available, use theitem
property instead. -
react-grid: The TableEditColumn plugin's
commandTemplate
,cellTemplate
andheadingCellTemplate
properties have been replaced withcommandComponent
,cellComponent
, andheaderCellComponent
ones, which accept components instead of render functions. Find more details here: #496Properties passed to a component returned from
commandComponent
have the same names as arguments passed to thecommandTemplate
function with the following exception. TheonExecute
property is used instead of theexecuteCommand
argument.All properties passed to the
cellComponent
exceptrow
have been replaced by thechildren
property providing configured commands.All properties passed to the
headingCellComponent
have been replaced by thechildren
property providing configured commands. -
react-grid: The TableGroupRow plugin's
groupIndentColumnWidth
property has been renamed toindentColumnWidth
. ThegroupCellTemplate
,groupRowTemplate
andgroupIndentCellTemplate
properties have been replaced withcellComponent
,rowComponent
, andindentCellComponent
ones, which accept components instead of render functions. Find more details here: #496Properties passed to
cellComponent
have the same names as arguments passed to thegroupCellTemplate
function with the following exceptions:- The
onToggle
property is used instead of thetoggleGroupExpanded
argument. - The
expanded
property is used instead of theisExpanded
argument.
- The
-
react-grid: The TableFilterRow plugin's
filterCellTemplate
andfilterRowTemplate
properties have been replaced withcellComponent
, androwComponent
ones, which accept components instead of render functions. Find more details here: #496Properties passed to
cellComponent
have the same names as arguments passed to thefilterCellTemplate
function except for theonFilter
property, which is used instead of thesetFilter
argument. -
react-grid: The TableHeaderRow's
headerCellTemplate
, andheaderRowTemplate
properties have been replaced withcellComponent
, androwComponent
, which accept components instead of render functions. Find more details here: #496Properties passed to
cellComponent
have the same names as arguments passed to theheaderCellTemplate
function with the following exceptions: theonSort
,onGroup
,onWidthChange
andonDraftWidthChange
properties are used instead of thechangeSortingDirection
,groupByColumn
,changeColumnWidth
andchangeDraftColumnWidth
arguments respectively. -
react-grid: The TableRowDetail plugin's
detailToggleCellWidth
property has been renamed totoggleColumnWidth
. Thetemplate
,detailCellTemplate
,detailRowTemplate
, anddetailToggleCellTemplate
properties have been replaced withcontentComponent
,cellComponent
,rowComponent
, andtoggleCellComponent
ones, which accept components instead of render functions. Find more details here: #496Properties passed to
cellComponent
have the same names as arguments passed to thedetailCellTemplate
function except for thechildren
property, which is used instead of thetemplate
argument.Properties passed to
toggleCellComponent
have the same names as arguments passed to thedetailToggleCellTemplate
function except for theonToggle
property, which is used instead of thetoggleExpanded
argument. -
react-grid: The TableSelection plugin's
highlightSelected
property has been renamed tohighlightRow
. TheselectCellTemplate
andselectAllCellTemplate
properties have been replaced withcellComponent
, andheaderCellComponent
ones, which accept components instead of render functions. Find more details here: #496Properties passed to
headerCellComponent
have the same names as arguments passed to theselectAllCellTemplate
function with the following exceptions:- The
onToggle
property is used instead of thetoggleAll
argument. - The
disabled
property is used instead of theselectionAvailable
argument and it's value is inverted.
Properties passed to
cellComponent
have the same names as arguments passed to theselectCellTemplate
function except for theonToggle
property, which is used instead of thechangeSelected
argument. - The
-
react-grid: The Table's
tableLayoutTemplate
,tableCellTemplate
,tableRowTemplate
,tableNoDataCellTemplate
,tableNoDataRowTemplate
,tableStubCellTemplate
, andtableStubHeaderCellComponent
properties have been replaced withlayoutComponent
,cellComponent
,rowComponent
,noDataCellComponent
,noDataRowComponent
,stubCellComponent
andstubHeaderCellComponent
. This also means that they accept components instead of render functions. Find more details here: #496 -
react-grid: The Grid's
rootTemplate
,headerPlaceholderTemplate
, andfooterPlaceholderTemplate
properties have been replaced withrootComponent
,headerPlaceholderComponent
, andfooterPlaceholderComponent
. This also means that they accept components instead of render functions. Find more details here: #496The
headerTemplate
,bodyTemplate
, andfooterTemplate
properties have been replaced with thechildren
property inrootTemplate
.
1.0.0-beta.1 (2017-11-10)
- react-grid: cancel find of nested groups within an empty childRows array (#460) (c1c3982)
- react-grid: correct focus behavior when switching to row edit mode (#455) (aceada7)
- react-grid: repair group rows keys (#456) (f3021b9)
- react-grid-bootstrap3: adjust vertical align of controls inside cells (#466) (d982f31)
- react-grid-material-ui: normalize checkboxes size (#450) (10b61d9)
- react-grid-material-ui: normalize heights of rows with checkboxes (#445) (123ed27)
- react-grid: export TableColumnResizing from theme packages (#438) (4be4ebf)
- rect-grid: refactor table column reordering (#424) (dc28366), closes #154
- react-grid: add localization messages (#385) (c7581bd)
- react-grid: add the capability to filter/sort grouped rows (#443) (292d429)
- react-grid: allow to change sorting of the grouped columns by keyboard (#461) (e50c973)
- react-grid: allow to focus each column and change sorting (#448) (0550848)
- react-grid: rework virtual table (#454) (b28e365), closes #33 #280 #401
- react-grid: support expanding/collapsing detail rows with keyboard (#446) (47ab49d)
- react-grid: support expanding/collapsing group rows with keyboard (#439) (4176d9a)
-
rect-grid: The
ColumnOrderState
plugin has been renamed toTableColumnReordering
and is now available via the@devexpress/dx-react-grid-bootstrap3
and@devexpress/dx-react-grid-material-ui
packages.The
TableView
plugin'sallowColumnReordering
property has been removed and theTableColumnReordering
plugin now depends on theTableView
plugin. Thus, it is enough to link theTableColumnReordering
plugin below theTableView
plugin to enable column reordering.Before:
import { // ... ColumnOrderState } from '@devexpress/dx-react-grid'; // ... <ColumnOrderState defaultOrder={[/* ... */]} /> <TableView allowColumnReordering />
After:
import { // ... TableColumnReordering } from '@devexpress/dx-react-grid-bootstrap3'; // } from '@devexpress/dx-react-grid-material-ui'; // ... <TableView /> <TableColumnReordering defaultOrder={[/* ... */]} />
-
react-grid: The TableColumnResizing plugin is now available in the "@devexpress/dx-react-grid-bootstrap3" and "@devexpress/dx-react-grid-material-ui" packages.
Use the following code to import the plugin.
import { TableColumnResizing, } from from '@devexpress/dx-react-grid-bootstrap3'/* or '@devexpress/dx-react-grid-material-ui' */;
1.0.0-alpha.14 (2017-10-25)
- react-grid: remove header cell title offset if grouping by click isn't allowed (#434) (60285d4), closes #432
- react-grid-bootstrap3: do not allow to focus column chooser item checkbox (728ea23)
1.0.0-alpha.13 (2017-10-19)
- react-grid: remove a redundant SelectionState dependency on LocalGrouping (#429) (50ee891), closes #428
1.0.0-alpha.12 (2017-10-19)
- react-grid: add 'overflow: hidden' for MUI TableCell (#406) (69fd88c), closes #403
- react-grid: allow to use Grid with react@16 (#389) (9f292fe)
- react-grid: correlate sorting order with grouping order (#414) (db3377c), closes #398
- react-grid: optimize table selection rendering (#412) (b0dfae1), closes #397
- react-grid-bootstrap3: fix server side rendering issue with VirtualTable (#420) (207e81b), closes #415
-
react-grid: The
scope
parameter of thesetColumnSorting
action has been removed.The
GroupingState
plugin now has an optional dependency on theSortingState
plugin. So,GroupingState
should be placed afterSortingState
.Before:
<GroupingState /* ... */ /> <SortingState /* ... */ />
After:
<SortingState /* ... */ /> <GroupingState /* ... */ />
1.0.0-alpha.11 (2017-10-04)
- react-core: update TemplatePlacholder on placeholder func change (#370) (69659c8)
- react-grid: add 'pointer' cursor on group icon in the HeaderCell (#369) (8d1de4a)
- react-grid: change custom filtering function signature (#354) (67cfdc9)
- react-grid: rename getCellData to getCellValue (#349) (8f8e41d)
- react-grid: add custom grouping functions to LocalGrouping (#376) (2c31af1)
- react-grid: add the functionality to define a custom sorting algorithm (#371) (4ac8ab8)
- react-grid: support column data types (#336) (1528800)
- react-grid: optimize internal state calculation (#356) (be890b4)
- react-grid: suppress redundant render (#355) (695aacd)
- react-grid: The
filterFn
property of theLocalFiltering
has been renamed togetColumnPredicate
. The argument list has been changed fromfilterFn(row: Row, filter: Filter) => boolean
togetColumnPredicate(columnName: string) => Function
. The returning function has the following signature(value: any, filter, row: Row) => boolean
. - react-grid: The
getCellData
property of the TableView plugin and thegetCellData
field of the Column interface have been renamed togetCellValue
.
1.0.0-alpha.10 (2017-09-18)
- react-core: remove embedded Template connection (#331) (f90955d)
- react-grid: rename tableTemplate to tableLayoutTemplate (#310) (def4a97)
- react-core: implement TemplateConnector (#314) (1e9bcfc)
- react-grid: add tableRowTemplate to the TableView plugin (#317) (24d9446)
- react-grid: implement row templates (#333) (bc960d4)
- react-grid: implement table column resizing (#297) (a377d3c)
- react-grid: make grouped and ungrouped column sorting independent (#292) (c812fa3)
- react-grid: The
tableExtraProps
getter was removed from theTableView
andTableSelection
plugins. - react-core:
connectGetters
andconnectActions
properties have been removed from the Template component. From now on, you can connect Getters and Actions using the TemplateConnector component.
Before:
<Template name="templateName"
connectGetters={getter => ({ value: getter('value') })}
connectActions={action => ({ changeValue: action('changeValue') })}
>
{({ value, changeValue }) => /* ... */}
</Template>
After:
<Template name="templateName">
<TemplateConnector>
{({ value }, { changeValue }) => /* ... */}
</TemplateConnector>
</Template>
- react-grid: The
tableTemplate
property has been renamed totableLayoutTemplate
to make theTableView
plugin API more eloquent.
1.0.0-alpha.9 (2017-09-04)
- react-grid: display a correct message in an empty grouping panel (#274) (46b5291)
- react-grid: fix the editing state mutation (#279) (a120730)
- react-grid: update MUI to the 1.0.0-beta.6 version (#275) (9032c34), closes #271
- react-grid: update MUI to the 1.0.0-beta.7 version (#296) (7d7d649)
1.0.0-alpha.8 (2017-08-21)
- react-grid: correct pager rendering within an empty grid (#251) (eb13a8b)
- react-grid: get rid of the exception thrown on a column ungrouping by drag and drop (#260) (8fc2990)
- react-grid: preserve group panel height when no grouping is specified (#261) (9116e92)
- react-grid: change TableRow and TableColumn interfaces structure (#227) (5288a9f)
- react-grid: merge the setRowSelection and setRowsSelection actions (#233) (876a2c6)
- react-grid: remove redundant getters from GroupingState (#244) (1fb21ca)
- react-grid: rename colspan to colSpan (#248) (afc69e9)
- react-grid: wrap group panel column data (#267) (156392b)
- react-core: rework Getter (#259) (4fd5f9b)
- react-grid: adopt PluginContainer dependencies in Grid plugins (#249) (016f618)
- react-grid: provide the custom data accessors capability (#264) (5f699bf), closes #176
-
react-grid: The following changes have been made in the GroupingPanel plugin:
- the
groupPanelCellTemplate
property has been renamed togroupPanelItemTemplate
; - the
groupedColumns
property has been renamed togroupingPanelItems
and now contains an array of objects which conform the GroupingPanelItem interface.
The
isDraft
property of the DraftGrouping interface has been renamed todraft
. - the
-
react-grid: In order to reduce API verbosity, the
groupedColumns
anddraftGroupedColumns
getters are no longer exported from the GroupingState plugin. Thecolumn
field is no longer present in the GroupRow interface. So, to access thecolumn
field in groupCellTemplate and groupIndentCellTemplate of the TableGroupRow plugin, it is necessary to useargs.column
instead ofargs.row.column
. -
react-grid: The
colspan
field passed to tableNoDataCellTemplate (the TableView plugin), detailCellTemplate (the TableRowDetail plugin) and groupCellTemplate (the TableGroupRow plugin) has been renamed tocolSpan
. -
react-grid: To simplify the Grid plugins API the
setRowSelection
action was removed from theSelectionState
andTableSelection
plugins.For now, to select a single row you can use the
setRowsSelection
action in the following manner:setRowsSelection({ rowIds: [/* rowId */] })
-
react-grid:
TableRow
andTableColumn
interfaces structure has been changed. Now, it wraps original rows and columns of the Grid component instead of patching it.Before:
interface TableRow extends Row { type?: string; } interface TableColumn extends Column { type?: string; }
After:
interface TableRow { key: string; type: string; rowId?: number | string; row?: Row; height?: number; } interface TableColumn { key: string; type: string; column?: Column; width?: number; }
The
CommandHeadingCellArgs
interface related to the TableEditColumn plugin no longer hascolumn
androw
fields.
1.0.0-alpha.7 (2017-08-07)
- react-grid: allow TableGroupRow to be placed before other table plugins (#221) (bdc81a0)
- react-grid: correct 'All' page size text rendering in MUI (#242) (6bde2dd)
- react-grid: fix grouping if TableGroupRow is placed before any other table plugin (#218) (7e09c7e)
- react-grid: pass style field to editCellTemplate of TableEditRow (#235) (c45ef85), closes #234
- react-grid: prevent group panel cells blinking while dragging (#223) (786206d)
- react-grid: remove extra space at the right of GroupPanelCell when sorting is disabled (#220) (257a337)
- react-grid: use correct cursors for dragging (#224) (6269063)
- react-grid-material-ui: support indeterminate state for the select all checkbox (#231) (6a5aab3)
- react-grid: In order to improve API transparency, the most recently added row will be added to the end of the addedRows property of the EditingState plugin.
- react-grid-material-ui: UMD bundle for the
@devexpress/dx-react-grid-material-ui
package is no longer provided - react-grid: Arguments of the
setPageSize
andsetCurrentPage
actions were simpilified. Now, to call these actions, a user can usenumbers
instead ofobjects
. See the following code:andsetPageSize(5); // instead of setPageSize({ size: 5 })
setCurrentPage(1); // instead of setCurrentPage({ page: 1 })
1.0.0-alpha.6 (2017-07-24)
- react-core: prevent scrolling while dragging (#207) (e3e18a9)
- react-grid: clear expanded groups after ungrouping (#202) (d97809e)
- react-grid: remove the totalPages getter from the PagingState plugin (#195) (e231d63)
- react-grid: throw error if the count of title rows exceeds the page size (#193) (8abde20)
- react-grid: turn edit cell input into the controlled mode (#201) (af26c64)
- react-grid-material-ui: pin material-ui version (#197) (34e6ddb)
- fix versions in distrubutives (#208) (7c2f9da)
- react-grid-material-ui: use correct typography for the drag preview (#214) (e1a134d)
- react-grid: The TableHeaderRow plugin's
allowGrouping
property has been renamed toallowGroupingByClick
. - react-grid: The
totalPages
getter is no longer exported from the PagingState and LocalPaging plugins.
1.0.0-alpha.5 (2017-07-07)
- react-grid: add grid bottom offset in Material-UI (#180) (48f12a2)
- react-grid: add group icon offset in Material-UI (#171) (43d9da1)
- react-grid: limit filterCellTemplate arguments (#163) (2a4f003)
- react-grid: reset a column filter when clearing the filter editor value (#184) (83b321c), closes #136
- react-grid: use MUI Chips for group panel items rendering (#168) (45ceb12)
- react-grid: introduce column reordering animation (#169) (d5e808b)
- react-grid: introduce Material-UI templates (closes #93)
- react-grid: Use the
groupPanelCellTemplate
property of the grouping-panel plugin instead of the GroupPanelProps interface'scellTemplate
property to specify a template used to render a grouping panel cell. The GroupPanelProps interface'scellTemplate
property is no longer available.
1.0.0-alpha.4 (2017-06-23)
- react-grid: Add a vertical space between grouping buttons (#151) (ec1bd30)
- react-grid: Add an offset for left column in Material-UI (#156) (67d0eda)
- react-grid: Fix incorrect table layout if all columns have fixed width (#160) (b933aea)
- react-grid: Put the dx-react-grid dependencies in order (#148) (fe60801)
- react-grid: Update deps (fixes #134) (#139) (5bf504a)
- react-grid: Rename detailToggleTemplate to detailToggleCellTemplate (#146) (bd49b0e)
- react-grid: Rename groupColumnWidth to groupIndentColumnWidth (#145) (e78b55f)
- react-grid: Rename groupRowCellTemplate to groupCellTemplate (#153) (fec0aac)
- react-grid: Ability to show all rows on a page via page size selector (#150) (8af3dde)
- react-grid: Implement column reordering (#128) (1de1c63)
- react-grid: TableView support stub cell rendering if no data for cell is provided (#155) (34dee6c)
-
react-grid: The following package has become a peer dependency of the
@devexpress/dx-react-grid
one and has to be installed by your app:npm i --save @devexpress/dx-react-core
-
react-grid: The 'groupRowCellTemplate' property of the TableGroupRow plugin has been renamed to 'groupCellTemplate'
-
react-grid: We renamed the
detailToggleTemplate
property of the TableRowDetail plugin todetailToggleCellTemplate
to make it consistent with thedetailToggleCellWidth
property. -
react-grid: The groupColumnWidth property of the TableGroupRow plugin has been renamed to groupIndentColumnWidth to avoid possible confusion of what it is responsible for.
1.0.0-alpha.3 (2017-06-09)
- react-grid: Cancel sorting by using the Ctrl key in Material-UI (#129) (2508537)
- react-grid: Treat templates as functions (#120) (4b2c490)
- react-grid: Controlled state featured demo for Material-UI (#130) (2528c67)
- react-grid: Implement ColumnOrderState plugin (#111) (b3284f0)
- react-grid: Implement DragDropContext plugin (#117) (31f6b2d)
- react-grid: Introduce Material-UI templates (#102) (70975a7)
- react-grid: Material-UI detail row (#115) (c161c66)
- react-grid: Material-UI editing (#124) (3d9a00b)
- react-grid: Material-UI featured uncontrolled state demo (#126) (8e1d80b)
- react-grid: Material-UI filtering (#109) (5484942)
- react-grid: Material-UI pager (#108) (99f30b6)
- react-grid: Mobile-friendly pager (#125) (23ec7f0)
- react-grid: Redux integration demo for Material-UI (#132) (9988355)
- react-grid: Remote data featured demo for Material-UI (#131) (41b64b2)
- react-grid: Use column name if its title is not specified (#121) (daef7db)
-
react-grid: We moved layout templates from the TableView plugin to the Grid component. The Grid component with the predefined plugins is now available in the "@devexpress/dx-react-grid-bootstrap3" package. If you want to define custom layout templates, the Grid component without predefined templates is still available in the "devexpress/dx-react-grid" package.
The following code:
import { Grid } from '@devexpress/dx-react-grid';
should be replaced with:
import { Grid } from '@devexpress/dx-react-grid-bootstrap3';
1.0.0-alpha.2 (2017-05-26)
- demos: Change initial page size in remote demo (#103) (aa64e3c)
- docs: Don't use relative links in the package root readme.md (#91) (6863e73)
- react-grid: Cancel column grouping in FireFox (#98) (8fb9c52), closes #30
- react-grid: Cancel sorting by using the Ctrl key (#96) (0d804f4)
- react-grid: Implement page size selector (#95) (9e21583)
-
Previously, to enable the 'Detail row' feature a user had to use only the 'TableRowDetail' plugin. But, this plugin mixed up the rendering and state managing functionality. Now, there are two particular plugins. The first one is the 'RowDetailState' plugin. It's responsible for a state managing. The second one is the 'TableRowDetail' plugin. It only renders a detail row.
The following code:
<TableRowDetail expandedRows={expandedRows} onExpandedRowsChange={onExpandedRowsChange} template={({ row }) => <GridDetailContainer data={row} columns={detailColumns} /> } />
should be replaced with:
<RowDetailState expandedRows={expandedRows} onExpandedRowsChange={onExpandedRowsChange} /> <TableRowDetail template={({ row }) => <GridDetailContainer data={row} columns={detailColumns} /> } />
- Initial public release