@ywfe/materials-design
Version:
YwDesign for lowcode
278 lines (277 loc) • 8.07 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 YwDetailInfoMeta = {
componentName: 'YwDetailInfo',
title: 'YwDetailInfo',
docUrl: '',
screenshot: '',
devMode: 'proCode',
group: '基础组件',
category: '页面模块',
npm: {
"package": '@ywfe/materials-design',
version: '0.0.1-beta.7',
exportName: 'YwDetailInfo',
main: 'src/index.tsx',
destructuring: true,
subName: ''
},
configure: {
props: [{
name: 'title',
title: {
label: '小标题',
tip: 'title | 小标题'
},
setter: {
componentName: 'StringSetter',
isRequired: false,
initialValue: ''
}
}, {
title: {
label: '标题尺寸',
tip: 'size | 标题尺寸'
},
name: 'size',
setter: {
componentName: 'RadioGroupSetter',
props: {
options: [{
label: 's',
value: 's'
}, {
label: 'm',
value: 'm'
}, {
label: 'l',
value: 'l'
}]
},
initialValue: 'm'
}
}, {
name: 'subtitle',
title: {
label: '副标题',
tip: 'subtitle | 副标题'
},
setter: [{
componentName: 'StringSetter',
isRequired: false,
initialValue: ''
}, {
componentName: 'SlotSetter',
isRequired: false,
initialValue: {
type: 'JSSlot',
value: []
}
}]
}, {
title: {
label: '数据源',
tip: 'dataSource | 数据源'
},
name: '_dataSource',
setter: {
componentName: 'FunctionSetter'
}
// extraProps: {
// setValue: (target, value) => {
// const dataSource = getPropValueWithPath(target, '.dataSource');
// },
// },
}, {
title: {
label: '数据展示',
tip: 'dataSource | 数据展示'
},
name: 'dataSource',
setter: {
componentName: 'ArraySetter',
props: {
itemSetter: {
componentName: 'ArraySetter',
props: {
itemSetter: {
componentName: 'ObjectSetter',
props: {
descriptor: 'label',
config: {
items: [{
title: {
label: '名称',
tip: 'label | 名称'
},
name: 'label',
setter: {
componentName: 'StringSetter',
isRequired: true,
initialValue: ''
}
}, {
title: {
label: '值',
tip: 'value | 值'
},
name: 'value',
supportVariable: false,
setter: {
componentName: 'MixedSetter',
props: {
setters: ['VariableSetter']
}
}
}, {
title: {
label: '列数',
tip: 'span | 列数'
},
name: 'span',
setter: {
componentName: 'SelectSetter',
props: {
options: [{
label: '一行三列',
value: 8
}, {
label: '一行四列',
value: 6
}, {
label: '一行六列',
value: 3
}]
},
initialValue: undefined
}
}, {
title: {
label: '是否展示',
tip: 'visible | 是否展示'
},
name: 'visible',
setter: {
componentName: 'BoolSetter',
isRequired: false,
initialValue: true
}
}, {
title: {
label: '长文本收起',
tip: 'hasMore | 超长文案收起'
},
name: 'hasMore',
setter: {
componentName: 'BoolSetter',
isRequired: false,
initialValue: false
}
}, {
title: {
label: '自定义标签',
tip: 'renderLabel | 自定义标签'
},
name: 'renderLabel',
setter: {
componentName: 'FunctionSetter',
isRequired: false
}
}, {
title: {
label: '自定义值',
tip: 'renderValue | 自定义值'
},
name: 'renderValue',
setter: {
componentName: 'SlotSetter',
title: '自定义值',
initialValue: {
type: 'JSSlot',
params: ['value'],
value: []
}
}
}],
extraSetter: {
componentName: 'MixedSetter',
isRequired: false,
props: {}
}
}
}
}
},
initialValue: []
}
},
initialValue: []
},
extraProps: {
setValue: function setValue(target, value) {
var isDeep = function isDeep(arr) {
return arr.some(function (item) {
return item instanceof Array;
});
};
if (isDeep(value)) {
target.parent.setPropValue('dataSource', value);
return;
}
var arr = value.map(function (v) {
var _arr = [];
Object.values(v).forEach(function (item) {
return _arr.push(item);
});
return _arr;
}).filter(function (v) {
return !!v.length;
});
target.parent.setPropValue('dataSource', arr);
}
}
// condition: (target) => !!getPropValueWithPath(target, '._dataSource'),
}],
supports: {
style: true
},
component: {
isContainer: true
}
}
};
var snippets = [{
title: '详情信息',
svgId: 'icon-xiangqingxinxi',
screenshot: 'https://yw-fed-static.oss-cn-hangzhou.aliyuncs.com/lowcode/basicInfo',
schema: {
componentName: 'YwDetailInfo',
props: {
title: '基本信息',
subtitle: '信息描述',
style: {
width: '100%'
},
dataSource: [[{
label: '平台类型',
value: '快手小店'
}, {
label: '平台店铺',
value: '李宣卓的小店'
}, {
label: '平台单号',
value: '4454353425436546546',
span: 8
}, {
label: '支付时间',
value: '2022-06-09 23:55:55'
}]]
}
}
}];
var _default = exports["default"] = (0, _extends2["default"])({}, YwDetailInfoMeta, {
snippets: snippets
});