From 6e14bf1dd0d00d3824695e637d9b1f17d5b7b2ef Mon Sep 17 00:00:00 2001 From: Antonio Anaya Date: Thu, 22 Jan 2026 23:40:56 -0600 Subject: [PATCH] ui_migration fix(deps): --Preliminary-- Define reactivity, with markRaw function wrapper for components. --- webapp/src/App.vue | 8 +++-- webapp/src/components/appContent.vue | 30 ++++++++++--------- .../labThingsComponents/actionButton.vue | 8 +++-- .../labThingsComponents/actionStatusModal.vue | 8 +++-- .../labThingsComponents/inputFromSchema.vue | 4 ++- .../labThingsComponents/propertyControl.vue | 4 ++- .../serverSpecifiedActionButton.vue | 4 ++- .../serverSpecifiedPropertyControl.vue | 4 ++- webapp/src/components/loadingContent.vue | 6 +++- .../cameraMainCalibrationStep.vue | 6 ++-- .../cameraCalibrationTask.vue | 7 +++-- .../cameraStageMappingTask.vue | 8 +++-- .../csmSteps/focusStep.vue | 7 +++-- .../csmSteps/runCsmStep.vue | 6 ++-- .../singleStepTask.vue | 8 +++-- .../stepTemplateWithStream.vue | 4 ++- .../aboutComponents/statusPane.vue | 6 +++- .../tabContentComponents/aboutContent.vue | 6 ++-- .../paneBackgroundDetect.vue | 6 ++-- .../backgroundDetectContent.vue | 6 ++-- .../controlComponents/autofocusControl.vue | 4 ++- .../controlComponents/paneControl.vue | 8 +++-- .../controlComponents/positionControl.vue | 11 ++++--- .../tabContentComponents/controlContent.vue | 8 +++-- .../tabContentComponents/loggingContent.vue | 6 ++-- .../openSeadragonViewer.vue | 2 +- .../scanListComponents/scanCard.vue | 7 ++++- .../scanListComponents/scanViewer.vue | 6 +++- .../tabContentComponents/scanListContent.vue | 10 +++++-- .../settingsComponents/CSMSettings.vue | 6 ++-- .../CSMCalibrationSettings.vue | 6 ++-- .../settingsComponents/cameraSettings.vue | 8 +++-- .../cameraCalibrationSettings.vue | 4 ++- .../settingsComponents/displaySettings.vue | 5 ++-- .../settingsComponents/stageSettings.vue | 4 ++- .../tabContentComponents/settingsContent.vue | 23 +++++++------- .../tabContentComponents/slideScanContent.vue | 14 +++++---- .../tabContentComponents/streamContent.vue | 2 +- .../tabContentComponents/viewContent.vue | 4 ++- webapp/src/main.js | 3 -- 40 files changed, 191 insertions(+), 96 deletions(-) diff --git a/webapp/src/App.vue b/webapp/src/App.vue index 920c0017..53e841c4 100644 --- a/webapp/src/App.vue +++ b/webapp/src/App.vue @@ -26,6 +26,8 @@ import appContent from "./components/appContent.vue"; import loadingContent from "./components/loadingContent.vue"; import MouseTrap from "mousetrap"; +// vue3 migration +import { markRaw } from "vue"; MouseTrap.prototype.stopCallback = function (e, element) { // if the element has the class "mousetrap" then no need to stop @@ -52,8 +54,8 @@ export default { name: "App", components: { - appContent, - loadingContent, + appContent: markRaw(appContent), + loadingContent: markRaw(loadingContent), }, data: function () { @@ -192,7 +194,7 @@ export default { }); }, - beforeDestroy: function () { + beforeUnmount: function () { // Disconnect the theme observer if (this.themeObserver) { this.themeObserver.disconnect(); diff --git a/webapp/src/components/appContent.vue b/webapp/src/components/appContent.vue index 0d217ce6..877d3620 100644 --- a/webapp/src/components/appContent.vue +++ b/webapp/src/components/appContent.vue @@ -77,8 +77,8 @@ diff --git a/webapp/src/components/modalComponents/calibrationWizardComponents/csmSteps/runCsmStep.vue b/webapp/src/components/modalComponents/calibrationWizardComponents/csmSteps/runCsmStep.vue index 25dcdee0..b699e0fb 100644 --- a/webapp/src/components/modalComponents/calibrationWizardComponents/csmSteps/runCsmStep.vue +++ b/webapp/src/components/modalComponents/calibrationWizardComponents/csmSteps/runCsmStep.vue @@ -18,13 +18,15 @@ diff --git a/webapp/src/components/tabContentComponents/aboutComponents/statusPane.vue b/webapp/src/components/tabContentComponents/aboutComponents/statusPane.vue index 6b4e8c6f..67deceb7 100644 --- a/webapp/src/components/tabContentComponents/aboutComponents/statusPane.vue +++ b/webapp/src/components/tabContentComponents/aboutComponents/statusPane.vue @@ -57,10 +57,14 @@ diff --git a/webapp/src/components/tabContentComponents/backgroundDetectComponents/paneBackgroundDetect.vue b/webapp/src/components/tabContentComponents/backgroundDetectComponents/paneBackgroundDetect.vue index 814ff9db..2546ad87 100644 --- a/webapp/src/components/tabContentComponents/backgroundDetectComponents/paneBackgroundDetect.vue +++ b/webapp/src/components/tabContentComponents/backgroundDetectComponents/paneBackgroundDetect.vue @@ -47,11 +47,13 @@ diff --git a/webapp/src/components/tabContentComponents/controlComponents/autofocusControl.vue b/webapp/src/components/tabContentComponents/controlComponents/autofocusControl.vue index ef70d6c6..e22e6c35 100644 --- a/webapp/src/components/tabContentComponents/controlComponents/autofocusControl.vue +++ b/webapp/src/components/tabContentComponents/controlComponents/autofocusControl.vue @@ -18,12 +18,14 @@ diff --git a/webapp/src/components/tabContentComponents/loggingContent.vue b/webapp/src/components/tabContentComponents/loggingContent.vue index 56bb19c6..46abef0c 100644 --- a/webapp/src/components/tabContentComponents/loggingContent.vue +++ b/webapp/src/components/tabContentComponents/loggingContent.vue @@ -83,13 +83,15 @@ import axios from "axios"; import Paginate from "vuejs-paginate"; import EndpointButton from "../labThingsComponents/endpointButton.vue"; +//vue3 migration +import { markRaw } from "vue"; export default { name: "LoggingContent", components: { - Paginate, - EndpointButton, + Paginate: markRaw(Paginate), + EndpointButton: markRaw(EndpointButton), }, data: function () { diff --git a/webapp/src/components/tabContentComponents/scanListComponents/openSeadragonViewer.vue b/webapp/src/components/tabContentComponents/scanListComponents/openSeadragonViewer.vue index 72cd1cea..4e410676 100644 --- a/webapp/src/components/tabContentComponents/scanListComponents/openSeadragonViewer.vue +++ b/webapp/src/components/tabContentComponents/scanListComponents/openSeadragonViewer.vue @@ -59,7 +59,7 @@ export default { } }, - beforeDestroy() { + beforeUnmount() { // Remove global signal listener to perform a gallery refresh this.osdViewer.destroy(); }, diff --git a/webapp/src/components/tabContentComponents/scanListComponents/scanCard.vue b/webapp/src/components/tabContentComponents/scanListComponents/scanCard.vue index 46316ffc..d0fd46ac 100644 --- a/webapp/src/components/tabContentComponents/scanListComponents/scanCard.vue +++ b/webapp/src/components/tabContentComponents/scanListComponents/scanCard.vue @@ -82,11 +82,16 @@ import axios from "axios"; import actionButton from "../../labThingsComponents/actionButton.vue"; import EndpointButton from "../../labThingsComponents/endpointButton.vue"; +// vue3 migration +import { markRaw } from "vue"; // Export main app export default { name: "ScanCard", - components: { actionButton, EndpointButton }, + components: { + actionButton: markRaw(actionButton), + EndpointButton: markRaw(EndpointButton) + }, props: { scanData: { diff --git a/webapp/src/components/tabContentComponents/scanListComponents/scanViewer.vue b/webapp/src/components/tabContentComponents/scanListComponents/scanViewer.vue index 80e17bf3..b589c9fc 100644 --- a/webapp/src/components/tabContentComponents/scanListComponents/scanViewer.vue +++ b/webapp/src/components/tabContentComponents/scanListComponents/scanViewer.vue @@ -55,10 +55,14 @@ diff --git a/webapp/src/components/tabContentComponents/settingsComponents/CSMSettingsComponents/CSMCalibrationSettings.vue b/webapp/src/components/tabContentComponents/settingsComponents/CSMSettingsComponents/CSMCalibrationSettings.vue index c3b38711..1366f3a5 100644 --- a/webapp/src/components/tabContentComponents/settingsComponents/CSMSettingsComponents/CSMCalibrationSettings.vue +++ b/webapp/src/components/tabContentComponents/settingsComponents/CSMSettingsComponents/CSMCalibrationSettings.vue @@ -57,14 +57,16 @@ diff --git a/webapp/src/components/tabContentComponents/settingsComponents/stageSettings.vue b/webapp/src/components/tabContentComponents/settingsComponents/stageSettings.vue index ad5d8842..3350e5f1 100644 --- a/webapp/src/components/tabContentComponents/settingsComponents/stageSettings.vue +++ b/webapp/src/components/tabContentComponents/settingsComponents/stageSettings.vue @@ -29,12 +29,14 @@ diff --git a/webapp/src/main.js b/webapp/src/main.js index b71491cb..1ef25231 100644 --- a/webapp/src/main.js +++ b/webapp/src/main.js @@ -27,9 +27,6 @@ const app = createApp(App); // Use visibility observer app.use(VueObserveVisibility); -// Disable production tip for Vue -app.config.productionTip = false; - // Use global mixins app.mixin(queryMixin); app.mixin(modalMixin);