* 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.
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>
* 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
* 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).
* 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>
* Add monthly product prices to OBW
* Remove description for physical and download products
* Use pills in product selection step of OBW
* Add missing translation wrapper, also convert some spaces to tabs
* Add pill to changelog
* Change pills to medium gray text and border
* Make everything line up correctly on smaller viewports
* Get the styles closer to the design
* Breakpoint to set font size to 11px
Co-authored-by: Rebecca Scott <me@becdetat.com>
Fixeswoocommerce/woocommerce-admin#4732
This updates `@wordpress/base-styles`, and because `@wordpress/components` depends on variables from it, that must be updated as well.
There are 3 major changes required as part of updating:
1. The $theme-color variable is no longer exposed by base-styles. Instead there are 3 css vars exposed. These are made available by use of a provided mixin. Situations where $theme-color was darkened using scss have been mapped as best as possible to the 2 other darkened shades of the css var that are available such as `--wp-admin-theme-color-darker-20` and `--wp-admin-theme-color-darker-10`. In some cases this means the colors are not exactly the same as before.
2. The post css `theme()` call is no longer available. All uses of this have been consolidated to use of the main theme css var `--wp-admin-theme-color`. This means that calls like `theme(secondary)` or `theme(outline)` etc have all been consolidated to the one color.
3. Many of the variables used for different shades of gray have been deprecated. These have been mapped across to the new gray variables. (Mapped according to the list described in woocommerce/woocommerce-admin#4732)
* 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>
* Fix incorrect woocommere-admin spelling
* Update styles
* Add icons
* Add hover effect for coupon icons
* Remove variable comment
* Update color case
* Style lint fixes
* Use $theme-color
* Update icons, use wordpress/icons where possible
* Adjustment for using smaller default icons and no fills in the svgs
* Use var(--wp-admin-theme-color) instead of $theme-color
* Reorg coupons stylesheet
* Update PropTypes for ProductIcon
* Adjust icon export
* Rever to using $theme-color
* Add versions of link, people and currency-dollar
* Overide coupons icon background color
* Add background transition to icon wrapper
* Move Jetpack connection from benefits to profiler completion
* Handle profiler completion and connection URL async
* Update cached components on each profiler step
* Show bundle install UI based on segment
* Create notice on error catch
* Refactor redirect after promise completion
* Fix up accessiblity issues in bundle popover UI
* Add "create an account" option to PayPal setup.
Requires a connected Jetpack and WCS.
* Incorporate account creation into multiple flows.
Consolidate form code as well.
* Empty emails aren't valid.
* Remove defunct manual form render.
* Only validate API credentials if needed.
* Update PayPal settings for account creation flow.
* Add first basic test for PayPal setup task.
* Add more test coverage.
* Add some padding to the create account form.
* Only show "create account" if WCS TOS has been accepted.
* Add initial (rough) help panel.
Only includes "products" task items.
* Add help links for other tasks.
* Add header to help tab content.
* Toggle activity panel tabs when performing a setup task.
* Move query string parsing up a level.
* Pass query string as prop to ActivityPanel.
Fixes rerendering issue when entering a task.
* Pass current task to Help panel.
* Filter payments task help items by available payment methods.
* Filter shipping and tax help items based on WCS install.
* Add generic docs link to all help panels.
* Track help panel open.
* Track help panel link clicks.
* Show WCS help items when prompted to install.
* Tasks are only performed on the main route.
E.g. no value for "path".
* Small tweaks to make AcivityPanel more easily testable.
* Add initial tests for ActivityPanel tab logic.
* Modify HelpPanel component for easier testing.
* Add tests for conditional help panel links.
* Fix tracking keyboard "clicks" on help links.
* Fix query prop on embedded pages.
* Allow filtering of help tab items.
* 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>
* Added new note type
This commit adds a new note type `survey`. The note is deleted after calling its CTA.
* Now using const from WC_Admin_Note
* Now using const from WC_Admin_Note in WC_Admin_Notes too
* Moved note deletion from NoteActions to WC_Admin_Notes
This commit moves the note deletion from NoteActions to WC_Admin_Notes. Also adds a hook to clean up actioned survey notes.
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Add simple business extension install form input
* Install all business extensions when checked
* Add popover with business extension benefits
* Remove errant hasInstallActivateError setState call
* Show popover on click and record event
* Show success screen based on conditions instead of step
* Use promise chain to handle updating tax settings
* Fix up error handling for failed setting updates
* Skip store location step if complete address exists
* Fix up pending/requesting state logic
* Allow opt in to TOS on tax task
* Don't complete task from completeStep
* Add caption styling to TOS text
* Preventing refresh after answering a survey note
This commit adds the code necessary to prevent a webpage refresh after answering a survey note.
* Modified `action` URL check
This commit refactors the check we do for the action URL.
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Added event prop to be recorded
This commit adds the event prop `screen` to `wcadmin_wcadmin_inbox_action_click`
* Getting screen name from referer
Now the we get the screen name from the referer
* The screen name is not being sent anymore to the API
The screen name is not sent anymore to the API. Also, the $screen_name is set as empty in the API to make the method more defensive.
* Created method `get_screen_name`
This commit moves the code related to getting the screen name to a specific method.
* Added screen name recording for individual posts
This commits adds screen name recording for individual posts
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Add (failing) test for deleted coupon amounts in reporting.
* Always sync an ID into the order-coupon lookup table.
* Don't remove coupon data from order analytics when the coupon is deleted.
* Fix coupon ID lookup from order item metadata.
* Allow negative coupon_id in the lookup table.
Representing deleted coupons.
* Handle deleted coupons when gathering extended info.
* Add more tests for deleted coupon handling.
* Handle deleted coupons in coupons report table.
* Fix lint errors.
* Add advanced args to configured static args so it is persistent
* Make sure unique keys are set in loaded labels
* Simplify the key selection because javascript
* Smarten up the filter picker so it only navigates if the selected button has changed
* Add static params for advanced order filters
* Add static param to product comparison config
* Add static param to category comparison config
* Add static param to coupon comparison config
* Add static param to taxes comparison config
* Add static params to downloads comparison config
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Bring homescreen styles into task list so it is styled correctly in the dashboard view
* Copy homescreen card styles to new .woocommerce-dashboard-card class
* Move styles to dashboard stylesheet.
Co-authored-by: Rebecca Scott <me@becdetat.com>
Co-authored-by: Timmy Crawford <timmydcrawford@gmail.com>
* Tweak the embed page CSS so the top content sits better
* Tweak the CSS to take notices into consideration
* Further tweak header styles
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Fix spacing between stats overview and store management cards
* Revert "Fix spacing between stats overview and store management cards"
This reverts commit 993374313657f7ecf7803cc738b82bf63ecdf490.
* Home screen div margins
* Fix: Actioned inbox notifications now are visible
This commit fixes the actioned inbox notifications, now they are always visible.
* Fixed getUnreadNotes method
This commit fixes the getUnreadNotes method since it was returning the wrong information.
* Added two @todo
This commit adds two @todo referring to a few changes to do after implementing pagination
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Count total unique customers instead of new/returning in order stats
* Add customer name to table instead of customer type
* Add customer total to segments
* Update tests for new stats
Co-authored-by: Joshua Flowers <joshuatf@gmail.com>
* Add Insight note
* Change actioned_label to actioned_text
* Move actioned text up a level
* Fix comment
* Rename insight class
* Add deny action to insight first sale and fix the button actions
* fix spacing
* Tweak conditions in the inbox card
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Fix secondary button style in OBW.
* Center snackbar notices in OBW.
* Scope snackbar changes to just the OBW.
* Add busy treatment to Jetpack connect button when redirecting.
* Remove color override for form toggles in ellipsis menus.
* Fix styling of task list.
* Fix button styles in date range picker component.
* Use admin theme colors in calendar component selections.
* Fix datepicker styling on analytics settings page.
* Don't attempt order download information retrieval when the product has been deleted.
* Handle display of download names when product has been deleted.
* Add deleted product test case for download report endpoint.
* Fix date() usage in download report tests.
* Handle new object for posts and recommendations
* Set breadcrumb parent for woocommerce-coupons to be woocommerce-marketing
* Add main coupon wrapping component
* Render coupon wrapper element below coupon table using wp-admin-scripts
* Finish off implementing category param for data store resolvers
* Create a helper trait for legacy coupons
* Add coupon related titles and descriptions
* Add note for the coupons being moved
* Allow for querying by note name in the notes Data Store
* Revamp coupon moved trait
* Add the new note only if we don't have an unactioned note and perform a redirect to ensure menu updates
* set_icon is deprecated
* Move coupon menu, adding a note for customers
* Translate title and descriptions
* Whitespace
* Account for coupon functionality being disabled
* Hide legacy menu before redirect
* Don’t keep adding the note if customer dismisses it from inbox
* Move behind feature flag
* Add note if feature enabled
* Add filter to override coupon feature
* Tweak option name to refer to wc_admin
To help with finding etc.
* use css variables
* Add the new note only if we don't have an unactioned note
* Switch the filter logic so `false` turns off the feature
This is a bit more intuitive when utilizing the filter
* Remove extraneous string and add trailing new lines
* Use correct posts object in tests
* Revert accidental removal of where_types
* Add coupons category to RecommendedExtensions
* Use 1.1 api to get categorized recommendations
* Add missing text domains
* Fix menu handling to point to woocommerce-marketing
* Only load coupon scripts on the coupon page
* Rework marketing menu logic to register pages more properly
* Use correct wc-admin path for marketing page
* Remove separate feature flag
WC Admin has existing feature flags to load enable/disable the feature
* Only set the coupon parent to marketing when the feature is enabled
* Only load coupon feature if marketing feature is enabled
Co-authored-by: Dan Bitzer <danielbitzer@gmail.com>
Co-authored-by: Jeremy Pry <jeremy.pry@gmail.com>
* Bugfix: there was a problem with the method onChoose in onboarding
This commit fixes a problem with the method onChoose in the last onboarding step
* Small fix
This commit adds a small fix in the use of an element
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Dismiss dropdown styles fixed
This commit fixes the "Dismiss" dropdown styles
* Text color replaced in Dismiss dropdown
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Make it possible to add marketing submenu pages
* Always set the parent value for marketing pages
* phpcs
* Add ‘overview’ to breadcrumb and path
* Fix permission check conditional
* Add parent menu at priority of 9, before other items are usually added
* Revert to use `/marketing` as the page path
* refactor slider component to be functional
* Refactor RecommendedExtensions
* Refactor KnowledgeBase
* Refactor API to account for component location changes and categories
* Fix missing param description
* Remove unnessary use
* Pass down the category of the received plugins.
* Store the recommended plugins for the different categories separately.
* Pass down the category.
* Add new functions to get by category.
* set categories
* Handle new object for posts and recommendations
* Update tests
* Finish off implementing category param for data store resolvers
* Update js tests
* Fix incorrect reference to kb component
Co-authored-by: Dan Bitzer <danielbitzer@gmail.com>
* Add installAndActivatePlugins method to plugin store
* Use new install/actiate method in Plugins component
* Refactor benefits page to use await
* Refactor business details page to use new install method
* Replace Plugins component in Jetpack CTA
* Format and throw errors in plugin data store
* Add generic response handling function
* Add default error messages to plugin API
* Initial user preferences custom hook (wc meta).
* Organize dependencies.
* Specify dependencies in useSelect() call.
* Remove specifying preference keys.
There's currently no performance benefit to be had.
* Add HoC for hydrating current user data.
* Add user prefs update method.
* Export user prefs hook and HoC in data package.
* Handle error condition when updating user preferences.
* Use closure to get user ID for prefs update.
* Refactor analytics dashboard to use new user hook.
* Refactor ReportTable component to use new user hook.
* Move prop access to top of function component.
* Add todo for potential manual resolution logic.
* Refactor DashboardCharts component to use new user preferences hook.
* Move code out of functional component where possible.
* Fix chart interval query property.
* Refactor Leaderboards component to use new user preferences hook.
* Move code out of functional component where possible.
* Refactor Inbox panel to use user prefs hook.
@todo - updating last read isn't working.
* Use user prefs hook in StatsOverview component.
* Export user preferences store name.
* Use new store for unread inbox indicator.
* Hydrate current user data higher up in the app.
* Update "last read" timestamp in inbox panel.
* Fix StatsOverview test.
* Remove unused dispatch method from StorePerformance component.
* Remove now defunct user methods from wc-api spec.
* Add tests for isRequesting.
* JSON decode WC meta on updated user object.
* Test user prefs retrieval and save.
* Remove todo comment.
* Use user prefs hook in Jetpack install CTA on homepage.
* Changed some API responses
This commit adds changes to some API responses
* Changed "woocommerce_task_list_complete" loading in frontend
* Updated "$migrated_options" array
This commit updates "$migrated_options" array and adds a deletion control
* Changed "taskListComplete" in customizable.js
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Added refactor in "handleBlur" for IE compatibility
This commit adds a refactor in the method "handleBlur" for IE compatibility
* Modified styles for IE compatibility
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Use plugins store rather than getSettings
* Show install Jetpack CTA if Jetpack is not connected
* Fix redirect URL
Co-authored-by: Rebecca Scott <me@becdetat.com>