Andre Staltz
c091c59c59
Fix patch() so that the root is patched instead of recreated
...
Previously, patch(element, vnode) would create a new element every time
for the top-level element, unless the top-level vnode had no id and
className. This is because emptyNodeAt() would create a vnode with sel
equal to the element's tagName, NOT including id and className.
This seems to be just a small fix, however this fix was crucial to get
Web Components (custom elements) working with Cycle.js, because the
custom element's "create" callback was being called infinitely and
recursively, because snabbdom was creating the top-level element every
time, even if the sel of oldVNode and vnode were supposed to be the
same.
9 years ago
Veaceslav Grimalschi
1bfb2834db
Update snabbdom.js
...
Code style fix
9 years ago
paldepind
7075aea1d1
New thunk implementation
9 years ago
Christian S
5311071363
reference htmldomapi by module name
...
require call should follow convention, even though the node loader won't complain either way.
9 years ago
paldepind
fb80c1fd80
Keep DOM APIs of different `init` calls seperate
9 years ago
ptol
5cf759c42c
dom api implementation
9 years ago
kay999
30dec98b34
small cleanups
...
This works fine for my use-cases. Also did some small-cleanups.
9 years ago
paldepind
a26db8fc5f
Only invoke remove hook on root with parent element
9 years ago
paldepind
ce14417216
Merge branch 'master' of https://github.com/kay999/snabbdom into replace-root
9 years ago
kay999
b55d8676ba
remove-hook is now called after changing root-node
9 years ago
Simon Friis Vindum
4881f725b9
Merge pull request #67 from jimf/fix-patch
...
Fix element node detection in patch
9 years ago
Ray Di Ciaccio
ee00ffa21b
When a vnode has 'text' property, remove the text node if vnode ispatched with children.
9 years ago
Ray Di Ciaccio
116950cd5b
When a vnode has 'text' property, remove the text node if patched with no 'text'.
9 years ago
Jim Fitzpatrick
4b83fe8a95
Fix node detection in patch
...
`Element.ELEMENT_NODE` is non-standard and undefined in phantomjs.
Updating to use `Node.ELEMENT_NODE`.
References:
- MDN Element: https://developer.mozilla.org/en-US/docs/Web/API/Element
- MDN Node.nodeType: https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType
9 years ago
Ray Di Ciaccio
675c723f77
Change how we check for an Element to just look at the nodeType.
9 years ago
Sylvain Prat
29eb18108c
Repaired broken root init
9 years ago
Sylvain Prat
752908e411
The tests pass!
9 years ago
Sylvain Prat
85f7e9a93f
Only one level deep for thunks
9 years ago
Sylvain Prat
94a3f8767b
Passing test "can be replaced and removed" for thunk
9 years ago
Sylvain Prat
df41e1de25
Passing test "renders correctly when root"
9 years ago
Oscar Finnsson
6da3ab68e1
Make it possible to run a patch inside another patch
9 years ago
paldepind
73f0c05a82
patchVnode should not return a value
10 years ago
paldepind
d0a2f5176e
Invoke event listener with several arguments in array #13
10 years ago
paldepind
a6a814c9eb
Snabbdom will always remove an element from its proper parent, even if the element has been changed
10 years ago
paldepind
f72e48dc05
Do not invoke module `remove` hook for text nodes
10 years ago
paldepind
459c46e22b
Add `isDef` function
10 years ago
paldepind
35de88b833
Replace element if it has a parent
10 years ago
paldepind
26a62cab4d
Add postpatch hook
10 years ago
paldepind
7344b0aca5
Do not invoke `destroy` hook for text nodes
10 years ago
paldepind
24206f430a
Add attachTo module
10 years ago
paldepind
f1ee781962
Elements can be created with namespace #4
10 years ago
paldepind
23344df6b8
Pass empty VNode to `create` hook set on element
10 years ago
paldepind
35335d6d64
Old vnode is passed to update hook
10 years ago
paldepind
b4b90ac609
Fix bug regarding changed text nodes
10 years ago
paldepind
cd7eb76a09
Insert created elements at correct location
10 years ago
paldepind
95de47368b
Fix bug
10 years ago
paldepind
052d51de00
Dont use `forEach`
10 years ago
paldepind
7edc91325d
Remove `emptyVnodeAt` – patch instead accepts DOM node
10 years ago
paldepind
56d1b03fb3
Refactor hook initialization
10 years ago
paldepind
5ae0836f21
Render `vnode` property if defined
10 years ago
paldepind
b66893f05f
Add `init` hook
10 years ago
paldepind
1eb19f827e
Add `patch`-hook, `update`-hook and short circuiting
10 years ago
paldepind
f5d2b0f861
Add destroy hook directly on vnodes
10 years ago
paldepind
0d6ebaf2dc
Add destroy hook
10 years ago
paldepind
caea7088e5
Add `pre` and `post` global hooks
10 years ago
paldepind
64e76e7466
Allow several listeners to control element removal
10 years ago
paldepind
d819a713f0
Move lifecycle hook to `hook` obj in `data`
10 years ago
paldepind
4c173570e3
Init returns patch function
10 years ago
paldepind
c066feb080
Huge modularizing refactor
10 years ago
paldepind
1f5041df62
Tiny refactor
10 years ago