Pierre-Yves Gérardy
e839c9e80a
render/updateNodes: Don't fetch the next sibling from the pool
2017-12-04 14:38:39 +01:00
Pierre-Yves Gérardy
eaa9f589af
render/updateNodes: recycling, clarify terminology, fix logic
...
fix #2003 partim 1
fix #1991 partim 1
2017-12-04 14:38:39 +01:00
Pierre-Yves Gérardy
8950760e85
render: extract pool addtition logic, don't run onremove on nodes that move from pool to pool ( fix #1990 )
2017-12-04 14:38:39 +01:00
robinchew
db2a12dec9
Trying to fix #1916 ( #1918 )
...
* Trying to fix #1916
* Remove test for rendering select options. Add back after resolving issue #1978 .
* Add #1916 fix to change log.
* Revert "Remove test for rendering select options. Add back after resolving issue #1978."
This reverts commit d4c1be7c2319adf744f78ca787485f52be869208.
* Comment on why failing test for #1916 is commented out.
2017-10-31 20:37:51 +01:00
valtron
622e009811
recycling => shouldRecycle, Fix #1992 ( #1993 )
...
* Fix #1992
* doc in changelog
* add test for #1992
2017-10-16 08:38:44 +02:00
Mateusz Jaworski
8b56c70911
fix: Allow for changing focus in lifecycle hooks ( #1988 )
2017-10-13 22:31:03 -07:00
Isiah Meadows
ae27c0ff18
Merge pull request #1977 from isiahmeadows/remove-legacy-state
...
Remove support for `vnode.state = ...`
2017-10-04 18:00:16 -04:00
Isiah Meadows
19d2ba316c
Remove support for vnode.state = ...
...
- Remove docs for it
- Remove tests for it
- Add runtime check for unexpected reassignment, since we can't freeze
the property (we internally have to be able to modify it)
2017-10-02 19:57:48 -04:00
Isiah Meadows
348bed0a7e
Allow xlink:href to get removed, fix option.value in mock
2017-10-01 19:34:12 -04:00
Isiah Meadows
a1a7038e55
Rework event diffing for better optimizability
...
Re-ordered the type checks so that I can avoid polymorphic property
lookups in event updates. (It improved the common case of no change by
a little over ~40%.)
2017-09-01 17:06:19 -04:00
Isiah Meadows
5209071011
Merge next into optimize-events
2017-08-31 05:43:39 -04:00
Jackson Nowotny
5303e70fde
fixing merge conflicts
2017-08-29 10:30:45 -05:00
Jackson Nowotny
aaa448ac4e
adding comment specifying bug
2017-08-29 10:28:00 -05:00
Jackson Nowotny
849e862413
Fixing IE bug causing active element to be null causing render function to throw error
2017-08-29 10:27:58 -05:00
Isiah Meadows
2c92d84058
Add support for object event handlers (using handleEvent)
...
- `handleEvent` is checked on dispatch, like in the DOM.
- Had to reorder attribute key checking so `undefined` events still got
removed.
- Drive-by: Optimize the initial attribute key checking a little.
- Drive-by: Fix changelog v2.0.0 link in TOC.
2017-08-25 06:06:46 -04:00
Isiah Meadows
dbbdb0664a
Reduce memory allocation/usage across multiple event handlers
...
- `handleEvent` is a very useful tool.
- Always use `addEventListener`/`removeEventListener`, since it's
required for this optimization.
- Change log updated.
- Drive-by: make DOM mock work with both event listener types.
- Drive-by: eliminate possibility of `Object.prototype` interference.
2017-08-25 05:19:30 -04:00
spacejack
ae0b791530
Eleminate now-redundant if block. Add change-log notes.
2017-08-15 15:53:23 -04:00
spacejack
1e56f7763e
More accurate style object diffs
2017-08-13 18:32:32 -04:00
Pierre-Yves Gérardy
c96e085799
core: don't call onremove on the children passed to components that return from their view, fix #1921
2017-07-31 11:48:15 +02:00
Pierre-Yves Gérardy
1fb64c91e3
Take the namespace of the root node into account, fix other ns oversight #1872
2017-06-14 01:59:45 +02:00
Pierre-Yves Gérardy
60e999fa89
[render/render] Add a special case for ; fix #1870
2017-06-12 18:42:46 +02:00
Isiah Meadows
712be2bcc3
Merge pull request #1862 from pygy/fix-1595-redux
...
Re-fix #1595
2017-05-31 02:56:29 -04:00
Isiah Meadows
66aa377548
Simplify ESLint guard
2017-05-31 02:44:15 -04:00
Pierre-Yves Gerardy
40429c8377
Pass namespace when creating new elements while updating a keyed list, fix #1820
2017-05-30 14:17:46 +02:00
Pierre-Yves Gerardy
4616160a52
redo #1595
2017-05-29 17:19:55 +02:00
Samuel Tilly
de4433cd31
Override namespace with xmlns attribute ( #1825 )
...
Fixes issue #1819 foreignObject inside SVG
2017-05-03 14:55:56 -04:00
spacejack
0f9d5f1631
Fix select option to use empty string value, add tests.
2017-04-30 15:04:37 -04:00
Isiah Meadows
b24c37c42d
Revert "Pass vnode as second argument"
2017-04-28 16:40:13 -04:00
Isiah Meadows
e78d1b692c
Support vnode event callbacks
2017-04-11 13:05:12 -04:00
Pierre-Yves Gerardy
e20fd3f876
Only call onremove and onbeforeremove when they are functions. Fix #1706
2017-03-27 16:47:45 +02:00
Pierre-Yves Gerardy
32ada55e00
Make the state undefined, not null during class and closure component initialization
2017-03-27 10:42:12 +02:00
Pierre-Yves Gerardy
d69f6e37aa
Add a shadow vnode._state field for view and hook lookups
2017-03-26 22:24:17 +02:00
Pierre-Yves Gerardy
7be2ff5feb
Strengthen the self-return prevention logic (for recycled nodes and updates)
2017-03-26 22:19:05 +02:00
Pierre-Yves Gerardy
aeb1c41bde
treat functions with a view() method as POJO, not closure component
2017-03-26 21:33:30 +02:00
Pierre-Yves Gerardy
74cbd4c17b
Let render() create the state rather than vnode()
2017-03-08 22:19:27 +01:00
Isiah Meadows
9d6a5e51eb
Merge pull request #1674 from pygy/fix-state-initialization
...
Fix state initialization
2017-03-02 14:28:16 -05:00
Pierre-Yves Gerardy
3e7649ef06
Fix recycled components initialization
...
fix #1641
2017-02-24 09:26:26 +01:00
Leo
e019c8131c
fix merge conflicts for #1610
2017-02-23 18:41:46 -05:00
Pierre-Yves Gerardy
7668ddd120
fix #1638
2017-02-21 09:17:00 +01:00
Leo Horie
732ddf06be
Merge pull request #1595 from tivac/issues-1593
...
Loose comparison when early-outing from setting attributes
2017-02-18 10:05:42 -05:00
Pierre-Yves Gérardy
3f3af74dde
Support classes and factories as components ( #1339 )
...
* Support classes and factories as components
* Tests for class and factory component support
2017-02-14 22:48:02 -05:00
Leo
632677e00c
fix update lifecycle in children of recycled
2017-02-10 10:09:18 -05:00
Leo
0d9a51fe37
fix lifecycle in unkeyed child of recycled keyed
2017-02-09 09:54:48 -05:00
Leo
dc42b60687
#1609 fix lifecycle hooks in children of recycled keyed vnode
2017-02-09 08:31:08 -05:00
Tetsuro Yoshikawa
fdf2985adf
Error in IE11 due to setting of type attribute
...
If you assign an input type that is not supported by IE11 with an
assignment expression, an error will occur.
2017-02-09 22:27:55 +09:00
Gyandeep Singh
390e1fe343
Update: Add elem to parent before adding its children
2017-02-07 21:55:01 -06:00
Pat Cavit
5ab2cf4172
fix: Use loose comparison for non-string values
...
fixes #1593
2017-02-06 14:46:31 -08:00
Barney Carroll
e1ea2822c9
Fix state initialisation logic
2017-01-06 17:12:56 +00:00
Barney Carroll
a19eae2792
Avoid creating intermediary constructor in component state creation
2017-01-06 16:59:52 +00:00
Barney Carroll
fbb454c6fd
Merge branch 'rewrite' into array-isArray
2017-01-04 14:24:07 +00:00