Skip to content

Latest commit

 

History

History
2789 lines (1808 loc) · 201 KB

CHANGELOG.md

File metadata and controls

2789 lines (1808 loc) · 201 KB

2.7.4 (2020-12-24)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Bug Fixes

  • chart-core: add handler only when window exists (#3091) (c8354b3)

Performance Improvements

2.7.1 (2020-08-25)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Features

  • react-grid: remove blank row between customized header and table (#2961) (1b9ac67)
  • react-scheduler: add Enhanced Rendering for Overlapped Events/Appointments feature (#2889) (e7812cb)

Performance Improvements

2.6.4 (2020-06-19)

Bug Fixes

  • 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)

Features

  • react-scheduler: add capability to set up auto-scroll speed (#2939) (ed7504e)

2.6.3 (2020-05-14)

Bug Fixes

  • 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 and exportGrid 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)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Features

2.5.1 (2020-03-11)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Features

  • react-grid: allow data export in excel format (#2631) (3030d5d)

2.4.1 (2020-02-20)

Bug Fixes

  • 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)

Features

  • 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)

Bug Fixes

  • 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)

Features

  • 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)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Features

  • react-grid: allow showing group summary in a group row (#1738) (71b14a4)

2.3.0 (2019-11-22)

Bug Fixes

  • 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)

Features

  • 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)

Bug Fixes

  • 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)

Features

  • 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)

Bug Fixes

  • 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)

Features

  • 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)

BREAKING CHANGES

  • react-scheduler: The DayView and WeekView plugins now do not have the timeScaleRowComponent and timeScaleCellComponent properties. Instead, they have a new, timeScaleLabelComponent, property.
...
<WeekView
-  timeScaleRowComponent
-  timeScaleCellComponent
+  timeScaleLabelComponent
/>
<DayView
-  timeScaleRowComponent
-  timeScaleCellComponent
+  timeScaleLabelComponent
/>
...
  • react-scheduler: We have extended the headerComponent and contentComponent in the AppointmentTooltip 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)

Bug Fixes

  • 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)

Features

  • 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)

Bug Fixes

  • 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)

Bug Fixes

  • 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

Features

  • react-grid: implement Inline Cell Editing (#2302) (27be87f)
  • react-scheduler: add capability to edit recurrent appointments to appointment form (#2205) (da2c36a), closes #2203

BREAKING CHANGES

  • react-scheduler: The AppointmentForm plugin now doesn't have the popupComponent, containerComponent, scrollableAreaComponent and staticAreaComponent 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 and WeekView plugins now do not have firstDayOfWeek property. It was moved to the Scheduler plugin.
<Scheduler
+  firstDayOfWeek={firstDayOfWeek}
>
  <MonthView
-    firstDayOfWeek={firstDayOfWeek}
  >
  <WeekView
-    firstDayOfWeek={firstDayOfWeek}
  >
   ...
</Scheduler>

2.0.5 (2019-09-16)

Bug Fixes

  • 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)

Features

  • 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)

Bug Fixes

  • 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)

Features

  • react-scheduler: add capability to edit recurring appointments (#2168) (c726b6a), closes #2202

BREAKING CHANGES:

  • react-scheduler: Editing logic for recurrent appointments was removed from the EditingState plugin. Now, editing requires the EditingState, and either the IntegratedEditing or the EditRecurrenceMenu 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)

Bug Fixes

  • 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)

Features

  • react-grid: allow setting min and max width limitation for every column (#2207) (dc72916)

2.0.2 (2019-08-01)

Bug Fixes

  • 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)

Performance Improvements

  • react-scheduler: optimize render using React.memo (#2169) (52a877c)

BREAKING CHANGES

  • react-scheduler: DayView plugin's, WeekView plugin's and MonthView plugin's layout component now doesn't have the height property. height is now Scheduler 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)

Bug Fixes

  • 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)

Performance Improvements

  • react-grid: optimize render using React.memo (#2137) (bd65d53)

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.

Bug Fixes

  • 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)

