jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
63 lines (62 loc) • 1.46 kB
TypeScript
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<JsonSchema, 'type'>, StaticControlSchemaBase {
type: 'static-json';
}
export interface JSONProps extends RendererProps, Omit<JsonSchema, 'data'> {
levelExpand: number;
className?: string;
placeholder?: string;
jsonTheme: string;
hideRoot?: boolean;
source?: string;
}