UNPKG

jjb-lc-designable

Version:

基于alibaba-designable源码二次封装的表单设计器。

71 lines 2.23 kB
import { createBehavior } from 'jjb-lc-designable/core'; import { createFieldSchema, createVoidFieldSchema } from '../Field'; import { AllSchemas } from '../../schemas'; import { AllLocales } from '../../locales'; export const createArrayBehavior = name => { return createBehavior({ name, extends: ['Field'], selector: node => node.props['x-component'] === name, designerProps: { droppable: true, propsSchema: createFieldSchema(AllSchemas[name]) }, designerLocales: AllLocales[name] }, { name: `${name}.Addition`, extends: ['Field'], selector: node => node.props['x-component'] === `${name}.Addition`, designerProps: { allowDrop(parent) { return parent.props['x-component'] === name; }, propsSchema: createVoidFieldSchema(AllSchemas[name].Addition) }, designerLocales: AllLocales.ArrayAddition }, { name: `${name}.Remove`, extends: ['Field'], selector: node => node.props['x-component'] === `${name}.Remove`, designerProps: { allowDrop(parent) { return parent.props['x-component'] === name; }, propsSchema: createVoidFieldSchema() }, designerLocales: AllLocales.ArrayRemove }, { name: `${name}.Index`, extends: ['Field'], selector: node => node.props['x-component'] === `${name}.Index`, designerProps: { allowDrop(parent) { return parent.props['x-component'] === name; }, propsSchema: createVoidFieldSchema() }, designerLocales: AllLocales.ArrayIndex }, { name: `${name}.MoveUp`, extends: ['Field'], selector: node => node.props['x-component'] === `${name}.MoveUp`, designerProps: { allowDrop(parent) { return parent.props['x-component'] === name; }, propsSchema: createVoidFieldSchema() }, designerLocales: AllLocales.ArrayMoveUp }, { name: `${name}.MoveDown`, extends: ['Field'], selector: node => node.props['x-component'] === `${name}.MoveDown`, designerProps: { allowDrop(parent) { return parent.props['x-component'] === 'ArrayCards'; }, propsSchema: createVoidFieldSchema() }, designerLocales: AllLocales.ArrayMoveDown }); };