diff --git a/deploy/build-frontend.sh b/deploy/build-frontend.sh index a8cbe7a05b..19a7c3a216 100755 --- a/deploy/build-frontend.sh +++ b/deploy/build-frontend.sh @@ -18,4 +18,4 @@ echo "Copy static content" cp -rp ../webapp/packages/product-default/lib/* cloudbeaver/web -echo "Cloudbeaver is ready. Run run-server.bat in cloudbeaver folder to start the server." +echo "Cloudbeaver is ready. Run run-server.sh in cloudbeaver folder to start the server." diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/model/WebDatabaseDriverInfo.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/model/WebDatabaseDriverInfo.java index fec13d16fe..a0d4602162 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/model/WebDatabaseDriverInfo.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/model/WebDatabaseDriverInfo.java @@ -214,12 +214,12 @@ public String[] getApplicableAuthModels() { @Property public String[] getApplicableNetworkHandlers() { - if (driver.isEmbedded()) { - return new String[0]; + if (!driver.isEmbedded() || CommonUtils.toBoolean(driver.getDriverParameter(DBConstants.DRIVER_PARAM_ENABLE_NETWORK_PARAMETERS))) { + return NetworkHandlerRegistry.getInstance().getDescriptors(driver).stream() + .filter(h -> !h.isDesktopHandler()) + .map(NetworkHandlerDescriptor::getId).toArray(String[]::new); } - return NetworkHandlerRegistry.getInstance().getDescriptors(driver).stream() - .filter(h -> !h.isDesktopHandler()) - .map(NetworkHandlerDescriptor::getId).toArray(String[]::new); + return new String[0]; } @Property diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBApplication.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBApplication.java index 7c394e34c4..0b1653bf36 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBApplication.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBApplication.java @@ -48,6 +48,7 @@ import org.jkiss.dbeaver.model.app.DBPPlatform; import org.jkiss.dbeaver.model.auth.AuthInfo; import org.jkiss.dbeaver.model.auth.SMCredentialsProvider; +import org.jkiss.dbeaver.model.connection.DBPDriver; import org.jkiss.dbeaver.model.data.json.JSONUtils; import org.jkiss.dbeaver.model.navigator.DBNBrowseSettings; import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor; @@ -260,6 +261,7 @@ protected void startServer() { log.error(e); return; } + refreshDisabledDriversConfig(); configurationMode = CommonUtils.isEmpty(serverName); @@ -541,7 +543,6 @@ protected Path loadServerConfiguration() throws DBException { log.debug("Runtime configuration [" + runtimeConfigFile.getAbsolutePath() + "]"); parseConfiguration(runtimeConfigFile); } - return path; } @@ -1338,4 +1339,16 @@ protected void sendConfigChangedEvent(SMCredentialsProvider credentialsProvider) } eventController.addEvent(new WSServerConfigurationChangedEvent(sessionId, null)); } + + private void refreshDisabledDriversConfig() { + CBAppConfig config = getAppConfiguration(); + Set disabledDrivers = new LinkedHashSet<>(Arrays.asList(config.getDisabledDrivers())); + for (DBPDriver driver : CBPlatform.getInstance().getApplicableDrivers()) { + if (!driver.isEmbedded() || config.isDriverForceEnabled(driver.getFullId())) { + continue; + } + disabledDrivers.add(driver.getFullId()); + } + config.setDisabledDrivers(disabledDrivers.toArray(new String[0])); + } } diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBPlatform.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBPlatform.java index b01af47eb2..d281748bac 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBPlatform.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/CBPlatform.java @@ -119,8 +119,6 @@ protected synchronized void initialize() { refreshApplicableDrivers(); - refreshDisabledDriversConfig(); - new WebSessionMonitorJob(this) .scheduleMonitor(); @@ -293,18 +291,6 @@ public void refreshApplicableDrivers() { log.info("Available drivers: " + applicableDrivers.stream().map(DBPDriver::getFullName).collect(Collectors.joining(","))); } - private void refreshDisabledDriversConfig() { - CBAppConfig config = application.getAppConfiguration(); - Set disabledDrivers = new LinkedHashSet<>(Arrays.asList(config.getDisabledDrivers())); - for (DBPDriver driver : applicableDrivers) { - if (!driver.isEmbedded() || config.isDriverForceEnabled(driver.getFullId())) { - continue; - } - disabledDrivers.add(driver.getFullId()); - } - config.setDisabledDrivers(disabledDrivers.toArray(new String[0])); - } - @NotNull @Override public DBFileController createFileController() { diff --git a/webapp/package.json b/webapp/package.json index 1109f849fb..a2b42b9d7f 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -10,33 +10,41 @@ "**/core-cli/**" ] }, + "resolutions": { + "@types/react": "^18.2.63", + "@types/react-dom": "^18.2.19", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "mobx": "^6.12.0", + "mobx-react-lite": "^4.0.5" + }, "scripts": { "prebuild": "lerna run gql:gen --stream --parallel", "pretest": "lerna run gql:gen --stream --parallel && yarn lerna run test --scope @cloudbeaver/tests-runner" }, "devDependencies": { - "@testing-library/dom": "^9.3.3", - "@testing-library/jest-dom": "^6.1.5", - "@testing-library/react": "^14.1.2", - "@testing-library/user-event": "^14.5.1", - "@types/jest": "^29.5.10", - "@types/react": "^18.2.42", - "@types/react-dom": "^18.2.17", + "@testing-library/dom": "^9.3.4", + "@testing-library/jest-dom": "^6.4.2", + "@testing-library/react": "^14.2.1", + "@testing-library/user-event": "^14.5.2", + "@types/jest": "^29.5.12", + "@types/react": "^18.2.63", + "@types/react-dom": "^18.2.19", "concurrently": "^8.2.2", "lerna": "5.5.4", "mobx": "^6.12.0", "mobx-react-lite": "^4.0.5", - "msw": "^2.0.10", + "msw": "^2.2.2", "path-browserify": "~1.0.1", - "prettier": "^2.8.8", + "prettier": "^3.2.5", "react": "^18.2.0", "react-dom": "^18.2.0", "reakit": "~1.3.11", - "reflect-metadata": "~0.1.13", + "reflect-metadata": "^0.2.1", "reshadow": "^0.0.1", "rimraf": "~5.0.5", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" }, "dependencies": {}, "prettier": "@cloudbeaver/prettier-config" diff --git a/webapp/packages/core-administration/package.json b/webapp/packages/core-administration/package.json index ab3efce199..4be6b019f9 100644 --- a/webapp/packages/core-administration/package.json +++ b/webapp/packages/core-administration/package.json @@ -45,8 +45,8 @@ "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-settings": "~0.1.0", "@cloudbeaver/tests-runner": "~0.1.0", - "@testing-library/jest-dom": "^6.1.5", - "@types/jest": "^29.5.10", - "typescript": "^5.3.2" + "@testing-library/jest-dom": "^6.4.2", + "@types/jest": "^29.5.12", + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-app/package.json b/webapp/packages/core-app/package.json index 562afd0017..92913f7fcf 100644 --- a/webapp/packages/core-app/package.json +++ b/webapp/packages/core-app/package.json @@ -36,8 +36,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/core-authentication/package.json b/webapp/packages/core-authentication/package.json index b192ebc797..20f6f4a548 100644 --- a/webapp/packages/core-authentication/package.json +++ b/webapp/packages/core-authentication/package.json @@ -46,9 +46,9 @@ "@cloudbeaver/core-settings": "~0.1.0", "@cloudbeaver/core-theming": "~0.1.0", "@cloudbeaver/tests-runner": "~0.1.0", - "@testing-library/jest-dom": "^6.1.5", - "@types/jest": "^29.5.10", - "msw": "~2.x.x", - "typescript": "^5.3.2" + "@testing-library/jest-dom": "^6.4.2", + "@types/jest": "^29.5.12", + "msw": "^2.2.2", + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-blocks/package.json b/webapp/packages/core-blocks/package.json index 734f2e38a4..2117f7d4d1 100644 --- a/webapp/packages/core-blocks/package.json +++ b/webapp/packages/core-blocks/package.json @@ -50,12 +50,12 @@ "@cloudbeaver/core-settings": "~0.1.0", "@cloudbeaver/core-theming": "~0.1.0", "@cloudbeaver/tests-runner": "~0.1.0", - "@testing-library/jest-dom": "^6.1.5", - "@testing-library/react": "^14.1.2", - "@types/jest": "^29.5.10", - "@types/react": "^18.2.42", + "@testing-library/jest-dom": "^6.4.2", + "@testing-library/react": "^14.2.1", + "@types/jest": "^29.5.12", + "@types/react": "^18.2.63", "react": "^18.2.0", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/core-blocks/src/FormControls/InputField/InputField.tsx b/webapp/packages/core-blocks/src/FormControls/InputField/InputField.tsx index f3f59d3ab5..26bad6873b 100644 --- a/webapp/packages/core-blocks/src/FormControls/InputField/InputField.tsx +++ b/webapp/packages/core-blocks/src/FormControls/InputField/InputField.tsx @@ -15,8 +15,10 @@ import { InputFieldBase, type InputFieldBaseProps } from './InputFieldBase'; import { InputFieldState, type InputFieldStateProps } from './InputFieldState'; interface InputFieldType { - (props: InputFieldBaseProps): React.ReactElement | null; - , TKey extends keyof TState>(props: InputFieldStateProps): React.ReactElement | null; + (props: InputFieldBaseProps & React.RefAttributes): React.ReactElement | null; + , TKey extends keyof TState>( + props: InputFieldStateProps & React.RefAttributes, + ): React.ReactElement | null; } export const InputField: InputFieldType = observer, HTMLInputElement>( @@ -27,9 +29,9 @@ export const InputField: InputFieldType = observer; + return ; } - return ; + return ; }), ) as InputFieldType; diff --git a/webapp/packages/core-blocks/src/FormControls/InputField/InputFieldBase.tsx b/webapp/packages/core-blocks/src/FormControls/InputField/InputFieldBase.tsx index b133221fab..cdc54cdf35 100644 --- a/webapp/packages/core-blocks/src/FormControls/InputField/InputFieldBase.tsx +++ b/webapp/packages/core-blocks/src/FormControls/InputField/InputFieldBase.tsx @@ -26,14 +26,13 @@ import { FieldLabel } from '../FieldLabel'; import { useCapsLockTracker } from '../useCapsLockTracker'; import inputFieldStyle from './InputField.m.css'; -export type InputFieldBaseProps = Omit, 'value' | 'onChange' | 'style'> & +export type InputFieldBaseProps = Omit, 'value' | 'onChange' | 'style' | 'ref'> & ILayoutSizeProps & { value?: string; error?: boolean; loading?: boolean; description?: string; labelTooltip?: string; - ref?: React.ForwardedRef; canShowPassword?: boolean; icon?: React.ReactElement; onCustomCopy?: () => void; diff --git a/webapp/packages/core-blocks/src/FormControls/InputField/InputFieldState.tsx b/webapp/packages/core-blocks/src/FormControls/InputField/InputFieldState.tsx index 9b8dc1b263..3fdb281932 100644 --- a/webapp/packages/core-blocks/src/FormControls/InputField/InputFieldState.tsx +++ b/webapp/packages/core-blocks/src/FormControls/InputField/InputFieldState.tsx @@ -16,7 +16,9 @@ export type InputFieldStateProps, TKey extend IFormStateControl; interface InputFieldType { - , TKey extends keyof TState>(props: InputFieldStateProps): React.ReactElement | null; + , TKey extends keyof TState>( + props: InputFieldStateProps & React.RefAttributes, + ): React.ReactElement | null; } export const InputFieldState: InputFieldType = observer, HTMLInputElement>( @@ -29,11 +31,11 @@ export const InputFieldState: InputFieldType = observer ); }), diff --git a/webapp/packages/core-bootstrap/package.json b/webapp/packages/core-bootstrap/package.json index e58afffc61..2a3f4a4665 100644 --- a/webapp/packages/core-bootstrap/package.json +++ b/webapp/packages/core-bootstrap/package.json @@ -55,8 +55,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/core-browser-cookies/package.json b/webapp/packages/core-browser-cookies/package.json index 729f3b6eea..251053e6bc 100644 --- a/webapp/packages/core-browser-cookies/package.json +++ b/webapp/packages/core-browser-cookies/package.json @@ -23,6 +23,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-browser-settings/package.json b/webapp/packages/core-browser-settings/package.json index d0fddf81ef..eaeba91b63 100644 --- a/webapp/packages/core-browser-settings/package.json +++ b/webapp/packages/core-browser-settings/package.json @@ -35,8 +35,8 @@ "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-settings": "~0.1.0", "@cloudbeaver/tests-runner": "~0.1.0", - "@testing-library/jest-dom": "^6.1.3", - "@types/jest": "^29.5.10", - "typescript": "^5.3.2" + "@testing-library/jest-dom": "^6.4.2", + "@types/jest": "^29.5.12", + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-browser/package.json b/webapp/packages/core-browser/package.json index 9774013c24..0ebe3c12d5 100644 --- a/webapp/packages/core-browser/package.json +++ b/webapp/packages/core-browser/package.json @@ -21,14 +21,15 @@ "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-executor": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "dexie": "^3.2.4", + "dexie": "^3.2.6", + "karma": "^6.4.3", "mobx": "^6.12.0", - "workbox-core": "~7.x.x", - "workbox-precaching": "~7.x.x", - "workbox-window": "~7.x.x" + "workbox-core": "^7.0.0", + "workbox-precaching": "^7.0.0", + "workbox-window": "^7.0.0" }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-cli/configs/jest.config.js b/webapp/packages/core-cli/configs/jest.config.js index 6409c18324..e2d167a22c 100644 --- a/webapp/packages/core-cli/configs/jest.config.js +++ b/webapp/packages/core-cli/configs/jest.config.js @@ -10,7 +10,7 @@ module.exports = { transformIgnorePatterns: [ '\\.pnp\\.[^\\/]+$', 'node_modules/(?!@ngrx|(?!deck.gl)|ng-dynamic)', - '/node_modules/(?!(uuid|go-split|@react-dnd|react-dnd-html5-backend|react-dnd|dnd-core|@cloudbeaver))(.*)', + '/node_modules/(?!(uuid|go-split|@react-dnd|react-dnd-html5-backend|@timohausmann|react-dnd|dnd-core|@cloudbeaver))(.*)', ], testPathIgnorePatterns: ['/node_modules/'], moduleNameMapper: { diff --git a/webapp/packages/core-cli/configs/webpack.product.dev.config.js b/webapp/packages/core-cli/configs/webpack.product.dev.config.js index a9767a7d8c..cf457018a3 100644 --- a/webapp/packages/core-cli/configs/webpack.product.dev.config.js +++ b/webapp/packages/core-cli/configs/webpack.product.dev.config.js @@ -67,17 +67,19 @@ module.exports = (env, argv) => { overlay: false, }, server, - proxy: { - '/api': { + proxy: [ + { + context: ['/api'], target: envServer, secure: false, }, - '/api/ws': { + { + context: ['/api/ws'], target: `${urlObject.protocol === 'https:' ? 'wss:' : 'ws:'}//${urlObject.hostname}:${urlObject.port}/api/ws`, ws: true, secure: false, }, - }, + ], // onListening: function (devServer, ...args) { // if (!devServer) { // throw new Error('webpack-dev-server is not defined'); diff --git a/webapp/packages/core-cli/package.json b/webapp/packages/core-cli/package.json index 42b0807f1c..230adc5fec 100644 --- a/webapp/packages/core-cli/package.json +++ b/webapp/packages/core-cli/package.json @@ -25,58 +25,58 @@ "node": ">=20.0.0" }, "dependencies": { - "@babel/cli": "~7.22.15", - "@babel/core": "~7.23.2", - "@babel/plugin-proposal-decorators": "~7.22.3", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-transform-optional-chaining": "^7.21.0", - "@babel/plugin-transform-runtime": "~7.22.15", - "@babel/preset-env": "~7.22.15", - "@babel/preset-react": "~7.22.15", - "@babel/preset-typescript": "~7.22.15", - "babel-loader": "~9.1.3", - "babel-plugin-module-resolver": "~5.0.0", - "babel-plugin-transform-typescript-metadata": "~0.3.2", - "copy-webpack-plugin": "~11.0.0", - "css-loader": "~6.8.1", - "declaration-bundler-webpack-plugin": "~1.0.3", - "extra-watch-webpack-plugin": "~1.0.3", - "html-loader": "~4.2.0", - "html-replace-webpack-plugin": "~2.6.0", - "html-webpack-plugin": "~5.5.3", - "json5-loader": "~4.0.1", - "mini-css-extract-plugin": "~2.7.6", - "peer-deps-externals-webpack-plugin": "~1.0.4", - "pnp-webpack-plugin": "~1.7.0", - "postcss": "~8.4.31", - "postcss-discard-comments": "~6.0.0", - "postcss-loader": "~7.3.3", - "postcss-preset-env": "~8.4.2", - "sass": "~1.66.1", - "sass-loader": "~13.3.2", - "source-map-loader": "~4.0.1", - "style-loader": "~3.3.3", - "thread-loader": "~4.0.2", - "ts-loader": "~9.4.4", - "webpack": "~5.88.2", - "webpack-bundle-analyzer": "~4.9.1", - "webpack-cli": "~5.1.4", - "webpack-dev-server": "~4.15.1", - "webpack-merge": "~5.9.0" + "@babel/cli": "^7.23.9", + "@babel/core": "^7.24.0", + "@babel/plugin-proposal-decorators": "^7.24.0", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-runtime": "^7.24.0", + "@babel/preset-env": "^7.24.0", + "@babel/preset-react": "^7.23.3", + "@babel/preset-typescript": "^7.23.3", + "babel-loader": "^9.1.3", + "babel-plugin-module-resolver": "^5.0.0", + "babel-plugin-transform-typescript-metadata": "^0.3.2", + "copy-webpack-plugin": "^12.0.2", + "css-loader": "^6.10.0", + "declaration-bundler-webpack-plugin": "^1.0.3", + "extra-watch-webpack-plugin": "^1.0.3", + "html-loader": "^5.0.0", + "html-replace-webpack-plugin": "^2.6.0", + "html-webpack-plugin": "^5.6.0", + "json5-loader": "^4.0.1", + "mini-css-extract-plugin": "^2.8.1", + "peer-deps-externals-webpack-plugin": "^1.0.4", + "pnp-webpack-plugin": "^1.7.0", + "postcss": "^8.4.35", + "postcss-discard-comments": "^6.0.1", + "postcss-loader": "^8.1.1", + "postcss-preset-env": "^9.4.0", + "sass": "^1.71.1", + "sass-loader": "^14.1.1", + "source-map-loader": "^5.0.0", + "style-loader": "^3.3.4", + "thread-loader": "^4.0.2", + "ts-loader": "^9.5.1", + "webpack": "^5.90.3", + "webpack-bundle-analyzer": "^4.10.1", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^5.0.2", + "webpack-merge": "^5.10.0" }, "devDependencies": { "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", - "@types/jest": "^29.5.5", - "@types/madge": "^5.0.0", - "allure-commandline": "^2.22.1", - "babel-jest": "~29.6.4", - "fake-indexeddb": "^4.0.2", + "@types/jest": "^29.5.12", + "@types/madge": "^5.0.3", + "allure-commandline": "^2.27.0", + "babel-jest": "^29.7.0", + "fake-indexeddb": "^5.0.2", "glob": "^10.3.10", "http-proxy": "^1.18.1", - "jest": "~29.6.4", + "jest": "^29.7.0", "jest-allure": "^0.1.3", - "jest-environment-jsdom": "~29.6.4", - "jest-jasmine2": "^29.6.4", + "jest-environment-jsdom": "^29.7.0", + "jest-jasmine2": "^29.7.0", "madge": "^6.1.0", "react-refresh": "^0.14.0", "tsconfig-paths-webpack-plugin": "^4.1.0", diff --git a/webapp/packages/core-cli/tests/test.environment.js b/webapp/packages/core-cli/tests/test.environment.js index bd7ec944f4..d0630ed7f6 100644 --- a/webapp/packages/core-cli/tests/test.environment.js +++ b/webapp/packages/core-cli/tests/test.environment.js @@ -12,6 +12,8 @@ module.exports = class CustomTestEnvironment extends Environment { this.global.TextDecoder = TextDecoder; this.global.Response = Response; this.global.Request = Request; + // FIXME https://github.com/jsdom/jsdom/issues/3363 + this.global.structuredClone = structuredClone; // different machine has its own timezones and some tests can fail because of it process.env.TZ = 'UTC'; diff --git a/webapp/packages/core-client-activity/package.json b/webapp/packages/core-client-activity/package.json index 8ac8be39f0..ad4f9b7273 100644 --- a/webapp/packages/core-client-activity/package.json +++ b/webapp/packages/core-client-activity/package.json @@ -23,6 +23,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-connections/package.json b/webapp/packages/core-connections/package.json index cfdf744cdb..edab5962fe 100644 --- a/webapp/packages/core-connections/package.json +++ b/webapp/packages/core-connections/package.json @@ -38,6 +38,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-data-context/package.json b/webapp/packages/core-data-context/package.json index 911dc6f5df..7502604c96 100644 --- a/webapp/packages/core-data-context/package.json +++ b/webapp/packages/core-data-context/package.json @@ -24,6 +24,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-di/package.json b/webapp/packages/core-di/package.json index a9ac4189c9..6a4e778c58 100644 --- a/webapp/packages/core-di/package.json +++ b/webapp/packages/core-di/package.json @@ -24,8 +24,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/jest": "^29.5.10", - "@types/react": "^18.2.42", - "typescript": "^5.3.2" + "@types/jest": "^29.5.12", + "@types/react": "^18.2.63", + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-dialogs/package.json b/webapp/packages/core-dialogs/package.json index 4629e4e1ad..ee44daef80 100644 --- a/webapp/packages/core-dialogs/package.json +++ b/webapp/packages/core-dialogs/package.json @@ -24,6 +24,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-events/package.json b/webapp/packages/core-events/package.json index 4573e974a6..ea17e3d0f0 100644 --- a/webapp/packages/core-events/package.json +++ b/webapp/packages/core-events/package.json @@ -37,8 +37,8 @@ "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-settings": "~0.1.0", "@cloudbeaver/tests-runner": "~0.1.0", - "@testing-library/jest-dom": "^6.1.5", - "@types/jest": "^29.5.10", - "typescript": "^5.3.2" + "@testing-library/jest-dom": "^6.4.2", + "@types/jest": "^29.5.12", + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-executor/package.json b/webapp/packages/core-executor/package.json index 61ac59450a..b65bd3d323 100644 --- a/webapp/packages/core-executor/package.json +++ b/webapp/packages/core-executor/package.json @@ -22,6 +22,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-extensions/package.json b/webapp/packages/core-extensions/package.json index bd4bbe4ba6..5d43126dbb 100644 --- a/webapp/packages/core-extensions/package.json +++ b/webapp/packages/core-extensions/package.json @@ -19,6 +19,6 @@ "dependencies": {}, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-localization/package.json b/webapp/packages/core-localization/package.json index da69f90b14..2c21f98de4 100644 --- a/webapp/packages/core-localization/package.json +++ b/webapp/packages/core-localization/package.json @@ -25,6 +25,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-navigation-tree/package.json b/webapp/packages/core-navigation-tree/package.json index 6ff5dbe7e6..622d1b98cb 100644 --- a/webapp/packages/core-navigation-tree/package.json +++ b/webapp/packages/core-navigation-tree/package.json @@ -52,8 +52,8 @@ "@cloudbeaver/core-ui": "~0.1.0", "@cloudbeaver/core-view": "~0.1.0", "@cloudbeaver/tests-runner": "~0.1.0", - "@testing-library/jest-dom": "^6.1.5", - "@types/jest": "^29.5.10", - "typescript": "^5.3.2" + "@testing-library/jest-dom": "^6.4.2", + "@types/jest": "^29.5.12", + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-notifications/package.json b/webapp/packages/core-notifications/package.json index 8375dbc479..9de6c0d5be 100644 --- a/webapp/packages/core-notifications/package.json +++ b/webapp/packages/core-notifications/package.json @@ -26,8 +26,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/core-plugin/package.json b/webapp/packages/core-plugin/package.json index a8c8768d06..ff80fb0f04 100644 --- a/webapp/packages/core-plugin/package.json +++ b/webapp/packages/core-plugin/package.json @@ -25,6 +25,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-product/package.json b/webapp/packages/core-product/package.json index 23652ff8ce..fc552a8eaa 100644 --- a/webapp/packages/core-product/package.json +++ b/webapp/packages/core-product/package.json @@ -25,6 +25,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-projects/package.json b/webapp/packages/core-projects/package.json index 3db3f8f114..3642de2d4c 100644 --- a/webapp/packages/core-projects/package.json +++ b/webapp/packages/core-projects/package.json @@ -31,6 +31,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-resource-manager/package.json b/webapp/packages/core-resource-manager/package.json index e3ace1fc20..f72372251d 100644 --- a/webapp/packages/core-resource-manager/package.json +++ b/webapp/packages/core-resource-manager/package.json @@ -32,6 +32,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-resource/package.json b/webapp/packages/core-resource/package.json index 745107f3ff..4aa612b5c4 100644 --- a/webapp/packages/core-resource/package.json +++ b/webapp/packages/core-resource/package.json @@ -24,9 +24,9 @@ "mobx": "^6.12.0" }, "devDependencies": { - "@types/jest": "^29.5.10", + "@types/jest": "^29.5.12", "mobx": "^6.12.0", - "typescript": "^5.3.2" + "typescript": "^5.3.3" }, "peerDependencies": {} } diff --git a/webapp/packages/core-root/package.json b/webapp/packages/core-root/package.json index 9b8440fc73..1463778f9e 100644 --- a/webapp/packages/core-root/package.json +++ b/webapp/packages/core-root/package.json @@ -30,8 +30,8 @@ "peerDependencies": {}, "devDependencies": { "@cloudbeaver/core-sdk": "~0.1.0", - "@types/jest": "^29.5.10", - "msw": "~2.x.x", - "typescript": "^5.3.2" + "@types/jest": "^29.5.12", + "msw": "^2.2.2", + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-routing/package.json b/webapp/packages/core-routing/package.json index 66949ff2a5..cfe08a1ac3 100644 --- a/webapp/packages/core-routing/package.json +++ b/webapp/packages/core-routing/package.json @@ -26,6 +26,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-sdk/package.json b/webapp/packages/core-sdk/package.json index d6b41f4d77..95c2cb04e9 100644 --- a/webapp/packages/core-sdk/package.json +++ b/webapp/packages/core-sdk/package.json @@ -23,21 +23,22 @@ "dependencies": { "@cloudbeaver/core-di": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "axios": "^1.6.2", + "axios": "^1.6.7", "graphql-request": "^6.1.0", "mobx": "^6.12.0" }, "devDependencies": { - "@graphql-codegen/add": "~5.0.0", - "@graphql-codegen/cli": "~5.0.0", - "@graphql-codegen/near-operation-file-preset": "~3.0.0", - "@graphql-codegen/typescript": "~4.0.1", - "@graphql-codegen/typescript-graphql-files-modules": "~3.0.0", - "@graphql-codegen/typescript-graphql-request": "~6.0.1", - "@graphql-codegen/typescript-operations": "~4.0.1", - "@parcel/watcher": "~2.3.0", + "@graphql-codegen/add": "^5.0.2", + "@graphql-codegen/cli": "^5.0.2", + "@graphql-codegen/near-operation-file-preset": "^3.0.0", + "@graphql-codegen/typescript": "^4.0.6", + "@graphql-codegen/typescript-graphql-files-modules": "^3.0.0", + "@graphql-codegen/typescript-graphql-request": "^6.2.0", + "@graphql-codegen/typescript-operations": "^4.2.0", + "@parcel/watcher": "^2.4.1", "graphql": "^16.8.1", - "typescript": "^5.3.2" + "graphql-tag": "^2.12.6", + "typescript": "^5.3.3" }, "peerDependencies": {} } diff --git a/webapp/packages/core-server-localization/package.json b/webapp/packages/core-server-localization/package.json index 4d9428d866..842be30ab4 100644 --- a/webapp/packages/core-server-localization/package.json +++ b/webapp/packages/core-server-localization/package.json @@ -24,6 +24,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-session-localization/package.json b/webapp/packages/core-session-localization/package.json index 79ca425e87..3d2302f1f3 100644 --- a/webapp/packages/core-session-localization/package.json +++ b/webapp/packages/core-session-localization/package.json @@ -24,6 +24,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-settings-localization/package.json b/webapp/packages/core-settings-localization/package.json index b35223ce4c..61c7fafc37 100644 --- a/webapp/packages/core-settings-localization/package.json +++ b/webapp/packages/core-settings-localization/package.json @@ -36,8 +36,8 @@ "@cloudbeaver/core-sdk": "~0.1.0", "@cloudbeaver/core-settings": "~0.1.0", "@cloudbeaver/tests-runner": "~0.1.0", - "@testing-library/jest-dom": "^6.1.5", - "@types/jest": "^29.5.10", - "typescript": "^5.3.2" + "@testing-library/jest-dom": "^6.4.2", + "@types/jest": "^29.5.12", + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-settings/package.json b/webapp/packages/core-settings/package.json index e4871a9d2d..692e480dce 100644 --- a/webapp/packages/core-settings/package.json +++ b/webapp/packages/core-settings/package.json @@ -24,6 +24,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-task-manager/package.json b/webapp/packages/core-task-manager/package.json index 6ddd697187..44cac1eb0c 100644 --- a/webapp/packages/core-task-manager/package.json +++ b/webapp/packages/core-task-manager/package.json @@ -24,6 +24,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-theming/package.json b/webapp/packages/core-theming/package.json index 6050b1931b..a7ac60e6d8 100644 --- a/webapp/packages/core-theming/package.json +++ b/webapp/packages/core-theming/package.json @@ -50,9 +50,9 @@ "@material/switch": "~4.0.0", "@material/theme": "~4.0.0", "@material/typography": "~4.0.0", - "@testing-library/jest-dom": "^6.1.5", - "@types/jest": "^29.5.10", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@testing-library/jest-dom": "^6.4.2", + "@types/jest": "^29.5.12", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/core-ui/package.json b/webapp/packages/core-ui/package.json index 6e6d866653..ac2ca6477a 100644 --- a/webapp/packages/core-ui/package.json +++ b/webapp/packages/core-ui/package.json @@ -39,8 +39,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/core-ui/src/ContextMenu/ContextMenu.tsx b/webapp/packages/core-ui/src/ContextMenu/ContextMenu.tsx index 5c6f252e6e..43c216f473 100644 --- a/webapp/packages/core-ui/src/ContextMenu/ContextMenu.tsx +++ b/webapp/packages/core-ui/src/ContextMenu/ContextMenu.tsx @@ -80,6 +80,7 @@ export const ContextMenu = observer( return ( ( disclosure={disclosure} getHasBindings={handlers.hasBindings} onVisibleSwitch={handlers.handleVisibleSwitch} - {...props} > {renderingChildren} diff --git a/webapp/packages/core-ui/src/ContextMenu/SubMenuElement.tsx b/webapp/packages/core-ui/src/ContextMenu/SubMenuElement.tsx index 60a2bf5033..50778176fe 100644 --- a/webapp/packages/core-ui/src/ContextMenu/SubMenuElement.tsx +++ b/webapp/packages/core-ui/src/ContextMenu/SubMenuElement.tsx @@ -76,6 +76,7 @@ export const SubMenuElement = observer( return ( ( getHasBindings={handlers.hasBindings} submenu onVisibleSwitch={handlers.handleVisibleSwitch} - {...rest} > -import Quadtree, { Rectangle } from '@timohausmann/quadtree-ts'; - -export { Quadtree, Rectangle }; +export { Quadtree, Rectangle } from '@timohausmann/quadtree-ts'; diff --git a/webapp/packages/core-utils/src/Quadtree/quadtree.d.ts b/webapp/packages/core-utils/src/Quadtree/quadtree.d.ts deleted file mode 100644 index a909e16c5b..0000000000 --- a/webapp/packages/core-utils/src/Quadtree/quadtree.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* - * CloudBeaver - Cloud Database Manager - * Copyright (C) 2020-2024 DBeaver Corp and others - * - * Licensed under the Apache License, Version 2.0. - * you may not use this file except in compliance with the License. - */ -import { Quadtree } from '@timohausmann/quadtree-ts'; - -declare module '@timohausmann/quadtree-ts' { - export default Quadtree; -} diff --git a/webapp/packages/core-version-update/package.json b/webapp/packages/core-version-update/package.json index 557b9b6558..3924796697 100644 --- a/webapp/packages/core-version-update/package.json +++ b/webapp/packages/core-version-update/package.json @@ -21,11 +21,11 @@ "@cloudbeaver/core-localization": "~0.1.0", "@cloudbeaver/core-version": "~0.1.0", "mobx": "^6.12.0", - "semver": "^7.5.4" + "semver": "^7.6.0" }, "peerDependencies": {}, "devDependencies": { - "@types/semver": "~7.5.6", - "typescript": "^5.3.2" + "@types/semver": "~7.5.8", + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-version/package.json b/webapp/packages/core-version/package.json index 3ac03750ad..7cc601e49a 100644 --- a/webapp/packages/core-version/package.json +++ b/webapp/packages/core-version/package.json @@ -27,7 +27,7 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3" } } diff --git a/webapp/packages/core-view/package.json b/webapp/packages/core-view/package.json index eb88fa5269..529d96d966 100644 --- a/webapp/packages/core-view/package.json +++ b/webapp/packages/core-view/package.json @@ -27,12 +27,12 @@ "mobx": "^6.12.0", "mobx-react-lite": "^4.0.5", "react": "^18.2.0", - "react-hotkeys-hook": "^4.4.1" + "react-hotkeys-hook": "^4.5.0" }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/eslint-plugin/package.json b/webapp/packages/eslint-plugin/package.json index 38418a07fa..854d8ae8cf 100644 --- a/webapp/packages/eslint-plugin/package.json +++ b/webapp/packages/eslint-plugin/package.json @@ -7,12 +7,12 @@ "license": "Apache-2.0", "type": "commonjs", "dependencies": {}, - "peerDependencies": { - "eslint": ">=8.0.0" - }, "keywords": [ "eslint", "eslintplugin", "eslint-plugin" - ] + ], + "devDependencies": { + "eslint": "^8.57.0" + } } diff --git a/webapp/packages/plugin-administration/package.json b/webapp/packages/plugin-administration/package.json index 6268aaf8fe..c50127de37 100644 --- a/webapp/packages/plugin-administration/package.json +++ b/webapp/packages/plugin-administration/package.json @@ -42,8 +42,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-administration/src/Administration/Administration.tsx b/webapp/packages/plugin-administration/src/Administration/Administration.tsx index 670ef4a0dd..ecd5245585 100644 --- a/webapp/packages/plugin-administration/src/Administration/Administration.tsx +++ b/webapp/packages/plugin-administration/src/Administration/Administration.tsx @@ -12,6 +12,7 @@ import styled, { css } from 'reshadow'; import { AdministrationItemService, filterOnlyActive, IAdministrationItemRoute } from '@cloudbeaver/core-administration'; import { Loader, + s, SContext, SlideBox, SlideElement, @@ -19,6 +20,7 @@ import { StyleRegistry, ToolsActionStyles, ToolsPanelStyles, + useS, useStyles, } from '@cloudbeaver/core-blocks'; import { useService } from '@cloudbeaver/core-di'; @@ -106,6 +108,7 @@ export const Administration = observer>(function onItemSelect, children, }) { + const styles = useS(AdministrationToolbarStyles); const contentRef = useRef(null); const administrationViewService = useService(AdministrationViewService); const administrationItemService = useService(AdministrationItemService); @@ -120,7 +123,7 @@ export const Administration = observer>(function }, [activeScreen?.item]); return styled(useStyles(BASE_TAB_STYLES, verticalTabStyles, administrationStyles, tabsStyles))( - + diff --git a/webapp/packages/plugin-administration/src/Administration/AdministrationToolbarStyles.m.css b/webapp/packages/plugin-administration/src/Administration/AdministrationToolbarStyles.m.css index 6c4a2ad535..67dd8feb3f 100644 --- a/webapp/packages/plugin-administration/src/Administration/AdministrationToolbarStyles.m.css +++ b/webapp/packages/plugin-administration/src/Administration/AdministrationToolbarStyles.m.css @@ -1,11 +1,11 @@ -.toolsPanel { +.administration .toolsPanel { height: 44px; } -.buttonLabel { +.administration .buttonLabel { font-size: 14px; } -.button { +.administration .button { padding: 0 16px; -} \ No newline at end of file +} diff --git a/webapp/packages/plugin-authentication-administration/package.json b/webapp/packages/plugin-authentication-administration/package.json index fd1b3bd661..fd8ed5811e 100644 --- a/webapp/packages/plugin-authentication-administration/package.json +++ b/webapp/packages/plugin-authentication-administration/package.json @@ -44,8 +44,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-authentication/package.json b/webapp/packages/plugin-authentication/package.json index db4763e88c..00f1828a54 100644 --- a/webapp/packages/plugin-authentication/package.json +++ b/webapp/packages/plugin-authentication/package.json @@ -41,8 +41,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-browser/package.json b/webapp/packages/plugin-browser/package.json index 28852c8eb7..ba33acf6ed 100644 --- a/webapp/packages/plugin-browser/package.json +++ b/webapp/packages/plugin-browser/package.json @@ -25,6 +25,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/plugin-codemirror6/package.json b/webapp/packages/plugin-codemirror6/package.json index 114ab40b39..d2442c6f1d 100644 --- a/webapp/packages/plugin-codemirror6/package.json +++ b/webapp/packages/plugin-codemirror6/package.json @@ -20,18 +20,19 @@ "@cloudbeaver/core-blocks": "~0.1.0", "@cloudbeaver/core-theming": "~0.1.0", "@cloudbeaver/core-utils": "~0.1.0", - "@codemirror/autocomplete": "6.11.1", - "@codemirror/commands": "6.3.2", - "@codemirror/lang-html": "6.4.7", - "@codemirror/lang-javascript": "6.2.1", + "@codemirror/autocomplete": "6.13.0", + "@codemirror/commands": "6.3.3", + "@codemirror/lang-html": "6.4.8", + "@codemirror/lang-javascript": "6.2.2", "@codemirror/lang-json": "6.0.1", - "@codemirror/lang-sql": "6.5.4", + "@codemirror/lang-sql": "6.6.1", "@codemirror/lang-xml": "6.0.2", - "@codemirror/language": "6.9.3", - "@codemirror/merge": "6.3.1", - "@codemirror/search": "6.5.5", - "@codemirror/state": "6.3.3", - "@codemirror/view": "6.22.1", + "@codemirror/language": "6.10.1", + "@codemirror/merge": "6.6.0", + "@codemirror/search": "6.5.6", + "@codemirror/state": "6.4.1", + "@codemirror/view": "6.25.0", + "@lezer/common": "^1.2.1", "@lezer/highlight": "^1.2.0", "mobx-react-lite": "^4.0.5", "react": "^18.2.0", @@ -40,8 +41,8 @@ "peerDependencies": {}, "devDependencies": { "@cloudbeaver/core-theming": "~0.1.0", - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-connection-custom/package.json b/webapp/packages/plugin-connection-custom/package.json index 0b37b0ace1..50b1c5857b 100644 --- a/webapp/packages/plugin-connection-custom/package.json +++ b/webapp/packages/plugin-connection-custom/package.json @@ -35,8 +35,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-connection-search/package.json b/webapp/packages/plugin-connection-search/package.json index c3143cee39..c47e2ea8c8 100644 --- a/webapp/packages/plugin-connection-search/package.json +++ b/webapp/packages/plugin-connection-search/package.json @@ -39,8 +39,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-connection-template/package.json b/webapp/packages/plugin-connection-template/package.json index 14a551e016..01a4b7cf74 100644 --- a/webapp/packages/plugin-connection-template/package.json +++ b/webapp/packages/plugin-connection-template/package.json @@ -38,8 +38,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-connections-administration/package.json b/webapp/packages/plugin-connections-administration/package.json index 188cca211f..68a58a05d4 100644 --- a/webapp/packages/plugin-connections-administration/package.json +++ b/webapp/packages/plugin-connections-administration/package.json @@ -40,8 +40,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-connections/package.json b/webapp/packages/plugin-connections/package.json index 9a8242484f..5323b561de 100644 --- a/webapp/packages/plugin-connections/package.json +++ b/webapp/packages/plugin-connections/package.json @@ -46,8 +46,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-d3js/package.json b/webapp/packages/plugin-d3js/package.json index 57f0dc1baf..dda00ad2d8 100644 --- a/webapp/packages/plugin-d3js/package.json +++ b/webapp/packages/plugin-d3js/package.json @@ -25,7 +25,7 @@ "devDependencies": { "@types/d3": "^7.4.3", "@types/d3-drag": "^3.0.7", - "typescript": "^5.3.2" + "typescript": "^5.3.3" }, "peerDependencies": {} } diff --git a/webapp/packages/plugin-data-export/package.json b/webapp/packages/plugin-data-export/package.json index cca56232f5..ae40153a47 100644 --- a/webapp/packages/plugin-data-export/package.json +++ b/webapp/packages/plugin-data-export/package.json @@ -67,10 +67,10 @@ "@cloudbeaver/plugin-navigation-tree": "~0.1.0", "@cloudbeaver/plugin-object-viewer": "~0.1.0", "@cloudbeaver/tests-runner": "~0.1.0", - "@testing-library/jest-dom": "^6.1.5", - "@types/jest": "^29.5.10", - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@testing-library/jest-dom": "^6.4.2", + "@types/jest": "^29.5.12", + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-data-spreadsheet-new/package.json b/webapp/packages/plugin-data-spreadsheet-new/package.json index 35d922a02e..8adf9bd91c 100644 --- a/webapp/packages/plugin-data-spreadsheet-new/package.json +++ b/webapp/packages/plugin-data-spreadsheet-new/package.json @@ -70,10 +70,10 @@ "@cloudbeaver/plugin-navigation-tree": "~0.1.0", "@cloudbeaver/plugin-object-viewer": "~0.1.0", "@cloudbeaver/tests-runner": "~0.1.0", - "@testing-library/jest-dom": "^6.1.5", - "@types/jest": "^29.5.10", - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@testing-library/jest-dom": "^6.4.2", + "@types/jest": "^29.5.12", + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-data-viewer-result-set-grouping/package.json b/webapp/packages/plugin-data-viewer-result-set-grouping/package.json index 24d4a716ab..8d7938ceb1 100644 --- a/webapp/packages/plugin-data-viewer-result-set-grouping/package.json +++ b/webapp/packages/plugin-data-viewer-result-set-grouping/package.json @@ -36,8 +36,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-data-viewer/package.json b/webapp/packages/plugin-data-viewer/package.json index ee5db29317..2398e26d6b 100644 --- a/webapp/packages/plugin-data-viewer/package.json +++ b/webapp/packages/plugin-data-viewer/package.json @@ -71,10 +71,10 @@ "@cloudbeaver/plugin-navigation-tree": "~0.1.0", "@cloudbeaver/plugin-object-viewer": "~0.1.0", "@cloudbeaver/tests-runner": "~0.1.0", - "@testing-library/jest-dom": "^6.1.5", - "@types/jest": "^29.5.10", - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@testing-library/jest-dom": "^6.4.2", + "@types/jest": "^29.5.12", + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-datasource-context-switch/package.json b/webapp/packages/plugin-datasource-context-switch/package.json index 5baa2005bc..bc2b872c74 100644 --- a/webapp/packages/plugin-datasource-context-switch/package.json +++ b/webapp/packages/plugin-datasource-context-switch/package.json @@ -37,8 +37,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-ddl-viewer/package.json b/webapp/packages/plugin-ddl-viewer/package.json index f4fc363050..195e7c5860 100644 --- a/webapp/packages/plugin-ddl-viewer/package.json +++ b/webapp/packages/plugin-ddl-viewer/package.json @@ -38,8 +38,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-devtools/package.json b/webapp/packages/plugin-devtools/package.json index 024ae52605..ec86526bbf 100644 --- a/webapp/packages/plugin-devtools/package.json +++ b/webapp/packages/plugin-devtools/package.json @@ -33,8 +33,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-gis-viewer/package.json b/webapp/packages/plugin-gis-viewer/package.json index 50b1f2976a..8b3a1688a0 100644 --- a/webapp/packages/plugin-gis-viewer/package.json +++ b/webapp/packages/plugin-gis-viewer/package.json @@ -36,11 +36,10 @@ "devDependencies": { "@types/leaflet": "^1.9.8", "@types/proj4": "^2.5.5", - "@types/react": "^18.2.42", - "@types/react-leaflet": "~3.0.0", + "@types/react": "^18.2.63", "@types/wellknown": "~0.5.8", "leaflet": "^1.9.4", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-help/package.json b/webapp/packages/plugin-help/package.json index 16987a2420..b39e385584 100644 --- a/webapp/packages/plugin-help/package.json +++ b/webapp/packages/plugin-help/package.json @@ -34,8 +34,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-localization/package.json b/webapp/packages/plugin-localization/package.json index a77e42e25c..0f6e95a367 100644 --- a/webapp/packages/plugin-localization/package.json +++ b/webapp/packages/plugin-localization/package.json @@ -25,6 +25,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/plugin-log-viewer/package.json b/webapp/packages/plugin-log-viewer/package.json index 5ac07403b3..d852e2d412 100644 --- a/webapp/packages/plugin-log-viewer/package.json +++ b/webapp/packages/plugin-log-viewer/package.json @@ -52,10 +52,10 @@ "@cloudbeaver/core-view": "~0.1.0", "@cloudbeaver/plugin-tools-panel": "~0.1.0", "@cloudbeaver/tests-runner": "~0.1.0", - "@testing-library/jest-dom": "^6.1.5", - "@types/jest": "^29.5.10", - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@testing-library/jest-dom": "^6.4.2", + "@types/jest": "^29.5.12", + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-navigation-tabs/package.json b/webapp/packages/plugin-navigation-tabs/package.json index 28100f2b77..0d5609e3bf 100644 --- a/webapp/packages/plugin-navigation-tabs/package.json +++ b/webapp/packages/plugin-navigation-tabs/package.json @@ -39,7 +39,7 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3" } } diff --git a/webapp/packages/plugin-navigation-tree-filters/package.json b/webapp/packages/plugin-navigation-tree-filters/package.json index a6b6ad2c2d..b55d47457c 100644 --- a/webapp/packages/plugin-navigation-tree-filters/package.json +++ b/webapp/packages/plugin-navigation-tree-filters/package.json @@ -33,8 +33,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-navigation-tree-rm/package.json b/webapp/packages/plugin-navigation-tree-rm/package.json index 1e2f38b32e..a7fba9a90b 100644 --- a/webapp/packages/plugin-navigation-tree-rm/package.json +++ b/webapp/packages/plugin-navigation-tree-rm/package.json @@ -42,8 +42,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-navigation-tree/package.json b/webapp/packages/plugin-navigation-tree/package.json index 249e835536..557047c29d 100644 --- a/webapp/packages/plugin-navigation-tree/package.json +++ b/webapp/packages/plugin-navigation-tree/package.json @@ -66,10 +66,10 @@ "@cloudbeaver/plugin-datasource-context-switch": "~0.1.0", "@cloudbeaver/plugin-navigation-tabs": "~0.1.0", "@cloudbeaver/tests-runner": "~0.1.0", - "@testing-library/jest-dom": "^6.1.5", - "@types/jest": "^29.5.10", - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@testing-library/jest-dom": "^6.4.2", + "@types/jest": "^29.5.12", + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-navigation-tree/src/NavigationTree/ElementsTree/NavigationNodeComponent.ts b/webapp/packages/plugin-navigation-tree/src/NavigationTree/ElementsTree/NavigationNodeComponent.ts index 8c23b92096..cbf8822c2a 100644 --- a/webapp/packages/plugin-navigation-tree/src/NavigationTree/ElementsTree/NavigationNodeComponent.ts +++ b/webapp/packages/plugin-navigation-tree/src/NavigationTree/ElementsTree/NavigationNodeComponent.ts @@ -29,11 +29,12 @@ export type NavTreeControlProps = { expanded?: boolean; className?: string; style?: ComponentStyle; - ref?: React.Ref | undefined; onClick?: (event: React.MouseEvent) => void; }; -export type NavTreeControlComponent = React.ForwardRefExoticComponent; +export type NavTreeControlComponent = + | React.MemoExoticComponent & React.RefAttributes>> + | React.ForwardRefExoticComponent & React.RefAttributes>; export type NavigationNodeComponent = React.FC<{ node: NavNode; diff --git a/webapp/packages/plugin-navigation-tree/src/NavigationTree/ElementsTree/NavigationTreeNode/NavigationNode/NavigationNodeControl.tsx b/webapp/packages/plugin-navigation-tree/src/NavigationTree/ElementsTree/NavigationTreeNode/NavigationNode/NavigationNodeControl.tsx index d37298cf8a..5b62117cd9 100644 --- a/webapp/packages/plugin-navigation-tree/src/NavigationTree/ElementsTree/NavigationTreeNode/NavigationNode/NavigationNodeControl.tsx +++ b/webapp/packages/plugin-navigation-tree/src/NavigationTree/ElementsTree/NavigationTreeNode/NavigationNode/NavigationNodeControl.tsx @@ -26,7 +26,7 @@ import { useService } from '@cloudbeaver/core-di'; import { EventContext, EventStopPropagationFlag } from '@cloudbeaver/core-events'; import { getNodePlainName, type INodeActions, NavNodeInfoResource, NavTreeResource } from '@cloudbeaver/core-navigation-tree'; -import type { NavTreeControlComponent, NavTreeControlProps } from '../../NavigationNodeComponent'; +import type { NavTreeControlComponent } from '../../NavigationNodeComponent'; import { TreeNodeMenuLoader } from '../TreeNodeMenu/TreeNodeMenuLoader'; import { DATA_ATTRIBUTE_NODE_EDITING } from './DATA_ATTRIBUTE_NODE_EDITING'; import style from './NavigationNodeControl.m.css'; @@ -47,7 +47,7 @@ interface IEditingState { cancel(): void; } -export const NavigationNodeControl: NavTreeControlComponent = observer( +export const NavigationNodeControl: NavTreeControlComponent = observer( forwardRef(function NavigationNodeControl({ node, nodeInfo, dndElement, dndPlaceholder, className, onClick }, ref) { const styles = useS(style); const mouseContextMenu = useMouseContextMenu(); diff --git a/webapp/packages/plugin-navigation-tree/src/TreeNew/INodeRenderer.ts b/webapp/packages/plugin-navigation-tree/src/TreeNew/INodeRenderer.ts index 13442f9d7c..f1e4837d59 100644 --- a/webapp/packages/plugin-navigation-tree/src/TreeNew/INodeRenderer.ts +++ b/webapp/packages/plugin-navigation-tree/src/TreeNew/INodeRenderer.ts @@ -15,7 +15,9 @@ export interface INodeControlBaseProps extends React.RefAttributes; +export type NodeControlComponent = + | React.MemoExoticComponent & React.RefAttributes>> + | React.ForwardRefExoticComponent & React.RefAttributes>; export interface INodeComponentProps extends INodeComponentBaseProps { childrenRenderer: React.FC; diff --git a/webapp/packages/plugin-object-viewer/package.json b/webapp/packages/plugin-object-viewer/package.json index fa665453bd..63ed292a73 100644 --- a/webapp/packages/plugin-object-viewer/package.json +++ b/webapp/packages/plugin-object-viewer/package.json @@ -45,8 +45,8 @@ "peerDependencies": {}, "devDependencies": { "@cloudbeaver/core-theming": "~0.1.0", - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-product/package.json b/webapp/packages/plugin-product/package.json index 9ef12db54b..1d644f8600 100644 --- a/webapp/packages/plugin-product/package.json +++ b/webapp/packages/plugin-product/package.json @@ -31,8 +31,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-projects/package.json b/webapp/packages/plugin-projects/package.json index 75a14972b9..4131b66406 100644 --- a/webapp/packages/plugin-projects/package.json +++ b/webapp/packages/plugin-projects/package.json @@ -30,8 +30,8 @@ }, "peerDependencies": {}, "devDependencies": { - "@types/react": "^18.2.42", - "typescript": "^5.3.2", - "typescript-plugin-css-modules": "^5.0.2" + "@types/react": "^18.2.63", + "typescript": "^5.3.3", + "typescript-plugin-css-modules": "^5.1.0" } } diff --git a/webapp/packages/plugin-react-data-grid/package.json b/webapp/packages/plugin-react-data-grid/package.json index 6a20043f40..dfc1447d7d 100644 --- a/webapp/packages/plugin-react-data-grid/package.json +++ b/webapp/packages/plugin-react-data-grid/package.json @@ -21,6 +21,6 @@ }, "peerDependencies": {}, "devDependencies": { - "typescript": "^5.3.2" + "typescript": "^5.3.3" } } diff --git a/webapp/packages/plugin-react-data-grid/react-data-grid-dist/lib/bundle.cjs b/webapp/packages/plugin-react-data-grid/react-data-grid-dist/lib/bundle.cjs index a6a8104353..5ad9061973 100644 --- a/webapp/packages/plugin-react-data-grid/react-data-grid-dist/lib/bundle.cjs +++ b/webapp/packages/plugin-react-data-grid/react-data-grid-dist/lib/bundle.cjs @@ -45,6 +45,8 @@ function isCtrlKeyHeldDown(e) { return (e.ctrlKey || e.metaKey) && e.key !== 'Control'; } function isDefaultCellInput(event) { + const vKey = 86; + if (isCtrlKeyHeldDown(event) && event.keyCode !== vKey) return false; return !nonInputKeys.has(event.key); } function onEditorNavigation({ @@ -57,7 +59,7 @@ function onEditorNavigation({ return false; } -const measuringCellClassname = "mlln6zg7-0-0-beta-41"; +const measuringCellClassname = "mlln6zg7-0-0-beta-42"; function renderMeasuringCells(viewportColumns) { return viewportColumns.map(({ key, @@ -262,12 +264,10 @@ function canExitGrid({ return shiftKey ? atFirstCellInRow && atFirstRow : atLastCellInRow && atLastRow; } -const cell = "cj343x07-0-0-beta-41"; +const cell = "cj343x07-0-0-beta-42"; const cellClassname = `rdg-cell ${cell}`; -const cellFrozen = "csofj7r7-0-0-beta-41"; +const cellFrozen = "csofj7r7-0-0-beta-42"; const cellFrozenClassname = `rdg-cell-frozen ${cellFrozen}`; -const cellFrozenLast = "ch2wcw87-0-0-beta-41"; -const cellFrozenLastClassname = `rdg-cell-frozen-last ${cellFrozenLast}`; function getRowStyle(rowIdx, height) { if (height !== undefined) { @@ -307,7 +307,7 @@ function getCellStyle(column, colSpan = 1) { }; } function getCellClassname(column, ...extraClasses) { - return clsx(cellClassname, ...extraClasses, column.frozen && cellFrozenClassname, column.isLastFrozenColumn && cellFrozenLastClassname); + return clsx(cellClassname, ...extraClasses, column.frozen && cellFrozenClassname); } const { @@ -336,13 +336,13 @@ function getHeaderCellRowSpan(column, rowIdx) { return column.parent === undefined ? rowIdx : column.level - column.parent.level; } -const checkboxLabel = "c1bn88vv7-0-0-beta-41"; +const checkboxLabel = "c1bn88vv7-0-0-beta-42"; const checkboxLabelClassname = `rdg-checkbox-label ${checkboxLabel}`; -const checkboxInput = "c1qt073l7-0-0-beta-41"; +const checkboxInput = "c1qt073l7-0-0-beta-42"; const checkboxInputClassname = `rdg-checkbox-input ${checkboxInput}`; -const checkbox = "cf71kmq7-0-0-beta-41"; +const checkbox = "cf71kmq7-0-0-beta-42"; const checkboxClassname = `rdg-checkbox ${checkbox}`; -const checkboxLabelDisabled = "c1lwve4p7-0-0-beta-41"; +const checkboxLabelDisabled = "c1lwve4p7-0-0-beta-42"; const checkboxLabelDisabledClassname = `rdg-checkbox-label-disabled ${checkboxLabelDisabled}`; function renderCheckbox({ onChange, @@ -364,9 +364,9 @@ function renderCheckbox({ }); } -const groupCellContent = "g1s9ylgp7-0-0-beta-41"; +const groupCellContent = "g1s9ylgp7-0-0-beta-42"; const groupCellContentClassname = `rdg-group-cell-content ${groupCellContent}`; -const caret = "cz54e4y7-0-0-beta-41"; +const caret = "cz54e4y7-0-0-beta-42"; const caretClassname = `rdg-caret ${caret}`; function renderToggleGroup(props) { return /*#__PURE__*/jsxRuntime.jsx(ToggleGroup, { @@ -571,7 +571,6 @@ function useCalculatedColumns({ idx: 0, level: 0, frozen, - isLastFrozenColumn: false, width: rawColumn.width ?? defaultWidth, minWidth: rawColumn.minWidth ?? defaultMinWidth, maxWidth: rawColumn.maxWidth ?? defaultMaxWidth, @@ -613,9 +612,6 @@ function useCalculatedColumns({ colSpanColumns.push(column); } }); - if (lastFrozenColumnIndex !== -1) { - columns[lastFrozenColumnIndex].isLastFrozenColumn = true; - } return { columns, colSpanColumns, @@ -1031,9 +1027,9 @@ function useViewportRows({ }; } -const cellCopied = "c6ra8a37-0-0-beta-41"; +const cellCopied = "c6ra8a37-0-0-beta-42"; const cellCopiedClassname = `rdg-cell-copied ${cellCopied}`; -const cellDraggedOver = "cq910m07-0-0-beta-41"; +const cellDraggedOver = "cq910m07-0-0-beta-42"; const cellDraggedOverClassname = `rdg-cell-dragged-over ${cellDraggedOver}`; function Cell({ column, @@ -1139,8 +1135,8 @@ function defaultRenderCell(key, props) { }, key); } -const cellDragHandle = "c1w9bbhr7-0-0-beta-41"; -const cellDragHandleFrozenClassname = "c1creorc7-0-0-beta-41"; +const cellDragHandle = "c1w9bbhr7-0-0-beta-42"; +const cellDragHandleFrozenClassname = "c1creorc7-0-0-beta-42"; const cellDragHandleClassname = `rdg-cell-drag-handle ${cellDragHandle}`; function DragHandle({ gridRowStart, @@ -1245,7 +1241,7 @@ function DragHandle({ }); } -const cellEditing = "cis5rrm7-0-0-beta-41"; +const cellEditing = "cis5rrm7-0-0-beta-42"; function EditCell({ column, colSpan, @@ -1383,8 +1379,8 @@ function GroupedColumnHeaderCell({ }); } -const headerSortCellClassname = "h44jtk67-0-0-beta-41"; -const headerSortName = "hcgkhxz7-0-0-beta-41"; +const headerSortCellClassname = "h44jtk67-0-0-beta-42"; +const headerSortName = "hcgkhxz7-0-0-beta-42"; const headerSortNameClassname = `rdg-header-sort-name ${headerSortName}`; function renderHeaderCell({ column, @@ -1418,14 +1414,14 @@ function SortableHeaderCell({ }); } -const cellSortableClassname = "c6l2wv17-0-0-beta-41"; -const cellResizable = "c1kqdw7y7-0-0-beta-41"; +const cellSortableClassname = "c6l2wv17-0-0-beta-42"; +const cellResizable = "c1kqdw7y7-0-0-beta-42"; const cellResizableClassname = `rdg-cell-resizable ${cellResizable}`; -const resizeHandleClassname = "r1y6ywlx7-0-0-beta-41"; +const resizeHandleClassname = "r1y6ywlx7-0-0-beta-42"; const cellDraggableClassname = 'rdg-cell-draggable'; -const cellDragging = "c1bezg5o7-0-0-beta-41"; +const cellDragging = "c1bezg5o7-0-0-beta-42"; const cellDraggingClassname = `rdg-cell-dragging ${cellDragging}`; -const cellOver = "c1vc96037-0-0-beta-41"; +const cellOver = "c1vc96037-0-0-beta-42"; const cellOverClassname = `rdg-cell-drag-over ${cellOver}`; function HeaderCell({ column, @@ -1633,13 +1629,15 @@ function isEventPertinent(event) { return !event.currentTarget.contains(relatedTarget); } -const row = "r1upfr807-0-0-beta-41"; +const row = "r1upfr807-0-0-beta-42"; const rowClassname = `rdg-row ${row}`; -const rowSelected = "r190mhd37-0-0-beta-41"; +const rowSelected = "r190mhd37-0-0-beta-42"; const rowSelectedClassname = 'rdg-row-selected'; -const rowSelectedWithFrozenCell = "r139qu9m7-0-0-beta-41"; +const rowSelectedWithFrozenCell = "r139qu9m7-0-0-beta-42"; +const topSummaryRowClassname = 'rdg-top-summary-row'; +const bottomSummaryRowClassname = 'rdg-bottom-summary-row'; -const headerRow = "h10tskcx7-0-0-beta-41"; +const headerRow = "h10tskcx7-0-0-beta-42"; const headerRowClassname = `rdg-header-row ${headerRow}`; function HeaderRow({ rowIdx, @@ -1848,7 +1846,7 @@ function ScrollToCell({ }); } -const arrow = "a3ejtar7-0-0-beta-41"; +const arrow = "a3ejtar7-0-0-beta-42"; const arrowClassname = `rdg-sort-arrow ${arrow}`; function renderSortStatus({ sortDirection, @@ -1883,14 +1881,14 @@ function renderSortPriority({ return priority; } -const root = "rnvodz57-0-0-beta-41"; +const root = "rnvodz57-0-0-beta-42"; const rootClassname = `rdg ${root}`; -const viewportDragging = "vlqv91k7-0-0-beta-41"; +const viewportDragging = "vlqv91k7-0-0-beta-42"; const viewportDraggingClassname = `rdg-viewport-dragging ${viewportDragging}`; -const focusSinkClassname = "f1lsfrzw7-0-0-beta-41"; -const focusSinkHeaderAndSummaryClassname = "f1cte0lg7-0-0-beta-41"; +const focusSinkClassname = "f1lsfrzw7-0-0-beta-42"; +const focusSinkHeaderAndSummaryClassname = "f1cte0lg7-0-0-beta-42"; -const summaryCellClassname = "s8wc6fl7-0-0-beta-41"; +const summaryCellClassname = "s8wc6fl7-0-0-beta-42"; function SummaryCell({ column, colSpan, @@ -1933,12 +1931,9 @@ function SummaryCell({ } const SummaryCell$1 = /*#__PURE__*/react.memo(SummaryCell); -const summaryRow = "skuhp557-0-0-beta-41"; -const topSummaryRow = "tf8l5ub7-0-0-beta-41"; -const topSummaryRowBorderClassname = "tb9ughf7-0-0-beta-41"; -const bottomSummaryRowBorderClassname = "b1yssfnt7-0-0-beta-41"; +const summaryRow = "skuhp557-0-0-beta-42"; +const topSummaryRow = "tf8l5ub7-0-0-beta-42"; const summaryRowClassname = `rdg-summary-row ${summaryRow}`; -const topSummaryRowClassname = `rdg-top-summary-row ${topSummaryRow}`; function SummaryRow({ rowIdx, gridRowStart, @@ -1949,7 +1944,6 @@ function SummaryRow({ lastFrozenColumnIndex, selectedCellIdx, isTop, - showBorder, selectCell, 'aria-rowindex': ariaRowIndex }) { @@ -1976,7 +1970,7 @@ function SummaryRow({ return /*#__PURE__*/jsxRuntime.jsx("div", { role: "row", "aria-rowindex": ariaRowIndex, - className: clsx(rowClassname, `rdg-row-${rowIdx % 2 === 0 ? 'even' : 'odd'}`, summaryRowClassname, isTop ? [topSummaryRowClassname, showBorder && topSummaryRowBorderClassname] : ['rdg-bottom-summary-row', showBorder && bottomSummaryRowBorderClassname], selectedCellIdx === -1 && rowSelectedClassname), + className: clsx(rowClassname, `rdg-row-${rowIdx % 2 === 0 ? 'even' : 'odd'}`, summaryRowClassname, isTop ? `${topSummaryRowClassname} ${topSummaryRow}` : bottomSummaryRowClassname, selectedCellIdx === -1 && rowSelectedClassname), style: { ...getRowStyle(gridRowStart), '--rdg-summary-row-top': top !== undefined ? `${top}px` : undefined, @@ -2270,6 +2264,7 @@ function DataGrid(props, ref) { const cKey = 67; const vKey = 86; if (keyCode === cKey) { + if (window.getSelection()?.isCollapsed === false) return; handleCopy(); return; } @@ -2807,7 +2802,6 @@ function DataGrid(props, ref) { lastFrozenColumnIndex: lastFrozenColumnIndex, selectedCellIdx: isSummaryRowSelected ? selectedPosition.idx : undefined, isTop: true, - showBorder: rowIdx === topSummaryRowsCount - 1, selectCell: selectCellLatest }, rowIdx); }), getViewportRows(), bottomSummaryRows?.map((row, rowIdx) => { @@ -2827,7 +2821,6 @@ function DataGrid(props, ref) { lastFrozenColumnIndex: lastFrozenColumnIndex, selectedCellIdx: isSummaryRowSelected ? selectedPosition.idx : undefined, isTop: false, - showBorder: rowIdx === 0, selectCell: selectCellLatest }, rowIdx); })] @@ -2901,7 +2894,7 @@ function GroupCell({ } const GroupCell$1 = /*#__PURE__*/react.memo(GroupCell); -const groupRow = "g1yxluv37-0-0-beta-41"; +const groupRow = "g1yxluv37-0-0-beta-42"; const groupRowClassname = `rdg-group-row ${groupRow}`; function GroupedRow({ className, @@ -3196,11 +3189,11 @@ function TreeDataGrid({ if (!onRowsChange) return; const updatedRawRows = [...rawRows]; const rawIndexes = []; - indexes.forEach(index => { + for (const index of indexes) { const rawIndex = rawRows.indexOf(rows[index]); updatedRawRows[rawIndex] = updatedRows[index]; rawIndexes.push(rawIndex); - }); + } onRowsChange(updatedRawRows, { indexes: rawIndexes, column @@ -3291,7 +3284,7 @@ function isReadonlyArray(arr) { } const TreeDataGrid$1 = /*#__PURE__*/react.forwardRef(TreeDataGrid); -const textEditorInternalClassname = "t7vyx3i7-0-0-beta-41"; +const textEditorInternalClassname = "t7vyx3i7-0-0-beta-42"; const textEditorClassname = `rdg-text-editor ${textEditorInternalClassname}`; function autoFocusAndSelect(input) { input?.focus(); diff --git a/webapp/packages/plugin-react-data-grid/react-data-grid-dist/lib/bundle.cjs.map b/webapp/packages/plugin-react-data-grid/react-data-grid-dist/lib/bundle.cjs.map index add99e67c1..9bd3dede43 100644 --- a/webapp/packages/plugin-react-data-grid/react-data-grid-dist/lib/bundle.cjs.map +++ b/webapp/packages/plugin-react-data-grid/react-data-grid-dist/lib/bundle.cjs.map @@ -1 +1 @@ -{"version":3,"file":"bundle.cjs","sources":["../src/utils/colSpanUtils.ts","../src/utils/domUtils.ts","../src/utils/eventUtils.ts","../src/utils/keyboardUtils.ts","../src/utils/renderMeasuringCells.tsx","../src/utils/selectedCellUtils.ts","../src/style/cell.ts","../src/utils/styleUtils.ts","../src/utils/index.ts","../src/cellRenderers/renderCheckbox.tsx","../src/cellRenderers/renderToggleGroup.tsx","../src/cellRenderers/renderValue.tsx","../src/DataGridDefaultRenderersProvider.ts","../src/cellRenderers/SelectCellFormatter.tsx","../src/hooks/useRowSelection.ts","../src/Columns.tsx","../src/hooks/useCalculatedColumns.ts","../src/hooks/useLayoutEffect.ts","../src/hooks/useColumnWidths.ts","../src/hooks/useGridDimensions.ts","../src/hooks/useLatestFunc.ts","../src/hooks/useRovingTabIndex.ts","../src/hooks/useViewportColumns.ts","../src/hooks/useViewportRows.ts","../src/Cell.tsx","../src/DragHandle.tsx","../src/EditCell.tsx","../src/GroupedColumnHeaderCell.tsx","../src/renderHeaderCell.tsx","../src/HeaderCell.tsx","../src/style/row.ts","../src/HeaderRow.tsx","../src/GroupedColumnHeaderRow.tsx","../src/Row.tsx","../src/ScrollToCell.tsx","../src/sortStatus.tsx","../src/style/core.ts","../src/SummaryCell.tsx","../src/SummaryRow.tsx","../src/DataGrid.tsx","../src/GroupCell.tsx","../src/GroupRow.tsx","../src/TreeDataGrid.tsx","../src/editors/textEditor.tsx"],"sourcesContent":["import type { CalculatedColumn, ColSpanArgs } from '../types';\n\nexport function getColSpan(\n column: CalculatedColumn,\n lastFrozenColumnIndex: number,\n args: ColSpanArgs\n): number | undefined {\n const colSpan = typeof column.colSpan === 'function' ? column.colSpan(args) : 1;\n if (\n Number.isInteger(colSpan) &&\n colSpan! > 1 &&\n // ignore colSpan if it spans over both frozen and regular columns\n (!column.frozen || column.idx + colSpan! - 1 <= lastFrozenColumnIndex)\n ) {\n return colSpan!;\n }\n return undefined;\n}\n","import type { Maybe } from '../types';\n\nexport function stopPropagation(event: React.SyntheticEvent) {\n event.stopPropagation();\n}\n\nexport function scrollIntoView(element: Maybe) {\n element?.scrollIntoView({ inline: 'nearest', block: 'nearest' });\n}\n","import type { CellEvent } from '../types';\n\nexport function createCellEvent>(\n event: E\n): CellEvent {\n let defaultPrevented = false;\n const cellEvent = {\n ...event,\n preventGridDefault() {\n defaultPrevented = true;\n },\n isGridDefaultPrevented() {\n return defaultPrevented;\n }\n };\n\n Object.setPrototypeOf(cellEvent, Object.getPrototypeOf(event));\n\n return cellEvent;\n}\n","// https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key/Key_Values\nconst nonInputKeys = new Set([\n // Special keys\n 'Unidentified',\n // Modifier keys\n 'Alt',\n 'AltGraph',\n 'CapsLock',\n 'Control',\n 'Fn',\n 'FnLock',\n 'Meta',\n 'NumLock',\n 'ScrollLock',\n 'Shift',\n // Whitespace keys\n 'Tab',\n // Navigation keys\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'End',\n 'Home',\n 'PageDown',\n 'PageUp',\n // Editing\n 'Insert',\n // UI keys\n 'ContextMenu',\n 'Escape',\n 'Pause',\n 'Play',\n // Device keys\n 'PrintScreen',\n // Function keys\n 'F1',\n // 'F2', /!\\ specifically allowed, do not edit\n 'F3',\n 'F4',\n 'F5',\n 'F6',\n 'F7',\n 'F8',\n 'F9',\n 'F10',\n 'F11',\n 'F12'\n]);\n\nexport function isCtrlKeyHeldDown(e: React.KeyboardEvent): boolean {\n return (e.ctrlKey || e.metaKey) && e.key !== 'Control';\n}\n\nexport function isDefaultCellInput(event: React.KeyboardEvent): boolean {\n return !nonInputKeys.has(event.key);\n}\n\n/**\n * By default, the following navigation keys are enabled while an editor is open, under specific conditions:\n * - Tab:\n * - The editor must be an , a