/**
* Номер группы
* @module GroupNumber
* @author Ihor Bielchenko
* @requires react
* @requires react#Component
* @requires react-redux
*/
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
import * as StateConfigAction from '../../../actions/StateConfigAction.js';
/**
* Номер группы
* @extends Component
*/
class GroupNumber extends Component {
/**
* Открыть окно редактирования группы
* @fires change
* @param {Object} e
*/
editGroup(e) {
this.props.config.edit_group = 1;
this.props.StateConfigAction.update(this.props.config);
}
/**
* Render component
* @return {Object} jsx object
*/
render() {
var group,
i;
for(i = 0; i < this.props.user.groups.length; i++) {
if(this.props.user.groups[i].id === this.props.user.current_group) {
group = this.props.user.groups[i];
}
}
return <div className="left">
<div className="round"
onClick={this.editGroup.bind(this)}>
<span className="text">{group['name']}</span>
</div>
</div>
}
}
/**
* Init redux states
*
* @param {Object} state
* @return {Object}
*/
function mapStateToProps(state) {
return {
user: state.user,
config: state.config
}
}
/**
* Init redux actions
* @param {Function} dispatch
* @return {Object}
*/
function mapDispatchToProps(dispatch) {
return {
StateConfigAction: bindActionCreators(StateConfigAction, dispatch),
}
}
export default connect(mapStateToProps, mapDispatchToProps)(GroupNumber);