Skip to content

Commit 4c074d5

Browse files
authored
feat(sidebar): move db refresh inline COMPASS-9497 (#7065)
1 parent efdada9 commit 4c074d5

File tree

5 files changed

+33
-23
lines changed

5 files changed

+33
-23
lines changed

packages/compass-connections-navigation/src/connections-navigation-tree.tsx

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ const ConnectionsNavigationTree: React.FunctionComponent<
114114

115115
const getCollapseAfterForConnectedItem = useCallback(
116116
(actions: NavigationItemActions) => {
117-
const [firstAction, secondAction] = actions;
117+
const [, secondAction, thirdAction] = actions;
118118

119119
const actionCanBeShownInline = (
120120
action: NavigationItemActions[number]
@@ -123,31 +123,32 @@ const ConnectionsNavigationTree: React.FunctionComponent<
123123
return false;
124124
}
125125

126-
return ['create-database', 'open-shell'].includes(
126+
return ['refresh-databases', 'create-database', 'open-shell'].includes(
127127
(action as ItemAction<Actions>).action
128128
);
129129
};
130130

131131
// this is the normal case for a connection that is writable and when we
132132
// also have shell enabled
133133
if (
134-
actionCanBeShownInline(firstAction) &&
135-
actionCanBeShownInline(secondAction)
134+
actionCanBeShownInline(secondAction) &&
135+
actionCanBeShownInline(thirdAction)
136136
) {
137-
return 2;
137+
return 3;
138138
}
139139

140140
// this will happen when the either the connection is not writable or the
141141
// preference is readonly, or shell is not enabled in which case we either
142142
// do not show create-database action or open-shell action
143143
if (
144-
actionCanBeShownInline(firstAction) ||
145-
actionCanBeShownInline(secondAction)
144+
actionCanBeShownInline(secondAction) ||
145+
actionCanBeShownInline(thirdAction)
146146
) {
147-
return 1;
147+
return 2;
148148
}
149149

150-
return 0;
150+
// Always display the refresh action (firstAction).
151+
return 1;
151152
},
152153
[]
153154
);

packages/compass-connections-navigation/src/item-actions.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,11 @@ export const connectedConnectionItemActions = ({
9393
connectionInfo,
9494
});
9595
return stripNullActions([
96+
{
97+
action: 'refresh-databases',
98+
label: 'Refresh databases',
99+
icon: 'Refresh',
100+
},
96101
hasWriteActionsDisabled
97102
? null
98103
: {
@@ -123,11 +128,6 @@ export const connectedConnectionItemActions = ({
123128
icon: 'InfoWithCircle',
124129
label: 'Show connection info',
125130
},
126-
{
127-
action: 'refresh-databases',
128-
label: 'Refresh databases',
129-
icon: 'Refresh',
130-
},
131131
{
132132
action: 'connection-disconnect',
133133
icon: 'Disconnect',

packages/compass-e2e-tests/tests/in-use-encryption.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ async function refresh(browser: CompassBrowser, connectionName: string) {
2525

2626
await browser.selectConnectionMenuItem(
2727
connectionName,
28-
Selectors.RefreshDatabasesItem
28+
Selectors.RefreshDatabasesItem,
29+
false
2930
);
3031
}
3132

packages/compass-e2e-tests/tests/instance-sidebar.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,8 @@ describe('Instance sidebar', function () {
240240

241241
await browser.selectConnectionMenuItem(
242242
DEFAULT_CONNECTION_NAME_1,
243-
Selectors.RefreshDatabasesItem
243+
Selectors.RefreshDatabasesItem,
244+
false
244245
);
245246

246247
// wait for the new collection we added via the driver to appear.

packages/compass-e2e-tests/tests/my-queries-tab.test.ts

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,8 @@ describe('My Queries tab', function () {
258258

259259
await browser.selectConnectionMenuItem(
260260
DEFAULT_CONNECTION_NAME_1,
261-
Selectors.RefreshDatabasesItem
261+
Selectors.RefreshDatabasesItem,
262+
false
262263
);
263264

264265
// go to My Queries
@@ -389,7 +390,8 @@ describe('My Queries tab', function () {
389390

390391
await browser.selectConnectionMenuItem(
391392
DEFAULT_CONNECTION_NAME_1,
392-
Selectors.RefreshDatabasesItem
393+
Selectors.RefreshDatabasesItem,
394+
false
393395
);
394396

395397
await browser.navigateToMyQueries();
@@ -449,7 +451,8 @@ describe('My Queries tab', function () {
449451

450452
await browser.selectConnectionMenuItem(
451453
DEFAULT_CONNECTION_NAME_1,
452-
Selectors.RefreshDatabasesItem
454+
Selectors.RefreshDatabasesItem,
455+
false
453456
);
454457

455458
await browser.navigateToMyQueries();
@@ -495,11 +498,13 @@ describe('My Queries tab', function () {
495498

496499
await browser.selectConnectionMenuItem(
497500
DEFAULT_CONNECTION_NAME_1,
498-
Selectors.RefreshDatabasesItem
501+
Selectors.RefreshDatabasesItem,
502+
false
499503
);
500504
await browser.selectConnectionMenuItem(
501505
DEFAULT_CONNECTION_NAME_2,
502-
Selectors.RefreshDatabasesItem
506+
Selectors.RefreshDatabasesItem,
507+
false
503508
);
504509

505510
await browser.navigateToMyQueries();
@@ -557,11 +562,13 @@ describe('My Queries tab', function () {
557562

558563
await browser.selectConnectionMenuItem(
559564
DEFAULT_CONNECTION_NAME_1,
560-
Selectors.RefreshDatabasesItem
565+
Selectors.RefreshDatabasesItem,
566+
false
561567
);
562568
await browser.selectConnectionMenuItem(
563569
DEFAULT_CONNECTION_NAME_2,
564-
Selectors.RefreshDatabasesItem
570+
Selectors.RefreshDatabasesItem,
571+
false
565572
);
566573

567574
await browser.navigateToMyQueries();

0 commit comments

Comments
 (0)