We should convert the left menus to Vue islands so that the components can be used both in Koha and in Vue apps where needed
Created attachment 176877 [details] [review] Bug 38941: Convert the acquisitions menu to a Vue web component This is an example patch for creating a Vue island component that can be used throughout Koha. The component can then also be used in the work in Bug 38010 to migrate Vendors to Vue. This removes duplication of code by having a .inc file as well as a vue component to maintain Test plan: 1) Apply all patches including dependencies 2) Bug 37911 requires a Vue upgrade so you will need to run yarn install, then run a yarn build 3) Navigate to the acquisitions home page 4) The left menu should appear as before 5) Switch on the EDIFACT syspref - the acq menu should now display the edifact related options 6) Try logging in as a new patron with reduced permissions, the menu should update correctly according to the permissions
Created attachment 176878 [details] [review] Bug 38941: Add a cypress test
This is a POC - interested to hear any ideas for improvement. I considered using the NavigationItem component to render the links but it changes the HTML structure slightly and is largely dependent on the Vue router
Created attachment 178243 [details] [review] Bug 38941: Convert the acquisitions menu to a Vue web component This is an example patch for creating a Vue island component that can be used throughout Koha. The component can then also be used in the work in Bug 38010 to migrate Vendors to Vue. This removes duplication of code by having a .inc file as well as a vue component to maintain Test plan: 1) Apply all patches including dependencies 2) Bug 37911 requires a Vue upgrade so you will need to run yarn install, then run a yarn build 3) Navigate to the acquisitions home page 4) The left menu should appear as before 5) Switch on the EDIFACT syspref - the acq menu should now display the edifact related options 6) Try logging in as a new patron with reduced permissions, the menu should update correctly according to the permissions
Created attachment 178244 [details] [review] Bug 38941: Add a cypress test
Tried testing on ByWater Solutions sandbox and on a local git build, but both end up with an error and the left menu doesn't appear at all. Seems like the code is looking for a module that's not there? Uncaught Error: Cannot find module '../stores/permissions' webpackMissingModule https://staff-bugiton.sandbox.bywatersolutions.com/intranet-tmpl/prog/js/vue/dist/islands_24.1200012.js:16487 <anonymous> https://staff-bugiton.sandbox.bywatersolutions.com/intranet-tmpl/prog/js/vue/dist/islands_24.1200012.js:16487 <anonymous> https://staff-bugiton.sandbox.bywatersolutions.com/intranet-tmpl/prog/js/vue/dist/islands_24.1200012.js:16774 islands_24.1200012.js:16487:50
Hi Janne, this bug has 2 dependencies that are not resolved yet. The sandboxes are not very clear when there is a conflict on applying the patches. Maybe have a look at the git log if you can.