Commit Graph

1576 Commits

Author SHA1 Message Date
Paul Sealock 258c298e91 400 2019-01-22 13:11:06 +13:00
Paul Sealock 0e01c98851 Reports: Reduce Margins on Small Viewports 2019-01-22 12:29:32 +13:00
Paul Sealock a52fab85de Merge pull request woocommerce/woocommerce-admin#1332 from woocommerce/fix/summary-number-close-on-mobile
SummaryNumbers: close on click for mobile
2019-01-22 12:09:07 +13:00
Paul Sealock 35b3579632 Orders Report: Point table links to wc-admin reports with persisted query 2019-01-22 11:32:33 +13:00
Paul Sealock c7b705fb08 SummaryNumbers: close on click for mobile 2019-01-22 11:31:37 +13:00
Paul Sealock d09c68660b Merge pull request woocommerce/woocommerce-admin#1328 from woocommerce/fix/Filters-only-complete-ranges
Advanced Filters: Ranges: Allow update only on complete selection
2019-01-22 11:21:10 +13:00
Justin Shreve fdddca1186 Merge pull request woocommerce/woocommerce-admin#1366 from woocommerce/fix/schema-typo
Fix performance-indicators/allowed schema.
2019-01-21 15:54:15 -05:00
Albert Juhé Lluveras 834901bc84 Fill full plot area in bar charts (https://github.com/woocommerce/woocommerce-admin/pull/1365)
* Fill full plot area in bar charts

* Refactor chart scales tests
2019-01-21 20:58:38 +01:00
Albert Juhé Lluveras f2ac9f2bb2 Center points in single-date charts (https://github.com/woocommerce/woocommerce-admin/pull/1360)
* Center single point charts

* Don't render lines if there is only one date

* Remove xOffset from 'params'

* Improve variable naming
2019-01-21 20:30:21 +01:00
Albert Juhé Lluveras 37d6fa0b60 CSS Lint fixes (https://github.com/woocommerce/woocommerce-admin/pull/1367) 2019-01-21 19:09:16 +01:00
Justin Shreve 1f8caf106e Fix performance-indicators/allowed schema. 2019-01-21 12:28:32 -05:00
Joshua T Flowers 3ac97e00c4 Add single category filter to products report (https://github.com/woocommerce/woocommerce-admin/pull/1350)
* Add namespace v4 for WC product/categories endpoint

* Update categories wc-api to use v4 namespace constant

* Add single product category filter to product categories report

* Add link to filtered product report from category report

* Use persistedQuery for category links

* Check if category is defined before displaying category link

* Remove selectedTags when filter does not match queried filter
2019-01-22 01:12:00 +08:00
Joshua T Flowers 4869401ec4 REST API: Allow sorting by stock_status in stocks endpoint (https://github.com/woocommerce/woocommerce-admin/pull/1335)
* REST API: Allow sorting by stock_status in stocks endpoint

* Set stock_status as default orderby

* Sort by both stock status and quantity in meta query

* Use stock_status sort order by default in Stock table (https://github.com/woocommerce/woocommerce-admin/pull/1340)

* Reverse stock quantity order when sorting by stock status
2019-01-22 01:11:20 +08:00
Jeff Stieler 4a6f2652b6 Hook customers report table summary up to stats endpoint. 2019-01-21 08:46:21 -07:00
Paul Sealock 7856a58b49 Advanced Filters: Ranges: Allow update only on complete selection 2019-01-21 09:54:31 +13:00
Albert Juhé Lluveras c9df5861a8 Remove leading zero from chart dates (https://github.com/woocommerce/woocommerce-admin/pull/1353) 2019-01-19 12:38:17 +01:00
Jeff Stieler 07cbaae2a5 Add customers report stats endpoint. 2019-01-18 20:29:50 -07:00
Justin Shreve 2f60837ba5 Add performance indicators to dashboard (https://github.com/woocommerce/woocommerce-admin/pull/1343)
* Add label and generated report URL to the performance indicator response.

* Hook up performance indicators to the REST API

* Handle PR feedback

* Fix setting default values
2019-01-18 14:22:11 -05:00
Justin Shreve 286f5a7ae1 Update list of allowed stats 2019-01-18 15:11:38 -05:00
Justin Shreve 7c418a4a45 Add v4 of the data/countries filter so that the country autocompleter work and a notice goes away. (https://github.com/woocommerce/woocommerce-admin/pull/1354) 2019-01-18 14:17:12 -05:00
Justin Shreve b8d25c3073 Fix setting default values 2019-01-18 12:11:49 -05:00
Peter Fabian f2634ca5c8 Added support for segmenting to coupons/stats. 2019-01-18 17:11:46 +01:00
Justin Shreve bd54541ca0 Handle PR feedback 2019-01-18 08:52:10 -05:00
Justin Shreve 01b96ebea5 Hook up performance indicators to the REST API 2019-01-18 08:19:19 -05:00
Justin Shreve 96fc10747f Add label and generated report URL to the performance indicator response. 2019-01-18 08:16:52 -05:00
Peter Fabian e8f264c346 Moved common code to parent class. 2019-01-18 14:08:34 +01:00
Peter Fabian ea2f5ca5d9 Fixed number of parameters for product lookup update. 2019-01-18 13:07:19 +01:00
Peter Fabian caea199852 Updated revenue/stats REST controller to include segmentation options/fields. 2019-01-18 13:06:40 +01:00
Peter Fabian 128f52fdc8 Restrict products/stats only to supported segmentby options. 2019-01-18 12:28:12 +01:00
Joshua T Flowers 25e7192ecb Move search icon inside input wrapper (https://github.com/woocommerce/woocommerce-admin/pull/1351) 2019-01-18 18:51:47 +08:00
Peter Fabian 1d79714295 Added segmenting to products/stats. 2019-01-18 11:41:15 +01:00
Joshua T Flowers fb8c4dd92f Add single category filter to categories report (https://github.com/woocommerce/woocommerce-admin/pull/1336)
* Add single category filter to categories report

* Change categories leaderboard link to signle category link

* Remove todo comment regarding the single_category filter

* Update category links to categories report in products table
2019-01-18 15:46:12 +08:00
Joshua T Flowers e0853b5408 Add country code as keyword for countries search (https://github.com/woocommerce/woocommerce-admin/pull/1337)
* Add country name to tooltip and screen reader text

* Add country code to autocompleter keywords
2019-01-18 11:13:07 +08:00
Joshua T Flowers 6b29ec01a7 Add autocompleter input type and fix load options (https://github.com/woocommerce/woocommerce-admin/pull/1334)
* Allow inputType option for autocompleters

* Return early if optionsData is undefined in loadOptions

* Remove number spinners for autocomplete number inputs
2019-01-18 10:53:38 +08:00
Joshua T Flowers 7cdbbf87e8 Update all wc-admin endpoints to v4 (https://github.com/woocommerce/woocommerce-admin/pull/1298)
* Update all wc-admin endpoints to v4

* Add namespace for products and customers controllers

* Include product quantity in orders data store

* Add coupons to extended data in the orders data store

* Format order statuses response from database

* Hook up orders table to orders endpoint

* Add namespace to data endpoint controller

* Add namespaces to remaining extended controllers

* Use NAMESPACE var in place of wc/v4

* Update product links in orders table to products reports

* Add coupons rest controller override

* Format coupon code in response

Co-Authored-By: joshuatf <joshuatf@gmail.com>
2019-01-18 10:52:58 +08:00
Joshua T Flowers 11ddae699a Add helpText to coupon compare button (https://github.com/woocommerce/woocommerce-admin/pull/1333) 2019-01-18 10:22:51 +08:00
Jeff Stieler 4407e05bc4 Merge pull request woocommerce/woocommerce-admin#1342 from woocommerce/fix/1090-currency-settings-formatting
Honor WooCommerce Settings When Formatting Currency/Price
2019-01-17 17:06:13 -07:00
Jeff Stieler ec2efaf560 Update affected package CHANGELOGs. 2019-01-17 16:38:43 -07:00
Jeff Stieler 560606df17 Update comment about formatCurrency() currency symbol parameter fallback logic. 2019-01-17 16:30:27 -07:00
Jeff Stieler 4fabbee20f numberFormat(): add test for new non-number precision value logic. 2019-01-17 16:28:00 -07:00
Jeff Stieler 2ad5922f1f Simplify precision preservation logic in numberFormat().
Props @Aljullu.
2019-01-17 16:25:44 -07:00
Albert Juhé Lluveras 059cd0ef0d Set default order to 'desc' in time tables (https://github.com/woocommerce/woocommerce-admin/pull/1341) 2019-01-17 22:14:12 +01:00
Albert Juhé Lluveras 5dcea1af6f Remove wc-api customers (https://github.com/woocommerce/woocommerce-admin/pull/1338) 2019-01-17 19:07:21 +01:00
Paul Sealock 836cccafb8 Merge pull request woocommerce/woocommerce-admin#1327 from woocommerce/fix/filter-width-wide-screens
Filters: make 1/4 width for wiiiiiiide screens
2019-01-18 07:01:17 +13:00
Paul Sealock 3ba676ac57 Merge pull request woocommerce/woocommerce-admin#1305 from woocommerce/fix/date-query-formats
Advanced Filters: append time stamp to dates for API query
2019-01-18 07:00:40 +13:00
Timmy Crawford 508c48042c chore(release): publish (https://github.com/woocommerce/woocommerce-admin/pull/1326)
- @woocommerce/components@1.4.0
 - @woocommerce/csv-export@1.0.2
 - @woocommerce/date@1.0.5
2019-01-17 09:11:49 -08:00
Jeff Stieler 7a0243e6d7 Use store currency settings to initialize D3 format. 2019-01-17 10:08:15 -07:00
Jeff Stieler 25e81de952 Decode HTML entities in currency symbol and price format for use on the frontend.
The only alternative is to `dangerouslySetInnerHTML` everywhere.
2019-01-17 09:21:03 -07:00
Peter Fabian 25bb5e06df Factor out the segmentation code so that it's more reusable and clutters orders/stats data store less. 2019-01-17 12:14:24 +01:00
Albert Juhé Lluveras 4d2ee738d0 Set eslint react version to 'detect' (https://github.com/woocommerce/woocommerce-admin/pull/1300) 2019-01-17 10:25:08 +01:00
Albert Juhé Lluveras 0cda85b997 Add missing thousands separator in charts Y-axis (https://github.com/woocommerce/woocommerce-admin/pull/1312) 2019-01-17 10:18:28 +01:00
Jeff Stieler 6ed8ea117a Refactor formatCurrency() to use store settings for formatting rather than store locale. 2019-01-17 00:04:57 -07:00
Jeff Stieler ddae6d3955 Add currency symbol to orders endpoint response. 2019-01-17 00:01:09 -07:00
Joshua T Flowers da22cbdc9d Update returning customer data to use customer ID (https://github.com/woocommerce/woocommerce-admin/pull/1180)
* Change check for returning customers to check customer_id

* Count distinct returning and new customers in totals

* Fix priority action misplacement and order date timestamp

* Change expected num returning/new customers to fix failing tests

Previously these included references to number of returning vs new orders.  Update to refer to the newly updated customer count.

* Use new get_customer_id_by_user_id() to get customer ID

* Fix 0 returning customers expectation

* Move returning customer function to order stats data store

* Sync order stats on order delete

* Change date compare for is_returning_customer

* Add test case for returning customer order

* Add references to  instead of 2
2019-01-17 10:47:30 +08:00
Jeff Stieler 858ec82e8c Rework numberFormat() to maintain decimal precision by default. 2019-01-16 18:41:15 -07:00
Paul Sealock d214e229ae refactor timeStampFilterDates 2019-01-17 13:57:11 +13:00
Paul Sealock af98c7dd91 better tests 2019-01-17 13:35:20 +13:00
Jeff Stieler 4bf7a79a84 Add price format, decimal separator, and thousand separator to currency settings object. 2019-01-16 17:32:48 -07:00
Jeff Stieler 78e1be139f Refactor numberFormat() to use the store settings for precision, decimal separator, and thousand separator. 2019-01-16 17:32:12 -07:00
Paul Sealock 41c30c7506 Filters: make 1/4 width for wiiiiiiide screens 2019-01-17 12:21:45 +13:00
Paul Sealock c866d1e1e2 Customers Report: remove extended data call 2019-01-17 10:10:23 +13:00
Paul Sealock aaceb781fd tests 2019-01-17 09:37:43 +13:00
Paul Sealock b3d7e96a00 jsDoc 2019-01-17 09:08:04 +13:00
Paul Sealock 4cd803466a updateFilter 2019-01-17 08:57:41 +13:00
Jeff Stieler 149ee08f4b Include all users in customer lookup table generation. 2019-01-16 10:20:11 -07:00
Jeff Stieler c0e6a097fd Fix orders report test. 2019-01-16 09:45:52 -07:00
Jeff Stieler 11cb74cccd Fix variable name nitpick. 2019-01-16 09:45:52 -07:00
Jeff Stieler a2f94c11ba Add coupons and taxes lookup table generation to reports rebuild. 2019-01-16 09:45:51 -07:00
Jeff Stieler 84732137bc Bail out of creating batches for customers and orders if there are none. 2019-01-16 09:45:51 -07:00
Jeff Stieler ffe11650a8 Remove now-defunct order stats background process. 2019-01-16 09:45:50 -07:00
Jeff Stieler 763cc972a7 Regenerate all reports from rebuild stats endpoint. 2019-01-16 09:45:04 -07:00
Jeff Stieler 5c6174066e Add tests for report regeneration batch queuing methods. 2019-01-16 09:45:04 -07:00
Jeff Stieler 1a5af7094d Add WC_Action_Queue test helper class.
The test helper allows inspection of the action queue.
2019-01-16 09:45:04 -07:00
Jeff Stieler 4786938bdf Fix customers report tests. 2019-01-16 09:45:03 -07:00
Jeff Stieler 6eca20c5fd Reports regenerate: add mechanism to queue an action after another completes - use to queue orders lookup init after customers lookup. 2019-01-16 09:45:03 -07:00
Jeff Stieler 4740f93985 Reports regenerate: use queue to update order stats and products lookup table. 2019-01-16 09:45:02 -07:00
Jeff Stieler 3b9a4ef4a1 Report regeneration: allow batch sizes to differ between actions. 2019-01-16 09:45:02 -07:00
Jeff Stieler fabc1dc70b Reports regenerate: use queue to update customers lookup table. 2019-01-16 09:45:02 -07:00
Jeff Stieler c361119a0d Report table generation: add method for enqueuing a large number of batch jobs with a limited batch size. 2019-01-16 09:45:01 -07:00
Timmy Crawford d45f31c389 Update packages docs (https://github.com/woocommerce/woocommerce-admin/pull/1324) 2019-01-16 08:39:37 -08:00
Timmy Crawford 0cb75629de Release v0.5.0 (https://github.com/woocommerce/woocommerce-admin/pull/1319)
* Release 0.5.0

* Updates from release build.
2019-01-16 08:24:45 -08:00
renovate[bot] e6dd023fc8 Update dependency recast to v0.16.2 (https://github.com/woocommerce/woocommerce-admin/pull/1318) 2019-01-16 13:13:44 +01:00
renovate[bot] f3c61d4121 Update dependency eslint-plugin-jest to v22.1.3 (https://github.com/woocommerce/woocommerce-admin/pull/1317) 2019-01-16 13:01:02 +01:00
renovate[bot] 65c2a01213 Update dependency dompurify to v1.0.9 (https://github.com/woocommerce/woocommerce-admin/pull/1315) 2019-01-16 12:58:54 +01:00
renovate[bot] 78cfaec287 Update dependency core-js to v2.6.2 (https://github.com/woocommerce/woocommerce-admin/pull/1314) 2019-01-16 12:57:08 +01:00
renovate[bot] f8c6d949e4 Pin dependency node-watch to 0.6.0 (https://github.com/woocommerce/woocommerce-admin/pull/1313) 2019-01-16 12:55:13 +01:00
Peter Fabian 05c7670090 Merge branch 'master' into fix/1035
# Conflicts:
#	includes/class-wc-admin-reports-interval.php
#	includes/data-stores/class-wc-admin-reports-data-store.php
#	includes/data-stores/class-wc-admin-reports-products-data-store.php
2019-01-16 12:51:23 +01:00
Joshua T Flowers 33a7cfa1b0 Store all order statuses (https://github.com/woocommerce/woocommerce-admin/pull/1285)
* Store all orders regardless of status in wc_order_stats

* Only query select statuses if status_is or status_is_not is not set

* Fix order stats example query

* Filter category store by default order statuses

* Add table_name to interval functions to avoid ambiguity

* Filter coupon store by default order statuses

* Fix interval stats by adding table_name to interval function

* Filter products store by default order statuses

* Remove unused order_status in coupons data store

* Store products with any order status

* Fix ambiguous order by call in products data store

* Apply status filter after other filters to avoid logical OR matching

* Store all coupon data regardless of order status

* Filter taxes by default order statuses

* Filter customer stats by default order status

* Filter default order statuses in variations data store

* Use excluded statuses to filter reports by default

* DRY up default excluded statuses query

* Fix up new orders data store after rebase
2019-01-16 10:23:00 +08:00
Albert Juhé Lluveras 1001dd0601 Fix watch package files in Linux (https://github.com/woocommerce/woocommerce-admin/pull/1301) 2019-01-15 19:40:13 +01:00
Albert Juhé Lluveras de4309d61e Remove `barfocus` elements from charts (https://github.com/woocommerce/woocommerce-admin/pull/1311)
* Remove barfocus elements from charts

* Render background color behind bars

* Rename barmouse to barfocus
2019-01-15 19:40:02 +01:00
renovate[bot] a5cfc072c2 Pin dependency mini-css-extract-plugin to 0.5.0 (https://github.com/woocommerce/woocommerce-admin/pull/1309) 2019-01-15 12:09:07 +01:00
Albert Juhé Lluveras 8b341f0981 Replace 'extract-text-webpack-plugin' with 'mini-css-extract-plugin' (https://github.com/woocommerce/woocommerce-admin/pull/1299) 2019-01-15 11:55:54 +01:00
Peter Fabian 29f07f8c57 Re-enable temporarily disabled tests. 2019-01-15 11:51:43 +01:00
Peter Fabian 5ba443fca8 Updated data store used in test to reflect the rename of class. 2019-01-15 11:50:53 +01:00
Peter Fabian c324157483 Merge branch 'master' into fix/1035
# Conflicts:
#	includes/data-stores/class-wc-admin-reports-orders-data-store.php
#	includes/data-stores/class-wc-admin-reports-orders-stats-data-store.php
2019-01-15 11:39:39 +01:00
Peter Fabian 2fc9de0bb0 Preparation for merge of a moved file. 2019-01-15 11:36:56 +01:00
Peter Fabian f84efa3a58 Added test for segmenting /orders/stats by product. 2019-01-15 11:16:31 +01:00
Peter Fabian d067c2148d Added sorting of segments so that they have predictable order. 2019-01-15 11:13:43 +01:00
Peter Fabian ea2d5bfe35 Removed double refund subtracting. 2019-01-15 11:11:58 +01:00
Peter Fabian 93b331243b Corrected JSON response in case no fields are selected in $query_params. 2019-01-15 11:11:14 +01:00
Peter Fabian b593163dff Added more general function for sorting array of arrays based on subarray's key. 2019-01-15 11:08:23 +01:00
Paul Sealock 7b11e40981 timeStampFilterDates 2019-01-15 15:40:12 +13:00
Joshua T Flowers ee19308254 Add initial state hydration for user data (https://github.com/woocommerce/woocommerce-admin/pull/1297)
* Hydrate initial state through localized script

* Parse user meta for default rows as integer

* Change eslint ignore to undef only

* Add currentUserData to wcSettings
2019-01-15 10:24:06 +08:00
Joshua T Flowers 4b3df7732b Add showMenu prop to TableCard to hide ellipsis menu (https://github.com/woocommerce/woocommerce-admin/pull/1296)
* Add showMenu prop to TableCard to hide ellipsis menu

* Fix proptype description
2019-01-15 10:13:15 +08:00
Paul Sealock 01cf0eba2f specify before on construct 2019-01-15 15:01:38 +13:00
Joshua T Flowers 14f8f08edf Add v4 orders endpoint (https://github.com/woocommerce/woocommerce-admin/pull/1246)
* Rename orders controllers and data store to order stats

* Add orders data store and controller

* Add coupon, product, and status filters

* Add customer type query filter

* Add extended info for products and categories

* Bump API namespace to v4

* Add missing schema properties

* Set default customer_type and extended_info params

* Add orders endpoint tests

* Only use one JOIN if both excluded and included queries are used

* Optimize query calls to get product and category data

* Split product and category fetch and limit to product_cat taxonomy
2019-01-15 09:53:02 +08:00
Paul Sealock 66b76f5b8f replaceFilter 2019-01-15 13:47:07 +13:00
Paul Sealock 7556b45eab Advanced Filters: Dates, fix query formats 2019-01-15 13:02:24 +13:00
Paul Sealock 1fa45e4364 Merge pull request woocommerce/woocommerce-admin#1146 from woocommerce/add/date-filter-calendar
Advanced Filters: Add DatePicker
2019-01-15 09:43:10 +13:00
Paul Sealock 64d52b0d2f Merge pull request woocommerce/woocommerce-admin#1233 from woocommerce/fix/devDocs-filePath
Fix/dev docs file path
2019-01-15 09:42:24 +13:00
Justin Shreve a3ccfd300e Fix date formatting in safari by switching to moment (https://github.com/woocommerce/woocommerce-admin/pull/1290) 2019-01-14 11:29:46 -05:00
Peter Fabian 13ec8e2851 FOrmula for shipping distribution among line items updated to reflect qty, so that sum of shipping per line item equals total shipping amount. 2019-01-14 16:10:13 +01:00
renovate[bot] 81b28d7b19 Update dependency eslint-plugin-react to v7.12.3 (https://github.com/woocommerce/woocommerce-admin/pull/1261) 2019-01-14 12:52:16 +01:00
renovate[bot] af91eacacb Lock file maintenance (https://github.com/woocommerce/woocommerce-admin/pull/1242) 2019-01-14 12:08:06 +01:00
renovate[bot] 2cd434c676 Update dependency chalk to v2.4.2 (https://github.com/woocommerce/woocommerce-admin/pull/1258) 2019-01-14 11:47:28 +01:00
renovate[bot] 0f25d33fcc Update dependency babel-loader to v8.0.5 (https://github.com/woocommerce/woocommerce-admin/pull/1257) 2019-01-14 11:45:23 +01:00
renovate[bot] 0bdbf3b724 Update dependency eslint to v5.12.0 (https://github.com/woocommerce/woocommerce-admin/pull/1259) 2019-01-14 11:42:51 +01:00
renovate[bot] 8ff156fb8d Update dependency autoprefixer to v9.4.5 (https://github.com/woocommerce/woocommerce-admin/pull/1256) 2019-01-14 11:31:18 +01:00
renovate[bot] b19b8b8687 Update dependency lerna to v3.10.5 (https://github.com/woocommerce/woocommerce-admin/pull/1262) 2019-01-14 11:26:35 +01:00
Albert Juhé Lluveras f009506a45 Makes table dates accessible (https://github.com/woocommerce/woocommerce-admin/pull/1274)
* Create 'Date' component to render accessible dates

* Add tests
2019-01-14 10:54:44 +01:00
Paul Sealock be76392a0c devDocs: update path for prop docs 2019-01-14 15:07:28 +13:00
Paul Sealock 7525e2347a Add calendar to date advanced filter 2019-01-14 13:22:39 +13:00
Albert Juhé Lluveras 328a49127a Remove decimals from Y-axis (https://github.com/woocommerce/woocommerce-admin/pull/1288)
* Remove decimals from Y-axis

* Add CHANGELOG message
2019-01-11 19:18:31 +01:00
Albert Juhé Lluveras ad457cc123 Avoid duplicated Y-axis values (https://github.com/woocommerce/woocommerce-admin/pull/1289)
* Avoid duplicated yGrids

* Add tests

* Rename 'roundedValue' to 'value' to better reflect its contents

* Add CHANGELOG message
2019-01-11 19:16:29 +01:00
Albert Juhé Lluveras 753ec498ba Update activity button focus styles (https://github.com/woocommerce/woocommerce-admin/pull/1287)
* Update activity button focus styles

* Set overflow to 'auto' instead of 'scroll' in activity panels
2019-01-11 18:45:06 +01:00
Peter Fabian 20090a90e4 Added segments property to revenue test. 2019-01-11 18:39:57 +01:00
Peter Fabian 562e21ff54 Replace time interval keys with numeric ones to format REST response correctly. 2019-01-11 18:20:43 +01:00
Timmy Crawford 7d89799194 Remove hour from default clause in getAllowedIntervalsForQuery when period is empty (https://github.com/woocommerce/woocommerce-admin/pull/1279) 2019-01-11 07:51:24 -08:00
Justin Shreve 764845a6c0 Add top categories block (https://github.com/woocommerce/woocommerce-admin/pull/1276)
* Add Top Categories Block

* Update category and product blocks with correct links.

* Handle PR feedback/design cleanup
2019-01-11 10:11:10 -05:00
Peter Fabian 8059251656 Updated type for products field in response. 2019-01-11 15:29:03 +01:00
Peter Fabian ab4eb674e2 Added segments fields to expected response in tests. 2019-01-11 15:28:28 +01:00
Peter Fabian bc68976fb7 Updated schema tests to reflect latest changes. 2019-01-11 15:27:24 +01:00
Peter Fabian 26925872ec Corrected return types so that no segmented queries work fine. 2019-01-11 15:25:17 +01:00
Peter Fabian ebe76c2d43 Added missing parameter to new data stores. 2019-01-11 15:23:13 +01:00
Peter Fabian 7308aa415b Schema updates. 2019-01-11 15:22:19 +01:00
Albert Juhé Lluveras 9d1edd6a56 Make d3chart component stateless (https://github.com/woocommerce/woocommerce-admin/pull/1273)
* Make d3chart component stateless

* Move back 'drawChart' to d3chart/chart.js

* Add getColor method changelog comment

* Reorder chart constructor methods binding
2019-01-11 12:24:10 +01:00
Peter Fabian 5edc60d30b Added refund_total also to intervals (to be able to calculate net_total correctly). 2019-01-11 11:32:59 +01:00
Peter Fabian ff6b4ffb26 Added refund_total to unique orders table to be able to calculate net_total correctly. 2019-01-11 11:31:21 +01:00
Peter Fabian d14426cbc1 Corrected type of parameter in the docblock. 2019-01-11 11:30:43 +01:00
Peter Fabian 69f63f48d2 Ain't Nobody Got Time for That. 2019-01-11 11:25:49 +01:00
Peter Fabian 250c0910a1 Merge branch 'master' into fix/1035 2019-01-11 11:16:01 +01:00
Peter Fabian 411ff59788 WIP on orders/stats segmenting. 2019-01-11 11:11:23 +01:00
Joshua T Flowers e68f751298 Change category gross stats to net (https://github.com/woocommerce/woocommerce-admin/pull/1283) 2019-01-11 17:56:58 +08:00
Jeff Stieler 3efebb37e1 Merge pull request woocommerce/woocommerce-admin#1267 from woocommerce/update/numeric-filter-array-value
Numeric filter: generate a true array value for “between” rule
2019-01-10 19:31:15 -07:00
Jeff Stieler adf8bbeb23 Merge pull request woocommerce/woocommerce-admin#1260 from woocommerce/fix/1239-handle-between-rest-api-param
Handle *_between params in Reports controllers
2019-01-10 10:52:08 -07:00
Justin Shreve 350e296d2c Allow sorting by title and SKU to report tables (https://github.com/woocommerce/woocommerce-admin/pull/1266) 2019-01-10 12:10:31 -05:00
Jeff Stieler 571ee1fee0 Merge pull request woocommerce/woocommerce-admin#1271 from woocommerce/update/customer-report-real-endpoint
Hook up customers report table to real data.
2019-01-10 08:16:13 -07:00
Albert Juhé Lluveras 279bc142bb Fix chart blocks not being responsive (https://github.com/woocommerce/woocommerce-admin/pull/1265) 2019-01-10 10:55:15 +01:00
Jeff Stieler c223977dbd Hook up customers report table to real data. 2019-01-09 17:45:24 -07:00
Jeff Stieler c565b9cb40 Numeric filter: generate a true array value for “between” rule instead of a comma-delimited string. 2019-01-09 14:23:49 -07:00
Jeff Stieler 2246a1e075 Expect array value for _between params.
Add param validation method and normalize to min/max based by comparing values.
2019-01-09 14:19:37 -07:00
Justin Shreve d46ce1df7a Add store performance indicator endpoint (https://github.com/woocommerce/woocommerce-admin/pull/1255)
* Add store performance REST API endpoint

* Clean up validation, add list of allowed stats to OPTIONS endpoint, and rename endpoint to performance-indicators

* Add tests

* Add additional filters to make extending the performance indiciators area easier.

* Add docblocks for filters
2019-01-09 16:08:39 -05:00
Jeff Stieler 43517940fb Merge pull request woocommerce/woocommerce-admin#1144 from woocommerce/add/916-customers-report-endpoint
Add `/reports/customers` endpoint
2019-01-08 19:04:17 -07:00
Jeff Stieler 06763cc3a5 Don’t cast date values to strings in customers report data store since they’re allowed to be null.
NULL column values resulted in NOW() in the response.
2019-01-08 18:49:49 -07:00
Jeff Stieler 6e369bd145 Handle *_between parameters in Customers Report endpoint controller. 2019-01-08 17:41:48 -07:00
Jeff Stieler b15a4bc804 Add utility method to normalize numeric “between” parameters in REST API requests. 2019-01-08 17:41:24 -07:00
Joshua T Flowers 80fe765657 Use a date instead of hour for single dates in report tables (https://github.com/woocommerce/woocommerce-admin/pull/1208)
* Use a date instead of hour for single dates in report tables

* Add hour to allowed list when day difference is less than 1

* Prioritize hour format over day and set day as default for tables

* Add default intervals for report tables

* Use explicit date format in report tables

* Add constant for default table format

* Restore allowed intervals for >1 && <7 days
2019-01-09 08:24:49 +08:00
Joshua T Flowers bdb9525afe Add dashboard chart interval preferences (https://github.com/woocommerce/woocommerce-admin/pull/1230)
* Add user interval preferences for dashboard charts

* Add interval selector styling
2019-01-09 08:12:39 +08:00
Jeff Stieler d9fd8568df Customers report: perform a LEFT JOIN on the order stats table to include customers that have not yet placed an order. 2019-01-08 10:47:19 -07:00
Jeff Stieler 46b503dd54 Update customers report lookup table when customers/users are updated. 2019-01-08 10:33:17 -07:00
Jeff Stieler 154482acc9 Derive orders_count, total_spend, avg_order_value, and date_late_order for customer reports from the order stats report table. 2019-01-08 10:33:17 -07:00
Jeff Stieler 8105ddb38a Add new guest customers to lookup when syncing the order stats report table. 2019-01-08 10:33:16 -07:00
Jeff Stieler 1a90840e97 Add customer_id to order stats report table to reference with customer lookup. 2019-01-08 10:30:16 -07:00
Jeff Stieler d42e04cd59 Short circuit registered customer data update when the given ID is bad. 2019-01-08 10:29:44 -07:00
Jeff Stieler a1317f2152 Customer lookup table: allow registration date to be null (for guests). 2019-01-08 10:29:43 -07:00
Jeff Stieler c337944cf6 Backfill guests into customer report lookup table using order data and billing email. 2019-01-08 10:29:43 -07:00
Jeff Stieler d000d3e42a Add cases using ‘name’ and a date parameter to customers report endpoint tests. 2019-01-08 10:29:42 -07:00
Jeff Stieler fa3379e62f Customer report data store: fix handling of ‘name’ parameter in WHERE clause. 2019-01-08 10:29:42 -07:00
Jeff Stieler 714c1ee030 Customer report data store: fix comparison operator for date param “after” where clause. 2019-01-08 10:29:42 -07:00
Jeff Stieler 737331dd3b Add missing _gmt date fields to customers report response items. 2019-01-08 10:29:41 -07:00
Jeff Stieler 1a4b890660 Add unit tests for customers report endpoint. 2019-01-08 10:29:41 -07:00
Jeff Stieler 04a30e668b Customer report data store: fix SQL when where clauses are empty. 2019-01-08 10:29:40 -07:00
Jeff Stieler 1832450fd1 Update customer lookup table when orders (with registered customers) are created, updated, or refunded. 2019-01-08 10:29:40 -07:00
Jeff Stieler 2ea61e9a86 Move registered customer lookup update logic into data store class. 2019-01-08 10:29:40 -07:00
Jeff Stieler d0e2c5162f Place a UNIQUE constraint on the user_id key for the customer report lookup table. 2019-01-08 10:29:39 -07:00
Jeff Stieler dd87522a5e Customers report endpoint: only include customer link if they’re a registered user. 2019-01-08 10:29:39 -07:00
Jeff Stieler fc20d2bb1b Remove unnecessary subquery from customer reports data store records count query. 2019-01-08 10:29:38 -07:00
Jeff Stieler a75a33c32f Handle match parameter in customers report data store.
Note: before/after and min/max ranges are always ‘AND’.
2019-01-08 10:29:38 -07:00
Jeff Stieler 97e6f795e9 Fix copy-pasta in customers report REST controller. 2019-01-08 10:29:38 -07:00
Jeff Stieler a180566c2f Set default parameters for customers report query. 2019-01-08 10:29:37 -07:00
Jeff Stieler 0c919add5d Fix query params in customers report controller. 2019-01-08 10:29:37 -07:00
Jeff Stieler 6e5fef2f7b Include customers report files. 2019-01-08 10:29:37 -07:00
Jeff Stieler 746120e254 Change customer report lookup table columns to match API parameters. 2019-01-08 10:29:36 -07:00
Jeff Stieler 9670719fc6 Add customers report query endpoint implementation. 2019-01-08 10:29:36 -07:00
Jeff Stieler b9f0d9fe5f Update customers report endpoint item schema to match (visual) table designs. 2019-01-08 10:29:35 -07:00
Jeff Stieler 56beada220 Update customers report endpoint parameters to match new lookup table filters. 2019-01-08 10:29:35 -07:00
Jeff Stieler a2154daa4c Register customer report lookup table with core WC. 2019-01-08 10:29:35 -07:00
Jeff Stieler 281c06a5d4 Add username column to customer report lookup table. 2019-01-08 10:29:34 -07:00
Jeff Stieler 9131932910 First pass at initializing the customer lookup table with existing registered customer data. 2019-01-08 10:29:34 -07:00
Jeff Stieler a5cf136037 Add customer report lookup table creation to initialization query. 2019-01-08 10:29:33 -07:00
Albert Juhé Lluveras 41b933e714 Add link to file in Downloads table (https://github.com/woocommerce/woocommerce-admin/pull/1253)
* Add link to file in Downloads table

* Fix wrong param name for 'ip_address'
2019-01-08 17:51:19 +01:00
Jeff Stieler d2ca354bd5 Merge pull request woocommerce/woocommerce-admin#1099 from woocommerce/fix/advanced-filters-legend-text
Rework advanced filters screen reader text generation
2019-01-08 08:45:13 -07:00
Justin Shreve f37b9319e1 Download Report API: Add path to response, fix ordering, and fix schema typo (https://github.com/woocommerce/woocommerce-admin/pull/1248)
* Add download_path to download report endpoint and fix schema typo

* Fix ordering and add tests
2019-01-08 09:51:28 -05:00
Albert Juhé Lluveras 03e17d372b Add new props to chart component (https://github.com/woocommerce/woocommerce-admin/pull/1247)
* Add different props to chart component that were inferred from 'mode'

* Add new chart props to packages CHANGELOG
2019-01-08 10:21:47 +01:00
Joshua T Flowers ef6d7ec4cb Add leaderboard section (https://github.com/woocommerce/woocommerce-admin/pull/1234)
* Add leaderboard section to dashboard

* Add rows per table user preference

* Pass in rowsPerTable to leaderboards to adjust total rows

* Add styling for rows select dropdown

* Set default for total rows if tableQuery is undefined

* Remove double localization on leaderboard labels

* Simplify toggle logic for hidden leaderboards

* Move updateCurrentUserData outside of setState callback
2019-01-08 15:20:01 +08:00
Joshua T Flowers 9fef5d4f5d Add dashboard chart links to reports (https://github.com/woocommerce/woocommerce-admin/pull/1236)
* Add dashboard chart links to reports

* Remove extra css background property from screen reader text

* Remove elements from previous click handler attempt

* Concat translation strings with sprintf

* Change chart hover interactions

* Move i18n to external dependencies

* Make legend buttons match background on hover
2019-01-08 14:48:39 +08:00
Joshua T Flowers 82200895dd Defer chart drawing until chart component has rendered (https://github.com/woocommerce/woocommerce-admin/pull/1244) 2019-01-08 10:10:29 +08:00
Joshua T Flowers d9e7e1b952 Remove unused show_product_categories_in_rest function (https://github.com/woocommerce/woocommerce-admin/pull/1235) 2019-01-08 09:53:02 +08:00
Joshua T Flowers e067da06be Add dashboard chart user preferences (https://github.com/woocommerce/woocommerce-admin/pull/1225)
* Add user preferences for shown dashboard charts

* Add user preferences for dashboard chart type

* Check if user preferences are set before assigning to state

* Move API update methods out of callbacks and use xor
2019-01-08 09:49:11 +08:00
Joshua T Flowers f3346e9298 Add the order status column to lookup table (https://github.com/woocommerce/woocommerce-admin/pull/1211)
* Add the order status column to lookup table

* Fix order status filter for order stats

* Fix normalize order status and make static function
2019-01-08 09:16:10 +08:00