mirror of
https://github.com/fergalmoran/turnstone.git
synced 2026-02-26 12:05:33 +00:00
Assume promises resolve to an array of results rather than an object with a data property
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import { useCallback } from 'react'
|
||||
import { useLocalStorage } from 'react-use'
|
||||
|
||||
// TODO: Do we need to pass in Container? Plugins could just act upon props.
|
||||
|
||||
const recentSearchesPlugin = (Container, containerProps = {}, pluginProps = {}) => {
|
||||
const {
|
||||
ratio = 1,
|
||||
|
||||
@@ -87,8 +87,9 @@ export const fetcher = (query, listbox, defaultListbox, minQueryLength, maxItems
|
||||
const promises = listboxProp.map((group) => {
|
||||
if (typeof group.data === 'function') {
|
||||
return group.data(query)
|
||||
} else {
|
||||
return Promise.resolve({ data: filterSuppliedData(group, query) })
|
||||
}
|
||||
else {
|
||||
return Promise.resolve(filterSuppliedData(group, query))
|
||||
}
|
||||
})
|
||||
|
||||
@@ -96,7 +97,7 @@ export const fetcher = (query, listbox, defaultListbox, minQueryLength, maxItems
|
||||
groups = groups.reduce((prevGroups, group, groupIndex) => {
|
||||
return [
|
||||
...prevGroups,
|
||||
group.data.map((item) => ({
|
||||
group.map((item) => ({
|
||||
value: item,
|
||||
text: itemText(item, listboxProp[groupIndex].displayField),
|
||||
groupIndex,
|
||||
|
||||
@@ -15,14 +15,14 @@ import { fruits, vegetables, books } from '../../../data'
|
||||
const server = setupServer(
|
||||
rest.get('http://mock-api-site.com/api/books', (req, res, ctx) => {
|
||||
return res(
|
||||
ctx.json({data: books})
|
||||
ctx.json(books)
|
||||
)
|
||||
}),
|
||||
rest.get('http://mock-api-site.com/api/fruits', (req, res, ctx) => {
|
||||
const q = req.url.searchParams.get('q')
|
||||
|
||||
return res(
|
||||
ctx.json({data: fruits.filter(fruit => fruit.toLowerCase().startsWith(q.toLowerCase()))})
|
||||
ctx.json(fruits.filter(fruit => fruit.toLowerCase().startsWith(q.toLowerCase())))
|
||||
)
|
||||
})
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user