Commit Graph
3123 Commits
Author SHA1 Message Date
Ben Alpert c96ea9abf2 Remove transferPropsTo
I'd like to outlaw prop mutation altogether, and now seems like a fine time to remove transferPropsTo.

Test Plan: jest
2014-11-16 17:41:07 -08:00
Ben Alpert f391b7b3ca Don't mutate .props.style in ReactDOMComponent
We currently make a copy of .style because we support mutating the style object in place. Instead of storing it back on props, store it separately on the component instance so that we don't mutate props anywhere. This is gross but should all be cleaned up after #2008 is resolved.

Test Plan: jest
2014-11-16 17:39:00 -08:00
Ben Alpert 505bc7595b Fix up variable names and types to be correct
Test Plan: jest
2014-11-16 17:37:40 -08:00
Sebastian Markbåge 3aa56039c6 Merge pull request #2537 from sebmarkbage/hidedomcomponentinternals
Wrap every DOM node in a Composite Component
2014-11-16 15:35:04 -08:00
Ben Alpert e619d25d03 Inject browser mixin before full-page components
createFullPageComponent doesn't reference ReactBrowserComponentMixin directly so the mixin should get injected before the components are created. Previously, this test failed because getDOMNode wasn't present on the component instance.

Test Plan: jest
2014-11-16 12:59:44 -08:00
Sebastian Markbage 9c3e2d833d Wrap every DOM node in a Composite Component
...unless they already have a wrapper. Also, add tagName to every wrapper.

This ensures that refs are consistent. They always look like composite
components. This effectively hides the internal implementation details of
real DOM components since you can no longer get a ref to one.

In the future we might want to drop this wrapper and have refs refer
directly to the DOM node.

I currently use a hacky way of auto-wrapping inside of ReactNativeComponent
so that any given string can be wrapped. Better suggestions are welcome.
2014-11-16 10:32:46 -08:00
Christopher Chedeau e8e79472aa Merge pull request #2527 from gabelevi/master
Update stripTypes transform to use fixed up jstransform transform
2014-11-15 16:57:25 -08:00
Ben Alpert 795290d1b0 Fix problems with empty component ID registration
Fixes #2493, also closes #2353 as it incorporates a variant of that fix.

- Instead of having getEmptyComponent return `<noscript />` directly, wrap it in a class that we can easily identify later as being an empty component
- Cache the empty component element instead of recreating one each time
- Avoid touching the nullComponentIdsRegistry dictionary at all when not dealing with empty components
- Move empty-component tests to a separate file

Test Plan: jest
2014-11-15 12:35:11 -08:00
Ben Alpert 230115da92 Make ReactTextComponent properly injectable
ReactTextComponent's implementation is DOM-specific; instead of flattenChildren creating the ReactTextComponent instances, ReactNativeComponent now takes care of having ReactTextComponent injected and creating the component instance. I also renamed ReactTextComponent to ReactDOMTextComponent and moved it to browser/ui/ where it belongs. ReactDOMTextComponent no longer inherits directly from ReactComponent and instead implements construct and {mount,receive,unmount}Component directly.

This diff removes `ReactTestUtils.isTextComponent` which should have previously never returned true when using public APIs.

Test Plan: jest, use ballmer-peak example.
2014-11-15 12:30:42 -08:00
Sebastian Markbåge 9b1c3226d0 Merge pull request #2385 from shripadk/bool-fix
Fix: Always return boolean from isNullComponentID
2014-11-15 11:43:27 -08:00
Gabe Levi 0d308add09 Update stripTypes transform to use fixed up jstransform transform 2014-11-14 18:25:11 -08:00
Ben Alpert 903db8bd14 Stop treating key={null} as an unspecified key
This reverts commit dd92786fb0, which was intended to be temporary for the 0.12 release.

Fixes #2394.
2014-11-14 16:52:43 -08:00
Ben Alpert 22da7b6fa5 Warn when casing CSS vendor prefixes incorrectly
Fixes #2487.

