bahrus / mut-obs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mut-obs

mut-obs is a web component wrapper around the mutation observer

<mut-obs -observe -attributes -attr-filter -child-list -subtree -on -dispatch -unmatch-dispatch -bubbles -composed -cancelable></mut-obs>

observe is a required css selector that "up searches" -- it searches for a css match on its previous siblings, then parent, then previous sibling parents, etc., stopping at shadowDOM boundary. The mutation observer is applied to that element, based on "attributes", "attr-filter", "child-list", "subtree" attributes.

on is a required css selector. The added or removed node is tested with this attribute using the matches() method.

If the test fails, nothing happens (unless unmatch-dispatch is set). If it passes...

"dispatch" is the name of the event to fire if the "on" test passes.

For example:

<my-element></my-element>
<mut-obs observe=* attributes on=* dispatch=my-element-mutates></mut-obs>

Event "my-element-mutates" will be fired when mutations occur.

Another event, "watching-for-my-element-mutates" is fired the moment mutation observation begins.

[TODO] Find a way to consolidate multiple mut-obs's into one.

About

License:MIT License


Languages

Language:TypeScript 48.3%Language:JavaScript 47.3%Language:HTML 4.5%