Code Refactoring

  • react-scheduler: add display name to views (#2134) (4c20034)
  • react-scheduler: transfer DOM operations into theme package (#2068) (c851a48)

Features

BREAKING CHANGES

  • react-scheduler: ViewSwitcher plugin's switcher component now doesn't have the currentViewName and availableViewNames properties. To specify the current view name use currentView property consisting of 2 fields: name and displayName. To provide available views, use availableViews property, which is an array of elements with name and displayName 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 the allDayPanel property. To specify cell elements use setCellElementsMeta property.
...
<AllDayyPanel
  layoutComponent={({
-   allDayPanelRef,
+   setCellElementsMeta,
     ...restProps
  }) => (
    <AllDayPanel.Layout>
-      allDayPanelRef={allDayPanelRef}
+      setCellElementsMeta={setCellElementsMeta}
       {...restProps}
    />
  )}
/>
...
  • react-chart: The x, y, and y1 properties in series points' coordinates have been renamed to arg, val, and startVal respectively. The old names were unsuitable in the case when the chart was rotated.

1.11.1 (2019-06-14)

Bug Fixes

  • 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)

Features

  • 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)

Bug Fixes

  • 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)

Features

  • react-scheduler: support scheduler localization capability (#1985) (286003e)

BREAKING CHANGES

  • react-chart: We have replaced the dominantBaseline option with the dy option for axis labels because Edge does not support the former. The dy option does not change the baseline position and simply shifts text up or down.

1.11.0-beta.1 (2019-04-24)

Bug Fixes

  • 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)

Features

  • 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)

Performance Improvements

BREAKING CHANGES

  • react-scheduler: The Appointment component of the Appointments plugin has not received a style property. These styles have passed to the Container component of the Appointments 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)

Features

  • react-scheduler: add editing by dragging (#1870) (238f696)

1.10.4 (2019-03-11)

Bug Fixes

  • react-core: correct IDependency definition (#1891) (c9d0f44)
  • react-grid: correct typescript definitions (#1876) (404a239)

1.10.3 (2019-02-27)

Bug Fixes

1.10.2 (2019-02-27)

Bug Fixes

  • 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)

Code Refactoring

  • 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)

Bug Fixes

  • 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)

Code Refactoring

  • react-chart: move point coordinates calculations specifics down to the pointComponent (#1753) (fde7756)

Features

  • react-grid: throw warning if getRowId returns undefined (#1679) (d10397e)

Performance Improvements

  • react-core: optimize position context calculation (#1813) (b2ea6e7)

BREAKING CHANGES

  • react-chart: Previously, pointComponent of BarSeries and PieSeries accepted precalculated fields (width and d, respectively). Now, pointComponent accepts fields that provide raw data for calculation. This makes pointComponent more flexible as the width and d fields can now be calculated the way you need.

    The following substitutions took place:  

    • width => barWidth and maxBarWidth
    • d => innerRadius, outerRadius, maxRadius, startAngle, and endAngle

1.10.0 (2018-12-25)

Bug Fixes

  • 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)

Code Refactoring

  • 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)

BREAKING CHANGES

  • react-chart: Previously the ArgumentAxis, ValueAxis, and Scale plugins allowed you to customize argument and value scales. In this release, we have implemented the ArgumentScale and ValueScale plugins for this purpose.

  • react-chart: The showGrids Axis property is renamed to showGrid.

  • react-chart: The min and max scale properties are replaced with the modifyDomain 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)

Bug Fixes

  • 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)

Code Refactoring

  • 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)

Features

  • 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)

BREAKING CHANGES

  • react-scheduler: We have changed the onChange function's argument type to make the ViewSwitcher'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 the DateNavigator's API more clear.

    Previously:

    onNavigate({ back: boolean }) => void
    

    Now:

    onNavigate(direction: 'forward' | 'back') => void
    
  • react-chart:

  1. In the ArgumentAxis and ValueAxis plugins lineComponent and tickComponent render identical svg-path elements. Previously, they require different properties for drawing: width and height for lineComponent and x1, x2, y1, y2 for tickComponent. Now, for more consistency the lineComponent requires the same properties as tickComponent.

  2. Previously, there were ArgumentGrid and ValueGrid 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)

