import React, {Component, PropTypes} from 'react'; import {connect} from 'react-redux' import Dropdown from '../components/base/Dropdown'; import EnvironmentEditModal from '../components/EnvironmentEditModal'; import PromptModal from '../components/PromptModal'; import * as db from '../database'; class RequestGroupActionsDropdown extends Component { _promptUpdateName () { const {requestGroup} = this.props; PromptModal.show({ headerName: 'Rename Request Group', defaultValue: requestGroup.name }).then(name => { db.requestGroupUpdate(requestGroup, {name}); }) } _requestCreate () { const workspace = this._getActiveWorkspace(this.props); const {requestGroup} = this.props; db.requestCreateAndActivate(workspace, {parentId: requestGroup._id}); } _getActiveWorkspace (props) { // TODO: Factor this out into a selector const {entities, workspaces} = props || this.props; let workspace = entities.workspaces[workspaces.activeId]; if (!workspace) { workspace = entities.workspaces[Object.keys(entities.workspaces)[0]]; } return workspace; } render () { const {requestGroup, ...other} = this.props; return ( ) } } RequestGroupActionsDropdown.propTypes = { // Required entities: PropTypes.shape({ workspaces: PropTypes.object.isRequired }).isRequired, workspaces: PropTypes.shape({ activeId: PropTypes.string }), // Optional requestGroup: PropTypes.object }; function mapStateToProps (state) { return { workspaces: state.workspaces, entities: state.entities }; } function mapDispatchToProps (dispatch) { return {} } export default connect( mapStateToProps, mapDispatchToProps )(RequestGroupActionsDropdown);