All files / layers / L2R / wiring defaultRowNav.ts

0% Statements 0/3
0% Branches 0/2
0% Functions 0/2
0% Lines 0/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                                 
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))
  }
}