У меня есть следующая форма json Schema
Мне нужно иметь возможность выбрать, какой скрипт для запуска, который в настоящее время управляется oneOf, и в зависимости от того, какой скрипт был выбран в раскрывающемся списке, представлены различные вариантыЗаполняется.
Проблема в том, что выбранное имя сценария не передается в отправленных значениях формы, например, "Create-ADUsers.psm1"
Я проверял форму с помощью http://jeremydorn.com/json-editor/ с no_additional_properties, установленным в true
Я думаю, что oneOf может быть неправильным путем, но я не смог заставить это работать с использованием массива и т. Д.
import org.boon.Boon;
def jsonEditorOptions = Boon.fromJson(/{
disable_edit_json: false,
disable_properties: true,
no_additional_properties: true,
disable_collapse: true,
disable_array_add: false,
disable_array_delete: false,
disable_array_reorder: true,
show_errors: "always"
theme: "bootstrap3",
schema: {
"title": "Which script do you want to run",
"oneOf": [
{
"title": "----",
"type": "null",
"options": {
"disable_collapse": true,
"disable_edit_json": true,
"disable_properties": true,
"theme": "bootstrap3",
"show_errors": "always"
}
},
{
"title": "Create-ADUsers.psm1",
"type": "object",
"properties": {
"domain": {
"type": "string",
"propertyOrder": 1,
"default" : "@uhc"
},
"ou": {
"type": "string",
"title": "organizational unit ",
"propertyOrder": 2,
"default": "OU=Testing Users"
},
"ec2Instances": {
"type": "string",
"propertyOrder": 3,
"template": "i-XXXXXXXXXX"
},
"users": {
"type": "array",
"format": "table",
"title": "Users",
"uniqueItems": true,
"items": {
"type": "object",
"properties": {
"firstName": {
"type": "string",
"title": "First Name"
},
"lastName": {
"type": "string",
"title": "Last Name"
},
"email": {
"type": "string",
"title": "Email Address"
}
}
}
}
}
},
{
"title": "Create-WorkspacesAlwaysON.psm1",
"type": "object",
"properties": {
"ssmParams": {
"title": "Params",
"type": "string"
}
}
}
]
}/);
return jsonEditorOptions;
Мне также хотелось бы иметь возможность иметь выпадающий список Env со значениями «dev», «live», добавляемыми вверху формы, который всегда отображается независимо от того, какой скрипт выбран, но я думаю, что это можетбыть слишком сложным, чтобы сделать.