Albert Juhé Lluveras
dc232e87d6
Add withCategories and withAttributes HOCs ( https://github.com/woocommerce/woocommerce-blocks/pull/935 )
...
* Add withCategories HOC and show API errors in Product Category Control
* Create withAttributes HOC and display errors in Product Attribute Control
* Refactor formatError so it handles JS errors and API errors
* Rename 'onSelectAttribute' with 'onExpandAttribute'
* Add and update tests
* Fix error in product attributes endpoint
* Refactor ProductCategoryControl into a functional component
* Refactor ProductAttributeControl into a functional component
* Refactor formatError to use a 'message' and 'type' properties
* Replace enzyme with TestRenderer
* Fix formatErrors doctype format
* Rename 'frontend' error type to 'general'
2019-09-04 18:07:00 +02:00
Albert Juhé Lluveras
3829707bf9
Add error states to all components/blocks which use HOCs ( https://github.com/woocommerce/woocommerce-blocks/pull/928 )
...
* Show errors in Products Control component
* Export error formatting logic into a util
2019-08-30 11:36:06 +02:00
Mike Jolley
ea0ce0e915
Fix wcSettings conflicts with wc-admin ( https://github.com/woocommerce/woocommerce-blocks/pull/916 )
...
* Add inline settings script later than init
* Rename to shared-settings for clarity - other extensions filter these
* Implement block settings
* tweak used hooks
* update comment
* Shared settings should be dependency
* Make Webpack output shared and block settings (https://github.com/woocommerce/woocommerce-blocks/pull/918 )
2019-08-27 16:25:32 +01:00
Darren Ethier
72f0ed470f
Refactor: Introduce `wc-block-settings` bundle serving as `@woocommerce/settings` external. ( https://github.com/woocommerce/woocommerce-blocks/pull/903 )
...
* export new @woocommerce/settings external on `wc.blockSettings` global
- This handles reading data from the dom and assigning it to the global used in all packages dependent on `@woocommerce/settings` which is registered as an external pointing to the global.
- ensures that server data is only loaded on a route if needed.
* switch all direct imports of constants to use new `@woocommerce/settings` external
* enqueu new `wc-block-settings` script and attach inline data to it.
* fix test configuration and adjust test to use new external
* fix bad merge resolution after rebase
* switch constants import to `@woocommerce/settings` external after rebase
* reorder imports for convention
* improve method name
2019-08-22 16:56:47 -04:00
Albert Juhé Lluveras
a6a131f8fd
Move wc_product_block_data variables to constants file ( https://github.com/woocommerce/woocommerce-blocks/pull/870 )
2019-08-17 11:14:11 +02:00
Albert Juhé Lluveras
ad38f9d327
Create Reviews by Product block ( https://github.com/woocommerce/woocommerce-blocks/pull/658 )
...
* Create Reviews by Product block
* Honor Content settings
* Fix wrong className
* Load new wc-packages file
* Add reviews-by-product JS files to webpack config
* Cleanup
* Remove error messages
* Add Reviews by Product icon
* Update sort options
* Allow additional CSS classes attribute
* Refactor block styles
* Fix wrong default for reviews_orderby
* Don't enforce CSS chunks
* Add reviews count to Reviews by Product controls (https://github.com/woocommerce/woocommerce-blocks/pull/671 )
* Add label to Reviews by Product controls count (https://github.com/woocommerce/woocommerce-blocks/pull/677 )
* Add reviews count to Reviews by Product controls
* Add label to Reviews by Product controls count
* Add label to Reviews by Product controls count
* Update components package
* Review ordering and placeholders (https://github.com/woocommerce/woocommerce-blocks/pull/688 )
* Add support for comment_count ordering and add to productcontrol
* Add a placeholder if rating count is 0
* Update assets/js/components/utils/index.js
Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>
* Update assets/js/blocks/reviews-by-product/block.js
Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>
* grammar
* Fix some linting errors and warnings (https://github.com/woocommerce/woocommerce-blocks/pull/693 )
* Create Reviews by Product block placeholder (https://github.com/woocommerce/woocommerce-blocks/pull/691 )
* Create Reviews by Product block placeholder
* Reviews by Product: load and render reviews with JS (https://github.com/woocommerce/woocommerce-blocks/pull/696 )
* Reviews by Product: load and render reviews with JS
* Add dangerouslySetInnerHTML explanatory comment
* Fix wrong dependency source
* Debounce getReviews call when creating the Reviews by Product block
* Rename 'Reviewer Picture' with 'Avatar' (https://github.com/woocommerce/woocommerce-blocks/pull/702 )
* Lint errors
* Replace stringify query with addQueryArgs (https://github.com/woocommerce/woocommerce-blocks/pull/707 )
* Add reviews endpoint (https://github.com/woocommerce/woocommerce-blocks/pull/705 )
* Prevent state updates on unmounted components (https://github.com/woocommerce/woocommerce-blocks/pull/715 )
* Add Order by and Load more controls in Reviews by Product frontend (https://github.com/woocommerce/woocommerce-blocks/pull/716 )
* Export IconReviewsByProduct (https://github.com/woocommerce/woocommerce-blocks/pull/721 )
* Fix Reviews by Product layout in IE11 (https://github.com/woocommerce/woocommerce-blocks/pull/723 )
* Set minimum to per page input field (https://github.com/woocommerce/woocommerce-blocks/pull/731 )
* Hide avatars in Reviews by Products if 'show_avatars' settings is false (https://github.com/woocommerce/woocommerce-blocks/pull/730 )
* Blocks API - Reviews endpoint with rating sort and category filtering (https://github.com/woocommerce/woocommerce-blocks/pull/726 )
* Move file to correct location
* We are only using the reviews endpoint not revioews/id
* Remove sensistive data and make endpoint public
* Allow guest access to approved reviews
* Add support for rating sorting
* category filtering
* update arg name
* fix category query
* Reviews by Product: add placeholders when loading reviews (https://github.com/woocommerce/woocommerce-blocks/pull/732 )
* Add placeholder animation (https://github.com/woocommerce/woocommerce-blocks/pull/733 )
* Hook up Reviews by Product 'Order by' with endpoint (https://github.com/woocommerce/woocommerce-blocks/pull/736 )
* Hook up Reviews by Product 'Order by' with endpoint
* Use onChange instead of onBlur in select control
* Reviews by Product: Hide ratings if they are disabled in settings (https://github.com/woocommerce/woocommerce-blocks/pull/740 )
* Hide ratings in Reviews by Product if disabled in settings
* Hide order by select if ratings are disabled
* Reviews by Product cleanup (https://github.com/woocommerce/woocommerce-blocks/pull/773 )
* Fix wrong method name
* Reduce the number of dependencies used in Reviews by Product (https://github.com/woocommerce/woocommerce-blocks/pull/774 )
* Reduce the number of dependencies used in Reviews by Product
* Use 'withComponentId' HOC
* Remove debounce
* Fix wrong proptype
* Get rid of JS warning
* Load render from react-dom
* Add formatted_date_created item schema (https://github.com/woocommerce/woocommerce-blocks/pull/788 )
* Fix import of WithComponentID
* Add new settings to Reviews by Product block (https://github.com/woocommerce/woocommerce-blocks/pull/787 )
* Add new settings to Reviews by Product block
* Remove helpText and add notices
* Use RangeControl for numeric settings
* Prevent fetching new reviews if all were already fetched
* Enable product image in reviews
* Remove unnecessary catch
* Refactor getReviews
* Move getReviews back to block's code
* Cleanup
* Fix wrong order in editor
* Hide 'Load More Reviews' if showLoadMore is false
* Move getReviews to utils.js
* Add @woocommerce/navigation to package.json
* Make notices non-dismissable
* Reviews by Product: prevent importing all HOCs and import only withComponentId (https://github.com/woocommerce/woocommerce-blocks/pull/811 )
* Reviews by product: Update review styling and content (https://github.com/woocommerce/woocommerce-blocks/pull/806 )
* Add new settings to Reviews by Product block
* Remove helpText and add notices
* Use RangeControl for numeric settings
* Prevent fetching new reviews if all were already fetched
* Enable product image in reviews
* Remove unnecessary catch
* Refactor getReviews
* Move getReviews back to block's code
* Cleanup
* Fix wrong order in editor
* Hide 'Load More Reviews' if showLoadMore is false
* Move getReviews to utils.js
* Add @woocommerce/navigation to package.json
* Make notices non-dismissable
* Review design/layout
* verified icons
* Read more component
* remove comment
* expanded -> isExpanded
* Localise and change default elipses
* Simplify ReadMore
* Support children rather than passing content
* remove outside
* remove list style
* Update assets/js/components/read-more/index.js
Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>
* Update assets/js/components/read-more/index.js
Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>
* merge set state
* Add missing parameter doc in renderReview (https://github.com/woocommerce/woocommerce-blocks/pull/820 )
* Fix Reviews by Product order by select not honoring default setting (https://github.com/woocommerce/woocommerce-blocks/pull/818 )
* Read more component - change how clamped content is shown (https://github.com/woocommerce/woocommerce-blocks/pull/821 )
* Pass review as components
* Build summary from content and track both
* Toggle display after inital load
* remove unused variable
* remove componentDidUpdate
* Simplify clampLines
* Put back componentDidUpdate, but store final summary in state
* clampEnabled
* Call clampLines from componentDidMount (https://github.com/woocommerce/woocommerce-blocks/pull/826 )
* truncate html tests
* implement trimHTML and pass test
* Feedback
* test short content
* Use withProduct HOC in ReviewsByProductEditor (https://github.com/woocommerce/woocommerce-blocks/pull/828 )
* Use withProduct HOC
* Convert ReviewsByProductEditor to a functional component
* Add loading and error states
* Prevent loading screen appearing when changing products
* Reviews: only save wrapper element to post (https://github.com/woocommerce/woocommerce-blocks/pull/830 )
* Fix bundlesize config not picking frontend files (https://github.com/woocommerce/woocommerce-blocks/pull/840 )
* Reviews by Product: split 'block.js' into smaller chunks (https://github.com/woocommerce/woocommerce-blocks/pull/841 )
* Split 'block.js' into smaller chunks
* Move frontend blocks to their specific folder
* Order imports
* Typo
* Add frontend components proptypes
* Fix indentation
* Call 'this.getDefaultArgs' directly inside 'getReviews'
* Move access to wc_product_block_data to the top of the file
* Rename 'frontend' folder to 'base'
* Rename base components and move styles to their folder
* Fix Reviews by Product using rating count instead of review count (https://github.com/woocommerce/woocommerce-blocks/pull/860 )
* Improve Reviews by Product accessibility (https://github.com/woocommerce/woocommerce-blocks/pull/861 )
* Improve Reviews by Product accessibility
* Make 'onClick' prop not required in <LoadMoreButton>
* Wrap Reviews by Product editor block with <Disabled>
* Reviews: fix reviews without rating not appearing when sorting by rating (https://github.com/woocommerce/woocommerce-blocks/pull/863 )
2019-08-15 16:55:57 +02:00
Mike Jolley
1ed14cdc01
Introduce withCategory HOC for featured category block ( https://github.com/woocommerce/woocommerce-blocks/pull/846 )
...
* Introduce withCategory hoc
* Refactor featured category to use new hoc
* Update docblocks
2019-08-15 10:36:24 +01:00
Darren Ethier
2d5b06f07a
Introduce withSearchedProducts higher order component and refactor ProductsControl Component ( https://github.com/woocommerce/woocommerce-blocks/pull/791 )
...
* add new withSearchedProducts hoc
includes tests
* convert to functional component and wrap with new hoc
* remove dependency between tests
* Fix typo with PropTypes bool
Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>
* remove unnecessary specific import
* fix bug introduced on refactor for selected prop recalc
* fix tests that were testing the wrong expectation
- also improved mocks a bit so they are a bit more realistic for the purpose of the test coverage.
* remove unnecessary Fragment
* tweak propType definitions and remove defaults
- this keeps argument expectations in sync with wrapped component and reduces chance of unexpected behaviour if `SearchListControl` logic changes.
* remove lodash.find dependency.
2019-08-06 11:34:13 -04:00
Albert Juhé Lluveras
8a187db5d9
Move withComponentId to hocs directory ( https://github.com/woocommerce/woocommerce-blocks/pull/797 )
2019-08-05 10:37:16 +01:00
Albert Juhé Lluveras
2504bffdfa
Create `withProduct` HOC ( https://github.com/woocommerce/woocommerce-blocks/pull/779 )
...
* Reset 'loaded' state in Featured Product and Category blocks
* Minor code improvements
* Remove state from ApiErrorPlaceholder
* Move getProduct to a HOC
* Undo changes in Featured Category
* Update proptypes
* Move error messages to <ApiErrorPlaceholder>
* Reorder props
* Move lifecycle methods to HOC
* Make <FeaturedProduct> component presentational
* Move withProduct to js/hocs
* Create NAMESPACE constant in utils
* Create getProduct util function
* Set 'error' and 'product' state to null instead of 'false' when they have no value
* Prevent getImageSrcFromProduct and getImageIdFromProduct returning an error when 'product' is not an object
* Add HOC tests
* Use 'toBe' and 'toBeNull' jest expect methods instead of 'toEqual' when possible
* Export HOCs from index
* Move mock implementation to beforeEach
2019-08-02 13:56:53 +02:00