import { Button, Popover } from '@arco-design/web-react'; import React from 'react'; import { createFieldFactory } from './factory'; import type { FieldDetailComponent, FieldEditComponent } from './types'; import { useViewTypeContext } from '../../context/viewtype'; import { JSONView } from '../JSONView'; function getObjectSize(obj: any): number { if (!obj) { return 0; } if (Array.isArray(obj)) { return obj.length; } else if (typeof obj === 'object') { return Object.keys(obj).length; } else { return String(obj).length; } } export const JSONFieldDetail: FieldDetailComponent = React.memo( (props) => { const viewType = useViewTypeContext(); if (viewType === 'list') { return ( }> ); } else { return ; } } ); JSONFieldDetail.displayName = 'JSONFieldDetail'; export const JSONFieldEdit: FieldEditComponent = React.memo((props) => { return ( props.onChange(edit.updated_src), }} /> ); }); JSONFieldEdit.displayName = 'JSONFieldEdit'; export const createJSONField = createFieldFactory({ detail: JSONFieldDetail, edit: JSONFieldEdit, });