* Add WooCommerce version selection
The WC_VERSION environment variable is added to the docker-compose config. If the variable is not set on the shell, it defaults to the minimum supported version (4.5.0)
The ENTRYPOINT is changed to automatically re-install the test suite when the version number is changed.
* Add documentation
* Add versioning to force image rebuild
* Update product template task copy and icon, updated wordpress/icons
* Fix tests
* Fix css lint errors
* Make use of the re-usable Pill component from Woo
This commit replaces method `woocommerce_get_page_id` with `wc_get_page_id` in Loader.php
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Move inbox panel to left column, to increase user interaction
* Add changelog
* Fix and add test
* Remove old loading banner-block
* Remove unused css
* Fix test with new props
* Fixed reviews and inventory panels visibility
This commit fixes the reviews and inventory panels visibility when setup task list is enabled
* Fixed tests
* Fixed control and small refactor
* Fixed useSelect
* Fixed multiple useSelect
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Fixed hiding core task list
This commit fixes the hiding of the core task list
* Added tests
* Added fix to readme.txt
* Fixed readme.txt
* Added new test
* Hooks were fixed
* Refactored task lists handling
This commit refactors a few things related to the task lists handling
* Added tests
* Fixed task lists handling
* Fixed tests
* Renamed 'taskListHidden' to 'taskListsHidden'
* Added taskListsHidden util
* Fix completed tasks tracking infinite loop
This commit fixes the completed tasks tracking infinite loop (for multiple extended tasks)
* Refactored update check
* Hide task list if there aren't any visible tasks
* Fixed comment
* Fixed typo
* Renamed example method
* Fixed example extension
* Added tab to the extension example
* Fixed extended task list enabling option
* Added more tests
* Added PHP tests
* Fixed some comments
* Removed utils.js file
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Delete all products before running tests
* Delete products in tear down instead
* Only remove the color attribute, as other attitributes are necessary in other tests
* Make assertion more lenient, and remove all products deletion
* Fix lint errors
* Changed to check if imported is at-least 2 items
* add product submenu items
* better check
* extesnions section
* use add_plugin_item
* htmlspecialchars_decode better
* Manually add product_brand taxonomy
* Determine if migrated items are a taxonomy or post_type. If they are, register them.
* add in_array check to register post types and taxonomies
* register a taxonomy or post_type, but not both
* update @wordpress/eslint-plugin dependency to latest version
* local prettier config isn’t needed anymore because of fix in upstream package
* add jsdoc config to use typescript format for jsdocs
* update changelog
* update packages and include .prettierrc.js back in for code editor support of prettier
* add docs
* minor prettier fix in test file
* Convert all new eslint rules throwing errors to warnings temporarily to be handled in separate prs
* updated changelog
* fix package-lock.json
* prettier auto-fixes
* add prettier dependency at root
* sigh prettier is being finicky
* version bump
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Initial product template modal
* Add custom product template for the new-post route
* Add test, and code for making use of the insert_post action
* Added ProductTemplates Datastore to create template with REST api
* Add back variation method, deleted by accident
* Move product from template endpoint to OnboardingTasks class
* Fix lint errors
* Added tracks and template hooks
* Rename product create permission check function, for less confusion
* Remove duplicate recommended option
* Fix stylelint errors
* PHP tests for the product_from_template endpoint
* Fix onboarding php unit tests
* Write tests for client product template options
* Refactored list component, to use it as a radio control list
* Fix lint errors
* REmove assertion as it fails on the ci
* Add changelog
* Updating tests to make sure all product attribute taxonomies are removed
* Add more specific assertions for importing sample products test
* Update the sample products test
* Deconstruct item object, from PR suggestion
* Fix PHP errors, by updating the createProductFromTemplate call
* Set isBusy for the continue button on Store Details
* Set isBusy for the continue button on Industry
* Set isBusy for the continue button on Product Types
Previously only a given delta was rendered as an integer. Now it renders the number with a given precision.
Fixeswoocommerce/woocommerce-admin#5925.
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Separate features into Features class
* Fix Loader references
* Move option to TOGGLE_OPTION_NAME constant
* Disable features on tracking opt out
* Remove errant classes
* Create array of beta features in Features class
* Update method names for exists and enabled
* Only load enabled features client-side
* Add survey class and URL builder method
* Use survey URL method in notes
* Pass survey URL to opt out modal
* Simplify source/query filter
* Move survey URL to constant
* Add a new note about the variable product when the owner adds the first product
* Attempt to add a new note when a product gets published
* Change logic to check only post status and type
* Add tests cases
* Fixed hiding core task list
This commit fixes the hiding of the core task list
* Added tests
* Added fix to readme.txt
* Fixed readme.txt
* Added new test
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Fix for translation chunks not generated on plugin activation
* Add support for woocommerce_activated_plugin hook to work as embedded package
* Update readme.txt
* Make sure woocommerce/woocommerce-admin#5062 does not regress by adding checks before accessing files
* Consolidate duplicated codes
* handle the unsupported collation case
* add an entry to readme.txt[Unreleased]
Co-authored-by: Nikolay Korovaiko <villedepommes@l-mhjo56y7ce.TheFacebook.com>
Co-authored-by: Nick Korovaiko <villedepommes@fb.com>
* Make WCA features list extensible
* Add navigation feature toggle
* Don't add features section if no features exist
* Turn off nav feature in core
* Move update text to nav feature toggle
* Add welcome modal when coming from Calypso
* add to changelog
* do some important work for prettier
* udpated with final copy
* Add PR number to readme
* Possibly use safe Text component
* Possibly use safe navigation components
* Add experimental package
* Update components to import from woocommerce/experimental
* Make experimental package private
* Reference experimental package relatively
* Update packages/experimental/README.md
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Update packages/experimental/CHANGELOG.md
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Update history state instead of mocking getQuery in tests
* Handle PR feedback
* Create excluded externals array and return early
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Added media selector to target viewport size less than 438px for the label
* Added media selector to target viewport size less than 375px for the pricing label
* Avoid new references in getReportChartData() return.
* Avoid some new references in ReportTable component.
* Avoid some new references, fix cache key for getReportChartData memoization.
* Memoize date package functions used in ReportTable.
* Avoid more new references in RevenueReportTable.
This fixeswoocommerce/woocommerce-admin#5287
Major changes:
1. The `<Form>` component (which is a published component) gets a new optional prop (so its backward compatible), called `onChangeCallback`. This is called when any form value changes, allowing the controlling component to act on individual form changes. This was needed to utilise `<Form>` to revalidate and check if the user could access the next tab. This should not impact existing usages of the `<Form>`, but it could be good to test this.
2. Introduces a new flow for choosing business extensions that was specified in woocommerce/woocommerce-admin#5287 issue description. Please check the issue for reviewing the designs. The simplest way to implement this, ended up being keeping the existing flow intact and where necessary copy pasting code from those components into the new flow. This new flow is only shown if your segmentation matches the following: `Stores that selected the US as the country and Other or Food & Drinks as the industry
* Provide localeInfo via wcSettings
* Provide currency symbols via wcSettings
* Use localized data to derive currency
* Decode entities and fix spaces after setting currency
* Determine currency by country instead of region
* Handle PR feedback
* Remove country info and symbol fallbacks
* Reverts work done in woocommerce/woocommerce-admin#4857 for automated shipping after OBW is completed
* Remove ReviewShippingSettings note
* Update readme.txt
* Add wc-admin-review-shipping-settings to delete note list
* Add isCompact prop to SearchListControl
* Add left and right borders to search list
* Remove box-shadow when search list items are focused/active
* Add Changelog notice
* Update snapshots
* enqueue wp-components
* conditional check of Navigation?
* nav version checks, first pass
* better nav checking
* bump min requirments
* min versions
* Use WP 5.6 instead of 5.6.0
* add wp.date and wp.compose
* Handle missing FlexItem
* enqueue styles
* fix date range mobile dropdown
* Show highlight help panel popup after user enters uncompleted task more then once
* Updated styling of highlight tooltip
* Removed empty array from the useSelect to prevent unnecessary re-renders
* Updated styling of the highlight tooltip to match wireframe and wrote tests
* Fix close button location
* Add event tracking
* Add changelog
* Make use of user preferences meta data for task visit tracking
* Add support for toggling the show boolean
* Make sure the delay works correctly for highlight tooltip
* Continue tracking tasks visit count, and added onShow callback for tooltip
* update card header styles to match typography in @wordpress/components
* revert analytics card headers
Co-authored-by: David Levin <davidlevin@Davids-MacBook-Pro-2.local>
* Add product attributes autocomplete for Search control.
* Support single selection in Search component.
* Fix SelectControl input after selection in single mode.
* Remove label from Search component's inner SelectControl.
Placeholder is the behavior we want to avoid label and selection collision.
* Match Search component selected prop to SelectControl.
It's passed through anyhow.
* Rework attribute filter to use new endpoints for custom terms.
* Hook up custom attribute filter to report queries.
* Fix errant space in filter name.
* Fix SelectControl active status when control is disabled.
* Fix SelectControl "has tags" logic for non-multiple use cases.
* Fix attribute filter screen reader text.
* Update changelogs.
* Move custom attribute test to it's own function.
* Remove SelectControl input disabling.
This was supposed to improve keyboard behavior for non-multiple controls, but it was questionable.
* Fix backspace in attribute term field.
* Add navigation opt out script
* Check to see if opted out before loading opt out scripts
* Include opt out styles
* Close modal after clicking 'Share Feedback'
* Update to not use export default
* Add product tags and categories taxonomies to menu
* Add product attributes page
* Register product taxonomies
* Register product attribute taxonomy screens
* Move order to taxonomy item getter
* Add match expressions for product tags and attributes
* Check against wc taxonomies instead of registering wc taxonomies
* Add comments to regex match groups
* Update nav readme to include taxonomies
* Update to less ambiguous taxonomy check
* Add new product attributes endpoint that allows searching.
Including custom attributes in the results.
* Add endpoint to fetch custom attribute values by slug.
* Add initial tests for Product Attributes endpoint.
* Test Product Attribute search.
* Fix schema/params for attribute terms endpoint.
* Add tests for custom term values endpoint.
* Add a LIMIT to the attributes query.
* Add endpoint to retrieve single attribute by slug.
Fixes the 'self' link.
* Use woocommerce_admin_report_table client side filter on the CSV download
* Remove duplicated applyFilters call
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Added unregister extended task
This commit adds a method to unregister extended task when the plugin is deactivated
* Refactored task lists handling
This commit refactors the task lists handling
* Added default task type
This commit adds a default task type
* Fixed method comment
* Moved method to group objects to lib
This commit moves method to group objects to `lib`
* Refactored getUngroupedTasks method
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Create get last order function that does not rely on Wordpress user, and add test for use case
* Add change log
* Make sure tests use the right index for comparison
* Order by date_created_gmt first and order id second, and wrote test for get_last_order
* Fix test assertion, and remove unnecessary parameter
* Remove showCount prop from SearchListControlItem
* Add option to show counts in ShowListControl story
* Fix count alignment in SearchListItem with latest Gutenberg
* Add new changelog entry
* Update dated prop description
* Hide shipping cost task if user has disabled shipping
* Add countries array to dataEndpoints
* Export the presentational component so that it can be tested
* Add a test for the shipping component
* Use default expression to match items
* Pass match expression for WCA homepage
* Match post types if the current post type matches item
* Remove unused getParams
* Update tests for isMatch util
* Update nav docs
* Update default expression to match params in any order
* add query arg tests: additional and order
* Use match score based on regex matches
* Return max safe int for exact matches
* Update tests for match score
* more tests
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Adding simple add_plugin_setting_item() hook that enables adding a nav item only to the Settings menu
* Adding warning when a plugin attempts to register a settings item with illegal args
* rename to add_setting_item
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Add onboarding settings only if the current page is one of the WC admin pages.
* Uses screen object to detect WC Admin pages
* Removed unused variable
* Use PageController to check for the WC Admin pages -- it is more reliable
* Add onboarding settings only if the current page is home or setup wizard
* Add reset option to bin/install-wp-tests.sh
* Fix logic issues and made reset more verbose
* Add testing suite removal on reset
* Change behaviour of test install script to reset by default
* Silence install-wp-tests.sh reset commands
The wc-analytics/reports/orders and /wc-analytics/reports/orders/stats endpoints have inconsistent parameter names for filtering the customer type: customer_type vs customer.
This was affecting the Customer Type filter in the orders analytics, reported in issue woocommerce/woocommerce-admin#5803, where the component expects the parameter names to be the same. This is because it uses a parameter name based on the key in the filter configuration (customer_type).
To resolve this, this PR updates /wc-analytics/reports/orders/stats to accept both customer_type and customer as parameter names for this filter. The customer parameter has however been deprecated in its description to discourage usage.
Co-authored-by: Sam Seay <samueljseay@gmail.com>
* Added tasks extensibility
This commit addes tasks extensibility
* Fixed tests
This commit fixes the tests
* Fixed add task example
This commit fixes the add task example
* Fixed method possiblyCompleteTaskList
This commit fixes the method "possiblyCompleteTaskList"
* Fixed method getIncompleteTasks
This commit fixes the method getIncompleteTasks
* Fixed add task example
* Added callback onDismiss
This commit adds the callback for the "onDismiss"
* Added onDismiss and isDismissable to add task example
This commit adds the props "onDismiss" and "isDismissable" to add task example
* Not showing extensions task list if empty
* Fixed onDismiss callback
* Add changelog
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Sam Seay <samueljseay@gmail.com>
* Use error_log() to log the deprecated class calls instead of _deprecated_function()
* Include method name and replacement in deprecation log message.
Co-authored-by: Rebecca Scott <me@becdetat.com>
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>