PriceSummary
Functions
- usePriceSummary(props) ⇒
PriceSummaryTalonProps
This talon contains logic for a price summary component. It performs effects and returns prop data for rendering the component.
This talon performs the following effects:
- Log a GraphQL error if it occurs when getting the price summary
Typedefs
- FlattenedData :
Object
Query data flattened into a simple object.
- PriceSummaryQueries :
Object
GraphQL queries for price summary component.
- PriceSummaryTalonProps :
Object
Props used for rendering a price summary component.
This talon contains logic for a price summary component. It performs effects and returns prop data for rendering the component.
This talon performs the following effects:
- Log a GraphQL error if it occurs when getting the price summary
Returns:
Parameters
Name | Type | Description |
---|---|---|
props | Object | |
props.queries | GraphQL queries for a price summary component. |
Example (Importing into your project)
Copied to your clipboardimport { usePriceSummary } from '@magento/peregrine/lib/talons/CartPage/PriceSummary/usePriceSummary';
Query data flattened into a simple object.
Properties
Name | Type | Description |
---|---|---|
subtotal | String | Cart subtotal (excluding tax) |
total | String | Cart grand total |
discounts | Array.<Object> | Applied discounts to the cart |
giftCards | Array.<Object> | Gift cards applied to the cart |
giftOptions | Array.<Object> | Gift Options applied to the cart |
taxes | Array.<Object> | Taxes applied to the cart |
shipping | Array.<Object> | Shipping addresses associated with this cart |
GraphQL queries for price summary component.
See: priceSummary.js
for the queries used in Venia.
Properties
Name | Type | Description |
---|---|---|
getPriceSummary | GraphQLAST | Query to get the price summary for a cart |
Props used for rendering a price summary component.
Properties
Name | Type | Description |
---|---|---|
handleProceedToCheckout | function | Callback function which navigates the browser to the checkout * @property {function} handleEnterKeyPress Callback function which navigates the browser to the checkout at the press of enter key |
hasError | boolean | True if a GraphQL query returns an error. False otherwise. |
hasItems | boolean | True if the cart has any items. False otherwise. |
isLoading | boolean | True while the GraphQL query is still in flight. False otherwise. |
flatData | Query data that has been flattened into a simple object |
Source Code: pwa-studio/packages/peregrine/lib/talons/CartPage/PriceSummary/usePriceSummary.js
Examples
usePriceSummary()
Copied to your clipboardimport React from 'react'import { usePriceSummary } from '@magento/peregrine/lib/talons/CartPage/PriceSummary/usePriceSummary';import { GET_PRICE_SUMMARY } from './myPriceSummary.gql';const MyPriceSummary = props => {const { isUpdating } = props;const talonProps = usePriceSummary({queries: {getPriceSummary: GET_PRICE_SUMMARY}});const {handleProceedToCheckout,hasError,hasItems,isCheckout,isLoading,flatData} = talonProps;if (hasError) {return (<div>Something went wrong. Please refresh and try again.</div>);} else if (!hasItems || isLoading) {return null;}const { subtotal, total, discounts, giftCards, taxes, shipping } = flatData;return (// JSX that renders a price summary component using data from the talon)}export default MyPriceSummary