import React, { useMemo } from 'react'; import { useDispatch } from 'react-redux'; import { updateResponseExampleRequestUrl } from 'providers/ReduxStore/slices/collections'; import SingleLineEditor from 'components/SingleLineEditor'; import StyledWrapper from './StyledWrapper'; import get from 'lodash/get'; const ResponseExampleUrlBar = ({ item, collection, editMode, onSave, exampleUid }) => { const dispatch = useDispatch(); const exampleData = useMemo(() => { return item.draft ? get(item, 'draft.examples', []).find((e) => e.uid === exampleUid) : get(item, 'examples', []).find((e) => e.uid === exampleUid); }, [item, exampleUid]); const method = get(exampleData, 'request.method'); const url = get(exampleData, 'request.url'); const onChange = (value) => { if (!editMode) { return; } dispatch(updateResponseExampleRequestUrl({ itemUid: item.uid, collectionUid: collection.uid, exampleUid: exampleUid, request: { url: value } })); }; const getMethodClass = () => { switch (method?.toUpperCase()) { case 'GET': return 'method-get'; case 'POST': return 'method-post'; case 'PUT': return 'method-put'; case 'DELETE': return 'method-delete'; case 'PATCH': return 'method-patch'; case 'OPTIONS': return 'method-options'; case 'HEAD': return 'method-head'; case 'OPTIONS': return 'method-options'; case 'HEAD': return 'method-head'; default: return 'method-get'; }; }; return (
{method || 'GET'}
); }; export default ResponseExampleUrlBar;