fix: added & exposed applyFilter method in ViewControls
This commit is contained in:
parent
1ba6cb78e1
commit
486eba41ed
@ -536,6 +536,39 @@ function saveView() {
|
|||||||
showViewModal.value = true
|
showViewModal.value = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function applyFilter({ event, idx, column, item }) {
|
||||||
|
let restrictedFieldtypes = ['Duration', 'Datetime', 'Time']
|
||||||
|
if (restrictedFieldtypes.includes(column.type) || idx === 0) return
|
||||||
|
|
||||||
|
event.stopPropagation()
|
||||||
|
event.preventDefault()
|
||||||
|
|
||||||
|
let filters = { ...list.value.params.filters }
|
||||||
|
|
||||||
|
let value = item.name || item.label || item
|
||||||
|
|
||||||
|
if (value) {
|
||||||
|
filters[column.key] = value
|
||||||
|
} else {
|
||||||
|
delete filters[column.key]
|
||||||
|
}
|
||||||
|
|
||||||
|
if (column.key == '_assign') {
|
||||||
|
if (item.length > 1) {
|
||||||
|
let target = e.target.closest('.user-avatar')
|
||||||
|
if (target) {
|
||||||
|
let name = target.getAttribute('data-name')
|
||||||
|
filters['_assign'] = ['LIKE', `%${name}%`]
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
filters['_assign'] = ['LIKE', `%${item[0].name}%`]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
updateFilter(filters)
|
||||||
|
}
|
||||||
|
|
||||||
|
defineExpose({ applyFilter })
|
||||||
|
|
||||||
// Watchers
|
// Watchers
|
||||||
watch(
|
watch(
|
||||||
() => getView(route.query.view),
|
() => getView(route.query.view),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user