allow other cell renderer for aggrid
This commit is contained in:
@@ -1,10 +1,5 @@
|
||||
<script lang="ts">
|
||||
import {
|
||||
GridApi,
|
||||
createGrid,
|
||||
type IDatasource,
|
||||
type ICellRendererParams
|
||||
} from 'ag-grid-community'
|
||||
import { GridApi, createGrid, type IDatasource } from 'ag-grid-community'
|
||||
import { isObject, sendUserToast } from '$lib/utils'
|
||||
import { createEventDispatcher, getContext } from 'svelte'
|
||||
import type { AppViewerContext, ComponentCustomCSS } from '../../../types'
|
||||
@@ -243,8 +238,7 @@
|
||||
|
||||
return r.map((fields) => ({
|
||||
...fields,
|
||||
cellRenderer: (params: ICellRendererParams) =>
|
||||
defaultCellRenderer(params, fields.cellRendererType)
|
||||
cellRenderer: defaultCellRenderer(fields.cellRendererType)
|
||||
}))
|
||||
}
|
||||
|
||||
|
||||
@@ -257,7 +257,7 @@
|
||||
rowData: value,
|
||||
columnDefs: columnDefs.map((fields) => ({
|
||||
...fields,
|
||||
cellRenderer: (params) => defaultCellRenderer(params, fields.cellRendererType)
|
||||
cellRenderer: defaultCellRenderer(fields.cellRendererType)
|
||||
})),
|
||||
pagination: resolvedConfig?.pagination,
|
||||
paginationAutoPageSize: resolvedConfig?.pagination,
|
||||
@@ -385,7 +385,7 @@
|
||||
rowData: value,
|
||||
columnDefs: columnDefs.map((fields) => ({
|
||||
...fields,
|
||||
cellRenderer: (params) => defaultCellRenderer(params, fields.cellRendererType)
|
||||
cellRenderer: defaultCellRenderer(fields.cellRendererType)
|
||||
})),
|
||||
pagination: resolvedConfig?.pagination,
|
||||
paginationAutoPageSize: resolvedConfig?.pagination,
|
||||
|
||||
@@ -77,17 +77,19 @@ export function isLinkObject(value: any): value is LinkObject {
|
||||
return value && typeof value === 'object' && 'href' in value && 'label' in value
|
||||
}
|
||||
|
||||
export function defaultCellRenderer(params: ICellRendererParams, cellRendererType: string) {
|
||||
export function defaultCellRenderer(cellRendererType: string) {
|
||||
if (cellRendererType === 'link') {
|
||||
if (isLinkObject(params.value)) {
|
||||
const value = params.value
|
||||
return `<a href=${value.href} class="underline" target="_blank">${value.label}</a>`
|
||||
} else if (params.value) {
|
||||
return `<a href=${params.value} class="underline" target="_blank">${params.value}</a>`
|
||||
} else {
|
||||
return params.value
|
||||
return (params: ICellRendererParams) => {
|
||||
if (isLinkObject(params.value)) {
|
||||
const value = params.value
|
||||
return `<a href=${value.href} class="underline" target="_blank">${value.label}</a>`
|
||||
} else if (params.value) {
|
||||
return `<a href=${params.value} class="underline" target="_blank">${params.value}</a>`
|
||||
} else {
|
||||
return params.value
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return params.value
|
||||
return undefined
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user