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

const OadpFilterMeta: IPublicTypeComponentMetadata = {
  "componentName": "OadpFilter",
  "title": "过滤器",
  "category": "高级组件",
  "group": "低代码组件",
  "docUrl": "",
  "screenshot": "https://img.alicdn.com/imgextra/i1/O1CN01O4Oshp1RA6Z0sFZ6h_!!6000000002070-55-tps-56-56.svg",
  "devMode": "proCode",
  "npm": {
    "package": "oadp-material",
    "version": "{{version}}",
    "exportName": "OadpFilter",
    "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": {
      "events": [
        {
          "name": "onReset",
          "description": "点击次按钮回调"
        }
      ],
      "style": true
    },
    "component": {
      "isContainer": true
    }
  }
};
const snippets: IPublicTypeSnippet[] = [
  {
    "title": "过滤器",
    "screenshot": "https://img.alicdn.com/imgextra/i1/O1CN01O4Oshp1RA6Z0sFZ6h_!!6000000002070-55-tps-56-56.svg",
    "schema": {
      "componentName": "OadpFilter",
      "props": { 
        "direction": "ver",
        "autoFit": false,
        "align": "right",
        "verAlign": "middle",
        "block": true
      },
      "hidden": false,
      "title": "",
      "isLocked": false,
      "condition": true,
      "conditionGroup": "",
      "children": [ 
        {
          "componentName": "OadpForm", 
          "props": {
            "size": "medium",
            "labelAlign": "top",
            "labelTextAlign": "left",
            "inline": true,
            "fullWidth": false,
            "responsive": false,
            "isPreview": false,
            "useLabelForErrorMessage": false,
            "preferMarginToDisplayHelp": false,
            "colon": false,
            "disabled": false,
            "style": {
              "marginTop": "5px",
              "marginBottom": "5px",
              "marginLeft": "10px",
              "marginRight": "10px"
            }
          },
          "hidden": false,
          "title": "",
          "isLocked": false,
          "condition": true,
          "conditionGroup": "",
          "children": [
            {
              "componentName": "OadpFormItem", 
              "props": {
                "label": "名称",
                "required": false,
              },
              "hidden": false,
              "title": "",
              "isLocked": false,
              "condition": true,
              "conditionGroup": "",
              "children": [
                {
                  "componentName": "OadpInput", 
                  "props": {
                    "name": "name",
                    "placeholder": "请输入名称",
                    "style": {
                      "width": "256px"
                    },  
                  },
                  "hidden": false,
                  "title": "",
                  "isLocked": false,
                  "condition": true,
                  "conditionGroup": ""
                }
              ]
            },
            {
              "componentName": "OadpFormItem", 
              "props": {
                "label": "编码",
                "required": false
              },
              "hidden": false,
              "title": "",
              "isLocked": false,
              "condition": true,
              "conditionGroup": "",
              "children": [
                {
                  "componentName": "OadpInput",
                  "props": {
                    "name": "code",
                    "placeholder": "请输入编码",
                    "style": {
                      "width": "256px"
                    },  
                  },
                  "hidden": false,
                  "title": "",
                  "isLocked": false,
                  "condition": true,
                  "conditionGroup": ""
                }
              ]
            }
          ]
        },
        {
          "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": ""
            }
          ]
        },
        
      ]
    }
  }
];

export default {
  ...OadpFilterMeta,
  snippets
};
