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

        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.
        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.

          People

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

            Dates

            • Created:
              Updated:
              Resolved: