patternplate-client
Version:
Universal javascript client application for patternplate
159 lines (129 loc) • 10.8 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _class, _class2, _temp;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactRouter = require('@marionebl/react-router');
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _autobindDecorator = require('autobind-decorator');
var _autobindDecorator2 = _interopRequireDefault(_autobindDecorator);
var _pureRenderDecorator = require('pure-render-decorator');
var _pureRenderDecorator2 = _interopRequireDefault(_pureRenderDecorator);
var _lodash = require('lodash');
var _icon = require('../common/icon');
var _icon2 = _interopRequireDefault(_icon);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Message = (0, _pureRenderDecorator2.default)(_class = (0, _autobindDecorator2.default)(_class = (_temp = _class2 = function (_Component) {
(0, _inherits3.default)(Message, _Component);
function Message() {
(0, _classCallCheck3.default)(this, Message);
return (0, _possibleConstructorReturn3.default)(this, (Message.__proto__ || (0, _getPrototypeOf2.default)(Message)).apply(this, arguments));
}
(0, _createClass3.default)(Message, [{
key: 'handleDismissClick',
value: function handleDismissClick() {
this.props.onDismiss(this.props.id);
}
}, {
key: 'handleRetryClick',
value: function handleRetryClick() {
this.props.onRetry();
}
}, {
key: 'render',
value: function render() {
var props = this.props;
var className = (0, _classnames2.default)('message', 'message--' + props.type);
return _react2.default.createElement(
'div',
{ className: className },
_react2.default.createElement(
'div',
{ className: 'message__header' },
props.title && _react2.default.createElement(
'div',
{ className: 'message__title' },
props.title
),
_react2.default.createElement(
'div',
{ className: 'message__action' },
props.retry && _react2.default.createElement(
'button',
{
onClick: this.handleRetryClick,
type: 'button',
className: 'message__button',
title: 'Retry loading ' + props.pattern + ' [ctrl+r]'
},
'Retry'
),
_react2.default.createElement(
'button',
{
onClick: this.handleDismissClick,
type: 'button',
className: 'message__button',
title: 'Dismiss message [esc]'
},
'Dismiss'
)
)
),
_react2.default.createElement(
'div',
{ className: 'message__body' },
_react2.default.createElement(
'pre',
{ className: 'message__preformatted' },
props.body
)
),
_react2.default.createElement(
'div',
{ className: 'message__meta' },
props.pattern && _react2.default.createElement(
_reactRouter.Link,
{
to: {
pathname: props.base + 'pattern/' + props.pattern,
query: props.location.query
},
className: 'message__field'
},
_react2.default.createElement(_icon2.default, { base: props.base, symbol: 'pattern' }),
props.pattern
),
props.file && _react2.default.createElement(
'div',
{ className: 'message__field' },
_react2.default.createElement(_icon2.default, { base: props.base, symbol: 'documentation' }),
props.file.slice(-50)
)
)
);
}
}]);
return Message;
}(_react.Component), _class2.defaultProps = {
onTimeRequest: _lodash.noop,
onDismiss: _lodash.noop,
onRetry: _lodash.noop
}, _temp)) || _class) || _class;
exports.default = Message;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NvdXJjZS9hcHBsaWNhdGlvbi9jb21wb25lbnRzL2NvbW1vbi9tZXNzYWdlLmpzIl0sIm5hbWVzIjpbIk1lc3NhZ2UiLCJwcm9wcyIsIm9uRGlzbWlzcyIsImlkIiwib25SZXRyeSIsImNsYXNzTmFtZSIsInR5cGUiLCJ0aXRsZSIsInJldHJ5IiwiaGFuZGxlUmV0cnlDbGljayIsInBhdHRlcm4iLCJoYW5kbGVEaXNtaXNzQ2xpY2siLCJib2R5IiwicGF0aG5hbWUiLCJiYXNlIiwicXVlcnkiLCJsb2NhdGlvbiIsImZpbGUiLCJzbGljZSIsImRlZmF1bHRQcm9wcyIsIm9uVGltZVJlcXVlc3QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7QUFDQTs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7QUFFQTs7Ozs7O0lBSXFCQSxPOzs7Ozs7Ozs7O3VDQWVDO0FBQ3BCLFFBQUtDLEtBQUwsQ0FBV0MsU0FBWCxDQUFxQixLQUFLRCxLQUFMLENBQVdFLEVBQWhDO0FBQ0E7OztxQ0FFa0I7QUFDbEIsUUFBS0YsS0FBTCxDQUFXRyxPQUFYO0FBQ0E7OzsyQkFFUTtBQUFBLE9BQ0RILEtBREMsR0FDUSxJQURSLENBQ0RBLEtBREM7O0FBRVIsT0FBTUksWUFBWSwwQkFBSyxTQUFMLGdCQUE0QkosTUFBTUssSUFBbEMsQ0FBbEI7QUFDQSxVQUNDO0FBQUE7QUFBQSxNQUFLLFdBQVdELFNBQWhCO0FBQ0M7QUFBQTtBQUFBLE9BQUssV0FBVSxpQkFBZjtBQUVFSixXQUFNTSxLQUFOLElBQ0M7QUFBQTtBQUFBLFFBQUssV0FBVSxnQkFBZjtBQUNFTixZQUFNTTtBQURSLE1BSEg7QUFPQztBQUFBO0FBQUEsUUFBSyxXQUFVLGlCQUFmO0FBRUVOLFlBQU1PLEtBQU4sSUFDQztBQUFBO0FBQUE7QUFDQyxpQkFBUyxLQUFLQyxnQkFEZjtBQUVDLGNBQUssUUFGTjtBQUdDLG1CQUFVLGlCQUhYO0FBSUMsa0NBQXdCUixNQUFNUyxPQUE5QjtBQUpEO0FBQUE7QUFBQSxPQUhIO0FBWUM7QUFBQTtBQUFBO0FBQ0MsaUJBQVMsS0FBS0Msa0JBRGY7QUFFQyxjQUFLLFFBRk47QUFHQyxtQkFBVSxpQkFIWDtBQUlDO0FBSkQ7QUFBQTtBQUFBO0FBWkQ7QUFQRCxLQUREO0FBOEJDO0FBQUE7QUFBQSxPQUFLLFdBQVUsZUFBZjtBQUNDO0FBQUE7QUFBQSxRQUFLLFdBQVUsdUJBQWY7QUFDRVYsWUFBTVc7QUFEUjtBQURELEtBOUJEO0FBbUNDO0FBQUE7QUFBQSxPQUFLLFdBQVUsZUFBZjtBQUVFWCxXQUFNUyxPQUFOLElBQ0M7QUFBQTtBQUFBO0FBQ0MsV0FBSTtBQUNIRyxrQkFBYVosTUFBTWEsSUFBbkIsZ0JBQWtDYixNQUFNUyxPQURyQztBQUVISyxlQUFPZCxNQUFNZSxRQUFOLENBQWVEO0FBRm5CLFFBREw7QUFLQyxrQkFBVTtBQUxYO0FBT0Msc0RBQU0sTUFBTWQsTUFBTWEsSUFBbEIsRUFBd0IsUUFBTyxTQUEvQixHQVBEO0FBUUViLFlBQU1TO0FBUlIsTUFISDtBQWVFVCxXQUFNZ0IsSUFBTixJQUNDO0FBQUE7QUFBQSxRQUFLLFdBQVUsZ0JBQWY7QUFDQyxzREFBTSxNQUFNaEIsTUFBTWEsSUFBbEIsRUFBd0IsUUFBTyxlQUEvQixHQUREO0FBRUViLFlBQU1nQixJQUFOLENBQVdDLEtBQVgsQ0FBaUIsQ0FBQyxFQUFsQjtBQUZGO0FBaEJIO0FBbkNELElBREQ7QUFvRUE7Ozs2QkFyRk1DLFksR0FBZTtBQUNyQkMsNEJBRHFCO0FBRXJCbEIsd0JBRnFCO0FBR3JCRTtBQUhxQixDOztrQkFURkosTyIsImZpbGUiOiJtZXNzYWdlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBQcm9wVHlwZXMgYXMgdH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtMaW5rfSBmcm9tICdAbWFyaW9uZWJsL3JlYWN0LXJvdXRlcic7XG5pbXBvcnQgam9pbiBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBhdXRvYmluZCBmcm9tICdhdXRvYmluZC1kZWNvcmF0b3InO1xuaW1wb3J0IHB1cmUgZnJvbSAncHVyZS1yZW5kZXItZGVjb3JhdG9yJztcbmltcG9ydCB7bm9vcH0gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IEljb24gZnJvbSAnLi4vY29tbW9uL2ljb24nO1xuXG5AcHVyZVxuQGF1dG9iaW5kXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZXNzYWdlIGV4dGVuZHMgQ29tcG9uZW50IHtcblx0c3RhdGljIHByb3BUeXBlcyA9IHtcblx0XHRiYXNlOiB0LnN0cmluZy5pc1JlcXVpcmVkLFxuXHRcdGlkOiB0LnN0cmluZy5pc1JlcXVpcmVkLFxuXHRcdG9uVGltZVJlcXVlc3Q6IHQuZnVuYy5pc1JlcXVpcmVkLFxuXHRcdG9uRGlzbWlzczogdC5mdW5jLmlzUmVxdWlyZWQsXG5cdFx0b25SZXRyeTogdC5mdW5jLmlzUmVxdWlyZWRcblx0fTtcblxuXHRzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuXHRcdG9uVGltZVJlcXVlc3Q6IG5vb3AsXG5cdFx0b25EaXNtaXNzOiBub29wLFxuXHRcdG9uUmV0cnk6IG5vb3Bcblx0fTtcblxuXHRoYW5kbGVEaXNtaXNzQ2xpY2soKSB7XG5cdFx0dGhpcy5wcm9wcy5vbkRpc21pc3ModGhpcy5wcm9wcy5pZCk7XG5cdH1cblxuXHRoYW5kbGVSZXRyeUNsaWNrKCkge1xuXHRcdHRoaXMucHJvcHMub25SZXRyeSgpO1xuXHR9XG5cblx0cmVuZGVyKCkge1xuXHRcdGNvbnN0IHtwcm9wc30gPSB0aGlzO1xuXHRcdGNvbnN0IGNsYXNzTmFtZSA9IGpvaW4oJ21lc3NhZ2UnLCBgbWVzc2FnZS0tJHtwcm9wcy50eXBlfWApO1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT5cblx0XHRcdFx0PGRpdiBjbGFzc05hbWU9XCJtZXNzYWdlX19oZWFkZXJcIj5cblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRwcm9wcy50aXRsZSAmJlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzTmFtZT1cIm1lc3NhZ2VfX3RpdGxlXCI+XG5cdFx0XHRcdFx0XHRcdFx0e3Byb3BzLnRpdGxlfVxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0PGRpdiBjbGFzc05hbWU9XCJtZXNzYWdlX19hY3Rpb25cIj5cblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0cHJvcHMucmV0cnkgJiZcblx0XHRcdFx0XHRcdFx0XHQ8YnV0dG9uXG5cdFx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrPXt0aGlzLmhhbmRsZVJldHJ5Q2xpY2t9XG5cdFx0XHRcdFx0XHRcdFx0XHR0eXBlPVwiYnV0dG9uXCJcblx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cIm1lc3NhZ2VfX2J1dHRvblwiXG5cdFx0XHRcdFx0XHRcdFx0XHR0aXRsZT17YFJldHJ5IGxvYWRpbmcgJHtwcm9wcy5wYXR0ZXJufSBbY3RybCtyXWB9XG5cdFx0XHRcdFx0XHRcdFx0XHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRSZXRyeVxuXHRcdFx0XHRcdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0PGJ1dHRvblxuXHRcdFx0XHRcdFx0XHRvbkNsaWNrPXt0aGlzLmhhbmRsZURpc21pc3NDbGlja31cblx0XHRcdFx0XHRcdFx0dHlwZT1cImJ1dHRvblwiXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZT1cIm1lc3NhZ2VfX2J1dHRvblwiXG5cdFx0XHRcdFx0XHRcdHRpdGxlPXtgRGlzbWlzcyBtZXNzYWdlIFtlc2NdYH1cblx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHREaXNtaXNzXG5cdFx0XHRcdFx0XHQ8L2J1dHRvbj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDxkaXYgY2xhc3NOYW1lPVwibWVzc2FnZV9fYm9keVwiPlxuXHRcdFx0XHRcdDxwcmUgY2xhc3NOYW1lPVwibWVzc2FnZV9fcHJlZm9ybWF0dGVkXCI+XG5cdFx0XHRcdFx0XHR7cHJvcHMuYm9keX1cblx0XHRcdFx0XHQ8L3ByZT5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDxkaXYgY2xhc3NOYW1lPVwibWVzc2FnZV9fbWV0YVwiPlxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdHByb3BzLnBhdHRlcm4gJiZcblx0XHRcdFx0XHRcdFx0PExpbmtcblx0XHRcdFx0XHRcdFx0XHR0bz17e1xuXHRcdFx0XHRcdFx0XHRcdFx0cGF0aG5hbWU6IGAke3Byb3BzLmJhc2V9cGF0dGVybi8ke3Byb3BzLnBhdHRlcm59YCxcblx0XHRcdFx0XHRcdFx0XHRcdHF1ZXJ5OiBwcm9wcy5sb2NhdGlvbi5xdWVyeVxuXHRcdFx0XHRcdFx0XHRcdH19XG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lPVwibWVzc2FnZV9fZmllbGRcIlxuXHRcdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHQ8SWNvbiBiYXNlPXtwcm9wcy5iYXNlfSBzeW1ib2w9XCJwYXR0ZXJuXCIvPlxuXHRcdFx0XHRcdFx0XHRcdHtwcm9wcy5wYXR0ZXJufVxuXHRcdFx0XHRcdFx0XHQ8L0xpbms+XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdHByb3BzLmZpbGUgJiZcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzc05hbWU9XCJtZXNzYWdlX19maWVsZFwiPlxuXHRcdFx0XHRcdFx0XHRcdDxJY29uIGJhc2U9e3Byb3BzLmJhc2V9IHN5bWJvbD1cImRvY3VtZW50YXRpb25cIi8+XG5cdFx0XHRcdFx0XHRcdFx0e3Byb3BzLmZpbGUuc2xpY2UoLTUwKX1cblx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdC8qIHByb3BzLnRpbWVzdGFtcCAmJlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzTmFtZT1cIm1lc3NhZ2VfX2ZpZWxkXCI+XG5cdFx0XHRcdFx0XHRcdFx0PEljb24gc3ltYm9sPVwiZ2xvYmFsc1wiLz5cblx0XHRcdFx0XHRcdFx0XHR7YWdvKG5ldyBEYXRlKHByb3BzLnRpbWVzdGFtcCkpfVxuXHRcdFx0XHRcdFx0XHRcdHtwcm9wcy50aW1lIC0gcHJvcHMudGltZXN0YW1wfVxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj4gKi9cblx0XHRcdFx0XHR9XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9kaXY+XG5cdFx0KTtcblx0fVxufVxuIl19