Commit Graph

357 Commits (c117be989e5fd4b763281addf794ecfedec508a7)
 

Author SHA1 Message Date
Patricio M. Ros c117be989e Add Cyclow framework to README
Cyclow is a new reactive frontend framework for JavaScript I've created. It uses Snabbdom. Please, consider add it to "Structuring applications" section. Thank you.
Diego Ferreiro Val 4ede863df2 Performance improvement for attribute patching: ()
* Performance improvements for attribute patching:
- Avoid call to split and use a object lookup instead
- Simplify the code for `svg` name spaced attributes

* Fix typo and added missing property

* Fixing previous attribute ns assignment

* Refactor NS

* Add fast path for non namespaced elements

* Adding tests
paldepind 6f12fdc9dd Version 0.6.7
paldepind efb203ed21 Update bundle
paldepind dc837b70f9 Version 0.6.6
Simon Friis Vindum e923478dcd Merge pull request from snabbdom/set-boolean-attributes-correctly
Set boolean attributes correctly according to spec
paldepind 511b29a6a6 Set boolean attributes correctly according to spec
Andre Staltz 9910df92b3
Version 0.6.5
Andre Staltz 2135b65b30
Update gulpfile to bundle tovnode.js too
André Staltz 69a6ab7f0b Merge pull request from Steelfish/master
fix tovnode to ensure text elements can be removed
Tom Bakker 1a0adb1c95 fix tovnode to ensure text elements can be removed
Simon Friis Vindum b98f5a91a2 Merge pull request from emilniklas/patch-2
Add Tweed to the list of example projects
Emil Persson 94780592c6 Add Tweed to the list of example projects
André Staltz 9ee3be8b5a Merge pull request from caridy/create-workflow-to-align-with-update
Create element workflow should align with update element workflow
André Staltz 12abb54ee1 Merge pull request from staltz/dataset-fix
Fix dataset module to support old browsers
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.
Andre Staltz 062936dbf1
Version 0.6.4
André Staltz 549de52bf8 Merge pull request from staltz/fix167
Introduce toVNode() to reconstruct root element as vnode
Andre Staltz a0033a635d
Introduce toVNode() to reconstruct root element as vnode
This commit addresses issue . 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 . 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  and enabling
client/server-side rendering in an efficient manner
(destruction/recreation client-side is probably too expensive).
Simon Friis Vindum 9be854410e Merge pull request from nunocastromartins/handle-null-children
Support for null/undefined children
Nuno Martins 367eef52f8 Fix . 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.
André Staltz 3efe5612d7 Merge pull request from pedrosland/feature/comments
Add ability to create comment nodes
Simon Friis Vindum 6ccf6f457d Merge pull request from zhulongzheng/master
Fix compatibility issue of String.prototype.startsWith
Simon Friis Vindum c1d0cdccf9 Merge pull request from jamen/master
Add reference to "snabby"
Jamen Marz b39d1c9de9 Punctuation
Jamen Marz fc3749e1a8 Add reference to snabby
Caridy 6594a20fde Create element workflow to align with update element workflow
zhulongzheng 18ef17db31 Update of
Peter Sutherland bb86adef8c Add ability to create comment nodes
zhulongzheng f6eacf3993 Fix compatibility issue of String.prototype.startsWith
Andre Staltz f143528e2e
Version 0.6.3
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.
Andre Staltz 3455d1dc21
Version 0.6.2
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.
Simon Friis Vindum e76e06a28e Merge pull request from caridy/better-support-for-data-memoization
[perf-optimization] skip unnecessary work in modules when possible
Caridy 687db9f99b [perf-optimization] skip unnecessary work in modules that can support memoization of the data structure consumed by them
paldepind 673e2a7e7b Merge branch 'use-typeof'
paldepind e570f4cf03 Version 0.6.1
paldepind 19b135b1f5 Add npmignore
paldepind 0483640fa3 Version 0.6.0
Simon Friis Vindum 7da866270a Merge pull request from aronallen/fix/ie11svg
use parentNode instead of parentElement
Aron Allen d8bd32f1e5 updated description of test
Aron Allen 166b8eca23 added test
Aron Allen fa88c0e888 removed all references to parentElement, changed to parentNode. updated types
Simon Friis Vindum 3bd0068156 Merge pull request from tdumitrescu/svg-ns-fix
Fix Custom Element creation when tag name begins with 'svg'
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.
Simon Friis Vindum 5e2f6ec9b7 Merge pull request from jbucaran/fix-svg
Check that children data !== undefined before calling addNS
Aron Allen bec0d9ab80 use parentNode instead of parentElement
Jorge Bucaran 00b9224d85 Check that children data !== undefined before calling addNS
Otherwise svg is broken.
paldepind 27993fcadf Typing for module hooks and `h` data