diff --git a/client/packages/components/src/components/explorer/__tests__/format-value.test.ts b/client/packages/components/src/components/explorer/__tests__/format-value.test.ts new file mode 100644 index 0000000000..38a40f3dce --- /dev/null +++ b/client/packages/components/src/components/explorer/__tests__/format-value.test.ts @@ -0,0 +1,9 @@ +import { describe, expect, test } from 'vitest'; +import { formatVal } from '../format-value'; + +describe('formatVal', () => { + test('formats boolean values as visible text', () => { + expect(formatVal(true)).toBe('true'); + expect(formatVal(false)).toBe('false'); + }); +}); diff --git a/client/packages/components/src/components/explorer/format-value.ts b/client/packages/components/src/components/explorer/format-value.ts new file mode 100644 index 0000000000..8acf89ad9e --- /dev/null +++ b/client/packages/components/src/components/explorer/format-value.ts @@ -0,0 +1,9 @@ +import { isObject } from 'lodash'; + +export function formatVal(data: any, pretty?: boolean): string { + if (isObject(data)) { + return JSON.stringify(data, null, pretty ? 2 : undefined); + } + + return String(data); +} diff --git a/client/packages/components/src/components/explorer/inner-explorer.tsx b/client/packages/components/src/components/explorer/inner-explorer.tsx index d4303daf2d..044539a7e8 100644 --- a/client/packages/components/src/components/explorer/inner-explorer.tsx +++ b/client/packages/components/src/components/explorer/inner-explorer.tsx @@ -86,6 +86,7 @@ import { isObject } from 'lodash'; import { EditNamespaceDialog } from './edit-namespace-dialog'; import { EditRowDialog, isEditableExplorerAttr } from './edit-row-dialog'; import copy from 'copy-to-clipboard'; +import { formatVal } from './format-value'; const fallbackItems: any[] = []; @@ -539,10 +540,7 @@ export const InnerExplorer: React.FC<{ return info.row.original[attr.name]; } } - if (isObject(info.row.original[attr.name])) { - return ; - } - return info.row.original[attr.name]; + return formatVal(info.row.original[attr.name]); }, }); }); @@ -1469,14 +1467,6 @@ export const InnerExplorer: React.FC<{ ); }; -function formatVal(data: any, pretty?: boolean): string { - if (isObject(data)) { - return JSON.stringify(data, null, pretty ? 2 : undefined); - } - - return String(data); -} - function Val({ data, pretty }: { data: any; pretty?: boolean }) { const props = useExplorerProps(); const sanitized = formatVal(data, pretty); diff --git a/client/packages/components/src/components/explorer/table-components.tsx b/client/packages/components/src/components/explorer/table-components.tsx index 62ee64ff5d..f18ae84bed 100644 --- a/client/packages/components/src/components/explorer/table-components.tsx +++ b/client/packages/components/src/components/explorer/table-components.tsx @@ -29,6 +29,7 @@ import { isObject } from 'lodash'; import copy from 'copy-to-clipboard'; import { useExplorerDialog, useExplorerProps, useExplorerState } from '.'; import { TableColMeta } from './inner-explorer'; +import { formatVal } from './format-value'; export const TableHeader = ({ header, @@ -397,14 +398,6 @@ function isCopyableCellValue( return true; } -function formatVal(data: any, pretty?: boolean): string { - if (isObject(data)) { - return JSON.stringify(data, null, pretty ? 2 : undefined); - } - - return String(data); -} - function Val({ data, pretty }: { data: any; pretty?: boolean }) { const sanitized = formatVal(data, pretty); const explorerProps = useExplorerProps(); diff --git a/client/packages/version/src/version.ts b/client/packages/version/src/version.ts index 349d86c571..c46414d18f 100644 --- a/client/packages/version/src/version.ts +++ b/client/packages/version/src/version.ts @@ -2,6 +2,6 @@ // Update the version here and merge your code to main to // publish a new version of all of the packages to npm. -const version = 'v1.0.58'; +const version = 'v1.0.59'; export { version };