woocommerce/plugins/woocommerce-blocks
Seghir Nadir 2c8388f0a8 Update and select shipping rates dynamically (https://github.com/woocommerce/woocommerce-blocks/pull/1794)
* add select shipping endpoint to router

* add select shipping method

* add selected rates to cart

* better select rates

* move schema function to seperate function

* move validation to Cart Controller

* fix wrong session key

* Update shipping/cart endpoints (https://github.com/woocommerce/woocommerce-blocks/pull/1833)

* Items should not have keys in API response

* Include package ID in response (this is just a basic index)

* /cart/select-shipping-rate/package_id

* Add package_id to package array

* Update responses and add shipping-rates to main cart endpoint

* update-shipping endpoint

* Add querying selected shipping rate to the store (https://github.com/woocommerce/woocommerce-blocks/pull/1829)

* add selecting shipping to store

* directly call useSelectShippingRate

* refactor cart keys transformation to reducer

* remove selecting first result and accept selecting

* move update shipping to new endpoint

* pass selected rates down

* select shipping right directly and fix editor issues

* fix some broken prop types

* key -> package id

* Update and fix cart/shipping-rate tests

* fix case for when rates are set

* Update useShippingRates test

* add args to rest endpoint

* move selecting shipping rate logic to hook

* fix some naming issues

* update propTypes

* update action call

* fully watch cart state

* address review issues

* fix prop type issues

* fix issue with rates not loading in checkout

* remove extra package for shipping

* move ShippingCalculatorOptions to outside

Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: Albert Juhé Lluveras <aljullu@gmail.com>
2020-03-05 20:54:05 +01:00
..
.github Re-organise docs and add WP update instructions (https://github.com/woocommerce/woocommerce-blocks/pull/1691) 2020-01-31 12:48:11 +00:00
.sources New block: Filter Products by Price (https://github.com/woocommerce/woocommerce-blocks/pull/853) 2019-11-01 13:56:14 +00:00
assets Update and select shipping rates dynamically (https://github.com/woocommerce/woocommerce-blocks/pull/1794) 2020-03-05 20:54:05 +01:00
bin Update Node.js to v12.16.1 (https://github.com/woocommerce/woocommerce-blocks/pull/1769) 2020-02-19 16:35:04 +00:00
docs Suggest using `git cherry-pick` instead of `hub am -3` in release docs (https://github.com/woocommerce/woocommerce-blocks/pull/1844) 2020-03-03 12:38:50 +00:00
src Update and select shipping rates dynamically (https://github.com/woocommerce/woocommerce-blocks/pull/1794) 2020-03-05 20:54:05 +01:00
storybook Basic storybook implementation (https://github.com/woocommerce/woocommerce-blocks/pull/1636) 2020-01-31 09:59:14 +13:00
tests Update and select shipping rates dynamically (https://github.com/woocommerce/woocommerce-blocks/pull/1794) 2020-03-05 20:54:05 +01:00
.editorconfig Introduce legacy build system and new aliases (https://github.com/woocommerce/woocommerce-blocks/pull/1018) 2019-10-06 08:36:15 -04:00
.env Fix wp-cli container permissions issues for e2e docker test environment (https://github.com/woocommerce/woocommerce-blocks/pull/1716) 2020-02-11 11:13:20 -05:00
.eslintignore Install prettier and reformat files (https://github.com/woocommerce/woocommerce-blocks/pull/945) 2019-09-05 17:09:31 +02:00
.eslintrc.js Fix wp-cli container permissions issues for e2e docker test environment (https://github.com/woocommerce/woocommerce-blocks/pull/1716) 2020-02-11 11:13:20 -05:00
.gitattributes CSS naming convention docs (https://github.com/woocommerce/woocommerce-blocks/pull/1653) 2020-01-28 15:50:57 +00:00
.gitignore Product search block e2e test (https://github.com/woocommerce/woocommerce-blocks/pull/1712) 2020-02-11 12:23:23 -05:00
.nvmrc Adds continuous integration testing with travis (https://github.com/woocommerce/woocommerce-blocks/pull/156) 2018-11-27 12:12:48 -05:00
.prettierrc Fix increment bug in withComponentId (https://github.com/woocommerce/woocommerce-blocks/pull/951) 2019-09-07 08:04:34 -04:00
.stylelintrc.json Add stylelint to find and fix css code style issues (https://github.com/woocommerce/woocommerce-blocks/pull/126) 2018-11-15 10:45:49 -05:00
.travis.yml Fix failing travis e2e tests (environment caused) (https://github.com/woocommerce/woocommerce-blocks/pull/1856) 2020-03-03 11:08:53 -05:00
README.md Remove broken links from README.md (https://github.com/woocommerce/woocommerce-blocks/pull/1792) 2020-02-21 18:22:06 +01:00
babel.config.js Fix wp-cli container permissions issues for e2e docker test environment (https://github.com/woocommerce/woocommerce-blocks/pull/1716) 2020-02-11 11:13:20 -05:00
composer.json fix composer config and regenerate composer.lock (https://github.com/woocommerce/woocommerce-blocks/pull/1732) 2020-02-14 11:04:10 +00:00
composer.lock fix composer config and regenerate composer.lock (https://github.com/woocommerce/woocommerce-blocks/pull/1732) 2020-02-14 11:04:10 +00:00
docker-compose.yaml Fix wp-cli container permissions issues for e2e docker test environment (https://github.com/woocommerce/woocommerce-blocks/pull/1716) 2020-02-11 11:13:20 -05:00
package-lock.json Update babel monorepo to v7.8.6 (https://github.com/woocommerce/woocommerce-blocks/pull/1859) 2020-03-04 13:01:11 +00:00
package.json Fix broken e2e test for Checkout block (https://github.com/woocommerce/woocommerce-blocks/pull/1869) 2020-03-05 10:00:39 +01:00
phpcs.xml Update NPM dependencies and script dependency handling (https://github.com/woocommerce/woocommerce-blocks/pull/1337) 2019-12-10 12:17:46 -05:00
phpunit.xml.dist Move main controllers from assets/php to src (https://github.com/woocommerce/woocommerce-blocks/pull/655) 2019-07-01 13:52:44 +01:00
postcss.config.js Create Reviews by Product block (https://github.com/woocommerce/woocommerce-blocks/pull/658) 2019-08-15 16:55:57 +02:00
readme.txt add changelog from 2.5.14 2020-03-04 07:29:14 -05:00
renovate.json Update renovate to assign `type: dependencies` label for pulls (https://github.com/woocommerce/woocommerce-blocks/pull/1648) 2020-01-27 10:37:09 -05:00
tsconfig.json Checkout form options to control field visibility (https://github.com/woocommerce/woocommerce-blocks/pull/1868) 2020-03-05 13:06:47 +00:00
webpack.config.js Switch lint:js command to use wp-scripts and address errors. (https://github.com/woocommerce/woocommerce-blocks/pull/1837) 2020-02-28 16:54:07 -05:00
woocommerce-gutenberg-products-block.php Update WooCommerce tested version up to 4.0 (https://github.com/woocommerce/woocommerce-blocks/pull/1768) 2020-02-18 14:51:25 +01:00

README.md

WooCommerce Product Blocks

Feature plugin for WooCommerce + Gutenberg. This plugin serves as a space to iterate and explore new Blocks for WooCommerce, and how WooCommerce might work with the block editor.

If you're just looking to use these blocks, update to the latest version of WooCommerce! The blocks are bundled into WooCommerce since version 3.6, and can be added from the "WooCommerce" section in the block inserter.

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.

Table of Contents

Installing the stable version

We release a new version of WooCommerce Blocks onto WordPress.org every few weeks, which can be used as an easier way to preview the features.

  1. Make sure you have WordPress 5.0+ and WooCommerce 3.7+
  2. The stable version is available on WordPress.org. Download the stable version here.
  3. Activate the plugin.

Installing the development version

  1. Make sure you have WordPress 5.0+ and WooCommerce 3.7+
  2. Get a copy of this plugin using the green "Clone or download" button on the right.
  3. npm install to install the dependencies.
  4. composer install to install core dependencies.
  5. npm run build (build once) or npm start (keep watching for changes) to compile the code.
  6. Activate the plugin.

The source code is in the assets/ folder and the compiled code is built into build/.

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.

To begin contributing to the WooCommerce Blocks plugin, see our getting started guide and developer handbook.

Other useful docs to explore:

Vision for the Feature

Users should be able to insert a variety of products from their store (specific products, products in a category, with assorted layouts and visual styles, etc.) into their post content using a simple and powerful visual editor.