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

const OadpUploadMeta: IPublicTypeComponentMetadata = {
  "componentName": "OadpUpload",
  "title": "上传组件",
  "docUrl": "",
  "category": "高级组件",
  "group": "低代码组件",
  "screenshot": "https://alifd.oss-cn-hangzhou.aliyuncs.com/fusion-cool/icons/icon-light/ic_light_upload.png",
  "devMode": "proCode",
  "npm": {
    "package": "oadp-material",
    "version": "{{version}}",
    "exportName": "OadpUpload",
    "main": "src/index.tsx",
    "destructuring": true,
    "subName": ""
  },
  "configure": {
    "props": [
      {
        "name": "DataSetting",
        "title": "数据设置",
        "type": "group",
        "display": "block",
        "items": [   
          {
            "name": "name",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "表单标识",
                "en_US": "Name",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: name | 说明: 表单标识",
                "en_US": "prop: name | description: switch name",
              },
            },
            "setter": "StringSetter", 
            "supportVariable": false,
          },
          {
            "name": "id",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "唯一标识",
                "en_US": "ID",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: id | 说明: 唯一标识",
                "en_US": "prop: id | description: switch id",
              },
            },
            "setter": "StringSetter" 
          },
          {
            "name": "action",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "上传地址",
                "en_US": "action",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: action | 说明: 上传地址",
                "en_US": "prop: action | description: upload address.",
              },
            },
            "setter": "StringSetter" 
          },
          {
            "name": "defaultValue",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "默认值",
                "en_US": "Default Value",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: defaultValue | 说明: 默认值",
                "en_US": "prop: defaultValue | description: Default Value",
              },
            },
            "setter": {
              "componentName": "ArraySetter",
              "props": {
                "itemSetter": {
                  "componentName": "ObjectSetter",
                  "props": {
                    "config": {
                      "items": [
                        {
                          "name": "label",
                          "title": "label",
                          "setter": "StringSetter",
                          "supportVariable": true,
                        },
                        {
                          "name": "value",
                          "title": "value",
                          "setter": "StringSetter",
                          "supportVariable": true,
                        },
                      ],
                    },
                  },
                  "initialValue": {
                    "label": "选项一",
                    "value": "1",
                  },
                },
              },
            },
            "supportVariable": true,
            "description": "默认值",
          },  
          {
            "name": "accept",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "允许格式",
                "en_US": "accept",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: accept | 说明: 允许格式",
                "en_US": "prop: accept | description: accept file type.",
              },
            },
            "setter": "StringSetter" 
          },
          {
            "name": "method",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "method",
                "zh-CN": "请求方法"
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: method | 说明: 请求方法，可选值:post=post, put=put。默认为:post。",
                "en_US": "prop: method | description: request method, optional values: post=post, put=put. The default is: post.",
              },
            },
            "description": "属性: method | 说明: 请求方法，可选值:post=post, put=put。默认为:post。",
            "setter": {
              "componentName": "RadioGroupSetter",
              "props": {
                "dataSource": [ 
                  {
                    "label": "post",
                    "value": "post"
                  },
                  {
                    "label": "put",
                    "value": "put"
                  }
                ],
                "options": [
                  {
                    "label": "post",
                    "value": "post"
                  },
                  {
                    "label": "put",
                    "value": "put"
                  }
                ]
              },
              "initialValue": "post"
            }
          }, 
          {
            "name": "reUpload",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "替换上传",
                "en_US": "reUpload",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: reUpload | 说明: 替换上传",
                "en_US": "prop: reUpload | description: reUpload",
              },
            },
            "setter": "BoolSetter",
            "supportVariable": false,
            "description": "替换上传",
          },
          {
            "name": "multiple",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "支持多选",
                "en_US": "multiple",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: multiple | 说明: 支持多选",
                "en_US": "prop: multiple | description: multiple",
              },
            },
            "setter": "BoolSetter",
            "supportVariable": false,
            "description": "支持多选",
          },
          {
            "name": "limit",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "最大个数",
                "en_US": "limit",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: limit | 说明: 最大个数",
                "en_US": "prop: limit | description: limit, unit: millisecond",
              },
            }, 
            "setter": {
              "componentName": "NumberSetter",
              "isRequired": false,
              "initialValue": 60
            },
            "supportVariable": false,
            "description": "最大个数",
          },
          {
            "name": "timeout",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "超时时间",
                "en_US": "timeout",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: timeout | 说明: 超时时间，单位毫秒ms",
                "en_US": "prop: timeout | description: timeout, unit: millisecond",
              },
            }, 
            "setter": {
              "componentName": "NumberSetter",
              "isRequired": false,
              "initialValue": 60
            },
            "supportVariable": false,
            "description": "超时时间",
          }, 
        ]
      },
      {
        "name": "DisplaySetting",
        "title": "显示设置",
        "type": "group",
        "display": "block",
        "items": [  
          {
            "name": "shape",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "shape",
                "zh-CN": "外观模式"
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: shape | 说明: 外观模式，可选值:''=默认, card=卡片模式。默认为:card。",
                "en_US": "prop: shape | description: shape mode, optional values: ''=default mode, card=card mode. The default is: card.",
              },
            },
            "description": "属性: shape | 说明: 外观模式，可选值:''=默认, card=卡片模式。默认为:card。",
            "setter": {
              "componentName": "RadioGroupSetter",
              "props": {
                "dataSource": [ 
                  {
                    "label": "默认模式",
                    "value": ""
                  },
                  {
                    "label": "卡片模式",
                    "value": "card"
                  }
                ],
                "options": [
                  {
                    "label": "默认模式",
                    "value": ""
                  },
                  {
                    "label": "卡片模式",
                    "value": "card"
                  }
                ]
              },
              "initialValue": "normal"
            }
          },  
          {
            "name": "listType",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "listType",
                "zh-CN": "列表类型"
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: listType | 说明: 列表类型，可选值:text=文本模式, image=图片模式, card=卡片模式。默认为:text。",
                "en_US": "prop: listType | description: list type, optional values: text=text mode, image=image mode, card=card mode. The default is: text.",
              },
            },
            "description": "属性: listType | 说明: 列表类型，可选值:text=文本模式, image=图片模式, card=卡片模式。默认为:text。",
            "setter": {
              "componentName": "RadioGroupSetter",
              "props": {
                "dataSource": [ 
                  {
                    "label": "文本模式",
                    "value": "text"
                  },
                  {
                    "label": "图片模式",
                    "value": "image"
                  },
                  {
                    "label": "卡片模式",
                    "value": "card"
                  }
                ],
                "options": [
                  {
                    "label": "文本模式",
                    "value": "text"
                  },
                  {
                    "label": "图片模式",
                    "value": "image"
                  },
                  {
                    "label": "卡片模式",
                    "value": "card"
                  }
                ]
              },
              "initialValue": "text"
            }
          },  
        ]
      }, 
      {
        "name": "InteractionSetting",
        "title": "交互设置",
        "type": "group",
        "display": "block",
        "items": [ 
          {
            "name": "disabled",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "禁用",
                "en_US": "Disabled",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: disabled | 说明: 禁用",
                "en_US": "prop: disabled | description: disabled",
              },
            },
            "setter": "BoolSetter",
            "supportVariable": false,
            "description": "禁用",
          },  
          {
            "name": "dragable",
            "title": {
              "label": {
                "type": "i18n",
                "zh_CN": "拖拽上传",
                "en_US": "dragable",
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: dragable | 说明:拖拽上传",
                "en_US": "prop: dragable | description: dragable upload",
              },
            },
            "setter": "BoolSetter",
            "supportVariable": false,
            "description": "拖拽上传",
          },  
          {
            "name": "useDataURL",
            "title": {
              "label": {
                "type": "i18n",
                "en-US": "useDataURL",
                "zh-CN": "本地预览"
              },
              "tip": {
                "type": "i18n",
                "zh_CN": "属性: useDataURL | 说明: 本地预览",
                "en_US": "prop: useDataURL | description: useDataURL",
              },
            },
            "description": "本地预览",
            "setter": {
              "componentName": "BoolSetter",
              "isRequired": false,
              "initialValue": false
            }
          },
        ]
      },
    ],
    "supports": {
      "style": true
    },
    "component": {}
  }
};
const snippets: IPublicTypeSnippet[] = [
  {
    "title": "上传组件",
    "screenshot": "https://alifd.oss-cn-hangzhou.aliyuncs.com/fusion-cool/icons/icon-light/ic_light_upload.png",
    "schema": {
      "componentName": "OadpUpload", 
      "props": {     
        "disabled": false,  
        "method": "post",
        "reUpload": true,
        "multiple": true,
        "limit": 60,
        "timeout": 60,
        "shape": "card",
        "listType": "text",
        "dragable": true,
        "useDataURL": true,
        "style": { 
          "width": 256 
        }, 
      },
    }
  }
];

export default {
  ...OadpUploadMeta,
  snippets
};
