Results 1 to 6 of 6

Thread: MS Edge support - ComboBox

    Thank you for reporting this bug. We will make it our priority to review this report.
  1. #1
    Sencha User
    Join Date
    Nov 2015
    Posts
    4

    Default MS Edge support - ComboBox

    We face multiple issues with MS Edge browser (using GXT4.0.2 / GWT2.8).
    Is this browser supported? Do we need to set some specific properties in our gwt.xml file?
    (we currently have <set-property name="gxt.user.agent" value="ie10, ie11, edge, gecko1_9, safari5, chrome" />).
    One of our problems is that with SimpleComboBox mouse click does not trigger selection of the clicked item.
    What makes things worse is that we are not able to debug with this browser, because source maps are not found.
    On chrome, it works fine, selection is done in ComboBoxCell.eventPreview.

  2. #2
    Sencha User
    Join Date
    Jul 2017
    Posts
    1

    Default

    Hello,
    We are experiencing the same kind of issue, when mouse click does not select entries from the ComboBox, and mouse click event is not being triggered. On the other hand, it is possible to select entry from the ComboBox by using keyboard.
    Issue is reproducible on IE 10, IE 11 and MS Edge.
    We are on latest versions of GXT (4.0.2) and GWT (2.8.1).

    In release notes for GXT 4.0.2 it is said that bug with similar behavior has been fixed:
    https://docs.sencha.com/gxt/4.x/guid...ase_notes.html

    • [EXTGWT-4935] - ComboBox is unable to select items with mouse or keyboard navigation on MSEdge or IE11 Touch

    So it means that the issue on GXT side existed, but was not fixed well.

  3. #3
    Sencha Premium Member
    Join Date
    Feb 2012
    Posts
    13

    Default

    Any updates/workarounds for this issue?

    We are experiencing this same issue with GXT 4.0.3 and GWT 2.8.2 in MS Edge.

    Clicking combobox items with the mouse fails to select the item.

  4. #4
    Sencha - Forum Administrator
    Join Date
    Sep 2017
    Posts
    1,006

    Default

    Hello to all- I'll send this over to support and see if we can get this figured out. Thank you al for your patience.

  5. #5
    Sencha Premium Member
    Join Date
    Feb 2012
    Posts
    13

    Default

    I have implemented the following code change in ComboBoxCell.java as a workaround for now:


    protected boolean onListContainerEventPreview(NativePreviewEvent previewEvent) {
    Element target = previewEvent.getNativeEvent().getEventTarget().cast();


    // pointer event MOUSEDOWN conflicts with scrolling (this traps all events, but we want KeyNav to go through)
    if (PointerEventsSupport.impl.isSupported() && previewEvent.getTypeInt() != KeyNav.getKeyEvent()) {
    // CODE CHANGE BEGINs HERE
    // previewTapGestureRecognizer.handle(previewEvent.getNativeEvent();
    // return true;
    NativeEvent event = previewEvent.getNativeEvent();
    String eventType = event.getType();
    if (eventType.equals(BrowserEvents.TOUCHSTART) || eventType.equals(PointerEvents.POINTERDOWN.getEventName())) {
    return previewTapGestureRecognizer.handleStart(event);
    } else if (eventType.equals(BrowserEvents.TOUCHMOVE) || eventType.equals(PointerEvents.POINTERMOVE.getEventName())) {
    return previewTapGestureRecognizer.handleMove(event);
    } else if (eventType.equals(BrowserEvents.TOUCHEND) || eventType.equals(PointerEvents.POINTERUP.getEventName())) {
    return previewTapGestureRecognizer.handleEnd(event);
    } else if (eventType.equals(BrowserEvents.TOUCHCANCEL) || eventType.equals(PointerEvents.POINTERCANCEL.getEventName())) {
    return previewTapGestureRecognizer.handleCancel(event);
    } else if (eventType.equals(PointerEvents.POINTERENTER.getEventName()) || eventType.equals(PointerEvents.POINTERLEAVE.getEventName()) || eventType.equals(PointerEvents.POINTEROVER.getEventName())) {
    event.preventDefault();
    event.stopPropagation();
    }
    // END CODE CHANGE
    }


    switch (previewEvent.getTypeInt()) {
    case Event.ONSCROLL:
    case Event.ONMOUSEWHEEL:
    collapseIf(previewEvent);
    break;
    case Event.ONMOUSEDOWN:
    if (listContainer.getElement().isOrHasChild(target)) {
    if (pagingToolBar == null || (!pagingToolBar.getElement().isOrHasChild(target))) {
    onViewClick(lastParent, previewEvent.getNativeEvent(), true, false);
    previewEvent.getNativeEvent().preventDefault();
    }
    } else {
    collapseIf(previewEvent);
    }
    break;
    case Event.ONTOUCHSTART:
    case Event.ONTOUCHMOVE:
    case Event.ONTOUCHEND:
    case Event.ONTOUCHCANCEL:
    previewTapGestureRecognizer.handle(previewEvent.getNativeEvent());
    break;
    }


    NativeEvent nativeEvent = previewEvent.getNativeEvent();


    if (previewEvent.getTypeInt() == KeyNav.getKeyEvent() && isListContainerExpanded()) {
    if (nativeEvent.getKeyCode() == KeyCodes.KEY_ENTER) {
    if (pagingToolBar != null && pagingToolBar.getElement().isOrHasChild(target)) {
    return true;
    }
    nativeEvent.stopPropagation();
    nativeEvent.preventDefault();


    if (GXT.isIE()) {
    ignoreNextEnter = true;
    }


    onViewClick(lastParent, nativeEvent, false, true);
    }
    }


    return true;
    }

  6. #6
    Sencha Sr Product Manager
    Join Date
    Jan 2012
    Location
    Arlington, WA
    Posts
    1,165

    Default

    It's not clear to me yet what the reported issue is. Would you have a test case? Or could you provide the steps to reproduce it in one of the examples?

    Quote Originally Posted by IcgNickK View Post
    I have implemented the following code change in ComboBoxCell.java as a workaround for now:


    protected boolean onListContainerEventPreview(NativePreviewEvent previewEvent) {
    Element target = previewEvent.getNativeEvent().getEventTarget().cast();


    // pointer event MOUSEDOWN conflicts with scrolling (this traps all events, but we want KeyNav to go through)
    if (PointerEventsSupport.impl.isSupported() && previewEvent.getTypeInt() != KeyNav.getKeyEvent()) {
    // CODE CHANGE BEGINs HERE
    // previewTapGestureRecognizer.handle(previewEvent.getNativeEvent();
    // return true;
    NativeEvent event = previewEvent.getNativeEvent();
    String eventType = event.getType();
    if (eventType.equals(BrowserEvents.TOUCHSTART) || eventType.equals(PointerEvents.POINTERDOWN.getEventName())) {
    return previewTapGestureRecognizer.handleStart(event);
    } else if (eventType.equals(BrowserEvents.TOUCHMOVE) || eventType.equals(PointerEvents.POINTERMOVE.getEventName())) {
    return previewTapGestureRecognizer.handleMove(event);
    } else if (eventType.equals(BrowserEvents.TOUCHEND) || eventType.equals(PointerEvents.POINTERUP.getEventName())) {
    return previewTapGestureRecognizer.handleEnd(event);
    } else if (eventType.equals(BrowserEvents.TOUCHCANCEL) || eventType.equals(PointerEvents.POINTERCANCEL.getEventName())) {
    return previewTapGestureRecognizer.handleCancel(event);
    } else if (eventType.equals(PointerEvents.POINTERENTER.getEventName()) || eventType.equals(PointerEvents.POINTERLEAVE.getEventName()) || eventType.equals(PointerEvents.POINTEROVER.getEventName())) {
    event.preventDefault();
    event.stopPropagation();
    }
    // END CODE CHANGE
    }


    switch (previewEvent.getTypeInt()) {
    case Event.ONSCROLL:
    case Event.ONMOUSEWHEEL:
    collapseIf(previewEvent);
    break;
    case Event.ONMOUSEDOWN:
    if (listContainer.getElement().isOrHasChild(target)) {
    if (pagingToolBar == null || (!pagingToolBar.getElement().isOrHasChild(target))) {
    onViewClick(lastParent, previewEvent.getNativeEvent(), true, false);
    previewEvent.getNativeEvent().preventDefault();
    }
    } else {
    collapseIf(previewEvent);
    }
    break;
    case Event.ONTOUCHSTART:
    case Event.ONTOUCHMOVE:
    case Event.ONTOUCHEND:
    case Event.ONTOUCHCANCEL:
    previewTapGestureRecognizer.handle(previewEvent.getNativeEvent());
    break;
    }


    NativeEvent nativeEvent = previewEvent.getNativeEvent();


    if (previewEvent.getTypeInt() == KeyNav.getKeyEvent() && isListContainerExpanded()) {
    if (nativeEvent.getKeyCode() == KeyCodes.KEY_ENTER) {
    if (pagingToolBar != null && pagingToolBar.getElement().isOrHasChild(target)) {
    return true;
    }
    nativeEvent.stopPropagation();
    nativeEvent.preventDefault();


    if (GXT.isIE()) {
    ignoreNextEnter = true;
    }


    onViewClick(lastParent, nativeEvent, false, true);
    }
    }


    return true;
    }

Similar Threads

  1. Replies: 2
    Last Post: 3 May 2016, 8:00 AM
  2. Microsoft Edge browser support
    By slavik in forum Community Discussion
    Replies: 4
    Last Post: 14 Jul 2015, 7:39 PM
  3. ComboBox with image support
    By stigrv in forum Sencha GXT Q&A
    Replies: 3
    Last Post: 4 Mar 2013, 7:11 AM
  4. combobox support for list display
    By MMirabito in forum Ext 1.x: Help & Discussion
    Replies: 5
    Last Post: 13 Aug 2007, 6:47 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •