<template> <ul class="formula-field__item-group"> <li class="formula-field__item-group-title"> {{ title }} {{ getFilterIndicator(unfilteredItems, filteredItems) }} </li> <li v-for="item in filteredItems" :key="item.value" class="formula-field__item" > <a href="#" class="formula-field__item-link" @mouseover="$emit('hover-item', item)" @mousedown.prevent @click.stop="$emit('click-item', item)" > <i class="formula-field__item-icon" :class="[item.icon]" /> {{ showOperator && item.operator ? item.operator : item.value }} </a> </li> </ul> </template> <script> export default { name: 'FormulaFieldItemGroup', props: { title: { type: String, required: true, }, unfilteredItems: { type: Array, required: true, }, filteredItems: { type: Array, required: true, }, showOperator: { type: Boolean, required: false, default: false, }, }, methods: { getFilterIndicator(unfilteredList, filteredList) { const numFiltered = unfilteredList.length - filteredList.length return numFiltered === 0 ? '' : `(${numFiltered} filtered)` }, }, } </script>