Checklist, Qualifications, and References for New Mutation Observation Trigger #9320

Open
coreysyms opened this Issue Nov 1, 2016 · 3 comments

Projects

None yet

2 participants

@coreysyms
Contributor
coreysyms commented Nov 1, 2016 edited

Checklist, Qualifications, and References for New Mutation Observation Trigger

This issue will act as the checklist for Foundation Plugins that require integration of DOM mutation observation, qualification requirements, and as a bug issue reference point.

Background

Mutation observation has been added to 6.3 in triggers, meaning all plugins have access to async triggers for DOM mutation and can key self-functions off the event change. Types of changes we can observe are the additions and removals of child nodes, parent/child relationships, and changes to the style attribute. Practically speaking, there is a number of "display none show hide" bug issues of plugins not correctly displaying that the implementation of this will mitigate.

References

To see a demo of how this works and doesn't / currently works

What Qualifies As A Mutation Event

The following qualifies as events post document.load

  • Elements added / removed from the DOM
  • JS style attributes change
  • JS show / hide

Plugins to update

  • Tabs
  • Interchange
  • Equalizer
  • Accordion
  • Reveal
  • Magellan
  • Orbit
  • Sticky (PR #9462 )
  • Togglers and Responsive Nav (PR #9475 )

Related Issues

Please consolidate bug issues against this issue and not #9126

@kball
Contributor
kball commented Nov 15, 2016

I'm going to take a look at this for slider and see if it will fix #8391

@kball
Contributor
kball commented Nov 18, 2016

Found a bug in drilldown menus (surfacing in responsive menus) that I believe mutation observers will fix. Adding them.

@kball
Contributor
kball commented Nov 23, 2016

@coreysyms I noticed that the mutation observer implementation doesn't currently debounce... resulting in often getting lots of triggers all together. Can you add that?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment