Separate visual and app layer in drafts
This commit is contained in:
parent
cde1735869
commit
db60f13216
7 changed files with 62 additions and 61 deletions
|
@ -15,14 +15,14 @@ import {
|
||||||
FilterPageProps
|
FilterPageProps
|
||||||
} from "@saleor/types";
|
} from "@saleor/types";
|
||||||
import { OrderDraftListUrlSortField } from "@saleor/orders/urls";
|
import { OrderDraftListUrlSortField } from "@saleor/orders/urls";
|
||||||
import {
|
|
||||||
OrderDraftFilterKeys,
|
|
||||||
createFilterStructure
|
|
||||||
} from "@saleor/orders/views/OrderDraftList/filter";
|
|
||||||
import { OrderDraftListFilterOpts } from "@saleor/orders/types";
|
|
||||||
import FilterBar from "@saleor/components/FilterBar";
|
import FilterBar from "@saleor/components/FilterBar";
|
||||||
import OrderDraftList from "../OrderDraftList";
|
import OrderDraftList from "../OrderDraftList";
|
||||||
import { OrderDraftList_draftOrders_edges_node } from "../../types/OrderDraftList";
|
import { OrderDraftList_draftOrders_edges_node } from "../../types/OrderDraftList";
|
||||||
|
import {
|
||||||
|
OrderDraftListFilterOpts,
|
||||||
|
OrderDraftFilterKeys,
|
||||||
|
createFilterStructure
|
||||||
|
} from "./filters";
|
||||||
|
|
||||||
export interface OrderDraftListPageProps
|
export interface OrderDraftListPageProps
|
||||||
extends PageListProps,
|
extends PageListProps,
|
||||||
|
|
50
src/orders/components/OrderDraftListPage/filters.ts
Normal file
50
src/orders/components/OrderDraftListPage/filters.ts
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
import { IntlShape, defineMessages } from "react-intl";
|
||||||
|
|
||||||
|
import { FilterOpts, MinMax } from "@saleor/types";
|
||||||
|
import { createDateField, createTextField } from "@saleor/utils/filters/fields";
|
||||||
|
import { IFilter } from "@saleor/components/Filter";
|
||||||
|
|
||||||
|
export enum OrderDraftFilterKeys {
|
||||||
|
created = "created",
|
||||||
|
customer = "customer"
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface OrderDraftListFilterOpts {
|
||||||
|
created: FilterOpts<MinMax>;
|
||||||
|
customer: FilterOpts<string>;
|
||||||
|
}
|
||||||
|
|
||||||
|
const messages = defineMessages({
|
||||||
|
created: {
|
||||||
|
defaultMessage: "Created",
|
||||||
|
description: "draft order"
|
||||||
|
},
|
||||||
|
customer: {
|
||||||
|
defaultMessage: "Customer",
|
||||||
|
description: "draft order"
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
export function createFilterStructure(
|
||||||
|
intl: IntlShape,
|
||||||
|
opts: OrderDraftListFilterOpts
|
||||||
|
): IFilter<OrderDraftFilterKeys> {
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
...createDateField(
|
||||||
|
OrderDraftFilterKeys.created,
|
||||||
|
intl.formatMessage(messages.created),
|
||||||
|
opts.created.value
|
||||||
|
),
|
||||||
|
active: opts.created.active
|
||||||
|
},
|
||||||
|
{
|
||||||
|
...createTextField(
|
||||||
|
OrderDraftFilterKeys.customer,
|
||||||
|
intl.formatMessage(messages.customer),
|
||||||
|
opts.customer.value
|
||||||
|
),
|
||||||
|
active: opts.customer.active
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,2 +1,3 @@
|
||||||
export { default } from "./OrderDraftListPage";
|
export { default } from "./OrderDraftListPage";
|
||||||
export * from "./OrderDraftListPage";
|
export * from "./OrderDraftListPage";
|
||||||
|
export * from "./filters";
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
import { FilterOpts, MinMax } from "@saleor/types";
|
|
||||||
|
|
||||||
export interface OrderDraftListFilterOpts {
|
|
||||||
created: FilterOpts<MinMax>;
|
|
||||||
customer: FilterOpts<string>;
|
|
||||||
}
|
|
|
@ -46,7 +46,7 @@ import {
|
||||||
saveFilterTab,
|
saveFilterTab,
|
||||||
getFilterQueryParam,
|
getFilterQueryParam,
|
||||||
getFilterOpts
|
getFilterOpts
|
||||||
} from "./filter";
|
} from "./filters";
|
||||||
import { getSortQueryVariables } from "./sort";
|
import { getSortQueryVariables } from "./sort";
|
||||||
|
|
||||||
interface OrderDraftListProps {
|
interface OrderDraftListProps {
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import { IntlShape } from "react-intl";
|
|
||||||
|
|
||||||
import { OrderDraftFilterInput } from "@saleor/types/globalTypes";
|
import { OrderDraftFilterInput } from "@saleor/types/globalTypes";
|
||||||
import { maybe } from "@saleor/misc";
|
import { maybe } from "@saleor/misc";
|
||||||
import { OrderDraftListFilterOpts } from "@saleor/orders/types";
|
import { IFilterElement } from "@saleor/components/Filter";
|
||||||
import { IFilter, IFilterElement } from "@saleor/components/Filter";
|
import {
|
||||||
import { createTextField, createDateField } from "@saleor/utils/filters/fields";
|
OrderDraftFilterKeys,
|
||||||
|
OrderDraftListFilterOpts
|
||||||
|
} from "@saleor/orders/components/OrderDraftListPage";
|
||||||
import {
|
import {
|
||||||
OrderDraftListUrlFilters,
|
OrderDraftListUrlFilters,
|
||||||
OrderDraftListUrlFiltersEnum,
|
OrderDraftListUrlFiltersEnum,
|
||||||
|
@ -14,15 +14,9 @@ import {
|
||||||
createFilterTabUtils,
|
createFilterTabUtils,
|
||||||
createFilterUtils
|
createFilterUtils
|
||||||
} from "../../../utils/filters";
|
} from "../../../utils/filters";
|
||||||
import messages from "./messages";
|
|
||||||
|
|
||||||
export const ORDER_DRAFT_FILTERS_KEY = "orderDraftFilters";
|
export const ORDER_DRAFT_FILTERS_KEY = "orderDraftFilters";
|
||||||
|
|
||||||
export enum OrderDraftFilterKeys {
|
|
||||||
created = "created",
|
|
||||||
customer = "customer"
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getFilterOpts(
|
export function getFilterOpts(
|
||||||
params: OrderDraftListUrlFilters
|
params: OrderDraftListUrlFilters
|
||||||
): OrderDraftListFilterOpts {
|
): OrderDraftListFilterOpts {
|
||||||
|
@ -47,30 +41,6 @@ export function getFilterOpts(
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export function createFilterStructure(
|
|
||||||
intl: IntlShape,
|
|
||||||
opts: OrderDraftListFilterOpts
|
|
||||||
): IFilter<OrderDraftFilterKeys> {
|
|
||||||
return [
|
|
||||||
{
|
|
||||||
...createDateField(
|
|
||||||
OrderDraftFilterKeys.created,
|
|
||||||
intl.formatMessage(messages.created),
|
|
||||||
opts.created.value
|
|
||||||
),
|
|
||||||
active: opts.created.active
|
|
||||||
},
|
|
||||||
{
|
|
||||||
...createTextField(
|
|
||||||
OrderDraftFilterKeys.customer,
|
|
||||||
intl.formatMessage(messages.customer),
|
|
||||||
opts.customer.value
|
|
||||||
),
|
|
||||||
active: opts.customer.active
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getFilterVariables(
|
export function getFilterVariables(
|
||||||
params: OrderDraftListUrlFilters
|
params: OrderDraftListUrlFilters
|
||||||
): OrderDraftFilterInput {
|
): OrderDraftFilterInput {
|
|
@ -1,14 +0,0 @@
|
||||||
import { defineMessages } from "react-intl";
|
|
||||||
|
|
||||||
const messages = defineMessages({
|
|
||||||
customer: {
|
|
||||||
defaultMessage: "Customer",
|
|
||||||
description: "draft order"
|
|
||||||
},
|
|
||||||
created: {
|
|
||||||
defaultMessage: "Created",
|
|
||||||
description: "draft order"
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
export default messages;
|
|
Loading…
Reference in a new issue