From 05a4983981b023d14d2049f9cfa4c25315cc013e Mon Sep 17 00:00:00 2001 From: sergeyteleshev Date: Tue, 21 May 2024 14:37:19 +0200 Subject: [PATCH 1/6] CB-4584 fix: loads object properties tabs after relogin correctly + added loader --- .../ObjectPropertyTable/ObjectPropertyTable.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx index 41c429541c..a021ae7fb3 100644 --- a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx +++ b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx @@ -8,7 +8,7 @@ import { observer } from 'mobx-react-lite'; import { useEffect } from 'react'; -import { s, TextPlaceholder, useOffsetPagination, useResource, useTranslate } from '@cloudbeaver/core-blocks'; +import { Loader, s, TextPlaceholder, useOffsetPagination, useResource, useTranslate } from '@cloudbeaver/core-blocks'; import { useService } from '@cloudbeaver/core-di'; import { type DBObject, DBObjectParentKey, DBObjectResource, NavTreeResource } from '@cloudbeaver/core-navigation-tree'; import { isDefined } from '@cloudbeaver/core-utils'; @@ -26,11 +26,11 @@ interface ObjectPropertyTableProps { export const ObjectPropertyTable = observer(function ObjectPropertyTable({ objectId, parentId, className }) { const translate = useTranslate(); const navNodeViewService = useService(NavNodeViewService); - const navTreeResource = useService(NavTreeResource); + const navTreeResource = useResource(ObjectPropertyTable, NavTreeResource, objectId); const pagination = useOffsetPagination(DBObjectResource, { key: DBObjectParentKey(objectId), - pageSize: navTreeResource.childrenLimit, + pageSize: navTreeResource.resource.childrenLimit, }); const dbObjectLoader = useResource(ObjectPropertyTable, DBObjectResource, pagination.key); @@ -43,6 +43,10 @@ export const ObjectPropertyTable = observer(function O navNodeViewService.logDuplicates(objectId, duplicates); }); + if (navTreeResource.loading || dbObjectLoader.loading) { + return ; + } + return ( <> {nodes.length === 0 ? ( From e91778e956922886f0fbd646434b5159eafac9b2 Mon Sep 17 00:00:00 2001 From: sergeyteleshev Date: Tue, 21 May 2024 16:04:38 +0200 Subject: [PATCH 2/6] CB-4584 adds force suspense for Object property table --- .../ObjectPropertyTable/ObjectPropertyTable.tsx | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx index a021ae7fb3..02c594797a 100644 --- a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx +++ b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx @@ -8,7 +8,7 @@ import { observer } from 'mobx-react-lite'; import { useEffect } from 'react'; -import { Loader, s, TextPlaceholder, useOffsetPagination, useResource, useTranslate } from '@cloudbeaver/core-blocks'; +import { s, TextPlaceholder, useOffsetPagination, useResource, useTranslate } from '@cloudbeaver/core-blocks'; import { useService } from '@cloudbeaver/core-di'; import { type DBObject, DBObjectParentKey, DBObjectResource, NavTreeResource } from '@cloudbeaver/core-navigation-tree'; import { isDefined } from '@cloudbeaver/core-utils'; @@ -26,7 +26,7 @@ interface ObjectPropertyTableProps { export const ObjectPropertyTable = observer(function ObjectPropertyTable({ objectId, parentId, className }) { const translate = useTranslate(); const navNodeViewService = useService(NavNodeViewService); - const navTreeResource = useResource(ObjectPropertyTable, NavTreeResource, objectId); + const navTreeResource = useResource(ObjectPropertyTable, NavTreeResource, objectId, { forceSuspense: true }); const pagination = useOffsetPagination(DBObjectResource, { key: DBObjectParentKey(objectId), @@ -43,10 +43,6 @@ export const ObjectPropertyTable = observer(function O navNodeViewService.logDuplicates(objectId, duplicates); }); - if (navTreeResource.loading || dbObjectLoader.loading) { - return ; - } - return ( <> {nodes.length === 0 ? ( From 93b844f5927e052983d20cf3a4681886457bb3d7 Mon Sep 17 00:00:00 2001 From: sergeyteleshev Date: Thu, 23 May 2024 09:57:55 +0200 Subject: [PATCH 3/6] CB-4584 trigger object property page outdate on connection being disconnected --- .../src/ResourcesHooks/useOffsetPagination.ts | 14 +++++++------- .../src/NavTree/ConnectionNavNodeService.ts | 11 ++++++++++- .../src/NodesManager/DBObjectResource.ts | 5 +++++ .../ObjectPropertyTable/ObjectPropertyTable.tsx | 8 ++++++++ 4 files changed, 30 insertions(+), 8 deletions(-) diff --git a/webapp/packages/core-blocks/src/ResourcesHooks/useOffsetPagination.ts b/webapp/packages/core-blocks/src/ResourcesHooks/useOffsetPagination.ts index 0d60e43648..5295f776d3 100644 --- a/webapp/packages/core-blocks/src/ResourcesHooks/useOffsetPagination.ts +++ b/webapp/packages/core-blocks/src/ResourcesHooks/useOffsetPagination.ts @@ -51,7 +51,7 @@ export function useOffsetPagination>( () => ({ offset, - _key: createPageKey(offset, pageSize, targetKey), + _key: createPaginationPageKey(offset, pageSize, targetKey), get key() { - const pageInfo = resource.offsetPagination.getPageInfo(createPageKey(0, 0, this._key.target)); + const pageInfo = resource.offsetPagination.getPageInfo(createPaginationPageKey(0, 0, this._key.target)); for (const page of pageInfo?.pages || []) { if (page.outdated && page.from < this._key.options.offset) { - return createPageKey(page.from, this._key.options.limit, this._key.target); + return createPaginationPageKey(page.from, this._key.options.limit, this._key.target); } } return this._key as any; @@ -76,7 +76,7 @@ export function useOffsetPagination, diff --git a/webapp/packages/core-connections/src/NavTree/ConnectionNavNodeService.ts b/webapp/packages/core-connections/src/NavTree/ConnectionNavNodeService.ts index 9786cc9570..f2f9f96346 100644 --- a/webapp/packages/core-connections/src/NavTree/ConnectionNavNodeService.ts +++ b/webapp/packages/core-connections/src/NavTree/ConnectionNavNodeService.ts @@ -23,7 +23,7 @@ import { ServerEventId } from '@cloudbeaver/core-root'; import type { IConnectionInfoParams } from '../CONNECTION_INFO_PARAM_SCHEMA'; import { ConnectionFolderEventHandler, IConnectionFolderEvent } from '../ConnectionFolderEventHandler'; import { Connection, ConnectionInfoActiveProjectKey, ConnectionInfoResource, createConnectionParam } from '../ConnectionInfoResource'; -import { ConnectionsManagerService } from '../ConnectionsManagerService'; +import { ConnectionsManagerService, IConnectionExecutorData } from '../ConnectionsManagerService'; import { ContainerResource } from '../ContainerResource'; import { getConnectionParentId } from './getConnectionParentId'; import { getFolderNodeParents } from './getFolderNodeParents'; @@ -55,6 +55,8 @@ export class ConnectionNavNodeService extends Dependency { this.navTreeResource.before(this.preloadConnectionInfo.bind(this)); + this.connectionsManagerService.onDisconnect.addHandler(this.onDisconnectHandle.bind(this)); + this.navNodeManagerService.navigator.addHandler(this.navigateHandler.bind(this)); this.connectionInfoResource.connect(this.navTreeResource); @@ -99,6 +101,13 @@ export class ConnectionNavNodeService extends Dependency { ); } + onDisconnectHandle(context: IConnectionExecutorData) { + const connectionsKey = resourceKeyList(context.connections); + connectionsKey.map(connection => { + this.navTreeResource.markOutdated(connection.connectionId); + }); + } + navigationNavNodeConnectionContext: IAsyncContextLoader = async (context, { nodeId }) => { await this.connectionInfoResource.load(ConnectionInfoActiveProjectKey); const connection = this.connectionInfoResource.getConnectionForNode(nodeId); diff --git a/webapp/packages/core-navigation-tree/src/NodesManager/DBObjectResource.ts b/webapp/packages/core-navigation-tree/src/NodesManager/DBObjectResource.ts index b118e85a26..422de0a808 100644 --- a/webapp/packages/core-navigation-tree/src/NodesManager/DBObjectResource.ts +++ b/webapp/packages/core-navigation-tree/src/NodesManager/DBObjectResource.ts @@ -7,6 +7,7 @@ */ import { runInAction } from 'mobx'; +import { createPaginationPageKey } from '@cloudbeaver/core-blocks'; import { injectable } from '@cloudbeaver/core-di'; import { ExecutorInterrupter } from '@cloudbeaver/core-executor'; import { @@ -52,6 +53,10 @@ export class DBObjectResource extends CachedMapResource { if (!isResourceAlias(nodeId)) { this.markOutdated(DBObjectParentKey(nodeId)); + + const paginationKey = createPaginationPageKey(0, 0, key); + console.log('paginationKey', paginationKey); + this.markOutdated(paginationKey); } }); }); diff --git a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx index 02c594797a..7da0885ded 100644 --- a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx +++ b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx @@ -34,6 +34,14 @@ export const ObjectPropertyTable = observer(function O }); const dbObjectLoader = useResource(ObjectPropertyTable, DBObjectResource, pagination.key); + console.log('paginationInfo', { + nodeId: objectId, + loaded: dbObjectLoader.isLoaded(), + loading: dbObjectLoader.isLoading(), + isOutdated: dbObjectLoader.isOutdated(), + hasError: dbObjectLoader.isError(), + cancelled: dbObjectLoader.isCancelled?.(), + }); const { nodes, duplicates } = navNodeViewService.filterDuplicates(dbObjectLoader.data.filter(isDefined).map(node => node?.id) || []); From 0f1db951a136aadb2784c5aa3b2f41506c5e6a77 Mon Sep 17 00:00:00 2001 From: sergeyteleshev Date: Thu, 23 May 2024 12:26:28 +0200 Subject: [PATCH 4/6] Revert "CB-4584 trigger object property page outdate on connection being disconnected" This reverts commit 93b844f5927e052983d20cf3a4681886457bb3d7. --- .../src/ResourcesHooks/useOffsetPagination.ts | 14 +++++++------- .../src/NavTree/ConnectionNavNodeService.ts | 11 +---------- .../src/NodesManager/DBObjectResource.ts | 5 ----- .../ObjectPropertyTable/ObjectPropertyTable.tsx | 8 -------- 4 files changed, 8 insertions(+), 30 deletions(-) diff --git a/webapp/packages/core-blocks/src/ResourcesHooks/useOffsetPagination.ts b/webapp/packages/core-blocks/src/ResourcesHooks/useOffsetPagination.ts index 5295f776d3..0d60e43648 100644 --- a/webapp/packages/core-blocks/src/ResourcesHooks/useOffsetPagination.ts +++ b/webapp/packages/core-blocks/src/ResourcesHooks/useOffsetPagination.ts @@ -51,7 +51,7 @@ export function useOffsetPagination>( () => ({ offset, - _key: createPaginationPageKey(offset, pageSize, targetKey), + _key: createPageKey(offset, pageSize, targetKey), get key() { - const pageInfo = resource.offsetPagination.getPageInfo(createPaginationPageKey(0, 0, this._key.target)); + const pageInfo = resource.offsetPagination.getPageInfo(createPageKey(0, 0, this._key.target)); for (const page of pageInfo?.pages || []) { if (page.outdated && page.from < this._key.options.offset) { - return createPaginationPageKey(page.from, this._key.options.limit, this._key.target); + return createPageKey(page.from, this._key.options.limit, this._key.target); } } return this._key as any; @@ -76,7 +76,7 @@ export function useOffsetPagination, diff --git a/webapp/packages/core-connections/src/NavTree/ConnectionNavNodeService.ts b/webapp/packages/core-connections/src/NavTree/ConnectionNavNodeService.ts index f2f9f96346..9786cc9570 100644 --- a/webapp/packages/core-connections/src/NavTree/ConnectionNavNodeService.ts +++ b/webapp/packages/core-connections/src/NavTree/ConnectionNavNodeService.ts @@ -23,7 +23,7 @@ import { ServerEventId } from '@cloudbeaver/core-root'; import type { IConnectionInfoParams } from '../CONNECTION_INFO_PARAM_SCHEMA'; import { ConnectionFolderEventHandler, IConnectionFolderEvent } from '../ConnectionFolderEventHandler'; import { Connection, ConnectionInfoActiveProjectKey, ConnectionInfoResource, createConnectionParam } from '../ConnectionInfoResource'; -import { ConnectionsManagerService, IConnectionExecutorData } from '../ConnectionsManagerService'; +import { ConnectionsManagerService } from '../ConnectionsManagerService'; import { ContainerResource } from '../ContainerResource'; import { getConnectionParentId } from './getConnectionParentId'; import { getFolderNodeParents } from './getFolderNodeParents'; @@ -55,8 +55,6 @@ export class ConnectionNavNodeService extends Dependency { this.navTreeResource.before(this.preloadConnectionInfo.bind(this)); - this.connectionsManagerService.onDisconnect.addHandler(this.onDisconnectHandle.bind(this)); - this.navNodeManagerService.navigator.addHandler(this.navigateHandler.bind(this)); this.connectionInfoResource.connect(this.navTreeResource); @@ -101,13 +99,6 @@ export class ConnectionNavNodeService extends Dependency { ); } - onDisconnectHandle(context: IConnectionExecutorData) { - const connectionsKey = resourceKeyList(context.connections); - connectionsKey.map(connection => { - this.navTreeResource.markOutdated(connection.connectionId); - }); - } - navigationNavNodeConnectionContext: IAsyncContextLoader = async (context, { nodeId }) => { await this.connectionInfoResource.load(ConnectionInfoActiveProjectKey); const connection = this.connectionInfoResource.getConnectionForNode(nodeId); diff --git a/webapp/packages/core-navigation-tree/src/NodesManager/DBObjectResource.ts b/webapp/packages/core-navigation-tree/src/NodesManager/DBObjectResource.ts index 422de0a808..b118e85a26 100644 --- a/webapp/packages/core-navigation-tree/src/NodesManager/DBObjectResource.ts +++ b/webapp/packages/core-navigation-tree/src/NodesManager/DBObjectResource.ts @@ -7,7 +7,6 @@ */ import { runInAction } from 'mobx'; -import { createPaginationPageKey } from '@cloudbeaver/core-blocks'; import { injectable } from '@cloudbeaver/core-di'; import { ExecutorInterrupter } from '@cloudbeaver/core-executor'; import { @@ -53,10 +52,6 @@ export class DBObjectResource extends CachedMapResource { if (!isResourceAlias(nodeId)) { this.markOutdated(DBObjectParentKey(nodeId)); - - const paginationKey = createPaginationPageKey(0, 0, key); - console.log('paginationKey', paginationKey); - this.markOutdated(paginationKey); } }); }); diff --git a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx index 7da0885ded..02c594797a 100644 --- a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx +++ b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx @@ -34,14 +34,6 @@ export const ObjectPropertyTable = observer(function O }); const dbObjectLoader = useResource(ObjectPropertyTable, DBObjectResource, pagination.key); - console.log('paginationInfo', { - nodeId: objectId, - loaded: dbObjectLoader.isLoaded(), - loading: dbObjectLoader.isLoading(), - isOutdated: dbObjectLoader.isOutdated(), - hasError: dbObjectLoader.isError(), - cancelled: dbObjectLoader.isCancelled?.(), - }); const { nodes, duplicates } = navNodeViewService.filterDuplicates(dbObjectLoader.data.filter(isDefined).map(node => node?.id) || []); From 46f28dc045dbf09fbd80c1e38d8647bfb3fcf042 Mon Sep 17 00:00:00 2001 From: sergeyteleshev Date: Thu, 23 May 2024 16:24:08 +0200 Subject: [PATCH 5/6] CB-4584 fix: object property table reloads pages after connection being disconnected --- .../src/NavTree/ConnectionNavNodeService.ts | 10 ++++++++-- .../ObjectPropertyTable/ObjectPropertyTable.tsx | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/webapp/packages/core-connections/src/NavTree/ConnectionNavNodeService.ts b/webapp/packages/core-connections/src/NavTree/ConnectionNavNodeService.ts index 9786cc9570..c81902ff1b 100644 --- a/webapp/packages/core-connections/src/NavTree/ConnectionNavNodeService.ts +++ b/webapp/packages/core-connections/src/NavTree/ConnectionNavNodeService.ts @@ -8,7 +8,7 @@ import { action, makeObservable } from 'mobx'; import { Dependency, injectable } from '@cloudbeaver/core-di'; -import { ExecutorInterrupter, IAsyncContextLoader, IExecutionContextProvider } from '@cloudbeaver/core-executor'; +import { ExecutorInterrupter, IAsyncContextLoader, IExecutionContextProvider, IExecutorHandler } from '@cloudbeaver/core-executor'; import { INodeNavigationData, NavNodeInfoResource, @@ -23,7 +23,7 @@ import { ServerEventId } from '@cloudbeaver/core-root'; import type { IConnectionInfoParams } from '../CONNECTION_INFO_PARAM_SCHEMA'; import { ConnectionFolderEventHandler, IConnectionFolderEvent } from '../ConnectionFolderEventHandler'; import { Connection, ConnectionInfoActiveProjectKey, ConnectionInfoResource, createConnectionParam } from '../ConnectionInfoResource'; -import { ConnectionsManagerService } from '../ConnectionsManagerService'; +import { ConnectionsManagerService, IConnectionExecutorData } from '../ConnectionsManagerService'; import { ContainerResource } from '../ContainerResource'; import { getConnectionParentId } from './getConnectionParentId'; import { getFolderNodeParents } from './getFolderNodeParents'; @@ -57,6 +57,8 @@ export class ConnectionNavNodeService extends Dependency { this.navNodeManagerService.navigator.addHandler(this.navigateHandler.bind(this)); + this.connectionsManagerService.onDisconnect.addHandler(this.onDisconnectHandle.bind(this)); + this.connectionInfoResource.connect(this.navTreeResource); this.connectionFolderEventHandler.onEvent( @@ -99,6 +101,10 @@ export class ConnectionNavNodeService extends Dependency { ); } + onDisconnectHandle: IExecutorHandler = async (data, contexts) => { + this.navTreeResource.markOutdated(resourceKeyList(data.connections.map(connection => connection.connectionId))); + }; + navigationNavNodeConnectionContext: IAsyncContextLoader = async (context, { nodeId }) => { await this.connectionInfoResource.load(ConnectionInfoActiveProjectKey); const connection = this.connectionInfoResource.getConnectionForNode(nodeId); diff --git a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx index 02c594797a..8523bdc955 100644 --- a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx +++ b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx @@ -45,7 +45,7 @@ export const ObjectPropertyTable = observer(function O return ( <> - {nodes.length === 0 ? ( + {objects.length === 0 ? ( {translate('plugin_object_viewer_table_no_items')} ) : (
From fd5b6ec93cdd913c3d01348663b28461f167df92 Mon Sep 17 00:00:00 2001 From: sergeyteleshev Date: Fri, 24 May 2024 14:14:31 +0200 Subject: [PATCH 6/6] Revert "CB-4584 fix: object property table reloads pages after connection being disconnected" This reverts commit 46f28dc045dbf09fbd80c1e38d8647bfb3fcf042. --- .../src/NavTree/ConnectionNavNodeService.ts | 10 ++-------- .../ObjectPropertyTable/ObjectPropertyTable.tsx | 2 +- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/webapp/packages/core-connections/src/NavTree/ConnectionNavNodeService.ts b/webapp/packages/core-connections/src/NavTree/ConnectionNavNodeService.ts index c81902ff1b..9786cc9570 100644 --- a/webapp/packages/core-connections/src/NavTree/ConnectionNavNodeService.ts +++ b/webapp/packages/core-connections/src/NavTree/ConnectionNavNodeService.ts @@ -8,7 +8,7 @@ import { action, makeObservable } from 'mobx'; import { Dependency, injectable } from '@cloudbeaver/core-di'; -import { ExecutorInterrupter, IAsyncContextLoader, IExecutionContextProvider, IExecutorHandler } from '@cloudbeaver/core-executor'; +import { ExecutorInterrupter, IAsyncContextLoader, IExecutionContextProvider } from '@cloudbeaver/core-executor'; import { INodeNavigationData, NavNodeInfoResource, @@ -23,7 +23,7 @@ import { ServerEventId } from '@cloudbeaver/core-root'; import type { IConnectionInfoParams } from '../CONNECTION_INFO_PARAM_SCHEMA'; import { ConnectionFolderEventHandler, IConnectionFolderEvent } from '../ConnectionFolderEventHandler'; import { Connection, ConnectionInfoActiveProjectKey, ConnectionInfoResource, createConnectionParam } from '../ConnectionInfoResource'; -import { ConnectionsManagerService, IConnectionExecutorData } from '../ConnectionsManagerService'; +import { ConnectionsManagerService } from '../ConnectionsManagerService'; import { ContainerResource } from '../ContainerResource'; import { getConnectionParentId } from './getConnectionParentId'; import { getFolderNodeParents } from './getFolderNodeParents'; @@ -57,8 +57,6 @@ export class ConnectionNavNodeService extends Dependency { this.navNodeManagerService.navigator.addHandler(this.navigateHandler.bind(this)); - this.connectionsManagerService.onDisconnect.addHandler(this.onDisconnectHandle.bind(this)); - this.connectionInfoResource.connect(this.navTreeResource); this.connectionFolderEventHandler.onEvent( @@ -101,10 +99,6 @@ export class ConnectionNavNodeService extends Dependency { ); } - onDisconnectHandle: IExecutorHandler = async (data, contexts) => { - this.navTreeResource.markOutdated(resourceKeyList(data.connections.map(connection => connection.connectionId))); - }; - navigationNavNodeConnectionContext: IAsyncContextLoader = async (context, { nodeId }) => { await this.connectionInfoResource.load(ConnectionInfoActiveProjectKey); const connection = this.connectionInfoResource.getConnectionForNode(nodeId); diff --git a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx index 8523bdc955..02c594797a 100644 --- a/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx +++ b/webapp/packages/plugin-object-viewer/src/ObjectPropertiesPage/ObjectPropertyTable/ObjectPropertyTable.tsx @@ -45,7 +45,7 @@ export const ObjectPropertyTable = observer(function O return ( <> - {objects.length === 0 ? ( + {nodes.length === 0 ? ( {translate('plugin_object_viewer_table_no_items')} ) : (