Commit Graph

98 Commits

Author SHA1 Message Date
Jeff Stieler 267c95e8d5 Reduce queries in Inbox Panel. (https://github.com/woocommerce/woocommerce-admin/pull/3977)
* Notes panel: only request fields needed for render.

* Avoid retrieving post meta for WC_Admin_Note objects.

It's an ID collision anyhow.
2020-04-22 10:05:11 -06:00
Paul Sealock cb4ba39e30 Dynamic Currency with Context API (https://github.com/woocommerce/woocommerce-admin/pull/4027)
* Make currency setting dynamic with context API

* reference Currency

* what is 'this'

* remove comment

* All report tables

* Customers report

* activity panel

* leaderboard test

* business details

* store details

* single source of truth

* shipping rates

* remove currency-format.js

* tidy up

* make Currency a factory function

* factory revenue table

* tables

* Chart y-axis labels

* customers table

* cleanup

* business details

* shipping

* number-format

* stock and downloads tables

* changelog

* cleanup

* SQL example: update to dynamic currencies (https://github.com/woocommerce/woocommerce-admin/pull/4033)
2020-04-03 10:54:38 +13:00
Jeff Stieler f13b9f334f Reduce queries in Orders Panel. (https://github.com/woocommerce/woocommerce-admin/pull/3969)
* Allow on-demand retrieval of order line items in REST API.

* Orders Panel: reduce response fields from orders endpoint.
2020-03-27 13:01:19 -06:00
Darren Ethier 783f613815 wp.data Settings refactor
add data store for settings using wp.data

add use-select-with-refresh example

replace fresh-data usage with new settings data store for settings page

Add data package

move to packages

Fix isDirty after save

Add isBusy to primary button when saving

update Readme

remove comment

readme to use useSelect

Revert "update Readme"

This reverts commit 7402fd49b8f384fde5878e0bee0616f0a87bb4f6.

Data Layer: Settings page to use Settings store (https://github.com/woocommerce/woocommerce-admin/pull/3430)

* Data Layer: Settings store as source of truth for settings page

This reverts commit 7402fd49b8f384fde5878e0bee0616f0a87bb4f6.

* fixup

* save on reset

* non mutable constants

* add set/getSettings

* save using setSettings

* separate HOC

* cleanup

* remove settingsToData

* withHydration

* remove withSettings HOC

* renmove useSettins for now

* withSettingsHydration updates

* Revert "withSettingsHydration updates"

This reverts commit f2adf108fbe19b574978fea5925a1a18e7ed3007.

* rename withSettingsHydration

* redo withSettingsHydration simplification

* restore

* useSettings

* render using useSettings

* handleInputChange working

* get setIsDirty working

* saving works

* reset and cleanup

* cleanup

* use snake case on hook files

* use clearIsDirty

* Avoid mutation on setting update

* remove @todo

* persiting -> isPersisting

* better reducer ternaries

* add wcSettings as arg to withSettingsHydration

reset package-lock

Settings: split out mutable wcAdminSettings (https://github.com/woocommerce/woocommerce-admin/pull/3675)

Settings: handle async settings groups (https://github.com/woocommerce/woocommerce-admin/pull/3707)
2020-03-25 16:20:17 +13:00
Paul Sealock 35462eab0d Coding standards: fix errors (https://github.com/woocommerce/woocommerce-admin/pull/3763) 2020-02-25 14:18:52 +13:00
Darren Ethier 33c5b41e3f Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674)
* align code styles with the same configuration as Woo-Blocks

* initial pass of reformat-files

* applies manual fixes to various new linting errors surfaced by the configuration change.

* Fix state mutation in image-upload

* remove unused pre-commit-hook.js

* requestAnimationFrame -> window.requestAnimationFrame

* wc-api eslint changes

* eslint fixes on client/lib and client/settings

* client/header eslint changes

* fixes for client/dashboard part 1

* fixes client/dashboard part 2 of 2

* client/analytics part 1

* client/analytics continued

* client/analytics, last batch

* rename __mock__ directory

* pass in useEffect, useState from React component or function

* remove '+' from sprintf string argument

* use ref instead of findDOMNode

* reformat and repaply package.json changes

* install deps before running linter in Travis

* useGetCountryStateAutofill

* counryStateAutofill

* countryStateAutofill

Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-02-14 15:23:21 +13:00
Jeff Stieler 8a976c28bb Add initial Activity Panel documentation. (https://github.com/woocommerce/woocommerce-admin/pull/3525)
* Add initial Activity Panel documentation.

* Fix orders panel documentation.

* Additionally remove use of "ship" in messaging - not all stores sell physical products.
2020-01-08 12:25:13 -05:00
Jeff Stieler a5c4e13fbb Show pending review regardless of comment moderation settings (https://github.com/woocommerce/woocommerce-admin/pull/3459)
* Show pending reviews regardless of comment moderation settings.

* Filter "view reviews" link to show only product review comments.
2019-12-20 13:16:48 -05:00
Jeff Stieler c2020507e3 Decouple Navigation from `wcSettings`. (https://github.com/woocommerce/woocommerce-admin/pull/3294)
* Move getAdminLink to wc-admin-settings.

* Add changelog entries.

* Look for `getAdminLink()` in @woocommerce/settings first.
2019-11-22 12:07:26 -05:00
David Levin 52cb35f4de Correcting and clarifying analytics terms and calculations (https://github.com/woocommerce/woocommerce-admin/pull/3104)
* Relabel Net Revenue to Net Sales, revert previous refund work on Gross revenue and rename to total sales. Update the orer of all the things

* Add gross sales calculation to revenue stats endpoint.

* Restore coupon_total when updating order stats.

* Wire up gross sales to revenue report.

* Fix revenue report refunds calculation when there are no refunds.

* update net sales labels and cases in order, product and category tables

* Subtract refunded shipping and taxes from gross sales.

* pluses to minuses to fix the gross revenue and refund totals when refunding

* Add gross_sales to revenue stats orderby enum.

* Change refund labels to Returns

* Remove usage of defunct coupon_total column.

* Store refunded amount in stats table.

* Rename "gross_total" column to "total_sales".

* Net total for refund orders can be used instead of a new column.

* Rename gross_revenue to total_sales.

* Coalesce coupons total in order stats query.

SUM()ing all nulls gives null, not zero.

* Use segmentation selections to backfill missing data.

Fo when report columns and segmentation columns don't match.

* Remove errant gross_sales from expected interval test data.

* Fix gross sales tests for revenue/stats.

* Move missing segment fills back to their original locations.

* Fix remaining tests failing because of gross sales.

* Fix db upgrade function rename of gross_total column.

* Fix linter errors.
2019-11-22 10:06:14 -05:00
Jeff Stieler 17514872ad Decouple currency and numbers packages from `wcSettings`. (https://github.com/woocommerce/woocommerce-admin/pull/3277)
* Remove wcSettings dependency from currency and number packages.

Either take a configuration object in function calls or in a new class constructor.

* Use new Currency class and number format methods in client/.

Compose with store settings to keep the same API.

* Don't reintroduce lodash dependency to currency package.

* Add changelog entries to currency and number packages.

* Update docs, example, and changelog for AdvancedFilters component.

* Use precision-less formatValue() for integer report values.

* Make Currency instance immutable.
2019-11-21 16:51:52 -05:00
Jeff Stieler 26f23def50 Add Inbox note action indication (https://github.com/woocommerce/woocommerce-admin/pull/3039)
* Move inbox note actions to a bespoke component.

* Set busy state on action buttons on click.

* Allow for Note actions to be deleted.

* Update FB extension note after installation is complete.

* Link actions don't get busy treatment.

* Re-fetch note actions after updating.

Get new action IDs from the database.

* Add tracking to inbox note views. (https://github.com/woocommerce/woocommerce-admin/pull/3096)

* Move inbox note content to its own component.

* Send a tracks event when inbox notes are in the viewport.

Uses react-visibility-sensor.

* Match event data to `inbox_action_click`.
2019-10-24 10:13:05 -07:00
Darren Ethier fee65dd6ac Decouple wcSettings from published packages. (https://github.com/woocommerce/woocommerce-admin/pull/3001)
* refactor wcSettings in components to use new api

* update test snapshot

* refactor wcSettings in other packages

* fix how defaults are set for setting

* decouple siteLocale from ReportsFilters and AdvancedFilters

* Decouple currency settings from packages

AdvancedFilters, ReportFilters, and NumberFilters now receive currency info as props.

* decouple currency settings from `ReportChart`

* decouple `wcAdminAssetsUrl` setting from `EmptyContent`

- also refactors to remove the need for `ImageAsset` component.

* decouple OrderStatus from wcSettings

* decouple wcAdminUrl setting from ProductImage component

- this also implements a SVG for default product image.

* remove export for image-asset that is no longer present

* remove console.log

* update test snapshots for ProductImage
2019-10-11 11:45:45 -04:00
Jeff Stieler bfba456a46 Render a "manage" link on review inbox items. (https://github.com/woocommerce/woocommerce-admin/pull/3011)
* Render a "manage" link on review inbox items.

Instead of the SplitButton with multiple actions.

* Remove review ID from tracks event data.
2019-10-10 15:31:28 -07:00
Darren Ethier f8ebc4cd6d refactor all client files to use new settings api (https://github.com/woocommerce/woocommerce-admin/pull/3002) 2019-10-07 07:51:25 -04:00
Deiva Magalhaes c72abdc233 Fix issue woocommerce/woocommerce-admin#2992 (order number in orders panel) (https://github.com/woocommerce/woocommerce-admin/pull/2994) 2019-10-03 09:49:06 +13:00
Darren Ethier d728d38219 Refactor: Alternative approach to implementing extendable settings from the server (https://github.com/woocommerce/woocommerce-admin/pull/2917)
* integrate with new asset data registration (php side)

- includes back-compatibility.

* update js configuration and implement settings alias

- this aliases `@woocommerce/wc-admin-settings` to the settings api exposed via blocks (either the blocks plugin or core) and all the settings provided via the server.
- Adds fallback for back-compat if `wc.wcSettings` is not available in the environment (fallsback to `wcSettings`).

* initial pass to update all wcSettings direct usage to the new api

- this is just an initial pass, more can be done in separate pulls.

* missed one spot for adding new filter implementation

* fix incorrect jest config

* Avoid unnecessary assignment and directly return.

* Remove unnecessary defaults

* Fix inline comment text case.

Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>

* Remove unnecessary inline comment.

* use @todo instead of TODO

Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>

* fix incorrect reference in webpack config.

* add missing import and slightly delay dependency injection for scripts

* update get-setting and set-setting callbacks

* disable lint rule for console.error on dev doc builds
2019-09-23 17:47:08 -04:00
Ron Rennick 44bf577938 display local time on note instead of UTC 2019-08-20 19:38:56 -03:00
Jeff Stieler 5a859ab919 Fix "non actionable" order query. 2019-07-18 08:09:50 -06:00
Jeff Stieler 66e321f568 Maintain query order when merging core Order data and lookup table data. 2019-07-17 09:56:59 -06:00
Jeff Stieler 705379bdbb Reduce unread orders API response fields. 2019-07-17 09:56:13 -06:00
Jeff Stieler 9bbc4fa96d Use core orders endpoint for initial orders panel query.
Side steps the lookup table to catch order status transitions immediately.
2019-07-16 15:17:38 -06:00
Daniel Rey López eef988239e Change all remaining URLs from #/style to ?path=style 2019-07-01 09:15:46 +01:00
Ron Rennick 41e6f63fa9 Merge pull request woocommerce/woocommerce-admin#2462 from woocommerce/fix/2403
open external note action links in a new tab
2019-06-27 15:40:52 -03:00
Ron Rennick 93bcd60f58 check that url is not an empty string
Co-Authored-By: Albert Juhé Lluveras <aljullu@gmail.com>
2019-06-27 09:33:46 -03:00
Albert Juhé Lluveras 808143d7c9 Remove updated stock products from Activity Panel (https://github.com/woocommerce/woocommerce-admin/pull/2442)
* Remove updated stock products from Activity Panel

* Use prefers-reduced-motion preference

* Update comparison to check if stock quantity is 'lower or equal to' lowStockAmount

* Focus quantityInput on 'beginEdit' instead of 'componentDidUpdate'

* Add comment explaining why we hide cards

* Refactor updateProductStock action

* Add type and parent_id properties to update
2019-06-27 11:21:43 +02:00
Ron Rennick 7dfc3fe240 use current window for any dashboard URL 2019-06-26 17:16:54 -03:00
Ron Rennick a05daef8d7 update URL test to wc-admin#/ 2019-06-20 10:49:25 -03:00
Ron Rennick 46ef804ae4 open external note action links in a new tab 2019-06-19 16:23:32 -03:00
Albert Juhé Lluveras 4174db4874 Allow keyboard interaction in Stock Activity Panel form (https://github.com/woocommerce/woocommerce-admin/pull/2447) 2019-06-18 17:58:10 +02:00
Albert Juhé Lluveras d65736c5f3 Remove test menu from Orders panel (https://github.com/woocommerce/woocommerce-admin/pull/2438) 2019-06-17 10:09:59 +02:00
Albert Juhé Lluveras 2d4b7b9938 Fix Activity Panel layout on mobile (https://github.com/woocommerce/woocommerce-admin/pull/2405) 2019-06-12 23:51:08 +02:00
Jeff Stieler 82edc1c8c8 Only show unactioned notes in the Inbox panel.
And hide notes once an action has been taken.
2019-05-31 10:02:25 -06:00
Jeff Stieler 5a49991cb1 Trigger a note action on button click. 2019-05-31 09:59:20 -06:00
Jeff Stieler 0d9784700c Allow note action URLs to be empty. 2019-05-24 13:05:12 -04:00
Joshua T Flowers 3382fb7011 Record refunds separate from order entries (https://github.com/woocommerce/woocommerce-admin/pull/2083)
* Sync refunds on order sync

* Separate order and refund class extensions

* Add customer functions to order and refund classes

* Change products store to work with refund amounts

* Return early for refunds in coupon data store

* Allow refund processing in tax data store

* Remove unused refund amounts from tables and data stores

* Change order counts to parse out refund entries

* Include refunded orders in default queried statuses

* Only process order number filter on shop order post types

* Extract shared order and refund methods to trait

* Fix renamed schedule_single_order_import method

* Bump PHP and WP version requirements
2019-05-10 14:39:25 +08:00
Paul Sealock e012af7add EllipsisMenu: Refactor to expose renderContent args 2019-05-06 10:56:20 +12:00
Albert Juhé Lluveras 1c67b40d76 Scroll to top of the table when navigating table pages (https://github.com/woocommerce/woocommerce-admin/pull/2051)
* Scroll to top of the table when navigating table pages

* Cleanup

* Avoid using scroll-padding-top

* Add space between the table top and the scroll point

* Only call  if the page is different

* Move focus to the top of the table when switching pages

* Use CSS variables in the Activity Panel and breadcrumbs CSS (https://github.com/woocommerce/woocommerce-admin/pull/2096)

* Use CSS variables in the Activity Panel and breadcrumbs CSS

* Cleanup

* Focus on table element when navigating pages
2019-04-30 11:43:55 +02:00
Albert Juhé Lluveras 40b47c3a18 Add empty state for the Reviews panels (https://github.com/woocommerce/woocommerce-admin/pull/2124)
* Add message to empty Reviews panel in the Activity Panel

* Add other reviews unread messages

* Cleanup

* Open external links in new tabs

* Avoid doing unnecessary API calls

* Remove 'activity_panel_reviews_last_read'
2019-04-30 11:40:10 +02:00
Albert Juhé Lluveras b134853e83 Add empty state in Stock panel (https://github.com/woocommerce/woocommerce-admin/pull/2049)
* Add empty state in Stock panel

* Add isRequesting in the title check
2019-04-15 09:35:22 +02:00
Albert Juhé Lluveras b4c3998e7e Add empty states for the Inbox and Orders panels (https://github.com/woocommerce/woocommerce-admin/pull/2037)
* Add empty states for the Inbox and Orders panels

* Typos

* Apply PR feedback
2019-04-15 09:06:34 +02:00
Jeff Stieler ef0fd73f2c Merge pull request woocommerce/woocommerce-admin#1998 from woocommerce/add/247-stock-panel
Hook up Stock panel
2019-04-12 09:19:21 -06:00
Albert Juhé Lluveras 164bae3075 Fix product link in stock panel.
Thanks @Aljullu

Co-Authored-By: jeffstieler <jeff.m.stieler@gmail.com>
2019-04-12 08:15:58 -06:00
Albert Juhé Lluveras f4c487dcd5 Fix wrong dates in Reviews and Orders panels of the Activity Panel (https://github.com/woocommerce/woocommerce-admin/pull/2013)
* Fix wrong dates in Reviews and Orders panels of the Activity Panel

* Avoid using long boolean checks in unread-indicators
2019-04-09 09:50:00 +02:00
Jeff Stieler e2f163c2f2 Fix stock quantity input on change. 2019-04-05 14:31:20 -06:00
Jeff Stieler a36788dfb4 Fix stock panel product link for variations. 2019-04-04 11:11:48 -06:00
Jeff Stieler c3ef41fc12 Focus quantity input when entering edit mode.
Makes the keyboard-first and screen reader experience much better.
2019-04-03 18:05:19 -06:00
Jeff Stieler 6c5f8e5e38 Show variation attribute options in stock panel. 2019-04-02 11:37:50 -06:00
Jeff Stieler f4691827b1 Include item ID in product update resource name.
Keep state in sync when updating product stock quantity.
2019-04-01 17:38:36 -06:00
Jeff Stieler 5d09ceb272 Hook stock panel up to real data. 2019-04-01 17:38:34 -06:00