This is an automated email from the ASF dual-hosted git repository.

lilykuang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 493181c977 chore: refactor SliceAdder for react 17 and react 18 
(#23009)
493181c977 is described below

commit 493181c977b229d224719eaa3212d92ace12512e
Author: Lily Kuang <[email protected]>
AuthorDate: Tue Feb 7 13:38:32 2023 -0800

    chore: refactor SliceAdder for react 17 and react 18 (#23009)
---
 superset-frontend/package-lock.json                   | 19 +++++++++++++++++++
 superset-frontend/package.json                        |  1 +
 .../src/dashboard/components/SliceAdder.jsx           | 12 +++++++-----
 3 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/superset-frontend/package-lock.json 
b/superset-frontend/package-lock.json
index 3c26da58ff..dc764630d7 100644
--- a/superset-frontend/package-lock.json
+++ b/superset-frontend/package-lock.json
@@ -127,6 +127,7 @@
         "react-transition-group": "^2.5.3",
         "react-ultimate-pagination": "^1.3.0",
         "react-virtualized": "9.19.1",
+        "react-virtualized-auto-sizer": "^1.0.7",
         "react-window": "^1.8.8",
         "redux": "^4.0.5",
         "redux-localstorage": "^0.4.1",
@@ -49951,6 +49952,18 @@
         "react-dom": "^15.3.0 || ^16.0.0-alpha"
       }
     },
+    "node_modules/react-virtualized-auto-sizer": {
+      "version": "1.0.7",
+      "resolved": 
"https://registry.npmjs.org/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.7.tgz";,
+      "integrity": 
"sha512-Mxi6lwOmjwIjC1X4gABXMJcKHsOo0xWl3E3ugOgufB8GJU+MqrtY35aBuvCYv/razQ1Vbp7h1gWJjGjoNN5pmA==",
+      "engines": {
+        "node": ">8.0.0"
+      },
+      "peerDependencies": {
+        "react": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0-rc",
+        "react-dom": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0-rc"
+      }
+    },
     "node_modules/react-window": {
       "version": "1.8.8",
       "resolved": 
"https://registry.npmjs.org/react-window/-/react-window-1.8.8.tgz";,
@@ -100105,6 +100118,12 @@
         "react-lifecycles-compat": "^3.0.4"
       }
     },
+    "react-virtualized-auto-sizer": {
+      "version": "1.0.7",
+      "resolved": 
"https://registry.npmjs.org/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.7.tgz";,
+      "integrity": 
"sha512-Mxi6lwOmjwIjC1X4gABXMJcKHsOo0xWl3E3ugOgufB8GJU+MqrtY35aBuvCYv/razQ1Vbp7h1gWJjGjoNN5pmA==",
+      "requires": {}
+    },
     "react-window": {
       "version": "1.8.8",
       "resolved": 
"https://registry.npmjs.org/react-window/-/react-window-1.8.8.tgz";,
diff --git a/superset-frontend/package.json b/superset-frontend/package.json
index 6e884f40ea..5d6c399533 100644
--- a/superset-frontend/package.json
+++ b/superset-frontend/package.json
@@ -191,6 +191,7 @@
     "react-transition-group": "^2.5.3",
     "react-ultimate-pagination": "^1.3.0",
     "react-virtualized": "9.19.1",
+    "react-virtualized-auto-sizer": "^1.0.7",
     "react-window": "^1.8.8",
     "redux": "^4.0.5",
     "redux-localstorage": "^0.4.1",
diff --git a/superset-frontend/src/dashboard/components/SliceAdder.jsx 
b/superset-frontend/src/dashboard/components/SliceAdder.jsx
index 7f8792dcaf..55db08cd86 100644
--- a/superset-frontend/src/dashboard/components/SliceAdder.jsx
+++ b/superset-frontend/src/dashboard/components/SliceAdder.jsx
@@ -19,7 +19,8 @@
 /* eslint-env browser */
 import React from 'react';
 import PropTypes from 'prop-types';
-import { List, AutoSizer } from 'react-virtualized';
+import AutoSizer from 'react-virtualized-auto-sizer';
+import { FixedSizeList as List } from 'react-window';
 import { createFilter } from 'react-search-input';
 import {
   t,
@@ -333,13 +334,14 @@ class SliceAdder extends React.Component {
                 <List
                   width={width}
                   height={height}
-                  rowCount={this.state.filteredSlices.length}
-                  rowHeight={DEFAULT_CELL_HEIGHT}
-                  rowRenderer={this.rowRenderer}
+                  itemCount={this.state.filteredSlices.length}
+                  itemSize={DEFAULT_CELL_HEIGHT}
                   searchTerm={this.state.searchTerm}
                   sortBy={this.state.sortBy}
                   selectedSliceIds={this.props.selectedSliceIds}
-                />
+                >
+                  {this.rowRenderer}
+                </List>
               )}
             </AutoSizer>
           </ChartList>

Reply via email to