container components need `children: true`

This commit is contained in:
Michael Shanks 2020-08-12 16:28:41 +01:00
parent 0bb677d5de
commit 9ef748bf2d
3 changed files with 7 additions and 5 deletions

View File

@ -48,7 +48,7 @@ export const createProps = (componentDefinition, derivedFromProps) => {
assign(props, derivedFromProps)
}
if (componentDefinition.children !== false && isUndefined(props._children)) {
if (componentDefinition.children && isUndefined(props._children)) {
props._children = []
}

View File

@ -18,7 +18,7 @@ describe("createDefaultProps", () => {
expect(props.fieldName).toBeDefined()
expect(props.fieldName).toBe("something")
stripStandardProps(props)
expect(keys(props).length).toBe(3)
expect(keys(props).length).toBe(2)
})
it("should set component _component", () => {
@ -104,14 +104,13 @@ describe("createDefaultProps", () => {
expect(props._children).toEqual([])
})
it("should create a _children array when children not defined ", () => {
it("should not create a _children array when children not defined ", () => {
const comp = getcomponent()
const { props, errors } = createProps(comp)
expect(errors).toEqual([])
expect(props._children).toBeDefined()
expect(props._children).toEqual([])
expect(props._children).not.toBeDefined()
})
it("should not create _children array when children=false ", () => {

View File

@ -244,6 +244,7 @@
},
"list": {
"description": "A configurable data list that attaches to your backend models.",
"children": true,
"data": true,
"props": {
"model": "models"
@ -263,6 +264,7 @@
},
"recorddetail": {
"description": "Loads a record, using an ID in the url",
"children": true,
"data": true,
"props": {
"model": "models"
@ -599,6 +601,7 @@
},
"container": {
"name": "Container",
"children": true,
"description": "An element that contains and lays out other elements. e.g. <div>, <header> etc",
"props": {
"className": "string",