UNPKG

bixi

Version:

企业级中后台前端解决方案

28 lines (22 loc) 803 B
import { get, isFunction } from '@bixi/core/utils'; import { NzSafeAny } from 'ng-zorro-antd/core/types'; import { IAllowFn, ICol, IFn, IRenderProp, IRow } from './table.type'; export function valueGetter(row: IRow, col: ICol, index: number) { const value = get(row, col.key as string); if (isFunction(col.value)) { return (col.value as IFn<IRenderProp>)(value, row, index); } else { return value; } } export function propGetter(row: IRow, col: ICol, index: number, fn: IAllowFn<IRenderProp>) { if (!row) return undefined; if (isFunction(fn)) { return (fn as IFn<IRenderProp>)(valueGetter(row, col, index), row, index); } return fn; } export function hasKey(obj: NzSafeAny, key: string) { if (typeof obj !== 'object') return false; return obj.hasOwnProperty(key); }