Skip to content

Commit 72bb2a5

Browse files
authored
Merge pull request #2361 from Particular/john/wildcards
Tooltip to use wildcards
2 parents 9a7f220 + 0aecb5a commit 72bb2a5

File tree

2 files changed

+28
-3
lines changed

2 files changed

+28
-3
lines changed

src/Frontend/src/components/FilterInput.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { computed } from "vue";
33
import debounce from "lodash/debounce";
44
55
const model = defineModel<string>({ required: true });
6+
const emit = defineEmits<{ focus: []; blur: [] }>();
67
const props = withDefaults(defineProps<{ placeholder?: string; ariaLabel?: string }>(), { placeholder: "Filter by name...", ariaLabel: "Filter by name" });
78
const localInput = computed({
89
get() {
@@ -20,7 +21,7 @@ const debounceUpdateModel = debounce((value: string) => {
2021

2122
<template>
2223
<div role="search" aria-label="filter" class="filter-input">
23-
<input type="search" :placeholder="props.placeholder" :aria-label="props.ariaLabel" class="form-control filter-input" v-model="localInput" />
24+
<input type="search" @focus="() => emit('focus')" @blur="() => emit('blur')" :placeholder="props.placeholder" :aria-label="props.ariaLabel" class="form-control filter-input" v-model="localInput" />
2425
</div>
2526
</template>
2627

src/Frontend/src/components/audit/FiltersPanel.vue

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,16 @@ import FilterInput from "@/components/FilterInput.vue";
33
import { storeToRefs } from "pinia";
44
import { FieldNames, useAuditStore } from "@/stores/AuditStore.ts";
55
import ListFilterSelector from "@/components/audit/ListFilterSelector.vue";
6-
import { computed } from "vue";
6+
import { computed, useTemplateRef } from "vue";
77
import DatePickerRange from "@/components/audit/DatePickerRange.vue";
8+
import { Tippy, TippyComponent } from "vue-tippy";
89
910
const store = useAuditStore();
1011
const { sortBy, messageFilterString, selectedEndpointName, endpoints, itemsPerPage, dateRange } = storeToRefs(store);
1112
const endpointNames = computed(() => {
1213
return [...new Set(endpoints.value.map((endpoint) => endpoint.name))].sort();
1314
});
15+
const wildcardTooltipRef = useTemplateRef<TippyComponent | null>("wildcardTooltipRef");
1416
const sortByItemsMap = new Map([
1517
["Latest sent", `${FieldNames.TimeSent},desc`],
1618
["Oldest sent", `${FieldNames.TimeSent},asc`],
@@ -51,13 +53,31 @@ function findKeyByValue(searchValue: string) {
5153
}
5254
return "";
5355
}
56+
57+
function toggleWildcardToolTip(show: boolean) {
58+
if (show) {
59+
wildcardTooltipRef.value?.show();
60+
} else {
61+
wildcardTooltipRef.value?.hide();
62+
}
63+
}
5464
</script>
5565

5666
<template>
5767
<div class="filters">
5868
<div class="filter">
5969
<div class="filter-label"></div>
60-
<div class="filter-component text-search-container"><FilterInput v-model="messageFilterString" placeholder="Search messages..." aria-label="Search messages" /></div>
70+
<div class="filter-component text-search-container">
71+
<Tippy ref="wildcardTooltipRef" trigger="click" :hideOnClick="false">
72+
<template #content>
73+
<h4>Use <i class="fa fa-asterisk asterisk" /> to do wildcard searches</h4>
74+
<p>
75+
Example: <i><i class="fa fa-asterisk asterisk" />World!</i> or <i>Hello<i class="fa fa-asterisk asterisk" /></i>, to look for <i>Hello World!</i>
76+
</p>
77+
</template>
78+
<FilterInput v-model="messageFilterString" placeholder="Search messages..." aria-label="Search messages" @focus="() => toggleWildcardToolTip(true)" @blur="() => toggleWildcardToolTip(false)" @input="() => toggleWildcardToolTip(false)" />
79+
</Tippy>
80+
</div>
6181
</div>
6282
<div class="filter">
6383
<div class="filter-label">Endpoint:</div>
@@ -87,6 +107,10 @@ function findKeyByValue(searchValue: string) {
87107
</template>
88108

89109
<style scoped>
110+
.asterisk {
111+
color: #04b9ff;
112+
font-size: 1.2rem;
113+
}
90114
.filters {
91115
background-color: #f3f3f3;
92116
border: #8c8c8c 1px solid;

0 commit comments

Comments
 (0)