-
Notifications
You must be signed in to change notification settings - Fork 1.7k
move autocomplete list rendering to client side #9832
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
base: master
Are you sure you want to change the base?
Conversation
We should consider removing We can consider displaying "two line" records on a big screen too. Gmail does that. |
I like the idea of scrapping Do we really need Off the top of my head I'm thinking a plugin hook in |
Makes sense. |
…ose_autocomplete_fields()'
I have replaced eef8919 I modified the ACL plugin to use the new autocomplete but I do not have a working LDAP setup so I cannot test this change, please could someone who uses this plugin confirm the autocomplete still works? |
Moving the rendering of the autocomplete address list used in compose to the client side allows skins to handle it and offer different layouts for different sized screens. Before I spend too much time on this I wanted to submit this draft to see if the idea was worth pursuing.
There are some hurdles. There is the
contact_search_name
config var which has to be respected. The server side needs to know about it so it can return the correct fields in the request but rendering those is a client side task because of screen size. Alsocontact_search_name
does not support HTML and I think that's correct, it could be abused. May be having a configurable display for normal screens and a fixed one for small screens is enough.Example of how the new small screen layout looks:

The proposed
rcube_webmail.ksearch_results_display()
andrcube_webmail.ksearch_results_highlight()
JS functions can be overridden by skins/plugins if required but the stock version maintain the current functionality plus a new layout for smaller screens.I think ultimately all the text rendering code should be removed from
rcube_addressbook::compose_search_name()
and instead only the fields returned with the rendering moved intoapp.js
.This might help with #9329 and #9219.