Skip to content

Commit 4d6643b

Browse files
authored
Merge branch 'main' into COMPASS-9308-dm-loading-states
2 parents d8b2f36 + c8450a9 commit 4d6643b

File tree

58 files changed

+969
-756
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+969
-756
lines changed

THIRD-PARTY-NOTICES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
The following third-party software is used by and included in **Mongodb Compass**.
2-
This document was automatically generated on Mon May 05 2025.
2+
This document was automatically generated on Tue May 06 2025.
33

44
## List of dependencies
55

docs/tracking-plan.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
> the tracking plan for the specific Compass version you can use the following
77
> URL: `https://github.com/mongodb-js/compass/blob/<compass version>/docs/tracking-plan.md`
88
9-
Generated on Mon, May 5, 2025
9+
Generated on Tue, May 6, 2025
1010

1111
## Table of Contents
1212

package-lock.json

Lines changed: 479 additions & 479 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/atlas-service/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"email": "[email protected]"
1414
},
1515
"homepage": "https://github.com/mongodb-js/compass",
16-
"version": "0.38.0",
16+
"version": "0.39.0",
1717
"repository": {
1818
"type": "git",
1919
"url": "https://github.com/mongodb-js/compass.git"
@@ -73,15 +73,15 @@
7373
"dependencies": {
7474
"@mongodb-js/compass-components": "^1.35.2",
7575
"@mongodb-js/compass-logging": "^1.6.8",
76-
"@mongodb-js/compass-telemetry": "^1.6.0",
76+
"@mongodb-js/compass-telemetry": "^1.6.1",
7777
"@mongodb-js/compass-user-data": "^0.5.8",
7878
"@mongodb-js/compass-utils": "^0.8.8",
79-
"@mongodb-js/connection-info": "^0.11.9",
79+
"@mongodb-js/connection-info": "^0.12.0",
8080
"@mongodb-js/devtools-connect": "^3.4.1",
8181
"@mongodb-js/devtools-proxy-support": "^0.4.2",
8282
"@mongodb-js/oidc-plugin": "^1.1.6",
8383
"hadron-app-registry": "^9.4.8",
84-
"compass-preferences-model": "^2.35.0",
84+
"compass-preferences-model": "^2.36.0",
8585
"electron": "^32.3.3",
8686
"hadron-ipc": "^3.4.8",
8787
"lodash": "^4.17.21",

packages/compass-aggregations/package.json

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "@mongodb-js/compass-aggregations",
33
"description": "Compass Aggregation Pipeline Builder",
44
"private": true,
5-
"version": "9.55.0",
5+
"version": "9.56.0",
66
"main": "dist/index.js",
77
"compass:main": "src/index.ts",
88
"types": "dist/index.d.ts",
@@ -59,25 +59,25 @@
5959
"@dnd-kit/core": "^6.0.7",
6060
"@dnd-kit/sortable": "^7.0.2",
6161
"@dnd-kit/utilities": "^3.2.1",
62-
"@mongodb-js/atlas-service": "^0.38.0",
63-
"@mongodb-js/compass-app-stores": "^7.39.0",
64-
"@mongodb-js/compass-collection": "^4.52.0",
62+
"@mongodb-js/atlas-service": "^0.39.0",
63+
"@mongodb-js/compass-app-stores": "^7.40.0",
64+
"@mongodb-js/compass-collection": "^4.53.0",
6565
"@mongodb-js/compass-components": "^1.35.2",
66-
"@mongodb-js/compass-connections": "^1.53.0",
67-
"@mongodb-js/compass-crud": "^13.53.0",
66+
"@mongodb-js/compass-connections": "^1.54.0",
67+
"@mongodb-js/compass-crud": "^13.54.0",
6868
"@mongodb-js/compass-editor": "^0.37.2",
69-
"@mongodb-js/compass-field-store": "^9.28.0",
70-
"@mongodb-js/compass-generative-ai": "^0.33.0",
69+
"@mongodb-js/compass-field-store": "^9.29.0",
70+
"@mongodb-js/compass-generative-ai": "^0.34.0",
7171
"@mongodb-js/compass-logging": "^1.6.8",
72-
"@mongodb-js/compass-telemetry": "^1.6.0",
72+
"@mongodb-js/compass-telemetry": "^1.6.1",
7373
"@mongodb-js/compass-utils": "^0.8.8",
74-
"@mongodb-js/compass-workspaces": "^0.34.0",
74+
"@mongodb-js/compass-workspaces": "^0.35.0",
7575
"@mongodb-js/explain-plan-helper": "^1.4.8",
7676
"@mongodb-js/mongodb-constants": "^0.11.0",
7777
"@mongodb-js/my-queries-storage": "^0.23.2",
7878
"@mongodb-js/shell-bson-parser": "^1.2.0",
7979
"bson": "^6.10.3",
80-
"compass-preferences-model": "^2.35.0",
80+
"compass-preferences-model": "^2.36.0",
8181
"hadron-app-registry": "^9.4.8",
8282
"hadron-document": "^8.8.8",
8383
"hadron-type-checker": "^7.4.8",
@@ -86,7 +86,7 @@
8686
"mongodb-collection-model": "^5.26.0",
8787
"mongodb-data-service": "^22.25.8",
8888
"mongodb-database-model": "^2.26.0",
89-
"mongodb-instance-model": "^12.27.0",
89+
"mongodb-instance-model": "^12.28.0",
9090
"mongodb-ns": "^2.4.2",
9191
"mongodb-query-parser": "^4.3.0",
9292
"mongodb-schema": "^12.5.2",

packages/compass-app-stores/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"email": "[email protected]"
1212
},
1313
"homepage": "https://github.com/mongodb-js/compass",
14-
"version": "7.39.0",
14+
"version": "7.40.0",
1515
"repository": {
1616
"type": "git",
1717
"url": "https://github.com/mongodb-js/compass.git"
@@ -72,14 +72,14 @@
7272
},
7373
"dependencies": {
7474
"@mongodb-js/compass-components": "^1.35.2",
75-
"@mongodb-js/compass-connections": "^1.53.0",
75+
"@mongodb-js/compass-connections": "^1.54.0",
7676
"@mongodb-js/compass-logging": "^1.6.8",
77-
"@mongodb-js/connection-info": "^0.11.9",
77+
"@mongodb-js/connection-info": "^0.12.0",
7878
"hadron-app-registry": "^9.4.8",
7979
"mongodb-collection-model": "^5.26.0",
8080
"mongodb-database-model": "^2.26.0",
81-
"mongodb-instance-model": "^12.27.0",
82-
"compass-preferences-model": "^2.35.0",
81+
"mongodb-instance-model": "^12.28.0",
82+
"compass-preferences-model": "^2.36.0",
8383
"mongodb-ns": "^2.4.2",
8484
"react": "^17.0.2"
8585
},

packages/compass-collection/package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"email": "[email protected]"
1212
},
1313
"homepage": "https://github.com/mongodb-js/compass",
14-
"version": "4.52.0",
14+
"version": "4.53.0",
1515
"repository": {
1616
"type": "git",
1717
"url": "https://github.com/mongodb-js/compass.git"
@@ -48,15 +48,15 @@
4848
"reformat": "npm run eslint . -- --fix && npm run prettier -- --write ."
4949
},
5050
"dependencies": {
51-
"@mongodb-js/compass-app-stores": "^7.39.0",
51+
"@mongodb-js/compass-app-stores": "^7.40.0",
5252
"@mongodb-js/compass-components": "^1.35.2",
53-
"@mongodb-js/compass-connections": "^1.53.0",
53+
"@mongodb-js/compass-connections": "^1.54.0",
5454
"@mongodb-js/compass-logging": "^1.6.8",
55-
"@mongodb-js/compass-telemetry": "^1.6.0",
56-
"@mongodb-js/compass-workspaces": "^0.34.0",
57-
"@mongodb-js/connection-info": "^0.11.9",
55+
"@mongodb-js/compass-telemetry": "^1.6.1",
56+
"@mongodb-js/compass-workspaces": "^0.35.0",
57+
"@mongodb-js/connection-info": "^0.12.0",
5858
"@mongodb-js/mongodb-constants": "^0.11.0",
59-
"compass-preferences-model": "^2.35.0",
59+
"compass-preferences-model": "^2.36.0",
6060
"hadron-app-registry": "^9.4.8",
6161
"mongodb-collection-model": "^5.26.0",
6262
"mongodb-ns": "^2.4.2",

packages/compass-connection-import-export/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"email": "[email protected]"
1515
},
1616
"homepage": "https://github.com/mongodb-js/compass",
17-
"version": "0.49.0",
17+
"version": "0.50.0",
1818
"repository": {
1919
"type": "git",
2020
"url": "https://github.com/mongodb-js/compass.git"
@@ -52,9 +52,9 @@
5252
},
5353
"dependencies": {
5454
"@mongodb-js/compass-components": "^1.35.2",
55-
"@mongodb-js/compass-connections": "^1.53.0",
56-
"@mongodb-js/connection-storage": "^0.28.0",
57-
"compass-preferences-model": "^2.35.0",
55+
"@mongodb-js/compass-connections": "^1.54.0",
56+
"@mongodb-js/connection-storage": "^0.29.0",
57+
"compass-preferences-model": "^2.36.0",
5858
"hadron-ipc": "^3.4.8",
5959
"react": "^17.0.2"
6060
},

