jjb-lc-designable
Version:
基于alibaba-designable源码二次封装的表单设计器。
36 lines (32 loc) • 1.04 kB
text/typescript
import React from 'react'
import { FormLayout as FormilyFormLayout } from 'jjb-lc-formily/antd'
import { createBehavior, createResource } from 'jjb-lc-designable/core'
import { DnFC } from 'jjb-lc-designable/react'
import { withContainer } from '../../common/Container'
import { createVoidFieldSchema } from '../Field'
import { AllSchemas } from '../../schemas'
import { AllLocales } from '../../locales'
export const FormLayout: DnFC<React.ComponentProps<typeof FormilyFormLayout>> =
withContainer(FormilyFormLayout)
FormLayout.Behavior = createBehavior({
name: 'FormLayout',
extends: ['Field'],
selector: (node) => node.props['x-component'] === 'FormLayout',
designerProps: {
droppable: true,
propsSchema: createVoidFieldSchema(AllSchemas.FormLayout),
},
designerLocales: AllLocales.FormLayout,
})
FormLayout.Resource = createResource({
icon: 'FormLayoutSource',
elements: [
{
componentName: 'Field',
props: {
type: 'void',
'x-component': 'FormLayout',
},
},
],
})