saleor-dashboard/src/attributes/queries.ts

92 lines
1.8 KiB
TypeScript
Raw Normal View History

2019-08-09 10:17:04 +00:00
import gql from "graphql-tag";
import { pageInfoFragment, TypedQuery } from "../queries";
import {
AttributeDetails,
AttributeDetailsVariables
} from "./types/AttributeDetails";
import { AttributeList, AttributeListVariables } from "./types/AttributeList";
export const attributeFragment = gql`
fragment AttributeFragment on Attribute {
id
name
slug
visibleInStorefront
filterableInDashboard
filterableInStorefront
}
`;
export const attributeDetailsFragment = gql`
${attributeFragment}
fragment AttributeDetailsFragment on Attribute {
...AttributeFragment
2019-08-12 13:08:16 +00:00
availableInGrid
2019-08-09 10:17:04 +00:00
inputType
storefrontSearchPosition
valueRequired
values {
id
name
slug
type
}
}
`;
const attributeDetails = gql`
${attributeDetailsFragment}
query AttributeDetails($id: ID!) {
attribute(id: $id) {
...AttributeDetailsFragment
}
}
`;
export const AttributeDetailsQuery = TypedQuery<
AttributeDetails,
AttributeDetailsVariables
>(attributeDetails);
const attributeList = gql`
${attributeFragment}
${pageInfoFragment}
query AttributeList(
2019-09-10 15:32:47 +00:00
$filter: AttributeFilterInput
2019-08-09 10:17:04 +00:00
$inCategory: ID
$inCollection: ID
$before: String
$after: String
$first: Int
$last: Int
) {
attributes(
2019-09-10 15:32:47 +00:00
filter: $filter
2019-08-09 10:17:04 +00:00
inCategory: $inCategory
inCollection: $inCollection
before: $before
after: $after
first: $first
last: $last
) {
edges {
node {
...AttributeFragment
2019-09-25 09:26:46 +00:00
values {
id
name
slug
}
2019-08-09 10:17:04 +00:00
}
}
pageInfo {
...PageInfoFragment
}
}
}
`;
export const AttributeListQuery = TypedQuery<
AttributeList,
AttributeListVariables
>(attributeList);