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

Unify select mechanisms/widgets #1831

Open
2 of 17 tasks
jancborchardt opened this issue Oct 20, 2016 · 12 comments
Open
2 of 17 tasks

Unify select mechanisms/widgets #1831

jancborchardt opened this issue Oct 20, 2016 · 12 comments

Comments

@jancborchardt
Copy link
Member

jancborchardt commented Oct 20, 2016

Currently we use 4 different things:

  1. <select> – simplest from the browser directly
  2. select2 – allows for tag widgets for example
  3. jQuery autocomplete – used in sharing and Mail app autocomplete
  4. our core/js/multiselect.js – used mostly in user mgmt for group memberships because it allows you to add new elements (like for the Github labels and Milestones dropdown).

@nextcloud/javascript & @nextcloud/designers would it be possible to maybe decide on one or maximum two to use consistently?

Also cc @georgehrke @ChristophWurst @schiessle @Henni @icewind1991 because these things are heavily used in apps and user management.

Where are they used:

  • /apps/user_ldap/vendor/ui-multiselect/src/jquery.multiselect.js in the LDAP app:

bildschirmfoto 2018-06-25 um 11 23 14

  • select2 core:
    • files_external
    • systemtags
    • workflowengine
    • settings (group select)
  • select2 apps:
    • announcementcenter
    • bookmarks
    • circles
    • contacts
    • dicomviewer
    • files_automatedtagging
    • files_retention
    • richdocuments
    • sensorlogger
    • spreed
@jancborchardt jancborchardt added enhancement design Design, UI, UX, etc. labels Oct 20, 2016
@skjnldsv skjnldsv added help wanted 1. to develop Accepted and waiting to be taken care of labels Oct 20, 2016
@skjnldsv
Copy link
Member

:D
Clearly will help regroup the various styles we're using.
See #1805 for all the fixes we got

@MorrisJobke
Copy link
Member

@nextcloud/javascript & @nextcloud/designers would it be possible to maybe decide on one or maximum two to use consistently?

I already tried to do so, but it sounds easier than it actually is. This is a really tough task, but we should do.

@skjnldsv
Copy link
Member

While the vuejs apps start rolling out, my choice has been into vue-multiselect. Which allows tagging, creation, multi and simple select. I implemented the new design into the vu settings migration here #8824 .
capture d ecran_2018-03-20_10-50-52

Looks very nice, supports array and objects, is highly supported... :)

@nextcloud-bot nextcloud-bot added the stale Ticket or PR with no recent activity label Jun 20, 2018
@jancborchardt
Copy link
Member Author

@skjnldsv good stuff! Do we still need to have this open for tracking, like do you have an overview where the old method of select is still used where it needs to be replaced?

@nextcloud-bot nextcloud-bot removed the stale Ticket or PR with no recent activity label Jun 23, 2018
@skjnldsv
Copy link
Member

Yes because we still have some old legacy stuff laying around! :)

@rullzer
Copy link
Member

rullzer commented Jun 23, 2018

@skjnldsv feel free to update the first comment to list all the remaining things that need to be cleaned up. So people can easily see/track/tackle/fix it ;)

@MorrisJobke
Copy link
Member

@skjnldsv feel free to update the first comment to list all the remaining things that need to be cleaned up. So people can easily see/track/tackle/fix it ;)

I added the stuff for select2 and core/js/multiselect

@skjnldsv
Copy link
Member

Thanks @MorrisJobke

@nextcloud-bot nextcloud-bot added the stale Ticket or PR with no recent activity label Jul 26, 2018
@skjnldsv skjnldsv self-assigned this Nov 11, 2018
@jancborchardt
Copy link
Member Author

@skjnldsv @MorrisJobke a lot of progress has been made on this, right? Do we still need this overview issue and should we rather work on a case-by-case basis?

@nextcloud-bot nextcloud-bot removed the stale Ticket or PR with no recent activity label Mar 13, 2019
@skjnldsv
Copy link
Member

I guess this is just a matter of deprecating it so we can unship the libs in 3 versions :)

@MorrisJobke
Copy link
Member

I guess this is just a matter of deprecating it so we can unship the libs in 3 versions :)

In reality we also need to move our own stuff away from it. 😉 (that is the real major part after deprecating something)

@skjnldsv skjnldsv removed their assignment Jul 5, 2021
@PVince81
Copy link
Member

regarding select2 I just grepped the 25.0.0 beta6 tarball and found these usages:

  • files_external settings dropdowns => port the whole section to Vue
  • system tags:
    • files app sidebar selection logic (the one and only user of SystemTagsInputField class it seems) => maybe we replace all the systemtag*.js with an extension of NcMultiselect for selecting tags
    • admin settings page to manage system tags
  • groups selection in various settings (ex: excluding some from sharing) => might need a generic group selection vue component usable in all settings pages ?
  • circles file list filter field

@joshtrichards joshtrichards added 2. developing Work in progress and removed 1. to develop Accepted and waiting to be taken care of labels Jul 31, 2024
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

7 participants