Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#3439 closed defect (worksforme)

Autocomplete is not ignorable

Reported by: Oliver O'Brien Owned by: potlatch-dev@…
Priority: major Milestone:
Component: potlatch2 Version:
Keywords: Cc:

Description

When adding a building, I tried to add amenity=pub but the autocomplete insisted on turning it to amenity=public_building, even when I escaped out, or pasted the text in.

I had to go to Potlatch 1 to complete my edit and change amenity=public_building to amenity=pub. The autocomplete there still suggests public_building but can at least be escaped out.

This was on an area object.

Change History (4)

comment:1 Changed 8 years ago by Richard

Resolution: worksforme
Status: newclosed

You press Tab to go to the next field without accepting the autocomplete, Enter to accept it - exactly the same behaviour as Potlatch 1.

comment:2 Changed 8 years ago by booo

Perhaps hitting the escape key should also discard the autocomplete suggestion? Don't know if this is a usability improvement.

comment:3 Changed 8 years ago by stevage

Two comments: 1) Is the "tab for skip autocomplete, enter for accept" common? I've been using Potlatch for ages and I didn't know about tab. It's not super intuitive.

2) From the code it looks like Escape is supposed to work this way, but there's a bug that causes the drop-down to reopen. The cascade of triggered events is too complicated for me to fix, but it appears that line 1954 of ComboBox?.as (ie, Flex code) intercepts the Escape key, calling displayDropdown(false)...which causes commitProperties() in AutoComplete?.as to get called, which reopens the dropdown. Ugh.

comment:4 Changed 8 years ago by Richard

On any web form, Tab moves between fields, and Enter selects the currently highlighted value in a drop-down. Potlatch (either 1 or 2) is a webapp so it adopts standard web behaviour. Please read through the archives where this was discussed several years ago.

I'll have a look at 2.

Note: See TracTickets for help on using tickets.