fk-react-ui-components
Version:
Step 1 : Create a file in [ Seeds / Plants / Trees ] <br> Step 2 : It should export an Object with component name and story Component [Refer other components] <br> Step 3 : Story Component should return a react component <br> Step 3 : Created file should
56 lines (47 loc) • 1.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ButtonInstanceHandler = ButtonInstanceHandler;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _FormElements = require('../FormElements');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/* "this" context refers to FormComponent instance */
function ButtonInstanceHandler(o) {
var _this = this;
if ((0, _FormElements.isSubmitButton)(o.type)) {
o = _react2.default.cloneElement(o, {
onClick: function onClick(e) {
e.preventDefault();
e.nativeEvent.stopImmediatePropagation();
_this.setState({
isSubmitRequested: true
});
_this.validate();
if (!(_this.errorObj && _this.errorObj.validationError)) {
if (_this.props.onSuccess) {
_this.props.onSuccess(_this.values);
}
}
},
disabled: this.state.validationError
});
} else if ((0, _FormElements.isCancelButton)(o.type)) {
o = _react2.default.cloneElement(o, {
onClick: function onClick(e) {
e.preventDefault();
e.nativeEvent.stopImmediatePropagation();
if (_this.props.onCancel) {
_this.props.onCancel(_this.values);
}
}
});
}
return o;
}
ButtonInstanceHandler.propTypes = {
onSuccess: _propTypes2.default.func.isRequired
};