saleor-dashboard/src/channels/components/AssignmentList/AssignmentList.tsx
Dawid f1ffb5093f
Add assign warehouse section in channel page (#2127)
* Add assign warehouse section in channel page

* Update data-test-ids on channel page

* Update channel page form details

* Update shipping zones and warehouses cards in chaannel page

* Assigning warehouses by channel in product and variant pages (#2135)

* Assigning warehouses by channel in product and variant pages

* Disable warehouse assignment when no channel on variant page

* Update products stocks section messages
2022-07-11 11:43:08 +02:00

60 lines
1.6 KiB
TypeScript

import { Accordion, Divider, Typography } from "@material-ui/core";
import React from "react";
import { defineMessages, useIntl } from "react-intl";
import AssignmentListFooter from "./AssignmentListFooter";
import AssignmentListHeader from "./AssignmentListHeader";
import Item from "./Item";
import { useExpanderStyles, useStyles } from "./styles";
import { AssignmentListProps } from "./types";
const messages = defineMessages({
allSelectedMessage: {
id: "uKlrEk",
defaultMessage: "All available {itemsName} have been selected",
description: "all selected items message",
},
});
const AssignmentList: React.FC<AssignmentListProps> = props => {
const {
items,
itemsName,
fetchMoreItems: { totalCount },
removeItem,
} = props;
const intl = useIntl();
const classes = useStyles();
const expanderClasses = useExpanderStyles();
const hasMoreItemsToBeSelected = totalCount !== items.length;
return (
<Accordion classes={expanderClasses}>
<AssignmentListHeader
assignCount={items.length}
totalCount={totalCount}
itemsName={itemsName}
/>
<Divider />
{items.map(item => (
<Item key={item.id} item={item} onDelete={removeItem} />
))}
{hasMoreItemsToBeSelected ? (
<AssignmentListFooter {...props} />
) : (
<Typography
color="textSecondary"
variant="subtitle1"
className={classes.infoMessage}
>
{intl.formatMessage(messages.allSelectedMessage, {
itemsName: itemsName.toLowerCase(),
})}
</Typography>
)}
</Accordion>
);
};
export default AssignmentList;