import type { IComponentPrototype } from "@xirang/studio-helpers";
import { StylePrototypes } from "./common";
export const Upload: IComponentPrototype = {
name: "Upload",
title: "上传",
package: "@xirang/design-antd",
icon: "icon-shangchuan",
type: "element",
help: "基础的文件选择上传和拖拽上传控件",
hasChildren: true,
childrenName: "Button",
initChildren: '',
relatedImports: ["Button"],
props: [
...StylePrototypes,
{
name: "accept",
title: "接受上传的文件类型",
setter: "textSetter",
},
{ name: "action", title: "上传的地址", setter: "textSetter" },
{
name: "beforeUpload",
title: "上传文件之前的钩子",
setter: "expressionSetter",
group: "advanced",
},
{
name: "customRequest",
title: "覆盖默认的上传行为",
setter: "expressionSetter",
group: "advanced",
},
{
name: "data",
title: "额外参数",
tip: "上传所需额外参数或返回上传额外参数的方法",
setter: "expressionSetter",
},
{
name: "defaultFileList",
title: "默认已上传文件列表",
setter: "expressionSetter",
},
{
name: "directory",
title: "支持上传文件夹",
setter: "boolSetter",
},
{
name: "disabled",
title: "是否禁用",
setter: "boolSetter",
},
{
name: "fileList",
title: "已经上传的文件列表(受控)",
setter: "expressionSetter",
},
{
name: "headers",
title: "设置上传的请求头部",
tip: "设置上传的请求头部,IE10 以上有效",
setter: "expressionSetter",
group: "advanced",
},
{
name: "iconRender",
title: "自定义显示 icon",
setter: "iconSetter",
group: "advanced",
},
{
name: "isImageUrl",
title: "使用
标签显示",
tip: "自定义缩略图是否使用
标签进行显示",
setter: "expressionSetter",
group: "advanced",
},
{
name: "itemRender",
title: "自定义上传列表项",
setter: "expressionSetter",
group: "advanced",
},
{
name: "listType",
title: "上传列表的内建样式",
setter: "pickerSetter",
group: "advanced",
setterProps: {
options: [
{ label: "text", value: "text" },
{ label: "picture", value: "picture" },
{ label: "picture-card", value: "picture-card" },
],
},
},
{
name: "maxCount",
title: "限制上传数量",
setter: "numberSetter",
},
{
name: "method",
title: "上传请求的 http method",
setter: "textSetter",
group: "advanced",
},
{
name: "multiple",
title: "是否支持多选文件",
setter: "boolSetter",
},
{
name: "name",
title: "发到后台的文件参数名",
setter: "textSetter",
group: "advanced",
},
{
name: "openFileDialogOnClick",
title: "点击打开文件对话框",
setter: "boolSetter",
group: "advanced",
},
{
name: "previewFile",
title: "自定义文件预览逻辑",
setter: "expressionSetter",
group: "advanced",
},
{
name: "progress",
title: "自定义进度条样式",
setter: "expressionSetter",
group: "advanced",
},
{
name: "showUploadList",
title: "是否展示文件列表",
setter: "boolSetter",
},
{
name: "withCredentials",
title: "上传请求时是否携带 cookie",
setter: "boolSetter",
group: "advanced",
},
{
name: "onChange",
title: "上传文件改变时的状态",
setter: "actionSetter",
group: "event",
},
{
name: "onDrop",
title: "文件拖入上传区域回调",
setter: "actionSetter",
group: "event",
},
{
name: "onDownload",
title: "点击下载文件时的回调",
tip: "点击下载文件时的回调,如果没有指定,则默认跳转到文件 url 对应的标签页",
setter: "actionSetter",
group: "event",
},
{
name: "onPreview",
title: "点击文件链接或预览图标时的回调",
setter: "actionSetter",
group: "event",
},
{
name: "onRemove",
title: "点击移除文件时的回调",
setter: "actionSetter",
group: "event",
},
],
};
export const UploadDragger: IComponentPrototype = {
name: "UploadDragger",
title: "拖拽上传",
package: "@xirang/design-antd",
icon: "",
type: "element",
props: [
...StylePrototypes,
{
name: "accept",
title: "接受上传的文件类型",
setter: "textSetter",
},
{ name: "action", title: "上传的地址", setter: "textSetter" },
{
name: "beforeUpload",
title: "上传文件之前的钩子",
setter: "expressionSetter",
},
{
name: "customRequest",
title: "覆盖默认的上传行为",
setter: "expressionSetter",
},
{
name: "data",
title: "额外参数",
tip: "上传所需额外参数或返回上传额外参数的方法",
setter: "expressionSetter",
},
{
name: "defaultFileList",
title: "默认已上传文件列表",
setter: "expressionSetter",
},
{
name: "directory",
title: "支持上传文件夹",
setter: "boolSetter",
},
{
name: "disabled",
title: "是否禁用",
setter: "boolSetter",
},
{
name: "fileList",
title: "已经上传的文件列表(受控)",
setter: "expressionSetter",
},
{
name: "headers",
title: "设置上传的请求头部",
tip: "设置上传的请求头部,IE10 以上有效",
setter: "expressionSetter",
},
{
name: "iconRender",
title: "自定义显示 icon",
setter: "iconSetter",
},
{
name: "isImageUrl",
title: "使用
标签显示",
tip: "自定义缩略图是否使用
标签进行显示",
setter: "expressionSetter",
},
{
name: "itemRender",
title: "自定义上传列表项",
setter: "expressionSetter",
},
{
name: "listType",
title: "上传列表的内建样式",
setter: "pickerSetter",
setterProps: {
options: [
{ label: "text", value: "text" },
{ label: "picture", value: "picture" },
{ label: "picture-card", value: "picture-card" },
],
},
},
{
name: "maxCount",
title: "限制上传数量",
setter: "numberSetter",
},
{
name: "method",
title: "上传请求的 http method",
setter: "textSetter",
},
{
name: "multiple",
title: "是否支持多选文件",
setter: "boolSetter",
},
{
name: "name",
title: "发到后台的文件参数名",
setter: "textSetter",
},
{
name: "openFileDialogOnClick",
title: "点击打开文件对话框",
setter: "boolSetter",
},
{
name: "previewFile",
title: "自定义文件预览逻辑",
setter: "expressionSetter",
},
{
name: "progress",
title: "自定义进度条样式",
setter: "expressionSetter",
},
{
name: "showUploadList",
title: "是否展示文件列表",
setter: "boolSetter",
},
{
name: "withCredentials",
title: "上传请求时是否携带 cookie",
setter: "boolSetter",
},
{
name: "onChange",
title: "上传文件改变时的状态",
setter: "actionSetter",
group: "event",
},
{
name: "onDrop",
title: "文件拖入上传区域回调",
setter: "actionSetter",
group: "event",
},
{
name: "onDownload",
title: "点击下载文件时的回调",
tip: "点击下载文件时的回调,如果没有指定,则默认跳转到文件 url 对应的标签页",
setter: "actionSetter",
group: "event",
},
{
name: "onPreview",
title: "点击文件链接或预览图标时的回调",
setter: "actionSetter",
group: "event",
},
{
name: "onRemove ",
title: "点击移除文件时的回调",
setter: "actionSetter",
group: "event",
},
{
name: "height",
title: "高度",
setter: "textSetter",
},
],
};