Skip to content

Commit 0ae4841

Browse files
committed
Merge pull request JedWatson#19 from timnew/master
Update React to 0.14 and add className property
2 parents 322ae83 + 35a3742 commit 0ae4841

File tree

5 files changed

+85
-31
lines changed

5 files changed

+85
-31
lines changed

‎dist/react-codemirror.js‎

Lines changed: 59 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,54 @@
11
(function(f){if(typeofexports==="object"&&typeofmodule!=="undefined"){module.exports=f()}elseif(typeofdefine==="function"&&define.amd){define([],f)}else{varg;if(typeofwindow!=="undefined"){g=window}elseif(typeofglobal!=="undefined"){g=global}elseif(typeofself!=="undefined"){g=self}else{g=this}g.Codemirror=f()}})(function(){vardefine,module,exports;return(functione(t,n,r){functions(o,u){if(!n[o]){if(!t[o]){vara=typeofrequire=="function"&&require;if(!u&&a)returna(o,!0);if(i)returni(o,!0);varf=newError("Cannot find module '"+o+"'");throwf.code="MODULE_NOT_FOUND",f}varl=n[o]={exports:{}};t[o][0].call(l.exports,function(e){varn=t[o][1][e];returns(n?n:e)},l,l.exports,e,t,n,r)}returnn[o].exports}vari=typeofrequire=="function"&&require;for(varo=0;o<r.length;o++)s(r[o]);returns})({1:[function(require,module,exports){
2+
/*!
3+
Copyright (c) 2015 Jed Watson.
4+
Licensed under the MIT License (MIT), see
5+
http://jedwatson.github.io/classnames
6+
*/
7+
/* global define */
8+
9+
(function(){
10+
'use strict';
11+
12+
varhasOwn={}.hasOwnProperty;
13+
14+
functionclassNames(){
15+
varclasses='';
16+
17+
for(vari=0;i<arguments.length;i++){
18+
vararg=arguments[i];
19+
if(!arg)continue;
20+
21+
varargType=typeofarg;
22+
23+
if(argType==='string'||argType==='number'){
24+
classes+=' '+arg;
25+
}elseif(Array.isArray(arg)){
26+
classes+=' '+classNames.apply(null,arg);
27+
}elseif(argType==='object'){
28+
for(varkeyinarg){
29+
if(hasOwn.call(arg,key)&&arg[key]){
30+
classes+=' '+key;
31+
}
32+
}
33+
}
34+
}
35+
36+
returnclasses.substr(1);
37+
}
38+
39+
if(typeofmodule!=='undefined'&&module.exports){
40+
module.exports=classNames;
41+
}elseif(typeofdefine==='function'&&typeofdefine.amd==='object'&&define.amd){
42+
// register as 'classnames', consistent with npm package name
43+
define('classnames',function(){
44+
returnclassNames;
45+
});
46+
}else{
47+
window.classNames=classNames;
48+
}
49+
}());
50+
51+
},{}],2:[function(require,module,exports){
252
// CodeMirror, copyright (c) by Marijn Haverbeke and others
353
// Distributed under an MIT license: http://codemirror.net/LICENSE
454

@@ -8856,12 +8906,13 @@
88568906
returnCodeMirror;
88578907
});
88588908

8859-
},{}],2:[function(require,module,exports){
8909+
},{}],3:[function(require,module,exports){
88608910
(function(global){
88618911
'use strict';
88628912

88638913
varCM=require('codemirror');
88648914
varReact=(typeofwindow!=="undefined" ? window['React'] : typeofglobal!=="undefined" ? global['React'] : null);
8915+
varclassName=require('classnames');
88658916

88668917
varCodeMirror=React.createClass({
88678918
displayName: 'CodeMirror',
@@ -8871,7 +8922,8 @@ var CodeMirror = React.createClass({
88718922
onFocusChange: React.PropTypes.func,
88728923
options: React.PropTypes.object,
88738924
path: React.PropTypes.string,
8874-
value: React.PropTypes.string
8925+
value: React.PropTypes.string,
8926+
className: React.PropTypes.any
88758927
},
88768928

88778929
getInitialState: functiongetInitialState(){
@@ -8881,7 +8933,7 @@ var CodeMirror = React.createClass({
88818933
},
88828934

88838935
componentDidMount: functioncomponentDidMount(){
8884-
vartextareaNode=React.findDOMNode(this.refs.textarea);
8936+
vartextareaNode=this.refs.textarea;
88858937
this.codeMirror=CM.fromTextArea(textareaNode,this.props.options);
88868938
this.codeMirror.on('change',this.codemirrorValueChanged);
88878939
this.codeMirror.on('focus',this.focusChanged.bind(this,true));
@@ -8934,13 +8986,11 @@ var CodeMirror = React.createClass({
89348986
},
89358987

89368988
render: functionrender(){
8937-
varclassName='ReactCodeMirror';
8938-
if(this.state.isFocused){
8939-
className+=' ReactCodeMirror--focused';
8940-
}
8989+
vareditorClassName=className('ReactCodeMirror',this.state.isFocused ? 'ReactCodeMirror--focused' : null,this.props.className);
8990+
89418991
returnReact.createElement(
89428992
'div',
8943-
{className: className},
8993+
{className: editorClassName},
89448994
React.createElement('textarea',{ref: 'textarea',name: this.props.path,defaultValue: '',autoComplete: 'off'})
89458995
);
89468996
}
@@ -8950,5 +9000,5 @@ var CodeMirror = React.createClass({
89509000
module.exports=CodeMirror;
89519001

89529002
}).call(this,typeofglobal!=="undefined" ? global : typeofself!=="undefined" ? self : typeofwindow!=="undefined" ? window : {})
8953-
},{"codemirror":1}]},{},[2])(2)
9003+
},{"classnames":1,"codemirror":2}]},{},[3])(3)
89549004
});

‎dist/react-codemirror.min.js‎

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎lib/Codemirror.js‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
varCM=require('codemirror');
44
varReact=require('react');
5+
varclassName=require('classnames');
56

67
varCodeMirror=React.createClass({
78
displayName: 'CodeMirror',
@@ -11,7 +12,8 @@ var CodeMirror = React.createClass({
1112
onFocusChange: React.PropTypes.func,
1213
options: React.PropTypes.object,
1314
path: React.PropTypes.string,
14-
value: React.PropTypes.string
15+
value: React.PropTypes.string,
16+
className: React.PropTypes.any
1517
},
1618

1719
getInitialState: functiongetInitialState(){
@@ -21,7 +23,7 @@ var CodeMirror = React.createClass({
2123
},
2224

2325
componentDidMount: functioncomponentDidMount(){
24-
vartextareaNode=React.findDOMNode(this.refs.textarea);
26+
vartextareaNode=this.refs.textarea;
2527
this.codeMirror=CM.fromTextArea(textareaNode,this.props.options);
2628
this.codeMirror.on('change',this.codemirrorValueChanged);
2729
this.codeMirror.on('focus',this.focusChanged.bind(this,true));
@@ -74,13 +76,11 @@ var CodeMirror = React.createClass({
7476
},
7577

7678
render: functionrender(){
77-
varclassName='ReactCodeMirror';
78-
if(this.state.isFocused){
79-
className+=' ReactCodeMirror--focused';
80-
}
79+
vareditorClassName=className('ReactCodeMirror',this.state.isFocused ? 'ReactCodeMirror--focused' : null,this.props.className);
80+
8181
returnReact.createElement(
8282
'div',
83-
{className: className},
83+
{className: editorClassName},
8484
React.createElement('textarea',{ref: 'textarea',name: this.props.path,defaultValue: '',autoComplete: 'off'})
8585
);
8686
}

‎package.json‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@
1414
"url": "https://github.com/JedWatson/react-codemirror/issues"
1515
},
1616
"dependencies":{
17-
"classnames": "^2.1.5",
17+
"classnames": "^2.2.0",
1818
"codemirror": "^5.7.0"
1919
},
2020
"devDependencies":{
2121
"gulp": "^3.9.0",
2222
"happiness": "^1.0.7",
23-
"react": "^0.13.3",
23+
"react": "^0.14.0",
2424
"react-component-gulp-tasks": "^0.7.6"
2525
},
2626
"peerDependencies":{
27-
"react": "^0.13 || ^0.14.0-beta"
27+
"react": "^0.14.0"
2828
},
2929
"browserify-shim":{
3030
"react": "global:React"

‎src/Codemirror.js‎

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
varCM=require('codemirror');
22
varReact=require('react');
3+
varclassName=require('classnames');
34

45
varCodeMirror=React.createClass({
56

@@ -8,7 +9,8 @@ var CodeMirror = React.createClass({
89
onFocusChange: React.PropTypes.func,
910
options: React.PropTypes.object,
1011
path: React.PropTypes.string,
11-
value: React.PropTypes.string
12+
value: React.PropTypes.string,
13+
className: React.PropTypes.any,
1214
},
1315

1416
getInitialState(){
@@ -18,7 +20,7 @@ var CodeMirror = React.createClass({
1820
},
1921

2022
componentDidMount(){
21-
vartextareaNode=React.findDOMNode(this.refs.textarea);
23+
vartextareaNode=this.refs.textarea;
2224
this.codeMirror=CM.fromTextArea(textareaNode,this.props.options);
2325
this.codeMirror.on('change',this.codemirrorValueChanged);
2426
this.codeMirror.on('focus',this.focusChanged.bind(this,true));
@@ -71,12 +73,14 @@ var CodeMirror = React.createClass({
7173
},
7274

7375
render(){
74-
varclassName='ReactCodeMirror';
75-
if(this.state.isFocused){
76-
className+=' ReactCodeMirror--focused';
77-
}
76+
vareditorClassName=className(
77+
'ReactCodeMirror',
78+
this.state.isFocused ? 'ReactCodeMirror--focused' : null,
79+
this.props.className
80+
);
81+
7882
return(
79-
<divclassName={className}>
83+
<divclassName={editorClassName}>
8084
<textarearef="textarea"name={this.props.path}defaultValue={''}autoComplete="off"/>
8185
</div>
8286
);

0 commit comments

Comments
(0)