import React, {Component, PropTypes} from 'react'; import PromptButton from '../base/PromptButton'; import {Dropdown, DropdownHint, DropdownButton, DropdownItem} from '../base/dropdown'; import GenerateCodeModal from '../modals/GenerateCodeModal'; import PromptModal from '../modals/PromptModal'; import * as models from '../../../models'; import {showModal} from '../modals/index'; import {trackEvent} from '../../../analytics/index'; class RequestActionsDropdown extends Component { async _promptUpdateName () { const {request} = this.props; const name = await showModal(PromptModal, { headerName: 'Rename Request', defaultValue: request.name, hint: 'also rename requests by double clicking in the sidebar' }); models.request.update(request, {name}); } render () { const {request, ...other} = this.props; return ( { models.request.duplicate(request); trackEvent('Request', 'Duplicate', 'Request Action'); }}> Duplicate { this._promptUpdateName(); trackEvent('Request', 'Rename', 'Request Action'); }}> Rename { showModal(GenerateCodeModal, request); trackEvent('Request', 'Generate Code', 'Request Action'); }}> Generate Code { models.request.remove(request); trackEvent('Request', 'Delete', 'Action'); }} addIcon={true}> Delete ) } } RequestActionsDropdown.propTypes = { request: PropTypes.object.isRequired }; export default RequestActionsDropdown;