export const actionColumnField = { name: 'actionColumnProps', title: '操作列', extraProps: { display: 'accordion', defaultCollapsed: true, }, setter: { componentName: 'ObjectSetter', props: { display: 'drawer', config: { items: [ { name: 'key', title: '标题', condition: () => false, setter: { componentName: 'StringSetter', }, }, { type: 'field', name: 'hidden', title: '关闭操作列', setter: 'BoolSetter', }, { name: 'title', title: '标题', setter: { componentName: 'StringSetter', }, }, { type: 'field', name: 'width', title: '宽度', setter: { componentName: 'NumberSetter', props: { units: 'px', }, }, }, { type: 'field', name: 'sort', title: '排序', setter: { componentName: 'NumberSetter', }, }, { name: 'fixed', title: '锁列', display: 'inline', initialValue: 'none', setter: { componentName: 'RadioGroupSetter', props: { options: [ { title: '左侧', value: 'left', tip: 'left', }, { title: '不锁', value: 'none', tip: 'none', }, { title: '右侧', value: 'right', tip: 'right', }, ], compact: false, }, }, }, ], }, }, }, }; export const buttonConfigureProps = [ { name: 'children', title: '名称', display: 'inline', initialValue: '操作', isRequired: true, setter: 'StringSetter', }, { name: 'borderRadius', title: '圆角', setter: { componentName: 'NumberSetter', props: { units: 'px', }, }, }, { name: 'size', title: { label: '按钮大小', tip: 'size | 按钮大小' }, propType: { type: 'oneOf', value: ['default', 'middle', 'small'], }, setter: [ { componentName: 'RadioGroupSetter', props: { options: [ { title: '大', value: 'large', }, { title: '中', value: 'middle', }, { title: '小', value: 'small', }, ], }, }, 'VariableSetter', ], }, { name: 'type', title: '按钮样式', display: 'inline', isRequired: true, initialValue: 'primary', setter: { componentName: 'SelectSetter', props: { options: [ { title: 'text', value: 'text', }, { title: 'link', value: 'link', }, { title: '普通按钮', value: 'default', }, { title: '主按钮', value: 'primary', }, ], }, }, }, { name: 'key', title: '标识', condition: false, initialValue: (currentValue, defaultValue) => currentValue || defaultValue || `data-${Math.random().toString(36).substr(-6)}`, setter: { componentName: 'StringSetter', }, }, { name: 'disabled', title: '是否禁用', display: 'inline', initialValue: false, setter: 'BoolSetter', }, { name: 'popconfirm', title: '气泡弹出', display: 'inline', initialValue: false, setter: 'BoolSetter', }, // { // name: 'hidden', // title: '是否隐藏', // display: 'inline', // initialValue: false, // setter: 'BoolSetter', // }, { name: 'onClick', title: '点击事件', setter: 'FunctionSetter', }, ]; export const buttonGroupConfigureProp = { type: 'field', // name: 'buttonGroup', title: '按钮组', extraProps: { display: 'accordion', defaultCollapsed: true, }, setter: { componentName: 'ObjectSetter', props: { config: { items: [ { name: 'render', title: { label: '自定义渲染', tip: 'render | 插槽内的物料表达式可通过this.record获取当前行数据,this.index获取索引', }, propType: 'func', setter: [ { componentName: 'SlotSetter', title: '单元格插槽', initialValue: { type: 'JSSlot', params: ['text', 'record', 'index'], value: [], }, }, 'VariableSetter', ], }, // { // type: 'field', // name: 'textModel', // title: { // label: '文字模式', // tip: '是否设定按钮为文字模式', // }, // setter: 'BoolSetter', // }, { name: 'buttonSource', title: '按钮组', extraProps: { display: 'plain', }, setter: { componentName: 'ArraySetter', props: { hideDescription: true, itemSetter: { componentName: 'ObjectSetter', props: { config: { items: buttonConfigureProps, }, }, initialValue: () => ({ children: '操作', type: 'normal', }), }, }, }, }, ], }, }, }, };