Permalink
Commits on Jan 30, 2017
Commits on Jan 18, 2017
  1. Switch tests to run on IE11/Win7 rather than IE11/Win8.1.

    That uses native mouse events and avoids problems
    listed in theintern/leadfoot#17.
    wkeese committed Jan 18, 2017
Commits on Jan 10, 2017
  1. Fix regression where defocusing a deliteful/List would

    make the List non-tab-navigable in the future.
    It was affecting at least the List inside the deliteful ComboPopup
    (used by mobile Combobox).  See deliteful/tests/functional/ComboPopup.html.
    
    The problem occurred in KeyNav#focusoutHandler(), when there’s a focusout
    event on the category renderer.  Since the category renderer is not
    tab navigable, previouslyNavigatedDescendant was computed to be “this”
    (i.e. the List itself) rather than the category renderer.  At this point
    focusoutHandler() should have skipped the section for handling defocused
    descendants, but it didn’t, due to a bug from 3e0192d,
    which said:
    
            previouslyNavigatedDescendant !== this.keyNavContainerNode
    
    but should have said:
    
            previouslyNavigatedDescendant !== this
    
    So, KeyNav#focusOutHander() incorrectly set this.tabIndex = “-1”.
    Then due to the tabIndex={{tabIndex}} in the List’s template, on the next
    refreshRendering() cycle, this.containerNode.tabIndex was set to -1.
    
    Although KeyNav#focusoutHandler() has code to set this.containerNode's
    tabIndex to this._savedTabIndex, that code ran *before* the refreshRendering()
    call that updated the DOM according to the template.
    
    I fixed all this by changing _getTargetElement() to return null when the event
    is not on one of the List's navigable descendants.
    
    Refs #462, #473.
    wkeese committed Jan 10, 2017
Commits on Dec 29, 2016
  1. Make test file use more standard way to load dependencies.

    Trying to avoid Android error "The selendroid server on the device became unreachable."
    that only occurs when running from Jenkins.
    wkeese committed Dec 29, 2016
Commits on Dec 20, 2016
  1. Fix HasDropDownHover tests to run on all platforms, and

    enable the tests to run as part of the full test suite.
    
    Also, fix code and add tests so emulated mouseover events are ignored,
    thus fixing a problem on mobile where a closed dropdown would immediately reopen.
    Note that it doesn't reproduce on automated iOS test but it does reproduce
    on automated Android test, and also reproduces manually on iOS.
    
    Refs #471.
    wkeese committed Dec 20, 2016
Commits on Dec 16, 2016
  1. Avoid openDropDown() and closeDropDown() getting called with the

    event object as a parameter.
    
    Refs #471.
    wkeese committed Dec 16, 2016
  2. Rename anchorNode to behaviorNode, to make it clear that the property

    is only for setting up behavior on another node, not for changing the "anchor node".
    
    Refs #465.
    wkeese committed Dec 16, 2016
  3. Fix ESC key to return focus to anchor node

    (even when HasDropDown is used to set up behavior on another node).
    
    Refs #465.
    wkeese committed Dec 15, 2016
Commits on Dec 15, 2016
  1. Test case for delite-hover-activate / delite-hover-deactivate

    including test to make sure events don't bubble.
    
    Refs #471.
    wkeese committed Dec 15, 2016
Commits on Dec 13, 2016
Commits on Dec 12, 2016
  1. Remove apparently vestigial comment.

    I guess at one point KeyNav was saving the id of the navigable child but now
    it just saves a reference to the child itself.
    
    Refs ibm-js/deliteful#609,  7d19b89, ibm-js/deliteful#331.
    wkeese committed Dec 12, 2016
Commits on Dec 7, 2016
  1. Fix tabIndex setting after click.

    Refs #462, fixes #473.
    wkeese committed Dec 6, 2016
Commits on Dec 5, 2016
  1. Fix problem on IE where KeyNav descendant gets premature delite-deact…

    …ivated event.
    
    The problem as seen on deliteful/Accordion was:
    
    1. User tabs to Accordion.   This causes a "focusin" event and then a "focus" event.
    2. Accordion "focusin" event triggers KeyNav#focusinHandler().
    3. KeyNav#focusinHandler() calls KeyNav#focus() which eventually calls AccordionHeader#focus().
    4. AccordionHeader gets "focus" event which makes activationTracker send "delite-activated" event to AccordionHeader.
    5. Accordion "focusin" event processing finally finished.
    6. Accordion "focus" event processing starts.   That makes activationTracker send "delite-deactivated"
        event to AccordionHeader because it thinks focus has shifted back to the Accordion itself.
    
    Refs #462.
    wkeese committed Dec 5, 2016
