react-input-message
Advanced tools
Comparing version 0.5.8 to 0.6.0
'use strict'; | ||
var gulp = require('gulp') | ||
, less = require('gulp-less') | ||
, toFive = require("gulp-babel") | ||
, babelTransform = require("gulp-babel-helpers") | ||
, rimraf = require('rimraf') | ||
@@ -37,3 +37,3 @@ , rename = require('gulp-rename') | ||
.pipe(plumber()) | ||
.pipe(toFive(configs.to5Config)) | ||
.pipe(babelTransform('./util/babelHelpers.js')) | ||
.pipe(rename({ extname: '.js' })) | ||
@@ -40,0 +40,0 @@ .pipe(gulp.dest('./lib')); |
@@ -1,9 +0,7 @@ | ||
var _inherits = function (subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; }; | ||
'use strict'; | ||
var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }; | ||
var babelHelpers = require('./util/babelHelpers.js'); | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
var React = require('react'); | ||
var React = require("react"); | ||
var stringOrArrayofStrings = React.PropTypes.oneOfType([React.PropTypes.string, React.PropTypes.arrayOf(React.PropTypes.string)]); | ||
@@ -14,3 +12,3 @@ | ||
function MessageListener() { | ||
_classCallCheck(this, MessageListener); | ||
babelHelpers.classCallCheck(this, MessageListener); | ||
@@ -22,15 +20,6 @@ if (_React$Component != null) { | ||
_inherits(MessageListener, _React$Component); | ||
babelHelpers.inherits(MessageListener, _React$Component); | ||
MessageListener.propTypes = { | ||
for: stringOrArrayofStrings, | ||
group: stringOrArrayofStrings | ||
}; | ||
MessageListener.contextTypes = { | ||
messages: React.PropTypes.func, | ||
listen: React.PropTypes.func | ||
}; | ||
MessageListener.prototype.getContext = function getContext() { | ||
return process.env.NODE_ENV !== "production" ? this.context : this._reactInternalInstance._context; | ||
return process.env.NODE_ENV !== 'production' ? this.context : this._reactInternalInstance._context; | ||
}; | ||
@@ -53,7 +42,7 @@ | ||
MessageListener.prototype.render = function render() { | ||
return React.createElement(Component, _extends({}, this.props, this.state)); | ||
return React.createElement(Component, babelHelpers._extends({}, this.props, this.state)); | ||
}; | ||
MessageListener.prototype._getValidationState = function _getValidationState() { | ||
var messages = this.getContext().messages(this.props.for, this.props.group); | ||
var messages = this.getContext().messages(this.props['for'], this.props.group); | ||
@@ -66,4 +55,19 @@ return { | ||
babelHelpers.createClass(MessageListener, null, [{ | ||
key: 'propTypes', | ||
value: { | ||
'for': stringOrArrayofStrings, | ||
group: stringOrArrayofStrings | ||
}, | ||
enumerable: true | ||
}, { | ||
key: 'contextTypes', | ||
value: { | ||
messages: React.PropTypes.func, | ||
listen: React.PropTypes.func | ||
}, | ||
enumerable: true | ||
}]); | ||
return MessageListener; | ||
})(React.Component); | ||
}; |
@@ -1,14 +0,14 @@ | ||
"use strict"; | ||
'use strict'; | ||
module.exports = { | ||
Validator: require("./Validator"), | ||
Validator: require('./Validator'), | ||
MessageContainer: require("./MessageContainer"), | ||
MessageContainer: require('./MessageContainer'), | ||
MessageTrigger: require("./MessageTrigger"), | ||
MessageTrigger: require('./MessageTrigger'), | ||
Message: require("./Message"), | ||
Message: require('./Message'), | ||
connectToMessageContainer: require("./connectToMessageContainer") | ||
connectToMessageContainer: require('./connectToMessageContainer') | ||
}; |
@@ -1,14 +0,10 @@ | ||
"use strict"; | ||
'use strict'; | ||
var _objectWithoutProperties = function (obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }; | ||
var babelHelpers = require('./util/babelHelpers.js'); | ||
var _inherits = function (subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; }; | ||
var React = require('react'), | ||
cn = require('classnames'), | ||
connectToMessageContainer = require('./connectToMessageContainer'); | ||
var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }; | ||
var React = require("react"), | ||
cn = require("classnames"), | ||
connectToMessageContainer = require("./connectToMessageContainer"); | ||
var values = function (obj) { | ||
var values = function values(obj) { | ||
return Object.keys(obj).map(function (k) { | ||
@@ -18,3 +14,3 @@ return obj[k]; | ||
}; | ||
var flatten = function (arr, next) { | ||
var flatten = function flatten(arr, next) { | ||
return arr.concat(next); | ||
@@ -25,3 +21,3 @@ }; | ||
function Message() { | ||
_classCallCheck(this, Message); | ||
babelHelpers.classCallCheck(this, Message); | ||
@@ -33,9 +29,4 @@ if (_React$Component != null) { | ||
_inherits(Message, _React$Component); | ||
babelHelpers.inherits(Message, _React$Component); | ||
Message.defaultProps = { | ||
component: "span", | ||
delim: ", " | ||
}; | ||
Message.prototype.render = function render() { | ||
@@ -47,6 +38,5 @@ var _props = this.props; | ||
var delim = _props.delim; | ||
var fieldFor = _props.for; | ||
var fieldFor = _props['for']; | ||
var props = babelHelpers.objectWithoutProperties(_props, ['component', 'messages', 'active', 'delim', 'for']); | ||
var props = _objectWithoutProperties(_props, ["component", "messages", "active", "delim", "for"]); | ||
if (!active) return null; | ||
@@ -61,2 +51,10 @@ | ||
babelHelpers.createClass(Message, null, [{ | ||
key: 'defaultProps', | ||
value: { | ||
component: 'span', | ||
delim: ', ' | ||
}, | ||
enumerable: true | ||
}]); | ||
return Message; | ||
@@ -63,0 +61,0 @@ })(React.Component); |
@@ -1,14 +0,10 @@ | ||
"use strict"; | ||
'use strict'; | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
var babelHelpers = require('./util/babelHelpers.js'); | ||
var _inherits = function (subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; }; | ||
var React = require('react'), | ||
ReactElement = require('react/lib/ReactElement'); | ||
var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }; | ||
var React = require("react"), | ||
ReactElement = require("react/lib/ReactElement"); | ||
var Promise = require("es6-promise").Promise, | ||
uniq = function (array) { | ||
var Promise = require('es6-promise').Promise, | ||
uniq = function uniq(array) { | ||
return array.filter(function (item, idx) { | ||
@@ -19,3 +15,3 @@ return array.indexOf(item) == idx; | ||
var has = function (obj, key) { | ||
var has = function has(obj, key) { | ||
return obj && ({}).hasOwnProperty.call(obj, key); | ||
@@ -26,3 +22,3 @@ }; | ||
function ValidationContainer(props, context) { | ||
_classCallCheck(this, ValidationContainer); | ||
babelHelpers.classCallCheck(this, ValidationContainer); | ||
@@ -41,24 +37,4 @@ _React$Component.call(this, props, context); | ||
_inherits(ValidationContainer, _React$Component); | ||
babelHelpers.inherits(ValidationContainer, _React$Component); | ||
ValidationContainer.defaultProps = { | ||
messages: Object.create(null) | ||
}; | ||
ValidationContainer.propTypes = { | ||
messages: React.PropTypes.object, | ||
onValidationNeeded: React.PropTypes.func.isRequired | ||
}; | ||
ValidationContainer.childContextTypes = { | ||
onValidateField: React.PropTypes.func, | ||
onValidateGroup: React.PropTypes.func, | ||
messages: React.PropTypes.func, | ||
register: React.PropTypes.func, | ||
unregister: React.PropTypes.func, | ||
listen: React.PropTypes.func | ||
}; | ||
ValidationContainer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { | ||
@@ -86,3 +62,3 @@ this.setState({ | ||
listen: function (fn) { | ||
listen: function listen(fn) { | ||
_this._handlers.push(fn); | ||
@@ -94,3 +70,3 @@ return function () { | ||
register: function (names, group, target) { | ||
register: function register(names, group, target) { | ||
names = [].concat(names); | ||
@@ -109,12 +85,10 @@ | ||
onValidateField: function (field, event, target, args) { | ||
_this.props.onValidationNeeded && _this.props.onValidationNeeded({ event: event, field: field, args: args, target: target }); | ||
onValidateFields: function onValidateFields(fields, event, target, args) { | ||
_this.props.onValidationNeeded && _this.props.onValidationNeeded({ event: event, fields: fields, args: args, target: target }); | ||
}, | ||
onValidateGroup: function (group, event, target, args) { | ||
var inputs = _this.fields(group); | ||
onValidateGroup: function onValidateGroup(group, event, target, args) { | ||
var fields = _this.fields(group); | ||
inputs.forEach(function (field) { | ||
_this.props.onValidationNeeded && _this.props.onValidationNeeded({ event: event, field: field, args: args, target: _this._fields[field] }); | ||
}); | ||
_this.props.onValidationNeeded && _this.props.onValidationNeeded({ event: event, fields: fields, args: args, target: target }); | ||
} | ||
@@ -125,3 +99,3 @@ }); | ||
ValidationContainer.prototype.addField = function addField(name, group, target) { | ||
var _this = this; | ||
var _this2 = this; | ||
@@ -133,5 +107,5 @@ if (!name) return; | ||
if (!(!group || !group.length)) [].concat(group).forEach(function (grp) { | ||
if (!has(_this._groups, grp)) return _this._groups[grp] = [name]; | ||
if (!has(_this2._groups, grp)) return _this2._groups[grp] = [name]; | ||
if (_this._groups[grp].indexOf(name) === -1) _this._groups[grp].push(name); | ||
if (_this2._groups[grp].indexOf(name) === -1) _this2._groups[grp].push(name); | ||
}); | ||
@@ -141,8 +115,8 @@ }; | ||
ValidationContainer.prototype.removeField = function removeField(name, group) { | ||
var _this = this; | ||
var _this3 = this; | ||
var remove = function (name, group) { | ||
var idx = _this._groups[group].indexOf(name); | ||
var remove = function remove(name, group) { | ||
var idx = _this3._groups[group].indexOf(name); | ||
if (idx !== -1) _this._groups[group].splice(idx, 1); | ||
if (idx !== -1) _this3._groups[group].splice(idx, 1); | ||
}; | ||
@@ -164,3 +138,3 @@ | ||
ValidationContainer.prototype.fields = function fields(groups) { | ||
var _this = this; | ||
var _this4 = this; | ||
@@ -172,3 +146,3 @@ var isGroup = !(!groups || !groups.length); | ||
return isGroup ? uniq(groups.reduce(function (fields, group) { | ||
return fields.concat(_this._groups[group]); | ||
return fields.concat(_this4._groups[group]); | ||
}, [])) : Object.keys(this._fields); | ||
@@ -184,6 +158,6 @@ }; | ||
ValidationContainer.prototype._messages = function _messages(names, groups) { | ||
var _this = this; | ||
var _this5 = this; | ||
if (!names || !names.length) { | ||
if (!groups || !groups.length) return _extends({}, this.props.messages); | ||
if (!groups || !groups.length) return babelHelpers._extends({}, this.props.messages); | ||
@@ -194,3 +168,3 @@ names = this.fields(groups); | ||
return [].concat(names).reduce(function (o, name) { | ||
if (_this.props.messages[name]) o[name] = _this.props.messages[name]; | ||
if (_this5.props.messages[name]) o[name] = _this5.props.messages[name]; | ||
@@ -201,2 +175,31 @@ return o; | ||
babelHelpers.createClass(ValidationContainer, null, [{ | ||
key: 'defaultProps', | ||
value: { | ||
messages: Object.create(null) | ||
}, | ||
enumerable: true | ||
}, { | ||
key: 'propTypes', | ||
value: { | ||
messages: React.PropTypes.object, | ||
onValidationNeeded: React.PropTypes.func.isRequired | ||
}, | ||
enumerable: true | ||
}, { | ||
key: 'childContextTypes', | ||
value: { | ||
onValidateFields: React.PropTypes.func, | ||
onValidateGroup: React.PropTypes.func, | ||
messages: React.PropTypes.func, | ||
register: React.PropTypes.func, | ||
unregister: React.PropTypes.func, | ||
listen: React.PropTypes.func | ||
}, | ||
enumerable: true | ||
}]); | ||
return ValidationContainer; | ||
@@ -207,3 +210,3 @@ })(React.Component); | ||
if (process.env.NODE_ENV !== "production") { | ||
if (process.env.NODE_ENV !== 'production') { | ||
// this is to avoid the warning but its hacky so lets do it a less hacky way in production | ||
@@ -216,3 +219,3 @@ return attachChildren(React.Children.only(props.children), context); | ||
if (typeof children === "string" || React.isValidElement(children)) return clone(children); | ||
if (typeof children === 'string' || React.isValidElement(children)) return clone(children); | ||
@@ -226,6 +229,6 @@ return React.Children.map(children, clone); | ||
if (props.children) props = _extends({}, child.props, { children: attachChildren(props.children, context) }); | ||
if (props.children) props = babelHelpers._extends({}, child.props, { children: attachChildren(props.children, context) }); | ||
return new ReactElement(child.type, child.key, child.ref, child._owner, _extends({}, child._context, context), props); | ||
return new ReactElement(child.type, child.key, child.ref, child._owner, babelHelpers._extends({}, child._context, context), props); | ||
} | ||
} |
@@ -1,13 +0,9 @@ | ||
"use strict"; | ||
'use strict'; | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
var babelHelpers = require('./util/babelHelpers.js'); | ||
var _inherits = function (subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) subClass.__proto__ = superClass; }; | ||
var React = require('react'), | ||
cn = require('classnames'), | ||
connectToMessageContainer = require('./connectToMessageContainer'); | ||
var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }; | ||
var React = require("react"), | ||
cn = require("classnames"), | ||
connectToMessageContainer = require("./connectToMessageContainer"); | ||
var stringOrArrayOfStrings = React.PropTypes.oneOfType([React.PropTypes.string, React.PropTypes.arrayOf(React.PropTypes.string)]); | ||
@@ -17,3 +13,3 @@ | ||
function MessageTrigger() { | ||
_classCallCheck(this, MessageTrigger); | ||
babelHelpers.classCallCheck(this, MessageTrigger); | ||
@@ -25,27 +21,10 @@ if (_React$Component != null) { | ||
_inherits(MessageTrigger, _React$Component); | ||
babelHelpers.inherits(MessageTrigger, _React$Component); | ||
MessageTrigger.propTypes = { | ||
events: React.PropTypes.arrayOf(React.PropTypes.string), | ||
activeClass: React.PropTypes.string, | ||
for: stringOrArrayOfStrings, | ||
group: stringOrArrayOfStrings | ||
}; | ||
MessageTrigger.contextTypes = { | ||
onValidateField: React.PropTypes.func, | ||
onValidateGroup: React.PropTypes.func, | ||
register: React.PropTypes.func | ||
}; | ||
MessageTrigger.defaultProps = { | ||
events: ["onChange"], | ||
activeClass: "message-active" | ||
}; | ||
MessageTrigger.prototype.getContext = function getContext() { | ||
return process.env.NODE_ENV !== "production" ? this.context : this._reactInternalInstance._context; | ||
return process.env.NODE_ENV !== 'production' ? this.context : this._reactInternalInstance._context; | ||
}; | ||
MessageTrigger.prototype.componentWillMount = function componentWillMount() { | ||
this._unregister = this.getContext().register(this.props.for, this.props.group, this); | ||
this._unregister = this.getContext().register(this.props['for'], this.props.group, this); | ||
}; | ||
@@ -59,17 +38,15 @@ | ||
this._unregister(); | ||
this._unregister = this.getContext().register(nextProps.for, nextProps.group, this); | ||
this._unregister = this.getContext().register(nextProps['for'], nextProps.group, this); | ||
}; | ||
MessageTrigger.prototype.render = function render() { | ||
var _cn; | ||
var errClass = this.props.activeClass, | ||
active = this.props.for && this.props.active, | ||
active = this.props['for'] && this.props.active, | ||
child = React.Children.only(this.props.children); | ||
return React.cloneElement(child, _extends({}, this._events(child.props), { | ||
return React.cloneElement(child, babelHelpers._extends({}, this._events(child.props), { | ||
className: cn(child.props.className, (function () { | ||
var _cn = {}; | ||
_cn[errClass] = active; | ||
return _cn; | ||
})()) | ||
className: cn(child.props.className, (_cn = {}, _cn[errClass] = active, _cn)) | ||
})); | ||
@@ -90,4 +67,2 @@ }; | ||
MessageTrigger.prototype._notify = function _notify(handler, event) { | ||
var _this = this; | ||
for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { | ||
@@ -98,7 +73,5 @@ args[_key - 2] = arguments[_key]; | ||
var context = this.getContext(), | ||
forProps = this.props.for ? [].concat(this.props.for) : []; | ||
forProps = this.props['for'] ? [].concat(this.props['for']) : []; | ||
if (forProps.length) [].concat(forProps).forEach(function (path) { | ||
return context.onValidateField(path, event, _this, args); | ||
});else context.onValidateGroup(this.props.group, event, this, args); | ||
if (forProps.length) context.onValidateFields(forProps, event, this, args);else context.onValidateGroup(this.props.group, event, this, args); | ||
@@ -108,2 +81,28 @@ handler && handler.apply(this, args); | ||
babelHelpers.createClass(MessageTrigger, null, [{ | ||
key: 'propTypes', | ||
value: { | ||
events: React.PropTypes.arrayOf(React.PropTypes.string), | ||
activeClass: React.PropTypes.string, | ||
'for': stringOrArrayOfStrings, | ||
group: stringOrArrayOfStrings | ||
}, | ||
enumerable: true | ||
}, { | ||
key: 'contextTypes', | ||
value: { | ||
onValidateFields: React.PropTypes.func, | ||
onValidateGroup: React.PropTypes.func, | ||
register: React.PropTypes.func | ||
}, | ||
enumerable: true | ||
}, { | ||
key: 'defaultProps', | ||
value: { | ||
events: ['onChange'], | ||
activeClass: 'message-active' | ||
}, | ||
enumerable: true | ||
}]); | ||
return MessageTrigger; | ||
@@ -110,0 +109,0 @@ })(React.Component); |
@@ -1,15 +0,13 @@ | ||
"use strict"; | ||
'use strict'; | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
var babelHelpers = require('./util/babelHelpers.js'); | ||
var _classCallCheck = function (instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }; | ||
var React = require('react'), | ||
ReactElement = require('react/lib/ReactElement'); | ||
var React = require("react"), | ||
ReactElement = require("react/lib/ReactElement"); | ||
var Promise = require('es6-promise').Promise; | ||
var Promise = require("es6-promise").Promise; | ||
var Validator = (function () { | ||
function Validator(validate) { | ||
_classCallCheck(this, Validator); | ||
babelHelpers.classCallCheck(this, Validator); | ||
@@ -23,3 +21,3 @@ this._validator = validate; | ||
if (!names || !names.length) return _extends({}, this._errors); | ||
if (!names || !names.length) return babelHelpers._extends({}, this._errors); | ||
@@ -38,6 +36,6 @@ return [].concat(names).reduce(function (o, name) { | ||
Validator.prototype.validate = function validate(name, context) { | ||
var _this = this; | ||
var _this2 = this; | ||
var fields = [].concat(name).map(function (key) { | ||
return _this._validateField(key, context); | ||
return _this2._validateField(key, context); | ||
}); | ||
@@ -51,10 +49,10 @@ | ||
Validator.prototype._validateField = function _validateField(name, context) { | ||
var _this = this; | ||
var _this3 = this; | ||
return new Promise(function (resolve, reject) { | ||
Promise.resolve(_this._validator(name, context)).then(function (msgs) { | ||
Promise.resolve(_this3._validator(name, context)).then(function (msgs) { | ||
msgs = msgs == null ? [] : [].concat(msgs); | ||
if (msgs.length) _this._addError(name, msgs); | ||
if (msgs.length) _this3._addError(name, msgs); | ||
resolve(!msgs.length); | ||
}).catch(reject); | ||
})['catch'](reject); | ||
}); | ||
@@ -68,6 +66,6 @@ }; | ||
Validator.prototype._removeError = function _removeError(fields) { | ||
var _this = this; | ||
var _this4 = this; | ||
[].concat(fields).forEach(function (field) { | ||
return delete _this._errors[field]; | ||
return delete _this4._errors[field]; | ||
}); | ||
@@ -74,0 +72,0 @@ }; |
{ | ||
"name": "react-input-message", | ||
"description": "unopinionated form input annotation", | ||
"version": "0.5.8", | ||
"version": "0.6.0", | ||
"repository": { | ||
@@ -15,3 +15,3 @@ "url": "git://github.com/jquense/react-input-message.git" | ||
"scripts": { | ||
"test": "" | ||
"test": "karma start --single-run" | ||
}, | ||
@@ -26,4 +26,6 @@ "dependencies": { | ||
"devDependencies": { | ||
"babel": "^4.0.0", | ||
"babel-loader": "^4.0.0", | ||
"babel": "^5.2.16", | ||
"babel-core": "^5.4.3", | ||
"babel-loader": "^5.0.0", | ||
"babel-plugin-object-assign": "^1.1.0", | ||
"chai": "^1.10.0", | ||
@@ -33,3 +35,3 @@ "chai-as-promised": "^4.1.1", | ||
"gulp": "^3.8.10", | ||
"gulp-babel": "^4.0.0", | ||
"gulp-babel-helpers": "^2.1.0", | ||
"gulp-less": "^2.0.1", | ||
@@ -39,2 +41,3 @@ "gulp-plumber": "^0.6.6", | ||
"imports-loader": "^0.6.3", | ||
"jq-release": "*", | ||
"karma": "~0.12.23", | ||
@@ -52,3 +55,2 @@ "karma-mocha": "~0.1.9", | ||
"react-widgets": "^2.4.1", | ||
"jq-release": "*", | ||
"rimraf": "^2.2.8", | ||
@@ -55,0 +57,0 @@ "sinon-chai": "^2.6.0", |
@@ -55,2 +55,3 @@ # react-input-message | ||
`react-input-message` exports 3 simple components and a utility class: | ||
@@ -93,3 +94,3 @@ | ||
- `validate(field|fields, [ context ])` returns a promise that resolves with the valid state of the field. You can validate multiple fields by passing an array. You can also pass in a `context` object which will be passed to the `validationFn` | ||
- `validate(fields, [ context ])` returns a promise that resolves with the valid state of the field. You can validate multiple fields by passing an array. You can also pass in a `context` object which will be passed to the `validationFn` | ||
- `isValid`: checks if a field is currently in an error state | ||
@@ -96,0 +97,0 @@ - `errors([fields])`: return a hash of errors, you can pass this object directly to a `MessageContainer` messages prop |
@@ -33,6 +33,6 @@ var React = require('react/addons') | ||
spy.should.have.been.calledOnce | ||
spy.args[0][0].field.should.equal('fieldA') | ||
spy.args[0][0].fields.should.eql(['fieldA']) | ||
}) | ||
it.only('should trigger event for each path', function(){ | ||
it('should trigger event once with multiple fields', function(){ | ||
var spy = sinon.spy() | ||
@@ -50,6 +50,5 @@ , inst = utils.renderIntoDocument( | ||
spy.should.have.been.calledTwice | ||
spy.args[0][0].field.should.equal('fieldA') | ||
spy.args[1][0].field.should.equal('fieldB') | ||
spy.should.have.been.calledOnce | ||
spy.args[0][0].fields.should.eql(['fieldA', 'fieldB']) | ||
}) | ||
}) |
var config = { | ||
experimental: true, | ||
playground: true, | ||
loose: ['all'], | ||
whitelist: [ | ||
'es6.classes', | ||
'es6.modules', | ||
'es6.spread', | ||
'es6.blockScoping', | ||
'es6.arrowFunctions', | ||
'es6.properties.computed', | ||
'es6.properties.shorthand', | ||
'es6.parameters.default', | ||
'es6.parameters.rest', | ||
'es6.templateLiterals', | ||
'es7.objectRestSpread', | ||
'react' | ||
] | ||
} | ||
module.exports = { | ||
to5Config: config, | ||
dev: { | ||
@@ -46,4 +23,3 @@ devtool: 'source-map', | ||
loader: 'babel-loader', | ||
exclude: /node_modules/, | ||
query: config | ||
exclude: /node_modules/ | ||
} | ||
@@ -70,4 +46,3 @@ ] | ||
loader: 'babel-loader', | ||
exclude: /node_modules/, | ||
query: config | ||
exclude: /node_modules/ | ||
} | ||
@@ -74,0 +49,0 @@ ] |
No tests
QualityPackage does not have any tests. This is a strong signal of a poorly maintained or low quality package.
Found 1 instance in 1 package
32
5376
2
116
237077
33