
* Update macaw to include Paginator changes * Add link support to TablePagination component * Rewrite usePaginator to use context and links instead of onClick * Refactor ProductList to use new usePaginator hook * Add decorator for PaginatorContext in ProductList stories * Refactor AppList to use new usePaginator hook * Refactor AttributeList to use new usePaginator hook * Add missing pagination props for local pagination to AttributeValues * Refactor CategoryList to use new usePaginator hook * Refactor CategoryDetails to use useLocalPaginator and context * Refactor CollectionList to use new usePaginator hook * Refactor CollectionProducts to use new usePaginator hook * Refactor CustomerList to use new usePaginator hook * Refactor VoucherDetailsPage to use PaginationContext * Refactor SaleDetails to use PaginatorContext * Refactor SaleList to use new usePaginator hook * Refactor VoucherList to use new usePaginator hook * Fix type error in paginatorContextValues fixture * Refactor GitfCardList to use new usePaginator hook * Remove unused imports * Refactor MenuList to use new usePaginator hook * Refactor OrderDraftList to use new usePaginator hook * Refactor OrderListPage to use new usePaginator hook * Refactor PageList to use new usePaginator hook * Refactor PageTypeList to use new usePaginator hook * Refactor PermissionGroupList to use new usePaginator hook * Refactor PluginsList to use new usePaginator hook * Refactor ProductTypeList to use new usePaginator hook * Refactor ShippingMethodProducts to use PaginationContext * Refactor ShippingZonesList to use new usePaginator hook * Refactor StaffList to use new usePaginator hook * Fix TS errors * Update TranslationEntities and TranslationFields to use new usePaginator * Refactor WarehouseList to use new usePaginator hook * Fix errors in stories that didn't use PaginationContextDecorator * Mention changes in changelog * Update to latest macaw version, update snapshots
61 lines
1.8 KiB
TypeScript
61 lines
1.8 KiB
TypeScript
import { useCollectionTranslationsQuery } from "@saleor/graphql";
|
|
import usePaginator, { PaginatorContext } from "@saleor/hooks/usePaginator";
|
|
import TranslationsEntitiesList from "@saleor/translations/components/TranslationsEntitiesList";
|
|
import {
|
|
languageEntityUrl,
|
|
TranslatableEntities
|
|
} from "@saleor/translations/urls";
|
|
import { mapEdgesToItems } from "@saleor/utils/maps";
|
|
import React from "react";
|
|
|
|
import { TranslationsEntityListProps } from "./types";
|
|
import { sumCompleted } from "./utils";
|
|
|
|
const TranslationsCollectionList: React.FC<TranslationsEntityListProps> = ({
|
|
params,
|
|
variables
|
|
}) => {
|
|
const { data, loading } = useCollectionTranslationsQuery({
|
|
displayLoader: true,
|
|
variables
|
|
});
|
|
|
|
const paginationValues = usePaginator({
|
|
pageInfo: data?.translations?.pageInfo,
|
|
paginationState: variables,
|
|
queryString: params
|
|
});
|
|
|
|
return (
|
|
<PaginatorContext.Provider value={paginationValues}>
|
|
<TranslationsEntitiesList
|
|
disabled={loading}
|
|
entities={mapEdgesToItems(data?.translations)?.map(
|
|
node =>
|
|
node.__typename === "CollectionTranslatableContent" && {
|
|
completion: {
|
|
current: sumCompleted([
|
|
node.translation?.description,
|
|
node.translation?.name,
|
|
node.translation?.seoDescription,
|
|
node.translation?.seoTitle
|
|
]),
|
|
max: 4
|
|
},
|
|
id: node.collection.id,
|
|
name: node.collection.name
|
|
}
|
|
)}
|
|
getRowHref={id =>
|
|
languageEntityUrl(
|
|
variables.language,
|
|
TranslatableEntities.collections,
|
|
id
|
|
)
|
|
}
|
|
/>
|
|
</PaginatorContext.Provider>
|
|
);
|
|
};
|
|
|
|
export default TranslationsCollectionList;
|