Dans le fichier html/core/template/scenario/scenario.default.html du core de Jeedom, le code suivant :
Ancien code
let newOption
for (let i in scenarios) {
newOption = document.createElement('option')
newOption.text = scenarios[i].humanName
newOption.value = scenarios[i].id
select.appendChild(newOption)
}
est remplacé par :
Nouveau code
const groupedScenarios = {}
for (let i in scenarios) {
const match = scenarios[i].humanName.match(/^\[(.*?)\]/)
if (match) {
const obj = match[1]
if (!groupedScenarios[obj]) {
groupedScenarios[obj] = []
}
groupedScenarios[obj].push(scenarios[i])
}
}
for (let group in groupedScenarios) {
const optgroup = document.createElement('optgroup')
optgroup.label = group
groupedScenarios[group].forEach(scenario => {
const newOption = document.createElement('option')
newOption.text = scenario.humanName.replace(/^\[.*?\]/, '').trim()
newOption.value = scenario.id
optgroup.appendChild(newOption)
})
select.appendChild(optgroup);
}
Attention, c’est une modification du core de Jeedom donc vous êtes seul responsable si vous tentez la modification par vous-même
Mais je compte bien entendu faire un PR.