Repository URL to install this package:
|
Version:
2.1.12 ▾
|
import React from 'react'
import { observer } from 'xmobx/mobx-react'
import { toCommonState } from '@skava/ui/dist/state/common'
import { CommonState } from '@skava/ui/dist/state'
import { EMPTY_OBJ } from 'exotic'
import {
ProductItem as ProductItemPlaceholder,
Provider,
} from 'abstractions/Order/ProductItem'
import { ProductItemProps } from './typings'
import {
defaultRenderImage,
defaultRenderName,
defaultRenderDescription,
defaultRenderSkuId,
// defaultRenderSize,
// defaultRenderColor,
// defaultRenderItemId,
defaultRenderPrice,
defaultRenderQuantity,
defaultRenderFacets,
defaultRenderRatings,
defaultRenderProductFrequency,
//
defaultRenderProductItemAddress,
defaultRenderProductItemButtons,
defaultRenderProductItemForm,
//
defaultRenderWrapper,
} from './renderProps'
@observer
class ProductItem extends React.Component<ProductItemProps, CommonState> {
state = toCommonState(this.props)
static defaultProps = {
className: '',
/**
* render props
*/
renderImage: defaultRenderImage,
renderName: defaultRenderName,
renderDescription: defaultRenderDescription,
renderSkuId: defaultRenderSkuId,
// renderSize: defaultRenderSize,
// renderColor: defaultRenderColor,
// renderItemId: defaultRenderItemId,
renderPrice: defaultRenderPrice,
renderQuantity: defaultRenderQuantity,
renderFacets: defaultRenderFacets,
renderRatings: defaultRenderRatings,
renderProductFrequency: defaultRenderProductFrequency,
//
renderProductItemAddress: defaultRenderProductItemAddress,
renderProductItemButtons: defaultRenderProductItemButtons,
renderProductItemForm: defaultRenderProductItemForm,
//
renderWrapper: defaultRenderWrapper,
}
render() {
// console.debug('[ProductItem/Presets] hasSingleProduct')
// console.dir(this.props.itemDetails.hasSingleProduct)
const value = { props: this.props, state: this.state }
return (
<Provider value={value}>
<ProductItemPlaceholder {...this.props} />
</Provider>
)
}
}
export { ProductItem }
export default ProductItem