diff --git a/src/components/common/VnCard.vue b/src/components/common/VnCard.vue
index b211a3c7f..24da5417b 100644
--- a/src/components/common/VnCard.vue
+++ b/src/components/common/VnCard.vue
@@ -20,10 +20,7 @@ const props = defineProps({
searchUrl: { type: String, default: undefined },
searchbarLabel: { type: String, default: '' },
searchbarInfo: { type: String, default: '' },
- searchCustomRouteRedirect: { type: String, default: undefined },
- searchRedirect: { type: Boolean, default: true },
- searchMakeFetch: { type: Boolean, default: true },
- searchUrlQuery: { type: String, default: undefined },
+ searchbar: { type: Object, default: undefined },
});
const stateStore = useStateStore();
@@ -71,9 +68,7 @@ if (props.baseUrl) {
:url="props.searchUrl"
:label="props.searchbarLabel"
:info="props.searchbarInfo"
- :search-url="props.searchUrlQuery"
- :custom-route-redirect-name="searchCustomRouteRedirect"
- :redirect="searchRedirect"
+ v-bind="$attrs['searchbar']"
/>
diff --git a/src/pages/Account/Alias/Card/AliasCard.vue b/src/pages/Account/Alias/Card/AliasCard.vue
index f5103cf03..c4321c070 100644
--- a/src/pages/Account/Alias/Card/AliasCard.vue
+++ b/src/pages/Account/Alias/Card/AliasCard.vue
@@ -25,9 +25,12 @@ const searchBarDataKeys = {
base-url="MailAliases"
:descriptor="AliasDescriptor"
:search-data-key="searchBarDataKeys[routeName]"
- :search-custom-route-redirect="customRouteRedirectName"
- :search-redirect="!!customRouteRedirectName"
:searchbar-label="t('mailAlias.search')"
- :searchbar-info="t('mailAlias.searchInfo')"
+ :searchbar="{
+ redirect: !!customRouteRedirectName,
+ customRouteRedirectName,
+ info: t('mailAlias.searchInfo'),
+ label: t('mailAlias.search'),
+ }"
/>
diff --git a/src/pages/Account/Card/AccountCard.vue b/src/pages/Account/Card/AccountCard.vue
index e4db3ee2b..46d6e77b1 100644
--- a/src/pages/Account/Card/AccountCard.vue
+++ b/src/pages/Account/Card/AccountCard.vue
@@ -26,9 +26,11 @@ const searchBarDataKeys = {
data-key="Account"
:descriptor="AccountDescriptor"
:search-data-key="searchBarDataKeys[routeName]"
- :search-custom-route-redirect="customRouteRedirectName"
- :search-redirect="!!customRouteRedirectName"
- :searchbar-label="t('account.search')"
- :searchbar-info="t('account.searchInfo')"
+ :searchbar="{
+ redirect: !!customRouteRedirectName,
+ customRouteRedirectName,
+ label: t('account.search'),
+ info: t('account.searchInfo'),
+ }"
/>
diff --git a/src/pages/Account/Role/Card/RoleCard.vue b/src/pages/Account/Role/Card/RoleCard.vue
index 8a65d37d7..c24b36745 100644
--- a/src/pages/Account/Role/Card/RoleCard.vue
+++ b/src/pages/Account/Role/Card/RoleCard.vue
@@ -23,9 +23,11 @@ const searchBarDataKeys = {
data-key="Role"
:descriptor="RoleDescriptor"
:search-data-key="searchBarDataKeys[routeName]"
- :search-custom-route-redirect="customRouteRedirectName"
- :search-redirect="!!customRouteRedirectName"
- :searchbar-label="t('role.searchRoles')"
- :searchbar-info="t('role.searchInfo')"
+ :searchbar="{
+ redirect: !!customRouteRedirectName,
+ customRouteRedirectName,
+ label: t('role.searchRoles'),
+ info: t('role.searchInfo'),
+ }"
/>
diff --git a/src/pages/Claim/Card/ClaimCard.vue b/src/pages/Claim/Card/ClaimCard.vue
index 19d63e3b2..09eaa13d4 100644
--- a/src/pages/Claim/Card/ClaimCard.vue
+++ b/src/pages/Claim/Card/ClaimCard.vue
@@ -11,9 +11,11 @@ import filter from './ClaimFilter.js';
:descriptor="ClaimDescriptor"
:filter-panel="ClaimFilter"
search-data-key="ClaimList"
- search-url="Claims/filter"
- searchbar-label="Search claim"
- searchbar-info="You can search by claim id or customer name"
:filter="filter"
+ :searchbar="{
+ url: 'Claims/filter',
+ label: 'Search claim',
+ info: 'You can search by claim id or customer name',
+ }"
/>
diff --git a/src/pages/Customer/Card/CustomerCard.vue b/src/pages/Customer/Card/CustomerCard.vue
index 17f123e7b..0cc41e024 100644
--- a/src/pages/Customer/Card/CustomerCard.vue
+++ b/src/pages/Customer/Card/CustomerCard.vue
@@ -10,8 +10,10 @@ import CustomerFilter from '../CustomerFilter.vue';
:descriptor="CustomerDescriptor"
:filter-panel="CustomerFilter"
search-data-key="CustomerList"
- search-url="Clients/extendedListFilter"
- searchbar-label="Search customer"
- searchbar-info="You can search by customer id or name"
+ :searchbar="{
+ url: 'Clients/extendedListFilter',
+ label: 'Search customer',
+ info: 'You can search by customer id or name',
+ }"
/>
diff --git a/src/pages/Entry/Card/EntryCard.vue b/src/pages/Entry/Card/EntryCard.vue
index 9fadd2d06..75a3567cb 100644
--- a/src/pages/Entry/Card/EntryCard.vue
+++ b/src/pages/Entry/Card/EntryCard.vue
@@ -10,8 +10,10 @@ import EntryFilter from '../EntryFilter.vue';
:descriptor="EntryDescriptor"
:filter-panel="EntryFilter"
search-data-key="EntryList"
- search-url="Entries/filter"
- searchbar-label="Search entries"
- searchbar-info="You can search by entry reference"
+ :searchbar="{
+ url: 'Entries/filter',
+ label: 'Search entries',
+ info: 'You can search by entry reference',
+ }"
/>
diff --git a/src/pages/Item/Card/ItemCard.vue b/src/pages/Item/Card/ItemCard.vue
index 66d46f576..01eda25b0 100644
--- a/src/pages/Item/Card/ItemCard.vue
+++ b/src/pages/Item/Card/ItemCard.vue
@@ -10,8 +10,10 @@ import ItemListFilter from '../ItemListFilter.vue';
:descriptor="ItemDescriptor"
:filter-panel="ItemListFilter"
search-data-key="ItemList"
- search-url="Items/filter"
- searchbar-label="searchbar.label"
- searchbar-info="searchbar.info"
+ :searchbar="{
+ url: 'Items/filter',
+ label: 'searchbar.labelr',
+ info: 'searchbar.info',
+ }"
/>
diff --git a/src/pages/Parking/Card/ParkingCard.vue b/src/pages/Parking/Card/ParkingCard.vue
index 620f4bb2d..5912c424c 100644
--- a/src/pages/Parking/Card/ParkingCard.vue
+++ b/src/pages/Parking/Card/ParkingCard.vue
@@ -16,8 +16,10 @@ const filter = {
:descriptor="ParkingDescriptor"
:filter-panel="ParkingFilter"
search-data-key="ParkingList"
- search-url="Parkings"
- searchbar-label="parking.searchBar.label"
- searchbar-info="parking.searchBar.info"
+ :searchbar="{
+ url: 'Parkings',
+ label: 'parking.searchBar.label',
+ info: 'parking.searchBar.info',
+ }"
/>
diff --git a/src/pages/Route/Agency/Card/AgencyCard.vue b/src/pages/Route/Agency/Card/AgencyCard.vue
index e1eebabf7..365cb6f58 100644
--- a/src/pages/Route/Agency/Card/AgencyCard.vue
+++ b/src/pages/Route/Agency/Card/AgencyCard.vue
@@ -8,8 +8,10 @@ import VnCard from 'components/common/VnCard.vue';
base-url="Agencies"
:descriptor="AgencyDescriptor"
search-data-key="AgencyList"
- search-url="Agencies"
- searchbar-label="agency.searchBar.label"
- searchbar-info="agency.searchBar.info"
+ :searchbar="{
+ url: 'Agencies',
+ label: 'agency.searchBar.label',
+ info: 'agency.searchBar.info',
+ }"
/>
diff --git a/src/pages/Route/Roadmap/RoadmapCard.vue b/src/pages/Route/Roadmap/RoadmapCard.vue
index 4e8f8dd50..02450887b 100644
--- a/src/pages/Route/Roadmap/RoadmapCard.vue
+++ b/src/pages/Route/Roadmap/RoadmapCard.vue
@@ -10,8 +10,10 @@ import RoadmapFilter from 'pages/Route/Roadmap/RoadmapFilter.vue';
:descriptor="RoadmapDescriptor"
:filter-panel="RoadmapFilter"
search-data-key="RoadmapList"
- search-url="Roadmaps"
- searchbar-label="Search roadmap"
- searchbar-info="You can search by roadmap id or customer name"
+ :searchbar="{
+ url: 'Roadmaps',
+ label: 'Search roadmap',
+ info: 'You can search by roadmap id or customer name',
+ }"
/>
diff --git a/src/pages/Supplier/Card/SupplierCard.vue b/src/pages/Supplier/Card/SupplierCard.vue
index ed4ce7eb2..880d2a977 100644
--- a/src/pages/Supplier/Card/SupplierCard.vue
+++ b/src/pages/Supplier/Card/SupplierCard.vue
@@ -12,6 +12,8 @@ import SupplierListFilter from '../SupplierListFilter.vue';
search-data-key="SupplierList"
search-url="Suppliers/filter"
searchbar-label="Search suppliers"
- search-url-query="table"
+ :searchbar="{
+ searchUrl: 'table',
+ }"
/>
diff --git a/src/pages/Ticket/Card/TicketCard.vue b/src/pages/Ticket/Card/TicketCard.vue
index 8c9745c02..11ac53832 100644
--- a/src/pages/Ticket/Card/TicketCard.vue
+++ b/src/pages/Ticket/Card/TicketCard.vue
@@ -11,6 +11,7 @@ const { t } = useI18n();
const route = useRoute();
const routeName = computed(() => route.name);
+const customRouteRedirectName = computed(() => routeName.value);
route.name);
:filter-panel="TicketFilter"
:descriptor="TicketDescriptor"
search-data-key="TicketList"
- :search-custom-route-redirect="routeName"
- :searchbar-label="t('card.search')"
- :searchbar-info="t('card.searchInfo')"
+ :searchbar="{
+ customRouteRedirectName,
+ label: t('card.search'),
+ info: t('card.searchInfo'),
+ }"
/>
diff --git a/src/pages/Travel/Card/TravelCard.vue b/src/pages/Travel/Card/TravelCard.vue
index a3c1430e9..2a42d4580 100644
--- a/src/pages/Travel/Card/TravelCard.vue
+++ b/src/pages/Travel/Card/TravelCard.vue
@@ -35,10 +35,12 @@ const filter = {
data-key="Travel"
base-url="Travels"
search-data-key="TravelList"
- searchbar-label="Search travel"
- searchbar-info="You can search by travel id or name"
- search-url="Travels"
:filter="filter"
:descriptor="TravelDescriptor"
+ :searchbar="{
+ url: 'Travels',
+ label: 'Search travel',
+ info: 'You can search by travel id or name',
+ }"
/>
diff --git a/src/pages/Worker/Card/WorkerCard.vue b/src/pages/Worker/Card/WorkerCard.vue
index 1a5bacf2f..8d8e348e0 100644
--- a/src/pages/Worker/Card/WorkerCard.vue
+++ b/src/pages/Worker/Card/WorkerCard.vue
@@ -10,8 +10,10 @@ import WorkerFilter from '../WorkerFilter.vue';
:descriptor="WorkerDescriptor"
:filter-panel="WorkerFilter"
search-data-key="WorkerList"
- search-url="Workers/filter"
- searchbar-label="Search worker"
- searchbar-info="You can search by worker id or name"
+ :searchbar="{
+ url: 'Workers/filter',
+ label: 'Search worker',
+ info: 'You can search by worker id or name',
+ }"
/>
diff --git a/src/pages/Zone/Card/ZoneCard.vue b/src/pages/Zone/Card/ZoneCard.vue
index 59049a5b3..84a1df5f5 100644
--- a/src/pages/Zone/Card/ZoneCard.vue
+++ b/src/pages/Zone/Card/ZoneCard.vue
@@ -28,11 +28,12 @@ const searchBarDataKeys = {
data-key="Zone"
:descriptor="ZoneDescriptor"
:search-data-key="searchBarDataKeys[routeName]"
- :search-custom-route-redirect="customRouteRedirectName"
- :search-redirect="!!customRouteRedirectName"
- :search-make-fetch="searchbarMakeFetch"
- :searchbar-label="t('list.searchZone')"
- :searchbar-info="t('list.searchInfo')"
+ :filter-panel="ZoneFilterPanel"
+ :searchbar="{
+ url: 'Zones',
+ label: t('list.searchZone'),
+ info: t('list.searchInfo'),
+ }"
>