react-mf-modal
Version:
A markup free modal component for React
113 lines (94 loc) • 3.09 kB
JavaScript
'use strict';
var _get = require('babel-runtime/helpers/get')['default'];
var _inherits = require('babel-runtime/helpers/inherits')['default'];
var _createClass = require('babel-runtime/helpers/create-class')['default'];
var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default'];
var _extends = require('babel-runtime/helpers/extends')['default'];
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
Object.defineProperty(exports, '__esModule', {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var modalStyle = {
display: 'block',
opacity: 1,
top: '10%',
zIndex: 1003
};
var SimpleMaterializeModal = (function (_React$Component) {
_inherits(SimpleMaterializeModal, _React$Component);
function SimpleMaterializeModal() {
var _this = this;
_classCallCheck(this, SimpleMaterializeModal);
_get(Object.getPrototypeOf(SimpleMaterializeModal.prototype), 'constructor', this).apply(this, arguments);
this.bubblePrevent = function (evt) {
evt.stopPropagation();
};
this.handleClose = function () {
_this.props.dismiss('closed');
};
}
_createClass(SimpleMaterializeModal, [{
key: 'render',
value: function render() {
return _react2['default'].createElement(
'div',
{ className: 'modal', style: _extends({}, modalStyle, this.props.style) },
_react2['default'].createElement(
'div',
{ className: 'modal-content' },
_react2['default'].createElement(
'h4',
null,
this.props.title
),
this.props.children
),
_react2['default'].createElement(
'div',
{ className: 'modal-footer' },
_react2['default'].createElement(
'a',
{ className: 'modal-action modal-close waves-effect waves-green btn-flat blue-text', onClick: this.props.onSubmitClick },
this.props.submitLabel
),
_react2['default'].createElement(
'a',
{ className: 'modal-action modal-close waves-effect waves-red btn-flat', onClick: this.handleClose },
'Close'
)
)
);
}
}], [{
key: 'propTypes',
value: {
title: _react2['default'].PropTypes.string.isRequired,
dismiss: _react2['default'].PropTypes.func.isRequired,
resolve: _react2['default'].PropTypes.func.isRequired,
submitLabel: _react2['default'].PropTypes.string.isRequired,
onSubmitClick: _react2['default'].PropTypes.func.isRequired
},
enumerable: true
}, {
key: 'defaultProps',
value: {
submitLabel: 'OK',
style: modalStyle
},
enumerable: true
}, {
key: 'animate',
value: {
top: {
visible: 100,
hidden: 50
}
},
enumerable: true
}]);
return SimpleMaterializeModal;
})(_react2['default'].Component);
exports['default'] = SimpleMaterializeModal;
module.exports = exports['default'];