components/ProfileEdit/ProfileEditForm/ProfileEditFormCity/ProfileEditFormCity.jsx

/**
 * Поле для выбора города
 * @module ProfileEditFormCity
 * @author Ihor Bielchenko
 * @requires react
 * @requires react#Component
 * @requires react-redux#connect
 */

import React, { Component } from 'react';
import { connect } from 'react-redux';

/**
 * Поле для выбора города
 * @extends Component
 */
class ProfileEditFormCity extends Component {

	/**
	 * Render component
	 * @return {Object} jsx object
	 */
	render() {
		var i;
		let cities = [];

		for(i = 0; i < this.props.user.cities.length; i++) {
			cities.push(<option 
							key={i} 
							value={this.props.user.cities[i].id}>
								{this.props.user.cities[i].name}
						</option>);
		}

		return <div className="block5">
					<div className="line">
						<span className="main-span">{this.props.lang.edit_city_title}</span>
						<select id="user-city"
								defaultValue={this.props.user.city.id}>
									{cities}
						</select>
					</div>
				</div>
	}
}

/**
 * Init redux states
 * @param {Object} state
 * @return {Object}
 */
function mapStateToProps(state) {
	return {
		lang: state.lang,
		user: state.user
	}
}

export default connect(mapStateToProps)(ProfileEditFormCity);