From f86a9c5685070aa59762b83784a45a6ffeacc561 Mon Sep 17 00:00:00 2001 From: Juan Castano Date: Wed, 19 Feb 2025 15:39:38 +1100 Subject: [PATCH] Show text on table cell --- .../fields/markdown-field/component.tsx | 2 +- .../markdown-field/menu-bar/header-options.tsx | 4 +--- .../markdown-field/menu-bar/list-options.tsx | 2 +- .../src/entity-list/columns.tsx | 16 ++++++++++++++-- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/packages/admin-ui-components/src/detail-panel/fields/markdown-field/component.tsx b/src/packages/admin-ui-components/src/detail-panel/fields/markdown-field/component.tsx index 47edd9d60..3028c2146 100644 --- a/src/packages/admin-ui-components/src/detail-panel/fields/markdown-field/component.tsx +++ b/src/packages/admin-ui-components/src/detail-panel/fields/markdown-field/component.tsx @@ -6,7 +6,7 @@ import { EntityField } from '../../../utils'; import { MenuBar } from './menu-bar'; import styles from './styles.module.css'; -const extensions = [ +export const extensions = [ StarterKit.configure({ bulletList: { keepMarks: true, diff --git a/src/packages/admin-ui-components/src/detail-panel/fields/markdown-field/menu-bar/header-options.tsx b/src/packages/admin-ui-components/src/detail-panel/fields/markdown-field/menu-bar/header-options.tsx index d62a093eb..88cf385fb 100644 --- a/src/packages/admin-ui-components/src/detail-panel/fields/markdown-field/menu-bar/header-options.tsx +++ b/src/packages/admin-ui-components/src/detail-panel/fields/markdown-field/menu-bar/header-options.tsx @@ -45,9 +45,7 @@ export const HeaderOptions = (props: SectionProps) => { {show.h1 ? ( diff --git a/src/packages/admin-ui-components/src/detail-panel/fields/markdown-field/menu-bar/list-options.tsx b/src/packages/admin-ui-components/src/detail-panel/fields/markdown-field/menu-bar/list-options.tsx index 5bda9c1c6..3a692facb 100644 --- a/src/packages/admin-ui-components/src/detail-panel/fields/markdown-field/menu-bar/list-options.tsx +++ b/src/packages/admin-ui-components/src/detail-panel/fields/markdown-field/menu-bar/list-options.tsx @@ -66,7 +66,7 @@ export const ListOptions = (props: SectionProps) => { return [undefined, []] as const; } - const optionButtons = Object.values(buttons).filter((button) => button && button != mainButton); + const optionButtons = Object.values(buttons).filter((button) => button); return [mainButton, optionButtons] as const; }, [options, editor]); diff --git a/src/packages/admin-ui-components/src/entity-list/columns.tsx b/src/packages/admin-ui-components/src/entity-list/columns.tsx index 51dab3297..05a509de0 100644 --- a/src/packages/admin-ui-components/src/entity-list/columns.tsx +++ b/src/packages/admin-ui-components/src/entity-list/columns.tsx @@ -1,10 +1,11 @@ import { CellContext, createColumnHelper } from '@tanstack/react-table'; import { customFields } from 'virtual:graphweaver-user-supplied-custom-fields'; import { Link } from 'react-router-dom'; - -import { Entity, EntityField, routeFor } from '../utils'; +import { generateText, generateJSON } from '@tiptap/react'; +import { DetailPanelInputComponentOption, Entity, EntityField, routeFor } from '../utils'; import { cells } from '../table/cells'; import { Checkbox } from '../checkbox'; +import { extensions } from '../detail-panel/fields'; const columnHelper = createColumnHelper(); @@ -45,6 +46,17 @@ const cellForType = (field: EntityField, value: any, entityByType: (type: string return value.join(', '); } + if (field.detailPanelInputComponent?.name === DetailPanelInputComponentOption.MARKDOWN) { + if (!value) return null; + try { + const json = generateJSON(value, extensions); + return
{generateText(json, extensions)}
; + } catch (e) { + console.error(e); + return
{value}
; + } + } + // Ok, all we're left with is a simple value return value; };