Добрый день.
Подскажите удалось разобраться?
Пока не глубоко погрузился в вопрос, но как будто должно быть так:
{
"title": "Config",
"type": "object",
"properties": {
"restrict": {
"title": "Restrict",
"type": "object",
"options": {
"show_opt_in": true
},
"properties": {
"only": {
"title": "Only",
"type": "array",
"items": {
"type": "string",
"options": {
"titleHidden": true
}
}
}
}
}
}
}
Почему так, а ваш вариант не даёт нужного эффекта
show_opt_in был на корневом объекте, а не на конкретном свойстве.
На объекте он не делает «галочку существования раздела». Галочка «создать/удалить property» появляется у optional property — то есть у конкретного свойства в properties, когда оно отсутствует в данных.
У вас свойство называлось only, но подписано как Restrict.
В итоге вы фактически делали “Restrict = array”. На скрине “Restrict” — это именно раздел/объект, внутри которого уже есть поля (например only). Поэтому я вынес restrict в отдельный объект.
Если вы хотите «раздел, который можно включить/выключить» — это должен быть объект restrict, который появляется в JSON только после включения.
Внутри него уже редактируются реальные поля (only и т.п.).
Важно для работы галочки
Чтобы у restrict появилась галочка и он не создавался автоматически:
restrict не должен быть в required
у restrict не должно быть default
в стартовых данных (startval) не должно быть restrict