ICEfaces
  1. ICEfaces
  2. ICE-10453

ace:selectMenu - add "showListOnInput" attribute

    Details

      Description

      According to the original JIRA (ICE-2191) from when the ace:selectMenu was initially implemented, the showListOnInput attribute should work as follows:

      "...the showListOnInput=true behavior to only show the list if the user types to edit the input field, not on focus or click."

      However, as of 4.0, the component shows the list on click anywhere in the component (which is seems fine actually), BUT doesn't show the list if the component is tabbed into and them a key is pressed, which should present the list.

        Activity

        Ken Fyten created issue -
        Ken Fyten made changes -
        Field Original Value New Value
        Description According to the original JIRA (ICE-2191) from when the ace:selectMenu was initially implemented, the showListOnInput attribute should work as follows:

        "...the showListOnInput=true behavior to only show the list if the user types to edit the input field, not on focus or click."

        However, as of 4.0, the component shows the list on click anywhere in the component (which is incorrect), and doesn't show the list if the component is tabbed into and them a key is pressed, which should present the list.

        According to the original JIRA (ICE-2191) from when the ace:selectMenu was initially implemented, the showListOnInput attribute should work as follows:

        "...the showListOnInput=true behavior to only show the list if the user types to edit the input field, not on focus or click."

        However, as of 4.0, the component shows the list on click anywhere in the component (which is seems fine actually), BUT doesn't show the list if the component is tabbed into and them a key is pressed, which should present the list.

        Ken Fyten made changes -
        Assignee Mircea Toma [ mircea.toma ]
        Fix Version/s EE-4.0.0.GA [ 11171 ]
        Priority Major [ 3 ] Minor [ 4 ]
        Assignee Priority P3 [ 10012 ]
        Ken Fyten made changes -
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #43935 Tue Jan 20 14:28:58 MST 2015 mircea.toma ICE-10453 Add 'showListOnInput' property to component. Render drop down when 'showListOnInput=true'.
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/selectmenu/SelectMenuRenderer.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/src/org/icefaces/ace/component/selectmenu/SelectMenuMeta.java
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/selectmenu/selectmenu.js
        Hide
        Mircea Toma added a comment -

        Added 'showListOnInput' property to component. Modified selectmenu.js to render drop down when 'showListOnInput=true' and key is pressed when component is in focus.

        Show
        Mircea Toma added a comment - Added 'showListOnInput' property to component. Modified selectmenu.js to render drop down when 'showListOnInput=true' and key is pressed when component is in focus.
        Mircea Toma made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Liana Munroe added a comment -

        Verified ICEfaces4 trunk r43935. Tomcat 7, FF34 and Chrome 39.
        When tabbing into the component in IE browsers, the first time focus is received via tab the list is presented. The second time tabbing through, the list is not presented until a key is pressed. This occurs in IE 8, 9, 10 and 11.

        Show
        Liana Munroe added a comment - Verified ICEfaces4 trunk r43935. Tomcat 7, FF34 and Chrome 39. When tabbing into the component in IE browsers, the first time focus is received via tab the list is presented. The second time tabbing through, the list is not presented until a key is pressed. This occurs in IE 8, 9, 10 and 11.
        Ken Fyten made changes -
        Summary ace:selectMenu "showListOnInput" not working as intended ace:selectMenu - add "showListOnInput" attribute
        Ken Fyten made changes -
        Fix Version/s 4.1 [ 11375 ]
        Hide
        Carmen Cristurean added a comment -

        The 'showListOnInput' attribute test was added to the ace:selectMenu QA test application:
        http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/selectMenu
        Test page: //selectMenuDynAttribute.jsf

        The list opens up when the 'showListOnInput' attribute is set to either true or false, and clicking/typing in the selectMenu.
        When tabbing through, the list is not displayed when using 'showListOnInput' = true or false.
        Tested with ICEfaces4 trunk r46164/ Chrome46, IE11, FF34.

        Show
        Carmen Cristurean added a comment - The 'showListOnInput' attribute test was added to the ace:selectMenu QA test application: http://dev.icesoft.com/svn/repo/qa/trunk/Regression-Icefaces4/Sparkle/Nightly/selectMenu Test page: //selectMenuDynAttribute.jsf The list opens up when the 'showListOnInput' attribute is set to either true or false, and clicking/typing in the selectMenu. When tabbing through, the list is not displayed when using 'showListOnInput' = true or false. Tested with ICEfaces4 trunk r46164/ Chrome46, IE11, FF34.
        Carmen Cristurean made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Ken Fyten made changes -
        Fix Version/s EE-4.1.0.GA [ 12171 ]
        Fix Version/s EE-4.0.0.GA [ 11171 ]
        Fix Version/s 4.1 [ 11375 ]
        Hide
        Mircea Toma added a comment -

        Changed 'showListOnInput' behaviour to only show the list if the user types to edit the input field, not on focus or click. Reuse 'focus' event that initializes the component to also show the options when showListOnInput=false. When focus is gained due to a click on the component the 'click' callback is temporarily disabled to avoid having it hide the options back.

        Tested with Chrome, Firefox, IE11 and IE9.

        Show
        Mircea Toma added a comment - Changed 'showListOnInput' behaviour to only show the list if the user types to edit the input field, not on focus or click. Reuse 'focus' event that initializes the component to also show the options when showListOnInput=false. When focus is gained due to a click on the component the 'click' callback is temporarily disabled to avoid having it hide the options back. Tested with Chrome, Firefox, IE11 and IE9.
        Mircea Toma made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #47062 Tue Feb 02 16:51:04 MST 2016 mircea.toma ICE-10453 Changed 'showListOnInput' behaviour to only show the list if the user types to edit the input field, not on focus or click. Reuse 'focus' event that initializes the component to also show the options when showListOnInput=false. When focus is gained due to a click on the component the 'click' callback is temporarily disabled to avoid having it hide the options back.
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/selectmenu/selectmenu.js
        Hide
        Ken Fyten added a comment -

        Okay, things seems a little messed up right now.

        Using the showcase, without specifying 'showListOnInput=true', the list only displays once the user types into the input field. Clicking on the input field, or even the arrow, doesn't display the list.

        What should be happening when 'showListOnInput=true" is:

        • User clicks on input field - no list display.
        • User clicks on arrow next to input field - list displays.
        • User types into input field - list displays.

        When "showListOnInput=false" / default:

        • User clicks on input field - list displays.
        • User clicks on arrow next to input field - list displays.
        • User types in to input field - list displays.
        Show
        Ken Fyten added a comment - Okay, things seems a little messed up right now. Using the showcase, without specifying 'showListOnInput=true', the list only displays once the user types into the input field. Clicking on the input field, or even the arrow, doesn't display the list. What should be happening when 'showListOnInput=true" is: User clicks on input field - no list display. User clicks on arrow next to input field - list displays. User types into input field - list displays. When "showListOnInput=false" / default: User clicks on input field - list displays. User clicks on arrow next to input field - list displays. User types in to input field - list displays.
        Ken Fyten made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Assignee Priority P3 [ 10012 ] P2 [ 10011 ]
        Hide
        Mircea Toma added a comment -

        Modified selectMenu client code to always respond to clicks on the down arrow regardless of 'showListOnInput' state.

        Show
        Mircea Toma added a comment - Modified selectMenu client code to always respond to clicks on the down arrow regardless of 'showListOnInput' state.
        Mircea Toma made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #47069 Wed Feb 03 13:40:28 MST 2016 mircea.toma ICE-10453 Modified selectMenu client code to always respond to clicks on the down arrow regardless of 'showListOnInput' state.
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/selectmenu/selectmenu.js
        Hide
        Ken Fyten added a comment - - edited

        Sorry Mircea, I've completely messed this one up!

        Here's what we want:

        No matter what showListOnInput is set to:

        1. User clicks on input field with mouse - list displays.
        2. User clicks on arrow next to input field - list displays/toggles.

        This is all working except for #1.

        What else should be happening when 'showListOnInput=true" / default:

        User tabs into input field, types something - list displays. (Working)

        When "showListOnInput=false":
        #User tabs into input field types something - matching element (if one) is selected, no list displays.

        1. User tabs into input field and then presses Space - list displays.

        Also, I noticed right now that if you Shift-Tab out of the component the list displays and shouldn't.

        Show
        Ken Fyten added a comment - - edited Sorry Mircea, I've completely messed this one up! Here's what we want: No matter what showListOnInput is set to: User clicks on input field with mouse - list displays. User clicks on arrow next to input field - list displays/toggles. This is all working except for #1. What else should be happening when 'showListOnInput=true" / default: User tabs into input field, types something - list displays. (Working) When "showListOnInput=false": #User tabs into input field types something - matching element (if one) is selected, no list displays. User tabs into input field and then presses Space - list displays. Also, I noticed right now that if you Shift-Tab out of the component the list displays and shouldn't.
        Ken Fyten made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Hide
        Mircea Toma added a comment -

        Changed client code to follow the latest behaviour specs.

        Show
        Mircea Toma added a comment - Changed client code to follow the latest behaviour specs.
        Mircea Toma made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #47570 Sat Feb 06 07:28:51 MST 2016 mircea.toma ICE-10453 Changed client code to follow the latest behaviour specs.
        Files Changed
        Commit graph MODIFY /icefaces4/trunk/icefaces/ace/component/resources/icefaces.ace/selectmenu/selectmenu.js
        Hide
        Liana Munroe added a comment -

        Verified ICEfaces 4 trunk r47570. Tomcat 8, IE 11, 10, 9, 8, FF 43, Chrome 47.

        Show
        Liana Munroe added a comment - Verified ICEfaces 4 trunk r47570. Tomcat 8, IE 11, 10, 9, 8, FF 43, Chrome 47.
        Ken Fyten made changes -
        Fix Version/s EE-4.1.0.BETA [ 13072 ]
        Ken Fyten made changes -
        Issue Type Bug [ 1 ] Improvement [ 4 ]
        Ken Fyten made changes -
        Fix Version/s 4.2.BETA [ 13091 ]
        Fix Version/s 4.2 [ 12870 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Ken Fyten
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: