jjb-lc-designable
Version:
基于alibaba-designable源码二次封装的表单设计器。
52 lines • 1.46 kB
JavaScript
import { Upload as FormilyUpload } from 'jjb-lc-formily/antd';
import { createBehavior, createResource } from 'jjb-lc-designable/core';
import { createFieldSchema } from '../Field';
import { AllSchemas } from '../../schemas';
import { AllLocales } from '../../locales';
export const Upload = FormilyUpload;
Upload.Behavior = createBehavior({
name: 'Upload',
extends: ['Field'],
selector: node => node.props['x-component'] === 'Upload',
designerProps: {
propsSchema: createFieldSchema(AllSchemas.Upload)
},
designerLocales: AllLocales.Upload
}, {
name: 'Upload.Dragger',
extends: ['Field'],
selector: node => node.props['x-component'] === 'Upload.Dragger',
designerProps: {
propsSchema: createFieldSchema(AllSchemas.Upload.Dragger)
},
designerLocales: AllLocales.UploadDragger
});
Upload.Resource = createResource({
icon: 'UploadSource',
elements: [{
componentName: 'Field',
props: {
type: 'Array<object>',
title: 'Upload',
'x-decorator': 'FormItem',
'x-component': 'Upload',
'x-component-props': {
textContent: 'Upload'
}
}
}]
}, {
icon: 'UploadDraggerSource',
elements: [{
componentName: 'Field',
props: {
type: 'Array<object>',
title: 'Drag Upload',
'x-decorator': 'FormItem',
'x-component': 'Upload.Dragger',
'x-component-props': {
textContent: 'Click or drag file to this area to upload'
}
}
}]
});