refactor: Replace debounced search method with x-model.debounce for improved performance
This commit is contained in:
parent
a5331db179
commit
1b4705220d
1 changed files with 1 additions and 8 deletions
|
|
@ -7,7 +7,6 @@
|
||||||
alwaysScroll: false,
|
alwaysScroll: false,
|
||||||
intervalId: null,
|
intervalId: null,
|
||||||
scrollDebounce: null,
|
scrollDebounce: null,
|
||||||
searchTimeout: null,
|
|
||||||
colorLogs: localStorage.getItem('coolify-color-logs') === 'true',
|
colorLogs: localStorage.getItem('coolify-color-logs') === 'true',
|
||||||
searchQuery: '',
|
searchQuery: '',
|
||||||
containerName: '{{ $container ?? "logs" }}',
|
containerName: '{{ $container ?? "logs" }}',
|
||||||
|
|
@ -81,12 +80,6 @@
|
||||||
if (!this.searchQuery.trim()) return true;
|
if (!this.searchQuery.trim()) return true;
|
||||||
return line.toLowerCase().includes(this.searchQuery.toLowerCase());
|
return line.toLowerCase().includes(this.searchQuery.toLowerCase());
|
||||||
},
|
},
|
||||||
debouncedSearch(query) {
|
|
||||||
clearTimeout(this.searchTimeout);
|
|
||||||
this.searchTimeout = setTimeout(() => {
|
|
||||||
this.searchQuery = query;
|
|
||||||
}, 300);
|
|
||||||
},
|
|
||||||
decodeHtml(text) {
|
decodeHtml(text) {
|
||||||
// Decode HTML entities, handling double-encoding with max iteration limit to prevent DoS
|
// Decode HTML entities, handling double-encoding with max iteration limit to prevent DoS
|
||||||
let decoded = text;
|
let decoded = text;
|
||||||
|
|
@ -224,7 +217,7 @@ class="text-xs text-gray-500 dark:text-gray-400 whitespace-nowrap"></span>
|
||||||
<path stroke-linecap="round" stroke-linejoin="round"
|
<path stroke-linecap="round" stroke-linejoin="round"
|
||||||
d="m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z" />
|
d="m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z" />
|
||||||
</svg>
|
</svg>
|
||||||
<input type="text" x-on:input="debouncedSearch($event.target.value)" :value="searchQuery" placeholder="Find in logs"
|
<input type="text" x-model.debounce.300ms="searchQuery" placeholder="Find in logs"
|
||||||
class="input input-sm w-48 pl-8 pr-8 dark:bg-coolgray-300" />
|
class="input input-sm w-48 pl-8 pr-8 dark:bg-coolgray-300" />
|
||||||
<button x-show="searchQuery" x-on:click="searchQuery = ''" type="button"
|
<button x-show="searchQuery" x-on:click="searchQuery = ''" type="button"
|
||||||
class="absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200">
|
class="absolute right-2 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200">
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue