Commit Graph

87 Commits

Author SHA1 Message Date
Fernando a95af87948 Added warning when WC-Admin is active but not being used (https://github.com/woocommerce/woocommerce-admin/pull/6453)
* Added warning when WC-Admin is active but not being used

This commit adds a warning when WC-Admin is active but not being used

* Fixed copy

* Added changelog

# Conflicts:
#	readme.txt

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2021-03-04 13:07:47 -03:00
Paul Sealock 101df3b019 Add Dependency Extraction Webpack Plugin (https://github.com/woocommerce/woocommerce-admin/pull/5762)
* Add woo flavored DEWP

* clean up webpack config

* clean

* marketing coupons

* onboarding scripts

* nav scripts

* better imports of deps

* add asset files to bundle

* under git rebase conflict error

* try order

* Add wp_set_script_translations to the scripting loop

* changelog
2021-03-01 12:48:52 +13:00
Joshua T Flowers 9c5aa6d318 Move capability checks to client (https://github.com/woocommerce/woocommerce-admin/pull/6365)
* Move user data store folder

* Add user capability check hook

* Don't limit script loading by user capability

* Convert ActivityPanel to functional component

* Update ActivityPanel to use useSelect

* Check that a user can manage woocommerce for the store setup tab

* Add capabilities to pages

* Add testing instructions
2021-02-19 08:57:17 -05:00
Sam Seay 5354e4e856 Remove googlefonts/material icons. Migrate to @wordpress/icons and gridicons (https://github.com/woocommerce/woocommerce-admin/pull/6343) 2021-02-18 11:54:02 +13:00
Hsing-Yu Flowers d61cb9faf3 Change `siteUrl` to `homeUrl` on navigation site title (https://github.com/woocommerce/woocommerce-admin/pull/6240)
* Get home url

* Change siteUrl to homeUrl
2021-02-11 11:03:47 +13:00
Hsing-Yu Flowers 600c91a2cc Check current user's install plugin capability before rendering (https://github.com/woocommerce/woocommerce-admin/pull/6167)
* Use get_userdata instead REST API

* Check current user's install plugin capability before rendering

* Retrieve user data via the REST API
2021-02-03 14:19:15 -03:00
Fernando bc1f0699c2 Replaced method `woocommerce_get_page_id` with `wc_get_page_id` (https://github.com/woocommerce/woocommerce-admin/pull/6222)
This commit replaces method `woocommerce_get_page_id` with `wc_get_page_id` in Loader.php

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2021-01-29 09:44:38 -03:00
Hsing-Yu Flowers dda06be0bf Change siteUrl to shopUrl (https://github.com/woocommerce/woocommerce-admin/pull/6200)
* Add shop url

* Change siteUrl to shopUrl
2021-01-28 16:47:57 +10:00
Joshua T Flowers c98e3ca343 Disable features on tracking opt out (https://github.com/woocommerce/woocommerce-admin/pull/6075)
* Separate features into Features class

* Fix Loader references

* Move option to TOGGLE_OPTION_NAME constant

* Disable features on tracking opt out

* Remove errant classes

* Create array of beta features in Features class

* Update method names for exists and enabled

* Only load enabled features client-side
2021-01-20 19:26:40 -05:00
Ilyas Foo e8e791dc0b Fix for translation chunks not generated on plugin activation (https://github.com/woocommerce/woocommerce-admin/pull/6028)
* Fix for translation chunks not generated on plugin activation

* Add support for woocommerce_activated_plugin hook to work as embedded package

* Update readme.txt

* Make sure woocommerce/woocommerce-admin#5062 does not regress by adding checks before accessing files

* Consolidate duplicated codes
2021-01-14 13:22:12 +08:00
Joel Thiessen 1a45ae2c0d Restrict beta features to only those that have opted into tracking, adding modal for navigation feature (https://github.com/woocommerce/woocommerce-admin/pull/6054) 2021-01-13 11:43:45 -08:00
Joshua T Flowers 6d3d81abba Add feature toggle and extensibility (https://github.com/woocommerce/woocommerce-admin/pull/6007)
* Make WCA features list extensible

* Add navigation feature toggle

* Don't add features section if no features exist

* Turn off nav feature in core

* Move update text to nav feature toggle
2021-01-08 10:28:23 -05:00
Joshua T Flowers e2e1429acd Add link to update WordPress when min version not met (https://github.com/woocommerce/woocommerce-admin/pull/5881)
* Add text to update WP if min version not met

* Add disabled class if needs update
2021-01-05 08:31:14 +13:00
Paul Sealock 80f641b849 Unbundle wp.components (https://github.com/woocommerce/woocommerce-admin/pull/5753)
* enqueue wp-components

* conditional check of Navigation?

* nav version checks, first pass

* better nav checking

* bump min requirments

* min versions

* Use WP 5.6 instead of 5.6.0

* add wp.date and wp.compose

* Handle missing FlexItem

* enqueue styles

* fix date range mobile dropdown
2020-12-21 14:57:55 +13:00
Bec Scott d41a550246 Fix small issues with customer effort score package (https://github.com/woocommerce/woocommerce-admin/pull/5754)
* Add package dependencies and bump version

* don't use lodash's noop

* Use useEffect instead of changing state right in the render :-O

* Add dependencies for ces to Loader.php

* undo add dependencies for ces to Loader.php

* 🎶 found a typo

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-12-02 08:36:13 +10:00
Paul Sealock bbbc945b3e Fix wc-nav dependencies 2020-11-25 08:08:23 +13:00
Joshua T Flowers 4dde76e01c Update non-wca pages registered with nav to embed pages (https://github.com/woocommerce/woocommerce-admin/pull/5606)
Co-authored-by: Sam Seay <samueljseay@gmail.com>
2020-11-11 16:27:26 -05:00
Bec Scott 4cde62561a Copy the snackbar component from Gutenberg into wp-admin (https://github.com/woocommerce/woocommerce-admin/pull/5532)
* Copy the snackbar component from Gutenberg into wp-admin

* Copy @wordpress/data in from Gutenberg

Co-authored-by: Rebecca Scott <me@becdetat.com>
2020-11-09 17:17:08 +10:00
Joel Thiessen 8659fabca7 Updates to repair issues when using composer 2 resulting in the Navigation class not being loaded (https://github.com/woocommerce/woocommerce-admin/pull/5510)
Composer 2 utilizes stricter conventions, so this fix involved repairing the namespace for the Navigation class, and adding a mechanism to load features that are contained within subdirectories.
2020-10-30 08:46:27 -07:00
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
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
Joshua T Flowers 0809b07254 Add features section and settings (https://github.com/woocommerce/woocommerce-admin/pull/5381)
* Add features section and settings

* Force page refresh on option update
2020-10-21 13:15:36 -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
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
Sam Seay f6cd6c25c8 Ensure that the iOS smart banner is rendered on embed pages as well as wc-admin pages. (https://github.com/woocommerce/woocommerce-admin/pull/5311) 2020-10-08 19:17:11 -07:00
Joel Thiessen 23c19ee1b2 Removing breadcrumbs from wc-admin header, replacing with simple titl… (https://github.com/woocommerce/woocommerce-admin/pull/5232)
Removing breadcrumbs from wc-admin header, replacing with simple title (https://github.com/woocommerce/woocommerce-admin/pull/3963)

This is an interim step towards the integration of wc-navigation, where a back button will be provided to restore the critical functionality of the breadcrumbs. Note that the `breadcrumbs` data was preserved since it's still being utilized do construct the document title (in semi-breadcrumb-fashion) on both the backend and front-end.
2020-10-06 13:42:46 -07:00
Jeff Stieler e62114e307 Remove dynamic content hash from chunk names. (https://github.com/woocommerce/woocommerce-admin/pull/5229)
* Don't auto generate chunk names.

This should make SVN diffs much easier to navigate for WP.org deploys.

* Include script version parameter in async chunk requests.

* Add version parameter to CSS chunks.
2020-10-06 08:58:15 -04: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
Paul Sealock 4b8a03d83b add dependencies in loader (https://github.com/woocommerce/woocommerce-admin/pull/5169) 2020-09-25 12:20:21 +12:00
Jeff Stieler b531f51cad Don't include "min" suffix in build JavaScript when targeting core. (https://github.com/woocommerce/woocommerce-admin/pull/5130)
Files with "min" are ignored by GlotPress / translate.wp.org.
2020-09-15 11:36:58 -04: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
Jeff Stieler 4736c3fd27 Combine translation chunks when language packs are updated. (https://github.com/woocommerce/woocommerce-admin/pull/5094)
Removes version from filename and prevents WP_Filesystem use without successful initialization.
2020-09-07 12:46:39 -04:00
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
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
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
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
Jeff Stieler 17d79a2d67 Load chunked translation data from language packs. (https://github.com/woocommerce/woocommerce-admin/pull/4937)
* Combine all JSON translation chunks into one file.

* Use WP_Filesystem.

* Handle core WooCommerce text domain when running as a package.
2020-08-05 15:29:05 -04:00
Jeff Stieler fe1e422039 Fix PHP warning when preloading scripts on WPEngine (https://github.com/woocommerce/woocommerce-admin/pull/4856)
* Handle missing script dependencies when preloading.

* Updated terminology.
2020-07-23 15:02:31 -04:00
Fernando 88a83e4d84 Remove item "profiler" from the menu (https://github.com/woocommerce/woocommerce-admin/pull/4851)
* Lint detail solved

This commit resolves a small lint warning in the file Loader.php

* Removed "profiler" from menu

This commit removes the item "profiler" from the menu.

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2020-07-22 15:24:33 -03: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
Timmy Crawford c992b2fa7c Build: Don't Attempt to Load non-minified Assets in Core Build (https://github.com/woocommerce/woocommerce-admin/pull/4747)
* Build: Only load non-minified js assets when they are available in the build.

* Avoid multiple Loader instances.

* Fix feature filter name in test bootstrap.

* Fix feature filter used in Loader tests.

Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
2020-07-06 10:39:58 -07:00
Joshua T Flowers bfb8b68aa6 Remove navigation feature (https://github.com/woocommerce/woocommerce-admin/pull/4740) 2020-07-06 10:21:15 +03:00
Paul Sealock fea332b5b4 Change homepage to homesceen (https://github.com/woocommerce/woocommerce-admin/pull/4549) 2020-06-15 14:17:12 +12:00
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
Jeff Stieler 8a2750c973 Migrate user store to wp.data (https://github.com/woocommerce/woocommerce-admin/pull/4505)
* Initial user preferences custom hook (wc meta).

* Organize dependencies.

* Specify dependencies in useSelect() call.

* Remove specifying preference keys.

There's currently no performance benefit to be had.

* Add HoC for hydrating current user data.

* Add user prefs update method.

* Export user prefs hook and HoC in data package.

* Handle error condition when updating user preferences.

* Use closure to get user ID for prefs update.

* Refactor analytics dashboard to use new user hook.

* Refactor ReportTable component to use new user hook.

* Move prop access to top of function component.

* Add todo for potential manual resolution logic.

* Refactor DashboardCharts component to use new user preferences hook.

* Move code out of functional component where possible.

* Fix chart interval query property.

* Refactor Leaderboards component to use new user preferences hook.

* Move code out of functional component where possible.

* Refactor Inbox panel to use user prefs hook.

@todo - updating last read isn't working.

* Use user prefs hook in StatsOverview component.

* Export user preferences store name.

* Use new store for unread inbox indicator.

* Hydrate current user data higher up in the app.

* Update "last read" timestamp in inbox panel.

* Fix StatsOverview test.

* Remove unused dispatch method from StorePerformance component.

* Remove now defunct user methods from wc-api spec.

* Add tests for isRequesting.

* JSON decode WC meta on updated user object.

* Test user prefs retrieval and save.

* Remove todo comment.

* Use user prefs hook in Jetpack install CTA on homepage.
2020-06-10 11:46:46 -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
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
Jeff Stieler 4f48ae9fb7 Fix Dashboard flash before OBW chunk loads. (https://github.com/woocommerce/woocommerce-admin/pull/4259)
* Document the `woocommerce_admin_is_loading` filter.

* Prevent dashboard from being visible during ProfileWizard chunk load.

* Delay removing loading class rather than adding full screen class prematurely.
2020-05-06 06:56:23 -06:00