All files / layers / L2R / wiring defaultRowNav.ts

100% Statements 3/3
100% Branches 2/2
100% Functions 2/2
100% Lines 3/3

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17                      53x 10x 10x      
import type { ListConfig } from '../../interfaces'
 
export type NavigatorFn = (path: string) => void
 
export interface DefaultRowNavConfig {
  config: ListConfig
  navigate: NavigatorFn
  pathname: string
}
 
export function createDefaultRowNavHandler({ config, navigate, pathname }: DefaultRowNavConfig): (id: string) => void {
  return (id: string) => {
    const target = config.rowTarget ?? `${pathname.replace(/\/+$/, '')}/:id`
    navigate(target.replace(/:id/g, id))
  }
}