saleor-dashboard/src/pages/queries.ts

74 lines
1.3 KiB
TypeScript
Raw Normal View History

import makeQuery from "@saleor/hooks/makeQuery";
2019-06-19 14:40:52 +00:00
import gql from "graphql-tag";
import { TypedQuery } from "../queries";
import { PageDetails, PageDetailsVariables } from "./types/PageDetails";
import { PageList, PageListVariables } from "./types/PageList";
export const pageFragment = gql`
fragment PageFragment on Page {
id
title
slug
isPublished
}
`;
export const pageDetailsFragment = gql`
${pageFragment}
fragment PageDetailsFragment on Page {
...PageFragment
contentJson
seoTitle
seoDescription
publicationDate
}
`;
const pageList = gql`
${pageFragment}
2019-12-17 17:13:56 +00:00
query PageList(
$first: Int
$after: String
$last: Int
$before: String
$sort: PageSortingInput
) {
pages(
before: $before
after: $after
first: $first
last: $last
sortBy: $sort
) {
2019-06-19 14:40:52 +00:00
edges {
node {
...PageFragment
}
}
pageInfo {
hasPreviousPage
hasNextPage
startCursor
endCursor
}
}
}
`;
2019-12-17 17:13:56 +00:00
export const usePageListQuery = makeQuery<PageList, PageListVariables>(
2019-06-19 14:40:52 +00:00
pageList
);
const pageDetails = gql`
${pageDetailsFragment}
query PageDetails($id: ID!) {
page(id: $id) {
...PageDetailsFragment
}
}
`;
export const TypedPageDetailsQuery = TypedQuery<
PageDetails,
PageDetailsVariables
>(pageDetails);