Commit Graph

689 Commits

Author SHA1 Message Date
Bec Scott f29995124c Basic customer effort score survey functionality (https://github.com/woocommerce/woocommerce-admin/pull/5324)
* Spike out customer effort score

* Refactor CustomerEffortScore as Package (https://github.com/woocommerce/woocommerce-admin/pull/5342)

* Tidy up _webpack.config.js

* Fix linter issues

* refactor setting up CES tracking, add try..catch around loading from localStorage

* Add CES feature toggle (https://github.com/woocommerce/woocommerce-admin/pull/5387)

* Add feature toggle to only enable the customer effort score in development

* Move check into Loader

* fix logic 🙄

Co-authored-by: Rebecca Scott <me@becdetat.com>

* Add client-side check of the feature flag

* fix tabs in config

* Fix comment

* Use product lifecycle and options

* Add product count to tracks props

* Use Loader::load_features instead of DIY

Co-authored-by: Rebecca Scott <me@becdetat.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
2020-10-30 16:52:52 +10:00
Ron Rennick 9b02ba526e Use consistent markdown headers in navigation readme (https://github.com/woocommerce/woocommerce-admin/pull/5417) 2020-10-29 21:33:31 +13:00
Fernando f0398ee502 Added Accordion component (https://github.com/woocommerce/woocommerce-admin/pull/5474)
* Added Accordion component

This commit adds an Accordion component to our available components

* Refactored Accordion component

* Added new Accordion component to index

* Fixed a few Accordion details

* Accordion fixed

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2020-10-28 15:02:22 -03:00
Bec Scott 2315bf1662 Fix missing custom autocompleter attribute in Search component of Advanced Filter (https://github.com/woocommerce/woocommerce-admin/pull/5448)
Co-authored-by: khoand0000 <khoand0000@gmail.com>
2020-10-27 10:52:56 -04:00
Gan Eng Chin f5432beb72 Display a "read blog" message (https://github.com/woocommerce/woocommerce-admin/pull/5453)
* Display a "read blog" message when there is an error in getting blog posts or there is no blog posts.

* Simplify ReadBlogMessage with interpolateComponents and Link.
2020-10-23 14:07:58 +08:00
Jeff Stieler eefe2e8acc Add Homescreen layout control (https://github.com/woocommerce/woocommerce-admin/pull/5429)
* Remove inbox-specific class, widen single column.

* Create user preference for homescreen column layout.

* Add display options "tab" to homescreen.

* Style display options.

* Tweak homepage layout option values.

* Add tracks events for homepage layout.

* Add test coverage for homescreen display options.

* No need to use Fragment component.

* Use named exports.

* Fix display options styling on mobile/narrow viewports.

Don't show the options at all if we're forcing single column.

* Fix linting error.
2020-10-22 18:13:14 -04:00
Paul Sealock 7e351c18a3 Navigation: extend with WC Admin router links (https://github.com/woocommerce/woocommerce-admin/pull/5445)
* add test case

* save

* pages

* comments

* use id

* bail on no wcAdmin pages

* prefix
2020-10-22 16:01:25 +13:00
renovate[bot] 29f6bcc126 Update babel monorepo (https://github.com/woocommerce/woocommerce-admin/pull/5439)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-22 12:19:55 +10:00
Joshua T Flowers 84e006cc62 Migrate navigation store to data package (https://github.com/woocommerce/woocommerce-admin/pull/5420)
* Move data store to package and hydrate navigation

* Use wc settings to get site URL and title

* Use wc settings admin link

* Update nav util tests to work with installs in subdirectory
2020-10-21 13:02:45 -04:00
Joshua T Flowers c0be4ecb56 Enqueue styles on non-WC pages (https://github.com/woocommerce/woocommerce-admin/pull/5419)
* Enqueue styles on non-WC pages

* Only load extra styles when navigation is enabled
2020-10-20 14:47:11 -04:00
Sam Seay 91e3e7336d Fix a number of crashes that occur in reports when Gutenberg is active (https://github.com/woocommerce/woocommerce-admin/pull/5409)
Also fix a blank screen issue with rendering reports.

Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
2020-10-17 07:47:29 +13:00
Jeff Stieler 7ca9e691d4 Migrate Enzyme tests to React Testing Library (https://github.com/woocommerce/woocommerce-admin/pull/5299)
* Migrate leaderboard tests to RTL.

* Remove test of default prop value.

* Migrate ReportSummary tests to RTL.

* Migrate ActivityCard tests to RTL.

* Migrate ActivityCardPlaceholder tests to RTL.

* Migrate remaining ProductType tests to RTL.

* Migrate Card tests to RTL.

* Update RTL and user event packages.

* Migrate Date tests to RTL.

* Migrate D3Legend tests to RTL.

* Migrate D3Base tests to RTL.

* Migrate Gravatar tests to RTL.

* Migrate ImageUpload tests to RTL.

* Migrate ProductImage tests to RTL.

* Migrate Rating tests to RTL.

* Migrate Search tests to RTL.

* Migrate Plugins tests to RTL.

* Migrate SelectControl tests to RTL.

* Migrate Timeline tests to RTL.

Remove tests that inspect DOM since there are snapshots.

* Migrate DismissModal tests to RTL.

* Migrate SetupNotice tests to RTL.

* Migrate WelcomeCard tests to RTL.

* Fix setup error reason retrieval in ShippingBanner.

* Migrate ShippingBanner tests to RTL.

* Migrate RecommendedExtensions tests to RTL.

* Migrate KnowledgeBase tests to RTL.

* Rename enzyme setup file, modify to setup RTL.

* No need to import jest-dom in test files.

* Remove enzyme dependency.

* Use snapshot for testing Leaderboard markup.

* Switch from "not to be empty" to "be in the document".

* No need to waitFor() recordEvent mock.

* Be specific about clicking the "hide" button.

* Use toBeVisible() instead of checking style property.
2020-10-15 08:41:39 -04:00
Sam Seay fc030fb007 Migrate the devdocs examples to Storybook CSF stories (https://github.com/woocommerce/woocommerce-admin/pull/5271)
Fixes woocommerce/woocommerce-admin#5234
2020-10-15 14:55:55 +13:00
renovate[bot] 2ce600cde9 Update dependency locutus to v2.0.14 (https://github.com/woocommerce/woocommerce-admin/pull/5369)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-15 11:11:08 +13:00
renovate[bot] d42cb0d6a9 Update dependency moment to v2.29.1 (https://github.com/woocommerce/woocommerce-admin/pull/5370)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-15 09:58:53 +13:00
Paul Sealock 35de289fb5 New Package: DependencyExtractionWebpackPlugin (https://github.com/woocommerce/woocommerce-admin/pull/5198)
* create package

* dynamically make package list

* better readmne

* point to woo's not wp's for starter pack
2020-10-15 09:50:57 +13:00
Paul Sealock ad7cf64303 Navigation: Add client code (https://github.com/woocommerce/woocommerce-admin/pull/5309)
* is_feature_enabled

* feature class

* copy/paste

* hooked up

* its alive

* add wc-admin items

* clean up entry point

* Analytics remove url

* rebase error

* add back in check is_feature_enabled

* specificity CSS
2020-10-13 14:40:53 +13:00
Joshua T Flowers 443e2f9a55 Wrap search control selected items in list (https://github.com/woocommerce/woocommerce-admin/pull/5231)
* Wrap search control selected items in list

* Fix up snapshots
2020-10-06 23:27:38 +03:00
Paul Dechov 1bdd2ea0e1 Search component: Behavior and styling tweaks (https://github.com/woocommerce/woocommerce-admin/pull/5199)
Fix visual issues with the <Search> component.
2020-10-06 12:22:22 +13:00
renovate[bot] 5c49051dcf Update dependency debug to v4.2.0 (https://github.com/woocommerce/woocommerce-admin/pull/5220)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-05 17:43:29 +13:00
Paul Sealock 7c1eae7263 version bump (https://github.com/woocommerce/woocommerce-admin/pull/5219) 2020-09-30 14:13:28 +13:00
Jeff Stieler 264aa8dee4 Add Variations Report (https://github.com/woocommerce/woocommerce-admin/pull/5167)
* Add initial Variations Report to analytics feature.

* Restrict query to variations when not specifying any product IDs.

* Add route to get variations without specifying a parent.

* Move variations table component to variations report directory.

* Add missing LIMIT clause to variations report query.

* Remove broken features from Variations table.

* Add Variations report controller to CSV emailer.

* Add initial Variation Stats endpoint, based on Product Stats.

* Hook Variations Report components up to new stats endpoint.

* Hook attribute filter up to variations report queries.

* Remove variation title filter usage.

See: https://github.com/woocommerce/woocommerce-admin/pull/5100

* Use filtered separator in variation name formatting.

* Add "single variation" to variations report, fix autocompleter API request.

* Fix segmentation by variation.

* Add comparison to variations report.

* Always include manually specified variations in report results.

* Fix variations report table comparison mode.

The ReportTable component expects the `filter` query param.

* Fixing styling of compare button without table search component.

* Add variation filter to Orders report.

* Link orders count to orders report filtered by variation.

* Orders report: include variation attributes in product names.

* Further style tweaks for variations report download button.

* Add variations filter to order stats query.

* Clean up "category includes" login in REST controllers.

Prep for "category excludes" in the Variations report.

* Support category exclusion in report filters.

* Fix filter param used by the variation report table component.

* Add category filter to variations report.

* Fix initial selected ReportTable rows when using non-default compareParam.

* Add a new autocompleter for variable products.

* Add products filter to variations report.

* Fix tests.

* Handle variation IDs that are no longer found.

* Add documentation.

* Use getSetting() instead of directly accessing window properties in client code.

* Fix ordering Variations by SKU.
2020-09-25 09:57:48 -04:00
renovate[bot] fdd2c73122 Update dependency locutus to v2.0.12 (https://github.com/woocommerce/woocommerce-admin/pull/5148)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-25 09:25:26 +12:00
Sam Seay 20959e76b4 Remove store registration checks that are no longer needed. (https://github.com/woocommerce/woocommerce-admin/pull/5170)
Fixes woocommerce/woocommerce-admin#4443

Some investigation found that woocommerce/woocommerce-admin#4443 is no longer a reproducible issue. Why this issue no longer exists is not clear, but it makes sense now to disable the store registration checks as they are only called once. This PR just removes the checks but does not change any other behaviour.
2020-09-24 09:49:11 +12:00
Paul Sealock 328075abb7 Remove ` @woocommerce/wc-admin-settings` from data package (https://github.com/woocommerce/woocommerce-admin/pull/5158)
* remove getAdminLink

* prep for package release

* correctly pass in args

* tests
2020-09-18 14:22:52 +12:00
Paul Sealock 2dea138505 Update/components deps (https://github.com/woocommerce/woocommerce-admin/pull/5153)
* bump components dependencie

* prep for package release
2020-09-18 08:19:36 +12:00
Francesco 36f61c89f1 chore: rename WCS to WC Shipping & Tax (https://github.com/woocommerce/woocommerce-admin/pull/5139) 2020-09-16 16:45:16 -05:00
Bec Scott 90567853de Enable the home screen for everybody (https://github.com/woocommerce/woocommerce-admin/pull/5108)
* One-shot to enable the homescreen for everybody

* Make the home page the default (only) experience

* remove option check in activity panel tabs, get tests working, fix lint issues

* Remove is-homescreen CSS class

* Remove extra home page route registration

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-09-15 09:44:46 +10:00
Bec Scott 5310944f17 Add option to not charge sales tax (https://github.com/woocommerce/woocommerce-admin/pull/5111)
* Add option to not set up sales tax

* Correct JS lint errors

* Add abort option to plugin step

* Inline redirect to home page

* Use testing-library/react for the new test

* Also set woocommerce_calc_taxes to 'no'

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-09-14 08:50:02 +10:00
Paul Sealock 4a07997a86 Packages: release prep (https://github.com/woocommerce/woocommerce-admin/pull/5122)
* packgages version bumps

* fix errant s?
2020-09-11 14:33:10 +12:00
Paul Sealock 3c6483e842 Remove wc api 🎉 (https://github.com/woocommerce/woocommerce-admin/pull/5075)
* remove wc-api selects and constansts

* remove extendedItems dependence on wc-api

* remove wc-api

* PR feedback
2020-09-04 09:45:40 +12:00
renovate[bot] 36ed773769 Update dependency d3-time-format to v2.3.0 (https://github.com/woocommerce/woocommerce-admin/pull/5070)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-03 14:40:55 +10:00
Fernando 29e2dbffc9 Migrated "import" store to "wp.data" (https://github.com/woocommerce/woocommerce-admin/pull/4982)
* Migrated the "import" store to "wp.data"

This commit migrates the "import" store to "wp.data"

# Conflicts:
#	client/analytics/settings/historical-data/layout.js
#	packages/data/src/index.js

# Conflicts:
#	packages/data/src/index.js

# Conflicts:
#	packages/data/src/index.js

* Added error handling

This commit adds error handling to the apiFetch

* Fixred reducer.js

* Added reducer.js tests

* Removed "endpoint" references

* Tests fixed

* Removed old import store files and wc-api-spec import references

This commit removes old import store files and "wc-api-spec" import references

# Conflicts:
#	client/wc-api/wc-api-spec.js

# Conflicts:
#	client/wc-api/wc-api-spec.js

* Added interval to invalidate resolution of getImportStatus

* Fixed timestamp

* Store dependency removed

* Fixed reimport functionality

# Conflicts:
#	client/analytics/settings/historical-data/index.js

* Refactored layout.js

* Refactored clearCache method

* inProgress check refactored

* Using activeImport from store

# Conflicts:
#	client/analytics/settings/historical-data/index.js

* Fixed console warning

# Conflicts:
#	client/analytics/settings/historical-data/index.js

* Migration done!

# Conflicts:
#	client/analytics/settings/historical-data/index.js

* Fixed hasImportFinished

* Test fixed

* Removed "setImportFinished" from actions.js and index.js

* Added style to disabled button

* Fixed incorrect "Finalizing"  status

* Fixed tests

* Fixed notes update on importation start

* Removed local constants

* Removed css for disabled button

* Typo corrected

* Fixed param for getImportError method

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2020-09-01 10:21:31 -03:00
Jeff Stieler aa86428ebc Add support for advanced filters with multiple instances. (https://github.com/woocommerce/woocommerce-admin/pull/5050)
* Refactor filter input row into component.

* Support multiple filter value in "add filter" list.

* Refactor out one-off updateFilter() callback.

* Use array index to remove filters.

Also create unique keys for multiple value filters.

* Use numeric index instead of filter "key" for change callbacks.

* Maintain unique keys for multiple filter components.

This avoids rerenders when filters are removed.

* Calculate instance numbers in constructor.

* Support advanced filter instances in navigation helper methods.

* Add allowMultiple to advanced filters README.

* Fix tests.

* Add test cases for multiple filter instances.

* Handle missing attribute names and terms in screen reader text.

* Fix perpetual loading indicator when there are no attribute terms.

* Handle new boolean case when generating screen reader text.

* Handle multiple filter instances when creating report queries.

* Remove unused variables.
2020-09-01 08:23:27 -04:00
Sam Seay fb03e64ced Profile wizard style consistency updates (https://github.com/woocommerce/woocommerce-admin/pull/5059)
Co-authored-by: Joshua Flowers <joshuatf@gmail.com>
Co-authored-by: James Koster <james@jameskoster.co.uk>
2020-09-01 20:47:49 +12:00
Paul Sealock 7e7064e38c Fix components internal deps (https://github.com/woocommerce/woocommerce-admin/pull/5018)
* Fix components internal deps

* Pass full response

* remove errant comment
2020-08-28 11:55:48 +12:00
Jeff Stieler 650ecac14a Add "Product Attribute" advanced report filter. (https://github.com/woocommerce/woocommerce-admin/pull/5038)
* 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.
2020-08-27 08:11:12 -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
Jeff Stieler e845de7003 Fix missing title component in advanced filter screen reader interpolation. (https://github.com/woocommerce/woocommerce-admin/pull/5032) 2020-08-26 08:29:21 -04:00
renovate[bot] 8bf5cff688 Update dependency d3-format to v1.4.5 (https://github.com/woocommerce/woocommerce-admin/pull/5048)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-26 15:24:04 +12: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
renovate[bot] fa2a90cad6 Update dependency d3-selection to v1.4.2 (https://github.com/woocommerce/woocommerce-admin/pull/4928)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-24 12:31:09 +12:00
renovate[bot] 7c66c885d5 Update dependency core-js to v3 (https://github.com/woocommerce/woocommerce-admin/pull/4174)
* Update dependency core-js to v3

* core-js paths

* update babel and jest presets

* remove unused jest preset

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-08-24 09:35:46 +12:00
Paul Sealock 74e8d7622e Items dataStore: Migrate from wc-api (https://github.com/woocommerce/woocommerce-admin/pull/5009)
* Create wp.data folder

* order panel

* fix isUnboundedRequest with Categories

* products report

* products table

* indicators and leaderboards

* orders and stock panels

* utils

* tests

* save

* updateStock

* remove wc-api items

* updateItems -> setItems
2020-08-21 11:37:41 +12:00
Paul Sealock 2f650b74a0 Replace useFilters with wp's withFilters (https://github.com/woocommerce/woocommerce-admin/pull/4962)
* use wp withFilters

* changelog

* remove altogether

* other uses of withFilters

* Add deprecation warning to README
2020-08-21 11:14:55 +12:00
Daniel Bitzer d8098d6fd7 Adds `@woocommerce/tracks` package (https://github.com/woocommerce/woocommerce-admin/pull/5017)
* Add @woocommerce/tracks package.json

* Add @woocommerce/tracks .npmrc

* Move lib/tracks.js in to tracks package

* Add tracks package debug dependency

* Add readme for tracks package

* Add changelog for tracks package

* Add info about debugging and opt-ins to tracks package readme

* Load tracks package script

* Add tracks package to packages readme

* Add tracks package to webpack config

* Add tracks package external to starter-pack

* Replace lib/tracks uses with @woocommerce/tracks

* Update package-lock.json
2020-08-20 14:29:52 +09:30
Sam Seay 2f1d65847c Remove usage of __experimentalResolveSelect (https://github.com/woocommerce/woocommerce-admin/pull/4949)
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.
2020-08-20 16:02:01 +12:00
Sam Seay 4e06df996a Add the jest-environment tag to known tags for jsdoc to avoid lint errors. (https://github.com/woocommerce/woocommerce-admin/pull/5002) 2020-08-20 14:15:08 +12:00
Jeff Stieler c16da34c30 Migrate export data store to wp.data (https://github.com/woocommerce/woocommerce-admin/pull/4958)
* 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.
2020-08-18 09:04:58 -04:00
Joshua T Flowers df89bb7aac Fix note data actions and consolidate query constants (https://github.com/woocommerce/woocommerce-admin/pull/4990) 2020-08-18 14:45:42 +03:00