import { useMessages } from 'hooks'; import { Button, Icon, Form, FormButtons, FormInput, FormRow, ModalTrigger, Modal, SubmitButton, Text, TextField, Tooltip, } from 'react-basics'; import Icons from 'components/icons'; import { updateReport } from 'store/reports'; import { useRef, useState } from 'react'; import styles from './FunnelParameters.module.css'; export function FunnelParameters({ report }) { const { formatMessage, labels } = useMessages(); const ref = useRef(null); const { id, websiteId, parameters, isLoading } = report || {}; const queryDisabled = !websiteId || parameters?.urls?.length < 2; const handleSubmit = values => { updateReport(id, { parameters: values, isLoading: false, update: Date.now() }); }; const handleAdd = url => { updateReport(id, { parameters: { ...parameters, urls: parameters.urls.concat(url) } }); }; const handleRemove = index => { const urls = [...parameters.urls]; urls.splice(index, 1); updateReport(id, { parameters: { ...parameters, urls } }); }; return ( <>
}>
{parameters?.urls.map((url, index) => { return (
{url} handleRemove(index)}>
); })}
{formatMessage(labels.query)}
); } function AddURLButton({ onAdd }) { const [url, setUrl] = useState(''); const { formatMessage, labels } = useMessages(); const handleAdd = close => { onAdd?.(url); setUrl(''); close(); }; const handleChange = e => { setUrl(e.target.value); }; const handleClose = close => { setUrl(''); close(); }; return ( {close => { return (
); }}
); } export default FunnelParameters;