This commit is contained in:
74
node_modules/redux-notifications/lib/components/Notif.js
generated
vendored
Normal file
74
node_modules/redux-notifications/lib/components/Notif.js
generated
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
var _react = require('react');
|
||||
|
||||
var _react2 = _interopRequireDefault(_react);
|
||||
|
||||
var _propTypes = require('prop-types');
|
||||
|
||||
var _propTypes2 = _interopRequireDefault(_propTypes);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var Notif = function Notif(_ref) {
|
||||
var kind = _ref.kind,
|
||||
componentClassName = _ref.componentClassName,
|
||||
actionLabel = _ref.actionLabel,
|
||||
onActionClick = _ref.onActionClick,
|
||||
id = _ref.id,
|
||||
message = _ref.message;
|
||||
|
||||
var handleActionClick = function handleActionClick(ev) {
|
||||
ev.preventDefault();
|
||||
|
||||
if (!onActionClick) {
|
||||
return;
|
||||
}
|
||||
|
||||
onActionClick(id);
|
||||
};
|
||||
|
||||
return _react2.default.createElement(
|
||||
'div',
|
||||
{ className: componentClassName + ' ' + componentClassName + '--' + kind },
|
||||
_react2.default.createElement('div', { className: componentClassName + '__icon' }),
|
||||
_react2.default.createElement(
|
||||
'div',
|
||||
{ className: componentClassName + '__content' },
|
||||
_react2.default.createElement(
|
||||
'span',
|
||||
{ className: componentClassName + '__message' },
|
||||
message
|
||||
)
|
||||
),
|
||||
actionLabel && _react2.default.createElement(
|
||||
'span',
|
||||
{ className: componentClassName + '__action' },
|
||||
_react2.default.createElement(
|
||||
'button',
|
||||
{ onClick: handleActionClick },
|
||||
actionLabel
|
||||
)
|
||||
),
|
||||
_react2.default.createElement('div', { className: componentClassName + '__close' })
|
||||
);
|
||||
};
|
||||
|
||||
Notif.defaultProps = {
|
||||
kind: 'info'
|
||||
};
|
||||
|
||||
Notif.propTypes = {
|
||||
id: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]).isRequired,
|
||||
message: _propTypes2.default.node.isRequired,
|
||||
kind: _propTypes2.default.oneOf(['success', 'info', 'warning', 'danger']).isRequired,
|
||||
componentClassName: _propTypes2.default.string,
|
||||
onActionClick: _propTypes2.default.func,
|
||||
actionLabel: _propTypes2.default.string
|
||||
};
|
||||
|
||||
exports.default = Notif;
|
||||
99
node_modules/redux-notifications/lib/components/Notifs.js
generated
vendored
Normal file
99
node_modules/redux-notifications/lib/components/Notifs.js
generated
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
|
||||
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 _react2 = _interopRequireDefault(_react);
|
||||
|
||||
var _reactRedux = require('react-redux');
|
||||
|
||||
var _CSSTransitionGroup = require('react-transition-group/CSSTransitionGroup');
|
||||
|
||||
var _CSSTransitionGroup2 = _interopRequireDefault(_CSSTransitionGroup);
|
||||
|
||||
var _Notif = require('./Notif');
|
||||
|
||||
var _Notif2 = _interopRequireDefault(_Notif);
|
||||
|
||||
var _propTypes = require('prop-types');
|
||||
|
||||
var _propTypes2 = _interopRequireDefault(_propTypes);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
// This checks to see if object is immutable and properly access it
|
||||
var getter = function getter(obj, propName) {
|
||||
return obj.get ? obj.get(propName) : obj[propName];
|
||||
};
|
||||
|
||||
var Notifs = function Notifs(props) {
|
||||
var notifications = props.notifications,
|
||||
className = props.className,
|
||||
componentClassName = props.componentClassName,
|
||||
CustomComponent = props.CustomComponent,
|
||||
transitionEnterTimeout = props.transitionEnterTimeout,
|
||||
transitionLeaveTimeout = props.transitionLeaveTimeout;
|
||||
|
||||
|
||||
var renderedNotifications = notifications.map(function (notification) {
|
||||
if (CustomComponent) {
|
||||
return _react2.default.createElement(CustomComponent, _extends({}, props, {
|
||||
componentClassName: componentClassName,
|
||||
key: getter(notification, 'id'),
|
||||
id: getter(notification, 'id'),
|
||||
message: getter(notification, 'message'),
|
||||
kind: getter(notification, 'kind')
|
||||
}));
|
||||
}
|
||||
return _react2.default.createElement(_Notif2.default, _extends({}, props, {
|
||||
componentClassName: componentClassName,
|
||||
key: getter(notification, 'id'),
|
||||
id: getter(notification, 'id'),
|
||||
message: getter(notification, 'message'),
|
||||
kind: getter(notification, 'kind')
|
||||
}));
|
||||
});
|
||||
var classes = [componentClassName + '__container', className].join(' ').split();
|
||||
|
||||
return _react2.default.createElement(
|
||||
'div',
|
||||
{ className: classes },
|
||||
_react2.default.createElement(
|
||||
_CSSTransitionGroup2.default,
|
||||
{
|
||||
transitionName: componentClassName + '-transition',
|
||||
transitionEnterTimeout: transitionEnterTimeout,
|
||||
transitionLeaveTimeout: transitionLeaveTimeout
|
||||
},
|
||||
renderedNotifications
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
Notifs.defaultProps = {
|
||||
className: null,
|
||||
componentClassName: 'notif',
|
||||
CustomComponent: null,
|
||||
transitionEnterTimeout: 600,
|
||||
transitionLeaveTimeout: 600
|
||||
};
|
||||
|
||||
Notifs.propTypes = {
|
||||
notifications: _propTypes2.default.array.isRequired,
|
||||
className: _propTypes2.default.string,
|
||||
CustomComponent: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.node, _propTypes2.default.element]),
|
||||
componentClassName: _propTypes2.default.string,
|
||||
transitionEnterTimeout: _propTypes2.default.number,
|
||||
transitionLeaveTimeout: _propTypes2.default.number
|
||||
};
|
||||
|
||||
function mapStateToProps(state) {
|
||||
return { notifications: state.get ? state.get('notifs') : state.notifs };
|
||||
}
|
||||
|
||||
exports.default = (0, _reactRedux.connect)(mapStateToProps)(Notifs);
|
||||
Reference in New Issue
Block a user