react-gosuslugi
Version:
react-gosuslugi collection of common React UI components
222 lines (183 loc) • 8.83 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactRouterDom = require('react-router-dom');
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _Service_LastStep = require('../Service_LastStep');
var _Service_LastStep2 = _interopRequireDefault(_Service_LastStep);
var _Service_Steps = require('../Service_Steps');
var _Service_Steps2 = _interopRequireDefault(_Service_Steps);
var _Service_TitleStep = require('../Service_TitleStep');
var _Service_TitleStep2 = _interopRequireDefault(_Service_TitleStep);
var _Service_Complaint = require('../Service_Complaint');
var _Service_Complaint2 = _interopRequireDefault(_Service_Complaint);
var _Service_FirstStep = require('../Service_FirstStep');
var _Service_FirstStep2 = _interopRequireDefault(_Service_FirstStep);
var _Col = require('../Col');
var _Col2 = _interopRequireDefault(_Col);
var _Container = require('../Container');
var _Container2 = _interopRequireDefault(_Container);
var _CardCaption = require('../CardCaption');
var _CardCaption2 = _interopRequireDefault(_CardCaption);
var _Button = require('../Button');
var _Button2 = _interopRequireDefault(_Button);
require('./Service.sass');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(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) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var Service = function (_PureComponent) {
_inherits(Service, _PureComponent);
function Service(props) {
_classCallCheck(this, Service);
var _this = _possibleConstructorReturn(this, (Service.__proto__ || Object.getPrototypeOf(Service)).call(this, props));
_this.handleOptionChange = function (changeEvent) {
_this.setState({
selectedOption: changeEvent.target.value
});
};
_this.state = {
selectedOption: 'online'
};
return _this;
}
_createClass(Service, [{
key: 'render',
value: function render() {
var passport = this.props.passport;
var selectedOption = this.state.selectedOption;
return passport && _react2.default.createElement(
'div',
{ className: 'service-wrapper' },
_react2.default.createElement(
_Container2.default,
null,
_react2.default.createElement(
_Col2.default,
{ xs: 6, sm: 12, md: 24, lg: 24 },
_react2.default.createElement(
'section',
{ className: 'nameCategory' },
_react2.default.createElement(
_CardCaption2.default,
{ bsSize: 'large', iconId: passport.category_id },
passport.name
),
_react2.default.createElement(
_reactRouterDom.Link,
{ to: '/categories/' + passport.category_id },
_react2.default.createElement(
_Button2.default,
{ type: 'button', bsStyle: 'arrow-left', bsSize: 'large' },
'\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u0432 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044E'
)
)
)
),
_react2.default.createElement(
_Col2.default,
{ xs: 6, sm: 8, md: 18, lg: 18 },
_react2.default.createElement(_Service_TitleStep2.default, {
term: passport.info.term,
price: passport.info.price,
titleCaption: passport.info.titleCaption,
titleInfo: passport.info.titleInfo,
color: passport.info.color
})
),
_react2.default.createElement(
_Col2.default,
{ xs: 6, sm: 4, md: 6, lg: 6 },
passport.info && passport.info.organizations && _react2.default.createElement(
'div',
{ className: 'organization' },
_react2.default.createElement(
'p',
{ className: 'organization__caption' },
'\u0423\u0441\u043B\u0443\u0433\u0443 \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u0442:'
),
_react2.default.createElement(
'ul',
{ className: 'organization__list' },
passport.info.organizations.map(function (organization) {
return _react2.default.createElement(
'li',
{ className: 'organization__item', key: organization },
organization
);
})
)
)
),
_react2.default.createElement(
_Col2.default,
{ xs: 6, sm: 8, md: 18, lg: 18 },
_react2.default.createElement(
'div',
{ className: 'service' },
_react2.default.createElement(_Service_FirstStep2.default, {
color: passport.info.color,
procedure: passport.info.procedure,
handleOptionChange: this.handleOptionChange,
selectedOption: selectedOption
}),
_react2.default.createElement(_Service_Steps2.default, {
color: passport.info.color,
selectedOption: selectedOption,
procedure: passport.info.procedure
}),
_react2.default.createElement(_Service_LastStep2.default, {
color: passport.info.color,
lastStepCaption: passport.info.lastStepCaption,
lastStepInfo: passport.info.lastStepInfo
})
)
),
_react2.default.createElement(
_Col2.default,
{ xs: 6, sm: 3, md: 6, lg: 6 },
selectedOption === 'online' && Object.keys(passport && passport.data && passport.data.usluga && passport.data.usluga.schema || {}).length ? _react2.default.createElement(
_reactRouterDom.Link,
{ to: '/passports/' + passport.id + '/usluga_requests/new' },
_react2.default.createElement(
_Button2.default,
{ bsSize: 'large', bsStyle: 'arrow-right' },
'\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0443\u0441\u043B\u0443\u0433\u0443'
)
) : null
),
_react2.default.createElement(
_Col2.default,
{ xs: 6, sm: 12, md: 24, lg: 24 },
_react2.default.createElement(_Service_Complaint2.default, null)
)
)
);
}
}]);
return Service;
}(_react.PureComponent);
Service.propTypes = {
passport: _propTypes2.default.shape({
id: _propTypes2.default.number,
category_id: _propTypes2.default.number,
name: _propTypes2.default.string,
info: _propTypes2.default.shape({
term: _propTypes2.default.string,
price: _propTypes2.default.string,
titleCaption: _propTypes2.default.string,
titleInfo: _propTypes2.default.string,
color: _propTypes2.default.string,
procedure: _propTypes2.default.object,
lastStepCaption: _propTypes2.default.string,
lastStepInfo: _propTypes2.default.string,
organizations: _propTypes2.default.array
})
}).isRequired
};
exports.default = Service;