UNPKG

@cainiaofe/cn-ui-lowcode

Version:
94 lines (91 loc) 2.63 kB
import { Bundle } from '@ali/visualengine'; import React from 'react'; // import { createSlot } from '@ali/vu-slot-property'; import Icon from './logo.tsx'; import { createButtonListSetters } from '@/common/manager/button'; import { getDialogBasePrototype } from '@/common/util/dialog'; import { ButtonPosition } from '@/common/manager/position/button-position'; import { createFormDataSourceSetters } from '../cn-form-alc/prototype/form-item'; import { removeDataSourceByNode } from '@/common/util/util'; import { DisplayPosition } from '@/common/manager/position/display-position'; import { getJSExpressionPrototype } from '@/common/manager/common-style'; import { createEventSetters } from '@/common/manager/event'; const CnDialogBundle = Bundle.createPrototype({ title: '弹窗(Dialog)', componentName: 'CnDialog', category: '布局', icon: Icon, docUrl: 'https://cone.cainiao-inc.com/market/awesome?business=internationality&id=3313', hasSlot: true, isInline: false, isContainer: true, isModal: true, enableCopy: true, rectSelector: 'div.cn-dialog-alc', snippets: [ { screenshot: 'https://img.alicdn.com/tfs/TB1gaZrr.T1gK0jSZFhXXaAtVXa-1048-366.png', label: 'CnDialog', schema: { componentName: 'CnDialog', props: {}, }, }, ], onNodeRemoveByUser(node) { removeDataSourceByNode(node); }, configure: [ ...getDialogBasePrototype({ position: DisplayPosition.dialog }), { name: '_context', title: '上下文', initialValue: { type: 'JSExpression', value: 'this', }, display: 'none', }, { name: 'buttons', title: '底部按钮栏', display: 'accordion', // collapsed:false, initialValue: [ { children: '取消', optType: 'cancel', primaryKey: 'cancel', }, { children: '确定', optType: 'cancel', primaryKey: 'ok', type: 'primary', }, ], // supportVariable: true, setter: createButtonListSetters({ position: ButtonPosition.dialog }), }, ...createEventSetters({ position: ButtonPosition.dialogEvent, initialValue: {}, title: '配置弹窗的回调', }), ...createFormDataSourceSetters({ extraConfigure: [ { name: 'handleProps', title: '手动设置组件props', display: 'inline', setter: getJSExpressionPrototype({ type: 'props', }), }, ], }), ], }); export default CnDialogBundle;