Skip to content

TemplateView ( 模板视图相关 )

ts
import type { TemplateFormField } from '../TemplateForm/index';

/**
 * 模板视图配置
 */
export interface TemplateView {
  /** 视图 ID */
  id: string;
  /** 视图名称 */
  name: string;

  /**
   * 桌面端表格显示字段
   *  - `JSON.parse` 后, 可使用 `TemplateViewColumn[]` 类型
   *  - 如果是 `@smartos-lib/apis` 的 `getTemplateView` 方法返回的数据, 可使用 `TemplateViewColumnAndConfig[]` 类型
   */
  showControls: string;
  /**
   * APP 端表格显示字段
   *  - `JSON.parse` 后, 可使用 `TemplateViewColumn[]` 类型
   *  - 如果是 `@smartos-lib/apis` 的 `getTemplateView` 方法返回的数据, 可使用 `TemplateViewColumnAndConfig[]` 类型
   */
  appShowControls: string;

  /** 桌面端快速筛选配置 */
  fastFilters: string | null;
  /** APP 端快速筛选配置 */
  appFastFilters: string | null;

  /** 数据过滤 */
  filters: string | null;

  /** 排序 */
  sorts: string | null;

  /** 摘要 */
  abstracts: string | null;

  /** 颜色规则 */
  colorRule: string | null;

  /** 视图归属模板 ID */
  templateId: string;
  /** 视图归属租户 ID */
  tenantId: string;
}

/**
 * 模板视图表格显示字段
 *  - 模板视图配置中的 `showControls` 字段 `JSON.parse` 格式化后的内容
 */
export interface TemplateViewColumn {
  /** 属性名 */
  prop: string;
  /** 字段名称 */
  label: string;
  /** 是否显示 */
  show: boolean;
  /** 字段显示名称 */
  displayName?: string;
  /** 宽度 */
  width?: number;
}

/**
 * 模板视图表格显示字段
 *  - 扩展了 `info` 字段, 用于存储字段的配置信息
 */
export interface TemplateViewColumnAndConfig extends TemplateViewColumn {
  /** 字段配置 */
  info?: TemplateFormField;
}