Bug Fixes

  • 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)

Features

  • react-scheduler: add the React Scheduler component
  • react-chart: add animation plugin (#1469) (3c41352)
  • update dependencies (#1542) (f32f1b2)

Code Refactoring

  • react-chart: remove "groupWidth" property from BarSeries (0a15e87)

BREAKING CHANGES

  • 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 the Scale plugin as follows:
<Scale extensions={[{ type: 'band', constructor: d3.scaleBand().paddingOuter(0.1).paddingInner(0.2) }]} />

1.8.0 (2018-10-04)

Bug Fixes

  • 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

Features

  • 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)

BREAKING CHANGES

  • react-chart: Previously, there was a single Grid plugin. Now there are ArgumentGrid and ValueGrid 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)

Bug Fixes

  • 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)

Features

BREAKING CHANGES

  • react-grid: Because we extracted the sorting control, the getMessage property was moved from the TableHeaderRow.CellProps interface to TableHeaderRow.SortLabelProps. This property returns the sort label's text.

1.7.2 (2018-08-31)

Bug Fixes

1.7.1 (2018-08-31)

Bug Fixes

  • 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)

Bug Fixes

Chores

BREAKING CHANGES

  • 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)

Bug Fixes

1.6.0 (2018-08-17)

Bug Fixes

  • 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

Features

  • 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)

Bug Fixes

  • react-grid: fix incorrect filter operation updating (#1270) (ed9fa16), closes #1269

1.5.0 (2018-07-26)

Bug Fixes

  • 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)

Features

  • 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)

Performance Improvements

BREAKING CHANGES

  • react-chart: The 'SeriesFamily' plugin has been renamed to 'Stack' to make it meaning more transparent.

1.4.0 (2018-06-22)

Bug Fixes

Features

  • 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)

Performance Improvements

1.3.0 (2018-06-04)

Bug Fixes

  • 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)

Features

  • react-grid: support filtering operations (#976) (5151d78)

1.3.0-beta.2 (2018-05-24)

Bug Fixes

1.3.0-beta.1 (2018-05-16)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Features

  • 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)

Performance Improvements

  • react-grid: optimize column resizing (#878) (b3f264b)

1.2.0-beta.3 (2018-04-28)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Features

  • react-grid: support column virtualization (#892) (67dc486)

1.2.0-beta.1 (2018-04-12)

Bug Fixes

  • 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)

Features

  • 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)

