Merge branch 'components-panel' of gitlab.alibaba-inc.com:ali-lowcode/ali-lowcode-engine into components-panel

This commit is contained in:
春希 2020-07-27 17:34:29 +08:00
commit 06583d7bce
4 changed files with 249 additions and 75 deletions

View File

@ -9,8 +9,8 @@
{
"title": "fusion组件库",
"package": "@alifd/next",
"version": "1.19.18",
"urls": ["https://unpkg.antfin-inc.com/@alife/next@1.19.18/dist/next.js", "https://unpkg.antfin-inc.com/@alife/next@1.19.18/dist/next.css"],
"version": "1.20.0",
"urls": ["https://unpkg.antfin-inc.com/@alifd/next@1.20.0/dist/next.js", "https://unpkg.antfin-inc.com/@alifd/next@1.20.0/dist/next.css"],
"library": "Next"
},
{
@ -188,8 +188,9 @@
"propType": "object"
},
{
"name": "columns",
"propType": "array"
"name": "children",
"propType": "array",
"description": "列"
},
{
"name": "emptyContent",
@ -319,7 +320,7 @@
"exportName": "Table",
"main": "src/index.js",
"destructuring": true,
"subName": ""
"subName": "Column"
},
"props": [
{
@ -387,7 +388,7 @@
"name": "showZero",
"propType": "bool",
"description": "当count为0时是否显示count",
"defaultValue": false
"defaultValue": true
},
{
"name": "content",
@ -1077,10 +1078,8 @@
},
{
"name": "children",
"propType": {
"type": "instanceOf",
"value": "node"
}
"description": "内容",
"propType": "array"
},
{
"name": "style",
@ -1239,17 +1238,19 @@
},
{
"name": "children",
"propType": {
"type": "instanceOf",
"value": "node"
}
"propType": "array"
},
{
"name": "style",
"propType": "object",
"description": "自定义内联样式"
}
]
],
"configure": {
"component": {
"isContainer": true
}
}
},
{
"componentName": "Button.Group",
@ -4120,8 +4121,14 @@
{
"name": "children",
"propType": {
"type": "instanceOf",
"value": "node"
"type": "oneOfType",
"value": [
"bool",
{
"type": "instanceOf",
"value": "node"
}
]
},
"description": "内容"
},
@ -4284,8 +4291,10 @@
}
],
"configure": {
"isContainer": true,
"isModel": true
"component": {
"isContainer": true,
"isModel": true
}
}
},
{
@ -6112,7 +6121,12 @@
"name": "style",
"propType": "object"
}
]
],
"configure": {
"component": {
"isContainer": true
}
}
},
{
"componentName": "SubMenu",
@ -6236,7 +6250,7 @@
]
},
{
"componentName": "SelectableItem",
"componentName": "Menu.Item",
"title": "SelectableItem",
"docUrl": "",
"screenshot": "",
@ -6534,8 +6548,8 @@
]
},
{
"componentName": "Group",
"title": "Group",
"componentName": "Menu.Group",
"title": "Menu.Group",
"docUrl": "",
"screenshot": "",
"npm": {
@ -7838,7 +7852,7 @@
},
{
"name": "backgroundColor",
"propType": "string",
"propType": "color",
"description": "背景色"
},
{
@ -8228,6 +8242,11 @@
"name": "renderPreview",
"propType": "func",
"description": "预览态模式下渲染的内容\n@param {number} value 评分值"
},
{
"name": "value",
"propType": "number",
"description": "分值"
}
]
},
@ -9958,6 +9977,73 @@
}
]
},
{
"componentName": "Tag",
"title": "Tag",
"docUrl": "",
"screenshot": "",
"npm": {
"package": "@alifd/next",
"version": "1.19.18",
"exportName": "Tag",
"main": "src/index.js",
"destructuring": true
},
"props": [
{
"name": "prefix",
"propType": "string",
"defaultValue": "next-"
},
{
"name": "type",
"propType": {
"type": "oneOf",
"value": [
"normal",
"primary"
]
},
"description": "标签的类型"
},
{
"name": "size",
"propType": {
"type": "oneOf",
"value": [
"small",
"medium",
"large"
]
},
"description": "标签的尺寸large 尺寸为兼容表单场景 large = medium"
},
{
"name": "closeArea",
"propType": {
"type": "oneOf",
"value": [
"tag",
"tail"
]
}
},
{
"name": "color",
"propType": "string",
"description": "标签颜色, 目前支持blue、 green、 orange、red、 turquoise、 yellow 和 hex 颜色值 `color keywords`作为 Tag 组件的保留字,请勿直接使用 , `1.19.0` 以上版本生效"
},
{
"name": "children",
"propType": "array"
}
],
"configure": {
"component": {
"isContainer": true
}
}
},
{
"componentName": "TimePicker",
"title": "TimePicker",
@ -10252,7 +10338,12 @@
"name": "style",
"propType": "object"
}
]
],
"configure": {
"component": {
"isContainer": true
}
}
},
{
"componentName": "TimelineItem",
@ -10510,11 +10601,24 @@
"propType": "func",
"description": "接收 children 自定义渲染列表"
},
{
"name": "dataSource",
"propType": "array"
},
{
"name": "style",
"propType": "object"
}
]
],
"configure": {
"props": {
"isExtends": true,
"override": [{
"name": "dataSource",
"setter": "JsonSetter"
}]
}
}
},
{
"componentName": "Tree",
@ -10762,7 +10866,12 @@
"name": "style",
"propType": "object"
}
]
],
"configure": {
"component": {
"isContainer": true
}
}
},
{
"componentName": "TreeNode",
@ -11936,11 +12045,16 @@
"name": "style",
"propType": "object"
}
]
],
"configure": {
"component": {
"isContainer": true
}
}
},
{
"componentName": "Cell",
"title": "Cell",
"componentName": "ResponsiveGrid.Cell",
"title": "ResponsiveGrid.Cell",
"docUrl": "",
"screenshot": "",
"npm": {
@ -11993,7 +12107,12 @@
"name": "style",
"propType": "object"
}
]
],
"configure": {
"component": {
"isContainer": true
}
}
},
{
"componentName": "Box",
@ -12149,7 +12268,7 @@
"componentName": "Badge",
"props": {
"prefix": "next-",
"overflowCount": 99
"showZero": true
}
}
}
@ -12398,6 +12517,30 @@
}
]
},
{
"componentName": "Menu.Item",
"title": "菜单项",
"icon": "",
"package": "@alife/next",
"library": "Next",
"snippets": [
{
"title": "菜单项",
"screenshot": "https://alifd.oss-cn-hangzhou.aliyuncs.com/fusion-cool/icons/icon-light/ic_light_menu.png",
"schema": {
"componentName": "Menu.Item",
"props": {
"parentMode": "inline",
"type": "item",
"component": "",
"disabled": true,
"className": "",
"needIndent": ""
}
}
}
]
},
{
"componentName": "Progress",
"title": "进度指示器",
@ -12492,6 +12635,46 @@
"screenshot": "https://alifd.oss-cn-hangzhou.aliyuncs.com/fusion-cool/icons/icon-light/ic_light_timeline.png",
"schema": {
"componentName": "Timeline",
"props": {
"prefix": "next-",
"fold": [],
"animation": true
},"children": [
{
"componentName": "TimelineItem",
"props": {
"state": "process",
"title": "12344"
}
},
{
"componentName": "TimelineItem",
"props": {
"title": "Ship"
}
},
{
"componentName": "TimelineItem",
"props": {
"title": "Order"
}
}
]
}
}
]
},{
"componentName": "TimelineItem",
"title": "时间轴 Item",
"icon": "",
"package": "@alife/next",
"library": "Next",
"snippets": [
{
"title": "时间轴 Item",
"screenshot": "https://alifd.oss-cn-hangzhou.aliyuncs.com/fusion-cool/icons/icon-light/ic_light_timeline.png",
"schema": {
"componentName": "TimelineItem",
"props": {
"prefix": "next-",
"fold": [],
@ -12634,23 +12817,6 @@
}
}
]
},
{
"componentName": "Notification",
"title": "通知",
"icon": "",
"package": "@alife/next",
"library": "Next",
"snippets": [
{
"title": "通知",
"screenshot": "",
"schema": {
"componentName": "Notification",
"props": {}
}
}
]
}
],
"icon": ""
@ -12706,9 +12872,9 @@
"type": "primary",
"size": "large",
"htmlType": "button",
"component": "button"
},
"children": "提交"
"component": "button",
"children": ["提交"]
}
}
}
]
@ -12811,7 +12977,9 @@
"screenshot": "",
"schema": {
"componentName": "Icon",
"props": {}
"props": {
"type": "smile"
}
}
}
]
@ -12856,17 +13024,17 @@
]
},
{
"componentName": "Shell",
"title": "框架",
"componentName": "ResponsiveGrid.Cell",
"title": "栅格布局 Cell",
"icon": "",
"package": "@alife/next",
"library": "Next",
"snippets": [
{
"title": "框架",
"title": "栅格布局 Cell",
"screenshot": "",
"schema": {
"componentName": "Shell",
"componentName": "ResponsiveGrid.Cell",
"props": {}
}
}
@ -12952,12 +13120,12 @@
"schema": {
"componentName": "Breadcrumb.Item",
"props": {
"prefix": "next-"
},
"children": [
"222",
"222111"
]
"prefix": "next-",
"children": [
"222",
"222111"
]
}
}
}
]

