Sync selection list with map view toggle
Some checks failed
Build Docker Image / build (push) Has been cancelled
Some checks failed
Build Docker Image / build (push) Has been cancelled
This commit is contained in:
@@ -220,11 +220,17 @@ export function useCatalogSearch() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const startSelect = (type: SelectMode) => {
|
const startSelect = (type: SelectMode) => {
|
||||||
|
if (!selectMode.value) {
|
||||||
|
lastViewMode.value = mapViewMode.value
|
||||||
|
}
|
||||||
updateQuery({ select: type })
|
updateQuery({ select: type })
|
||||||
}
|
}
|
||||||
|
|
||||||
const cancelSelect = () => {
|
const cancelSelect = () => {
|
||||||
updateQuery({ select: null })
|
updateQuery({
|
||||||
|
select: null,
|
||||||
|
view: lastViewMode.value === 'offers' ? null : lastViewMode.value
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const selectItem = (type: string, id: string, label: string) => {
|
const selectItem = (type: string, id: string, label: string) => {
|
||||||
@@ -232,7 +238,8 @@ export function useCatalogSearch() {
|
|||||||
updateQuery({
|
updateQuery({
|
||||||
[type]: id,
|
[type]: id,
|
||||||
select: null, // Exit selection mode
|
select: null, // Exit selection mode
|
||||||
info: null // Exit info mode
|
info: null, // Exit info mode
|
||||||
|
view: lastViewMode.value === 'offers' ? null : lastViewMode.value
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -299,7 +306,18 @@ export function useCatalogSearch() {
|
|||||||
}
|
}
|
||||||
return 'offers' // default
|
return 'offers' // default
|
||||||
})
|
})
|
||||||
|
const lastViewMode = useState<MapViewMode>('catalog-last-view-mode', () => 'offers')
|
||||||
const setMapViewMode = (mode: MapViewMode) => {
|
const setMapViewMode = (mode: MapViewMode) => {
|
||||||
|
if (selectMode.value) {
|
||||||
|
const newSelectMode: SelectMode = mode === 'hubs' ? 'hub'
|
||||||
|
: mode === 'suppliers' ? 'supplier'
|
||||||
|
: 'product'
|
||||||
|
updateQuery({
|
||||||
|
view: mode === 'offers' ? null : mode,
|
||||||
|
select: newSelectMode
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
updateQuery({ view: mode === 'offers' ? null : mode })
|
updateQuery({ view: mode === 'offers' ? null : mode })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user