ICEfaces
  1. ICEfaces
  2. ICE-8809

ace:autoCompleteEntry, minor usability issues

    Details

      Description

      While doing the QA test app review for ace:autoCompleteEntry, the following issues were found, which need to be fixed:
      * When a height is specified, and the direction is 'up', and there are fewer results to fill the specified height, the list will be displayed with a gap between the text field and the bottom of the list. In other words, the component assumes the list will always fill up the specified height and sets the top and left coordinates of the list as if it would have the specified height. Instead, if the list is smaller, it should be displayed right above the text field, with no gap in between.
      * When the user has typed some characters in the text field and then closed the list by clicking outside or by blurring the field, and then coming back to the field and pressing the up or down arrow keys, the list won't show up, unless the user types (or deletes) one or more characters. This only happens in server-side mode.
      * The same thing as above might happen if the component is in case sensitive mode, and one letter case is changed without deleting the previous character (i.e. by selecting a letter or a group of letters and changing their case in place).
      * It seems like the delay is not being respected when using backspace.
      * The component is not rendering the custom values of the 'style' attribute.

        Activity

        Repository Revision Date User Message
        ICEsoft Public SVN Repository #32643 Thu Dec 06 13:38:15 MST 2012 art.zambrano ICE-8809 fixed issue with not displaying list when pressing the up or down arrow keys
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/autocompleteentry/AutoCompleteEntryRenderer.java
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/autocompleteentry/autocompleteentry.js
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #32646 Thu Dec 06 15:03:10 MST 2012 art.zambrano ICE-8809 fixed issue with not displaying list when only changing case of the value string and caseSensitive=true
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/autocompleteentry/AutoCompleteEntryRenderer.java
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #32648 Thu Dec 06 15:49:39 MST 2012 art.zambrano ICE-8809 refactored code to be able to re-calculate the list position every time the list contents are update; this fixes the gap issue when direction is up and the list contains few results
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/resources/icefaces.ace/autocompleteentry/autocompleteentry.js
        Repository Revision Date User Message
        ICEsoft Public SVN Repository #32649 Thu Dec 06 16:06:47 MST 2012 art.zambrano ICE-8809 fixed issue with not rendering the 'style' attribute; its contents are now rendered on the text field element
        Files Changed
        Commit graph MODIFY /icefaces3/trunk/icefaces/ace/component/src/org/icefaces/ace/component/autocompleteentry/AutoCompleteEntryRenderer.java
        Arturo Zambrano created issue -
        Arturo Zambrano made changes -
        Field Original Value New Value
        Link This issue blocks ICE-8757 [ ICE-8757 ]
        Arturo Zambrano made changes -
        Summary ace:autoCompleteEntry minor usability issues ace:autoCompleteEntry, minor usability issues
        Arturo Zambrano made changes -
        Assignee Arturo Zambrano [ artzambrano ]
        Arturo Zambrano made changes -
        Description While doing the QA test app review for ace:autoCompleteEntry, the following issues were found, which need to be fixed:
        * When a height is specified, and the direction is 'up', and there are fewer results to fill the specified height, the list will be displayed with a gap between the text field and the bottom of the list. In other words, the component assumes the list will always fill up the specified height and sets the top and left coordinates of the list as if it would have the specified height. Instead, if the list is smaller, it should be displayed right above the text field, with no gap in between.
        * When the user has typed some characters in the text field and then closed the list by clicking outside or by blurring the field, and then coming back to the field and pressing the up or down arrow keys, the list won't show up, unless the user types (or deletes) one or more character. This only happens in server-side mode.
        * The same thing as above might happen if the component is in case sensitive mode, and one letter case is changed without deleting the previous character (i.e. by selecting a letter or a group of letters and changing their case in place).
        * It seems like the delay is not being respected when using backspace.
        * The component is not rendering the custom values of the 'style' attribute.
        While doing the QA test app review for ace:autoCompleteEntry, the following issues were found, which need to be fixed:
        * When a height is specified, and the direction is 'up', and there are fewer results to fill the specified height, the list will be displayed with a gap between the text field and the bottom of the list. In other words, the component assumes the list will always fill up the specified height and sets the top and left coordinates of the list as if it would have the specified height. Instead, if the list is smaller, it should be displayed right above the text field, with no gap in between.
        * When the user has typed some characters in the text field and then closed the list by clicking outside or by blurring the field, and then coming back to the field and pressing the up or down arrow keys, the list won't show up, unless the user types (or deletes) one or more characters. This only happens in server-side mode.
        * The same thing as above might happen if the component is in case sensitive mode, and one letter case is changed without deleting the previous character (i.e. by selecting a letter or a group of letters and changing their case in place).
        * It seems like the delay is not being respected when using backspace.
        * The component is not rendering the custom values of the 'style' attribute.
        Hide
        Arturo Zambrano added a comment -

        Committed fixes to trunk at revisions 32643, 32646, 32648, and 32549.

        All the issues mentioned above were fixed, except for the one related to the delay not being respected by backspace, which seemed to be indirectly fixed or just wasn't actually a problem.

        The issue regarding the gap was fixed by refactoring the code to recalculate the list position whenever its contents are updated. The issues with the arrow keys were fixed by introducing a timestamp in a javascript comment to force the domdiff to send the update. The issue with case sensitivy was simply fixed by using String.equals() or String.equalsIgnoreCase(), depending on the case. The issue with the 'style' attribute was simply corrected, applying the 'style' attribute to the text field element.

        Show
        Arturo Zambrano added a comment - Committed fixes to trunk at revisions 32643, 32646, 32648, and 32549. All the issues mentioned above were fixed, except for the one related to the delay not being respected by backspace, which seemed to be indirectly fixed or just wasn't actually a problem. The issue regarding the gap was fixed by refactoring the code to recalculate the list position whenever its contents are updated. The issues with the arrow keys were fixed by introducing a timestamp in a javascript comment to force the domdiff to send the update. The issue with case sensitivy was simply fixed by using String.equals() or String.equalsIgnoreCase(), depending on the case. The issue with the 'style' attribute was simply corrected, applying the 'style' attribute to the text field element.
        Arturo Zambrano made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Arturo Zambrano made changes -
        Fix Version/s EE-3.2.0.GA [ 10332 ]
        Ken Fyten made changes -
        Fix Version/s 3.3 [ 10370 ]
        Ken Fyten made changes -
        Component/s ACE-Components [ 10050 ]
        Hide
        Arturo Zambrano added a comment - - edited

        Testing notes:

        • When direction="up" and there are just a few possible options in the list (e.g. as in when starting to type and the list of possible options shrinks as you type a more specific string), confirm that the list appears right above the text field, touching it's upper edge, so that there's no gap between the list and the text field.
        • Confirm that when pressing the arrow keys (up or down), while there's no list showing, will cause the list to be displayed. This should happen again after you tab out of the field or click outside of it and then return to it and press the arrow keys again, even if you don't change the text in the field.
        • Confirm that when caseSensitive=true and you just change the case of one letter, you will see the list of results updated with results that satisfy the string. For this you will have to add some more names to the cities text file. For example, if you have 'New york' and 'New York', if you have entered the text 'New y', you will see the former result available, but if you change the case of the 'y', so that now you have 'New Y', and you do it by selecting the 'y' so that the replacement is done in place and without using backspace or delete, then you will see the latter result available.
        • Make sure that the contents of the 'style' attribute of the component are applied to the 'style' attribute of the text field.
        Show
        Arturo Zambrano added a comment - - edited Testing notes: When direction="up" and there are just a few possible options in the list (e.g. as in when starting to type and the list of possible options shrinks as you type a more specific string), confirm that the list appears right above the text field, touching it's upper edge, so that there's no gap between the list and the text field. Confirm that when pressing the arrow keys (up or down), while there's no list showing, will cause the list to be displayed. This should happen again after you tab out of the field or click outside of it and then return to it and press the arrow keys again, even if you don't change the text in the field. Confirm that when caseSensitive=true and you just change the case of one letter, you will see the list of results updated with results that satisfy the string. For this you will have to add some more names to the cities text file. For example, if you have 'New york' and 'New York', if you have entered the text 'New y', you will see the former result available, but if you change the case of the 'y', so that now you have 'New Y', and you do it by selecting the 'y' so that the replacement is done in place and without using backspace or delete, then you will see the latter result available. Make sure that the contents of the 'style' attribute of the component are applied to the 'style' attribute of the text field.
        Ken Fyten made changes -
        Fix Version/s EE-3.2.0.BETA [ 10573 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Arturo Zambrano
            Reporter:
            Arturo Zambrano
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: