[Dashboards] Server: Rich Text Widget (#16296)

closes https://github.com/twentyhq/core-team-issues/issues/1893

sync in the transformation layer - 
with just the blocknote format -

<img width="1532" height="1058" alt="CleanShot 2025-12-04 at 16 43 27"
src="https://github.com/user-attachments/assets/081483fb-0bd0-4f14-81fc-8ea2261367a2"
/>

with just the mardown format - 
<img width="1534" height="1056" alt="CleanShot 2025-12-04 at 16 45 03"
src="https://github.com/user-attachments/assets/4eae513b-423d-4597-b79c-97d1f33ab994"
/>

attaching response since in screen shot its getting cut - 
```
{
  "id": "7189a10a-177c-4cc2-8946-950b8c125913",
  "pageLayoutTabId": "82ac56dd-4351-43ad-bf3d-49624c057e17",
  "workspaceId": "20202020-1c25-4d02-bf25-6aeccf7ea419",
  "title": "awdawd awdawdawd",
  "type": "STANDALONE_RICH_TEXT",
  "objectMetadataId": null,
  "gridPosition": {
    "row": 1,
    "column": 1,
    "rowSpan": 1,
    "columnSpan": 1
  },
  "configuration": {
    "body": {
      "markdown": "# Hello World",
      "blocknote": "[{\"id\":\"2e744f21-7c71-414d-b87f-fb48400c593c\",\"type\":\"heading\",\"props\":{\"textColor\":\"default\",\"backgroundColor\":\"default\",\"textAlignment\":\"left\",\"level\":1},\"content\":[{\"type\":\"text\",\"text\":\"Hello World\",\"styles\":{}}],\"children\":[]}]"
    }
  },
  "createdAt": "2025-12-04T11:14:52.212Z",
  "updatedAt": "2025-12-04T11:14:52.212Z",
  "deletedAt": null
}
```
This commit is contained in:
nitin
2025-12-04 18:28:33 +05:30
committed by GitHub
parent 193be72289
commit 2f36c2e82e
24 changed files with 366 additions and 99 deletions
@@ -7,7 +7,7 @@ export const NOTE_RECORD_LAYOUT: RecordLayout = {
title: 'Note',
position: 101,
icon: 'IconNotes',
cards: [{ type: CardType.RichTextCard }],
cards: [{ type: CardType.FieldRichTextCard }],
hide: {
ifMobile: false,
ifDesktop: false,
@@ -7,7 +7,7 @@ export const TASK_RECORD_LAYOUT: RecordLayout = {
title: 'Note',
position: 101,
icon: 'IconNotes',
cards: [{ type: CardType.RichTextCard }],
cards: [{ type: CardType.FieldRichTextCard }],
hide: {
ifMobile: false,
ifDesktop: false,
@@ -18,7 +18,7 @@ export type CardTypeToConfiguration = {
[CardType.FileCard]: EmptyCardConfiguration;
[CardType.EmailCard]: EmptyCardConfiguration;
[CardType.CalendarCard]: EmptyCardConfiguration;
[CardType.RichTextCard]: EmptyCardConfiguration;
[CardType.FieldRichTextCard]: EmptyCardConfiguration;
[CardType.WorkflowCard]: EmptyCardConfiguration;
[CardType.WorkflowVersionCard]: EmptyCardConfiguration;
[CardType.WorkflowRunCard]: EmptyCardConfiguration;
@@ -9,6 +9,6 @@ export enum CardType {
WorkflowCard = 'WorkflowCard',
WorkflowVersionCard = 'WorkflowVersionCard',
WorkflowRunCard = 'WorkflowRunCard',
RichTextCard = 'RichTextCard',
FieldRichTextCard = 'FieldRichTextCard',
DashboardCard = 'DashboardCard',
}
@@ -12,7 +12,7 @@ import {
} from '@/object-record/record-show/types/CardConfiguration';
import { CardType } from '@/object-record/record-show/types/CardType';
import { useLayoutRenderingContext } from '@/ui/layout/contexts/LayoutRenderingContext';
import { RichTextCard } from '@/ui/layout/show-page/components/RichTextCard';
import { FieldRichTextCard } from '@/ui/layout/show-page/components/FieldRichTextCard';
import { WorkflowCard } from '@/workflow/workflow-diagram/components/WorkflowCard';
import { WorkflowRunCard } from '@/workflow/workflow-diagram/components/WorkflowRunCard';
import { WorkflowVersionCard } from '@/workflow/workflow-diagram/components/WorkflowVersionCard';
@@ -58,8 +58,8 @@ export const getCardComponent = <T extends CardType>(
/>
);
case CardType.RichTextCard:
return <CardRenderer Component={RichTextCard} />;
case CardType.FieldRichTextCard:
return <CardRenderer Component={FieldRichTextCard} />;
case CardType.TaskCard:
return <CardRenderer Component={TasksCard} />;