From 2b49fb1b010f110b4273f26e2b613966bc52a0c8 Mon Sep 17 00:00:00 2001 From: Sean Landsman Date: Mon, 17 Dec 2018 13:18:28 +0000 Subject: [PATCH 1/6] AG-2114 React Components are rendered to the root of the DOM tree AG-2417 Issue with React 6: withRef is removed. To access the wrapped instance, use a ref on the connected component AG-2439 Add support for react-redux v6 h/t @hrgui - thanks! --- package.json | 6 +++--- .../GridComponent.jsx | 12 ++---------- .../PriceRenderer.jsx | 5 +++-- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index 53d00d0..6345b17 100644 --- a/package.json +++ b/package.json @@ -63,9 +63,9 @@ "bootstrap": "4.1.3", "d3": "4.9.1", "lodash": "^4.17.11", - "react": "^16.5.2", - "react-dom": "^16.5.2", - "react-redux": "5.0.7", + "react": "^16.6.0", + "react-dom": "^16.6.0", + "react-redux": "^6.0.0", "react-router-dom": "4.3.1", "redux": "^4.0.1" } diff --git a/src-examples/simpleReduxDynamicComponentExample/GridComponent.jsx b/src-examples/simpleReduxDynamicComponentExample/GridComponent.jsx index 6fa1d1f..319cbb4 100644 --- a/src-examples/simpleReduxDynamicComponentExample/GridComponent.jsx +++ b/src-examples/simpleReduxDynamicComponentExample/GridComponent.jsx @@ -1,12 +1,9 @@ import React, {Component} from "react"; -import * as PropTypes from "prop-types"; - -import {AgGridReact} from "ag-grid-react"; import {connect} from "react-redux"; -import PriceRenderer from "./PriceRenderer"; +import {AgGridReact} from "ag-grid-react"; -const ThemeContext = React.createContext('light'); +import PriceRenderer from "./PriceRenderer"; /* * This component serves to display the row data (provided by redux) @@ -49,7 +46,6 @@ class GridComponent extends Component { rowData={this.props.rowData} reactNext={true} - reduxStore={this.context.store} // must be supplied when using redux with reactNext // events onGridReady={this.onGridReady}> @@ -59,10 +55,6 @@ class GridComponent extends Component { } } -GridComponent.contextTypes = { - store: PropTypes.object // must be supplied when using redux with reactNext -}; - // pull off row data changes export default connect( (state) => { diff --git a/src-examples/simpleReduxDynamicComponentExample/PriceRenderer.jsx b/src-examples/simpleReduxDynamicComponentExample/PriceRenderer.jsx index a4ab2ff..1da323b 100644 --- a/src-examples/simpleReduxDynamicComponentExample/PriceRenderer.jsx +++ b/src-examples/simpleReduxDynamicComponentExample/PriceRenderer.jsx @@ -21,7 +21,8 @@ class PriceRenderer extends Component { render() { return ( - {fontWeight => {this.props.currencySymbol}{this.state.convertedValue} } + {fontWeight => {this.props.currencySymbol}{this.state.convertedValue}} ); } @@ -40,5 +41,5 @@ export default connect( }, null, null, - {withRef: true} // must be supplied for react/redux when using GridOptions.reactNext + {forwardRef: true} // must be supplied for react/redux when using GridOptions.reactNext )(PriceRenderer); \ No newline at end of file From a3a1d74b88e027026b3187c7ca5725f778157998 Mon Sep 17 00:00:00 2001 From: Sean Landsman Date: Thu, 3 Jan 2019 12:36:17 +0000 Subject: [PATCH 2/6] Framework sweep pre-release testing --- package.json | 26 ++++++++-------- .../DateComponent.jsx | 6 ++-- .../components/FxQuoteMatrix.jsx | 30 ++++++++++--------- .../components/TopMoversGrid.jsx | 2 +- 4 files changed, 33 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index 6345b17..2d1122d 100644 --- a/package.json +++ b/package.json @@ -37,14 +37,14 @@ }, "homepage": "http://www.ag-grid.com/", "devDependencies": { - "@babel/core": "7.1.2", + "@babel/core": "7.2.2", "babel-loader": "8.0.4", - "@babel/preset-env": "7.1.0", + "@babel/preset-env": "7.2.3", "@babel/preset-react": "7.0.0", - "@babel/plugin-proposal-class-properties": "7.1.0", - "@babel/plugin-proposal-function-bind": "7.0.0", - "css-loader": "1.0.0", - "file-loader": "2.0.0", + "@babel/plugin-proposal-class-properties": "7.2.3", + "@babel/plugin-proposal-function-bind": "7.2.0", + "css-loader": "2.1.0", + "file-loader": "3.0.1", "gulp": "3.9.1", "merge2": "^1.2.3", "mkdirp": "0.5.1", @@ -52,9 +52,9 @@ "prop-types": "15.6.2", "rimraf": "~2.6.2", "style-loader": "~0.23.0", - "webpack": "^4.16.1", - "webpack-cli": "^3.0.8", - "webpack-dev-server": "^3.1.4" + "webpack": "4.28.3", + "webpack-cli": "3.2.0", + "webpack-dev-server": "3.1.14" }, "dependencies": { "ag-grid-community": "^19.1.0", @@ -63,10 +63,10 @@ "bootstrap": "4.1.3", "d3": "4.9.1", "lodash": "^4.17.11", - "react": "^16.6.0", - "react-dom": "^16.6.0", - "react-redux": "^6.0.0", + "react": "16.7.0", + "react-dom": "16.7.0", + "react-redux": "6.0.0", "react-router-dom": "4.3.1", - "redux": "^4.0.1" + "redux": "4.0.1" } } \ No newline at end of file diff --git a/src-examples/richGridDeclarativeExample/DateComponent.jsx b/src-examples/richGridDeclarativeExample/DateComponent.jsx index ba5145e..ec8137b 100644 --- a/src-examples/richGridDeclarativeExample/DateComponent.jsx +++ b/src-examples/richGridDeclarativeExample/DateComponent.jsx @@ -51,11 +51,11 @@ export default class DateComponent extends React.Component { return (
x - / - / -
); diff --git a/src-trader-dashboard/components/FxQuoteMatrix.jsx b/src-trader-dashboard/components/FxQuoteMatrix.jsx index eaa0f83..f25bb13 100644 --- a/src-trader-dashboard/components/FxQuoteMatrix.jsx +++ b/src-trader-dashboard/components/FxQuoteMatrix.jsx @@ -32,26 +32,28 @@ class FxQuoteMatrix extends Component { } componentWillReceiveProps(nextProps) { - const newRowData = nextProps.rowData; + if (this.gridApi) { + const newRowData = nextProps.rowData; - const updatedRows = []; + const updatedRows = []; - for (let i = 0; i < newRowData.length; i++) { - let newRow = newRowData[i]; - let currentRowNode = this.gridApi.getRowNode(newRow.symbol); + for (let i = 0; i < newRowData.length; i++) { + let newRow = newRowData[i]; + let currentRowNode = this.gridApi.getRowNode(newRow.symbol); - const {data} = currentRowNode; - for (const def of this.state.columnDefs) { - if (data[def.field] !== newRow[def.field]) { - updatedRows.push(newRow); - break; + const {data} = currentRowNode; + for (const def of this.state.columnDefs) { + if (data[def.field] !== newRow[def.field]) { + updatedRows.push(newRow); + break; + } } } + + + this.gridApi.updateRowData({update: updatedRows}); } - - this.gridApi.updateRowData({update: updatedRows}); - } render() { @@ -78,7 +80,7 @@ class FxQuoteMatrix extends Component { export default connect( (state) => { return { - rowData: state.fxData + rowData: state ? state.fxData : null } } )(FxQuoteMatrix); \ No newline at end of file diff --git a/src-trader-dashboard/components/TopMoversGrid.jsx b/src-trader-dashboard/components/TopMoversGrid.jsx index 868475e..d1ecc94 100644 --- a/src-trader-dashboard/components/TopMoversGrid.jsx +++ b/src-trader-dashboard/components/TopMoversGrid.jsx @@ -84,7 +84,7 @@ class TopMoversGrid extends Component { export default connect( (state) => { return { - rowData: state.fxTopMovers + rowData: state ? state.fxTopMovers : null } } )(TopMoversGrid); \ No newline at end of file From 3f0fe9f89955c4b61efeaf76a59522be813a22c1 Mon Sep 17 00:00:00 2001 From: Sean Landsman Date: Tue, 8 Jan 2019 16:46:07 +0000 Subject: [PATCH 3/6] AG-644 Refactor of sorting, filtering and resizing properties --- .../RichGridDeclarativeExample.jsx | 14 +++++++------- src-trader-dashboard/components/FxQuoteMatrix.jsx | 6 ++++-- .../components/PriceChangesGrid.jsx | 4 +++- src-trader-dashboard/components/TopMoversGrid.jsx | 6 ++++-- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src-examples/richGridDeclarativeExample/RichGridDeclarativeExample.jsx b/src-examples/richGridDeclarativeExample/RichGridDeclarativeExample.jsx index 002e05d..7347bd1 100644 --- a/src-examples/richGridDeclarativeExample/RichGridDeclarativeExample.jsx +++ b/src-examples/richGridDeclarativeExample/RichGridDeclarativeExample.jsx @@ -179,12 +179,9 @@ export default class RichGridDeclarativeExample extends Component { rowData={this.state.rowData} // no binding, just providing hard coded strings for the properties - // boolean properties will default to true if provided (ie enableColResize => enableColResize="true") + // boolean properties will default to true if provided (ie suppressRowClickSelection => suppressRowClickSelection="true") suppressRowClickSelection rowSelection="multiple" - enableColResize - enableSorting - enableFilter floatingFilter groupHeaders @@ -193,6 +190,9 @@ export default class RichGridDeclarativeExample extends Component { // setting default column properties defaultColDef={{ + resizable: true, + sortable: true, + filter: true, headerComponentFramework: SortableHeaderComponent, headerComponentParams: { menuIcon: 'fa-bars' @@ -200,7 +200,7 @@ export default class RichGridDeclarativeExample extends Component { }} > + checkboxSelection sortable={false} suppressMenu filter={false} pinned> - - diff --git a/src-trader-dashboard/components/FxQuoteMatrix.jsx b/src-trader-dashboard/components/FxQuoteMatrix.jsx index f25bb13..40828f5 100644 --- a/src-trader-dashboard/components/FxQuoteMatrix.jsx +++ b/src-trader-dashboard/components/FxQuoteMatrix.jsx @@ -63,8 +63,10 @@ class FxQuoteMatrix extends Component { Date: Tue, 8 Jan 2019 17:05:16 +0000 Subject: [PATCH 4/6] Release 20.0.0 dist files added and license key updated --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 2d1122d..6cc1d38 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ag-grid-react-example", - "version": "19.1.2", + "version": "20.0.0", "description": "Example Reach applicaiton using ag-Grid.", "main": "dist/ag-grid-react-example.js", "scripts": { @@ -57,9 +57,9 @@ "webpack-dev-server": "3.1.14" }, "dependencies": { - "ag-grid-community": "^19.1.0", - "ag-grid-enterprise": "^19.1.0", - "ag-grid-react": "^19.1.0", + "ag-grid-community": "^20.0.0", + "ag-grid-enterprise": "^20.0.0", + "ag-grid-react": "^20.0.0", "bootstrap": "4.1.3", "d3": "4.9.1", "lodash": "^4.17.11", From 06fa3f01fd91f8e555fc6e7b0f26d303e3cd9f33 Mon Sep 17 00:00:00 2001 From: Guilherme Lopes Date: Wed, 9 Jan 2019 15:11:59 +0000 Subject: [PATCH 5/6] AG-2235 - Updated font-awesome to 5.6.3 --- .../RichGridDeclarativeExample.jsx | 10 +++++----- .../SortableHeaderComponent.jsx | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src-examples/richGridDeclarativeExample/RichGridDeclarativeExample.jsx b/src-examples/richGridDeclarativeExample/RichGridDeclarativeExample.jsx index 7347bd1..ff581a4 100644 --- a/src-examples/richGridDeclarativeExample/RichGridDeclarativeExample.jsx +++ b/src-examples/richGridDeclarativeExample/RichGridDeclarativeExample.jsx @@ -25,12 +25,12 @@ export default class RichGridDeclarativeExample extends Component { sideBar: false, rowData: new RowDataFactory().createRowData(), icons: { - columnRemoveFromGroup: '', + columnRemoveFromGroup: '', filter: '', - sortAscending: '', - sortDescending: '', - groupExpanded: '', - groupContracted: '' + sortAscending: '', + sortDescending: '', + groupExpanded: '', + groupContracted: '' } }; } diff --git a/src-examples/richGridDeclarativeExample/SortableHeaderComponent.jsx b/src-examples/richGridDeclarativeExample/SortableHeaderComponent.jsx index fe88a5a..33c7c08 100644 --- a/src-examples/richGridDeclarativeExample/SortableHeaderComponent.jsx +++ b/src-examples/richGridDeclarativeExample/SortableHeaderComponent.jsx @@ -30,10 +30,10 @@ export default class SortableHeaderComponent extends React.Component { sortElements.push(
); + className="fa fa-long-arrow-alt-down"/>); sortElements.push(
); + className="fa fa-long-arrow-alt-up"/>); sortElements.push(
) From f81d48b3d43fa481a6ce9768503d2f6b9f0278f8 Mon Sep 17 00:00:00 2001 From: Sean Landsman Date: Wed, 9 Jan 2019 16:58:33 +0000 Subject: [PATCH 6/6] AG-2490 Regression Testing - Header component example isn't working --- src-examples/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src-examples/index.html b/src-examples/index.html index eaf33bd..c23398b 100644 --- a/src-examples/index.html +++ b/src-examples/index.html @@ -5,7 +5,7 @@ - +