diff --git a/deploy/build.sh b/deploy/build.sh index 35ae804ae1..0cae000c8e 100755 --- a/deploy/build.sh +++ b/deploy/build.sh @@ -29,7 +29,7 @@ cp -rp ../server/product/web-server/target/products/io.cloudbeaver.product/all/a cp -p ./scripts/* ./cloudbeaver mkdir cloudbeaver/samples mkdir cloudbeaver/samples/db -cp -rp ../samples/sample-databases/db cloudbeaver/samples/db +cp -rp ../samples/sample-databases/db cloudbeaver/samples/ cp -rp ../samples/sample-databases/GlobalConfiguration/.dbeaver/data-sources.json cloudbeaver/conf/initial-data-sources.conf cp -p ../samples/sample-databases/*.conf cloudbeaver/conf/ mv drivers cloudbeaver diff --git a/deploy/docker/run-docker-container.sh b/deploy/docker/run-docker-container.sh index b9084e533f..fe1b87f381 100755 --- a/deploy/docker/run-docker-container.sh +++ b/deploy/docker/run-docker-container.sh @@ -1,2 +1,2 @@ -docker run -ti -p 8978:8978 dbeaver/cloudbeaver:dev +docker run --name cloudbeaver --rm -ti -p 8978:8978 -v /var/cloudbeaver/workspace:/opt/cloudbeaver/workspace dbeaver/cloudbeaver:dev diff --git a/samples/sample-databases/GlobalConfiguration/.dbeaver/data-sources.json b/samples/sample-databases/GlobalConfiguration/.dbeaver/data-sources.json index f26226c0c8..27dbbe907a 100644 --- a/samples/sample-databases/GlobalConfiguration/.dbeaver/data-sources.json +++ b/samples/sample-databases/GlobalConfiguration/.dbeaver/data-sources.json @@ -11,7 +11,7 @@ "read-only": false, "template": false, "configuration": { - "database": "${application.path}/samples/db/Chinook.sqlitedb", + "database": "${application.path}/../samples/db/Chinook.sqlitedb", "type": "dev", "auth-model": "native" } diff --git a/webapp/packages/core-app/public/icons/logo.svg b/webapp/packages/core-app/public/icons/logo.svg index 8e6b2b2320..ea2b98dc80 100644 --- a/webapp/packages/core-app/public/icons/logo.svg +++ b/webapp/packages/core-app/public/icons/logo.svg @@ -1,11 +1,8 @@ - - - - - - - - - - + + + + + + + diff --git a/webapp/packages/core-blocks/src/layout/AppLogo.tsx b/webapp/packages/core-blocks/src/layout/AppLogo.tsx index f3bb6725cc..5f1684ef2b 100644 --- a/webapp/packages/core-blocks/src/layout/AppLogo.tsx +++ b/webapp/packages/core-blocks/src/layout/AppLogo.tsx @@ -21,7 +21,7 @@ const styles = css` } IconOrImage { - height: 24px; + height: 28px; width: 150px; margin-bottom: 2px; } diff --git a/webapp/packages/plugin-authentication/src/Administration/Users/UserForm/UserFormController.ts b/webapp/packages/plugin-authentication/src/Administration/Users/UserForm/UserFormController.ts index c9ccfc9983..5c2d90ebff 100644 --- a/webapp/packages/plugin-authentication/src/Administration/Users/UserForm/UserFormController.ts +++ b/webapp/packages/plugin-authentication/src/Administration/Users/UserForm/UserFormController.ts @@ -143,19 +143,21 @@ export class UserFormController implements IInitializableController, IDestructib }; private validate() { - if (!this.credentials.login.trim()) { - this.notificationService.logError({ title: 'authentication_user_login_not_set' }); - return; - } + if (!this.editing) { + if (!this.credentials.login.trim()) { + this.notificationService.logError({ title: 'authentication_user_login_not_set' }); + return; + } - if (this.rolesManagerService.roles.has(this.credentials.login)) { - this.notificationService.logError({ title: 'authentication_user_login_cant_be_used' }); - return; - } + if (this.rolesManagerService.roles.has(this.credentials.login)) { + this.notificationService.logError({ title: 'authentication_user_login_cant_be_used' }); + return; + } - if (this.usersResource.has(this.credentials.login)) { - this.notificationService.logError({ title: 'authentication_user_login_already_exists' }); - return; + if (this.usersResource.has(this.credentials.login)) { + this.notificationService.logError({ title: 'authentication_user_login_already_exists' }); + return; + } } if (!this.isRoleSelected()) { diff --git a/webapp/packages/plugin-sql-editor/src/SqlEditorNavigatorService.ts b/webapp/packages/plugin-sql-editor/src/SqlEditorNavigatorService.ts index 47d197da8a..2e1287d07f 100644 --- a/webapp/packages/plugin-sql-editor/src/SqlEditorNavigatorService.ts +++ b/webapp/packages/plugin-sql-editor/src/SqlEditorNavigatorService.ts @@ -132,11 +132,21 @@ export class SqlEditorNavigatorService { if (data.type === SQLEditorNavigationAction.select) { tab.handlerState.currentResultTabId = data.resultId; } else if (data.type === SQLEditorNavigationAction.close) { + const resultTabGroupId = tab.handlerState.resultTabs + .find(resultTab => resultTab.resultTabId === data.resultId)?.groupId; + tab.handlerState.resultTabs.splice( tab.handlerState.resultTabs.findIndex(result => result.resultTabId === data.resultId), 1 ); + const isGroupEmpty = !tab.handlerState.resultTabs.some(resultTab => resultTab.groupId === resultTabGroupId); + + if (isGroupEmpty) { + tab.handlerState.queryTabGroups.splice( + tab.handlerState.queryTabGroups.findIndex(queryTabGroup => queryTabGroup.groupId === resultTabGroupId), 1); + } + if (tab.handlerState.currentResultTabId === data.resultId) { if (tab.handlerState.resultTabs.length > 0) { tab.handlerState.currentResultTabId = tab.handlerState.resultTabs[0].resultTabId;