
import { IPublicTypeComponentMetadata, IPublicTypeSnippet } from '@alilc/lowcode-types';

const OadpTableColumnMeta: IPublicTypeComponentMetadata = {
  "componentName": "OadpTableColumn",
  "title": "高级表格项",
  "category": "高级组件",
  "group": "低代码组件",
  "docUrl": "",
  "screenshot": "https://img.alicdn.com/tfs/TB1ZU1HuVT7gK0jSZFpXXaTkpXa-112-64.png", 
  "devMode": "proCode",
  "npm": {
    "package": "oadp-material",
    "version": "{{version}}",
    "exportName": "OadpTableColumn",
    "main": "src/index.tsx",
    "destructuring": true,
    "subName": ""
  },
  "configure": {
    "props": [ 
      {
        "name": "DataSetting",
        "title": "数据设置",
        "type": "group",
        "display": "block",
        "items": [
          { 
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "DataIndex",
                "zh-CN": "数据索引"
              },
              "tip":  {
                "type": "i18n",
                "zh_CN": "属性: dataIndex | 说明:设置表格列数据索引。",
                "en_US": "prop: dataIndex | description: Set Table Column DataIndex.",
              },
            },
            "name": "dataIndex",
            "description": "数据索引",
            "setter": {
              "componentName": "StringSetter",
              "isRequired": false,
              "initialValue": ""
            },
            "supportVariable": true,
          }, 
        ]
      },       {
        "name": "DisplaySetting",
        "title": "显示设置",
        "type": "group",
        "display": "block",
        "items": [
          {
            "name": "title",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "title",
                "zh-CN": "标题"
              },
              "tip":  {
                "type": "i18n",
                "zh_CN": "属性: title | 说明:设置表格列标题。",
                "en_US": "prop: title | description: Set Table Column Title.",
              }, 
            },
            "description": "标题",
            "setter": {
              "componentName": "StringSetter",
              "isRequired": false,
              "initialValue": ""
            }
          },
          {
            "name": "htmlTitle",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "htmlTitle",
                "zh-CN": "悬停提示"
              },
              "tip":  {
                "type": "i18n",
                "zh_CN": "属性: htmlTitle | 说明:表格列头悬停提示，为空则不显示 | 类型: string | 默认值:空",
                "en_US": "prop: htmlTitle | description: The table column header hovers over the prompt, and if it is empty, it does not display | Type: string | Default value: Null",
              },  
            },
            "description": "悬停提示",
            "setter": {
              "componentName": "StringSetter",
              "isRequired": false,
              "initialValue": ""
            }
          },
          {
            "name": "width",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "列宽",
                "en_US": "Width",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: width | 说明: 列宽",
                "en_US": "prop: width | description: Width",
              },
            },
            "description": "列宽", 
            "setter": {
              "componentName": "NumberSetter",
              "props": {
                "units": "px",
              },
            },
            "supportVariable": true,
          },
          {
            "name": "alignHeader",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "alignHeader",
                "zh-CN": "标题对齐"
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: alignHeader | 说明: 标题对齐，可选值:left=居左对齐, center=居中对齐, right=居右对齐。默认为:center。",
                "en_US": "prop: alignHeader | description: Header alignment, optional values: left=left, center=center, right=right.default: center.",
              },
            },
            "description": "属性: alignHeader | 说明: 标题对齐，可选值:left=居左对齐, center=居中对齐, right=居右对齐。默认为:center。",
            "setter": {
              "componentName": "RadioGroupSetter",
              "props": {
                "dataSource": [ 
                  {
                    "label": "居左对齐",
                    "value": "left"
                  },
                  {
                    "label": "居中对齐",
                    "value": "center"
                  },
                  {
                    "label": "居右对齐",
                    "value": "right"
                  }
                ],
                "options": [ 
                  {
                    "label": "居左对齐",
                    "value": "left"
                  },
                  {
                    "label": "居中对齐",
                    "value": "center"
                  },
                  {
                    "label": "居右对齐",
                    "value": "right"
                  }
                ]
              },
              "initialValue": "center"
            }
          },
          {
            "name": "align",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "align",
                "zh-CN": "内容对齐"
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: align | 说明: 内容对齐，可选值:left=居左对齐, center=居中对齐, right=居右对齐。默认为:center。",
                "en_US": "prop: align | description: Content alignment, optional values: left=left, center=center, right=right.default: center.",
              },
            },
            "description": "属性: align | 说明: 内容对齐，可选值:left=居左对齐, center=居中对齐, right=居右对齐。默认为:center。",
            "setter": {
              "componentName": "RadioGroupSetter",
              "props": {
                "dataSource": [ 
                  {
                    "label": "居左对齐",
                    "value": "left"
                  },
                  {
                    "label": "居中对齐",
                    "value": "center"
                  },
                  {
                    "label": "居右对齐",
                    "value": "right"
                  }
                ],
                "options": [ 
                  {
                    "label": "居左对齐",
                    "value": "left"
                  },
                  {
                    "label": "居中对齐",
                    "value": "center"
                  },
                  {
                    "label": "居右对齐",
                    "value": "right"
                  }
                ]
              },
              "initialValue": "center"
            }
          }, 
          // {
          //   "name": "lock",
          //   "title": {
          //     "label": {
          //       "type": "i18n",
          //       "en-US": "lock",
          //       "zh-CN": "锁列方式"
          //     },
          //     "tip": {
          //       "type": "i18n",
          //       "zh_CN": "属性: lock | 说明: 锁列方式 | 类型: Boolean/String 可选值:left=居左锁定, right=居右锁定, true=开启, false=未开启。默认为:false。",
          //       "en_US": "prop: lock | Description: Column locking mode | Type: Boolean/String Optional values: left=left locked, right=right locked, true=enabled, false=not enabled. The default is false.",
          //     },
          //   },
          //   "description": "属性: lock | 说明: 锁列方式 | 类型: Boolean/String 可选值:left=居左锁定, right=居右锁定, true=开启, false=未开启。默认为:false。",
          //   "setter": {
          //     "componentName": "RadioGroupSetter",
          //     "props": {
          //       "dataSource": [
          //         {
          //           "label": "未开启",
          //           "value": false
          //         },
          //         {
          //           "label": "开启",
          //           "value": true
          //         },
          //         {
          //           "label": "居左锁定",
          //           "value": "left"
          //         },
          //         {
          //           "label": "居右锁定",
          //           "value": "right"
          //         }
          //       ],
          //       "options": [ 
          //         {
          //           "label": "未开启",
          //           "value": false
          //         },
          //         {
          //           "label": "开启",
          //           "value": true
          //         },
          //         {
          //           "label": "居左锁定",
          //           "value": "left"
          //         },
          //         {
          //           "label": "居右锁定",
          //           "value": "right"
          //         }
          //       ]
          //     },
          //     "initialValue": false
          //   }
          // }, 
          {
            "name": "wordBreak",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "wordBreak",
                "zh-CN": "换行方式"
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: wordBreak | 说明: 换行方式，可选值:all=整体换行, word=分词换行。默认为:all。",
                "en_US": "prop: wordBreak | description: Word Break, optional values: all=all, word=word.default: all.",
              },
            },
            "description": "属性: wordBreak | 说明: 换行方式，可选值:all=整体换行, word=分词换行。默认为:all。",
            "setter": {
              "componentName": "RadioGroupSetter",
              "props": {
                "dataSource": [ 
                  {
                    "label": "整体换行",
                    "value": "all"
                  },
                  {
                    "label": "分词换行",
                    "value": "word"
                  }
                ],
                "options": [ 
                  {
                    "label": "整体换行",
                    "value": "all"
                  },
                  {
                    "label": "分词换行",
                    "value": "word"
                  }
                ]
              },
              "initialValue": "all"
            }
          },
          {
            "name": "cell",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "Render Logic",
                "zh-CN": "渲染逻辑"
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: cell | 说明: 渲染逻辑，类型：ReactElement/ReactNode/Function。函数类型时，参数为：value, index, record。Function(value, index, record) => Element",
                "en_US": "prop: cell | description: Rendering logic, type: ReactElement/ReactNode/Function. When the function type is used, the parameters are: value, index, record. Function (value, index, record) => Element",
              },
            },
            "description": "属性: cell | 说明: 渲染逻辑，类型：ReactElement/ReactNode/Function。函数类型时，参数为：value, index, record。Function(value, index, record) => Element",
            "setter": {
              "componentName": "SlotSetter",
              "isRequired": true,
              "initialValue": {
                "type": "JSSlot",
                "params": ["value", "index", "record"],
                "value": [
                ]
              }
            }
          },
        ],
      }
    ],
    "supports": {
      "style": true
    },
    "component": { 
    }
  }
};
const snippets: IPublicTypeSnippet[] = [
  {
    "title": "表格项",
    "screenshot": "https://img.alicdn.com/tfs/TB1ZU1HuVT7gK0jSZFpXXaTkpXa-112-64.png", 
    "schema": {
      "componentName": 'OadpTableColumn',
      "props": {
        "dataIndex": "name",
        "title": "名称",
        "htmlTitle": "name",
        "width": 200,
        "alignHeader": "center",
        "align": "center",
        "lock": false,
        "wordBreak": "all",
        },
      "hidden": false,
      "isLocked": false,
      "condition": true,
      "conditionGroup": ""
    }
  }
];

export default {
  ...OadpTableColumnMeta,
  snippets
};