Commits on Nov 10, 2016
  1. Make HasDropDown’s forceWidth and autoWidth flags work

    when dropdown dynamically changes width.
    
    Note that delite/popup will handle the repositioning necessary
    for right aligned popups that change width.
    
    Refs #461.
    wkeese committed Nov 10, 2016
Commits on Nov 9, 2016
  1. Make <body> stretch to bottom of viewport

    so hover events tracked correctly.
    
    Perhaps this would be better fixed by setting up listeners on <html>
    rather than <body>?
    
    Refs ibm-js/deliteful#652.
    wkeese committed Nov 9, 2016
Commits on Nov 3, 2016
  1. Remove code to call popupWidget.orient()

    while trying different orientations for popup.
    
    This code wasn't quite working right: delite/popup#_size()
    was being called before the first call to popupWidget.orient(), leading
    to an incorrect popup size the first time a taller-than-the-viewport
    popup was shown.
    
    Rather than fixing the code, I modified deliteful/Tooltip so its size
    is constant regardless of orientation, and it handles orientation in its
    event handler for delite-after-position.
    
    Refs ibm-js/deliteful#652.
    wkeese committed Nov 2, 2016
Commits on Nov 2, 2016
  1. Support scrollbars inside popup widgets, like in a TooltipDialog.

    Code modified to set width/height on popup itself, rather than wrapper.
    
    Added code to account for popup's margin, for benefit of TooltipDialog,
    but another approach is to add a special wrapper node to the tooltip itself,
    so that it has no margin.
    
    Can also try removing the popup wrapper completely, but need
    to either adjust the delite/place code to use margin-box, or
    add a special wrapper node to the tooltip itself, so that it doesn't have margin.
    
    Fixes #472.
    wkeese committed Nov 1, 2016
Commits on Oct 27, 2016
Commits on Oct 21, 2016
  1. Emit delite-after-position event on popups

    when they are opened or repositioned.
    
    Fixes #470.
    wkeese committed Oct 20, 2016
Commits on Oct 18, 2016
  1. Restore behavior of popup.open() to return null for centered popups.

    HasDropDown (and possibly other code) was expecting this behavior,
    as it had some if (retVal && ... code.
    
    Refs #464.
    wkeese committed Oct 18, 2016
  2. Avoid spurious failures on android because previous test didn't close…

    … popup,
    
    and the popup is covering the button used by the next test.
    
    This approach won't work though if the popup covers the "stub-for-blurring"
    button, so perhaps we should close all popups programatically instead.
    
    Refs #469.
    wkeese committed Oct 18, 2016
Commits on Oct 14, 2016
  1. Ignore "change" events from nodes inside a popup widget

    (for example, from typing into an <input>)
    but if the popup itself emits a "change" event then close popup.
    
    Fixes #469.
    wkeese committed Oct 14, 2016
Commits on Oct 6, 2016
  1. Add .gitignore file.

    wkeese committed Oct 6, 2016
  2. Emit popup-before-hide event.

    Also, set around node in popup-after-show event.
    
    Refs #464.
    wkeese committed Oct 6, 2016
Commits on Oct 5, 2016
  1. HasDropDown: add anchorNode property.

    Applies dropdown-opening behavior to specified node.
    
    Also removed a bunch of unneeded properties.
    
    Fixes #465.
    wkeese committed Oct 5, 2016
Commits on Oct 3, 2016
  1. Make intern.local.js just run against chrome by default.

    Otherwise, if you start chromedriver, it runs the test three times all against chrome.
    wkeese committed Oct 3, 2016
  2. Remove <iframe> support from activationTracker.

    I doubt anyone is using it.
    wkeese committed Oct 3, 2016
  3. Emit delite-activated and delite-deactivated on all nodes.

    Renamed active-widget-stack to active-stack.
    
    Fixes #468.
    wkeese committed Sep 30, 2016
Commits on Sep 29, 2016
  1. Create on.emit() method to emit events on any node.

    Also enhance CustomElement#emit() to take an optional node parameter.
    
    Fixes #467.
    wkeese committed Sep 29, 2016
  2. Switch tests to run against iOS 9.3 and Safari 9.

    Should be iOS 10 and Safari 10 but SauceLabs doesn't support them yet.
    
    Get ready to re-enable test that fails on iOS 8 and Safari 8,
    but works on iOS 10 and Safari 10.
    
    Fixes #259 (or at least, it makes sense to close that ticket).
    wkeese committed Sep 29, 2016
Commits on Sep 28, 2016
  1. Get place-clip.html test running.

    It's still in DOH rather than Intern though.
    
    Refs #357.
    wkeese committed Sep 28, 2016
  2. Add d-edge and d-ff classes.

    Fix outdated documentation.
    
    Fixes #466.
    wkeese committed Sep 28, 2016