Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Combo Box not focusing on selected value on clicking picker icon if the selected value is is at scrollable location even when we use static data source

    Hi,

    Our team is working on SmartGWT version 12.1-p20210819 .
    We are trying to implement a combo box item in one of our grids.

    Currently I am facing issue that If the selected value is at scrollable position in the dropdown then while clicking picker icon it doesn't focus to the selected value and while scrolling if the user changes the focus the selected value highlight is getting missed even when we use static data source.
    It doesn't drags to selected value on clicking picker icon if the value is at a scrollable location even while using static data source



    ComboBoxItem item = new ComboBoxItem();
    Map<String,String> values = new HashMap<String, String>();
    values.put("test", "test");
    values.put("test1", "test1");
    values.put("test2", "test2");
    values.put("test3", "test3");
    values.put("test4", "test");
    values.put("test5", "test5");
    values.put("test6", "test6");
    values.put("test7", "test7");
    values.put("test8", "test8");
    values.put("test9", "test9");
    values.put("test10", "test10");
    values.put("test11", "test11");
    values.put("test12", "test12");
    values.put("test13", "test13");

    values.put("test14", "test14");
    values.put("test15", "test15");
    item.setValueMap(values);
    item.setPickListHeight(80);



    Please let us know how can we do focus on the selected element which is at at scrollable position in combo box item. I believe we have already asked this question but asking it here again, because our license got expired and we were not able to discuss that further.
    Last edited by vaishalinchauhan; 15 Nov 2022, 04:27.

    #2
    To clarify the claimed problem, we think you are saying that you have a comboBox that does not auto-scroll the selected item into view when opened via the downarrow (picker icon).

    Specifically, in this sample, looking at the control with the hint "a combobox with icons", if you pick "Spain" (last item), then scroll to the top so "Spain" is out of view, then close the picklist, then reopen it via downarrow, you will see that the combobox auto-scrolls to Spain.

    https://smartclient.com/smartgwtee/s...ariousControls

    We are seeing the same (correct) behavior when we try to run your test code.

    As general note, your company is unique among our customers is that you report many, many non-reproducible "bugs". As we have said before, it's likely that there is something basic wrong here. For example, perhaps someone on your team has put in some low-level, unsupported hacks, or perhaps you are all using the same broken browser extension or customized browser.

    Anyway, from here:

    1. you could update to the latest patched build (but there have been no relevant fixes in this area)

    2. try testing with a stock skin in a standalone project that is completely separate from your application (this is how we test)

    3. try testing with a freshly installed OS and tools

    Comment


      #3

      Thank you for the reply. I will try to replicate the issue in a standalone project. I apologize if my question is not clear or if I haven't provided sufficient information.

      This behavior with the combo box is intermittent in our application. Sometimes the selected value is highlighted in the dropdown and the scroll is automatically set to the selected value but sometimes we have to scroll the position where the selected value is present in the list.

      As this is behaving intermittently for us, hence we are facing difficulties in trying to figure out the exact root cause.
      I am attaching a video of this behavior. In the video, we can see that

      I tried this with a sample combo box and created it as mentioned in my first comment, and saw the intermittent behavior in that also.

      Comment


        #4
        We don't see a video attachment, and the behavior was not intermittent for us.

        We are still recommending the previously listed steps.

        Comment


          #5
          Thank you for recommending us the steps we could try. I tried replicating the behavior in standalone project with the following configurations:

          1. GWT SDK - 2.9.0
          2. SmartGWT Version - 13.0-p20220813

          In this project a created a list grid and a comboboxitem in that.
          I also a created a comboboxitem outside the listgrid to verify the behavior in a standalone combobox.

          In both the comboboxes o could see the highlighting issue but again that was intermittent.
          Here is the code which I wrote for creating a listgrid and a combobox item.

          public class Test_proj implements EntryPoint {

          /**
          * This is the entry point method.
          */

          ListGrid grid = new ListGrid();

          public void onModuleLoad() {
          ListGridField countryField = new ListGridField("countryName", "Country");
          ListGridField continentNameField = new ListGridField("continent", "Continent");
          ListGridField independenceField = new ListGridField("independence", "Independence");
          independenceField.setType(ListGridFieldType.DATE);
          ListGridField populationField = new ListGridField("population", "Population");
          populationField.setType(ListGridFieldType.INTEGER);
          ListGridField memberG8Field = new ListGridField("memberG8", "Member G8");
          memberG8Field.setType(ListGridFieldType.BOOLEAN);
          memberG8Field.setDefaultValue(false);

          ComboBoxItem item = new ComboBoxItem();
          item.setValueMap(getCitizensValueMap());
          item.setPickListHeight(80);
          item.addEditorEnterHandler(event -> event.getItem().showPicker());


          ListGridField citizen = new ListGridField("citizen", "Citizen");
          citizen.setEditorProperties(item);


          grid.setFields(new ListGridField[] { countryField, continentNameField, memberG8Field, populationField,
          independenceField, citizen });
          grid.setAutoFetchData(true);
          grid.setCanEdit(true);
          grid.setSortByGroupFirst(true);
          grid.setAutoSaveEdits(false);
          grid.setAlign(Alignment.CENTER);

          VLayout mainLayout = new VLayout();
          mainLayout.setWidth(512);
          mainLayout.setHeight(400);
          mainLayout.addMember(grid);

          DynamicForm layout = new DynamicForm();

          ComboBoxItem item2 = new ComboBoxItem();
          item2.setValueMap(getCitizensValueMap());
          item2.setPickListHeight(80);
          layout.setFields(item2);
          item2.addEditorEnterHandler(event -> event.getItem().showPicker());


          mainLayout.addMember(new LayoutSpacer(20, 20));

          HLayout buttonsLayout = new HLayout();
          IButton newButton = new IButton("New");
          IButton saveButton = new IButton("Save");
          IButton discardButton = new IButton("Discard");

          buttonsLayout.addMembers(newButton, new LayoutSpacer(5, 5), saveButton, new LayoutSpacer(5, 5), discardButton);
          mainLayout.addMember(buttonsLayout);
          mainLayout.addMember(layout);
          mainLayout.draw();

          IntegerRangeValidator populationRangeValidator = new IntegerRangeValidator();
          populationRangeValidator.setMin(1);
          populationRangeValidator.setMax(100000000);
          grid.setValidateOnChange(true);
          populationField.setValidators(populationRangeValidator);
          try {

          newButton.addClickHandler((handler) -> {
          GWT.log("Add Row Button Clicked");
          grid.startEditingNew();

          });

          saveButton.addClickHandler((handler) -> {

          grid.saveAllEdits();

          }
          );

          discardButton.addClickHandler((handler) -> {

          grid.removeData(grid.getSelectedRecord());

          });
          } catch (Exception e) {
          GWT.log(e.getLocalizedMessage(), e);
          }
          }

          private Map<String, String> getCitizensValueMap() {
          Map<String, String> values = new HashMap<String, String>();
          values.put("test", "test");
          values.put("test1", "test1");
          values.put("test2", "test2");
          values.put("test3", "test3");
          values.put("test4", "test");
          values.put("test5", "test5");
          values.put("test6", "test6");
          values.put("test7", "test7");
          values.put("test8", "test8");
          values.put("test9", "test9");
          values.put("test10", "test10");
          values.put("test11", "test11");
          values.put("test12", "test12");
          values.put("test13", "test13");
          values.put("test14", "test14");
          values.put("test15", "test15");
          return values;
          }

          }

          Also, I checked the example in the link which you shared in the previous comment https://smartclient.com/smartgwtee/s...ariousControls . Here I could see that the example which you are referring to i.e the dropdown with icons in which we have Spain, is actually a SelectItem type and not a Comboboxitem.
          1. <field name="selectItem" title="Select" type="select"
          2. hint="<nobr>A combobox with icons</nobr>"
          3. imageURLPrefix="flags/16/"
          4. imageURLSuffix=".png">
          5. <valueMap><JS>valueMap</JS></valueMap>
          6. <valueIcons><JS>valueIcons</JS></valueIcons>
          You will be able to see the issue in the dropdown which is above this dropdown with name Item name. Also, I was able to replicate the intermittent behavior in https://smartclient.com/smartclient/...oxMobileSample. I just removed the property pickListPlacement: "fillScreen", for my testing.

          Although the behavior is intermittent but with the following steps you will get the issue. I can also attach video showing this behavior but please let me know which format is supported as it was not allowing me to upload mp4 format.

          1. Type some value in the test area and select that value.
          2. Open it again via down arrow and you will see that the value is highlighted and the scroll is at proper position
          3. Now just move the scroll to a different location. and click outside to close the dropdown
          4. Now again open it via the down arrow, now you will see that the scroll is not automatically scrolled to the selected value, but if you will explicitly move the scroll to the position where the selected value is present, you will see that value as highlighted.

          So I guess the issue is with the scroll position and not actually with the highlighting of the value. The value is getting highlighted but the scroll is not moving to the required position.
          This is working fine for SelectItem but not for ComBoxItem.

          Comment


            #6
            Hi Isomorphic, Hi vaishalinchauhan

            I think I can consistently reproduce in comboboxMobileSample (v12.1p_2022-11-23, v13.0p_2022-11-23, without pickListPlacement: "fillScreen") using FF 107.
            I think the behavior is different depending on the type of selection (Enter-Key, Mouse). Enter-Key is the one with the problems.

            vaishalinchauhan: I use ScreenToGif for these "videos".

            Best regards
            Blama


            Enter Key (Dropdown opened when checking with Alt-Down):
            Click image for larger version  Name:	ComboBoxItem jump to selected broken.gif Views:	0 Size:	124.4 KB ID:	269121

            Mouse (OK):
            Click image for larger version  Name:	ComboBoxItem jump to selected ok.gif Views:	0 Size:	116.4 KB ID:	269122

            Comment


              #7
              Hi Blama Thank you for replicating the behavior , I saw this behavior also with the comboxbox but for me even with the mouse click , the issue was intermittent.


              Click image for larger version

Name:	Animation.gif
Views:	24
Size:	1.18 MB
ID:	269126
              Do you think we have to explicitly write some code to move the scroll to the correct position or can we use some property for that ?

              Comment


                #8
                Hi Isomorphic
                Blama


                Any suggestions on this ?


                Regards,
                Vaishali Chauhan

                Comment


                  #9
                  There is no setting to apply or code to write. As we have explained before, the behavior is automatic.

                  There is still no one reproducing your claimed problem with mouse navigation of comboBox. We continue to recommend the steps we listed above in #2, since your team has reported many, many different problems that no one was ever able to reproduce.

                  Separately, we plan to fix the problem reported by Blama, which is different from what you reported.

                  Comment


                    #10
                    Hi Isomorphic Thank you for your reply. As I have mentioned in my comment #5, I have tried with a standalone project and the problem is there with that too.
                    I just created a simple combo box, you can verify the creation steps and can let me know if I have missed something there. I haven't added any extra property for the combo box.

                    I believe the issue is there with the combo box item but as I have mentioned it is not w.r.t to the highlighting but with the scroll position. I have attached a video regarding the same. This behavior is on the smartgwt showcase site only.

                    I am also attaching a video below showing the behavior in our application.
                    Click image for larger version

Name:	edge.gif
Views:	21
Size:	356.1 KB
ID:	269149

                    And for the issue reported by Blama , by when we are planning to fix that problem, so that we can verify if that fix will also fix the issue which we are facing ?

                    Comment


                      #11
                      We suggested 3 steps in our #2 post. It looks like you may have gone as far as step #2 (you weren't clear on whether you left out *all* of your normal application's resources) but you have completely ignored step #3, 3 times now.

                      We need you to do #3, because your team has reported several "bugs" that no one could reproduce, and you are now reporting a bug that we haven't been able to reproduce on 5 differently configured machines, and where even other community members are reporting that it cannot be reproduced.

                      We have never in our 20 year history had one team report so many unreproducible bugs before (it's not even close, in fact). In the past, when we have chased down just a single unreproducible bug reported by a customer, we have found things such as:

                      1. someone put a hack in the development environment, in such a way that it would still be present when people attempt to test "standalone"

                      .. or ..

                      2. all the developers were using the same browser extension, and it was breaking the browser's normal functionality

                      Hence our very reasonable request to test on a fresh machine with minimal tools (not your "standard" install). Again, this was requested in our first reply, and on other threads. It needs to be done. Then you can stop wasting time running into problems that aren't problems with our technology, you can stop wasting time reporting problems that don't exist and we can stop wasting time looking for problems that don't exist.

                      ---

                      Secondly, we need to ask - why is this so urgent for you? This bug would normally be marked "P3 - Cosmetic", because, there is no way to auto-scroll with a larger dataset, so it's really just a nicety that it is done for you with a smaller one, and users cannot rely on it.

                      We're guessing you think that if we solve your unreproducible issue, it also means auto-scrolling will happen with larger datasets? It won't. That would require a significant new server-side feature - the ability to load the range around a specific PK, which cannot be efficiently done from the client.

                      So even if we could reach onto your machine and magically solve the issue only you can reproduce, your end users still could not rely on auto-scrolling to the selected value. It's data-volume-dependent.

                      ---

                      Finally, as far as Blama's bug, it's also "P3 - Cosmetic" and the best developer to look at it is tied up for a while with higher priority tasks. So that won't be done quickly.

                      Comment


                        #12
                        Thank you for your reply.

                        I haven't tried step #3, because even if that solves this issue that will not give us any solution as we will not be telling our client to install new OS and tools on each machine.
                        I tried the behavior with a standalone project because I wanted to check if the issue is because of some configurations which we have done in our project or it is there in a simple combo box also. And the issue is reproducible on the smartGWT showcase also as shown in the attachment.
                        If you think that this is low priority bug, I will inform my client accordingly and we will figure out some other ways to address this behavior.

                        For now, If you could help me with the estimated time or maybe as part of which release you will fixing the issue reported by Blama, that would be great so that I can give these details to my client.

                        Comment


                          #13
                          Please reconsider our previous reply, and the examples we provided of previous circumstances in which a customer has reported just one non-reproducible problem, and how it ended:

                          1. if you have a forgotten hack in your project, you can remove it, and the problem is solved for your customer

                          2. If you can narrow this down to a plugin, you can tell your client that the plugin is the problem, and/or report the bug to the plugin developer, and/or perhaps update to a newer version that has no such problem

                          Both of these possibilities result in a solution for your client if you simply follow the advice from our first reply. Many other possible problems also result in a solution for your client.

                          Further, no matter what else is the actual problem, there is absolutely no indication that it will mean your client has to install a clean OS & tools, which is an absurd approach never suggested by us and completely invented by you.

                          Finally, as to your client's issue reports - we don't have them. And we have speculated that what your client reports as a problem may not be quite the same as what you are reporting here. See our previous reply for what we suspect your client may actually be reporting, which is actually a feature request.

                          Lastly, you have not purchased a support plan where you can request a fixed resolution on a "P3 Cosmetic", let alone on a bug filed by another user, which does not affect your usage, and where you merely hope that it might resolve a bug that no one else can reproduce.

                          If you want this resolved quickly, either:

                          1. follow the advice we provided more than two weeks ago, so we have a chance to work together to isolate the actual problem

                          .. or ..

                          2. pay for accelerated support via consulting, where we can do over-the-shoulder debugging to figure out the problem, even if it is not a flaw in our software

                          Comment


                            #14
                            Thank you for the reply and the suggestions. Will try few other things on this.

                            Comment

                            Working...
                            X