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

Implement modals/tabs support in Vue.js #3595

Closed
NateWr opened this issue Apr 17, 2018 · 3 comments
Closed

Implement modals/tabs support in Vue.js #3595

NateWr opened this issue Apr 17, 2018 · 3 comments
Assignees
Labels
Enhancement:3:Major A new feature or improvement that will take a month or more to complete.

Comments

@NateWr
Copy link
Contributor

NateWr commented Apr 17, 2018

Modals and tabs represent a tricky problem for converting to Vue.js, because they are containers for other components. The typical Vue.js approach is to write components nested inside of other components directly into their templates, but this will make it much harder for third parties to customize our UI.

We'll need to think of a clever, consistent way of using slots to implement more of a configuration/injection approach that exposes the UI's layout to customization in plugins.

Expected features:

  • A plugin should be able to specify the desired components inside of a tab or modal from the server side. Or a simple way to override things should be created in the client side.
  • It should be possible to navigate to any tab, including tabs nested inside of tabs, with a URL, and the browser history should update.
  • Tabs should support the traditional tab view (up top) as well as a side-tab layout.
  • Tab labels should support badges, to indicate things like number of items or the existence of alert notifications inside them.
  • Modals should be able to communicate with the component which opened them.
@NateWr NateWr self-assigned this Apr 17, 2018
@NateWr NateWr added the Enhancement:3:Major A new feature or improvement that will take a month or more to complete. label Apr 17, 2018
@NateWr NateWr added this to the OJS/OMP 3.2 milestone Apr 17, 2018
@asmecher
Copy link
Member

asmecher commented Apr 17, 2018

Forms are generally the lowest level of all the intertwingled JS handlers we use, so I think it'll make sense to work on some of those first (#3594) and then pick a fairly simple tab set/modal to follow up with (e.g. the user profile tabs and/or the information center).

@NateWr
Copy link
Contributor Author

NateWr commented Jan 24, 2020

portal-vue may be a good option for implementing modals.

@NateWr
Copy link
Contributor Author

NateWr commented May 13, 2020

Closing in favor of #5865.

@NateWr NateWr closed this as completed May 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement:3:Major A new feature or improvement that will take a month or more to complete.
Projects
None yet
Development

No branches or pull requests

2 participants