From 43414399d727a70c4fd14676dad9fe1a8dc692bf Mon Sep 17 00:00:00 2001 From: Pedro Lamas Date: Sun, 10 May 2026 18:32:55 +0100 Subject: [PATCH 1/4] fix: console text selection Signed-off-by: Pedro Lamas --- components.d.ts | 1 + package-lock.json | 36 ----- package.json | 1 - src/components/ui/AppScrollableContainer.vue | 89 ++++++++++++ src/components/widgets/console/Console.vue | 129 +++--------------- .../widgets/console/ConsoleCard.vue | 26 +--- .../widgets/console/ConsoleItem.vue | 47 ++++--- src/main.ts | 3 - src/typings/vue-virtual-scroller.d.ts | 12 -- 9 files changed, 141 insertions(+), 203 deletions(-) create mode 100644 src/components/ui/AppScrollableContainer.vue delete mode 100644 src/typings/vue-virtual-scroller.d.ts diff --git a/components.d.ts b/components.d.ts index a6c01dee7c..213231ef3c 100644 --- a/components.d.ts +++ b/components.d.ts @@ -47,6 +47,7 @@ declare module 'vue' { AppObservedColumn: typeof import('./src/components/layout/AppObservedColumn.vue')['default'] AppQrCode: typeof import('./src/components/ui/AppQrCode.vue')['default'] AppSaveConfigAndRestartBtn: typeof import('./src/components/layout/AppSaveConfigAndRestartBtn.vue')['default'] + AppScrollableContainer: typeof import('./src/components/ui/AppScrollableContainer.vue')['default'] AppSetting: typeof import('./src/components/ui/AppSetting.vue')['default'] AppSettingsNav: typeof import('./src/components/layout/AppSettingsNav.vue')['default'] AppTextField: typeof import('./src/components/ui/AppTextField.vue')['default'] diff --git a/package-lock.json b/package-lock.json index a2fb8ca84c..45804e5c7c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,7 +44,6 @@ "vue-meta": "^2.4.0", "vue-property-decorator": "^9.1.2", "vue-router": "^3.6.5", - "vue-virtual-scroller": "^1.1.2", "vue2-touch-events": "^3.2.3", "vuetify": "^2.7.2", "vuetify-confirm": "^2.0.6", @@ -14353,12 +14352,6 @@ "node": ">=v12.22.7" } }, - "node_modules/scrollparent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/scrollparent/-/scrollparent-2.1.0.tgz", - "integrity": "sha512-bnnvJL28/Rtz/kz2+4wpBjHzWoEzXhVg/TE8BeVGJHUqE8THNIRnDxDWMktwM+qahvlRdvlLdsQfYe+cuqfZeA==", - "license": "ISC" - }, "node_modules/scslre": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/scslre/-/scslre-0.3.0.tgz", @@ -16836,12 +16829,6 @@ "deepmerge": "^4.2.2" } }, - "node_modules/vue-observe-visibility": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vue-observe-visibility/-/vue-observe-visibility-0.4.6.tgz", - "integrity": "sha512-xo0CEVdkjSjhJoDdLSvoZoQrw/H2BlzB5jrCBKGZNXN2zdZgMuZ9BKrxXDjNP2AxlcCoKc8OahI3F3r3JGLv2Q==", - "license": "MIT" - }, "node_modules/vue-property-decorator": { "version": "9.1.2", "resolved": "https://registry.npmjs.org/vue-property-decorator/-/vue-property-decorator-9.1.2.tgz", @@ -16852,15 +16839,6 @@ "vue-class-component": "*" } }, - "node_modules/vue-resize": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-0.4.5.tgz", - "integrity": "sha512-bhP7MlgJQ8TIkZJXAfDf78uJO+mEI3CaLABLjv0WNzr4CcGRGPIAItyWYnP6LsPA4Oq0WE+suidNs6dgpO4RHg==", - "license": "MIT", - "peerDependencies": { - "vue": "^2.3.0" - } - }, "node_modules/vue-router": { "version": "3.6.5", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.6.5.tgz", @@ -16895,20 +16873,6 @@ "typescript": ">=5.0.0" } }, - "node_modules/vue-virtual-scroller": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vue-virtual-scroller/-/vue-virtual-scroller-1.1.2.tgz", - "integrity": "sha512-SkUyc7QHCJFB5h1Fya7LxVizlVzOZZuFVipBGHYoTK8dwLs08bIz/tclvRApYhksaJIm/nn51inzO2UjpGJPMQ==", - "license": "MIT", - "dependencies": { - "scrollparent": "^2.0.1", - "vue-observe-visibility": "^0.4.4", - "vue-resize": "^0.4.5" - }, - "peerDependencies": { - "vue": "^2.6.11" - } - }, "node_modules/vue/node_modules/@vue/compiler-sfc": { "version": "2.7.16", "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz", diff --git a/package.json b/package.json index 5297c2dc2c..545e0f7263 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,6 @@ "vue-meta": "^2.4.0", "vue-property-decorator": "^9.1.2", "vue-router": "^3.6.5", - "vue-virtual-scroller": "^1.1.2", "vue2-touch-events": "^3.2.3", "vuetify": "^2.7.2", "vuetify-confirm": "^2.0.6", diff --git a/src/components/ui/AppScrollableContainer.vue b/src/components/ui/AppScrollableContainer.vue new file mode 100644 index 0000000000..63cc3dc1e5 --- /dev/null +++ b/src/components/ui/AppScrollableContainer.vue @@ -0,0 +1,89 @@ + + + + diff --git a/src/components/widgets/console/Console.vue b/src/components/widgets/console/Console.vue index c0d6dac893..d916727842 100644 --- a/src/components/widgets/console/Console.vue +++ b/src/components/widgets/console/Console.vue @@ -8,40 +8,26 @@ @send="sendCommand" /> - - - + +