Performance Improvements

  • react-grid: optimize column resizing (#878) (b3f264b)

1.1.2 (2018-04-11)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Bug Fixes

  • react-grid-bootstrap4: fix the 'Nothing to show' message (#816) (34167bb)
  • react-grid-bootstrap4: get rid cursor poiner on disabled item (#799) (1d59052)

Features

  • 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)

Bug Fixes

  • react-grid: fix empty message styles (#776) (f814360)

Features

  • react-grid-bootstrap4: support the bootstrap4 theme (#681) (c3d58f0)

1.0.3 (2018-03-02)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Features

  • 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)

Bug Fixes

  • 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)

Code Refactoring

  • react-core: rename PluginContainer to Plugin (#712) (30734d8)
  • react-grid: rename expanded details getter (#713) (771eb3f)

BREAKING CHANGES

  • react-core: The PluginContainer component has been renamed to Plugin.
  • react-grid: The expandedRowIds getter of the RowDetailState plugin has been renamed to expandedDetailRowIds.

1.0.0-rc.2 (2018-01-26)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Code Refactoring

  • 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)

BREAKING CHANGES

  • react-grid: The draftGrouping getter does not contain information about draft mode anymore. The draftGroupingChange, and cancelGroupingChange actions have been renamed to draftColumnGrouping, and cancelColumnGroupingDraft.

  • react-grid: The type of the TableColumnResizing plugin's columnWidths and defaultColumnWidths 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 to draftTableColumnWidth. The functionality that resets draft column width has been moved from from the draftTableColumnWidth action into the separate cancelTableColumnWidthDraft action.

    The onDraftWidthChange event of the TableHeaderRow's cellComponent has been renamed to onWidthDraft. The functionality that cancels draft width changes has been extracted to the onWidthDraftCancel event.

  • react-grid: The the GroupingState plugin's groupByColumn action has been renamed to changeColumnGrouping.

  • react-grid: We changed the selection getter's data type from Set to Array 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 to hiddenColumnNames.

  • 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 to expandedRowIds.

  • 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 to rowChanges.

  • react-grid: The FilteringState plugin's setColumnFilter action has been renamed to changeColumnFilter.

  • react-grid: The RowDetailState plugin's setDetailRowExpanded action has been renamed to toggleDetailRowExpanded.

  • react-grid: The toggleSelection action's selected parameter has been renamed to state.

  • react-grid: We changed the expandedGroups getter's data type from Set to Array 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 to deletedRowIds. The editingRows getter has been renamed to editingRowIds.

  • react-grid: The SortingState plugin's setColumnSorting action has been renamed to changeColumnSorting.

1.0.0-beta.3 (2017-12-28)

Bug Fixes

  • 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)

Code Refactoring

  • 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)

Features

  • react-grid: add the ColumnChooser plugin (#607) (16eb588)

BREAKING CHANGES

  • 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 its totalCount 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 to showGroupingControls.
    • The GroupingPanel plugin's allowUngroupingByClick property has been renamed to showGroupingControls.
    • The PagingPanel plugin's allowedPageSizes property has been renamed to pageSizes .
  • 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's createRowChange 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's criteria 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's setColumnSorting action and from the onSort event of the TableHeaderCellProps and GroupPanelItemProps component properties. Now, you can pass null to the direction argument to cancel sorting by column.

  • react-grid: The TableHeaderCellProps interface's allowResizing property has been renamed to resizingEnabled to improve the API consistency.

  • react-grid: We removed the getColumnCompare property from the LocalSorting plugin to improve API consistency. Now, use the columnExtension 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's showColumnsWhenGrouped property type has been changed to boolean 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 to DragDropProvider 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 and align column properties that the Table and VirtualTable plugins handle into a separate property. Now, the width and align properties in the Grid columns 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 and footerPlaceholderComponent 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)

Bug Fixes

  • 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)

Code Refactoring

  • 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)

Features

  • 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)

