fix(editor): Fix canvas panning using Control + Left Mouse Button on Windows (#12104)

This commit is contained in:
Alex Grozav 2024-12-10 14:12:44 +02:00 committed by GitHub
parent 8bf6cce000
commit 43009b6aa8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 35 additions and 33 deletions

View file

@ -40,9 +40,9 @@
"@n8n/codemirror-lang-sql": "^1.0.2", "@n8n/codemirror-lang-sql": "^1.0.2",
"@n8n/permissions": "workspace:*", "@n8n/permissions": "workspace:*",
"@sentry/vue": "catalog:frontend", "@sentry/vue": "catalog:frontend",
"@vue-flow/background": "^1.3.1", "@vue-flow/background": "^1.3.2",
"@vue-flow/controls": "^1.1.2", "@vue-flow/controls": "^1.1.2",
"@vue-flow/core": "^1.41.4", "@vue-flow/core": "^1.41.6",
"@vue-flow/minimap": "^1.5.0", "@vue-flow/minimap": "^1.5.0",
"@vue-flow/node-resizer": "^1.4.0", "@vue-flow/node-resizer": "^1.4.0",
"@vueuse/components": "^10.11.0", "@vueuse/components": "^10.11.0",

View file

@ -147,10 +147,12 @@ const selectionKeyCode = ref<true | null>(true);
onKeyDown(panningKeyCode.value, () => { onKeyDown(panningKeyCode.value, () => {
selectionKeyCode.value = null; selectionKeyCode.value = null;
panningMouseButton.value = [0, 1];
}); });
onKeyUp(panningKeyCode.value, () => { onKeyUp(panningKeyCode.value, () => {
selectionKeyCode.value = true; selectionKeyCode.value = true;
panningMouseButton.value = [1];
}); });
function selectLeftNode(id: string) { function selectLeftNode(id: string) {
@ -642,7 +644,7 @@ provide(CanvasKey, {
@connect="onConnect" @connect="onConnect"
@connect-end="onConnectEnd" @connect-end="onConnectEnd"
@pane-click="onClickPane" @pane-click="onClickPane"
@contextmenu="onOpenContextMenu" @pane-context-menu="onOpenContextMenu"
@move-start="onPaneMoveStart" @move-start="onPaneMoveStart"
@move-end="onPaneMoveEnd" @move-end="onPaneMoveEnd"
@node-drag-stop="onNodeDragStop" @node-drag-stop="onNodeDragStop"

View file

@ -717,7 +717,7 @@ importers:
version: 8.57.0 version: 8.57.0
eslint-config-airbnb-typescript: eslint-config-airbnb-typescript:
specifier: ^18.0.0 specifier: ^18.0.0
version: 18.0.0(@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0))(eslint@8.57.0) version: 18.0.0(@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0)
eslint-config-prettier: eslint-config-prettier:
specifier: ^9.1.0 specifier: ^9.1.0
version: 9.1.0(eslint@8.57.0) version: 9.1.0(eslint@8.57.0)
@ -1406,20 +1406,20 @@ importers:
specifier: catalog:frontend specifier: catalog:frontend
version: 8.33.1(vue@3.5.13(typescript@5.7.2)) version: 8.33.1(vue@3.5.13(typescript@5.7.2))
'@vue-flow/background': '@vue-flow/background':
specifier: ^1.3.1 specifier: ^1.3.2
version: 1.3.1(@vue-flow/core@1.41.4(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2)) version: 1.3.2(@vue-flow/core@1.41.6(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))
'@vue-flow/controls': '@vue-flow/controls':
specifier: ^1.1.2 specifier: ^1.1.2
version: 1.1.2(@vue-flow/core@1.41.4(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2)) version: 1.1.2(@vue-flow/core@1.41.6(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))
'@vue-flow/core': '@vue-flow/core':
specifier: ^1.41.4 specifier: ^1.41.6
version: 1.41.4(vue@3.5.13(typescript@5.7.2)) version: 1.41.6(vue@3.5.13(typescript@5.7.2))
'@vue-flow/minimap': '@vue-flow/minimap':
specifier: ^1.5.0 specifier: ^1.5.0
version: 1.5.0(@vue-flow/core@1.41.4(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2)) version: 1.5.0(@vue-flow/core@1.41.6(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))
'@vue-flow/node-resizer': '@vue-flow/node-resizer':
specifier: ^1.4.0 specifier: ^1.4.0
version: 1.4.0(@vue-flow/core@1.41.4(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2)) version: 1.4.0(@vue-flow/core@1.41.6(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))
'@vueuse/components': '@vueuse/components':
specifier: ^10.11.0 specifier: ^10.11.0
version: 10.11.0(vue@3.5.13(typescript@5.7.2)) version: 10.11.0(vue@3.5.13(typescript@5.7.2))
@ -5801,8 +5801,8 @@ packages:
'@volar/typescript@2.4.10': '@volar/typescript@2.4.10':
resolution: {integrity: sha512-F8ZtBMhSXyYKuBfGpYwqA5rsONnOwAVvjyE7KPYJ7wgZqo2roASqNWUnianOomJX5u1cxeRooHV59N0PhvEOgw==} resolution: {integrity: sha512-F8ZtBMhSXyYKuBfGpYwqA5rsONnOwAVvjyE7KPYJ7wgZqo2roASqNWUnianOomJX5u1cxeRooHV59N0PhvEOgw==}
'@vue-flow/background@1.3.1': '@vue-flow/background@1.3.2':
resolution: {integrity: sha512-8q0lTbvA3A9s0bDnpUIHMZj/HUTdMa3ChGSAw7EBaTKy7qJB21EnKbTIgC2lYweprzxk94vop4YmGfUO1jiqqQ==} resolution: {integrity: sha512-eJPhDcLj1wEo45bBoqTXw1uhl0yK2RaQGnEINqvvBsAFKh/camHJd5NPmOdS1w+M9lggc9igUewxaEd3iCQX2w==}
peerDependencies: peerDependencies:
'@vue-flow/core': ^1.23.0 '@vue-flow/core': ^1.23.0
vue: ^3.3.0 vue: ^3.3.0
@ -5813,8 +5813,8 @@ packages:
'@vue-flow/core': ^1.23.0 '@vue-flow/core': ^1.23.0
vue: ^3.3.0 vue: ^3.3.0
'@vue-flow/core@1.41.4': '@vue-flow/core@1.41.6':
resolution: {integrity: sha512-OEGI+56DSJ/00fm9SjWgGXtgKJO3Un2/tOEKlCTvL13567VBtdtvNci7f9+6upaR9Eu3oFgbEsF1NiyoQjvB9A==} resolution: {integrity: sha512-8zxcGRqiudra0obDMLTg9L89WxdlV0QrDOdyPYOKWDcD/UK5aT0MIL3Br9TF9AJmHW2z8QZq4cmmgroREL0jgQ==}
peerDependencies: peerDependencies:
vue: ^3.3.0 vue: ^3.3.0
@ -18222,17 +18222,17 @@ snapshots:
path-browserify: 1.0.1 path-browserify: 1.0.1
vscode-uri: 3.0.8 vscode-uri: 3.0.8
'@vue-flow/background@1.3.1(@vue-flow/core@1.41.4(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))': '@vue-flow/background@1.3.2(@vue-flow/core@1.41.6(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))':
dependencies: dependencies:
'@vue-flow/core': 1.41.4(vue@3.5.13(typescript@5.7.2)) '@vue-flow/core': 1.41.6(vue@3.5.13(typescript@5.7.2))
vue: 3.5.13(typescript@5.7.2) vue: 3.5.13(typescript@5.7.2)
'@vue-flow/controls@1.1.2(@vue-flow/core@1.41.4(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))': '@vue-flow/controls@1.1.2(@vue-flow/core@1.41.6(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))':
dependencies: dependencies:
'@vue-flow/core': 1.41.4(vue@3.5.13(typescript@5.7.2)) '@vue-flow/core': 1.41.6(vue@3.5.13(typescript@5.7.2))
vue: 3.5.13(typescript@5.7.2) vue: 3.5.13(typescript@5.7.2)
'@vue-flow/core@1.41.4(vue@3.5.13(typescript@5.7.2))': '@vue-flow/core@1.41.6(vue@3.5.13(typescript@5.7.2))':
dependencies: dependencies:
'@vueuse/core': 10.11.0(vue@3.5.13(typescript@5.7.2)) '@vueuse/core': 10.11.0(vue@3.5.13(typescript@5.7.2))
d3-drag: 3.0.0 d3-drag: 3.0.0
@ -18242,16 +18242,16 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- '@vue/composition-api' - '@vue/composition-api'
'@vue-flow/minimap@1.5.0(@vue-flow/core@1.41.4(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))': '@vue-flow/minimap@1.5.0(@vue-flow/core@1.41.6(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))':
dependencies: dependencies:
'@vue-flow/core': 1.41.4(vue@3.5.13(typescript@5.7.2)) '@vue-flow/core': 1.41.6(vue@3.5.13(typescript@5.7.2))
d3-selection: 3.0.0 d3-selection: 3.0.0
d3-zoom: 3.0.0 d3-zoom: 3.0.0
vue: 3.5.13(typescript@5.7.2) vue: 3.5.13(typescript@5.7.2)
'@vue-flow/node-resizer@1.4.0(@vue-flow/core@1.41.4(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))': '@vue-flow/node-resizer@1.4.0(@vue-flow/core@1.41.6(vue@3.5.13(typescript@5.7.2)))(vue@3.5.13(typescript@5.7.2))':
dependencies: dependencies:
'@vue-flow/core': 1.41.4(vue@3.5.13(typescript@5.7.2)) '@vue-flow/core': 1.41.6(vue@3.5.13(typescript@5.7.2))
d3-drag: 3.0.0 d3-drag: 3.0.0
d3-selection: 3.0.0 d3-selection: 3.0.0
vue: 3.5.13(typescript@5.7.2) vue: 3.5.13(typescript@5.7.2)
@ -20459,7 +20459,7 @@ snapshots:
optionalDependencies: optionalDependencies:
source-map: 0.6.1 source-map: 0.6.1
eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0))(eslint@8.57.0): eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.29.1)(eslint@8.57.0):
dependencies: dependencies:
confusing-browser-globals: 1.0.11 confusing-browser-globals: 1.0.11
eslint: 8.57.0 eslint: 8.57.0
@ -20468,12 +20468,12 @@ snapshots:
object.entries: 1.1.5 object.entries: 1.1.5
semver: 7.6.0 semver: 7.6.0
eslint-config-airbnb-typescript@18.0.0(@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0))(eslint@8.57.0): eslint-config-airbnb-typescript@18.0.0(@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0):
dependencies: dependencies:
'@typescript-eslint/eslint-plugin': 7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2) '@typescript-eslint/eslint-plugin': 7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)
'@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.7.2) '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.7.2)
eslint: 8.57.0 eslint: 8.57.0
eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0))(eslint@8.57.0) eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.1)(eslint@8.57.0)
transitivePeerDependencies: transitivePeerDependencies:
- eslint-plugin-import - eslint-plugin-import
@ -20496,7 +20496,7 @@ snapshots:
debug: 4.3.4 debug: 4.3.4
enhanced-resolve: 5.13.0 enhanced-resolve: 5.13.0
eslint: 8.57.0 eslint: 8.57.0
eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
fast-glob: 3.3.2 fast-glob: 3.3.2
get-tsconfig: 4.5.0 get-tsconfig: 4.5.0
@ -20508,7 +20508,7 @@ snapshots:
- eslint-import-resolver-webpack - eslint-import-resolver-webpack
- supports-color - supports-color
eslint-module-utils@2.8.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): eslint-module-utils@2.8.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
dependencies: dependencies:
debug: 3.2.7(supports-color@8.1.1) debug: 3.2.7(supports-color@8.1.1)
optionalDependencies: optionalDependencies:
@ -20534,7 +20534,7 @@ snapshots:
doctrine: 2.1.0 doctrine: 2.1.0
eslint: 8.57.0 eslint: 8.57.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
hasown: 2.0.2 hasown: 2.0.2
is-core-module: 2.13.1 is-core-module: 2.13.1
is-glob: 4.0.3 is-glob: 4.0.3
@ -21625,7 +21625,7 @@ snapshots:
isstream: 0.1.2 isstream: 0.1.2
jsonwebtoken: 9.0.2 jsonwebtoken: 9.0.2
mime-types: 2.1.35 mime-types: 2.1.35
retry-axios: 2.6.0(axios@1.7.4(debug@4.3.7)) retry-axios: 2.6.0(axios@1.7.4)
tough-cookie: 4.1.3 tough-cookie: 4.1.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -24983,9 +24983,9 @@ snapshots:
ret@0.1.15: {} ret@0.1.15: {}
retry-axios@2.6.0(axios@1.7.4(debug@4.3.7)): retry-axios@2.6.0(axios@1.7.4):
dependencies: dependencies:
axios: 1.7.4(debug@4.3.7) axios: 1.7.4
retry-request@7.0.2(encoding@0.1.13): retry-request@7.0.2(encoding@0.1.13):
dependencies: dependencies: