From e89aecf35a45be4be8263d5f7add772b9d4d28da Mon Sep 17 00:00:00 2001 From: Wroud Date: Mon, 30 Nov 2020 21:41:41 +0300 Subject: [PATCH] fix(core-connections): CB-564 new connections sorting --- .../ConnectionsAdministrationController.ts | 8 ++++++-- .../src/Administration/ConnectionsResource.ts | 12 +++++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/webapp/packages/core-connections/src/Administration/Connections/ConnectionsAdministrationController.ts b/webapp/packages/core-connections/src/Administration/Connections/ConnectionsAdministrationController.ts index d498e8096d..3549b31ca0 100644 --- a/webapp/packages/core-connections/src/Administration/Connections/ConnectionsAdministrationController.ts +++ b/webapp/packages/core-connections/src/Administration/Connections/ConnectionsAdministrationController.ts @@ -28,14 +28,18 @@ export class ConnectionsAdministrationController { const isBNew = this.connectionsResource.isNew(b.id); if (isANew === isBNew) { - return 0; + return a.name.localeCompare(b.name); } if (isBNew) { return 1; } - return -1; + if (isANew) { + return -1; + } + + return a.name.localeCompare(b.name); }); } diff --git a/webapp/packages/core-connections/src/Administration/ConnectionsResource.ts b/webapp/packages/core-connections/src/Administration/ConnectionsResource.ts index a30f237ac3..5af067024c 100644 --- a/webapp/packages/core-connections/src/Administration/ConnectionsResource.ts +++ b/webapp/packages/core-connections/src/Administration/ConnectionsResource.ts @@ -6,6 +6,7 @@ * you may not use this file except in compliance with the License. */ +import { action } from 'mobx'; import { Observable, Subject } from 'rxjs'; import { injectable } from '@cloudbeaver/core-di'; @@ -93,8 +94,11 @@ export class ConnectionsResource extends CachedMapResource { + @action add(connection: AdminConnection, isNew = false): AdminConnection { this.changed = true; + + this.cleanNewFlags(); + const newConnection: ConnectionNew = { ...connection, [NEW_CONNECTION_SYMBOL]: isNew, @@ -163,6 +167,12 @@ export class ConnectionsResource extends CachedMapResource) { await ResourceKeyUtils.forEachAsync(key, key => this.deleteConnection(key)); await this.onItemDelete.execute(key);