From 3edb928d83df9882ffe22633a07d1cd92bef31a9 Mon Sep 17 00:00:00 2001 From: Michael Henderson <mhenderson@fullsail.com> Date: Mon, 11 Apr 2016 18:11:40 -0400 Subject: [PATCH 1/8] Updating react and react-dom peerDependencies to work with both 0.14.x and 15.x.x, Updating react-addons-* in dependencies and devDependencies to work with both 0.14.x and 15.x.x --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 98a1fde4..e3da23c9 100644 --- a/package.json +++ b/package.json @@ -42,8 +42,8 @@ "url": "https://github.com/onefinestay/react-daterange-picker" }, "peerDependencies": { - "react": ">=0.14.0", - "react-dom": ">=0.14.0" + "react": "0.14.x || 15.x.x", + "react-dom": "0.14.x || 15.x.x" }, "dependencies": { "calendar": "^0.1.0", @@ -51,7 +51,7 @@ "immutable": "^3.7.2", "moment": "^2.10.6", "moment-range": "^2.0.3", - "react-addons-pure-render-mixin": "^0.14.0" + "react-addons-pure-render-mixin": "^0.14.0 || 15.x.x" }, "devDependencies": { "babel": "^5.2.16", @@ -89,7 +89,7 @@ "object.assign": "^1.1.1", "phantomjs": "^1.9.18", "run-sequence": "~1.1.4", - "react-addons-test-utils": "^0.14.0", + "react-addons-test-utils": "^0.14.0 || 15.x.x", "timekeeper": "0.0.5", "transform-loader": "^0.2.1", "underscore": "^1.8.3", From 6cf5d2fb34ad98eb07a228adc3561f17c58cbe0c Mon Sep 17 00:00:00 2001 From: Michael Henderson <mhenderson@fullsail.com> Date: Thu, 21 Apr 2016 10:16:09 -0400 Subject: [PATCH 2/8] Re-updating peerDependencies after merging in a50d53c55d7b39e2add269aff7f36a591b51fa73 --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 75d71104..f98a4434 100644 --- a/package.json +++ b/package.json @@ -42,8 +42,8 @@ "url": "https://github.com/onefinestay/react-daterange-picker" }, "peerDependencies": { - "react": "^0.14.0", - "react-dom": "^0.14.0" + "react": "^0.14.0 || 15.x.x", + "react-dom": "^0.14.0 || 15.x.x" }, "dependencies": { "calendar": "^0.1.0", From c1bd5d153eeb32e51891e52d30044a1a93373fd3 Mon Sep 17 00:00:00 2001 From: Michael Henderson <mhenderson@fullsail.com> Date: Thu, 21 Apr 2016 10:16:54 -0400 Subject: [PATCH 3/8] Fixing renderToString reference in build-example task (now on ReactDOM/Server) --- gulpfile.babel.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gulpfile.babel.js b/gulpfile.babel.js index dac5c461..f07d15e1 100644 --- a/gulpfile.babel.js +++ b/gulpfile.babel.js @@ -6,6 +6,7 @@ import gulp from 'gulp'; import gulpLoadPlugins from 'gulp-load-plugins'; import React from 'react'; +import ReactDOMServer from 'react-dom/server'; import webpack from 'webpack'; import { Server as KarmaServer } from 'karma'; import clean from 'del'; @@ -155,7 +156,7 @@ gulp.task('build-example', function() { }); var Index = React.createFactory(require('./example/base.jsx')); - var markup = '<!document html>' + React.renderToString(Index()); + var markup = '<!document html>' + ReactDOMServer.renderToString(Index()); // write file fs.writeFileSync('./example/index.html', markup); From 70bac54864b4d4b198500ebfcbe6766b479b62af Mon Sep 17 00:00:00 2001 From: Michael Henderson <mhenderson@fullsail.com> Date: Thu, 21 Apr 2016 10:17:33 -0400 Subject: [PATCH 4/8] Fixing React.findDOMNode references (now permanently on ReactDOM, as of 15.0.0) --- src/calendar/tests/CalendarDate.spec.js | 3 ++- src/tests/DateRangePicker.spec.js | 3 ++- src/tests/Legend.spec.js | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/calendar/tests/CalendarDate.spec.js b/src/calendar/tests/CalendarDate.spec.js index 327f1aff..9717501f 100644 --- a/src/calendar/tests/CalendarDate.spec.js +++ b/src/calendar/tests/CalendarDate.spec.js @@ -1,4 +1,5 @@ import React from 'react'; +import ReactDOM from 'react-dom'; import TestUtils from 'react-addons-test-utils'; import moment from 'moment'; import _ from 'underscore'; @@ -72,7 +73,7 @@ describe('The CalendarDate Component', function () { afterEach( function () { if (this.component) { - React.unmountComponentAtNode(React.findDOMNode(this.component).parentNode); + React.unmountComponentAtNode(ReactDOM.findDOMNode(this.component).parentNode); } }); diff --git a/src/tests/DateRangePicker.spec.js b/src/tests/DateRangePicker.spec.js index 5311d46d..3b58d477 100644 --- a/src/tests/DateRangePicker.spec.js +++ b/src/tests/DateRangePicker.spec.js @@ -9,6 +9,7 @@ import isMomentRange from '../utils/isMomentRange'; import areMomentRangesEqual from '../utils/areMomentRangesEqual'; import Immutable from 'immutable'; import React from 'react'; +import ReactDOM from 'react-dom'; import TestUtils from 'react-addons-test-utils'; import _ from 'underscore'; @@ -75,7 +76,7 @@ describe('The DateRangePicker component', function () { afterEach( function () { if (this.component) { - React.unmountComponentAtNode(React.findDOMNode(this.component).parentNode); + React.unmountComponentAtNode(ReactDOM.findDOMNode(this.component).parentNode); } }); diff --git a/src/tests/Legend.spec.js b/src/tests/Legend.spec.js index 0da7de2a..f98c5be5 100644 --- a/src/tests/Legend.spec.js +++ b/src/tests/Legend.spec.js @@ -1,4 +1,5 @@ import React from 'react'; +import ReactDOM from 'react-dom'; import TestUtils from 'react-addons-test-utils'; import Legend from '../Legend'; import _ from 'underscore'; @@ -32,7 +33,7 @@ describe('The Legend component', function () { afterEach( function () { if (this.component) { - React.unmountComponentAtNode(React.findDOMNode(this.component).parentNode); + React.unmountComponentAtNode(ReactDOM.findDOMNode(this.component).parentNode); } }); From c362c902f1a28b5fc57a3a988ac9a7d2aad4acc5 Mon Sep 17 00:00:00 2001 From: Michael Henderson <mhenderson@fullsail.com> Date: Thu, 21 Apr 2016 10:22:14 -0400 Subject: [PATCH 5/8] Fixing new warnings in React 15 about controlled/uncontrolled components using null as value (https://facebook.github.io/react/blog/2016/04/07/react-v15.html#new-deprecations-introduced-with-a-warning) --- example/index.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/example/index.jsx b/example/index.jsx index 85562029..ae781898 100644 --- a/example/index.jsx +++ b/example/index.jsx @@ -47,11 +47,11 @@ const DatePickerRange = React.createClass({ <RangePicker {...this.props} onSelect={this.handleSelect} value={this.state.value} /> <div> <input type="text" - value={this.state.value ? this.state.value.start.format('LL') : null} + value={this.state.value ? this.state.value.start.format('LL') : ""} readOnly={true} placeholder="Start date"/> <input type="text" - value={this.state.value ? this.state.value.end.format('LL') : null} + value={this.state.value ? this.state.value.end.format('LL') : ""} readOnly={true} placeholder="End date" /> </div> @@ -64,7 +64,7 @@ const DatePickerRange = React.createClass({ const DatePickerSingle = React.createClass({ getInitialState() { return { - value: null, + value: "", }; }, @@ -81,7 +81,7 @@ const DatePickerSingle = React.createClass({ value={this.state.value} /> <div> <input type="text" - value={this.state.value ? this.state.value.format('LL') : null} + value={this.state.value ? this.state.value.format('LL') : ""} readOnly={true} /> </div> </div> From 5a937546a7b675884de8f69e2609f91eda160461 Mon Sep 17 00:00:00 2001 From: Michael Henderson <mhenderson@fullsail.com> Date: Thu, 21 Apr 2016 12:02:19 -0400 Subject: [PATCH 6/8] Fixing "cannot render td inside tbody" react DOM warning. Fixing reference to unmountComponentAtNode (now permanently on ReactDOM). --- src/calendar/tests/CalendarDate.spec.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/calendar/tests/CalendarDate.spec.js b/src/calendar/tests/CalendarDate.spec.js index 9717501f..89a0d61a 100644 --- a/src/calendar/tests/CalendarDate.spec.js +++ b/src/calendar/tests/CalendarDate.spec.js @@ -60,9 +60,11 @@ describe('The CalendarDate Component', function () { }; this.useDocumentRenderer = (props) => { - const renderedTable = TestUtils.renderIntoDocument(<table> - <tbody>{getCalendarDate(props)}</tbody> - </table>); + const renderedTable = TestUtils.renderIntoDocument( + <table> + <tbody><tr>{getCalendarDate(props)}</tr></tbody> + </table> + ); this.renderedComponent = renderedTable.querySelector('td'); }; @@ -73,7 +75,7 @@ describe('The CalendarDate Component', function () { afterEach( function () { if (this.component) { - React.unmountComponentAtNode(ReactDOM.findDOMNode(this.component).parentNode); + ReactDOM.unmountComponentAtNode(ReactDOM.findDOMNode(this.component).parentNode); } }); From 26bd8255945e7d15e31a096441596839dc6b871f Mon Sep 17 00:00:00 2001 From: Michael Henderson <mhenderson@fullsail.com> Date: Thu, 21 Apr 2016 12:02:30 -0400 Subject: [PATCH 7/8] Fixing reference to unmountComponentAtNode (now permanently on ReactDOM). --- src/tests/DateRangePicker.spec.js | 2 +- src/tests/Legend.spec.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tests/DateRangePicker.spec.js b/src/tests/DateRangePicker.spec.js index 3b58d477..f3446975 100644 --- a/src/tests/DateRangePicker.spec.js +++ b/src/tests/DateRangePicker.spec.js @@ -76,7 +76,7 @@ describe('The DateRangePicker component', function () { afterEach( function () { if (this.component) { - React.unmountComponentAtNode(ReactDOM.findDOMNode(this.component).parentNode); + ReactDOM.unmountComponentAtNode(ReactDOM.findDOMNode(this.component).parentNode); } }); diff --git a/src/tests/Legend.spec.js b/src/tests/Legend.spec.js index f98c5be5..aabefba2 100644 --- a/src/tests/Legend.spec.js +++ b/src/tests/Legend.spec.js @@ -33,7 +33,7 @@ describe('The Legend component', function () { afterEach( function () { if (this.component) { - React.unmountComponentAtNode(ReactDOM.findDOMNode(this.component).parentNode); + ReactDOM.unmountComponentAtNode(ReactDOM.findDOMNode(this.component).parentNode); } }); From 2075cd026c87b7b7e2698c22ca2df94c2f53b20a Mon Sep 17 00:00:00 2001 From: Michael Henderson <mhenderson@fullsail.com> Date: Thu, 21 Apr 2016 12:03:00 -0400 Subject: [PATCH 8/8] Fixing reference to unmountComponentAtNode (now permanently on ReactDOM). Replacing getDOMNode() usage with ReactDOM.findDOMNode(). --- src/calendar/tests/CalendarMonth.spec.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/calendar/tests/CalendarMonth.spec.js b/src/calendar/tests/CalendarMonth.spec.js index 4d44e399..f9584fc1 100644 --- a/src/calendar/tests/CalendarMonth.spec.js +++ b/src/calendar/tests/CalendarMonth.spec.js @@ -1,4 +1,5 @@ import React from 'react'; +import ReactDOM from 'react-dom'; import TestUtils from 'react-addons-test-utils'; import CalendarMonth from '../CalendarMonth'; import CalendarDate from '../CalendarDate'; @@ -58,7 +59,7 @@ describe('The CalendarMonth Component', function () { afterEach( function () { if (this.component) { - React.unmountComponentAtNode(React.findDOMNode(this.component).parentNode); + ReactDOM.unmountComponentAtNode(ReactDOM.findDOMNode(this.component).parentNode); } }); @@ -115,12 +116,12 @@ describe('The CalendarMonth Component', function () { it('which calls props.onMonthChange if props.disableNavigation is false and if the selected value changes', function () { var onMonthChange = jasmine.createSpy(); - this.useDocumentRenderer({ - onMonthChange: onMonthChange, - }); - var select = TestUtils.scryRenderedDOMComponentsWithTag(this.renderedComponent, 'select')[0].getDOMNode(); - select.value = '2'; + this.useDocumentRenderer({ onMonthChange: onMonthChange }); + + var select = TestUtils.scryRenderedDOMComponentsWithTag(this.renderedComponent, 'select')[0]; + select.value = 2; TestUtils.Simulate.change(select); + expect(onMonthChange).toHaveBeenCalledWith(2); }); @@ -165,7 +166,7 @@ describe('The CalendarMonth Component', function () { this.useDocumentRenderer({ onYearChange: onYearChange, }); - var select = TestUtils.scryRenderedDOMComponentsWithTag(this.renderedComponent, 'select')[1].getDOMNode(); + var select = TestUtils.scryRenderedDOMComponentsWithTag(this.renderedComponent, 'select')[1]; var value = (this.firstOfMonth.year() + 1).toString(); select.value = value; TestUtils.Simulate.change(select);