Skip to content

Commit fdcd11b

Browse files
charliecochranwehriam
authored andcommitted
Fixes deprecation warnings (pushtell#117)
1 parent e0a7821 commit fdcd11b

File tree

5 files changed

+170
-155
lines changed

5 files changed

+170
-155
lines changed

example/app.jsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@ import Glyphicon from 'react-bootstrap/lib/Glyphicon';
1111
import FormGroup from 'react-bootstrap/lib/FormGroup';
1212
import ControlLabel from 'react-bootstrap/lib/ControlLabel';
1313
import HelpBlock from 'react-bootstrap/lib/HelpBlock';
14+
import createReactClass from 'create-react-class';
1415

1516
const spanishDayLabels = ['Dom', 'Lu', 'Ma', 'Mx', 'Ju', 'Vi', 'Sab'];
1617
const spanishMonthLabels = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'];
1718
const wapperDivStyle = { border: '1px solid #ccc' };
1819
const scrollingDivStyle = { padding: '10px', height: '70px', overflow: 'auto' };
1920

20-
const App = React.createClass({
21+
const App = createReactClass({
2122
getInitialState() {
2223
return {
2324
date: new Date().toISOString(),
@@ -426,7 +427,7 @@ const App = React.createClass({
426427
}
427428
});
428429

429-
const CustomControl = React.createClass({
430+
const CustomControl = createReactClass({
430431
displayName: 'CustomControl',
431432

432433
render() {

package.json

+6-5
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
},
1919
"peerDependencies": {
2020
"react": ">=0.14.0",
21-
"react-bootstrap": "^0.30.8"
21+
"react-bootstrap": "^0.31.0"
2222
},
2323
"devDependencies": {
2424
"assert": "^1.4.1",
@@ -31,6 +31,7 @@
3131
"babel-preset-react": "^6.23.0",
3232
"babel-preset-stage-1": "^6.22.0",
3333
"co": "^4.6.0",
34+
"create-react-class": "^15.5.2",
3435
"doctoc": "^1.3.0",
3536
"envify": "^4.0.0",
3637
"es6-promise": "^4.1.0",
@@ -52,10 +53,10 @@
5253
"mocha": "^3.2.0",
5354
"mocha-babel": "^3.0.3",
5455
"node-uuid": "^1.4.7",
55-
"react": "^15.4.2",
56-
"react-addons-test-utils": "^15.4.2",
57-
"react-bootstrap": "^0.30.8",
58-
"react-dom": "^15.4.2",
56+
"prop-types": "^15.5.8",
57+
"react": "^15.5.4",
58+
"react-bootstrap": "^0.31.0",
59+
"react-dom": "^15.5.4",
5960
"regenerator": "^0.8.46",
6061
"regenerator-loader": "^3.1.0",
6162
"transform-loader": "^0.2.4",

src/index.jsx

+73-71
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,27 @@ import FormControl from 'react-bootstrap/lib/FormControl';
77
import InputGroup from 'react-bootstrap/lib/InputGroup';
88
import Overlay from 'react-bootstrap/lib/Overlay';
99
import Popover from 'react-bootstrap/lib/Popover';
10+
import PropTypes from 'prop-types';
11+
import createReactClass from 'create-react-class';
1012

1113
let instanceCount = 0;
1214

13-
const CalendarHeader = React.createClass({
15+
const CalendarHeader = createReactClass({
1416
displayName: 'DatePickerHeader',
1517

1618
propTypes: {
17-
displayDate: React.PropTypes.object.isRequired,
18-
minDate: React.PropTypes.string,
19-
maxDate: React.PropTypes.string,
20-
onChange: React.PropTypes.func.isRequired,
21-
monthLabels: React.PropTypes.array.isRequired,
22-
previousButtonElement: React.PropTypes.oneOfType([
23-
React.PropTypes.string,
24-
React.PropTypes.object
19+
displayDate: PropTypes.object.isRequired,
20+
minDate: PropTypes.string,
21+
maxDate: PropTypes.string,
22+
onChange: PropTypes.func.isRequired,
23+
monthLabels: PropTypes.array.isRequired,
24+
previousButtonElement: PropTypes.oneOfType([
25+
PropTypes.string,
26+
PropTypes.object
2527
]).isRequired,
26-
nextButtonElement: React.PropTypes.oneOfType([
27-
React.PropTypes.string,
28-
React.PropTypes.object
28+
nextButtonElement: PropTypes.oneOfType([
29+
PropTypes.string,
30+
PropTypes.object
2931
]).isRequired,
3032
},
3133

@@ -74,21 +76,21 @@ const CalendarHeader = React.createClass({
7476

7577
const daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
7678

77-
const Calendar = React.createClass({
79+
const Calendar = createReactClass({
7880
displayName: 'DatePickerCalendar',
7981

8082
propTypes: {
81-
selectedDate: React.PropTypes.object,
82-
displayDate: React.PropTypes.object.isRequired,
83-
minDate: React.PropTypes.string,
84-
maxDate: React.PropTypes.string,
85-
onChange: React.PropTypes.func.isRequired,
86-
dayLabels: React.PropTypes.array.isRequired,
87-
cellPadding: React.PropTypes.string.isRequired,
88-
weekStartsOn: React.PropTypes.number,
89-
showTodayButton: React.PropTypes.bool,
90-
todayButtonLabel: React.PropTypes.string,
91-
roundedCorners: React.PropTypes.bool
83+
selectedDate: PropTypes.object,
84+
displayDate: PropTypes.object.isRequired,
85+
minDate: PropTypes.string,
86+
maxDate: PropTypes.string,
87+
onChange: PropTypes.func.isRequired,
88+
dayLabels: PropTypes.array.isRequired,
89+
cellPadding: PropTypes.string.isRequired,
90+
weekStartsOn: PropTypes.number,
91+
showTodayButton: PropTypes.bool,
92+
todayButtonLabel: PropTypes.string,
93+
roundedCorners: PropTypes.bool
9294
},
9395

9496
handleClick(day) {
@@ -209,65 +211,65 @@ const Calendar = React.createClass({
209211
}
210212
});
211213

212-
export default React.createClass({
214+
export default createReactClass({
213215
displayName: 'DatePicker',
214216

215217
propTypes: {
216-
defaultValue: React.PropTypes.string,
217-
value: React.PropTypes.string,
218-
required: React.PropTypes.bool,
219-
className: React.PropTypes.string,
220-
style: React.PropTypes.object,
221-
minDate: React.PropTypes.string,
222-
maxDate: React.PropTypes.string,
223-
cellPadding: React.PropTypes.string,
224-
autoComplete: React.PropTypes.string,
225-
placeholder: React.PropTypes.string,
226-
dayLabels: React.PropTypes.array,
227-
monthLabels: React.PropTypes.array,
228-
onChange: React.PropTypes.func,
229-
onClear: React.PropTypes.func,
230-
onBlur: React.PropTypes.func,
231-
onFocus: React.PropTypes.func,
232-
autoFocus: React.PropTypes.bool,
233-
disabled: React.PropTypes.bool,
218+
defaultValue: PropTypes.string,
219+
value: PropTypes.string,
220+
required: PropTypes.bool,
221+
className: PropTypes.string,
222+
style: PropTypes.object,
223+
minDate: PropTypes.string,
224+
maxDate: PropTypes.string,
225+
cellPadding: PropTypes.string,
226+
autoComplete: PropTypes.string,
227+
placeholder: PropTypes.string,
228+
dayLabels: PropTypes.array,
229+
monthLabels: PropTypes.array,
230+
onChange: PropTypes.func,
231+
onClear: PropTypes.func,
232+
onBlur: PropTypes.func,
233+
onFocus: PropTypes.func,
234+
autoFocus: PropTypes.bool,
235+
disabled: PropTypes.bool,
234236
weekStartsOnMonday: (props, propName, componentName) => {
235237
if (props[propName]) {
236238
return new Error(`Prop '${propName}' supplied to '${componentName}' is obsolete. Use 'weekStartsOn' instead.`);
237239
}
238240
},
239-
weekStartsOn: React.PropTypes.number,
240-
clearButtonElement: React.PropTypes.oneOfType([
241-
React.PropTypes.string,
242-
React.PropTypes.object
241+
weekStartsOn: PropTypes.number,
242+
clearButtonElement: PropTypes.oneOfType([
243+
PropTypes.string,
244+
PropTypes.object
243245
]),
244-
showClearButton: React.PropTypes.bool,
245-
previousButtonElement: React.PropTypes.oneOfType([
246-
React.PropTypes.string,
247-
React.PropTypes.object
246+
showClearButton: PropTypes.bool,
247+
previousButtonElement: PropTypes.oneOfType([
248+
PropTypes.string,
249+
PropTypes.object
248250
]),
249-
nextButtonElement: React.PropTypes.oneOfType([
250-
React.PropTypes.string,
251-
React.PropTypes.object
251+
nextButtonElement: PropTypes.oneOfType([
252+
PropTypes.string,
253+
PropTypes.object
252254
]),
253-
calendarPlacement: React.PropTypes.oneOfType([
254-
React.PropTypes.string,
255-
React.PropTypes.func
255+
calendarPlacement: PropTypes.oneOfType([
256+
PropTypes.string,
257+
PropTypes.func
256258
]),
257-
dateFormat: React.PropTypes.string, // 'MM/DD/YYYY', 'DD/MM/YYYY', 'YYYY/MM/DD', 'DD-MM-YYYY'
258-
bsClass: React.PropTypes.string,
259-
bsSize: React.PropTypes.string,
260-
calendarContainer: React.PropTypes.object,
261-
id: React.PropTypes.string,
262-
name: React.PropTypes.string,
263-
showTodayButton: React.PropTypes.bool,
264-
todayButtonLabel: React.PropTypes.string,
265-
instanceCount: React.PropTypes.number,
266-
customControl: React.PropTypes.object,
267-
roundedCorners: React.PropTypes.bool,
268-
children: React.PropTypes.oneOfType([
269-
React.PropTypes.arrayOf(React.PropTypes.node),
270-
React.PropTypes.node
259+
dateFormat: PropTypes.string, // 'MM/DD/YYYY', 'DD/MM/YYYY', 'YYYY/MM/DD', 'DD-MM-YYYY'
260+
bsClass: PropTypes.string,
261+
bsSize: PropTypes.string,
262+
calendarContainer: PropTypes.object,
263+
id: PropTypes.string,
264+
name: PropTypes.string,
265+
showTodayButton: PropTypes.bool,
266+
todayButtonLabel: PropTypes.string,
267+
instanceCount: PropTypes.number,
268+
customControl: PropTypes.object,
269+
roundedCorners: PropTypes.bool,
270+
children: PropTypes.oneOfType([
271+
PropTypes.arrayOf(PropTypes.node),
272+
PropTypes.node
271273
])
272274
},
273275

0 commit comments

Comments
 (0)