File "block.js"
Full Path: /home/warrior1/public_html/plugins/woocommerce/packages/woocommerce-blocks/assets/js/blocks/products/all-products/block.js
File size: 1.25 KB
MIME-type: text/x-java
Charset: utf-8
/**
* External dependencies
*/
import { Component } from 'react';
import PropTypes from 'prop-types';
import { ProductListContainer } from '@woocommerce/base-components/product-list';
import { InnerBlockLayoutContextProvider } from '@woocommerce/shared-context';
import { gridBlockPreview } from '@woocommerce/resource-previews';
import {
StoreNoticesProvider,
StoreNoticesContainer,
} from '@woocommerce/base-context';
/**
* The All Products Block.
*/
class Block extends Component {
static propTypes = {
/**
* The attributes for this block.
*/
attributes: PropTypes.object.isRequired,
};
render() {
const { attributes, urlParameterSuffix } = this.props;
if ( attributes.isPreview ) {
return gridBlockPreview;
}
/**
* Todo classes
*
* wp-block-{$this->block_name},
* wc-block-{$this->block_name},
*/
return (
<InnerBlockLayoutContextProvider
parentName="woocommerce/all-products"
parentClassName="wc-block-grid"
>
<StoreNoticesProvider>
<StoreNoticesContainer context={ 'wc/all-products' } />
</StoreNoticesProvider>
<ProductListContainer
attributes={ attributes }
urlParameterSuffix={ urlParameterSuffix }
/>
</InnerBlockLayoutContextProvider>
);
}
}
export default Block;