avo-hq / avo

Build Ruby on Rails apps 10x faster
https://avohq.io
Other
1.53k stars 256 forks source link

combobox multiselect #3393

Open pjmuller opened 1 week ago

pjmuller commented 1 week ago

Feature

Hi @adrianthedev and @Paul-Bob , great release again with Avo. 3.14 We currently use the tagify field very extensively (mainly with remote data calls), it works 70-80% of the time, but that's not stable/solid enough for a great UX. So I'm very thrilled to hear about an alternative

It would be great that we can use the combox (when it launches) also with multi select. From diagonal checks it seems available (cfr https://github.com/josefarias/hotwire_combobox?tab=readme-ov-file#:~:text=guidelines%20for%20a-,multiselect%20combobox,-.%20We%27ve%20introduced%20some ) but would be great that you guys look at this while this combobox is still in active development.

Screenshots or screen recordings

Additional context

adrianthedev commented 1 week ago

Hey @pjmuller.

We are aware of the limitations of the tagify plugin. Unfortunately we don't control the development there and combobox/multiselect/typeahead type of fields is not our core product. We do what we can with the tools we have.

Unfortunately, the multiselect feature is not documented. We tried reaching out to Jose with an issue but the communication is not very lively. HWC is still in alpha with sparse releases and sparse comms; The API might change drastically; The API is not very flexible and does not support many use-cases (not ours anyway);

The PR I posted will cover a pretty minimal use-case for now. Search for a string and return a string. One select and that's all. All the work I did there (and the previous two PRs) was made over a few days as we had to dig through the code, try out things blindly, find hidden APIs, and some reverse engineering. On the surface it looks easy-peasy but after we tried to build a more meningful experience, it became very difficult. Don't get me wrong, an async search, multiselect, typeahead-type field is difficult to implement and presents quite a few problems. It's not only in Ruby that we have this but I've seen it in other ecosystems as well.

That being said, we'll publish that field with the minimal scenario to get started and see what else the users need going forward.

I don't think the multi-select will be our focus in the near future unless it's sponsored by someone who really needs it and gets value off of it.