packages/compass-connections-navigation/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"email": "[email protected]"
1414
},
1515
"homepage": "https://github.com/mongodb-js/compass",
16-
"version": "1.52.0",
16+
"version": "1.53.0",
1717
"repository": {
1818
"type": "git",
1919
"url": "https://github.com/mongodb-js/compass.git"
@@ -49,12 +49,12 @@
4949
"reformat": "npm run eslint . -- --fix && npm run prettier -- --write ."
5050
},
5151
"dependencies": {
52-
"@mongodb-js/compass-connections": "^1.53.0",
52+
"@mongodb-js/compass-connections": "^1.54.0",
5353
"@mongodb-js/compass-components": "^1.35.2",
54-
"@mongodb-js/connection-info": "^0.11.9",
55-
"@mongodb-js/connection-form": "^1.48.2",
56-
"@mongodb-js/compass-workspaces": "^0.34.0",
57-
"compass-preferences-model": "^2.35.0",
54+
"@mongodb-js/connection-info": "^0.12.0",
55+
"@mongodb-js/connection-form": "^1.49.0",
56+
"@mongodb-js/compass-workspaces": "^0.35.0",
57+
"compass-preferences-model": "^2.36.0",
5858
"mongodb-build-info": "^1.7.2",
5959
"react": "^17.0.2",
6060
"react-virtualized-auto-sizer": "^1.0.6",

packages/compass-connections-navigation/src/base-navigation-item.tsx

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,23 @@ import {
55
css,
66
ItemActionControls,
77
cx,
8+
Badge,
9+
BadgeVariant,
10+
Tooltip,
11+
useDarkMode,
12+
Body,
813
} from '@mongodb-js/compass-components';
914
import { type Actions, ROW_HEIGHT } from './constants';
1015
import { ExpandButton } from './tree-item';
1116
import { type NavigationItemActions } from './item-actions';
17+
import type {
18+
ConnectedConnectionTreeItem,
19+
NotConnectedConnectionTreeItem,
20+
SidebarTreeItem,
21+
} from './tree-data';
1222

1323
type NavigationBaseItemProps = {
24+
item: SidebarTreeItem;
1425
name: string;
1526
isActive: boolean;
1627
isExpandVisible: boolean;
@@ -86,7 +97,66 @@ const actionControlsWrapperStyles = css({
8697
gap: spacing[100],
8798
});
8899

100+
const ClusterStateBadge: React.FunctionComponent<{
101+
state: string;
102+
}> = ({ state }) => {
103+
const badgeVariant =
104+
state === 'CREATING'
105+
? BadgeVariant.Blue
106+
: state === 'DELETED'
107+
? BadgeVariant.Red
108+
: BadgeVariant.LightGray;
109+
const badgeText =
110+
state === 'DELETING'
111+
? 'TERMINATING'
112+
: state === 'DELETED'
113+
? 'TERMINATED'
114+
: state;
115+
116+
return (
117+
<Badge variant={badgeVariant} data-testid="navigation-item-state-badge">
118+
{badgeText}
119+
</Badge>
120+
);
121+
};
122+
123+
const ClusterStateBadgeWithTooltip: React.FunctionComponent<{
124+
item: ConnectedConnectionTreeItem | NotConnectedConnectionTreeItem;
125+
}> = ({ item }) => {
126+
const isDarkMode = useDarkMode();
127+
128+
const atlasClusterState = item.connectionInfo.atlasMetadata?.clusterState;
129+
if (atlasClusterState === 'PAUSED') {
130+
return (
131+
<Tooltip
132+
enabled={true}
133+
darkMode={isDarkMode}
134+
trigger={({
135+
children: tooltipChildren,
136+
...tooltipTriggerProps
137+
}: React.HTMLProps<HTMLDivElement>) => (
138+
<div {...tooltipTriggerProps}>
139+
<ClusterStateBadge state={atlasClusterState} />
140+
{tooltipChildren}
141+
</div>
142+
)}
143+
>
144+
<Body>Unpause your cluster to connect to it</Body>
145+
</Tooltip>
146+
);
147+
} else if (
148+
atlasClusterState === 'DELETING' ||
149+
atlasClusterState === 'CREATING' ||
150+
atlasClusterState === 'DELETED'
151+
) {
152+
return <ClusterStateBadge state={atlasClusterState} />;
153+
}
154+
155+
return null;
156+
};
157+
89158
export const NavigationBaseItem: React.FC<NavigationBaseItemProps> = ({
159+
item,
90160
isActive,
91161
actionProps,
92162
name,
@@ -102,6 +172,7 @@ export const NavigationBaseItem: React.FC<NavigationBaseItemProps> = ({
102172
children,
103173
}) => {
104174
const [hoverProps, isHovered] = useHoverState();
175+
105176
return (
106177
<div
107178
data-testid="base-navigation-item"
@@ -127,6 +198,9 @@ export const NavigationBaseItem: React.FC<NavigationBaseItemProps> = ({
127198
{icon}
128199
<span title={name}>{name}</span>
129200
</div>
201+
{item.type === 'connection' && (
202+
<ClusterStateBadgeWithTooltip item={item} />
203+
)}
130204
<div className={actionControlsWrapperStyles}>
131205
<ItemActionControls
132206
menuClassName={menuStyles}

0 commit comments

Comments
 (0)