Commit Graph

140 Commits

Author SHA1 Message Date
Fernando a90e9de61a OBW - Add number of employees field (https://github.com/woocommerce/woocommerce-admin/pull/7963)
* Add number of employees field

* Fix "reduce - spread" anti-pattern

This commit fixes the "reduce - spread" anti-pattern https://www.richsnapp.com/article/2019/06-09-reduce-spread-anti-pattern

* Add changelog

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2021-11-29 16:00:38 -04:00
Ilyas Foo 82f4120208 Fix race condition in data package's options module (https://github.com/woocommerce/woocommerce-admin/pull/7947)
* Fix race condition on data package's options module.

* Update changelog
2021-11-18 12:52:43 +08:00
Joshua T Flowers 8ff08ea0c9 Use abstraction to add and retrieve task data (https://github.com/woocommerce/woocommerce-admin/pull/7918)
* Add class check to added tasks

* Make Task class asbtract

* Update tasks to use abstraction

* Update task property calls to methods and add extended class

* Fix up task tests

* Reorder script enqueing to check less expensive operations first

* Fix up dismissable and snoozeable checks

* Fix up typos

* Load default task classes on init

* Handle PR feedback

* Fix extended tasks not showing

* Update is_visible to can_view in deprecated tasks

* Use TestTask class for unit tests

* Add changelog entry

* Fix up API tests

* Update ExtendedClass name to DeprecatedExtendedClass

* Fix up rebase
2021-11-16 08:59:55 -05:00
louwie17 dc03c6fbb5 Update payment method suggestion endpoint (https://github.com/woocommerce/woocommerce-admin/pull/7913)
* Initial refactor

* Update payment recommendations to use new endpoint data

* Make sure to run specs

* Fix test

* Delete old PaymentPlugins class

* Update url to point to woocommerce.com

* Remove unused displayable prop

* Move option name

* Fix js tests

* Add changelog
2021-11-16 09:57:23 -04:00
Joshua T Flowers 126707eeab Replace old task list option calls with data store selectors (https://github.com/woocommerce/woocommerce-admin/pull/7820)
* Add endpoint to unhide task list

* Rename show method to unhide

* Replace requests for hidden task list options

* Replace unhide task list requests

* Replace task list complete checks

* Replace dismiss option requests

* Remove complete task option check

* Fix up panel buttons

* Update finished setup to wait for task list resolution

* Create selector for getting a single task list

* Add selector for single task

* Fix task list panel visibility

* Add changelog entry

* Fix empty product types in profiler data

* Revert to checking for hidden task list
2021-11-15 15:57:13 -05:00
Joshua T Flowers 7d464a514c Remove task status endpoint (https://github.com/woocommerce/woocommerce-admin/pull/7841)
* Add extra status properties to tasks

* Convert extra properties to camelcase

* Replace task status usage in client

* Remove task status data store

* Remove task status endpoint

* Remove remaining task status references

* Add has products to appearance task data

* Handle PR feedback

* Fix up additional data for Avalara task

* Add changelog entry
2021-11-09 07:42:33 -05:00
Ilyas Foo e73a4cd2ea Add console warning on Inbox notes character limit (https://github.com/woocommerce/woocommerce-admin/pull/7869)
* Add initial console warning

* Update warning to include permalink to post

* Fix formatting for multiple notes

* Changelog

* Add dompurify

* Add translation
2021-10-29 18:15:42 +08:00
Fernando f20113fa01 Add country validation to subscription inclusion (https://github.com/woocommerce/woocommerce-admin/pull/7777)
* Add country validation

* Add OnboardingProductTypes

* Add OnboardingProductTypes

* Add country validation to product task

* Add `productTypes` data handling

* Add country validation and new productTypes handling

* Fix to get `productTypes` from a SSOT

* Add `invalidateResolution` for `getTaskLists`

* Fixed testing instructions

* Fix `isTaskListHidden` issue

* Fixed product type

* Added constant `EMPTY_ARRAY` to `selectors.ts`

* Fixed constant `EMPTY_ARRAY`

* Moved `invalidateResolutionForStoreSelector` into OBW

* Updated testing instructions

* Updated testing instructions

* Fixed testing instructions

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2021-10-13 13:15:47 -03:00
louwie17 beb05ae487 Move some of the deprecated tasks stuff outside of the main components (https://github.com/woocommerce/woocommerce-admin/pull/7761)
* Move some of the deprecated tasks stuff outside of the main components

* Do not add data to request when no depreciated tasks

* Move possiblePruneTaskData function to the deprecated-tasks class
2021-10-12 11:05:43 -03:00
louwie17 6852ec0571 Make sure the depreciated onClick is triggered and container is used (https://github.com/woocommerce/woocommerce-admin/pull/7749)
* Make sure the depreciated onClick is triggered and container is used

* Fix the extended tasks condition

* Add sort by support for task list

* Revert extension example changes back

* Move sorting tasks to the API and add asc/desc support

* Revert extension example changes

* Update sort function naming
2021-10-06 15:47:41 -03:00
louwie17 3bda07aec3 Add status param support for dismissing all notes (https://github.com/woocommerce/woocommerce-admin/pull/7743)
* Add status param support for dismissing all notes

* Add changelog

* Add unit test for new arg in /delete/all endpoint
2021-10-05 15:37:52 -03:00
Joshua T Flowers 0b8596f53c Remove tasks feature flag and old components (https://github.com/woocommerce/woocommerce-admin/pull/7736)
* Remove feature flag

* Remove unused task status items

* Remove old task list components

* Remove more unused task status items

* Move completion checking to TaskList class

* Move completion checking to Task class

* Add changelog entry

* Fix up old task-list component references

* Remove flag around slotfill area

* Add back missing task stylesheet

* Move task specific styles to respective fills

* Add PR number to changelog entry
2021-10-05 14:20:28 -04:00
Joshua T Flowers 93b42ad9ef Add an endpoint and method for actioning tasks (https://github.com/woocommerce/woocommerce-admin/pull/7746)
* Add checks for actioned task status

* Update completion logic for task

* Add rest route for actioning tasks

* Add action in data store for actioning tasks

* Add test for actioning task

* Only prune isActioned from task data
2021-10-05 13:07:50 -04:00
Joel Thiessen 1d00a09ec3 Add show/hide behavior for task list API (https://github.com/woocommerce/woocommerce-admin/pull/7733)
Co-authored-by: Joshua Flowers <joshuatf@gmail.com>
2021-10-04 10:02:01 -07:00
Joshua T Flowers d3d2acdd25 Add optimistic task completion and cache invalidation (https://github.com/woocommerce/woocommerce-admin/pull/7722)
* Add action to optimistically complete task

* Optimistically mark shipping task complete

* Invalidate cache on task completion

* Add complete tax task handler

* Add completion handlers to remaining tasks
2021-10-01 15:53:22 -04:00
louwie17 5c9bf5d925 Add extended task list support to the new REST api task lists (https://github.com/woocommerce/woocommerce-admin/pull/7730)
* Add extended task list support to the new REST api task lists

* Some small refactors

* Small refactors from PR review

* Create extended tasks on the fly if added on the client

* Remove unneeded change

* Add level and additionalInfo support, also adding it to the WooCommerce Payments task

* Fix a mis-type in a comment
2021-10-01 15:46:23 -03:00
Joshua T Flowers a2f78f156b Migrate tasks to task API (https://github.com/woocommerce/woocommerce-admin/pull/7699)
* Move purchase task

* Move products task

* Move WC Pay task

* Fix property casing

* Move payments task

* Move tax task

* Migrate shipping task

* Move marketing task

* Migrate appearance task

* Remove deprecated task filters

* Move logic to respective model

* Fix task list methods

* Update visibility to can_view property

* Add default tasks on demand

* Handle PR feedback
2021-09-27 16:55:55 -04:00
louwie17 114069a06e Add old option back with depreciated notice for backwards compatibility (https://github.com/woocommerce/woocommerce-admin/pull/7688)
* Add old option back with depreciated notice for backwards compatibility

* Add changelog

* Update depreciation message
2021-09-23 16:14:45 -03:00
Ilyas Foo 2be141bd16 Fixes for analytics bugs introduced in 2.6 (https://github.com/woocommerce/woocommerce-admin/pull/7682)
* Return early when categories is not ready

* Revert "Fix blank screen on analytics categories when searching (https://github.com/woocommerce/woocommerce-admin/pull/7482)"

This reverts commit f696474e97.

* Revert "Increase per_page value for search results on the Analytics pages. (https://github.com/woocommerce/woocommerce-admin/pull/7385)"

This reverts commit 8045c92b96.

* Add back working changes

* Add changelog
2021-09-20 12:29:26 -07:00
Joshua T Flowers fb85e6b7d9 Add hide task list endpoint and data actions (https://github.com/woocommerce/woocommerce-admin/pull/7578)
* Add task list hide endpoint and data store actions

* Fix requesting properties for hide task list request
2021-09-20 12:55:33 -04:00
louwie17 7f38f6fd0a Feature/7319 add woocommerce com data (https://github.com/woocommerce/woocommerce-admin/pull/7553)
* Add woocommerce.com data source poller

* Change data source back to .com

* Fix namespace

* Make use of the sub_title prop to display payment cards

* Fix some styling issue and add TS types

* Rename admin script to keep it more generic

* Add br tag as allowed, and update expected data format

* Update styling

* Address PR feedback
2021-09-09 09:25:13 -03:00
louwie17 e6cf391141 Make sure batch fetch resolved data remains consistent (https://github.com/woocommerce/woocommerce-admin/pull/7587)
* Adjust batch fetch logic so data stays the same

* Fix receive options action call

* Resolve returned result

* Add missing await
2021-09-08 09:37:44 -03:00
Joshua T Flowers 6300e8aacd Add task list components to consume task list REST API (https://github.com/woocommerce/woocommerce-admin/pull/7556)
* Add initial task list render

* Add task list item render

* Separate task list menu component

* Fix click handling for tasks

* Add task started count data

* Scroll to top after selecting task

* Handle PR feedback

* Handle PR feedback round 2
2021-09-01 17:28:24 -04:00
Adrian Duffell 2ce0cd9519 Update email pre-fill endpoint to be experimental (https://github.com/woocommerce/woocommerce-admin/pull/7602) 2021-08-31 16:38:21 +08:00
Adrian Duffell 6d23ab7ea1 Add newsletter signup to profiler (https://github.com/woocommerce/woocommerce-admin/pull/7601)
* Add email address field to store details step in OBW (https://github.com/woocommerce/woocommerce-admin/pull/7552)

* Subscribe store_email to MailChimp (https://github.com/woocommerce/woocommerce-admin/pull/7579)

* Add prefill for email field in OBW (https://github.com/woocommerce/woocommerce-admin/pull/7570)

* Add error handling for email validation errors from backend (https://github.com/woocommerce/woocommerce-admin/pull/7590)

* Remove OnboardingEmailMarketing note class (https://github.com/woocommerce/woocommerce-admin/pull/7595)

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
Co-authored-by: Moon <moon.kyong@automattic.com>
2021-08-31 12:39:04 +08:00
Joshua T Flowers 32e8f90c47 Add task selectors and actions to onboarding data store (https://github.com/woocommerce/woocommerce-admin/pull/7545)
* Add selector for task lists

* Add snooze task actions

* Add dismiss task actions

* Create utility function to update task in task list

* Add undo endpoints

* Add task lists to default onboarding state

* Add undo function reducer cases

* Handle PR feedback
2021-08-25 21:42:26 -04:00
Jeff Stieler d3e940208e Refactor package style builds (https://github.com/woocommerce/woocommerce-admin/pull/7531)
* Build experimental package CSS with webpack.

* Move style-only webpack config to reusable private package.

* Update other packages to use webpack for style builds.

* Add tsbuildinfo to clean scripts.

* Fix main start script.

* Remove defunct package build scripts.

* Move client/ dependencies for style builds.

* DRY.

* Remove defunct IE stylesheet definitions.

* Add missing RTL setup for onboarding styles.

* No need to export a function.

* Add changelog.

* Fix README.

* Revert concurrently script path change.
2021-08-19 10:15:59 -04:00
Joshua T Flowers f34b234711 Add super admin check to preloaded user data (https://github.com/woocommerce/woocommerce-admin/pull/7489)
* Add super admin check to preloaded user data

* Add the current user data via filter instead of manually

* Add changelog entry
2021-08-09 17:37:24 -03:00
Joshua T Flowers 16e7c8cd55 Add free extensions data store (https://github.com/woocommerce/woocommerce-admin/pull/7420)
* Add free extensions to onboarding data store

* Hook up extensions list to onboarding data store
2021-08-02 17:12:29 -04:00
Joshua T Flowers 7167242dfb Add marketing extensions task to task list (https://github.com/woocommerce/woocommerce-admin/pull/7383)
* Add initial plugin list components and marketing task

* Add marketing task styles

* Fix action button alignment

* Only allow specific plugin lists

* Add button to activate already installed plugins

* Record event when marketing plugin is installed

* Update plugin list when plugins are installed or activated

* Disable and set buttons as busy when installing/activating

* Update data source to use v2 controller

* Add changelog entry
2021-07-29 12:10:53 -04:00
Moon 8045c92b96 Increase per_page value for search results on the Analytics pages. (https://github.com/woocommerce/woocommerce-admin/pull/7385)
* Accept additional query options

* Set search result per_page to 100

* Add changelog

* Remove unnecessary spread
2021-07-27 13:11:32 -07:00
Joel Thiessen 31804aeba3 Refactoring report table withSelect to fix issues with the table data populating correctly (https://github.com/woocommerce/woocommerce-admin/pull/7355) 2021-07-26 12:11:44 -07:00
louwie17 5140106c39 Fix orders panel loading (https://github.com/woocommerce/woocommerce-admin/pull/7395)
* Using order items endpoint instead of reports and added customer and products support

* Add total_formatted key

* Converted component to functional component and memoized getItems function

* Using orders meta table instead of reports product_lookup table

* Add changelog entry
2021-07-23 09:47:23 -03:00
Jeff Stieler 8e61f55017 Allow packages to be built in isolation. (https://github.com/woocommerce/woocommerce-admin/pull/7286)
* Use yarn instead of npm.

In prep for workspaces, since we're locked to npm < 7. See: https://github.com/woocommerce/woocommerce-admin/pull/7126#issue-661287749

* Initial workspace creation.

* Add initial tsc build to @woocommerce/number.

* Attempt to build experimental package.

* Try currency package.

* Define all packages as workspaces.

* Use tsconfig common to packages.

* Fix currency package build.

* Build csv-export with tsc.

* Try to build customer-effort-score with tsc.

* Fix JSX pragma.

* Build data package with tsc.

* Build date package with tsc.

* Build experimental package with tsc.

* Try to build explat package with tsc.

* Build navigation package with tsc.

* Build notices package with tsc.

* Build onboarding package with tsc.

* Build components package with tsc.

* Swap in package JS build into main script.

* Fix experimental package build.

* Try per-package css build with components.

* Try to run components package tests in isolation.

Broken on JSX in test files not being transformed.

* Move @woocommerce/wc-admin-settings into a package.

* Try to fix components package tests.

Fails because we aren't setting up the jest/jest-dom globals.

* Move JS test code to reusable (private) package.

* Enable incremental TS builds.

* Use workspaces to run JS tests.

* Use new jest configs for update snapshot scripts.

* Fix style builds.

* Fix package version in components.

* Fix client test debug and watch scripts.

* Update yarn lock.

* Update test-staged behavior.

* Try to fix storybook.

* Fix storybook.

* Update more npm commands to yarn.

* Add changelog.

* Fix lint errors.

* Update packages readme script references.

* Clean up unused gitignore match.

* Fix another npm command.

* Fix JS builds on watch.

* Fix start script.

* Fix start scripts for packages.

* Use tsc to build packages before tests

* yarn -> npm.

# Conflicts:
#	package-lock.json
#	package.json

* Fix linter error.

* Remove workspace definitions.

* Fix missing Fragment import.

* Fix package lock.

* Fix missing reference.

* Only build commonjs module for js-tests helper.

* Remove errant dependency from components.

* Remove noop scripts.

* Fix package JS build before testing.

* Revert noisy formatting changes.

* Fix precommit and test scripts.

* Fix minimum expected recommended extension count.

Japan test case breaks this.

* Revert babel config changes.

* chore(release): publish

 - @woocommerce/components@7.2.0
 - @woocommerce/csv-export@1.4.0
 - @woocommerce/currency@3.2.0
 - @woocommerce/customer-effort-score@1.1.0
 - @woocommerce/data@1.4.0
 - @woocommerce/date@3.1.0
 - @woocommerce/dependency-extraction-webpack-plugin@1.7.0
 - @woocommerce/eslint-plugin@1.3.0
 - @woocommerce/experimental@1.5.0
 - @woocommerce/explat@1.1.0
 - @woocommerce/js-tests@1.1.0
 - @woocommerce/navigation@6.1.0
 - @woocommerce/notices@3.1.0
 - @woocommerce/number@2.2.0
 - @woocommerce/onboarding@1.1.0
 - @woocommerce/tracks@1.1.0
 - @woocommerce/wc-admin-settings@1.1.0

* Add script for running 'start' in a package.

* Remove yarn from gitignore.

* Update package changelogs, prep versions for release.

* Try to fix E2E tests after main merge.

* Some cleanup.

* Add changelog.

Co-authored-by: Paul Sealock <psealock@gmail.com>
2021-07-14 16:38:57 -04:00
Ron Rennick 4af5eef27b Create E2E package (https://github.com/woocommerce/woocommerce-admin/pull/7084)
* bump E2E package versions to latest

* first pass on E2E test package.json

* move e2e specs to admin-e2e-tests

* add global types, reimplement tests/e2e/specs

* use consistent build dir with other packages

* add documentation, improve test:e2e script

* fix linting issues in admin-e2e-tests

* fix more linting issues

* disable lint on requires

* use e2e in the E2E container names

* move analytics overview test to package

* change extension on analytics-overview test file

* fix linting issues in e2e analytics overview

* remove package scripts from e2e package

* change test specs extensions to .tsx

* remove import from analytics overview test spec

* add .tsx to e2e test spec file extension list

* update e2e business features count expected
2021-07-13 16:38:05 -03:00
louwie17 b4cb82b9cb Update changelog and increase version for components, data, and experimental packages (https://github.com/woocommerce/woocommerce-admin/pull/7311) 2021-07-08 13:30:11 -03:00
Sam Seay d9daed0a4f Update the wordpress/babel-preset to avoid crashes in WP5.8 beta2 (https://github.com/woocommerce/woocommerce-admin/pull/7202)
* Update the wordpress/babel-preset to avoid crashes in WP5.8 beta2

* Also update other dependencies dropping IE11 support.

* Update data dep in data package.

* Add back regen runtime.

* Add regenerator-runtime dependency for setting up jest tests

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2021-06-18 13:13:17 +08:00
louwie17 18479c66e5 Add fallback for the select/dispatch data-controls for older WP versions (https://github.com/woocommerce/woocommerce-admin/pull/7204)
* Add fallback for the select/dispatch data-controls for older WP versions

* Also update dispatch in payment-gateways and rename oldDispatch to depreciatedDispatch

* Add comments
2021-06-18 11:31:37 +08:00
louwie17 f43a00ab65 Update error messages for plugin activation and installation (https://github.com/woocommerce/woocommerce-admin/pull/7164)
* Update error messages for plugin activation and installation

* Add changelog and remove unnecessary change

* Fix lint errors
2021-06-14 14:21:04 -03:00
louwie17 8a0131bd09 Add core-data dependency to data package (https://github.com/woocommerce/woocommerce-admin/pull/7157) 2021-06-11 09:03:42 -03:00
louwie17 992951f3ef Bump package versions for release (https://github.com/woocommerce/woocommerce-admin/pull/7106)
* Bump package versions for release

* Update start plugin dependency version

* Add changelog to components and onboarding package
2021-06-09 18:01:07 -03:00
Joshua T Flowers a2fa141bcb Update payment gateway suggestions semantics to be more consistent (https://github.com/woocommerce/woocommerce-admin/pull/7130)
* Rename and simplify frontend component names

* Rename feature flag and feature folder

* Rename transients and filters

* Rename SlotFills

* Fix feature name comment

* Update variable naming in payment suggestions

* Update WCPay Button component

* Rename suggestion key to id

* Rename recommended to recommendation

* Add changelog entry

* Update isConfigured to needsSetup

* Fix key id reference in WCPayMethodCard

* Update onboarding component filenames and exports

* Fix typo

* Add changelog entry

* Fix up remaining references to keys/ids
2021-06-08 13:40:57 -04:00
Joshua T Flowers 09840c9239 Optimize payment gateway resolution (https://github.com/woocommerce/woocommerce-admin/pull/7124)
* Pass down installed payment gateways instead of refetching

* Resolve individual gateways after resolving all gateways

* Add changelog entry
2021-06-07 15:04:19 -04:00
Tomek Wytrębowicz ca70d90bf7 Add `md5` for `/data` dependencies. (https://github.com/woocommerce/woocommerce-admin/pull/7087)
It was used, but not stated in `package.json`.

Fixes woocommerce/woocommerce-admin#7086.
2021-05-31 17:29:45 +02:00
Joshua T Flowers dc175824c9 Hook up payments gateway data store (https://github.com/woocommerce/woocommerce-admin/pull/7038)
* Hook up payment gateway data store

* Fix deprecated onSubmitCallback in dynamic form

* Throw catchable errors in data store

* Provide a way to get errors from the data store

* Hook up payment connection update with data store

* Remove redundant requesting state on selectors

* Add changelog entry

* Handle PR feedback

* Fix linting errors
2021-05-26 14:31:30 -04:00
louwie17 b3c6d25daa Fix deprecated warnings from `select` control in `@wordpress/data-controls` (https://github.com/woocommerce/woocommerce-admin/pull/7007)
* Made use of the wordpress/data controls instead of depreciated data-controls package

* Fix test and add changelog

* Remove space
2021-05-25 12:14:31 -03:00
Moon 9613c04d31 Add a new store to interact with WC Payments REST APIs (https://github.com/woocommerce/woocommerce-admin/pull/6918)
* Add a new store to interact with WC Payments REST APIs

* Convert to Typescript

* Refactor payments store

* Fixed type on GET_PAYMENT_GATEWAYS_SUCCESS action name

* Added SettingDefinition

* Added PaymentSelectors type

* Updated Array<type> to string[]

* Update action name in test

* Move stub.ts out of test directory

* Set type for the test stub and change order type to number | ""

* Rename action type name

* Add changelog

* Follow _REQUEST _SUCCESS _ERROR action naming

* Add a new action and reducer for getPaymentGateway

* Change store key

* Move to packages/data

* Export store name
2021-05-24 13:29:44 -04:00
Jeff Stieler 5e51901e6a Update package versions for publishing. (https://github.com/woocommerce/woocommerce-admin/pull/6985) 2021-05-13 09:42:04 -06:00
Mik 820bf30e29 Replace marketing extension - Google Listings and Ads (https://github.com/woocommerce/woocommerce-admin/pull/6939)
* Replace google icon

* Remove note for Google Ads extension

* Replace extension in API OnboardingProfile

* Record event for new extension

* Replace extension in onboarding flow

* Replace extension benefits

* Change background colour of Google icon

* Fix svg warnings

* Add changelog entry

* Fix prettier error

* Add old note to obsolete list for removal
2021-05-10 10:56:47 +01:00
Ilyas Foo de9cfb210d Try add payment method selector to onboarding store (https://github.com/woocommerce/woocommerce-admin/pull/6921)
* Added payment method to onboarding data store

* Add reducer test

* Address feedback on reducer naming convention, isResolving, enabledMethods

* Move out types to live in its own island

* Add a comment to remind ourselves for utilizing payments data store for enabled payment gateways

* Update changelog
2021-05-07 18:06:35 +08:00