fix(dashboard): Pass query params to list SC request (#8863)

Resolves CC-331
This commit is contained in:
Kasper Fabricius Kristensen authored and GitHub committed 2024-08-29 08:35:39 +00:00
1 parent 70f2290a22
commit 16d8fb1d20
3 files changed
+25 -27

No files matched your search

@@ -1,4 +1,4 @@
import { AdminGetSalesChannelsParams } from "@medusajs/medusa" import { HttpTypes } from "@medusajs/types"
import { useQueryParams } from "../../use-query-params" import { useQueryParams } from "../../use-query-params"
type UseSalesChannelTableQueryProps = { type UseSalesChannelTableQueryProps = {
@@ -11,19 +11,24 @@ export const useSalesChannelTableQuery = ({
pageSize = 20, pageSize = 20,
}: UseSalesChannelTableQueryProps) => { }: UseSalesChannelTableQueryProps) => {
const queryObject = useQueryParams( const queryObject = useQueryParams(
["offset", "q", "order", "created_at", "updated_at"], ["offset", "q", "order", "created_at", "updated_at", "is_disabled"],
prefix prefix
) )
const { offset, created_at, updated_at, q, order } = queryObject const { offset, created_at, updated_at, is_disabled, ...rest } = queryObject
const searchParams: AdminGetSalesChannelsParams = { const searchParams: HttpTypes.AdminSalesChannelListParams = {
limit: pageSize, limit: pageSize,
offset: offset ? Number(offset) : 0, offset: offset ? Number(offset) : 0,
order, created_at: created_at ? JSON.parse(created_at) : undefined,
// created_at: created_at ? JSON.parse(created_at) : undefined, updated_at: updated_at ? JSON.parse(updated_at) : undefined,
// updated_at: updated_at ? JSON.parse(updated_at) : undefined, is_disabled:
// q, // Re-enable when params are fixed is_disabled === "true"
? true
: is_disabled === "false"
? false
: undefined,
...rest,
} }
return { return {
@@ -20,6 +20,7 @@ import {
useSalesChannels, useSalesChannels,
} from "../../../../hooks/api/sales-channels" } from "../../../../hooks/api/sales-channels"
import { useSalesChannelTableColumns } from "../../../../hooks/table/columns/use-sales-channel-table-columns" import { useSalesChannelTableColumns } from "../../../../hooks/table/columns/use-sales-channel-table-columns"
import { useSalesChannelTableFilters } from "../../../../hooks/table/filters"
import { useSalesChannelTableQuery } from "../../../../hooks/table/query/use-sales-channel-table-query" import { useSalesChannelTableQuery } from "../../../../hooks/table/query/use-sales-channel-table-query"
import { useDataTable } from "../../../../hooks/use-data-table" import { useDataTable } from "../../../../hooks/use-data-table"
@@ -42,6 +43,7 @@ export const SalesChannelListTable = () => {
}) })
const columns = useColumns() const columns = useColumns()
const filters = useSalesChannelTableFilters()
const { table } = useDataTable({ const { table } = useDataTable({
data: sales_channels ?? [], data: sales_channels ?? [],
@@ -76,6 +78,7 @@ export const SalesChannelListTable = () => {
columns={columns} columns={columns}
count={count} count={count}
pageSize={PAGE_SIZE} pageSize={PAGE_SIZE}
filters={filters}
pagination pagination
search search
navigateTo={(row) => row.id} navigateTo={(row) => row.id}
@@ -1,29 +1,19 @@
import { Outlet } from "react-router-dom"
import { SalesChannelListTable } from "./components/sales-channel-list-table" import { SalesChannelListTable } from "./components/sales-channel-list-table"
import after from "virtual:medusa/widgets/sales_channel/list/after" import after from "virtual:medusa/widgets/sales_channel/list/after"
import before from "virtual:medusa/widgets/sales_channel/list/before" import before from "virtual:medusa/widgets/sales_channel/list/before"
import { SingleColumnPage } from "../../../components/layout/pages"
export const SalesChannelList = () => { export const SalesChannelList = () => {
return ( return (
<div className="flex flex-col gap-y-2"> <SingleColumnPage
{before.widgets.map((w, i) => { widgets={{
return ( before,
<div key={i}> after,
<w.Component /> }}
</div> hasOutlet
) >
})}
<SalesChannelListTable /> <SalesChannelListTable />
{after.widgets.map((w, i) => { </SingleColumnPage>
return (
<div key={i}>
<w.Component key={i} />
</div>
)
})}
<Outlet />
</div>
) )
} }