New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

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

Comments

Projects
None yet
4 participants
@coreysyms
Collaborator

coreysyms commented Nov 1, 2016

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

This comment has been minimized.

Show comment
Hide comment
@kball

kball Nov 15, 2016

Collaborator

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

Collaborator

kball commented Nov 15, 2016

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

@kball

This comment has been minimized.

Show comment
Hide comment
@kball

kball Nov 18, 2016

Collaborator

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

Collaborator

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

This comment has been minimized.

Show comment
Hide comment
@kball

kball Nov 23, 2016

Collaborator

@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?

Collaborator

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?

@prkirby

This comment has been minimized.

Show comment
Hide comment
@prkirby

prkirby Apr 20, 2017

Was this implemented for Orbit Slider? I am running 6.3.1, and have an equalizer inside of an orbit slider that is collapsing to 0 for everything but the first slide.

$ourProcess.on('slidechange.zf.orbit', function() {
      setTimeout(function() {
        Foundation.reInit($ourProcess.find('.process-info'));
      }, 200);
    });

The code above works after waiting for orbit to finish its mutations, I believe, but it is obviously not a fix and couldn't be used in production. Is there something I'm missing or a way I could fix this?

prkirby commented Apr 20, 2017

Was this implemented for Orbit Slider? I am running 6.3.1, and have an equalizer inside of an orbit slider that is collapsing to 0 for everything but the first slide.

$ourProcess.on('slidechange.zf.orbit', function() {
      setTimeout(function() {
        Foundation.reInit($ourProcess.find('.process-info'));
      }, 200);
    });

The code above works after waiting for orbit to finish its mutations, I believe, but it is obviously not a fix and couldn't be used in production. Is there something I'm missing or a way I could fix this?

@colin-marshall

This comment has been minimized.

Show comment
Hide comment
@colin-marshall

colin-marshall Feb 12, 2018

Collaborator

@coreysyms can you please review the status of this issue when you have a moment? Thanks!

Collaborator

colin-marshall commented Feb 12, 2018

@coreysyms can you please review the status of this issue when you have a moment? Thanks!

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