Skip to content

WIP: table cell right click #7045

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 88 commits into
base: gagik/cell-render-refactor
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
297a943
feat(compass-context-menu): add a headless context menu package
gagik May 20, 2025
6838513
wip
gagik May 21, 2025
8e30a83
fix: add tests
gagik May 21, 2025
7d17984
fix: add tests and fix types
gagik May 21, 2025
6004593
refactor: minor stylistic changes
gagik May 21, 2025
43023f4
fix: export types and rename MenuItem
gagik May 22, 2025
971b0fd
fix: basic UI implementation
gagik May 22, 2025
0ad7a63
fix: use React.RefCallback
gagik May 22, 2025
aa9f0cf
fix: switch to item-based organization
gagik May 23, 2025
58df56a
fix: cleanup and switch to menu prop
gagik May 23, 2025
a54c738
refactor: use item groups instead of React elements, use wrapper, kee…
gagik May 23, 2025
731ac13
Merge branch 'gagik/headless-context-menu' of github.com:mongodb-js/c…
gagik May 23, 2025
56d11b6
fix: revert test environment
gagik May 23, 2025
743f068
fix: justify start to make it prefer right way popups and remove comment
gagik May 23, 2025
ab14b78
fix: remove redundant context import
gagik May 23, 2025
1d279ca
feat(compass-context-menu): add a headless context menu package
gagik May 20, 2025
1efdb2e
wip
gagik May 21, 2025
0f5303b
fix: add tests
gagik May 21, 2025
33b2a41
fix: add tests and fix types
gagik May 21, 2025
4a2f032
refactor: minor stylistic changes
gagik May 21, 2025
8e1feb3
fix: export types and rename MenuItem
gagik May 22, 2025
1f55000
fix: use React.RefCallback
gagik May 22, 2025
9618e8e
refactor: use item groups instead of React elements, use wrapper, kee…
gagik May 23, 2025
ca1fb86
fix: delete redundant context menu
gagik May 23, 2025
a285d63
Merge branch 'gagik/headless-context-menu' of github.com:mongodb-js/c…
gagik May 23, 2025
aacdf1d
feat(compass-context-menu): add a headless context menu package
gagik May 20, 2025
cb99706
wip
gagik May 21, 2025
da22b51
fix: add tests
gagik May 21, 2025
78ff94c
fix: add tests and fix types
gagik May 21, 2025
a24e89c
refactor: minor stylistic changes
gagik May 21, 2025
f3869ea
fix: export types and rename MenuItem
gagik May 22, 2025
c2d9ac1
fix: use React.RefCallback
gagik May 22, 2025
1c6ef03
refactor: use item groups instead of React elements, use wrapper, kee…
gagik May 23, 2025
3d14d6d
fix: delete redundant context menu
gagik May 23, 2025
ee658e1
fix: remove unused dep
gagik Jun 2, 2025
a173aae
Merge branch 'gagik/headless-context-menu' of github.com:mongodb-js/c…
gagik Jun 2, 2025
59d82d6
test: compas crud
gagik Jun 6, 2025
1ad46a7
fix: enforce no nesting, adjsut enzyme test and move setup to testing…
gagik Jun 10, 2025
4730c18
fix: add tests and fix bug with menu auto-closing
gagik Jun 10, 2025
eb65769
fix: enforce no nesting, adjsut enzyme test and move setup to testing…
gagik Jun 10, 2025
37dff3a
fix: separate type import
gagik Jun 10, 2025
61e39c3
fix: remove redundant providers
gagik Jun 10, 2025
3c3cf13
Merge branch 'gagik/context-menu-compass-ui' of github.com:mongodb-js…
gagik Jun 10, 2025
97dd158
fix: remove unnecesary order change
gagik Jun 10, 2025
220a300
fix: move to compass components provider
gagik Jun 10, 2025
74f3d6e
fix: remove unintended deletion
gagik Jun 10, 2025
4f05381
fix: adjust tests
gagik Jun 10, 2025
8deaaac
Merge branch 'gagik/context-menu-compass-ui' of github.com:mongodb-js…
gagik Jun 10, 2025
3f6e8ac
fix: use compass components provider
gagik Jun 10, 2025
2863676
fix: use a shared hook and minimize test duplication
gagik Jun 10, 2025
768d0f2
chore: cleanup package-lock from removed workspaces (#7025)
gribnoysup Jun 17, 2025
70c8651
chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary
mongodb-devtools-bot[bot] Jun 17, 2025
37c9633
chore(ci): extend smoketests timeouts to account for slow windows mac…
gribnoysup Jun 17, 2025
458276b
Merge branch 'main' of github.com:mongodb-js/compass into gagik/colle…
gagik Jun 17, 2025
1b931f5
chore(e2e-tests): update interval on starting import to ensure we dis…
Anemy Jun 17, 2025
0236593
fix: use the shared hook
gagik Jun 17, 2025
7ced8fc
refactor: turn cell render into a functional component
gagik Jun 16, 2025
5d932a0
refactor: untangle usage of nested if statements
gagik Jun 16, 2025
fc6068e
fix: use CellState wherever possible
gagik Jun 17, 2025
16bf358
wip
gagik Jun 17, 2025
7f7bc82
fix(aggregations): stage description tooltip overflow COMPASS-9463 (#…
Anemy Jun 17, 2025
1e4eeed
feat(workspaces): move tab rendering to the plugins COMPASS-9413 (#6997)
Anemy Jun 17, 2025
8e9c13f
fix(test): deflake diagram-editor tests COMPASS-9462 (#7030)
mabaasit Jun 17, 2025
720a05a
chore(deps): disable custom dependabot rules (#7034)
gribnoysup Jun 18, 2025
58a1873
chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary
mongodb-devtools-bot[bot] Jun 18, 2025
73bfc31
wip
gagik Jun 18, 2025
4ad7231
Merge branch 'main' of github.com:mongodb-js/compass into gagik/conte…
gagik Jun 18, 2025
cbb0656
Merge branch 'main' of github.com:mongodb-js/compass into gagik/headl…
gagik Jun 18, 2025
c6d7b03
Merge branch 'gagik/headless-context-menu' of github.com:mongodb-js/c…
gagik Jun 18, 2025
6b6e398
fix: throw early on
gagik Jun 18, 2025
e709f7b
chore(ci): bump timeouts for e2e tests in test installers tasks COMPA…
gribnoysup Jun 18, 2025
d5cce0d
chore(intercom): Add request to the update server to determine if Int…
kraenhansen Jun 18, 2025
c58db3c
feat: Fix the state management for the two flows (disabled state, dis…
rubydong Jun 18, 2025
bd10dc4
chore(release): bump package versions (#7032)
mongodb-devtools-bot[bot] Jun 18, 2025
7e534be
chore(smoke-tests): windows fixes (#7038)
kraenhansen Jun 18, 2025
66abc2c
refactor(app-registry): rename hadron-app-registry to @mongodb-js/com…
Anemy Jun 19, 2025
19578f2
chore: update AUTHORS, THIRD-PARTY-NOTICES, Security Test Summary
mongodb-devtools-bot[bot] Jun 19, 2025
cb9d596
feat(compass-context-menu): add a headless context menu package COMPA…
gagik Jun 19, 2025
17c05f0
Merge branch 'main' of github.com:mongodb-js/compass into gagik/conte…
gagik Jun 19, 2025
6dadf25
fix: correct wrapper use
gagik Jun 19, 2025
7756845
fix: correct Compass Context Menu wrapper usage (#7042)
gagik Jun 19, 2025
a62690b
Merge branch 'main' of github.com:mongodb-js/compass into gagik/conte…
gagik Jun 19, 2025
4dafa7b
fix: use render directly for compass-context-menu
gagik Jun 19, 2025
915c597
fix: use testingLibrary's render
gagik Jun 19, 2025
8f306e4
feat: memoize items for context menu
gagik Jun 19, 2025
aa52fb7
fix: adjust dependencies
gagik Jun 19, 2025
fb9c599
fix: support nesting
gagik Jun 19, 2025
ce464c8
Merge branch 'gagik/context-menu-compass-ui' of github.com:mongodb-js…
gagik Jun 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
11 changes: 9 additions & 2 deletions .github/workflows/test-installers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,10 @@ jobs:
run: echo "[Evergreen Task](${{ github.event.inputs.evergreen_task_url }})" >> $GITHUB_STEP_SUMMARY
test:
name: ${{ matrix.package }} test ${{ matrix.test }} (${{ matrix.hadron-distribution }})
timeout-minutes: 30
# Windows specifically takes A TON of time to bootstrap itself before being
# able to run tests, so we're setting the timeout pretty high to account for
# that
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -174,7 +177,11 @@ jobs:
runs-on: ${{ matrix.runs-on }}
container: ${{ matrix.container }}
env:
DEBUG: compass:smoketests:*
DEBUG: compass:smoketests:*,compass-e2e-tests:*
# Similar to total task timeout, setting these higher than the default
# value to account for very slow windows machines
COMPASS_E2E_MOCHA_TIMEOUT: 720000 # 12min
COMPASS_E2E_WEBDRIVER_WAITFOR_TIMEOUT: 360000 # 6min
steps:
- name: Checkout
uses: actions/checkout@v2
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ To enable the Chrome DevTools for the Electron renderer processes, click "Settin

> [!NOTE]
> For documentation regarding how to write plugin packages, check out the
> [hadron-app-registry](./packages/hadron-app-registry/README.md) documentation.
> [@mongodb-js/compass-app-registry](./packages/compass-app-registry/README.md) documentation.
To run npm scripts inside specific workspaces in the monorepo you can use either `lerna --scope` or `npm --workspace` command line arguments. As an example, to run all tests in one plugin that you are working on such as the `compass-aggregations` plugin, you can run `npm run test --workspace packages/compass-aggregation` or `lerna run test --scope @mongodb-js/compass-aggregations` commands

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ Is there anything else you’d like to see in Compass? Let us know by submitting
### Shared Libraries and Build Tools

- [**@mongodb-js/atlas-service**](packages/atlas-service): Service to handle Atlas sign in and API requests
- [**@mongodb-js/compass-app-registry**](packages/compass-app-registry): Compass App Registry
- [**@mongodb-js/compass-components**](packages/compass-components): React Components used in Compass
- [**@mongodb-js/compass-connection-import-export**](packages/compass-connection-import-export): UI for Compass connection import/export
- [**@mongodb-js/compass-connections**](packages/compass-connections): Manage your MongoDB connections and connect in Compass
Expand Down Expand Up @@ -67,7 +68,6 @@ Is there anything else you’d like to see in Compass? Let us know by submitting
- [**bson-transpilers**](packages/bson-transpilers): Source to source compilers using ANTLR
- [**compass-e2e-tests**](packages/compass-e2e-tests): E2E test suite for Compass app that follows smoke tests / feature testing matrix
- [**compass-preferences-model**](packages/compass-preferences-model): Compass preferences model
- [**hadron-app-registry**](packages/hadron-app-registry): Hadron App Registry
- [**hadron-build**](packages/hadron-build): Tooling for Hadron apps like Compass
- [**hadron-document**](packages/hadron-document): Hadron Document
- [**hadron-ipc**](packages/hadron-ipc): Simplified IPC for electron apps.
Expand Down
2 changes: 1 addition & 1 deletion THIRD-PARTY-NOTICES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
The following third-party software is used by and included in **Mongodb Compass**.
This document was automatically generated on Mon Jun 16 2025.
This document was automatically generated on Thu Jun 19 2025.

## List of dependencies

Expand Down
2 changes: 1 addition & 1 deletion configs/eslint-config-compass/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ const tsxRules = {
'react-hooks/exhaustive-deps': [
'warn',
{
additionalHooks: 'useTrackOnChange',
additionalHooks: '(useTrackOnChange|useContextMenuItems)',
},
],
};
Expand Down
2 changes: 1 addition & 1 deletion configs/testing-library-compass/.depcheckrc
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ ignores:
# dependency will introduce a circular one in our dependency tree, as it's only
# used for testing and doesn't require compilation, we're escaping the
# recursiveness issue by just not including those in the package.json
- '@mongodb-js/compass-app-registry'
- '@mongodb-js/compass-logging'
- '@mongodb-js/compass-telemetry'
- '@mongodb-js/connection-info'
- '@mongodb-js/compass-connections'
- '@mongodb-js/compass-components'
- '@mongodb-js/connection-storage'
- 'compass-preferences-model'
- 'hadron-app-registry'
- 'mongodb-data-service'
ignore-patterns:
- 'dist'
15 changes: 9 additions & 6 deletions configs/testing-library-compass/src/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,14 @@ import {
import CompassConnections, {
ConnectFnProvider,
} from '@mongodb-js/compass-connections/src/index';
import type { HadronPluginComponent, HadronPlugin } from 'hadron-app-registry';
import type {
CompassPluginComponent,
CompassPlugin,
} from '@mongodb-js/compass-app-registry';
import AppRegistry, {
AppRegistryProvider,
GlobalAppRegistryProvider,
} from 'hadron-app-registry';
} from '@mongodb-js/compass-app-registry';
import { expect } from 'chai';
import { Provider } from 'react-redux';
import ConnectionString from 'mongodb-connection-string-url';
Expand Down Expand Up @@ -560,9 +563,9 @@ async function renderHookWithActiveConnection<HookProps, HookResult>(
function createPluginWrapper<
Props,
ServiceLocators extends Record<string, () => unknown>,
PluginContext extends HadronPlugin
PluginContext extends CompassPlugin
>(
Plugin: HadronPluginComponent<Props, ServiceLocators, PluginContext>,
Plugin: CompassPluginComponent<Props, ServiceLocators, PluginContext>,
initialPluginProps?: Props,
ReactTestingLibraryWrapper: ComponentWithChildren = EmptyWrapper
) {
Expand All @@ -585,9 +588,9 @@ function createPluginWrapper<
function createPluginTestHelpers<
Props,
ServiceLocators extends Record<string, () => unknown>,
PluginContext extends HadronPlugin
PluginContext extends CompassPlugin
>(
Plugin: HadronPluginComponent<Props, ServiceLocators, PluginContext>,
Plugin: CompassPluginComponent<Props, ServiceLocators, PluginContext>,
defaultInitialPluginProps?: Props
) {
return {
Expand Down
2 changes: 1 addition & 1 deletion docs/tracking-plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
> the tracking plan for the specific Compass version you can use the following
> URL: `https://github.com/mongodb-js/compass/blob/<compass version>/docs/tracking-plan.md`

Generated on Mon, Jun 16, 2025
Generated on Thu, Jun 19, 2025

## Table of Contents

Expand Down
Loading