Test Plan: jest
2014-11-14 16:51:55 -08:00
Cheng Lou 0db323e42a Merge pull request #2514 from jvalente/patch-1
Update ref-09-glossary.md
2014-11-13 13:45:35 -05:00
Lee Byron 81d4d7bf24 Merge pull request #2512 from leebyron/transition-appear
Adding "appear" phase to ReactTransitionGroup and ReactCSSTransitionGroup
2014-11-13 13:44:56 -05:00
João Valente 485d84fb9b Update ref-09-glossary.md 2014-11-13 12:06:51 +00:00
Lee Byron 8760a70e73 Adding "appear" phase to ReactTransitionGroup and ReactCSSTransitionGroup.
"appear" differs from "enter" in that all children of a transition group at mount time will "appear" but will not "enter". All children later added to an existing transition group will "enter" but not "appear".

This extra transition phase allows for animation-on-mount effects.

A mirroring "appear" prop has been added to ReactCSSTransitionGroup, however for reverse-compatibility (and because "appear" is less common) it defaults to false.

Thanks to @afa for his work investigating the possible ways to implement this.
2014-11-12 21:30:56 -05:00
Paul O’Shannessy 06bf89db8e Merge pull request #2498 from ikr/patch-1
There's no isComponentOfType() anymore
2014-11-11 13:25:33 -08:00
Ivan Krechetov 13311639cc There's no isComponentOfType() anymore 2014-11-11 09:25:33 +01:00
Ben Alpert 7a162ce731 Merge pull request #2482 from BinaryMuse/bkt/fix-stroke-opacity
Add strokeOpacity to unitless CSS properties
2014-11-07 22:26:03 -08:00
Brandon Tilley 96126e9ff4 Add strokeOpacity to unitless CSS properties 2014-11-07 21:20:01 -08:00
Paul O’Shannessy 78ec2501cf Merge pull request #2481 from mjul/fix-typos
Fix some minor typos in doc comments / code comments.
2014-11-07 16:58:49 -08:00
Paul O’Shannessy b243f1eec6 Merge pull request #2480 from spicyj/text-stability
Test that text spans aren't remounted needlessly
2014-11-07 16:56:58 -08:00
Paul O’Shannessy 14d0a22ae8 Merge pull request #2479 from spicyj/nitfix
Fix odd formatting in ReactDOMComponent-test
2014-11-07 16:55:06 -08:00
Martin Jul 042c6c794c Fix some minor typos in doc comments / code comments. 2014-11-07 18:07:07 +01:00
Ben Alpert ba418c6014 Test that text spans aren't remounted needlessly
While working on #2382, I accidentally broke this behavior (causing text components to get unmounted and remounted for any update) but we didn't have any unit test for it. Now we do.

Test Plan: jest TextComponent
2014-11-06 23:19:48 -08:00
Ben Alpert a1dcdf1a64 Fix odd formatting in ReactDOMComponent-test
Test Plan: Crossed fingers.
2014-11-06 23:10:17 -08:00
Sebastian Markbåge c10a39e82b Merge pull request #2445 from sebmarkbage/classes
Separate React Composite and Class
2014-11-06 19:53:10 -08:00
Sebastian Markbage 27c482a2b8 Separate React Composite and Class
ReactClass is now composed by ReactCompositeComponent rather than
inherit from it.

The state transition functions currently use ReactInstanceMap to map an
instance back to an internal representation.

I updated some tests to use public APIs. Other unit tests still reach into
internals but now we can find them using ReactInstanceMap.

I will do more cleanup in follow ups. The purpose of this diff is to
preserve semantics and most of the existing code.

This effectively enables support for ES6 classes. All you would need to
expose is ReactClassMixin.
2014-11-06 19:49:33 -08:00
Ben Alpert bd02e17fec Merge pull request #2476 from jsfb/patch-1
Using semicolon instead of "and" conjunction
2014-11-06 15:15:39 -08:00
Jim dbe16a357b Using semicolon instead of "and" conjunction
The use of the conjunction "and" leads to an improper assertion about what should/shouldn't be done.  Using a semicolon resolves this by indicating the contrasting alternative.
2014-11-06 14:50:35 -08:00
Paul O’Shannessy cbada1e55a Merge pull request #2473 from zertosh/docs-ssr-at-sc
Add React at SoundCloud talk
2014-11-06 14:05:10 -08:00
Paul O’Shannessy df24852ca1 Merge pull request #2475 from jsfb/master
Use adjective "too" instead of "to"
2014-11-06 14:04:33 -08:00
jsfb 7f37074c33 Use adjective "too" instead of "to"
The author clearly intended to use the adjective "too" to mean "excessively" instead of the preposition "to".
2014-11-06 13:42:19 -08:00
Paul O’Shannessy d12ae9d5bb Merge pull request #2241 from syranide/selectvalue
ReactDOMSelect makeover, fix edge-case inconsistencies and remove state
2014-11-06 12:40:15 -08:00
Andres Suarez d5810e46f9 Add SSR at SoundCloud talk 2014-11-06 10:54:05 -05:00
Ben Alpert 9edc6260a7 Initial implementation of new-style refs
cf. #1373

This implementation can be used in any situation that refs can currently be used (and can also be used without an owner, which is a plus).
2014-11-05 19:28:12 -08:00
Paul O’Shannessy dca7ffbe21 Merge pull request #2446 from enaqx/master
Add 'use strict' to statisfy linter rules
2014-11-05 16:25:38 -08:00
Paul O’Shannessy 3e60195bd4 Merge pull request #2408 from Peeja/patch-1
TodoMVC live demos have moved.
2014-11-05 13:49:23 -08:00
Paul O’Shannessy 462f8ea9f6 Merge pull request #2452 from Shahor/master
Trailing commas break old IE versions
2014-11-05 11:00:12 -08:00
Paul O’Shannessy a3509e5b42 Fixing some newline-preserving issues
Done internally as part of
https://github.com/facebook/jstransform/commit/f9836a39126675fd37b40a3598c539b50a1ec69b
2014-11-05 10:36:22 -08:00
Paul O’Shannessy 1fd187b994 Merge pull request #2224 from zertosh/remove-esprima-fb-dep
Remove esprima-fb and use Syntax from jstransform
2014-11-04 14:38:09 -08:00
Paul O’Shannessy 4ba53e1839 Merge pull request #1708 from chenglou/displayName
Use double quote for transformed `displayName`
2014-11-04 14:36:19 -08:00
Andres Suarez bf0a857a92 Remove esprima-fb and use Syntax from jstransform 2014-11-04 17:10:12 -05:00
Paul O’Shannessy 984055c2f5 Merge pull request #2463 from fson/render-to-string-docs
Update React.renderToString argument type in docs
2014-11-04 09:37:12 -08:00
Ville Immonen 9c3357eef5 Update React.renderToString argument type in docs
renderToString and renderToStaticMarkup now take a ReactElement.
Update the documentation to reflect this recent change.
2014-11-04 17:02:00 +02:00
Lee Byron d4ac1229a6 Merge pull request #2458 from leebyron/fix-iterable
[traverseAllChildren] fix out-of-scope var use.
2014-11-03 21:25:01 -05:00
Lee Byron a3608d27ab [traverseAllChildren] fix out-of-scope var use.
Dear ES6 gods, bring us `let` soon.

This fixes an issue where non-keyed iterables are used as children and the value of `i` would be undefined because its used out of scope. This adds a separately scoped iteration index value and appropriately increments it as iteration continues. Doi.

While I'm in there, make the usage of falsey `nameSoFar` more obvious and more consistent with the existing usage on L115

Test plan: first wrote a test covering this previously untested path. Saw an identical issue as was experienced in development environment. Then ensured test passed after this diff.
2014-11-03 21:19:28 -05:00
Andreas Svensson 2601b6a0b0 ReactDOMSelect makeover, fix edge-case inconsistencies and remove state 2014-11-03 23:19:01 +01:00
Alexandre Gaudencio 6379342b71 Trailing commas break old IE versions 2014-11-03 02:54:23 +01:00