Darren Ethier
5f7dfe0ac8
Fix Package::init breakage for including plugin in WC core ( https://github.com/woocommerce/woocommerce-blocks/pull/1175 )
...
* fix broken Package init process
* add missing @since tag
* update version bump file to account for file location for version change
2019-11-14 12:19:22 -05:00
Mike Jolley
c412dde269
Store API - Add tests for product attributes endpoints ( https://github.com/woocommerce/woocommerce-blocks/pull/1151 )
...
* Add product attribute unit tests
* Add missing description param
* Allow returning empty terms
* Attribute terms tests
* Update tests/php/RestApi/StoreApi/Controllers/ProductAttributes.php
Co-Authored-By: Albert Juhé Lluveras <aljullu@gmail.com>
* Update tests/php/RestApi/StoreApi/Controllers/ProductAttributeTerms.php
Co-Authored-By: Albert Juhé Lluveras <aljullu@gmail.com>
2019-11-12 12:04:19 +00:00
Mike Jolley
c038a7fed4
Filter all products block by attribute ( https://github.com/woocommerce/woocommerce-blocks/pull/1127 )
...
* Block setup
* Working filtering and intersection of arrays
* Implement block settings and no attribute placeholder
* Correctly toggle counts
* Implement filtering
* Fix price slider constraints
* Fix price slider constraints
* Edit mode
* Rename ProductAttributeControl to ProductAttributeTermControl
* Attribute ID saving
* fix incorrect test fixtures
* fix incorrect regex for parsing model (or resource names) from the route.
* Fix query classes for some endpoints
* Style improvements
* Update inline comments
* use previous tests
* Show attribute control in sidebar
* Remove displayStyle option
* Sort attributes by name
* Show more/less toggle
* Use renderFrontend
* Only sort when adding values
* Rename memo placeholder
* More specific CSS for pointer
* Update assets/js/base/hooks/use-query-state.js
Co-Authored-By: Albert Juhé Lluveras <aljullu@gmail.com>
* Remove always true taxonomy check
* Update assets/js/blocks/attribute-filter/block.js
Co-Authored-By: Albert Juhé Lluveras <aljullu@gmail.com>
* Remove lodash join
* native js for string casting
* Move internal deps
* hyphenate attributes
* Correct data set names
* Remove unwanted dependency
* Moving imports
* Missing deps
* replace yoda conditonal
* Missing deps
* Missing deps
* Check value exists
* Remove undefined filter
* renderedOptions usememo
* Set defaults in checkbox list
* Show more/less refactor
* Use getAdminLink
* Fix object length check
* Correct AND query handling for counts
* useQueryStateByContext
* Add store rest endpoints
* Update assets/js/base/components/checkbox-list/index.js
Co-Authored-By: Albert Juhé Lluveras <aljullu@gmail.com>
* Update assets/js/base/components/checkbox-list/index.js
Co-Authored-By: Albert Juhé Lluveras <aljullu@gmail.com>
* Update assets/js/base/components/checkbox-list/index.js
Co-Authored-By: Albert Juhé Lluveras <aljullu@gmail.com>
* Update assets/js/blocks/attribute-filter/block.js
Co-Authored-By: Albert Juhé Lluveras <aljullu@gmail.com>
* Feedback
* feedback
* API readme
* Fix API relation queries for multiple attributes
* Prevent all options flashing visible during loads
* null check
* Improve loading state
* Remove null options change - it's no longer needed
2019-11-11 10:32:56 +00:00
Mike Jolley
524de4555e
Move "prices" data from rest API to store API ( https://github.com/woocommerce/woocommerce-blocks/pull/1128 )
2019-11-05 16:47:32 +00:00
Darren Ethier
dafd1c22c0
add additional data to new products store endpoint ( https://github.com/woocommerce/woocommerce-blocks/pull/1116 )
2019-11-01 13:50:01 +00:00
Mike Jolley
9d79403db2
REST API - Store API - Product filtering data, products endpoint, and cart refinements ( https://github.com/woocommerce/woocommerce-blocks/pull/1055 )
...
* Cart add endpoint and schema
* Empty card DELETE method
* Merge into single controller
* Revise verb usage
* PUT/update requests
* Move under rest api namespace
* Basic test coverage
* Invalid tests with status check
* Variation handling
* Update src/RestApi/StoreApi/Schemas/CartItemSchema.php
Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>
* Remove key arg for delete endpoint
* code comment for creation
* rename param to product_id
* Renaming methods from _item to _cart_item
* Prepare storeAPI products endpoint for public use
* Price filter headers
* Attribute counts
* Add Rating filter
* Rating counts
* Fix counts
* Moved utilities
* API docs
* Use correct response for cart item
* Attributes filtering
* Stats
* Products/Stats unit tests
* Rename stats to collection data
* Remove `embed` from schema
* Add since $VID:$ tags
* Improve operator logic and add isset checks
* Force cart schema to be readonly
2019-10-25 10:43:52 +01:00
Mike Jolley
b0b5cc51a3
Introduce a Cart API on top of the REST API ( https://github.com/woocommerce/woocommerce-blocks/pull/1046 )
...
* Cart add endpoint and schema
* Empty card DELETE method
* Merge into single controller
* Revise verb usage
* PUT/update requests
* Move under rest api namespace
* Basic test coverage
* Invalid tests with status check
* Variation handling
* Update src/RestApi/StoreApi/Schemas/CartItemSchema.php
Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>
* Remove key arg for delete endpoint
* code comment for creation
* rename param to product_id
* Renaming methods from _item to _cart_item
2019-10-21 12:11:52 +01:00
Darren Ethier
57fdb8fe9c
Implement PHP DI container and refactor. Also implements new Asset data interface for extendable settings passed to js. ( https://github.com/woocommerce/woocommerce-blocks/pull/956 )
...
* Add dependency injection container for blocks
* Add new Pacakge and Bootstrap classes.
- Bootstrap for bootstrapping the plugin.
- Package will replace `src/Package` and added as a dependency for any classes needing package info.
* Introduce AssetsDataRegistry for managing asset data
* refactor existing classes to use new DIC and Asset Data Registry
- this is the bare minimum needed to make this pull viable.
- further refactors will be done in more atomic smaller pulls for easier review.
* add new settings handling and export `@woocommerce/settings` as an alias to wc.wcSettings
- the export is exposed php side on the `wc-settings` handle.
* Remove unnecessary concatenation
* Fix typos and improve doc blocks
* fix php linting issue
* Use better escaping function.
* improve jsdoc spacing
* improve test assertion
* use fully qualified class names in bootstrap
* improve comment block to account for dynamic version string replace on build
* handle exceptions a bit differently
* correct dependency reference in webpack config
* remove blank lines
* fix doc block comment alignment
* Various doc/grammar/spacing fixes from code review.
Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>
* improve naming, documentation and logic of filter callbacks
While this is intended for sanitization/validation, the callback ultimately provides flexibility for filtering the value before returning or setting in state so `filter` is a better name for this.
2019-09-23 14:07:13 -04:00
Darren Ethier
e5bf616dca
Add bundlesize package and tweak travis config ( https://github.com/woocommerce/woocommerce-blocks/pull/822 )
...
- adds bundlesize package and travis config to run it on pulls (reports size as a check on pulls)
- reconfigure travis configuration so that jobs are split by task for easier review/reporting
- Fix failing phpunit tests exposed as a result of the travis reconfiguration
- Fix legit fail exposed by failing phpunit test in products REST endpoint (permissions related)
- Don't abort plugin initialization when detecting no build asset file but still throw notice (necessary to ensure php tests run in travis because we don't build js/css assets unnecessarily for those tests)
2019-08-09 14:08:31 -04:00
Mike Jolley
51ece61df6
Update namespaces to include Automattic prefix ( https://github.com/woocommerce/woocommerce-blocks/pull/653 )
...
* Update namespaces with Automattic prefix.
* Use static methods for stateless class
2019-06-27 11:28:52 +01:00
Mike Jolley
8bc02c3b0c
Include blocks api in feature plugin ( https://github.com/woocommerce/woocommerce-blocks/pull/628 )
...
* Progress moving endpoints
* Handle rest api registration
* Add tag_operator to blocks API
From https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/555
* Unit tests
* update travis
* Composer before install
* Travis config
* switch dir running composer
* nodev mode
2019-06-27 11:03:21 +01:00