import { connect } from 'react-redux'; import { Button, Modal, Form, Icon, Checkbox } from 'UI'; import styles from './funnelSaveModal.css'; import { edit, save, fetchList as fetchFunnelsList } from 'Duck/funnels'; @connect(state => ({ funnel: state.getIn(['funnels', 'instance']), loading: state.getIn([ 'funnels', 'saveRequest', 'loading' ]) || state.getIn([ 'funnels', 'updateRequest', 'loading' ]), }), { edit, save, fetchFunnelsList }) export default class FunnelSaveModal extends React.PureComponent { state = { name: 'Untitled', isPublic: false }; static getDerivedStateFromProps(props) { if (!props.show) { return { name: props.funnel.name || 'Untitled', isPublic: props.funnel.isPublic, }; } return null; } onNameChange = ({ target: { value } }) => { this.props.edit({ name: value }); }; onChangeOption = (e, { checked, name }) => this.props.edit({ [ name ]: checked }) onSave = () => { const { funnel, closeHandler } = this.props; if (funnel.name.trim() === '') return; this.props.save(funnel).then(function() { this.props.fetchFunnelsList(); this.props.closeHandler(); }.bind(this)); } render() { const { show, appliedFilter, closeHandler, loading, funnel } = this.props; return (
{ 'Save Funnel' }
this.props.edit({ 'isPublic' : !funnel.isPublic }) }> Team Funnel
); } }