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
* 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
* 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>
* 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>
* Require Jetpack connected and WCS active to mark the shipping task as complete
* Require country _not_ be in AU, NZ, or UK to mark shipping methods as complete
* Bump CI
Co-authored-by: Rebecca Scott <me@becdetat.com>
* 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.
* 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
* 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>
* Removed task item `connect`
This commit removes the task item `Connect your store to WooCommerce.com`
# Conflicts:
# client/task-list/tasks.js
* Reordered home screen tasks
This commit reorders the task list visible on the home screen.
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
This commit adds event recording to home/dashboard task list
# Conflicts:
# client/task-list/tasks.js
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Added skip profiler functionality
This commit adds the skip profiler functionality, leaving the Home screen `Store details` as incomplete.
# Conflicts:
# client/task-list/tasks.js
* Unit tests repaiared
* Added OBW page
This commit makes the necessary changes to add an OBW page
# Conflicts:
# client/profile-wizard/index.js
* Event name changed
This commit renames the event name we were recording since it was wrong.
* Redirection modified
This commit modifies the way we do redirection
# Conflicts:
# client/profile-wizard/index.js
* Removed `profiler` feature flag
* Removed `profiler` feature flag
This commit removes the `profiler` feature flag
* Added error handling for `updateProfileItems`
This commit adds error handling for the method `updateProfileItems`
* Update client/profile-wizard/index.js
Co-authored-by: Matt Sherman <matt.sherman@automattic.com>
* Removed "throw" from "then"
* Update client/dashboard/index.js
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update client/profile-wizard/index.js
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Modified redirection URL
This commit modifies the redirection URL.
# Conflicts:
# client/task-list/tasks.js
# Conflicts:
# client/profile-wizard/index.js
* Removed the variable "lastStep" and the related logic.
* Removed change of state for variable "skipped"
* Added error trowing to onboarding actions
This commit adds error trowing to onboarding actions
* Removed response handling for `updateProfileItems`
* Added default value for "profileItems" in Homescreen and Dashboard
* Removed `step` from OnboardingProfile and test
This commit removes the `step` from OnboardingProfile.php and from tests
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Matt Sherman <matt.sherman@automattic.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Add dismiss button as task list item option
* Add option to undo task dismissal
* Record modal dismissal event
* Add transition animation to list items
* Use key for list items instead of index
* Remove dismissed tasks on recompleting profiler steps
* Add wcpay setup task and hide normal payment task if the wcpay plugin is installed
* Record an event when selecting the wcpay task
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Update task list to closer match new designs.
* Update TaskList placeholder to match the new design.
* Hook up store details task click.
* Don't show "skip" prompt for task list on new home screen.
* Update time estimates for tasks.
* Add progress indicator to TaskList.
* Use null container for store details task.
* Fix progress bar styling.
* Just use card menu for TaskList dismissal.
* Don't show TaskList on analytics overview if homepage feature is enabled.
* Initial refactor of TaskList to use WP card.
* Style TaskList items and card header.
* Style "hide" button for TaskList.
* Don't show TaskList after it's completion.
* Don't show TaskList placeholder when options are still loading.
Avoid a potential flash of the placeholder without showing the TaskList.
* Fix border radius on progress bar.
* Fix TaskList header style with homepage feature disabled.
* Remove defunct function.
* Remove unnecessary import.
* Some minor color tweaks (https://github.com/woocommerce/woocommerce-admin/pull/4436)
* Colors
* Only show time estimation for incomplete tasks
* Don't show chevron on completed tasks.
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
* Preload task list completed option, show placeholder when loading.
* Fix alignment of "hide this" button.
Co-authored-by: James Koster <james@jameskoster.co.uk>
* Move TaskList component up in directory tree.
* Render the TaskList on the new home screen.
* Render single tasks in isolation on new home screen.
* Fix "is requesting" selection for options API.
* Add loading placeholder for TaskList.
* Add initial test for the task list on the home screen.
* Fix dynamic imports under test.
* Add test for inline TaskList on home screen.
* Test that single task view works on new home screen.
* Restore Jest mocks between tests.
* Fix linting errors.