From 930646fef4e9358f88fc15b9a52ea263f05be1c9 Mon Sep 17 00:00:00 2001 From: Nate Hunzaker Date: Thu, 19 Mar 2015 21:37:19 -0400 Subject: [PATCH] [change] Tag determination based on recommendation by @spicyj Fix semicolon Fix another semicolon --- src/browser/ui/ReactDOMComponent.js | 8 ++++++-- src/browser/ui/ReactDOMTextComponent.js | 11 +++++++---- .../ui/dom/components/__tests__/ReactSVGText-test.js | 2 +- src/core/ReactMultiChild.js | 6 ++---- src/core/ReactReconciler.js | 4 ++-- 5 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/browser/ui/ReactDOMComponent.js b/src/browser/ui/ReactDOMComponent.js index 4df78e8270108..7f8884c6a6a66 100644 --- a/src/browser/ui/ReactDOMComponent.js +++ b/src/browser/ui/ReactDOMComponent.js @@ -301,7 +301,7 @@ ReactDOMComponent.Mixin = { var mountImages = this.mountChildren( childrenToUse, transaction, - context + assign({}, context, { _svgTextDecendant: this._tag === 'text' }) ); ret = mountImages.join(''); } @@ -342,7 +342,11 @@ ReactDOMComponent.Mixin = { updateComponent: function(transaction, prevElement, nextElement, context) { assertValidProps(this, this._currentElement.props); this._updateDOMProperties(prevElement.props, transaction); - this._updateDOMChildren(prevElement.props, transaction, context); + this._updateDOMChildren( + prevElement.props, + transaction, + assign({}, context, { _svgTextDecendant: this._tag === 'text' }) + ); }, /** diff --git a/src/browser/ui/ReactDOMTextComponent.js b/src/browser/ui/ReactDOMTextComponent.js index ae721bf8b8950..333b9f3c51a82 100644 --- a/src/browser/ui/ReactDOMTextComponent.js +++ b/src/browser/ui/ReactDOMTextComponent.js @@ -64,7 +64,7 @@ assign(ReactDOMTextComponent.prototype, { * @return {string} Markup for this text node. * @internal */ - mountComponent: function(rootID, transaction, context, parentTag) { + mountComponent: function(rootID, transaction, context) { this._rootNodeID = rootID; var escapedText = escapeTextContentForBrowser(this._stringText); @@ -76,10 +76,13 @@ assign(ReactDOMTextComponent.prototype, { } // SVG elements use rather than - var tag = parentTag === 'text' ? 'tspan' : 'span'; - var attrs = DOMPropertyOperations.createMarkupForID(rootID); + var tag = context._svgTextDecendant ? 'tspan' : 'span'; - return `<${ tag } ${ attrs }>${ escapedText }`; + return ( + '<' + tag + ' ' + DOMPropertyOperations.createMarkupForID(rootID) + '>' + + escapedText + + '' + ); }, /** diff --git a/src/browser/ui/dom/components/__tests__/ReactSVGText-test.js b/src/browser/ui/dom/components/__tests__/ReactSVGText-test.js index cdb0d8fa47e22..24d935afadf11 100644 --- a/src/browser/ui/dom/components/__tests__/ReactSVGText-test.js +++ b/src/browser/ui/dom/components/__tests__/ReactSVGText-test.js @@ -47,6 +47,6 @@ describe('ReactSVGText', function() { expect(label.textContent).toEqual('first second'); expect(children[0].tagName).toEqual('tspan'); - }) + }); }); diff --git a/src/core/ReactMultiChild.js b/src/core/ReactMultiChild.js index cb75a968798ab..74ecdb4b35593 100644 --- a/src/core/ReactMultiChild.js +++ b/src/core/ReactMultiChild.js @@ -193,8 +193,7 @@ var ReactMultiChild = { child, rootID, transaction, - context, - this._tag + context ); child._mountIndex = index; mountImages.push(mountImage); @@ -402,8 +401,7 @@ var ReactMultiChild = { child, rootID, transaction, - context, - this._tag + context ); child._mountIndex = index; this.createChild(child, mountImage); diff --git a/src/core/ReactReconciler.js b/src/core/ReactReconciler.js index ed70bb21a7814..8911877d80ed1 100644 --- a/src/core/ReactReconciler.js +++ b/src/core/ReactReconciler.js @@ -34,8 +34,8 @@ var ReactReconciler = { * @final * @internal */ - mountComponent: function(internalInstance, rootID, transaction, context, parentTag) { - var markup = internalInstance.mountComponent(rootID, transaction, context, parentTag); + mountComponent: function(internalInstance, rootID, transaction, context) { + var markup = internalInstance.mountComponent(rootID, transaction, context); if (__DEV__) { ReactElementValidator.checkAndWarnForMutatedProps( internalInstance._currentElement