Skip to content
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

Investigate Vue 3 #1203

Open
felixgabler opened this issue Apr 6, 2021 · 6 comments
Open

Investigate Vue 3 #1203

felixgabler opened this issue Apr 6, 2021 · 6 comments
Assignees

Comments

@felixgabler
Copy link
Collaborator

felixgabler commented Apr 6, 2021

Once we migrate, we could build new things with the help of https://vueuse.org/

@joeldomke
Copy link
Collaborator

joeldomke commented Apr 6, 2021

I went through all dependencies that have "vue" in their name:

  • vue-switches: ❌
    • Requires small changes, but PR is open for 3 months now
    • PR
  • vue-cookie-law: ⚠️
  • bootstrap-vue: ⚠️
  • vue-notification: ⚠️
  • vue-multiselect: ⚠️
  • vue-simple-spinner: ⚠️
    • No issues in the corresponding git repo, easy to replace if incompatible
  • vue-native-websocket: ⚠️
  • highcharts-vue: ✅
    • PR for Vue 3 is open, and it looks like it will be merged soon
    • Update 28.07.22: It now supports Vue 3 out of the box
  • vue-clipboard2: ✅

@felixgabler
Copy link
Collaborator Author

It seems like we need to wait until big dependencies like bootstrap-vue migrate. Given that we are not under time pressure, this is not a huge problem.

Notes:
The PlotTab component (and thereby vue-highcharts) is used in the job results for many tools. Also, the websocket library is used within the store (see the mutations with the prefix "SOCKET_")

@joeldomke

This comment was marked as outdated.

@kyvg
Copy link

kyvg commented Apr 15, 2021

@felixgabler
Copy link
Collaborator Author

felixgabler commented Jul 28, 2022

Some helpful links:

When updating, also make sure to replace Vuex with Pinia as it is now the default store for Vue (https://pinia.vuejs.org/cookbook/migration-vuex.html#converting-a-single-module). This should also be considered when choosing the replacement for the websocket library. It might not be able to hook into the store as it did before.

@felixgabler
Copy link
Collaborator Author

felixgabler commented Nov 12, 2022

Because Bootstrap-Vue does not support Vue3 fully yet, we need to stay in compat mode: https://bootstrap-vue.org/vue3

As such, follow this procedure but keep MODE: 2
https://v3-migration.vuejs.org/migration-build.html#upgrade-workflow

Update steps needed:

Things to test:

  • 404 routes catching
  • Transitions: Routes, transition group, text area subcomponent
  • Tour
  • Browser notifications
  • Title manager
  • Cookie law (also reapply theme)
  • Modals
  • Remember parameters
  • Tool refresh (ToolView getCurrentInstance)
  • Image minimized
  • Authentication & logged in/out through other tab
  • Tree & MSAStage resize on fullscreen & window resize
  • Forward to modeller
  • File downloads (also check file names)
  • Scroll to sections & alignments & handy scroll bar

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants