chore: Update TableAutoCellRender to handle object rendering in ArrayReader component
This commit is contained in:
parent
5e28f2d005
commit
a6d51567b7
4 changed files with 8 additions and 7 deletions
|
|
@ -1,10 +1,12 @@
|
||||||
|
import TableAutoCellRender from "../tableComponent/components/tableAutoCellRender";
|
||||||
|
|
||||||
export default function ArrayReader({ array }: { array: any[] }): JSX.Element {
|
export default function ArrayReader({ array }: { array: any[] }): JSX.Element {
|
||||||
//TODO check array type
|
//TODO check array type
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<ul>
|
<ul>
|
||||||
{array.map((item, index) => (
|
{array.map((item, index) => (
|
||||||
<li key={index}>{item}</li>
|
<li key={index}>{<TableAutoCellRender value={item} />}</li>
|
||||||
))}
|
))}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,9 @@ function RecordsOutputComponent({
|
||||||
rows: any;
|
rows: any;
|
||||||
columnMode?: "intersection" | "union";
|
columnMode?: "intersection" | "union";
|
||||||
}) {
|
}) {
|
||||||
|
console.log("rows", rows);
|
||||||
const columns = extractColumnsFromRows(rows, columnMode);
|
const columns = extractColumnsFromRows(rows, columnMode);
|
||||||
|
console.log("columns", columns);
|
||||||
|
|
||||||
const columnDefs = columns.map((col, idx) => ({
|
const columnDefs = columns.map((col, idx) => ({
|
||||||
...col,
|
...col,
|
||||||
|
|
|
||||||
|
|
@ -9,20 +9,17 @@ import { Badge } from "../../../ui/badge";
|
||||||
|
|
||||||
export default function TableAutoCellRender({
|
export default function TableAutoCellRender({
|
||||||
value,
|
value,
|
||||||
}: CustomCellRendererProps) {
|
}: CustomCellRendererProps | { value: any }) {
|
||||||
function getCellType() {
|
function getCellType() {
|
||||||
switch (typeof value) {
|
switch (typeof value) {
|
||||||
case "object":
|
case "object":
|
||||||
if (value === null) {
|
if (value === null) {
|
||||||
return String(value);
|
return String(value);
|
||||||
} else if (Array.isArray(value)) {
|
} else if (Array.isArray(value)) {
|
||||||
return <ArrayReader array={value} />;
|
return <ObjectRender object={value} />;
|
||||||
} else if (value.definitions) {
|
|
||||||
// use a custom render defined by the sender
|
|
||||||
} else {
|
} else {
|
||||||
return <ObjectRender object={value} />;
|
return <ObjectRender object={value} />;
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
case "string":
|
case "string":
|
||||||
if (isTimeStampString(value)) {
|
if (isTimeStampString(value)) {
|
||||||
return <DateReader date={value} />;
|
return <DateReader date={value} />;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
import { ColDef, ColGroupDef } from "ag-grid-community";
|
import { ColDef, ColGroupDef } from "ag-grid-community";
|
||||||
import clsx, { ClassValue } from "clsx";
|
import clsx, { ClassValue } from "clsx";
|
||||||
import { twMerge } from "tailwind-merge";
|
import { twMerge } from "tailwind-merge";
|
||||||
import TableAutoCellRender from "../components/tableComponent/components/tableAutoCellRender";
|
|
||||||
import { APIDataType, TemplateVariableType } from "../types/api";
|
import { APIDataType, TemplateVariableType } from "../types/api";
|
||||||
import {
|
import {
|
||||||
groupedObjType,
|
groupedObjType,
|
||||||
|
|
@ -10,6 +9,7 @@ import {
|
||||||
} from "../types/components";
|
} from "../types/components";
|
||||||
import { NodeType } from "../types/flow";
|
import { NodeType } from "../types/flow";
|
||||||
import { FlowState } from "../types/tabs";
|
import { FlowState } from "../types/tabs";
|
||||||
|
import TableAutoCellRender from "../components/tableComponent/components/tableAutoCellRender";
|
||||||
|
|
||||||
export function classNames(...classes: Array<string>): string {
|
export function classNames(...classes: Array<string>): string {
|
||||||
return classes.filter(Boolean).join(" ");
|
return classes.filter(Boolean).join(" ");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue