Skip to content

Commit 3f4a884

Browse files
committed
fix: Improve datatable local search
Problem: - DataTable search functionality was searching through all row properties including unmapped/internal fields that are not displayed to users, leading to unexpected search results Solution: - Modified field selection to prioritize columnKey over property and fallback to original behavior when no searchable column found
1 parent 17e44ee commit 3f4a884

File tree

1 file changed

+24
-3
lines changed
  • frontend/express/public/javascripts/countly/vue/components

1 file changed

+24
-3
lines changed

frontend/express/public/javascripts/countly/vue/components/datatable.js

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,33 @@
7272
var currentArray = this.rows.slice();
7373
if (this.displaySearch && this.controlParams.searchQuery) {
7474
var queryLc = (this.controlParams.searchQuery + "").toLowerCase();
75+
76+
var searchableFields = [];
77+
if (this.$refs.elTable && this.$refs.elTable.columns) {
78+
this.$refs.elTable.columns.forEach(function(col) {
79+
if (col.columnKey) {
80+
searchableFields.push(col.columnKey);
81+
}
82+
});
83+
}
84+
7585
currentArray = currentArray.filter(function(item) {
76-
return Object.keys(item).some(function(fieldKey) {
77-
if (item[fieldKey] === null || item[fieldKey] === undefined) {
86+
// If no searchable fields found from columns, use original search logic
87+
if (!searchableFields.length) {
88+
return Object.keys(item).some(function(fieldKey) {
89+
if (item[fieldKey] === null || item[fieldKey] === undefined) {
90+
return false;
91+
}
92+
return (item[fieldKey] + "").toLowerCase().indexOf(queryLc) > -1;
93+
});
94+
}
95+
96+
return searchableFields.some(function(fieldKey) {
97+
var value = item[fieldKey];
98+
if (value === null || value === undefined) {
7899
return false;
79100
}
80-
return (item[fieldKey] + "").toLowerCase().indexOf(queryLc) > -1;
101+
return (value + "").toLowerCase().indexOf(queryLc) > -1;
81102
});
82103
});
83104
}

0 commit comments

Comments
 (0)