40b43e8d9c
* Prevent collection different than Produyct Catalog from being filtered * Adjust Product Filters tests * Split taxonomies filter into seperate filter per taxonomy * Add changelog * Improve onDeselect function * Update Product Filter test handlebars so they all use Product Collection that inherits query from template * Set Product Collection to inherit query from template in PHP unit tests * Remove unnecessary empty space * Add changelog * Update tests * Fix lint * Update Product Collection attributes in filter E2E handlebars * Update the Product Filters testing pages title * Satisfy TS by returning single React element rather than array of elements * Revert some incorrect changes * Cleanup after accidental incorrect merge * Add template utils to dynamic contents util * Fix Attribute Filter tests * Cleanup Attribute tests, refactor and fix types * Add product filter on top of attirbute filter in handlebars * Fix lint * Update Rating filter tests to use Product Archive template instead of post * Update Rating Filter handlebars * Update Stock filter tests to use Product Archive template instead of post * Update Stock Filter handlebars * Add more granular util to update Produyct Catalog based on handlebar template * Use Product Catalog util and simplify test scenarios * Unify handlebar templates * Fix Product Collection attributes in Product Filter handlebar templates * Revert temporary timeouts increase * Remove unused types * Cleanup types * Cleanup types * Lint fix * Rename updateTemplatesContent to updateTemplateContents to better depict its purpose * Fix types * Rename updateProductCatalogContent to updateProductCatalogTemplate to better depict its purpose * Allow for beforeAll and afterAll in PW tests * Use beforeAll and afterAll instead of using fixture in active filters test * Use beforeAll and afterAll instead of using fixture in attribute filters test * Use beforeAll and afterAll instead of using fixture in price filters test * Use beforeAll and afterAll instead of using fixture in rating filters test * Use beforeAll and afterAll instead of using fixture in stock status filters test * Get rid of updateProductCatalogTemplate util as it's too specific * Extract some constants * Remove unused file probably added here by accident * Adjust Attribute Filter block tests to the new logic * Merge fix * Bring back necessary handlebars file * Merge fix * Merge fix * Update beforeAll * Avoid relying on product collection page object in before all * Bring back the original order of tests * Switch Filter by Attribute tests to handlebars * Fix typo * Update test to new circumstances * Fix hooks usage We no longer use hooks other than `beforeEach` since we're resetting the DB for each test (#46125). Using other hooks was not caught by the linter (on this PR) because I accidentally removed the no-hooks rule in #47228 and restored it just now in #47500. 😅 * Fix the test * Fix Price filter test * Update attribute filter tests * Share the handlebars between tests * Update price filter tests * Update rating filter tests * Update stock filter tests * Remove unnecessary product collection page object from filter tests * Fix typo * Fix Filter by Stock test * Simplify Attribute filter test by remoiving one filter from page * Try to wait for element to be visible * Fix handlebars syntax for filters so it doesnt throw validation errors and warnings * Wait for filters to be visible for sure before performing further part of test * Wait for Site Editor canvas loader * Fix linter error --------- Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com> |
||
---|---|---|
.. | ||
.github | ||
.sources | ||
.vscode | ||
.wordpress-org | ||
assets | ||
bin | ||
changelog | ||
docs | ||
packages | ||
patches | ||
storybook | ||
tests | ||
.distignore | ||
.editorconfig | ||
.env | ||
.eslintignore | ||
.eslintrc.js | ||
.gitattributes | ||
.gitignore | ||
.markdownlint.json | ||
.markdownlintignore | ||
.prettierignore | ||
.prettierrc.js | ||
.stylelintrc.json | ||
.wp-env.json | ||
LICENSE | ||
README.md | ||
babel.config.js | ||
checkstyle.xml | ||
composer.json | ||
composer.lock | ||
docker-compose.yml | ||
global.d.ts | ||
package.json | ||
phpcs.xml | ||
phpunit.xml.dist | ||
postcss.config.js | ||
readme.txt | ||
tsconfig.base.json | ||
tsconfig.json | ||
webpack.config.js | ||
wp-cli.yml |
README.md
WooCommerce Blocks
This is the client for WooCommerce + Gutenberg. This package serves as a space to iterate and explore new Blocks and updates to existing blocks for WooCommerce, and how WooCommerce might work with the Block Editor.
Table of Contents
Documentation
To find out more about the blocks and how to use them, check out the documentation on WooCommerce.com.
If you want to see what we're working on for future versions, or want to help out, read on.
Code Documentation
- Blocks - Documentation for specific Blocks.
- Editor Components - Shared components used in WooCommerce blocks for the editor (Gutenberg) UI.
- WooCommerce Blocks Handbook - Documentation for designers and developers on how to extend or contribute to blocks, and how internal developers should handle new releases.
- WooCommerce Blocks Storybook - Contains a list and demo of components used in the plugin.
Getting started with block development
Run through the "Writing Your First Block Type" tutorial for a quick course in block-building.
For deeper dive, try looking at the core blocks code, or see what components are available.
Other useful docs to explore:
Long-term vision
WooCommerce Blocks are the easiest, most flexible way to build your store's user interface and showcase your products.