import type { RendererProps } from 'jamis-core'; import type { BaseSchema, StaticControlSchemaBase } from '../../types'; /** * JSON 数据展示控件。 */ export interface JsonSchema extends BaseSchema { /** * 指定为Json展示类型 */ type: 'json'; /** * 默认展开的级别 */ levelExpand?: number; /** * 支持从数据链取值 */ source?: string; /** * 是否可修改 */ mutable?: boolean; /** * 是否显示数据类型 */ displayDataTypes?: boolean; /** * 是否可复制 */ enableClipboard?: boolean; /** * 图标风格 */ iconStyle?: 'square' | 'circle' | 'triangle'; /** * 是否显示键的引号 */ quotesOnKeys?: boolean; /** * 是否为键排序 */ sortKeys?: boolean; /** * 设置字符串的最大展示长度,超出长度阈值的字符串将被截断,点击value可切换字符串展示方式,默认为false */ ellipsisThreshold?: number | false; /** * 默认值 */ value?: any; } export interface StaticJsonSchema extends Omit, StaticControlSchemaBase { type: 'static-json'; } export interface JSONProps extends RendererProps, Omit { levelExpand: number; className?: string; placeholder?: string; jsonTheme: string; hideRoot?: boolean; source?: string; }