diff --git a/webapp/packages/plugin-connections-administration/src/ConnectionForm/ConnectionAccess/ConnectionAccess.tsx b/webapp/packages/plugin-connections-administration/src/ConnectionForm/ConnectionAccess/ConnectionAccess.tsx index 3d9c3ae676..5110914f0c 100644 --- a/webapp/packages/plugin-connections-administration/src/ConnectionForm/ConnectionAccess/ConnectionAccess.tsx +++ b/webapp/packages/plugin-connections-administration/src/ConnectionForm/ConnectionAccess/ConnectionAccess.tsx @@ -12,7 +12,6 @@ import { useMemo } from 'react'; import styled, { css } from 'reshadow'; import { RolesResource, UsersResource } from '@cloudbeaver/core-authentication'; -import { TabContainerPanelComponent, useTab } from '@cloudbeaver/core-ui'; import { TextPlaceholder, Loader, @@ -25,13 +24,16 @@ import { } from '@cloudbeaver/core-blocks'; import { isCloudConnection } from '@cloudbeaver/core-connections'; import { TLocalizationToken, useTranslate } from '@cloudbeaver/core-localization'; +import { CachedMapAllKey } from '@cloudbeaver/core-sdk'; import { useStyles } from '@cloudbeaver/core-theming'; +import { TabContainerPanelComponent, useTab } from '@cloudbeaver/core-ui'; import type { IConnectionFormProps } from '@cloudbeaver/plugin-connections'; import { ConnectionAccessGrantedList } from './ConnectionAccessGrantedList'; import { ConnectionAccessList } from './ConnectionAccessList'; import { useConnectionAccessState } from './useConnectionAccessState'; + const styles = css` ColoredContainer { flex: 1; @@ -58,13 +60,8 @@ export const ConnectionAccess: TabContainerPanelComponent const { selected } = useTab(tabId, state.load); - const users = useMapResource(ConnectionAccess, UsersResource, null, { - onLoad: resource => { resource.loadAll(); }, - }); - - const roles = useMapResource(ConnectionAccess, RolesResource, null, { - onLoad: resource => { resource.loadAll(); }, - }); + const users = useMapResource(ConnectionAccess, UsersResource, CachedMapAllKey); + const roles = useMapResource(ConnectionAccess, RolesResource, CachedMapAllKey); const grantedUsers = useMemo(() => computed(() => users.resource.values .filter(user => state.state.grantedSubjects.includes(user.userId)) diff --git a/webapp/packages/plugin-connections-administration/src/ConnectionForm/ConnectionAccess/ConnectionAccessTabService.ts b/webapp/packages/plugin-connections-administration/src/ConnectionForm/ConnectionAccess/ConnectionAccessTabService.ts index 0df0d5c524..7a2e5db060 100644 --- a/webapp/packages/plugin-connections-administration/src/ConnectionForm/ConnectionAccess/ConnectionAccessTabService.ts +++ b/webapp/packages/plugin-connections-administration/src/ConnectionForm/ConnectionAccess/ConnectionAccessTabService.ts @@ -18,7 +18,7 @@ import type { IConnectionAccessTabState } from './IConnectionAccessTabState'; @injectable() export class ConnectionAccessTabService extends Bootstrap { - private key: string; + private readonly key: string; constructor( private readonly connectionFormService: ConnectionFormService,