import React, { useState } from 'react'; import { connect } from 'react-redux'; import { editSavedSearch as edit, save, remove } from 'Duck/search'; import { Button, Modal, Form, Icon, Checkbox } from 'UI'; import { confirm } from 'UI/Confirmation'; import stl from './SaveSearchModal.css'; import cn from 'classnames'; interface Props { filter: any; loading: boolean; edit: (filter: any) => void; save: (searchId) => Promise; show: boolean; closeHandler: () => void; savedSearch: any; remove: (filterId: number) => Promise; userId: number; } function SaveSearchModal(props: Props) { const { savedSearch, filter, loading, show, closeHandler } = props; const [name, setName] = useState(savedSearch ? savedSearch.name : ''); const onNameChange = ({ target: { value } }) => { props.edit({ name: value }); // setName(value); }; const onSave = () => { const { filter, closeHandler } = props; // if (name.trim() === '') return; props.save(savedSearch.exists() ? savedSearch.searchId : null).then(function() { // this.props.fetchFunnelsList(); closeHandler(); }); } const onDelete = async () => { if (await confirm({ header: 'Confirm', confirmButton: 'Yes, Delete', confirmation: `Are you sure you want to permanently delete this Saved serch?`, })) { props.remove(savedSearch.searchId).then(() => { closeHandler(); }); } } const onChangeOption = (e, { checked, name }) => props.edit({ [ name ]: checked }) return (
{ 'Save Search' }
props.edit({ 'isPublic' : !savedSearch.isPublic }) } > Team Visible
{ savedSearch.exists() &&
Changes in filters will be updated.
}
{ savedSearch && }
); } export default connect(state => ({ userId: state.getIn([ 'user', 'account', 'id' ]), savedSearch: state.getIn([ 'search', 'savedSearch' ]), filter: state.getIn(['search', 'instance']), loading: state.getIn([ 'search', 'saveRequest', 'loading' ]) || state.getIn([ 'search', 'updateRequest', 'loading' ]), }), { edit, save, remove })(SaveSearchModal);