diff --git a/web/src/plugins/logs/SearchBar.vue b/web/src/plugins/logs/SearchBar.vue
index 21b8d753c9..e75dd665be 100644
--- a/web/src/plugins/logs/SearchBar.vue
+++ b/web/src/plugins/logs/SearchBar.vue
@@ -142,9 +142,11 @@ along with this program. If not, see .
@click.stop="applySavedView(props.row)"
v-close-popup
>
- {{
- props.row.view_name
- }}
+ {{ props.row.view_name }}
@click.stop="applySavedView(props.row)"
v-close-popup
>
- {{
- props.row.view_name
- }}
+ {{ props.row.view_name }}
{
- return match + " " + filter + " and ";
- });
- } else if (
- currentQuery[0].toLowerCase().indexOf("order by") != -1 ||
- currentQuery[0].toLowerCase().indexOf("limit") != -1
- ) {
- currentQuery[0] = currentQuery[0].replace(
- /order by[^]*?limit/gi,
- (match) => {
- return " where " + filter + " " + match;
- }
- );
+ let query = currentQuery[0].toLowerCase();
+ if (query.includes("where")) {
+ if (query.includes("order by")) {
+ const [beforeOrderBy, afterOrderBy] = query.split("order by");
+ query =
+ beforeOrderBy.trim() +
+ " AND " +
+ filter +
+ " order by" +
+ afterOrderBy;
+ } else if (query.includes("limit")) {
+ const [beforeLimit, afterLimit] = query.split("limit");
+ query =
+ beforeLimit.trim() + " AND " + filter + " limit" + afterLimit;
+ } else {
+ query = query + " AND " + filter;
+ }
} else {
- currentQuery[0] += " where " + filter;
+ if (query.includes("order by")) {
+ const [beforeOrderBy, afterOrderBy] = query.split("order by");
+ query =
+ beforeOrderBy.trim() +
+ " where " +
+ filter +
+ " order by" +
+ afterOrderBy;
+ } else if (query.includes("limit")) {
+ const [beforeLimit, afterLimit] = query.split("limit");
+ query =
+ beforeLimit.trim() +
+ " where " +
+ filter +
+ " limit" +
+ afterLimit;
+ } else {
+ query = query + " where " + filter;
+ }
}
+ currentQuery[0] = query;
} else {
currentQuery[0].length == 0
? (currentQuery[0] = filter)