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

const OadpBusinessTableMeta: IPublicTypeComponentMetadata = {
  "componentName": "OadpBusinessTable",
  "title": "业务表格",
  "docUrl": "",
  "category": "高级组件",
  "group": "低代码组件",
  "screenshot": "https://img.alicdn.com/tfs/TB1ZU1HuVT7gK0jSZFpXXaTkpXa-112-64.png",
  "devMode": "proCode",
  "npm": {
    "package": "oadp-material",
    "version": "{{version}}",
    "exportName": "OadpBusinessTable",
    "main": "src/index.tsx",
    "destructuring": true,
    "subName": ""
  },
  "configure": {
    "props": [
      {
        "name": "DisplaySetting",
        "title": "显示设置",
        "type": "group",
        "display": "block",
        "items": [      
          {
            "name": "direction",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "direction",
                "zh-CN": "主轴方向"
              },
              "tip": {
                "type": "i18n",
                "en-US": "prop: direction | description: direction, optional values: hoz=hoz, ver=ver.default: ver.",
                "zh-CN": "属性: direction | 说明: 水平对齐，可选值:hoz=水平, ver=垂直。默认为:ver。"
              }
            },
            "description": "主轴方向",
            "setter": {
              "componentName": "RadioGroupSetter",
              "props": {
                "dataSource": [
                  {
                    "label": "水平",
                    "value": "hoz"
                  },
                  {
                    "label": "垂直",
                    "value": "ver"
                  }
                ],
                "options": [
                  {
                    "label": "水平",
                    "value": "hoz"
                  },
                  {
                    "label": "垂直",
                    "value": "ver"
                  }
                ]
              },
              "initialValue": "ver"
            }
          },
          {
            "name": "autoFit",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "autoFit",
                "zh-CN": "自适应内容"
              },
              "tip": {
                "type": "i18n",
                "en-US": "autoFit",
                "zh-CN": "是否宽度（行模式下）/ 高度（列模式下）自适应内容"
              }
            },
            "description": "是否宽度（行模式下）/ 高度（列模式下）自适应内容",
            "setter": {
              "componentName": "BoolSetter",
              "isRequired": false,
              "initialValue": false
            }
          },             
          {
            "name": "width",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "width",
                "zh-CN": "固定宽度"
              },
              "tip": {
                "type": "i18n",
                "en-US": "width",
                "zh-CN": "width | 在行模式下，未设置 autoFit 时, 自定义单个 cell 的宽度，"
              }
            },
            "description": "在行模式下，未设置 autoFit 时, 自定义单个 cell 的宽度，",
            "setter": {
              "componentName": "MixedSetter",
              "props": {
                "setters": [
                  {
                    "componentName": "StringSetter",
                    "isRequired": false,
                    "initialValue": ""
                  },
                  {
                    "componentName": "NumberSetter",
                    "isRequired": false,
                    "initialValue": 0
                  }
                ]
              }
            }
          },
          {
            "name": "height",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "height",
                "zh-CN": "指定高度"
              },
              "tip":  {
                "type": "i18n",
                "en-US": "height",
                "zh-CN": "指定高度"
              }
            },
            "description": "指定高度",
            "setter": {
              "componentName": "MixedSetter",
              "props": {
                "setters": [
                  {
                    "componentName": "StringSetter",
                    "isRequired": false,
                    "initialValue": ""
                  },
                  {
                    "componentName": "NumberSetter",
                    "isRequired": false,
                    "initialValue": 0
                  }
                ]
              }
            }
          },
          {
            "name": "align",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "align",
                "zh-CN": "水平对齐"
              },
              "tip": {
                "type": "i18n",
                "en-US": "prop: align | description: alignment, optional values: left=left, center=center, right=right.default: right.",
                "zh-CN": "属性: align | 说明: 水平对齐，可选值:left=居左对齐, center=居中对齐, right=居右对齐。默认为:center。"
              }
            },
            "description": "属性: align | 说明: 水平对齐，可选值:left=居左对齐, center=居中对齐, right=居右对齐。默认为:right。",
            "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": "right"
            }
          },
          {
            "name": "verAlign",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "verAlign",
                "zh-CN": "垂直对齐"
              },
              "tip": {
                "type": "i18n",
                "en-US": "prop: align | description: verAlign alignment, optional values: top=top, middle=middle, bottom=bottom, space-around=space-around, space-between=space-between, space-evenly=space-evenly.default: middle.",
                "zh-CN": "属性: align | 说明: 垂直对齐，可选值:top=顶部对齐, middle=居中对齐, bottom=底部对齐, space-around=等分对齐, space-between=两端对齐, space-evenly=绝对均分。默认为:middle。"
              }
            },
            "description": "垂直对齐",
            "setter": {
              "componentName": "RadioGroupSetter",
              "props": {
                "dataSource": [
                  {
                    "label": "顶部对齐",
                    "value": "top"
                  },
                  {
                    "label": "居中对齐",
                    "value": "middle"
                  },
                  {
                    "label": "底部对齐",
                    "value": "bottom"
                  },
                  {
                    "label": "等分对齐",
                    "value": "space-around"
                  },
                  {
                    "label": "两端对齐",
                    "value": "space-between"
                  },
                  {
                    "label": "绝对均分",
                    "value": "space-evenly"
                  }
                ],
                "options": [
                  {
                    "label": "顶部对齐",
                    "value": "top"
                  },
                  {
                    "label": "居中对齐",
                    "value": "middle"
                  },
                  {
                    "label": "底部对齐",
                    "value": "bottom"
                  },
                  {
                    "label": "等分对齐",
                    "value": "space-around"
                  },
                  {
                    "label": "两端对齐",
                    "value": "space-between"
                  },
                  {
                    "label": "绝对均分",
                    "value": "space-evenly"
                  }
                ]
              },
              "initialValue": "middle"
            }
          },
          {
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "gap",
                "zh-CN": "间距"
              },
              "tip": {
                "type": "i18n",
                "en-US": "prop: gap | description: gap.default: auto.",
                "zh-CN": "属性: gap | 说明: 间距。默认为:auto。"
              }
            },
            "name": "gap",
            "description": "间距",
            "setter": {
              "componentName": "MixedSetter",
              "props": {
                "setters": [
                  {
                    "componentName": "NumberSetter",
                    "isRequired": false,
                    "initialValue": 0
                  },
                  {
                    "componentName": "RadioGroupSetter",
                    "props": {
                      "dataSource": [
                        {
                          "label": "自动",
                          "value": "auto"
                        }
                      ],
                      "options": [
                        {
                          "label": "自动",
                          "value": "auto"
                        }
                      ]
                    },
                    "initialValue": "auto"
                  }
                ]
              }
            }
          },              
          {
            "name": "block",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "block",
                "zh-CN": "启用区块"
              },
              "tip": {
                "label": {
                  "type": "i18n",
                  "en-US": "block",
                  "zh-CN": "block | 启用 display:block 模式(默认为 flex )"
                }
              }
            },
            "description": "启用 display:block 模式(默认为 flex )",
            "setter": {
              "componentName": "BoolSetter",
              "isRequired": false,
              "initialValue": true
            }
          }
        ]
      }  
    ],
    "supports": {
      "style": true
    },
    "component": {
      "isContainer": true
    }
  }
};
const snippets: IPublicTypeSnippet[] = [
  {
    "title": "业务表格",
    "screenshot": "https://img.alicdn.com/tfs/TB1ZU1HuVT7gK0jSZFpXXaTkpXa-112-64.png",
    "schema": {
      "componentName": "OadpBusinessTable",
      "props": { 
        "direction": "ver",
        "autoFit": false,
        "align": "right",
        "verAlign": "middle",
        "block": true
      },
      "hidden": false,
      "title": "",
      "isLocked": false,
      "condition": true,
      "conditionGroup": "",
      "children": [
        {
          "componentName": "OadpButtonBar", 
          "props": {
            "direction": "row",
            "justify": "end",
            "align": "center"
          },
          "hidden": false,
          "title": "",
          "isLocked": false,
          "condition": true,
          "conditionGroup": "",
          "children": [
            {
              "componentName": "OadpButton", 
              "props": {
                "label": "新增",
                "type": "primary",
                "size": "medium",
                "disabled": false,
                "style": {
                  "marginTop": "5px",
                  "marginBottom": "5px",
                  "marginLeft": "10px",
                  "marginRight": "10px"
                },
                "text": false
              },
              "hidden": false,
              "title": "",
              "isLocked": false,
              "condition": true,
              "conditionGroup": ""
            }
          ]
        },
        {
          "componentName": "OadpTable", 
          "props": {
            "dataSource": [
              {
                "name": "王小",
                "id": "1",
                "age": 15000,
                "role": "开发"
              },
              {
                "name": "王中",
                "id": "2",
                "age": 25000,
                "role": "产品"
              },
              {
                "name": "王大",
                "id": "3",
                "age": 35000,
                "role": "设计"
              }
            ],
            "size": "small",
            "hasBorder": false,
            "hasHeader": true,
            "isZebra": false,
            "fixedHeader": false,
            "stickyHeader": true,
            "crossline": false,
            "style": {
              "marginTop": "5px",
              "marginBottom": "5px",
              "marginLeft": "10px",
              "marginRight": "10px"
            },
            "tableLayout": "auto",
            "setEmptyContent": true
          },
          "hidden": false,
          "title": "",
          "isLocked": false,
          "condition": true,
          "conditionGroup": "",
          "children": [
            {
              "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": "",
              "title": ""
            },
            {
              "componentName": "OadpTableColumn", 
              "props": {
                "dataIndex": "action",
                "title": "操作",
                "htmlTitle": "action",
                "width": 100,
                "alignHeader": "center",
                "align": "center",
                "lock": false,
                "wordBreak": "all",
                "cell": {
                  "type": "JSSlot",
                  "params": [
                    "value",
                    "index",
                    "record"
                  ],
                  "value": [
                    {
                      "componentName": "OadpButtonBar", 
                      "props": {
                        "direction": "row",
                        "justify": "end",
                        "align": "center"
                      },
                      "docId": "docm1k9ccnx",
                      "hidden": false,
                      "title": "",
                      "isLocked": false,
                      "condition": true,
                      "conditionGroup": "",
                      "children": [
                        {
                          "componentName": "OadpButton", 
                          "props": {
                            "label": "编辑",
                            "type": "primary",
                            "size": "medium",
                            "disabled": false,
                            "style": {
                              "marginLeft": "5px",
                              "marginRight": "5px"
                            },
                            "text": true
                          }, 
                          "hidden": false,
                          "title": "",
                          "isLocked": false,
                          "condition": true,
                          "conditionGroup": ""
                        },
                        {
                          "componentName": "OadpButton",
                          "props": {
                            "label": "删除",
                            "type": "primary",
                            "size": "medium",
                            "disabled": false,
                            "style": {
                              "marginLeft": "5px",
                              "marginRight": "5px"
                            },
                            "text": true
                          },
                          "hidden": false,
                          "title": "",
                          "isLocked": false,
                          "condition": true,
                          "conditionGroup": ""
                        }
                      ]
                    }
                  ],
                }
              },
              "hidden": false,
              "isLocked": false,
              "condition": true,
              "conditionGroup": "",
              "title": ""
            }
          ]
        },
        {
          "componentName": "OadpPagination",
          "props": {
            "defaultCurrent": 1,
            "current": 1,
            "total": 100,
            "pageSize": 10,
            "type": "normal",
            "size": "medium",
            "shape": "no-border",
            "pageSizeSelector": "dropdown",
            "pageSizePosition": "end",
            "style": {
              "marginTop": "5px",
              "marginBottom": "5px",
              "marginLeft": "10px",
              "marginRight": "10px",
              "textAlign": "right"
            },
            "pageShowCount": 4,
            "pageSizeList": [
              20,
              50,
              100,
              500
            ]
          },
          "hidden": false,
          "title": "",
          "isLocked": false,
          "condition": true,
          "conditionGroup": ""
        }
      ]
    }
  }
];

export default {
  ...OadpBusinessTableMeta,
  snippets
};
