-
Notifications
You must be signed in to change notification settings - Fork 418
Open
Description
Describe the bug
When adding items to interfaces No applicable renderer found! appears.
Expected behavior
Show dropdown to select object type among oneOf options and render a form
Steps to reproduce the issue
Use this schema to reproduce an issue:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Router Configuration (Strict Model)",
"type": "object",
"properties": {
"interfaces": {
"type": "array",
"title": "Interfaces",
"uniqueItems": true,
"items": {
"title": "Interface",
"oneOf": [
{
"$ref": "#/definitions/iface_ethernet"
},
{
"$ref": "#/definitions/iface_bond"
},
{
"$ref": "#/definitions/iface_vlan"
},
{
"$ref": "#/definitions/iface_bridge"
},
{
"$ref": "#/definitions/iface_loopback"
}
]
}
}
},
"definitions": {
"// --- 1. SYSTEM INTERFACES ---": {},
"iface_ethernet": {
"type": "object",
"title": "Physical Ethernet",
"required": [
"name",
"type"
],
"properties": {
"type": {
"type": "string",
"const": "ethernet",
"default": "ethernet",
"title": "Type",
"readOnly": true,
"ui:widget": "hidden"
},
"name": {
"$ref": "#/definitions/field_name"
},
"addresses": {
"$ref": "#/definitions/field_addresses"
},
"mtu": {
"$ref": "#/definitions/field_mtu"
},
"macaddress": {
"type": "string",
"title": "Override MAC",
"pattern": "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$"
},
"description": {
"$ref": "#/definitions/field_desc"
}
}
},
"iface_bond": {
"type": "object",
"title": "Bond",
"required": [
"name",
"type",
"interfaces"
],
"properties": {
"type": {
"type": "string",
"const": "bond",
"default": "bond",
"title": "Type",
"readOnly": true,
"ui:widget": "hidden"
},
"name": {
"$ref": "#/definitions/field_name"
},
"interfaces": {
"type": "array",
"title": "Members",
"minItems": 1,
"items": {
"type": "string"
}
},
"parameters": {
"type": "object",
"title": "LACP Parameters",
"properties": {
"mode": {
"type": "string",
"enum": [
"802.3ad",
"active-backup",
"balance-xor"
],
"default": "802.3ad"
},
"lacp-rate": {
"type": "string",
"enum": [
"slow",
"fast"
],
"default": "fast"
},
"hash-policy": {
"type": "string",
"enum": [
"layer2",
"layer2+3",
"layer3+4"
],
"default": "layer3+4"
}
}
},
"addresses": {
"$ref": "#/definitions/field_addresses"
},
"mtu": {
"$ref": "#/definitions/field_mtu"
},
"description": {
"$ref": "#/definitions/field_desc"
}
}
},
"iface_vlan": {
"type": "object",
"title": "VLAN",
"required": [
"name",
"type",
"vlan_id",
"link"
],
"properties": {
"type": {
"type": "string",
"const": "vlan",
"default": "vlan",
"title": "Type",
"readOnly": true,
"ui:widget": "hidden"
},
"name": {
"$ref": "#/definitions/field_name"
},
"vlan_id": {
"type": "integer",
"minimum": 1,
"maximum": 4094,
"title": "VLAN ID"
},
"link": {
"type": "string",
"title": "Parent Interface"
},
"addresses": {
"$ref": "#/definitions/field_addresses"
},
"mtu": {
"$ref": "#/definitions/field_mtu"
},
"description": {
"$ref": "#/definitions/field_desc"
}
}
},
"iface_bridge": {
"type": "object",
"title": "Bridge",
"required": [
"name",
"type",
"interfaces"
],
"properties": {
"type": {
"type": "string",
"const": "bridge",
"default": "bridge",
"title": "Type",
"readOnly": true,
"ui:widget": "hidden"
},
"name": {
"$ref": "#/definitions/field_name"
},
"interfaces": {
"type": "array",
"title": "Bridge Ports",
"items": {
"type": "string"
}
},
"addresses": {
"$ref": "#/definitions/field_addresses"
},
"mtu": {
"$ref": "#/definitions/field_mtu"
},
"description": {
"$ref": "#/definitions/field_desc"
}
}
},
"iface_loopback": {
"type": "object",
"title": "Loopback",
"required": [
"name",
"type"
],
"properties": {
"type": {
"type": "string",
"const": "loopback",
"default": "loopback",
"title": "Type",
"readOnly": true,
"ui:widget": "hidden"
},
"name": {
"$ref": "#/definitions/field_name"
},
"addresses": {
"$ref": "#/definitions/field_addresses"
},
"description": {
"$ref": "#/definitions/field_desc"
}
}
},
"field_name": {
"type": "string",
"title": "Name",
"pattern": "^[a-zA-Z0-9_.-]+$"
},
"field_addresses": {
"type": "array",
"title": "IP Addresses",
"items": {
"type": "string",
"title": "CIDR",
"description": "e.g. 192.168.1.1/24"
}
},
"field_mtu": {
"type": "integer",
"title": "MTU",
"default": 1500,
"minimum": 68,
"maximum": 65535
},
"field_desc": {
"type": "string",
"title": "Description"
}
}
}
Screenshots
No response
Which Version of JSON Forms are you using?
v3.7.0
Package
Angular Material Renderers
Additional context
No response