diff --git a/bundles/org.openhab.ui/web/src/components/config/controls/thing-picker.vue b/bundles/org.openhab.ui/web/src/components/config/controls/thing-picker.vue index e5dde2be5f..eb071589ce 100644 --- a/bundles/org.openhab.ui/web/src/components/config/controls/thing-picker.vue +++ b/bundles/org.openhab.ui/web/src/components/config/controls/thing-picker.vue @@ -27,7 +27,25 @@ export default { searchbar: true, searchbarPlaceholder: this.$t('dialogs.search.things'), virtualList: true, - virtualListHeight: (this.$theme.aurora) ? 32 : undefined + virtualListHeight: (this.$theme.aurora) ? 32 : undefined, + + renderItem: (item, index) => { + let after = (index > 0) ? this.things[index - 1].location + ? this.things[index - 1].location + 'placemark' + : '' : '' + return ` +
  • + +
  • + ` + } } } }, diff --git a/bundles/org.openhab.ui/web/src/components/config/controls/triggerchannel-picker.vue b/bundles/org.openhab.ui/web/src/components/config/controls/triggerchannel-picker.vue index b3ec4b52cc..f2c53c867d 100644 --- a/bundles/org.openhab.ui/web/src/components/config/controls/triggerchannel-picker.vue +++ b/bundles/org.openhab.ui/web/src/components/config/controls/triggerchannel-picker.vue @@ -27,7 +27,40 @@ export default { view: this.$f7.view.main, openIn: 'popup', searchbar: true, - searchbarPlaceholder: 'Search channels' + searchbarPlaceholder: 'Search channels', + renderItem: (item, index) => { + let html, value, thing, channel, description + if (index > 0 && !item.isLabel) { + value = item.value.substring(0, item.value.lastIndexOf(':')) + thing = (index > 0) ? this.things.find((th) => th.UID === value) : '' + channel = (thing && thing.triggerChannels.length > 0) + ? thing.triggerChannels.find((ch) => ch.uid === item.value) : undefined + } + + if (item.isLabel) { + html = ` +
  • + ${item.groupLabel} +
  • + ` + } else { + description = (channel !== undefined) ? channel.description : '' + html = ` +
  • + +
  • + ` + } + + return html + } } } },