Commit Graph

196 Commits

Author SHA1 Message Date
Jeff Stieler 5e7f2af61d Rename "profile" to "store details". (https://github.com/woocommerce/woocommerce-admin/pull/4965)
* Rename "profile" to "store details".

* Missed some /profiler links.

* Fix linter error.

* Store details => Setup Wizard.

* Rename task list item.
2020-08-27 08:10:23 -04:00
Sam Seay c884f96bf9 Add WooCommerce Mobile App Banner Ad for Android and iOS (https://github.com/woocommerce/woocommerce-admin/pull/5037)
Fixes woocommerce/woocommerce-admin#4654 

The feature calls for a mobile app ad banner to be displayed to users on mobile devices.

Based on the discussion in woocommerce/woocommerce-admin#4654 this implements the following:

1. [an iOS Smart App Banner](https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/PromotingAppswithAppBanners/PromotingAppswithAppBanners.html). This banner is a meta tag that is generated in PHP. It will only display on iOS devices. One note about this: **This tag is not directly trackable like the implemented Android banner. If we would like to track its success then I believe [these instructions are relevant](https://stackoverflow.com/questions/12906502/is-it-possible-to-track-click-throughs-from-iphone-smart-banner/20422334woocommerce/woocommerce-admin#20422334)**. 

2. A mobile app banner ad that **only displays on Android** and only displays at the `738px` breakpoint specified in the issue. To only display this banner ad on Android, we use basic checking of the user agent string. I weighed this up against other approaches and for this kind of niche use case a simple UA string check is (imho) still the best way to do this.

3. The banner ad makes use of user preferences to retain a per user setting that determines if that user has dismissed the Android banner. We don't/can't do anything like this for the iOS Smart App Banner (but in theory we shouldn't need to).
2020-08-27 13:46:53 +12:00
Bec Scott 0bf9ef371c Add new note: Selling online courses (https://github.com/woocommerce/woocommerce-admin/pull/5036)
Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-08-26 14:11:14 +10:00
Joshua T Flowers d4dd74e44a Remove onboarding feature flag and a/b testing (https://github.com/woocommerce/woocommerce-admin/pull/4999)
* Remove store page creation during new onboarding experience

* Remove onboarding feature flag

* Add back in onboarding feature flag to enable feature loading
2020-08-25 00:51:41 +03:00
Jeff Stieler eea63f602f Refactor task list status to onboarding data store. (https://github.com/woocommerce/woocommerce-admin/pull/4998)
* 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.
2020-08-24 09:20:57 -04:00
Bec Scott 4e8ca09a3a Remove composite products from onboarding (https://github.com/woocommerce/woocommerce-admin/pull/4996)
Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-08-18 10:56:36 +10:00
Paul Sealock 5cbd4ed521 Documentation: Fix Add Report (https://github.com/woocommerce/woocommerce-admin/pull/4991)
* Update readme

* better
2020-08-18 09:45:21 +12:00
Claudio Sanches 073a3f706f Fix usage of "package" tag in file headers (https://github.com/woocommerce/woocommerce-admin/pull/4940)
* 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
2020-08-11 16:18:47 -03:00
Joshua T Flowers 92a8a58d2b Remove payment task actions (https://github.com/woocommerce/woocommerce-admin/pull/4917)
* 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
2020-08-11 15:20:48 +03:00
Bec Scott b511469dc8 Automatically add free local shipping zone on completing the profiler (https://github.com/woocommerce/woocommerce-admin/pull/4857)
* 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>
2020-08-11 14:39:25 +10:00
Timmy Crawford 2b7fddb16b Setup Payments: Add eWAY for AU/NZ Stores. (https://github.com/woocommerce/woocommerce-admin/pull/4947)
* Setup Payments: Add eWAY for AU/NZ Stores."

* Fix typo
2020-08-06 17:09:10 -07:00
Jeff Stieler 53031f3fae OBW: fix product types step bugs (https://github.com/woocommerce/woocommerce-admin/pull/4900)
* OBW: fix tooltip display on product types step.

* Restore physical products as default.

* Slight improvement to screen reader text.
2020-07-30 12:14:18 -04:00
Fernando ba12049b79 New notification: Don't forget to test your checkout (https://github.com/woocommerce/woocommerce-admin/pull/4805)
* 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>
2020-07-22 15:24:03 -03:00
Bec Scott a82d359a5e Include activeTheme onboarding setting if the task list is shown (https://github.com/woocommerce/woocommerce-admin/pull/4834)
Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-07-22 09:55:25 +10:00
Ayub Adiputra e2d41ea718 Fix non-lowercase theme activation issue (https://github.com/woocommerce/woocommerce-admin/pull/4393) (https://github.com/woocommerce/woocommerce-admin/pull/4706)
Use sanitize_text_field instead of sanitize_title_with_dashes to clean up the theme name during theme activation and installation. Remove another sanitize_title because it also need to allow non-lowercase slug as well. Use the sanitized theme name as slug for:
- Checking whether current theme is allowed to activate
- Checking whether current theme is one of installed theme
- Slug of theme on Onboarding::get_theme_data() method.
2020-07-21 13:53:33 -07:00
Joshua T Flowers 3862223149 Update profiler reference links and loading state (https://github.com/woocommerce/woocommerce-admin/pull/4828)
* Update button to revisit the profiler

* Hide the wp admin UI when loading the profiler route
2020-07-21 13:39:53 -07:00
Bec Scott 551dfe1f0c Pills and tooltips in product step of OBW (https://github.com/woocommerce/woocommerce-admin/pull/4707)
* 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>
2020-07-21 14:27:32 +10:00
Fernando a7a59583c9 Added skip profiler functionality (https://github.com/woocommerce/woocommerce-admin/pull/4721)
* 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>
2020-07-16 12:17:10 -03:00
Jeff Stieler 973335f5d0 Allow Jetpack plugin to be manipulated via API from the home screen. (https://github.com/woocommerce/woocommerce-admin/pull/4817)
* Allow Jetpack plugin to be manipulated via API from the home screen.

Fixes issue where Jetpack's installation status wasn't visible if the OBW was skipped.

* Remove incorrect arguments from add_filter() call.
2020-07-15 15:39:03 -04:00
Joshua T Flowers 49a0a9f3a2 Add option to dismiss tasks (https://github.com/woocommerce/woocommerce-admin/pull/4733)
* 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
2020-07-14 13:46:25 +03:00
Bec Scott 3e79e973ab Toggle the “Physical products” checkbox on by default (https://github.com/woocommerce/woocommerce-admin/pull/4702)
* Toggle the “Physical products” checkbox on by default

* change 'preselect' to 'default'

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-07-08 12:14:57 +10:00
Joshua T Flowers bfb8b68aa6 Remove navigation feature (https://github.com/woocommerce/woocommerce-admin/pull/4740) 2020-07-06 10:21:15 +03:00
Bec Scott 90089a5416 Include Product Bundles and Product Add-ons as OBW product options (https://github.com/woocommerce/woocommerce-admin/pull/4705)
Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-07-02 10:42:45 +10:00
Bec Scott 218c5e28d1 Remove the Composite products option (https://github.com/woocommerce/woocommerce-admin/pull/4703)
Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-06-26 08:38:55 -07:00
Bec Scott c04bfbbbbd Add education and travel to the onboarding industry types (https://github.com/woocommerce/woocommerce-admin/pull/4694)
Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-06-25 15:40:44 +10:00
Daniel Rey López 86d2bc3837 Fix WCPay sometimes not appearing on the task list (https://github.com/woocommerce/woocommerce-admin/pull/4647)
* Fix WCPay sometimes not appearing on the task list

* preload general settings

Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-06-23 10:18:35 +12:00
Jeff Stieler 9794fed139 Disable task list on analytics dashboard when homepage is enabled. (https://github.com/woocommerce/woocommerce-admin/pull/4617)
Regression from 8a2750c973.
2020-06-18 10:56:30 -04:00
Jeff Stieler dd54268ad7 Master -> main. (https://github.com/woocommerce/woocommerce-admin/pull/4618) 2020-06-17 13:39:41 -04:00
Jeff Stieler f2c8f34d22 Add Tool to Clear/Invalidate Analytics Cache (https://github.com/woocommerce/woocommerce-admin/pull/4580)
* Add "clear cache" button to WooCommerce Tools page.

* Hook up cache clear tool button.

* Add success message to clear cache tool.
2020-06-16 09:47:58 -04:00
Jason Conroy 4cf586c4f1 Add Coupon feature (https://github.com/woocommerce/woocommerce-admin/pull/4526)
* 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>
2020-06-16 12:00:41 +09:30
Paul Sealock fea332b5b4 Change homepage to homesceen (https://github.com/woocommerce/woocommerce-admin/pull/4549) 2020-06-15 14:17:12 +12:00
Daniel Bitzer ca517af7c0 Make it possible (far easier) to add menu items under 'Marketing' (https://github.com/woocommerce/woocommerce-admin/pull/4561)
* 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
2020-06-13 07:25:15 +09:30
Paul Dechov 1a98cd0dbc Task list: Add more Stripe supported countries (https://github.com/woocommerce/woocommerce-admin/pull/4545)
* Show Stripe task for recently supported countries

* Add Puerto Rico as supported 'country', included in US by Stripe

* Add preview country India to Stripe supported list
2020-06-12 14:03:47 -04:00
Jason Conroy 8f291d2ec3 Refactor marketing components to make more reusable. (https://github.com/woocommerce/woocommerce-admin/pull/4524)
* 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>
2020-06-12 16:47:17 +09:30
Paul Sealock d7aec170f1 Runtime feature config override (https://github.com/woocommerce/woocommerce-admin/pull/4523) 2020-06-11 12:26:20 +12:00
Jeff Stieler 9be6bdd841 Fix loading of RTL styles in chunks. (https://github.com/woocommerce/woocommerce-admin/pull/4542) 2020-06-10 18:06:17 -05:00
Paul Sealock 7f8149563b Homescreen: Add option to disable (https://github.com/woocommerce/woocommerce-admin/pull/4450)
* Add homescreen option

* change opt name to homescreen
2020-06-04 08:42:30 +12:00
Joshua T Flowers 77992029da Add method to send WC profile data after profiler completion (https://github.com/woocommerce/woocommerce-admin/pull/4177)
* Add method to send WC profile data after profiler completion

* Send profiler data if complete on a newly connected site

* Check for put method existence before using the helper API

* Only send wc profile data if opted into tracking
2020-05-28 11:50:38 +03:00
Jeff Stieler cd146b388e Update TaskList design (https://github.com/woocommerce/woocommerce-admin/pull/4434)
* 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>
2020-05-27 10:08:39 -06:00
Joshua T Flowers 3a88b6f980 Add setting to see if WcPay is configured (https://github.com/woocommerce/woocommerce-admin/pull/4145) 2020-05-22 13:40:10 +03:00
Daniel Bitzer c6371c32db Fix in app purchase back link for recommend marketing extensions card (https://github.com/woocommerce/woocommerce-admin/pull/4301)
* Add getInAppPurchaseUrl lib function

* Implement getInAppPurchaseUrl for marketing tab

* Include the directory with the wccom-site param

* use getInAppPurchaseUrl helper function in onboarding CartModal component

* Fix 'addQueryArgs' is defined but never used

* Fix Missing JSDoc @return description

* Make connectNonce setting a global setting rather than a marketing once

Co-authored-by: Jason Conroy <jason@findingsimple.com>
2020-05-20 15:03:58 +09:30
Matt Sherman f639d4a32e Remove obsolete inbox messages (https://github.com/woocommerce/woocommerce-admin/pull/4182)
* Remove welcome note
* Remove store notice setting note
* Remove review your experience note
* Add tests for delete_notes_with_name
* Add filter support so that other code can add notes to be deleted on upgrade.
2020-05-05 15:38:16 -04:00
Paul Sealock 3fc69b9739 Homepage: Add stats overview selection (https://github.com/woocommerce/woocommerce-admin/pull/4264)
* Homwpage: add stats overview stat toggle

* toggle stats

* fix

* tests

* better hook name

* clean up

* add back in Fragment

* remove extra prop

* better test name
2020-05-05 10:58:39 +12:00
David Stone 8ebd33fe6b Use Route based code splitting to optimize bundle size (https://github.com/woocommerce/woocommerce-admin/pull/4094)
* Use lazy loading to split up the size of the js downloaded

* Use lazy loading to split up the size of the js downloaded

* Add Moment Timezone plugin to reduce size of data file.

* Lazy load header panels and use Dashicons for faster loading

* Load assets from the correct publicPath

* Load assets from the correct publicPath

* PHP cs fixes

* Fix missing quotes on string literal.

* Fix PropType warning for lazy loaded component.

* Separate the task list and dashboard chunks.

* Lazy load dashboard sections.

* Restore original icons and reduce size by importing only the icons needed

* Lazy load alerts to save more Kb on initial load

* Minify built JS in production mode.

* Add preload tags for WC Admin assets. (https://github.com/woocommerce/woocommerce-admin/pull/4162)

* Fix linting errors.

* Add modified UnminifiedWebpackPlugin.

* Produce minified and unminified bundles for all builds.

* Remove unused variable from webpack config.

* Run unminify after sourcemap generation.

* Only hook after optimization if we're using a devtool.

* Add minification suffix in Loader::get_url().

* Lazy load OBW on new home screen.

* Move OBW style up a level to layout.

* Hydrate ProfileWizard independently of withSelect and withDispatch

* Fix order of composition and fallback function when using hydration.

Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-04-29 12:01:27 -06:00
Joshua T Flowers ea2c2f7707 Fix sorting to push Storefront to the top of the theme list (https://github.com/woocommerce/woocommerce-admin/pull/4187)
* Fix sorting to push Storefront to the top of the theme list

* Add test to ensure Storefront is sorted in get_themes()

* copy paste cleanup

* Refactor sorting logic.

* Fix linting errors

* Updates per feedback.

* Add check for products property

* Fix for 5.6 CI.

* Oh hey another CI fix

Co-authored-by: Timmy Crawford <timmydcrawford@gmail.com>
2020-04-28 14:47:05 -07:00
Chris Shultz 8fa6180dee Make sure woocommece-services is an allowed plugin on for shipping prompt. (https://github.com/woocommerce/woocommerce-admin/pull/4233) 2020-04-28 07:25:11 -07:00
Ron Rennick 5b201365dd POC store navigation (https://github.com/woocommerce/woocommerce-admin/pull/3202)
* Add base nav component

* Check if current screen is WC registered page

* Add core menu items

* Add param for menu items to migrate and hide old menu items

* Add body classes for wc navigation

* Check capability before adding menu items

* Add submenu items to frontend component

* Hide wc nav behind option

Co-authored-by: Joshua Flowers <joshuatf@gmail.com>
2020-04-27 12:30:32 +03:00
Joshua T Flowers 320712fb2c Reset profiler when visiting old obw URL (https://github.com/woocommerce/woocommerce-admin/pull/4166) 2020-04-23 21:01:38 +03:00
Chris Shultz 65f7a0cf7d Remove A/B testing from order page shipping prompt. (https://github.com/woocommerce/woocommerce-admin/pull/4180) 2020-04-23 10:33:42 -07:00
Paul Sealock 2f8ba63ec0 Homepage: Add Hello World, routing, and feature flag (https://github.com/woocommerce/woocommerce-admin/pull/4169)
* Homepage: Add hello world

* check feature flag

* homepage folder

* whitespace
2020-04-23 09:32:44 +12:00
Paul Sealock 28c85668fb Plugins: Move API out of Onboarding (https://github.com/woocommerce/woocommerce-admin/pull/4093)
* Plugins DataStore: decouple from onboarding (https://github.com/woocommerce/woocommerce-admin/pull/4048)

* Plugins DataStore: Add client side store

* change active_plugins to public static function

* don't change shape of allowed plugins
2020-04-20 14:04:13 +12:00
Paul Sealock c500d3fa98 Plugins DataStore: decouple from onboarding (https://github.com/woocommerce/woocommerce-admin/pull/4048)
* Plugins DataStore: Add client side store
2020-04-17 11:58:36 +12:00
Daniel Bitzer ae526f7e1e Fix confusing UX when knowledge base card fails to retreive posts (https://github.com/woocommerce/woocommerce-admin/pull/4133)
* Use EmptyContent component when there are no knowledge base posts

* Reduce transient timeout to 15 mins when remote get fails

* Satisfy phpcs

* Satisfy jslint
2020-04-16 10:19:20 +09:30
Timmy Crawford acfae2c356 Setup Checklist: Remove Setup Menu Item and I'll Do This Later link (https://github.com/woocommerce/woocommerce-admin/pull/4085)
* Remove  menu item

* Remove 'do this later' link
2020-04-08 14:27:24 -07:00
Jason Conroy 05cf7b010e Marketing inbox note (https://github.com/woocommerce/woocommerce-admin/pull/4030)
* Add Marketing Note Provider Class

* Add marketing note intro to events

* Include Market Notes with feature plugin

* Change marketing into note title

* Remove facebook extension inbox note

* Remove onboarding completed (market my store) inbox note

* Add inline comment back in

* Remove constructor

Install method doesn’t exist

* Remove unnecessary use of WC_Admin_Notes_Marketing

* Change marketing hub note to use speaker gridicon

* Remove facebook note on update to 1.1.0
2020-04-09 05:55:59 +09:30
Joshua T Flowers 94eec721c0 Fix double prefixed wcadmin events (https://github.com/woocommerce/woocommerce-admin/pull/4065) 2020-04-08 14:35:16 +03:00
Jason Conroy e78a4bc2db Update marketing hub recommended plugins API url. (https://github.com/woocommerce/woocommerce-admin/pull/4036)
* Update recommended plugins WCCOM url

* Remove todo.

Co-authored-by: Timmy Crawford <timmydcrawford@gmail.com>
2020-04-01 08:37:01 -07:00
Jason Conroy e5bd8f3184 Marketing Tab MVP (https://github.com/woocommerce/woocommerce-admin/pull/3953)
* Add Marketing feature flag

* Add marketing page and menu item

* Register marketing page with layout controller

* Add initial marketing cards

* Add max-width to marketing overview page

* Add initial marketing WelcomeCard component

* Make marketing welcome card permanently dismiss

* Add a readme for the marketing page components

* Record tracks event when marketing welcome dismissed

* Match design width

* Add welcome image and initial styles

* Use gridicon for close button

* Fix whitespace

* Add PluginsHelper::get_plugin_data()

* Add initial Marketing\InstalledExtensions class

* Preload installed marketing extensions data

* Tweak extension statuses

* Add InstalledExtensionRow component

* Add initial extension data to InstalledExtensions card

* Refactor PluginsHelper::get_plugin_data method

Using the new get_plugin_path_from_slug method

* Ensure get_plugins() function is available for PluginsHelper

* Simplify using PluginsHelper method

* Add MailChimp configured status logic

* Add links to InstalledExtensionRow component

* Add key prop to extensions list

* Setup styles for InstalledExtensions card

* Display nothing if no installed extensions

* Add InstalledExtensions::get_allowed_plugins()

* Setup Marketing Overview API controller

* Add /activate-plugin marketing endpoint

* Add more extensions URL props

* Add Facebook extension configured status logic

* Update Facebook extension URL props

* Fix extenion data logic

* Move component into it’s own directory

* Setup /marketing/overview/recommended endpoint

* Initial marketing page card header styles

* Add basic extension data to RecommendedExtensions

* Use color as variable

* Tweak card header padding for design

* Add basic styling to RecommendedExtensions card

* settingsUrl is not available if the plugin is not active

* Add /marketing/overview/installed-plugins REST endpoint

* Add basic activation functionality to InstalledExtensions component

* Don’t throw error on success

* Add MVP data store for installed extensions card

* Add core dark blue color variable

* Add styles for installed extensions card

* Move knowledge-base component to its own directory

* Pull recommended marketing plugins from remote test site

* Hide description when configured

As per design

* Tweak colors based on design

* Finish off styling for RecommendedExtensions

* Limit recommended extensions to 6 items

* Add error handling to RecommendedExtensions card

* Rename ‘copy’ extension prop

* Add marketing button component to match design

* Create ProductIcon component for marketing

* Add InstalledExtension icons

* Fix icon image paths

* Add ProductIcon to InstallExtensionRow

* Final styling to installed extensions card row

* Knowledge base card placeholders

* Fix missing icons when plugin not activated

* Remove logging

* Tweak array structure to ensure we have an array in JS

and not an object

* Refactor KnowledgeBase marketing component

- We don’t need loop through every post when rendering, just pick the posts we need
- Remove unused classes

* Move padding from each slide to the container

* Improve slider animations by absolute positioning the slides

* Reduce the slider animation timeout and add a note

* Add in-app purchase flow url params for recommended extensions

* Fix slider animation

* Reset slider height on window resize

* Short slider animation, fix double margin on smaller screens

* Add initial marketing/knowledge-base endpoint

* Pull knowledge base posts from API

* Rename welcome card dismiss tracks event

* Record event on recommended product click

* Recond onclick events for installed extensions card

* Record event when carousel navigation clicked

* img elements must have an alt prop

* Remove import that is never used

* use camelCase

* Decode HTML entities from API call

* Remove unused container div

* Add card loading state

* Add images to knowledge base card

* Link knowledge base posts

* Use the Pagination component rather than duplicate it’s functionality

* Clean up and rename knowledge base slider

* Clean knowledge base CSS and update responsive styles for single post slide

* Add a README for button component

* Add README for product icon component

* Add initial readme for Slider component

* Add correct image sizes to knowledge base slider, finalize styles

* Fix extension link urls

* Resolve some code formatting issue

* Bind class click methods to this

* Wrap nodes in Fragment

* Fix wccom-back path

* Add placeholder author and gravatar

Default avatar url size returned from the API is currently set to 96 so I’ve done a simple replace with 16

* Fix style-lint expected new line

* Add docblock for get_knowledge_base_posts()

* Setup data store for marketing to handle installedExtensions card

* Fix function names

“Activating” not “installing”

* Move welcome card component to its own dir

* IconButton component is going to be deprecated

ref: https://github.com/WordPress/gutenberg/pull/19299

* Support multiple activating plugins in the data store

* Rename extension to plugin for consistency

* Add propTypes to component

* Rename data-store/ to data/

* Fix import paths

* Extract isActivatingPlugin logic into datastore

* Move data store selectors into own file

* POST requests are not cached

* Export apiFetch action

* Don’t wrap API response in object

* Implement data store for recommended extensions

* Implement data store for marketing knowledge base

* Tidy getRecommendedPlugins resolver

* Try a cross browser cover/crop image effect to fit proposed design

And help fit longer titles in

* Add caught errors to handler

* Adjust positioning so watermater is displayed

* InstalledExtensions phpcs fixes

* Marketing phpcs fixes

* Alignment fix

* MarketingOverview phpcs fixes

* Missing full stop

* Update breadcrumbs to use new approach

* Fix style lint issues

* Record `marketing_knowledge_article` track event on knowledge base post click

* Import apiFetch and controls from @wordpress/data-controls

* Hex color to lowercase

* Remove duplicate method after rebase

* Use new showPageArrowsLabel rather than hide with CSS

* Fix blurry avatars on hidpi displays

* Hide avatar if URL is falsy

* Replace test author data with live data

* Combine conditionals into ternary

* Combine conditionals into ternary

* Simplify class column logic

* Only preload option and component settings in the admin

* Fix isActivatingPlugin not updating

Component was not re-rendeding.

* Use querySelector over getElementsByClassName

* Hide Marketing Welcome Card immediately on click

* Use create-a-ticket url for supportUrl and make that the default

* Add getInstalledPlugins resolver with preloaded data

* Revert "Add getInstalledPlugins resolver with preloaded data"

This reverts commit b8b127ec6411bef15616576b3bb189dc31777c13.

* Load plugin data in a separate request after activation

* Update welcome image

* Don’t return plugin data in the activation request.

* A space is required before closing bracket

* Update Jest config to gracefully handle static assets

Ref: https://jestjs.io/docs/en/webpack#handling-static-assets

* Remove unused onExit property

* Remove placeholder README

* Use prop directly

* yield createNotice

* Add note to indicate which Category

* Increase transient time to 3 days

* Use $gap-small

* Add proptype

* Add debounce to slider height resize listener

* Clean up isLoading logic

* Dont show image elements if image data is empty

* Open knowledge base posts in a new window

* Add “noreferrer”

* Turn the tab on in all env

Co-authored-by: Daniel Bitzer <danielbitzer@gmail.com>
2020-03-28 06:48:27 -07:00
Allen Snook 078de3e9c0 Merge add/wc-pay to master, enabled for development only (https://github.com/woocommerce/woocommerce-admin/pull/4022)
* Add feature flag for wcpay (https://github.com/woocommerce/woocommerce-admin/pull/3958)

* Add card to payments task for WooCommerce Payments (https://github.com/woocommerce/woocommerce-admin/pull/3978)

* Add card to payments task for WooCommerce Payments

* Add missing plugin and settings PHP constants for woocommerce payments

* Add endpoint to return url to kick off wcpay

* Fix incorrect option name

* I can haz purple with white text, plz

* Linkify TOS, settings

* Recommend wcpay when visible; move wcpay to list top

* Test for wcpay feature flag

* Improved handling of feature flag

* If the user is an agency, include wcpay docs link on card

* Reverse agency logic, LOL

* Camel case fillRule etc

* Turn off wcpay for core and plugin for now
2020-03-27 16:24:32 -07:00
Fernando Espinosa b71bc861fb WooCommerce Shipping order page prompt (https://github.com/woocommerce/woocommerce-admin/pull/3955)
Co-authored-by: David Stone <david@nnucomputerwhiz.com>
Co-authored-by: Chris Shultz <chris.shultz@automattic.com>
Co-authored-by: Harris Wong <harris.wong@a8c.com>
2020-03-27 13:42:58 -07:00
Jason Conroy d237256aa9 Abstract onboarding plugin code into a PluginsHelper class (https://github.com/woocommerce/woocommerce-admin/pull/3999)
* Abstract WP plugin code into a PluginsHelper class

We plan to use these methods in the Marketing tab.

* Add PluginsHelper::is_plugin_active()

* Add PluginsHelper::is_plugin_installed()

* Add PluginsHelper::get_plugin_data()

* Add PluginsHelper::get_plugin_path_from_slug()

* Refactor PluginsHelper::get_plugin_data method

Using the new get_plugin_path_from_slug method

* Refactor is_plugin_installed and is_plugin_active

Also adds support for plugin slugs or paths as parameters.

* Ensure get_plugins() function is available for PluginsHelper

* Ensure plugin path is a string before checking if installed/active

* PHPCS fixes

* Add initial unit tests for PluginsHelper

* Check plugin data array keys rather than all values

Will make it less fragile when Woo plugin data changes

* Fix typos

Co-authored-by: Daniel Bitzer <danielbitzer@gmail.com>
2020-03-27 11:28:59 +10:30
Joshua T Flowers 1088a0ce8c Onboarding: Add task completion and task list completion tracks (https://github.com/woocommerce/woocommerce-admin/pull/3967)
* Refactor logic for showing dashboard reports and tasklist

* Check for complete option status instead of visible tasks in dashboard

* Update task list status on task list completion

* Track task completion event server-side on option add

* Add option to track previousdly completed events

* Track previously untracked tasks on option update
2020-03-23 13:47:12 -07:00
Joshua T Flowers 66e8525d89 Add WooCommerce support if store is using default theme (https://github.com/woocommerce/woocommerce-admin/pull/3908)
* Add WooCommerce support if store is using default theme

* Check if wc_is_wp_default_theme_active exists before calling it
2020-03-23 13:07:43 -07:00
Joshua T Flowers 8b667d2169 Onboarding: Add offline payment methods (https://github.com/woocommerce/woocommerce-admin/pull/3832)
* Add on Cash on Delivery method to payment methods

* Add direct bank transfer method

* Update enabled paymet methods in markConfigured

* Add missing bacs property

* Add bacs styling
2020-03-16 12:57:23 +01:00
Joshua T Flowers 6c4c8fb7c1 Onboarding: Add toggles to configured payments in task list (https://github.com/woocommerce/woocommerce-admin/pull/3801)
* Add isConfigured property to all payment methods

* Remove payment configuration checks from server side

* Add isEnabled flags to all payment methods

* Add payment method toggle methods

* Extract payment methods

* Fix update options selectors

* Add error handling for payment method updates

* Remove configured from saved option

* Add event when payment is toggled

* Check if payment option exists before checking config

* Only fetch PayPal connection URL when plugin is active

* Only fetch Stripe connection URL when plugin is active
2020-03-16 12:09:29 +01:00
Bec Scott b8aee0f93b Onboarding: business step: add Google Ads extension install (https://github.com/woocommerce/woocommerce-admin/pull/3725)
* Onboarding: business step: add Google Ads extension install

* Updated extension slug etc to match the extension

* Fix a couple of slugs that were missed

* Remove extra div that was breaking because of an unrelated change (reused class name)

Co-authored-by: Bec Scott <me@becdetat.com>
2020-03-16 16:12:30 +10:00
Joshua T Flowers da6f113d18 Onboarding: Update payments task flow (https://github.com/woocommerce/woocommerce-admin/pull/3782)
* Add new payment method cards

* Refactor payment methods

* Track payment configuration and completion client-side

* Record tasklist_payment_connect_method event in markConfigured

* Record event on payment setup

* Add recommended payment method ribbon

* Return to payments task even when previously configured
2020-03-15 22:45:19 +01:00
Bec Scott 893aecfa4b Improve focus on task list (https://github.com/woocommerce/woocommerce-admin/pull/3796)
* Script that hides or shows menu items

* Hook up buttons to task list, hook up options to onboarding-experience to set up the menu

* Fix some little code style issues

* Remove LinkButton in favour of the existing Button in @wordpress/components

* Remove reference to removed style file

* Move menu experience script to /client/wp-admin-scripts to match current style

* Only load the onboarding menu experience script if onboarding is enabled

* Localise some strings

* Separate the "Setup" link from the existing items to avoid conflicts with extensions that modify the menu

* Use the item key instead of title to report back completed tasks

* Change from skip_option to reason to make this easier to grok

* Use existing woocommerce_task_list_hidden option instead of creating a new one

* Tweak options to get menu experience working again

* Simplify skip actions logic

* Preload woocommerce_task_list_do_this_later option

* Nicer event key names

* Clean  up the styling

* Remove wcSettings.onboarding check from the task items list in `customizable`

* Remove spinner from customizable

* Fix translated string for WooCommerce menu setup anchor

* Use predef color instead of a hard-coded hex code

* Remove superfluous ={ true } from markup

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-03-13 14:34:53 +10:00
Timmy Crawford 276f3d2ced Don't attempt to create an inbox note before the tables exist. (https://github.com/woocommerce/woocommerce-admin/pull/3884)
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
2020-03-12 12:59:38 -07:00
Timmy Crawford f5d0da0b19 Merge final `version/1.0` branch with `master` (https://github.com/woocommerce/woocommerce-admin/pull/3848)
* Try: Moving Customers to main Woo Menu (https://github.com/woocommerce/woocommerce-admin/pull/3632)

* Only add onboarding settings on wc-admin pages when task list should be shown. (https://github.com/woocommerce/woocommerce-admin/pull/3722)

* Use cron for unsnoozing admin notes (https://github.com/woocommerce/woocommerce-admin/pull/3662)

* Use wp-cron for admin note snoozing.

* Remove "unsnooze" scheduled action.

* Use correct version.

* Avoid using deprecated method for unscheduling actions.

* Onboarding: Fix toggle tracking events (https://github.com/woocommerce/woocommerce-admin/pull/3645)

* Fix errant wcadmin prefix on event name

* Track the onboarding toggle on the option in case enable_onboarding isn't used

* Move toggle actions to separate function

* Move onboarding actions

* Move onboarding filters

* Move help tab updates to add_toggle_actions

* Only run onboarding actions when enabled

* Onboarding: Add tracks events when profiler steps are completed (https://github.com/woocommerce/woocommerce-admin/pull/3726)

* Add tracks for store profiler step completion

* Record event when profiler is completed

* Ensure continue setup loads the onboarding profiler (https://github.com/woocommerce/woocommerce-admin/pull/3646)

* 'All that include' option removed when input field is empty (https://github.com/woocommerce/woocommerce-admin/pull/3700)

* 'All that include' option removed when input field is empty

Added a control to check that when the input field 'Search by customer name' is empty, the 'All that include' option is not appearing.

* Const name improved

The constant name hasValues was changed to optionsHaveValues (more descriptive)

* Fix select text alignment (https://github.com/woocommerce/woocommerce-admin/pull/3723)

* Stock panel indicator - cache and use lookup tables. (https://github.com/woocommerce/woocommerce-admin/pull/3729)

* Stock panel indicator - cache and use lookup tables.

* Revise query, clear transient on product update.

* Fix error, ht Josh.

* Checklist: Remove sideloaded images to reduce build size, take 2 (https://github.com/woocommerce/woocommerce-admin/pull/3731)

* Remove homepage template images.

* Use other-small on all industries, adjust text color.

* Remove background dim and opacity set to 0

* Fix/3631 (https://github.com/woocommerce/woocommerce-admin/pull/3730)

* Added CBD as an industry type

CBD was added as an industry type in API

* Industries options modified

Modified the industries options. Now we are able to choose if we will use an input or not in the option.

* API control changed for industries.

API control changed for industries. Now it accepts the data type we need.

* Added input in Industries list for the option "Other"

Added an input for the option "Other" in the industries list

* Added suggested changes in review comments.

* Added data preparation for recordEvent

* Changed variable to snake_case

The variable "industriesWithDetail" was changed to "industries_with_detail" (snake_case)

* Onboarding: Create homepage without redirect (https://github.com/woocommerce/woocommerce-admin/pull/3727)

* Add link to edit homepage instead of redirect

* Add busy state to homepage creation button

* Publish homepage on create via API

* Update homepage notice to show on first post update

* Update homepage creation notice per design

* Record event on customize homepage

* Set homepage to frontpage on creation

* Add deactivation note for feature plugin (https://github.com/woocommerce/woocommerce-admin/pull/3687)

* Add version deactivation note

* Add the note to deactivate if the version is older than the current WC version

* Deactivate wc admin feature plugin on action click

* Add notes version hooks

* change the Package class namespace to exclude from standalone autoloader

* add use statement for FeaturePlugin

* add note explaining namespace

* use wc-admin-deactivate-plugin note name

* Rename file and class to WC_Admin_Notes_Deactivate_Plugin

Co-authored-by: Ron Rennick <ron@ronandandrea.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>

* Add Travis tests on GH for release branch (https://github.com/woocommerce/woocommerce-admin/pull/3751)

* Add Travis tests on GH for release branch

* fix linter errors

* ActivityPanels.php -> use public static functions

* Remove free text Search option when no query exists (https://github.com/woocommerce/woocommerce-admin/pull/3755)

* Revert changes in woocommerce/woocommerce-admin#3700

* Don't add free text search if no query exists

* Add tests for Search without query

* Add test for showing free text search option

* Fix image sideloading for store industries. (https://github.com/woocommerce/woocommerce-admin/pull/3743)

* Fix image sideloading for store industries.

Data format changed in https://github.com/woocommerce/woocommerce-admin/pull/3730

* Fix industry image sideload in cases where the count is less than requested.

* Be backwards compatible with the old industry data format.

* Added event props to identify stores with WCS and Jetpack installed (https://github.com/woocommerce/woocommerce-admin/pull/3750)

* Added event props to identify stores with WCS and Jetpack installed

Also, added Jeckpack connected status

* Improved variable name

* Simplified method

Simplified method. "intersection" check was removed

* Tests errors repeared

The method "clear_low_out_of_stock_count_transient" now is static.

* OBW: fix sideloading image test error (https://github.com/woocommerce/woocommerce-admin/pull/3762)

* Release 0.26.0 changes (https://github.com/woocommerce/woocommerce-admin/pull/3753)

* add deactivation hook to Package.php (https://github.com/woocommerce/woocommerce-admin/pull/3770)

* Add active version functions (https://github.com/woocommerce/woocommerce-admin/pull/3772)

* add active version functions to Package.php

Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>

* 0.26.1 changes (https://github.com/woocommerce/woocommerce-admin/pull/3773)

* Customers Report: fix missing report param in search (https://github.com/woocommerce/woocommerce-admin/pull/3778)

* Product titles include encoded entities (https://github.com/woocommerce/woocommerce-admin/pull/3765)

* Stripped HTML from product titles and decoded before displaying them

Stripped html from product titles and entities are decoded before displaying them

* Stripped HTML from product titles and decoded in Stock report

Stripped html from product titles and entities are decoded before displaying them. Now in Stock report

* Added support for HTML tags and encoded entities on product titles

Added support for HTML tags and encoded entities on filtered product list, dropdown menus and tag names.
Also, strip_tags() function was replaced with wp_strip_all_tags() instead.

* strip_tags() function was replaced with wp_strip_all_tags() instead.

* Added control for a variable

Added control for "item->data" before applying wp_strip_all_tags method.

* pre-commit changes

* Test text corrected

* Enable taxes on automatic tax setup (https://github.com/woocommerce/woocommerce-admin/pull/3795)

* Update Country Labeling to Match Core (https://github.com/woocommerce/woocommerce-admin/pull/3790)

* Updated country labeling

Country labeling on Customer Report was updated

* Updated country labeling in other files

* remove .jitm-card notice padding (https://github.com/woocommerce/woocommerce-admin/pull/3814)

* OBW Connect: Fix requesting state (https://github.com/woocommerce/woocommerce-admin/pull/3786)

* OBW Connect: Fix requesting state

* pass down setIsPending

* setIspending propType

* defaultProps

* test

* Revert "test"

This reverts commit e921092b19401931cc1aec8ee84fa53c53b67f36.

* better comparison for redirect

* Fixes Taxes Report search bug and adds initial documentation. (https://github.com/woocommerce/woocommerce-admin/pull/3816)

* Initial Taxes Report documentation.

* Fix taxes endpoint search parameter.

* OBW: Fix retry plugin install button disappearing (https://github.com/woocommerce/woocommerce-admin/pull/3787)

* OBW: Fix retry plugin install btn disappearing

* try suggestion

* Revert "try suggestion"

This reverts commit 5b9386957a501ac3e729e5f16b0ee71c9d792859.

* Fix special character escaping in search. (https://github.com/woocommerce/woocommerce-admin/pull/3826)

* Properly prepare/escape special characters in Product search.

* Properly prepare/escape special characters in Coupon search.

* Properly prepare/escape special characters in Tax code search.

* Fix tracking on migrated options (https://github.com/woocommerce/woocommerce-admin/pull/3828)

* Don't track onboarding toggle if migrating options

* Prevent WC_Tracks from recording event post types not yet registered

* Activity Panels: Remove W Panel (https://github.com/woocommerce/woocommerce-admin/pull/3827)

* Remove W Notif Panel.

* Add back in trapping logic, and hide on non-embed pages.

* add npm run test:zip command (https://github.com/woocommerce/woocommerce-admin/pull/3823)

* add npm run test:zip command

* 1.0.0 release changes🎉 (https://github.com/woocommerce/woocommerce-admin/pull/3831)

* 1.0.0 release changes🎉

* changelog

* 0.26.1 changelog

* Add Report Extension Example: Add default props to ReportFilters (https://github.com/woocommerce/woocommerce-admin/pull/3830)

* ReportFilters component: Add sane defaults

* styles

* add required column

* add left join to sku ordering (https://github.com/woocommerce/woocommerce-admin/pull/3845)

* Deal with lint errors, and improperly merged files

* regenerate package-lock.json

* attempting to resolve package lock conflict.

Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
Co-authored-by: Ron Rennick <ron@ronandandrea.com>
Co-authored-by: Fernando <ultimoround@gmail.com>
Co-authored-by: edmundcwm <edmundcwm@gmail.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-03-10 15:47:39 +13:00
Ron Rennick 54d58ed13e Version/1.0 master merge (https://github.com/woocommerce/woocommerce-admin/pull/3797)
* Try: Moving Customers to main Woo Menu (https://github.com/woocommerce/woocommerce-admin/pull/3632)

* Only add onboarding settings on wc-admin pages when task list should be shown. (https://github.com/woocommerce/woocommerce-admin/pull/3722)

* Use cron for unsnoozing admin notes (https://github.com/woocommerce/woocommerce-admin/pull/3662)

* Use wp-cron for admin note snoozing.

* Remove "unsnooze" scheduled action.

* Use correct version.

* Avoid using deprecated method for unscheduling actions.

* Onboarding: Fix toggle tracking events (https://github.com/woocommerce/woocommerce-admin/pull/3645)

* Fix errant wcadmin prefix on event name

* Track the onboarding toggle on the option in case enable_onboarding isn't used

* Move toggle actions to separate function

* Move onboarding actions

* Move onboarding filters

* Move help tab updates to add_toggle_actions

* Only run onboarding actions when enabled

* Onboarding: Add tracks events when profiler steps are completed (https://github.com/woocommerce/woocommerce-admin/pull/3726)

* Add tracks for store profiler step completion

* Record event when profiler is completed

* Ensure continue setup loads the onboarding profiler (https://github.com/woocommerce/woocommerce-admin/pull/3646)

* 'All that include' option removed when input field is empty (https://github.com/woocommerce/woocommerce-admin/pull/3700)

* 'All that include' option removed when input field is empty

Added a control to check that when the input field 'Search by customer name' is empty, the 'All that include' option is not appearing.

* Const name improved

The constant name hasValues was changed to optionsHaveValues (more descriptive)

* Fix select text alignment (https://github.com/woocommerce/woocommerce-admin/pull/3723)

* Stock panel indicator - cache and use lookup tables. (https://github.com/woocommerce/woocommerce-admin/pull/3729)

* Stock panel indicator - cache and use lookup tables.

* Revise query, clear transient on product update.

* Fix error, ht Josh.

* Checklist: Remove sideloaded images to reduce build size, take 2 (https://github.com/woocommerce/woocommerce-admin/pull/3731)

* Remove homepage template images.

* Use other-small on all industries, adjust text color.

* Remove background dim and opacity set to 0

* Fix/3631 (https://github.com/woocommerce/woocommerce-admin/pull/3730)

* Added CBD as an industry type

CBD was added as an industry type in API

* Industries options modified

Modified the industries options. Now we are able to choose if we will use an input or not in the option.

* API control changed for industries.

API control changed for industries. Now it accepts the data type we need.

* Added input in Industries list for the option "Other"

Added an input for the option "Other" in the industries list

* Added suggested changes in review comments.

* Added data preparation for recordEvent

* Changed variable to snake_case

The variable "industriesWithDetail" was changed to "industries_with_detail" (snake_case)

* Onboarding: Create homepage without redirect (https://github.com/woocommerce/woocommerce-admin/pull/3727)

* Add link to edit homepage instead of redirect

* Add busy state to homepage creation button

* Publish homepage on create via API

* Update homepage notice to show on first post update

* Update homepage creation notice per design

* Record event on customize homepage

* Set homepage to frontpage on creation

* Add deactivation note for feature plugin (https://github.com/woocommerce/woocommerce-admin/pull/3687)

* Add version deactivation note

* Add the note to deactivate if the version is older than the current WC version

* Deactivate wc admin feature plugin on action click

* Add notes version hooks

* change the Package class namespace to exclude from standalone autoloader

* add use statement for FeaturePlugin

* add note explaining namespace

* use wc-admin-deactivate-plugin note name

* Rename file and class to WC_Admin_Notes_Deactivate_Plugin

Co-authored-by: Ron Rennick <ron@ronandandrea.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>

* Add Travis tests on GH for release branch (https://github.com/woocommerce/woocommerce-admin/pull/3751)

* Add Travis tests on GH for release branch

* fix linter errors

* ActivityPanels.php -> use public static functions

* Remove free text Search option when no query exists (https://github.com/woocommerce/woocommerce-admin/pull/3755)

* Revert changes in woocommerce/woocommerce-admin#3700

* Don't add free text search if no query exists

* Add tests for Search without query

* Add test for showing free text search option

* Fix image sideloading for store industries. (https://github.com/woocommerce/woocommerce-admin/pull/3743)

* Fix image sideloading for store industries.

Data format changed in https://github.com/woocommerce/woocommerce-admin/pull/3730

* Fix industry image sideload in cases where the count is less than requested.

* Be backwards compatible with the old industry data format.

* Added event props to identify stores with WCS and Jetpack installed (https://github.com/woocommerce/woocommerce-admin/pull/3750)

* Added event props to identify stores with WCS and Jetpack installed

Also, added Jeckpack connected status

* Improved variable name

* Simplified method

Simplified method. "intersection" check was removed

* Tests errors repeared

The method "clear_low_out_of_stock_count_transient" now is static.

* OBW: fix sideloading image test error (https://github.com/woocommerce/woocommerce-admin/pull/3762)

* Release 0.26.0 changes (https://github.com/woocommerce/woocommerce-admin/pull/3753)

* add deactivation hook to Package.php (https://github.com/woocommerce/woocommerce-admin/pull/3770)

* Add active version functions (https://github.com/woocommerce/woocommerce-admin/pull/3772)

* add active version functions to Package.php

Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>

* 0.26.1 changes (https://github.com/woocommerce/woocommerce-admin/pull/3773)

* Customers Report: fix missing report param in search (https://github.com/woocommerce/woocommerce-admin/pull/3778)

* Product titles include encoded entities (https://github.com/woocommerce/woocommerce-admin/pull/3765)

* Stripped HTML from product titles and decoded before displaying them

Stripped html from product titles and entities are decoded before displaying them

* Stripped HTML from product titles and decoded in Stock report

Stripped html from product titles and entities are decoded before displaying them. Now in Stock report

* Added support for HTML tags and encoded entities on product titles

Added support for HTML tags and encoded entities on filtered product list, dropdown menus and tag names.
Also, strip_tags() function was replaced with wp_strip_all_tags() instead.

* strip_tags() function was replaced with wp_strip_all_tags() instead.

* Added control for a variable

Added control for "item->data" before applying wp_strip_all_tags method.

* pre-commit changes

* Test text corrected

* fix linting issues

* fix mis-merged changes

* Update jsdoc

Co-Authored-By: Paul Sealock <psealock@gmail.com>

Co-authored-by: Timmy Crawford <timmyc@users.noreply.github.com>
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
Co-authored-by: Fernando <ultimoround@gmail.com>
Co-authored-by: edmundcwm <edmundcwm@gmail.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-03-03 11:22:32 +13:00
Bec Scott 1cc7e0288f Add PayFast payment gateway option for sites in South Africa (https://github.com/woocommerce/woocommerce-admin/pull/3738)
* Add PayFast payment gateway option for sites in South Africa

* Fix PayFast extension in the whitelist

* Configure PayFast from within the task list

* Triggering hook

* Show PayFast payment method at the bottom of the options

* When configuring the PayFast extension set the store currency to ZAR

* Remove withSelect from compose function

* Only do one call to update the settings
2020-02-24 13:54:46 +10:00
Ron Rennick 952b70774f Merge Version/1.0 to master (https://github.com/woocommerce/woocommerce-admin/pull/3740)
* Try: Moving Customers to main Woo Menu (https://github.com/woocommerce/woocommerce-admin/pull/3632)

* Only add onboarding settings on wc-admin pages when task list should be shown. (https://github.com/woocommerce/woocommerce-admin/pull/3722)

* Use cron for unsnoozing admin notes (https://github.com/woocommerce/woocommerce-admin/pull/3662)

* Use wp-cron for admin note snoozing.

* Remove "unsnooze" scheduled action.

* Use correct version.

* Avoid using deprecated method for unscheduling actions.

* Onboarding: Fix toggle tracking events (https://github.com/woocommerce/woocommerce-admin/pull/3645)

* Fix errant wcadmin prefix on event name

* Track the onboarding toggle on the option in case enable_onboarding isn't used

* Move toggle actions to separate function

* Move onboarding actions

* Move onboarding filters

* Move help tab updates to add_toggle_actions

* Only run onboarding actions when enabled

* Onboarding: Add tracks events when profiler steps are completed (https://github.com/woocommerce/woocommerce-admin/pull/3726)

* Add tracks for store profiler step completion

* Record event when profiler is completed

* Ensure continue setup loads the onboarding profiler (https://github.com/woocommerce/woocommerce-admin/pull/3646)

* 'All that include' option removed when input field is empty (https://github.com/woocommerce/woocommerce-admin/pull/3700)

* 'All that include' option removed when input field is empty

Added a control to check that when the input field 'Search by customer name' is empty, the 'All that include' option is not appearing.

* Const name improved

The constant name hasValues was changed to optionsHaveValues (more descriptive)

* Fix select text alignment (https://github.com/woocommerce/woocommerce-admin/pull/3723)

Co-authored-by: Timmy Crawford <timmyc@users.noreply.github.com>
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
Co-authored-by: Fernando <ultimoround@gmail.com>
Co-authored-by: edmundcwm <edmundcwm@gmail.com>
2020-02-20 07:59:02 -04:00
Joshua T Flowers 243901a38f Onboarding: Mark profiler complete on WC update (https://github.com/woocommerce/woocommerce-admin/pull/3590)
* Mark profiler as complete if previous onboarding install has been handled

* Load features before WC updated hooks

* Add todo note about updating core install check
2020-01-29 11:47:04 -03:00
Joshua T Flowers 761a67f18b Onboarding: Mark payments task complete when payment configured (https://github.com/woocommerce/woocommerce-admin/pull/3576)
* Mark payments task complete when payment configured

* Only mark complete when all payments configured

* Only mark payments complete if all payments configured
2020-01-28 09:12:04 -08:00
Joshua T Flowers fcd2d517cd Onboarding: Allow any uploaded theme to be activated (https://github.com/woocommerce/woocommerce-admin/pull/3620)
* Allow installed themes to be installed and activated

* Filter themes on client-side by WC support and currently active

* Run transient deletion hook during REST requests

* Delete transient on theme switch for non-admin requests
2020-01-24 10:11:36 +08:00
Joshua T Flowers b0b79e8968 Redirect old onboarding wizard to profiler when active (https://github.com/woocommerce/woocommerce-admin/pull/3593) 2020-01-21 20:05:10 +08:00
Joshua T Flowers 69525f70df Onboarding: Mark payments task complete on updating payment gateways (https://github.com/woocommerce/woocommerce-admin/pull/3579)
* Mark payments task complete on Stripe settings update

* Check for Paypal completion

* Update payments task to complete on setting Square tokens

* Update Paypal settings to check ppec settings
2020-01-17 09:11:04 +08:00
Jeff Stieler d57b99e6c7 Revamp uninstallation when WooCommerce Admin is in core. (https://github.com/woocommerce/woocommerce-admin/pull/3546)
* Don't truncate table data on uninstall if WooCommerce Admin is in core.

* DROP tables on uninstall (like core does).

* Migrate wc_ prefix options to woocommerce_.

This allows core WC to clean up when uninstalled.

* Migrate wc_ prefixed user meta fields to woocommerce_.

This allows core WC to clean up when uninstalled.

* Fix use of date().

* Update comment describing the option value filter.
2020-01-16 17:08:29 -07:00
Joshua T Flowers d29d674768 Onboarding: Add reminder to complete profiler (https://github.com/woocommerce/woocommerce-admin/pull/3524)
* Add note to complete profiler

* Add note actions

* Update note to actioned when profiler is marked complete

* Update note to actioned client-side when completing profiler
2020-01-10 09:36:30 +08:00
Joshua T Flowers da9421692f Onboarding: Add option to track appearance completion (https://github.com/woocommerce/woocommerce-admin/pull/3503)
* Add option to track appearance completion

* Disable proceed button if no logo and not dirty state
2020-01-09 10:05:03 +08:00
Joshua T Flowers a2bff95a4a Onboarding: Redirect the user to the task list if referer is wccom checkout (https://github.com/woocommerce/woocommerce-admin/pull/3495) 2020-01-02 10:30:12 +08:00
Joshua T Flowers 700cf7bb2d Onboarding: Add purchase products task list item (https://github.com/woocommerce/woocommerce-admin/pull/3472)
* Add an array of installed plugins to wcSettings

* Don't include already installed plugins in cart items

* Move cart modal component

* Add purchase task and modal to task list

* Rename ambiguous task getter method

* Remove modal purchase later prop

* Show completed product purchase task item after purchase

* Don't show cart modal if all items previously purchased
2019-12-31 16:50:45 +08:00
Joshua T Flowers 3da148156e Onboarding: Add theme install and activation endpoints (https://github.com/woocommerce/woocommerce-admin/pull/3482)
* Add API endpoint to install themes

* Add API endpoint to activate a theme

* Add an array of allowed themes and sanitize slugs

* Limit allowed themes to already installed or free themes

* Add theme installation tests

* Add tests for theme activation

* Add onboarding theme installation and activation tests

* Remove unused argument in onboarding plugins API
2019-12-30 15:47:15 +08:00
Justin Shreve 5068282b7b Add purchase modal at the end of the profile wizard (https://github.com/woocommerce/woocommerce-admin/pull/3444)
* Add purchase modal to confirm intent before cart redirect

* Handle PR feedback: Fix comment on getProductIdsForCart, move cart modal to open on theme page (which rewrites the mark completed functionality), fix CSS display, Add busy stsate to redirect to cart button

* Fix some minor naming issues and add a busy state on thee later link
2019-12-20 07:58:38 -05:00
Jeff Stieler 79ad163a3a Fix user data fields filter name. (https://github.com/woocommerce/woocommerce-admin/pull/3428)
Missed in woocommerce/woocommerce-admin#3339.
2019-12-17 08:36:22 -05:00
Justin Shreve 1acd567e76 Default the Calypso environment to production (https://github.com/woocommerce/woocommerce-admin/pull/3347) 2019-12-10 14:36:45 -05:00
Justin Shreve a0e47e8dfd Add a button to continue setup after importing products (https://github.com/woocommerce/woocommerce-admin/pull/3402) 2019-12-10 14:28:19 -05:00
Joshua T Flowers df172f4592 Onboarding: Reduce number of queries needed to update logo (https://github.com/woocommerce/woocommerce-admin/pull/3397)
* Add stylesheet and themeMods to settings and remove customLogo

* Remove queries to get current stylesheet and thememods
2019-12-10 11:08:44 +07:00
Paul Sealock 6a92ccb932 Release/0.23.1 (https://github.com/woocommerce/woocommerce-admin/pull/3395)
* release changes 0.23.0

* check onboarding function

* version bumps

* fix package.json typo

* fix version typo
2019-12-10 08:02:09 +13:00
Ron Rennick ba30224098 Stardardize hooks (https://github.com/woocommerce/woocommerce-admin/pull/3339)
* rename woocommerce_reports_* hooks/filters to woocommerce_analytics_*

* introduce woocommerce_navigation_ filter prefix

* update remaining wc_admin_* filters/hooks

* phpcs sniff fixes for notes data store

* standardize woocommerce_note_ hook prefix

* one of filter renames

* update contributing readme, onboarding unit test

* missed _notes_ -> _note_ filter

* update ext example hooks
2019-12-06 12:06:11 +13:00
Justin Shreve 50cc3edaed Update onboarding filters with a consistent prefix (https://github.com/woocommerce/woocommerce-admin/pull/3295)
* Update onboarding filters with a consistent prefix

* Rename woocommerce_onboarding_payments to match the other task list options
2019-11-25 11:15:22 -05:00
Justin Shreve c8f9d7673c Fix notices and display issues that can occur when a WCCOM product api request fails (https://github.com/woocommerce/woocommerce-admin/pull/3291) 2019-11-25 10:35:35 -05:00
Ron Rennick 241fad75cc PHPCS fixes for onboarding files (https://github.com/woocommerce/woocommerce-admin/pull/3269) 2019-11-18 11:17:48 -04:00
Justin Shreve 03c3251a2a Onboarding - Add tracks queue and fix busted tracks events/add missing event (https://github.com/woocommerce/woocommerce-admin/pull/3220)
* Fix busted tracks events and add missing continue setup event

* Move appearance check to next page load to avoid the event not firing

* Add a tracks queue to delay event recording & log embed page views (https://github.com/woocommerce/woocommerce-admin/pull/3250)

* Add a tracks queue to delay event recording

* Add emebedded page view tracking, and queue the tax skip event
2019-11-15 08:32:02 -05:00
Joshua T Flowers ee747d2869 Onboarding: Skip homepage step when classic editor is in use (https://github.com/woocommerce/woocommerce-admin/pull/3244) 2019-11-15 08:17:48 +08:00
Joshua T Flowers 91b8ed366d Onboarding: Add the ability to toggle on or off the new onboarding (https://github.com/woocommerce/woocommerce-admin/pull/3230)
* Add on option to toggle on the new onboarding experience

* Add an option to toggle off the new onboarding experience

* Update todo comment to remove option on merge to core
2019-11-14 13:12:37 +08:00
Joshua T Flowers f2d41e8fd7 Onboarding: Remove notice to run the old setup wizard (https://github.com/woocommerce/woocommerce-admin/pull/3232) 2019-11-14 13:11:28 +08:00
Justin Shreve d29f93999a Update the Jetpack WooCommerce onboarding parameter, so that we can split test the new UI against the existing setup wizard flow. (https://github.com/woocommerce/woocommerce-admin/pull/3207) 2019-11-12 13:24:27 -05:00
Ron Rennick f78c143f3b Move in-house rest endpoints to private namespace (https://github.com/woocommerce/woocommerce-admin/pull/3204)
* move in-house rest endpoints to private namespace

* PHPCS sniff fixes
2019-11-12 14:15:55 -04:00