Skip to content

Commit

Permalink
Merge pull request #2753 from noodom/patch-27
Browse files Browse the repository at this point in the history
Add filter on designs list in scenario
  • Loading branch information
Sekiro-kost authored Jul 15, 2024
2 parents 078c2c7 + 5240221 commit 01d5de8
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions core/template/scenario/gotodesign.default.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
<div class="input-group input-group-sm" style="width: 100%">
<span class="input-group-addon roundedLeft" style="width: 100px">{{Design}}</span>
<select class="expressionAttr form-control input-sm roundedRight" data-l1key="options" data-l2key="plan_id" data-cmd_id="#id#" data-uid="#uid#"></select>
<input class="expressionAttr form-control rounded-left" data-l1key="options" data-l2key="filter" placeholder="{{Filtre des designs}}" data-cmd_id="#id#" data-uid="#uid#">
</div>
<script>
jeedom.plan.allHeader({
Expand All @@ -18,6 +19,26 @@
select.appendChild(newOption)
}

const input = document.querySelector('.expressionAttr[data-uid="#uid#"][data-l1key="options"][data-l2key="filter"]')
const allOptions = Array.from(select.options)

function filterOptions() {
const text = input.value.trim().toLowerCase().stripAccents()

select.innerHTML = ''

allOptions
.filter(option => {
const optionText = option.textContent.toLowerCase().stripAccents()
return text === '' || optionText.includes(text)
})
.forEach(option => {
select.add(option.cloneNode(true))
})
}

input.addEventListener('input', filterOptions)

if ('#plan_id#' != '' && document.querySelector('.expressionAttr[data-uid="#uid#"][data-l1key="options"][data-l2key="plan_id"] option[value="#plan_id#"]')?.innerHTML != '') {
document.querySelector('.expressionAttr[data-uid="#uid#"][data-l1key="options"][data-l2key="plan_id"]').value = '#plan_id#'
}
Expand Down

0 comments on commit 01d5de8

Please sign in to comment.