* Add initial Variations Report to analytics feature.
* Restrict query to variations when not specifying any product IDs.
* Add route to get variations without specifying a parent.
* Move variations table component to variations report directory.
* Add missing LIMIT clause to variations report query.
* Remove broken features from Variations table.
* Add Variations report controller to CSV emailer.
* Add initial Variation Stats endpoint, based on Product Stats.
* Hook Variations Report components up to new stats endpoint.
* Hook attribute filter up to variations report queries.
* Remove variation title filter usage.
See: https://github.com/woocommerce/woocommerce-admin/pull/5100
* Use filtered separator in variation name formatting.
* Add "single variation" to variations report, fix autocompleter API request.
* Fix segmentation by variation.
* Add comparison to variations report.
* Always include manually specified variations in report results.
* Fix variations report table comparison mode.
The ReportTable component expects the `filter` query param.
* Fixing styling of compare button without table search component.
* Add variation filter to Orders report.
* Link orders count to orders report filtered by variation.
* Orders report: include variation attributes in product names.
* Further style tweaks for variations report download button.
* Add variations filter to order stats query.
* Clean up "category includes" login in REST controllers.
Prep for "category excludes" in the Variations report.
* Support category exclusion in report filters.
* Fix filter param used by the variation report table component.
* Add category filter to variations report.
* Fix initial selected ReportTable rows when using non-default compareParam.
* Add a new autocompleter for variable products.
* Add products filter to variations report.
* Fix tests.
* Handle variation IDs that are no longer found.
* Add documentation.
* Use getSetting() instead of directly accessing window properties in client code.
* Fix ordering Variations by SKU.
This commit changes the "Skip setup wizard" button text to "Skip setup store details"
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Fixeswoocommerce/woocommerce-admin#4443
Some investigation found that woocommerce/woocommerce-admin#4443 is no longer a reproducible issue. Why this issue no longer exists is not clear, but it makes sense now to disable the store registration checks as they are only called once. This PR just removes the checks but does not change any other behaviour.
* Reduced list padding
This commit reduces the industries list "padding" and its "min-height"
* Removed item from industries list
This commit removes the item "Art, Music & Photography" from the industries list
* Fixed e2e tests
This commit fixes the e2e tests
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
The marketplace suggestions opt-out is now used to determine if remote inbox notifications should be fetched. This corresponds to the
`woocommerce_show_marketplace_suggestions` WP option.
Additionally, a new protected method is added to the class. This provide a series of checks for whether remote notifications are enabled on the site.
* One-shot to enable the homescreen for everybody
* Make the home page the default (only) experience
* remove option check in activity panel tabs, get tests working, fix lint issues
* Remove is-homescreen CSS class
* Remove extra home page route registration
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Add option to not set up sales tax
* Correct JS lint errors
* Add abort option to plugin step
* Inline redirect to home page
* Use testing-library/react for the new test
* Also set woocommerce_calc_taxes to 'no'
Co-authored-by: Rebecca Scott <me@becdetat.com>
This commit modifies the connection check for the note 'wc-admin-wc-helper-connection'
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Remove the chevron icons from the “Finish setup” task list
* Add a data-testid attribute to the TaskDashboard dismiss button for testing
* Add test for dismiss button in TaskDashboard component
* Remove use of `woocommerce_product_variation_title_include_attributes` filter.
* Use attribute values in product variation titles.
* Include attribute values in product variation name during segmentation.
* Include attribute values in product variations autocompleter query.
* Add product attribute filter to Orders report config.
* Add attribute args to Orders report controller.
* Include attribute filters in orders report query.
* Add attribute args to Orders Stats report controller.
* Include attribute filters in orders report stats query.
* Add test for product attribute filter in orders report.
* Add tests for invalid parameter values.
* Add tests for product attribute filter in order stats endpoint.
* Fix tests for PHP 5.6 and WC 3.8.x.
* Refactor filter input row into component.
* Support multiple filter value in "add filter" list.
* Refactor out one-off updateFilter() callback.
* Use array index to remove filters.
Also create unique keys for multiple value filters.
* Use numeric index instead of filter "key" for change callbacks.
* Maintain unique keys for multiple filter components.
This avoids rerenders when filters are removed.
* Calculate instance numbers in constructor.
* Support advanced filter instances in navigation helper methods.
* Add allowMultiple to advanced filters README.
* Fix tests.
* Add test cases for multiple filter instances.
* Handle missing attribute names and terms in screen reader text.
* Fix perpetual loading indicator when there are no attribute terms.
* Handle new boolean case when generating screen reader text.
* Handle multiple filter instances when creating report queries.
* Remove unused variables.
* Update Shipping Banner to use installPlugins since installPlugin has been removed.
* Fix shipping banner compatibility with WCS 1.24.
* Update metabox content to match WC 4.5 metaboxes.
* Add monthly pricing toggle
* Move product type label to its own folder
* Add popover to product type label
* Add card help text
* Add product type component tests
* Add tests for product types step
* Refactor validation in product types
* Export ProductTypes component for testing
* Simplify variation name logic.
* Remove errant commas from variation autocomplete options.
* Add single variation filter to products report.
* Include more variations in search results.
Also trim the response fields down.
* Add initial AttributeFilter component.
Only selected of attribute names for now.
* Add attribute term selection control.
* Position attribute filter inputs side by side.
* Add loading indicator to attribute term control.
* Clear term when attribute value changes, and handle backspaces.
* Generate screen reader text.
* Translate filter labels, add field separator.
* Improve grammar in screen reader text.
* Fix lint errors.
* Add error logging to remote inbox notifications data source poller
* Change DataSourcePoller to use WC_Logger
* Remove test feed
* Tidy up log messages
Co-authored-by: Rebecca Scott <me@becdetat.com>
Fixeswoocommerce/woocommerce-admin#4464
`wcadmin_tasklist_shipping_label_printing` events were being filtered into rejected events because the data being passed was in camel case instead of snake case. This fixes that issue.
* Remove store page creation during new onboarding experience
* Remove onboarding feature flag
* Add back in onboarding feature flag to enable feature loading
* Add onboarding task status API endpoint.
* Add task status to onboarding data store.
* Update appearance task to use onboarding store for status info.
* Update main task list component to use onboarding data store for status info.
* Clear onboarding status info "cache" when setting shipping rates in the task list.
* Clear onboarding status info "cache" when enabling payment methods from the task list.
* Fix onboarding data store reducer tests.
* Clean up redundant code, nest task status settings under new key for hydration.
* Include tasks status in onboarding data hydration.
* Update tax task to use onboarding data store for status info.
* Avoid continually rehydrating onboarding data.
* Refactor payment task method retrieval to use onboarding data store.
* Fix bug with disappearing appearance tax steps.
* Update appearance completion faster by using hydrated onboarding value.
* Avoid PHP warnings when onboarding isn't enabled.
* Remove unused imports.
Working towards woocommerce/woocommerce-admin#4654 this refactors the `<Header>` component to be functional so that it can use hooks. The plan is to use the `useUserPreferences` hook there to determine if the mobile banner should be rendered or not.
This uses a generator action and hooks to reimplement the CTA as a more
simple and logicless component, with most of the logic now in the
HOC component.
* Add export ID to success response and fix typos in endpoint schema.
* Initial export data store.
Allows for starting export, but not checking progress.
* Use new export data store in analytics report tables.
* Remove defunct report export wc-api files.
* Apply review feedback from another wp.data PR.
* Use getResourceName() util for more DRYness.
* Fix linter error.
* Add response status code to fetchWithHeaders control.
* Use HTTP status rather than response body to determine success.
* Fix tests.
* Remove unused import from actions.
* Move controls to data package root
* Add reports data store in wp data
* Move report utils to data package
* Update error state and actions to match existing methods
* Update references to reports data store
* Add error setters
* Fix control registration path
* Add reports reducer tests
* Remove remaining report wc-api references
* Handle PR feedback
* reference packgage, not lib/date
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Delete customer lookup rows when their corresponding user is deleted.
* Asynchronously delete users from customer lookup table.
* Add user deletion test case.
* Fix user deletion test.
* Add initial notes data store using wp data
* Cache individual note queries
* Update notes undo endpoint to batch update endpoint
* Allow batch updates of notes
* Add requesting state
* Update components to use new note store
* Remove old notes store from wc-api
* Get note IDs from json and validate data in REST API
* Add an updating state to each note
* Throw errors in actions so they can be caught by client
* Add store reducer tests
* Handle PR feedback
* Fix failing tests
* Don't set inbox panel visibility while batch updating
* Move woocommerce block to external dependencies
Recently there have been significant slowdowns
of the test suite in Jest. I frequently had the test suite
taking 130-150 seconds to run.
After some exploration and trial/error I found that
https://github.com/facebook/jest/issues/9457 is likely the cause.
This was confirmed after the downgrade where I saw test runs drop
to an average of about 35 seconds per run.
* Fix industry args type in REST API
* Only allow object for industry param
* Fix onboarding industry object shape in test case.
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
* Don't require package tag or file comment inside src
* Removed package tag from files inside src
* Fixed tests directory in phpcs.xml.dist
* Fixed usage of package tag
* Fixed new classes
* Fixed coding standards
* Fixed coding standards in tests
* Remove task list payment actions
* Check that the payments task has been marked complete in checkout note
* Track payments completion via enabled gateways
* Allow toggling to unfinish task when no payments enabled
* Set up profile completed action
* Stub out the steps
* Only run if Jetpack is installed and connected
* Return if WCS isn't active
* Return unless physical is selected as a product type
* Return if there are existing shipping zones
* Shipping labels are enabled when WCS is installed
* Set up free local shipping
* Comment for the profiler complete action
* By default there is no international/catch-all shipping method set up
* Add review shipping settings note
* Record tracks event
* Fix logic
* Add unit test around setting up free local shipping
* Rename some functions
* Use countries service to get all countries
* Drop duplicated possibly_add_note()
* Check the old value when determining if the profiler has completed
* Fall back to country code if country name doesn't exist
* Use admin_url fn to build up URL
Co-authored-by: Rebecca Scott <me@becdetat.com>
* scaffold out reviews store
* hook up dataStore
* get controls working
* getReviews working
* get count working
* get errors working
* indicators working
* reducer tests
* reviews
* Remove wc-api
* cleanup
* better way to fetch with headers
* add comment with issue
* better resolver
Fixeswoocommerce/woocommerce-admin#4592
This adds the functionality to support a store setup tab displayed in ActivityPanel. The tab currently just redirects to the home page, rather than implementing the nice-to-haves of displaying the task list in the panel. The reason for this, is that I found it would require significant refactoring of the task list to support this currently.
As part of this I have also refactored rendering of tabs inside into 2 new functional components: <Tabs> and <Tab>. The reason for this is to decompose large untestable components, test them and by virtue of being decomposed they will also be more reusable in future. Ideally would have been refactored to a functional component as well, but it would have been too large a task.
Fixeswoocommerce/woocommerce-admin#4590
This implements a paged modal via the Gutenberg Guide component. Some styling adjustment was needed to match the designs exactly.
This also introduces 3 SVG based illustrations for display in the modal. According to this comment there is a need to color them based on the theme at some point, but based on a current lack of requirements for that, I felt that could be done at a separate time (that was suggested in the comment as well).
* Require the correct autoloader file.
* Include composer file when updating version numbers.
* Add notice for development builds not using JETPACK_AUTOLOAD_DEV.
* Only bump version numbers when preparing a release.
* Added personalization to purchase extension task
This commit adds personalization to purchase extension task
* Removed unnecessary naming fix
This commit removes an unnecessary naming fix
* Corrected param description
* Solved translation problem
* Naming corrected
The method 'getGroupedOnboardingProducts' was given a more accurate name.
* Modified string substitution
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* add new woocommerce/eslint-plugin
* implement eslint-plugin (switch scripts to use wp-scripts etc)
* various linting fixes
* more lint fixes
* improve fix script
* more eslint fixes
* more eslint fixes
* temporary convert rules to warnings until they are all handled
* linting fixes
* update package-lock.json
* remove duplicates
* remove unnecessary `@wordpress/dependency-group` rule config
* add docs and adjust rules
* prettier fix
* fix merge artifact
* convert more rules to warnings
* change order to reflect importance
* install babel-preset-default
* remove unnecessary configuration for babel
* fix dependency group rule and test
* fix test
* handle collapsible whitespace
* add react testing library eslint plugin
* linter errors
* Add back in prettierrc
* package-lock update
* js lint fix with --fix
* disable whitespace in translation
* package-lock update
* make eslint actual dependency, not peer dependency
* pin eslint to v7
* I don't know why, but its working
* fix lint js
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Lint detail solved
This commit resolves a small lint warning in the file Loader.php
* Removed "profiler" from menu
This commit removes the item "profiler" from the menu.
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Added Test Checkout note
This commit adds a note to test the checkout process
# Conflicts:
# src/Events.php
# src/FeaturePlugin.php
* Replaced method "site_url" with "wc_get_page_permalink"
* Removed products with state draft verifcation from "check_task_completion"
This commit modifies the code to not set the products task list item as done when they have state draft.
* Added published date control
This commit adds a product published date control to the note
* Half-hour calculation changed
* Typo error corrected
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>