diff --git a/web/jest.config.js b/web/jest.config.js index c3c071c55..a05a787c4 100644 --- a/web/jest.config.js +++ b/web/jest.config.js @@ -52,7 +52,7 @@ module.exports = { ], 'testEnvironment': 'jsdom', 'transformIgnorePatterns': [ - '[/\\\\]node_modules[/\\\\](?!react-dnd|dnd-core|@react-dnd|react-resize-detector).+\\.(js|jsx|mjs|cjs|ts|tsx)$', + '[/\\\\]node_modules[/\\\\](?!react-dnd|dnd-core|@react-dnd|react-resize-detector|react-data-grid).+\\.(js|jsx|mjs|cjs|ts|tsx)$', '^.+\\.module\\.(css|sass|scss)$' ] }; diff --git a/web/package.json b/web/package.json index 064102f2e..26e9950fb 100644 --- a/web/package.json +++ b/web/package.json @@ -16,8 +16,8 @@ "@babel/preset-env": "^7.28.0", "@babel/preset-typescript": "^7.24.7", "@emotion/memoize": "^0.9.0", - "@emotion/react": "^11.11.3", - "@emotion/styled": "^11.11.0", + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.1", "@emotion/utils": "^1.0.0", "@svgr/webpack": "^8.1.0", "@testing-library/dom": "10.4.1", @@ -129,7 +129,7 @@ "react-arborist": "^3.2.0", "react-aspen": "^1.1.0", "react-checkbox-tree": "^1.7.2", - "react-data-grid": "https://github.com/pgadmin-org/react-data-grid.git#3dfc2ca01a046d55c1c7a45392dcec104815dc76", + "react-data-grid": "https://github.com/pgadmin-org/react-data-grid.git#8ddaa7bed99c8329e39b8ff37ba156f7fc8e85d4", "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", "react-dom": "^19.0.0", diff --git a/web/pgadmin/static/js/components/PgReactDataGrid.jsx b/web/pgadmin/static/js/components/PgReactDataGrid.jsx index 0b113b06f..5437874b5 100644 --- a/web/pgadmin/static/js/components/PgReactDataGrid.jsx +++ b/web/pgadmin/static/js/components/PgReactDataGrid.jsx @@ -7,7 +7,7 @@ // ////////////////////////////////////////////////////////////// import React, { useCallback, useContext, useEffect, useMemo } from 'react'; -import ReactDataGrid, { Row } from 'react-data-grid'; +import { DataGrid, Row } from 'react-data-grid'; import { Box } from '@mui/material'; import PropTypes from 'prop-types'; import CustomPropTypes from '../custom_prop_types'; @@ -16,7 +16,7 @@ import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown'; import gettext from 'sources/gettext'; import { styled } from '@mui/material/styles'; -const StyledReactDataGrid = styled(ReactDataGrid)(({theme})=>({ +const StyledReactDataGrid = styled(DataGrid)(({theme})=>({ '&.ReactGrid-root': { height: '100%', color: theme.palette.text.primary, diff --git a/web/pgadmin/tools/sqleditor/static/js/components/QueryToolDataGrid/index.jsx b/web/pgadmin/tools/sqleditor/static/js/components/QueryToolDataGrid/index.jsx index 828cf57ac..e71cd78ab 100644 --- a/web/pgadmin/tools/sqleditor/static/js/components/QueryToolDataGrid/index.jsx +++ b/web/pgadmin/tools/sqleditor/static/js/components/QueryToolDataGrid/index.jsx @@ -395,7 +395,7 @@ export default function QueryToolDataGrid({columns, rows, totalRowCount, dataCha newSelectedCols.add(i); } } - + props.onSelectedRowsChange(new Set()); setLastSelectedColumn(columnIdx); onSelectedColumnsChange(newSelectedCols); @@ -482,9 +482,9 @@ export default function QueryToolDataGrid({columns, rows, totalRowCount, dataCha // This is needed to prevent Codemirror from triggering copy. if(mode == 'SELECT' && (e.ctrlKey || e.metaKey) && e.key !== 'Control' && e.keyCode == 67) { - // taken care by handleCopy. e.preventDefault(); e.stopPropagation(); + handleCopy(); } }} {...props} diff --git a/web/regression/javascript/__mocks__/react-data-grid.jsx b/web/regression/javascript/__mocks__/react-data-grid.jsx index 0900e91c5..a19ae0812 100644 --- a/web/regression/javascript/__mocks__/react-data-grid.jsx +++ b/web/regression/javascript/__mocks__/react-data-grid.jsx @@ -2,8 +2,7 @@ import { useRef } from 'react'; import PropTypes from 'prop-types'; export * from 'react-data-grid'; - -const ReactDataGrid = ( +export const DataGrid = ( { ref: _ref, ...props @@ -13,9 +12,7 @@ const ReactDataGrid = ( return
; }; -ReactDataGrid.displayName = 'ReactDataGrid'; -ReactDataGrid.propTypes = { +DataGrid.displayName = 'DataGrid'; +DataGrid.propTypes = { id: PropTypes.any }; - -export default ReactDataGrid; diff --git a/web/yarn.lock b/web/yarn.lock index 7c14e4c3a..573be851f 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -1757,7 +1757,7 @@ __metadata: languageName: node linkType: hard -"@emotion/react@npm:^11.11.1, @emotion/react@npm:^11.11.3, @emotion/react@npm:^11.8.1": +"@emotion/react@npm:^11.11.1, @emotion/react@npm:^11.14.0, @emotion/react@npm:^11.8.1": version: 11.14.0 resolution: "@emotion/react@npm:11.14.0" dependencies: @@ -1798,7 +1798,7 @@ __metadata: languageName: node linkType: hard -"@emotion/styled@npm:^11.*, @emotion/styled@npm:^11.11.0": +"@emotion/styled@npm:^11.*, @emotion/styled@npm:^11.11.0, @emotion/styled@npm:^11.14.1": version: 11.14.1 resolution: "@emotion/styled@npm:11.14.1" dependencies: @@ -5824,7 +5824,7 @@ __metadata: languageName: node linkType: hard -"clsx@npm:^2.0.0, clsx@npm:^2.1.1": +"clsx@npm:^2.1.1": version: 2.1.1 resolution: "clsx@npm:2.1.1" checksum: 10c0/c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839 @@ -12145,15 +12145,13 @@ __metadata: languageName: node linkType: hard -"react-data-grid@https://github.com/pgadmin-org/react-data-grid.git#3dfc2ca01a046d55c1c7a45392dcec104815dc76": - version: 7.0.0-beta.47 - resolution: "react-data-grid@https://github.com/pgadmin-org/react-data-grid.git#commit=3dfc2ca01a046d55c1c7a45392dcec104815dc76" - dependencies: - clsx: "npm:^2.0.0" +"react-data-grid@https://github.com/pgadmin-org/react-data-grid.git#8ddaa7bed99c8329e39b8ff37ba156f7fc8e85d4": + version: 7.0.0-beta.58 + resolution: "react-data-grid@https://github.com/pgadmin-org/react-data-grid.git#commit=8ddaa7bed99c8329e39b8ff37ba156f7fc8e85d4" peerDependencies: - react: ^18.0 || ^19.0 - react-dom: ^18.0 || ^19.0 - checksum: 10c0/3d8a110b77c4f766788fa31aff5bbff1f129a3a25bfd2a6a7f9a67f053b0f48bc374d74f477d6a46ea7cce1449bc77334e071fc964933643389950e628d266b5 + react: ^19.2 + react-dom: ^19.2 + checksum: 10c0/531f86c950e4f656cc45f496f7d5f95aaf2c7e2884d864d7954456e531810e7a7d99d52ee984b4140f034fafdc3f601913b8aa0949c8a06df784716dda66f06c languageName: node linkType: hard @@ -12821,9 +12819,9 @@ __metadata: "@date-io/core": "npm:^3.0.0" "@date-io/date-fns": "npm:3.x" "@emotion/memoize": "npm:^0.9.0" - "@emotion/react": "npm:^11.11.3" + "@emotion/react": "npm:^11.14.0" "@emotion/sheet": "npm:^1.0.1" - "@emotion/styled": "npm:^11.11.0" + "@emotion/styled": "npm:^11.14.1" "@emotion/utils": "npm:^1.0.0" "@fluentui/keyboard-key": "npm:^0.4.23" "@fortawesome/fontawesome-free": "npm:latest" @@ -12908,7 +12906,7 @@ __metadata: react-arborist: "npm:^3.2.0" react-aspen: "npm:^1.1.0" react-checkbox-tree: "npm:^1.7.2" - react-data-grid: "https://github.com/pgadmin-org/react-data-grid.git#3dfc2ca01a046d55c1c7a45392dcec104815dc76" + react-data-grid: "https://github.com/pgadmin-org/react-data-grid.git#8ddaa7bed99c8329e39b8ff37ba156f7fc8e85d4" react-dnd: "npm:^16.0.1" react-dnd-html5-backend: "npm:^16.0.1" react-dom: "npm:^19.0.0"