BREAKING CHANGES

  • 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 the Array.from() one to copy arrays. It was not a good decision, because Array.from() is slower than Array.prototype.slice(). Now we return back to Array.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 the LocalSelection one:

    • The availableToSelect getter has been deleted from the SelectionState plugin, while the selectAllAvailable, allSelected, and someSelected getters have been added to the LocalSelection plugin.
    • The SelectionState plugin's setRowsSelection action has been renamed to toggleSelection.
    • The selection getter's return value type has been changed to Set.
    • The default value of the TableSelection plugin's showSelectAll property has been changed to false.

    Both plugins are available from the @devexpress/dx-react-grid package. Note that LocalSelection should be linked after SelectionState if you use the TableSelection plugin.

  • 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 and VirtualTableView don't correspond to other plugins like TableFilterRow, 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 to Table;
    • the VirtualTableView plugin has been renamed to VirtualTable;
  • react-grid: The TableEditRow plugin's editCellTemplate, and editRowTemplate properties have been replaced with cellComponent, and rowComponent ones, which accept components instead of render functions. Find more details here: #496

  • react-grid: The GroupingPanel plugin's groupPanelTemplate, and groupPanelItemTemplate properties have been replaced with containerComponent, and itemComponent ones, which accept components instead of render functions. Find more details here: #496

    containerComponent takes on the children property instead of all arguments passed to the groupPanelTemplate function.

    The onSort, and onGroup properties passed to itemComponent are used instead of the changeSortingDirection, and groupByColumn arguments passed to the groupPanelItemTemplate function. The item, and draft properties are no longer available, use the item property instead.

  • react-grid: The TableEditColumn plugin's commandTemplate, cellTemplate and headingCellTemplate properties have been replaced with commandComponent, cellComponent, and headerCellComponent ones, which accept components instead of render functions. Find more details here: #496

    Properties passed to a component returned from commandComponent have the same names as arguments passed to the commandTemplate function with the following exception. The onExecute property is used instead of the executeCommand argument.

    All properties passed to the cellComponent except row have been replaced by the children property providing configured commands.

    All properties passed to the headingCellComponent have been replaced by the children property providing configured commands.

  • react-grid: The TableGroupRow plugin's groupIndentColumnWidth property has been renamed to indentColumnWidth. The groupCellTemplate, groupRowTemplate and groupIndentCellTemplate properties have been replaced with cellComponent, rowComponent, and indentCellComponent ones, which accept components instead of render functions. Find more details here: #496

    Properties passed to cellComponent have the same names as arguments passed to the groupCellTemplate function with the following exceptions:

    • The onToggle property is used instead of the toggleGroupExpanded argument.
    • The expanded property is used instead of the isExpanded argument.
  • react-grid: The TableFilterRow plugin's filterCellTemplate and filterRowTemplate properties have been replaced with cellComponent, and rowComponent ones, which accept components instead of render functions. Find more details here: #496

    Properties passed to cellComponent have the same names as arguments passed to the filterCellTemplate function except for the onFilter property, which is used instead of the setFilter argument.

  • react-grid: The TableHeaderRow's headerCellTemplate, and headerRowTemplate properties have been replaced with cellComponent, and rowComponent, which accept components instead of render functions. Find more details here: #496

    Properties passed to cellComponent have the same names as arguments passed to the headerCellTemplate function with the following exceptions: the onSort, onGroup, onWidthChange and onDraftWidthChange properties are used instead of the changeSortingDirection, groupByColumn, changeColumnWidth and changeDraftColumnWidth arguments respectively.

  • react-grid: The TableRowDetail plugin's detailToggleCellWidth property has been renamed to toggleColumnWidth. The template, detailCellTemplate, detailRowTemplate, and detailToggleCellTemplate properties have been replaced with contentComponent, cellComponent, rowComponent, and toggleCellComponent ones, which accept components instead of render functions. Find more details here: #496

    Properties passed to cellComponent have the same names as arguments passed to the detailCellTemplate function except for the children property, which is used instead of the template argument.

    Properties passed to toggleCellComponent have the same names as arguments passed to the detailToggleCellTemplate function except for the onToggle property, which is used instead of the toggleExpanded argument.

  • react-grid: The TableSelection plugin's highlightSelected property has been renamed to highlightRow. The selectCellTemplate and selectAllCellTemplate properties have been replaced with cellComponent, and headerCellComponent ones, which accept components instead of render functions. Find more details here: #496

    Properties passed to headerCellComponent have the same names as arguments passed to the selectAllCellTemplate function with the following exceptions:

    • The onToggle property is used instead of the toggleAll argument.
    • The disabled property is used instead of the selectionAvailable argument and it's value is inverted.

    Properties passed to cellComponent have the same names as arguments passed to the selectCellTemplate function except for the onToggle property, which is used instead of the changeSelected argument.

  • react-grid: The Table's tableLayoutTemplate, tableCellTemplate, tableRowTemplate, tableNoDataCellTemplate, tableNoDataRowTemplate, tableStubCellTemplate, and tableStubHeaderCellComponent properties have been replaced with layoutComponent, cellComponent, rowComponent, noDataCellComponent, noDataRowComponent, stubCellComponent and stubHeaderCellComponent. This also means that they accept components instead of render functions. Find more details here: #496

  • react-grid: The Grid's rootTemplate, headerPlaceholderTemplate, and footerPlaceholderTemplate properties have been replaced with rootComponent, headerPlaceholderComponent, and footerPlaceholderComponent. This also means that they accept components instead of render functions. Find more details here: #496

    The headerTemplate, bodyTemplate, and footerTemplate properties have been replaced with the children property in rootTemplate.

