Isiah Meadows
1ecc30a064
Fix custom elements attribute application, improve key checking
...
- Fix custom elements attribute application to acknowledge that not all
custom elements operate purely based on attributes. (Plus, those
blasted things are verbose as heck when you're working with them in
raw form. It's also not that uncommon for functionality to be exposed
via property and *not* attribute.)
- Don't memoize the normalized value when we 1. only use it once in each
branch, and 2. only use it for a few special cases.
- Centralize the "has property key" code, so it's easier to tune and
read. I also inlined a couple functions while I was at it since they
were small and only used once.
- Actually test for how attributes are applied to raw DOM elements vs
when we choose to use keys. When I first developed the patch, it
silently worked, when I should've been breaking things.
2018-09-20 15:08:49 -04:00
Isiah Meadows
c703b03253
Unbreak accidental back-compat break with event optimization ( #2222 )
...
This was supposed to be purely additive. See here for more details:
https://github.com/MithrilJS/mithril.js/pull/1949#issuecomment-417824513
2018-09-18 10:14:21 -04:00
Pierre-Yves Gérardy
32b319d140
[render/hyperscript] Normalize to class attrs to className, ignore only nullish values
2018-06-07 18:09:38 +02:00
Pierre-Yves Gérardy
8daa386e5e
[render/test] add a render/hyperscript integration suite for classes
2018-06-07 18:09:38 +02:00
Pierre-Yves Gérardy
92b22fe8e6
[render/hyperscript] have the attrs take precedence over the selector, improve class normalization
...
fix #1773
fix #2172
2018-06-07 18:09:38 +02:00
Pierre-Yves Gérardy
3f5cabc5c5
Chore: Normalize the way we use eslint-disable
2018-06-01 21:27:02 +02:00
Pierre-Yves Gérardy
6283aa4a7d
[render/render] Test for removing styles and assorted domMock changes
2018-06-01 21:27:02 +02:00
Pierre-Yves Gérardy
4921083898
[render/render] Fix xlink:href handling
2018-06-01 21:27:02 +02:00
Pierre-Yves Gérardy
2469505b1b
Move xlink:href test to the proper file
2018-06-01 21:27:02 +02:00
Pierre-Yves Gerardy
5b51b682ee
Improve attrs removal, fix #1804
2018-06-01 21:27:02 +02:00
Pierre-Yves Gerardy
4197cf0ae1
Enable the tests for #1804
2018-06-01 21:27:02 +02:00
Pierre-Yves Gérardy
95ec3d28aa
test for the LIS-based diff
2018-05-29 23:50:29 +02:00
Barney Carroll
1579fe8430
Do not normalise component children on ingestion ( #2155 )
...
* Do not normalise component children on ingestion
* Don't normalise vnode children
* Component hyperscript tests: children aren't normalised
* test, not text
* Update change log: #2155 & #2064
2018-05-29 10:53:16 +01:00
Pierre-Yves Gérardy
878e4958dc
tests for #2132
2018-04-23 13:52:03 +02:00
Pierre-Yves Gérardy
dd6ceca31d
tests for #2128
2018-04-23 13:52:03 +02:00
Pierre-Yves Gérardy
203df39c30
Remove the DOM nodes recycling pool ( fix #1653 , fix #2023 )
2018-04-16 09:45:45 +02:00
Pierre-Yves Gérardy
ad46a21a7d
[render] add support for SVG in m.trust() strings
2018-03-06 01:12:32 +01:00
Fabiano Taioli
83884bdc90
element value is not cleared when value valor change to undefined
2018-02-09 00:47:59 +01:00
Pierre-Yves Gérardy
9f09ac069c
Address #2021 review comments
2017-12-04 14:38:39 +01:00
Pierre-Yves Gérardy
fc0240da0f
Tests for #1990 , #1991 and #2003
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
5209071011
Merge next into optimize-events
2017-08-31 05:43:39 -04: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
Ilya Sarantsev
9e6b175519
Handle shared attributes object in hyperscript ( #1941 )
2017-08-23 16:36:14 +03:00
spacejack
1e56f7763e
More accurate style object diffs
2017-08-13 18:32:32 -04:00
Pierre-Yves Gérardy
da6122753c
Add tests for issue 1921 (onremove fires on childrent that don't end up in the instance)
2017-07-31 11:39:36 +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
894152440b
Add tests for #1870
2017-06-12 18:26:45 +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
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
Pierre-Yves Gerardy
d21bfd4a36
Enable the tests for the updated #1595 , add an additional sanity check
2017-05-29 16:47:14 +02:00
Pierre-Yves Gerardy
58bc414635
tests for validating #1595 and #1804
2017-05-28 21:03:27 +02:00
Pierre-Yves Gerardy
e031fe49a1
[test-utils/domMock] improve attributes handling
2017-05-28 18:26:09 +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
Scotty Simpson
73d9265c6d
fix: selector [value=""] is mishandled ( #1843 )
2017-05-02 14:28:59 -07:00
spacejack
08a6638926
Minimize vdom diff in option value test
2017-04-30 15:14:44 -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
spacejack
f8ccd418d3
Add test for select option with empty string value
2017-04-26 20:07:25 -04:00
Isiah Meadows
2fcaafd080
Merge pull request #4 from lhorie/next
...
Update fork
2017-04-11 13:35:35 -04:00
Isiah Meadows
81b7ff56ee
Add tests for event vnode second argument
2017-04-11 13:09:38 -04:00
Pat Cavit
34d6a710a9
style: fix quotes ( #1787 )
2017-04-07 12:56:31 -07:00
ludbek
5c616c0fbb
removed console.log
2017-04-05 22:01:21 +05:45