Commit Graph

342 Commits (12abb54ee18daf60fefb2979acfac99e98bebed3)
 

Author SHA1 Message Date
André Staltz 12abb54ee1 Merge pull request #239 from staltz/dataset-fix
Fix dataset module to support old browsers
8 years ago
Andre Staltz c368eb3163
Fix dataset module to support old browsers
At least IE10 does not support the elm.dataset property, so we must use
elm.removeAttribute and elm.setAttribute instead.
8 years ago
Andre Staltz 062936dbf1
Version 0.6.4 8 years ago
André Staltz 549de52bf8 Merge pull request #242 from staltz/fix167
Introduce toVNode() to reconstruct root element as vnode
8 years ago
Andre Staltz a0033a635d
Introduce toVNode() to reconstruct root element as vnode
This commit addresses issue #167. Previously, in snabbdom v0.5.0,
patch(element, vnode) would always create a new element for the root.
This resulted in problems with custom elements (web components), and was
fixed in commit c091c59c59.

However, that commit resulted in bug #167. This meant that snabbdom
would have bugs with server-side rendering, where the root element would
be non-empty (it has many children, rendered on the server-side as
HTML), and the client-side rendering should reuse those existing
children (or clear all the children and recreate them again in patch()).

This commit introduces the function toVNode(elm) that deep-converts an
element (and its tree) to a VNode (and its tree), that is separately
imported and used before calling patch(). toVNode(elm) will look at the
element's attributes and gather those as data for the vnode.

Overall, this commit is important for fixing #167 and enabling
client/server-side rendering in an efficient manner
(destruction/recreation client-side is probably too expensive).
8 years ago
Simon Friis Vindum 9be854410e Merge pull request #232 from nunocastromartins/handle-null-children
Support for null/undefined children
8 years ago
Nuno Martins 367eef52f8 Fix #226. Support for `null`/`undefined` children
This commit makes the patching algorithm ignore `null` and `undefined`
children. This means that, whenever children are iterated, the algorithm
must check for possible `null` and `undefined` values.
8 years ago
André Staltz 3efe5612d7 Merge pull request #229 from pedrosland/feature/comments
Add ability to create comment nodes
8 years ago
Simon Friis Vindum 6ccf6f457d Merge pull request #228 from zhulongzheng/master
Fix compatibility issue of String.prototype.startsWith
8 years ago
Simon Friis Vindum c1d0cdccf9 Merge pull request #237 from jamen/master
Add reference to "snabby"
8 years ago
Jamen Marz b39d1c9de9 Punctuation 8 years ago
Jamen Marz fc3749e1a8 Add reference to snabby 8 years ago
zhulongzheng 18ef17db31 Update of #228 8 years ago
Peter Sutherland bb86adef8c Add ability to create comment nodes 8 years ago
zhulongzheng f6eacf3993 Fix compatibility issue of String.prototype.startsWith 8 years ago
Andre Staltz f143528e2e
Version 0.6.3 8 years ago
Andre Staltz 1b0163cb94
Fix modules/module file to be TypeScript source
In order for other TypeScript code to consume snabbdom's TypeScript
correctly, we must "export" the modules/module interface just like
we export other types.
8 years ago
Andre Staltz 3455d1dc21
Version 0.6.2 8 years ago
Andre Staltz ef8b60993b Fix hooks file to be TypeScript source
In order for other TypeScript code to consume snabbdom's TypeScript
correctly, we must "export" the hooks interfaces just like we export
other types.
8 years ago
Simon Friis Vindum e76e06a28e Merge pull request #221 from caridy/better-support-for-data-memoization
[perf-optimization] skip unnecessary work in modules when possible
8 years ago
Caridy 687db9f99b [perf-optimization] skip unnecessary work in modules that can support memoization of the data structure consumed by them 8 years ago
paldepind 673e2a7e7b Merge branch 'use-typeof' 8 years ago
paldepind e570f4cf03 Version 0.6.1 8 years ago
paldepind 19b135b1f5 Add npmignore 8 years ago
paldepind 0483640fa3 Version 0.6.0 8 years ago
Simon Friis Vindum 7da866270a Merge pull request #210 from aronallen/fix/ie11svg
use parentNode instead of parentElement
8 years ago
Aron Allen d8bd32f1e5 updated description of test 8 years ago
Aron Allen 166b8eca23 added test 8 years ago
Aron Allen fa88c0e888 removed all references to parentElement, changed to parentNode. updated types 8 years ago
Simon Friis Vindum 3bd0068156 Merge pull request #213 from tdumitrescu/svg-ns-fix
Fix Custom Element creation when tag name begins with 'svg'
8 years ago
teddddd 72cdb52e1d Fix Custom Element creation when tag name begins with 'svg'
The check at https://github.com/snabbdom/snabbdom/blob/f79af828/src/h.ts#L37
is too loose, and ends up adding the svg namespace to elements with
tagNames such as svg-icon, which prevents web components lifecycle
callbacks from firing.
8 years ago
Simon Friis Vindum 5e2f6ec9b7 Merge pull request #208 from jbucaran/fix-svg
Check that children data !== undefined before calling addNS
8 years ago
Aron Allen bec0d9ab80 use parentNode instead of parentElement 8 years ago
Jorge Bucaran 00b9224d85 Check that children data !== undefined before calling addNS
Otherwise svg is broken.
8 years ago
paldepind 27993fcadf Typing for module hooks and `h` data 8 years ago
paldepind 9a21abafcb Cast `elm` once 8 years ago
paldepind dccd3d4800 Satisfy strict null checks 8 years ago
Simon Friis Vindum f79af82881 Merge pull request #195 from jlesquembre/css-variables
Add support for css variables
8 years ago
paldepind f552b0e8ed Tweak types, reduce casting 8 years ago
José Luis Lafuente ccbf30f0c6
Add support for css variables 8 years ago
Simon Friis Vindum cd952ac52f Merge pull request #188 from zhulongzheng/patch
Fix bug of updating one child with same key but different sel.
8 years ago
Alexandre Galays 5a5c0dc121 Allow h(sel, data, node) and h(sel, node) shortcut notations 8 years ago
zhulongzheng 8ffb4eb91a Fix bug of updating one child with same key but different sel 8 years ago
Simon Friis Vindum 8286862fae Merge pull request #193 from staltz/typescript-migration
Migrate source code to TypeScript v2.0
8 years ago
Andre Staltz 091dc5f961
Migrate from CommonJS modules to ES2015 modules 8 years ago
Andre Staltz 499cd37b06
Migrate source code to TypeScript v2.0 8 years ago
Simon Friis Vindum 8079ba7868 Merge pull request #173 from jas-chen/jas-chen-patch-1
Fix thunk example
8 years ago
Simon Friis Vindum c2d397035c Merge pull request #120 from Risto-Stevcev/master
Added fully bundled version
8 years ago
Risto Stevcev f632a1f944 Updated distribution build 8 years ago
Risto Stevcev 6d03c1a11a Merge remote-tracking branch 'upstream/master' 8 years ago