@ywfe/materials-design
Version:
YwDesign for lowcode
263 lines (262 loc) • 6.85 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _base = require("../_base");
var _utils = require("../_utils");
var refConfig = (0, _utils.getRefConfig)('table_dialog');
var YwTableDialogMeta = {
componentName: 'YwTableDialog',
title: '表格弹窗',
docUrl: '',
screenshot: '',
group: '基础组件',
category: '弹窗',
devMode: 'proCode',
npm: {
"package": '@ywfe/materials-design',
version: '0.0.1-beta.6',
exportName: 'YwTableDialog',
main: 'src/index.tsx',
destructuring: true,
subName: ''
},
configure: {
props: [refConfig, {
title: '弹窗配置项',
display: 'block',
type: 'group',
items: [{
name: 'title',
title: {
label: '弹窗标题',
tip: 'title | 标题'
},
setter: {
componentName: 'StringSetter',
props: {
placeholder: '请输入'
}
}
}, {
name: 'size',
title: {
label: '弹窗尺寸',
tip: 'size | 弹窗尺寸'
},
supportVariable: false,
setter: {
componentName: 'SelectSetter',
initialValue: 'm',
props: {
options: [{
label: '超小号',
value: 'xs'
}, {
label: '小号',
value: 's'
}, {
label: '中号',
value: 'm'
}, {
label: '大号',
value: 'l'
}, {
label: '全屏',
value: 'full'
}]
}
}
}, {
title: {
label: '按钮文字',
tip: 'btnText | 按钮文字'
},
name: 'btnText',
description: '按钮文字',
supportVariable: false,
setter: {
componentName: 'StringSetter',
initialValue: '按钮',
props: {
placeholder: '请输入'
}
}
}, {
title: {
label: '按钮类型',
tip: 'btnType | 按钮类型'
},
supportVariable: false,
name: 'btnType',
description: '按钮类型',
defaultValue: 'default',
setter: {
componentName: 'SelectSetter',
props: {
options: [{
label: '主按钮',
value: 'primary'
}, {
label: '次按钮',
value: 'default'
}, {
label: '链接按钮',
value: 'link'
}]
},
initialValue: 'primary'
}
}, {
name: 'onOk',
title: {
label: '确认事件',
tip: 'onOk | 确认按钮点击事件'
},
setter: {
componentName: 'SchemaFunctionSetter',
props: {
title: 'onClick',
async: true,
properties: {
input: {
type: 'object',
properties: {
keys: {
type: 'array'
},
data: {
type: 'array'
}
},
required: ['keys', 'data']
},
body: {
type: 'array',
items: [{
type: 'Function',
properties: {
template: 'RequestFunction',
variable: 'requestRes',
extraProps: {}
}
}]
},
required: ['input', 'body']
}
}
}
}]
}, {
title: '筛选区配置项',
display: 'block',
type: 'group',
items: [{
name: 'hasFilter',
title: {
label: '开启筛选',
tip: '是否开启表格筛选'
},
setter: 'BoolSetter',
supportVariable: false,
defaultValue: false,
extraProps: {
setValue: function setValue(target, value) {
target.parent.setPropValue('filterItems', value ? [] : null);
}
}
}, {
title: {
label: '筛选项',
tip: '筛选项'
},
name: 'filterItems',
supportVariable: false,
condition: function condition(target) {
return target.parent.getPropValue('hasFilter');
},
setter: {
componentName: 'ArraySetter',
props: {
itemSetter: {
componentName: 'ObjectSetter',
props: {
descriptor: 'title',
config: {
items: _base.BaseFormItemProps
}
},
initialValue: function initialValue() {
var mockProps = {};
_base.BaseFormItemProps.forEach(function (item) {
if (item.defaultValue) {
if (typeof item.defaultValue === 'function') {
mockProps[item.name] = item.defaultValue();
} else {
mockProps[item.name] = item.defaultValue;
}
}
});
return (0, _extends2["default"])({
component: 'Input'
}, mockProps);
}
}
}
}
}]
}, {
title: '表格区配置项',
display: 'block',
type: 'group',
items: _base.TableBaseProps
}],
supports: {
events: [{
name: 'onCancel',
description: '取消回调'
}, {
name: 'onOpen',
description: '弹窗打开回调'
}, {
name: 'afterClose'
}],
style: true,
className: true,
loop: false
},
component: {
isContainer: false
}
}
};
var snippets = [{
title: '表格弹窗',
svgId: 'icon-biaogetanchuang',
screenshot: 'https://yw-fed-static.oss-cn-hangzhou.aliyuncs.com/lowcode/tableDialog',
schema: {
componentName: 'YwTableDialog',
props: {
btnText: '打开弹窗',
btnType: 'link',
title: '弹窗标题',
visible: undefined,
onTableInit: {
type: 'JSExpression',
value: '(ref)=>{console.log(ref)}'
},
initialValues: {
type: 'JSExpression',
value: 'this.record'
},
reload: {
type: 'JSExpression',
value: 'this.reload'
}
}
}
}];
var _default = exports["default"] = (0, _extends2["default"])({}, YwTableDialogMeta, {
snippets: snippets
});