feat(catalog): add bounds filtering to list queries
Some checks failed
Build Docker Image / build (push) Has been cancelled
Some checks failed
Build Docker Image / build (push) Has been cancelled
- Add west/south/east/north params to HubsList, SuppliersList, ProductsList GraphQL - Update useCatalogHubs to pass bounds to query - Update useCatalogSuppliers to pass bounds to query - Update useCatalogProducts to pass bounds to query
This commit is contained in:
@@ -16,6 +16,7 @@ const isInitialized = ref(false)
|
||||
// Filter state
|
||||
const filterSupplierUuid = ref<string | null>(null)
|
||||
const filterHubUuid = ref<string | null>(null)
|
||||
const filterBounds = ref<{ west: number; south: number; east: number; north: number } | null>(null)
|
||||
|
||||
export function useCatalogProducts() {
|
||||
const { execute } = useGraphQL()
|
||||
@@ -117,7 +118,15 @@ export function useCatalogProducts() {
|
||||
// All products from graph
|
||||
data = await execute(
|
||||
ProductsListDocument,
|
||||
{ limit: 500 },
|
||||
{
|
||||
limit: 500,
|
||||
...(filterBounds.value && {
|
||||
west: filterBounds.value.west,
|
||||
south: filterBounds.value.south,
|
||||
east: filterBounds.value.east,
|
||||
north: filterBounds.value.north
|
||||
})
|
||||
},
|
||||
'public',
|
||||
'geo'
|
||||
)
|
||||
@@ -168,11 +177,12 @@ export function useCatalogProducts() {
|
||||
}
|
||||
}
|
||||
|
||||
// Products don't have coordinates directly (they're an aggregation of offers)
|
||||
// Bounds filtering would require a new backend query that filters by offer locations
|
||||
// For now, this is a no-op - products show all regardless of map bounds
|
||||
const setBoundsFilter = (_bounds: { west: number; south: number; east: number; north: number } | null) => {
|
||||
// No-op: products are not filterable by map bounds in current implementation
|
||||
// Products are filtered by offer locations within bounds
|
||||
const setBoundsFilter = (bounds: { west: number; south: number; east: number; north: number } | null) => {
|
||||
filterBounds.value = bounds
|
||||
if (isInitialized.value) {
|
||||
fetchProducts()
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user