- From: Andrea Giammarchi <notifications@github.com>
- Date: Wed, 08 Nov 2017 11:34:58 +0000 (UTC)
- To: whatwg/dom <dom@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/dom/issues/533/342791592@github.com>
> This would be useful for polyfilling custom elements
polyfills for custom elements already work and are either based on MutationObserver or DOMNodeInserted/DOMNodeRemoved with a lookup for registered elements in the list of changed nodes.
Using polyfills is a weak reason, specially because anythig new needs to be polyfilled too.
**However** I do have a use case in hyperHTML too but I believe React and many other frameworks would love this feature as well.
CustomElements mechanism to understand their life-cycle are excellent but not everyone writes Custom Elements based sites and knowing a generic form, input, list element, grid card, has been added/removed would be ace.
in hyperHTML I do have control of each vanilla DOM component but I need to do this "dance" per each event:
```js
function dispatchTarget(node, isConnected, type, e) {
if (components.has(node)) {
node.dispatchEvent(e || (e = new Event(type)));
}
// this is where it gets a bit ugly
else {
for (var
nodes = node.children,
i = 0, length = nodes.length;
i < length; i++
) {
e = dispatchTarget(nodes[i], isConnected, type, e);
}
}
return e;
}
```
The dispatching after recursive search is done per each `record.addedNodes` and `record.removedNodes` but if I had a platform way to loop over all known connected/disconnected nodes my code, and my life, would definitively be easier.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/dom/issues/533#issuecomment-342791592
Received on Wednesday, 8 November 2017 11:35:26 UTC