
const label = '上传';
const name = 'UploadBox';
let i = 1;
const uniqueId = () => `upload-box-${i++}`;

export const uploadBox = {
	// 插入菜单位置
	menu: 'aide',
	// 图标
	icon: 'fc-icon-code ',
	// 名称
	label: label,
	// id，唯一!
	name: name,
	// 是否可以操作
	mask: true,
	// 定义组件的事件
	event: [
		"onRemove",
		"onUpload",
		"preview"
	],
	// 定义组件的渲染规则s
	rule() {
		return {
			type: name,
			field: uniqueId(),
			title: label,
			info: '',
			effect: {
				fetch: '',
			},
			props: {
				fileList: [],
				uploadFiles: [],// 进度条控制
				disabled: false,
				type: "drag",// 上传类型
			},
		};
	},

	// 自定义组件的属性配置
	props() {
		return [
			{
				type: 'Struct',
				title: '文件列表',
				field: 'fileList',
				_fc_important_prop: true,
				props: {
					validate(val) {
						return !val || Array.isArray(val);
					}
				},
				value: []
			},
			{
				type: 'Struct',
				title: '上传中的文件列表',// 进度条控制
				field: 'uploadFiles',
				_fc_important_prop: true,
				props: {
					validate(val) {
						return !val || Array.isArray(val);
					}
				},
				value: []
			},
			{
				type: 'Switch',
				title: '是否禁用',
				field: 'disabled',
				value: false,
			},
			{
				type: 'select',
				title: '类型',
				field: 'type',
				options: [
					{ label: '拖拽', value: 'drag' },
					{ label: '按钮', value: 'btn' },
				],
				value: "drag", // 默认值
			},
		];
	},
};