View File

@ -286,10 +286,10 @@
"onClick":{
"type":"JSFunction",
"value":"function(){ this.onClick() }"
}
},
"children":[
},
"children":[
"新建配置"]
}
}]
},
{
@ -456,13 +456,9 @@
"type":"JSExpression",
"value":"this.state.isShowDialog"
},
"children":{
"type":"JSSlot"
},
"title":"标题",
"footer":{
"type":"JSSlot"
},
"events":[
]
}

View File

@ -211,6 +211,7 @@ export default function(metadata: TransformedComponentMetadata): TransformedComp
) {
if (component.isContainer !== false) {
component.isContainer = true;
props.push(propConfigToFieldConfig(prop));
return;
}
}

View File

@ -108,9 +108,17 @@ class Renderer extends Component<{ renderer: SimulatorRenderer }> {
const leaf = host.document.getNode(__id);
viewProps._leaf = leaf;
viewProps._componentName = leaf?.componentName;
let _children = leaf?.isContainer() ? (children == null ? [] : Array.isArray(children) ? children : [children]) : children;
if (props.children && props.children.length) {
if (Array.isArray(props.children)) {
_children = Array.isArray(_children) ? _children.concat(props.children) : props.children.unshift(_children);
} else {
Array.isArray(_children) && _children.push(props.children) || (_children = [_children].push(props.children));
}
}
// 如果是容器 && 无children && 高宽为空 增加一个占位容器,方便拖动
if (leaf?.isContainer() && children == null && (!viewProps.style || Object.keys(viewProps.style).length == 0)){
children = <div style={{
if (leaf?.isContainer() && (_children == null || !_children.length) && (!viewProps.style || Object.keys(viewProps.style).length == 0)){
_children = <div style={{
height:'66px',
backgroundColor:'#f0f0f0',
borderColor:'#a7b1bd',
@ -142,10 +150,11 @@ class Renderer extends Component<{ renderer: SimulatorRenderer }> {
});
console.info('menuprops', viewProps);
}
return createElement(
getDeviceView(Component, device, designMode),
viewProps,
leaf?.isContainer() ? (children == null ? [] : Array.isArray(children) ? children : [children]) : children,
_children,
);
}}
onCompGetRef={(schema: any, ref: ReactInstance | null) => {