diff --git a/src/components/Logs.vue b/src/components/Logs.vue index 79c961c..d659f52 100755 --- a/src/components/Logs.vue +++ b/src/components/Logs.vue @@ -9,27 +9,37 @@ disable-sort dense :search="search" + :custom-filter="customFilter" > @@ -45,6 +55,8 @@ export default { data: function () { return { search: null, + searchRegex: false, + caseSensitive: false, headers: [ {text: "Log Entry", value: "line"}, @@ -83,6 +95,26 @@ export default { this.items.unshift(data) } }, + customFilter(value, queryText, item) { + if (this.searchRegex) { + try { + const flags = this.caseSensitive ? '' : 'i'; // 'i' for case-insensitive + const regex = new RegExp(queryText, flags); + // filter items by regex + return regex.test(item.line); + } catch (e) { + console.error("Invalid regex:", e); + return false; // If regex is invalid, don't match + } + } else { + // Fallback to simple substring search + if (!this.caseSensitive) { + return item.line.toLowerCase().includes(queryText.toLowerCase()); + } else { + return item.line.includes(queryText); + } + } + } } }