1.0.0-beta.1 (2017-11-10)

Bug Fixes

  • 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)

Code Refactoring

  • react-grid: export TableColumnResizing from theme packages (#438) (4be4ebf)
  • rect-grid: refactor table column reordering (#424) (dc28366), closes #154

Features

  • 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)

BREAKING CHANGES

  • rect-grid: The ColumnOrderState plugin has been renamed to TableColumnReordering and is now available via the @devexpress/dx-react-grid-bootstrap3 and @devexpress/dx-react-grid-material-ui packages.

    The TableView plugin's allowColumnReordering property has been removed and the TableColumnReordering plugin now depends on the TableView plugin. Thus, it is enough to link the TableColumnReordering plugin below the TableView 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)

Bug Fixes

  • 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)

Features

  • react-grid: support custom grouping processing (#395) (4fb92d0)

1.0.0-alpha.13 (2017-10-19)

Bug Fixes

  • react-grid: remove a redundant SelectionState dependency on LocalGrouping (#429) (50ee891), closes #428

1.0.0-alpha.12 (2017-10-19)

Bug Fixes

  • 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

Features

  • react-grid: implement column chooser (#366) (74b99c1)

Performance Improvements

  • react-core: batch updates on draggable events (#384) (51efef1)

BREAKING CHANGES

  • react-grid: The scope parameter of the setColumnSorting action has been removed.

    The GroupingState plugin now has an optional dependency on the SortingState plugin. So, GroupingState should be placed after SortingState.

    Before:

    <GroupingState /* ... */ />
    <SortingState /* ... */ />

    After:

    <SortingState /* ... */ />
    <GroupingState /* ... */ />

1.0.0-alpha.11 (2017-10-04)

Bug Fixes

  • react-core: update TemplatePlacholder on placeholder func change (#370) (69659c8)
  • react-grid: add 'pointer' cursor on group icon in the HeaderCell (#369) (8d1de4a)

Code Refactoring

  • react-grid: change custom filtering function signature (#354) (67cfdc9)
  • react-grid: rename getCellData to getCellValue (#349) (8f8e41d)

Features

  • 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)

Performance Improvements

  • react-grid: optimize internal state calculation (#356) (be890b4)
  • react-grid: suppress redundant render (#355) (695aacd)

BREAKING CHANGES

  • react-grid: The filterFn property of the LocalFiltering has been renamed to getColumnPredicate. The argument list has been changed from filterFn(row: Row, filter: Filter) => boolean to getColumnPredicate(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 the getCellData field of the Column interface have been renamed to getCellValue.

1.0.0-alpha.10 (2017-09-18)

Bug Fixes

  • react-core: use correct params within template chain (#322) (64a9991)

Code Refactoring

  • react-core: remove embedded Template connection (#331) (f90955d)
  • react-grid: rename tableTemplate to tableLayoutTemplate (#310) (def4a97)

Features

  • 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)

BREAKING CHANGES

  • react-grid: The tableExtraProps getter was removed from the TableView and TableSelection plugins.
  • react-core: connectGetters and connectActions 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 to tableLayoutTemplate to make the TableView plugin API more eloquent.

1.0.0-alpha.9 (2017-09-04)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Code Refactoring

  • 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)

Features

  • 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

Performance Improvements

  • react-grid: optimize plugin dependencies check (#253) (640c124)

BREAKING CHANGES

  • react-grid: The following changes have been made in the GroupingPanel plugin:

    • the groupPanelCellTemplate property has been renamed to groupPanelItemTemplate;
    • the groupedColumns property has been renamed to groupingPanelItems and now contains an array of objects which conform the GroupingPanelItem interface.

    The isDraft property of the DraftGrouping interface has been renamed to draft.

  • react-grid:   In order to reduce API verbosity, the groupedColumns and draftGroupedColumns getters are no longer exported from the GroupingState plugin.   The column field is no longer present in the GroupRow interface. So, to access the column field in groupCellTemplate and groupIndentCellTemplate of the TableGroupRow plugin, it is necessary to use args.column instead of args.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 to colSpan.

  • react-grid: To simplify the Grid plugins API the setRowSelection action was removed from the SelectionState and TableSelection plugins.

    For now, to select a single row you can use the setRowsSelection action in the following manner:

    setRowsSelection({ rowIds: [/* rowId */] })
  • react-grid:   TableRow and TableColumn 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 has column and row fields.

1.0.0-alpha.7 (2017-08-07)

Bug Fixes

  • 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)

Chores

  • react-grid-material-ui: swap UMD bundle with CJS one in package entry (#232) (9dd4273)

Code Refactoring

  • react-grid: add the most recently added row to the end (#238) (442bdbc)

Features

  • react-core: implement dependencies support for PluginContainer (#237) (6ef3be6)

BREAKING CHANGES

  • 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 and setCurrentPage actions were simpilified. Now, to call these actions, a user can use numbers instead of objects. See the following code:
    setPageSize(5); // instead of setPageSize({ size: 5 })
    
    and
    setCurrentPage(1); // instead of setCurrentPage({ page: 1 })
    

1.0.0-alpha.6 (2017-07-24)

Bug Fixes

  • 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)

Features

  • react-grid: implement grouping by drag and drop (#205) (ebb6c61)

Performance Improvements

  • react-grid: update only changed rows in table (#199) (e1c64ff)

Reverts

  • fix(react-grid): grid bottom offset in Material-UI (#196) (e2392ed)

BREAKING CHANGES

  • react-grid: The TableHeaderRow plugin's allowGrouping property has been renamed to allowGroupingByClick.
  • react-grid: The totalPages getter is no longer exported from the PagingState and LocalPaging plugins.

1.0.0-alpha.5 (2017-07-07)

Bug Fixes

  • 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)

Code Refactoring

  • react-grid: extract GroupPanelLayout (#149) (ed73aa1)

Features

  • react-grid: introduce column reordering animation (#169) (d5e808b)
  • react-grid: introduce Material-UI templates (closes #93)

BREAKING CHANGES

  • react-grid: Use the groupPanelCellTemplate property of the grouping-panel plugin instead of the GroupPanelProps interface's cellTemplate property to specify a template used to render a grouping panel cell. The GroupPanelProps interface's cellTemplate property is no longer available.

1.0.0-alpha.4 (2017-06-23)

Bug Fixes

  • 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)

Code Refactoring

  • react-grid: Rename detailToggleTemplate to detailToggleCellTemplate (#146) (bd49b0e)
  • react-grid: Rename groupColumnWidth to groupIndentColumnWidth (#145) (e78b55f)
  • react-grid: Rename groupRowCellTemplate to groupCellTemplate (#153) (fec0aac)

Features

  • 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)

BREAKING CHANGES

  • 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 to detailToggleCellTemplate to make it consistent with the detailToggleCellWidth 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)

Bug Fixes

  • react-grid: Cancel sorting by using the Ctrl key in Material-UI (#129) (2508537)
  • react-grid: Treat templates as functions (#120) (4b2c490)

Code Refactoring

  • react-grid: Move layout templates to Grid (#107) (f6be302)

Features

  • 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)

BREAKING CHANGES

  • 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)

Bug Fixes

  • 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

Features

  • react-grid: Cancel sorting by using the Ctrl key (#96) (0d804f4)
  • react-grid: Implement page size selector (#95) (9e21583)

BREAKING CHANGES

  • 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}
        />
      }
    />

1.0.0-alpha.1 (2017-05-15)

  • Initial public release