@ywfe/materials-design
Version:
YwDesign for lowcode
251 lines (250 loc) • 6.25 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.formItemsProps = exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _utils = require("../../_utils");
var _base = require("../../_base");
var _jsonFormBaseProps = require("../../_base/json-form-base-props");
var formItemsProps = exports.formItemsProps = {
name: 'items',
title: {
label: '表单项',
tip: 'items | 表单项'
},
display: 'accordion',
virtual: true,
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);
}
}
}
}
};
var props = [{
// name: 'globalConfig',
title: {
label: '全局配置',
tip: 'globalConfig | 全局配置'
},
type: 'group',
display: 'accordion',
items: [{
name: 'ref',
condition: _utils.hideProp,
setter: function setter(target) {
if (!(target !== null && target !== void 0 && target.getValue())) {
target === null || target === void 0 ? void 0 : target.setValue("pro-form-" + (target === null || target === void 0 ? void 0 : target.id));
}
return 'StringSetter';
}
}, {
name: 'editable',
title: {
label: '状态',
tip: 'editable | 状态'
},
setter: {
componentName: 'RadioGroupSetter',
props: {
options: [{
title: '预览态',
value: false
}, {
title: '编辑态',
value: true
}]
}
},
defaultValue: true
}, {
name: 'disabled',
// virtual: true,
title: {
label: '禁用',
tip: 'disabled | 禁用'
},
setter: 'BoolSetter',
defaultValue: false
}, _jsonFormBaseProps.sizeConfig, {
name: 'layoutProps',
title: {
label: '表单布局',
tip: 'layoutProps | 表单布局'
},
setter: {
componentName: 'ObjectSetter',
props: {
config: _jsonFormBaseProps.layoutConfig
},
initialValue: {
labelCol: '6',
wrapperCol: '10'
}
}
}
// {
// name: 'layoutProps.layout',
// title: {
// label: {
// type: 'i18n',
// zh_CN: '标签位置',
// en_US: 'Label Align',
// },
// tip: {
// type: 'i18n',
// zh_CN: '属性: labelAlign | 说明: 标签的位置\n@enumdesc 上, 左, 内',
// en_US: 'prop: labelAlign | description: label align',
// },
// },
// setter: {
// componentName: 'RadioGroupSetter',
// props: {
// options: [
// {
// title: '上',
// value: 'top',
// },
// {
// title: '左',
// value: 'left',
// },
// ],
// },
// },
// extraProps: {
// setValue: (target, value) => {
// if (value === 'top') {
// target.getProps().setPropValue('layoutProps', {
// layout: 'vertical',
// labelCol: '6',
// wrapperCol: '10',
// });
// } else if (value === 'left') {
// target.getProps().setPropValue('layoutProps', {
// layout: 'horizontal',
// labelCol: '6',
// wrapperCol: '10',
// });
// }
// },
// },
// defaultValue: 'top',
// },
// {
// name: 'colon',
// title: '是否展示冒号',
// setter: 'BoolSetter',
// },
]
}, {
name: 'initialValues',
title: {
label: '表单默认值',
tip: 'initialValues | 表单默认值'
},
setter: {
componentName: 'MixedSetter',
props: {
setters: ['JsonSetter', 'FunctionSetter']
}
}
}, {
name: 'onSubmit',
title: {
label: '提交事件',
tip: 'onSubmit | 提交事件'
},
setter: {
componentName: 'MixedSetter',
props: {
setters: [{
componentName: 'SchemaFunctionSetter',
props: {
title: 'getDataSource',
async: true,
properties: {
input: {
type: 'object',
properties: {
values: {
type: 'object'
}
},
required: ['values']
},
body: {
type: 'array',
items: [{
type: 'Function',
properties: {
template: 'RequestFunction',
variable: 'requestRes',
extraProps: {
params: '{{values}}'
}
}
}, {
type: 'Function',
properties: {
template: 'HistoryPushFunction',
extraProps: {
url: '',
params: '{{undefined}}',
hash: '{{undefined}}'
}
}
}]
}
}
}
}]
}
}
},
// {
// name: 'getFormValues',
// title: {
// label: '动态获取表单数据',
// tip: 'getFormValues | 动态获取表单数据',
// },
// setter: 'FunctionSetter',
// },
// {
// name: '_getFormData',
// title: {
// label: '动态数据源',
// tip: '_getFormData | 动态数据源',
// },
// setter: {
// componentName: 'MixedSetter',
// props: {
// setters: ['DatasourceSetter', 'ExpressionSetter'],
// },
// },
// },
formItemsProps];
var _default = exports["default"] = props;