Commit Graph

1397 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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