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
Albert Juhé Lluveras
6ab7834f59
Install prettier and reformat files ( https://github.com/woocommerce/woocommerce-blocks/pull/945 )
...
* Install prettier
* Reformat all files
* Add prettier to precommit hook
* Update prettier settings to match Gutenberg code standards
* Reformat files with new settings
* Improve legibility in some line breaks
2019-09-05 17:09:31 +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
5f5797dc3d
Add global data helpers ( https://github.com/woocommerce/woocommerce-blocks/pull/848 )
...
* Extract global settings to assets/js/data
* add alias
* Fix alias
* Rename to settings
2019-08-13 15:43:48 +01:00
Albert Juhé Lluveras
e5f73b05e8
Add eslint JSDoc checks ( https://github.com/woocommerce/woocommerce-blocks/pull/819 )
...
* Add eslint JSDoc checks
* Use @wordpress/eslint-plugin for ESLint config
* Rename 'augments' with 'extends'
* Remove '@wordpress/eslint-plugin' from package.json
2019-08-09 18:18:46 +02:00
Kelly Dwan
27345f93a2
Add/block product categories ( https://github.com/woocommerce/woocommerce-blocks/pull/613 )
...
* Add initial work for Product Categories List block
* Add empty category toggle
* Add option to show list as a dropdown
* Fix console warnings
* Only show proptypes linter warning if the component declares proptypes
* Add frontend script to render the product categories
* Split wcSettings & wc_product_block_data globals so that the later can be used from the frontend
* Remove wp dependencies, these are added by the webpack script now
* Capture all "woo packages" into a separate script chunk
These require `wcSettings`, which can't be available on the frontend - but we do need vendors on the frontend.
* Rewrite component into a function
* Fix validation error on editor reload
2019-06-17 10:23:59 -04:00
Kelly Dwan
95b4092567
Update eslint config to ignore legacy block ( https://github.com/woocommerce/woocommerce-blocks/pull/176 )
...
* Add react version to prevent warning when running eslint
* Ignore eslint issues in the legacy block
2018-11-30 13:18:52 -05:00
Kelly Dwan
133e5374af
Update jsx-a11y label rule to only require ID, not ID+nesting ( https://github.com/woocommerce/woocommerce-blocks/pull/158 )
2018-11-27 12:13:05 -05:00
Kelly Dwan
882cd4c7bb
Set up Jest for JS testing ( https://github.com/woocommerce/woocommerce-blocks/pull/130 )
...
* Set up Jest testing
* Add a snapshot test for the product preview component
2018-11-16 10:43:51 -05:00
Kelly Dwan
45f519590e
Add eslint to find and fix code style issues ( https://github.com/woocommerce/woocommerce-blocks/pull/123 )
...
* Add eslint configuration
* Run eslint auto-fixer to cover fixable issues
* Use wp.element’s component to prevent undefined React error
* Add products data global to eslint config
* Fix remaining eslint errors by hand
* Fix eslint errors in webpack
* Remove duplicate rule
2018-11-13 14:21:04 -05:00