UNPKG

ra-core

Version:

Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React

43 lines (40 loc) 1.25 kB
import { To } from 'react-router-dom'; /** * @deprecated use useCreatePath instead */ export const resolveRedirectTo = ( redirectTo, resource: string, id?, data?, basename: string = '' ): To => { if (typeof redirectTo === 'function') { const target: To = redirectTo(resource, id, data); return typeof target === 'string' ? removeDoubleSlashes(`${basename}/${target}`) : { pathname: removeDoubleSlashes( `${basename}/${target.pathname}` ), ...target, }; } switch (redirectTo) { case 'list': return removeDoubleSlashes(`${basename}/${resource}`); case 'create': return removeDoubleSlashes(`${basename}/${resource}/create`); case 'edit': return removeDoubleSlashes( `${basename}/${resource}/${encodeURIComponent(id)}` ); case 'show': return removeDoubleSlashes( `${basename}/${resource}/${encodeURIComponent(id)}/show` ); default: return redirectTo; } }; const removeDoubleSlashes = (path: string) => path.replace('//', '/');