Commit Graph

1324 Commits

Author SHA1 Message Date
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
Albert Juhé Lluveras 6ca0c628b2 Connect Downloads report to REST API (https://github.com/woocommerce/woocommerce-admin/pull/1238)
* Connect downloads chart and table to REST API

* Display date picker in Downloads report

* Fix missing value for 'days' in Downloads table summary

* Fix download_count being a string instead of a number

* Minor date packages comment fixes

* Fix filters in Downloads report

* Add back empty line

* JSDoc comments style fixes

* Fix username filter not working

* Fix days counter off by 1

* Fix alignment issue
2019-01-07 12:54:42 +01:00
Albert Juhé Lluveras 3a90c07e76 Fix date issues introduced in woocommerce/woocommerce-admin#1203 (https://github.com/woocommerce/woocommerce-admin/pull/1229)
* Revert "Show today charts up to the current hour (https://github.com/woocommerce/woocommerce-admin/pull/1203)"

This reverts commit 029ff9cc9c.

* Add current hour to timestamp of queries ending in today

* Fix getCurrentDates not returning moment objects as specified in the docs but returning string dates

* Set appendTimestamp( ..., 'now') seconds to 00

* Add test for appendTimestamp( ..., 'now' )

* Don't accept string dates in 'appendTimestamp'

* Fix 'moment' dependency deprecation warning
2019-01-07 11:41:46 +01:00
Albert Juhé Lluveras b08e604047 Fix bar chart in narrow viewports (https://github.com/woocommerce/woocommerce-admin/pull/1226)
* Fix bar chart in narrow viewports

* Make date width depend on the number of columns

* Return early in 'shouldBeCompact' and 'getWidth' functions

* Hide tooltip when scrolling
2019-01-07 11:41:01 +01:00
Albert Juhé Lluveras b91cfd2cc6 Split `d3chart/utils.js` into several files (https://github.com/woocommerce/woocommerce-admin/pull/1231)
* Split d3chart/utils.js

* Add format comment to breakpoints.js
2019-01-04 11:21:42 +01:00
Paul Sealock 3cd27ed631 Merge pull request woocommerce/woocommerce-admin#1127 from woocommerce/renovate/major-wordpress-monorepo
Update wordpress monorepo (major)
2019-01-04 14:34:30 +13:00
Paul Sealock d6c5f47ee1 jest update 2019-01-04 14:26:55 +13:00
Paul Sealock c75777cd11 add variable now used in button's scss 2019-01-04 14:00:28 +13:00
Paul Sealock 5a4f6185d6 Merge pull request woocommerce/woocommerce-admin#1216 from woocommerce/fix/date-range-dow
DateRange: use DayOfWeek from moment locale
2019-01-04 13:30:59 +13:00
Paul Sealock 17a21e00db DateRange: use DayOfWeek from moment locale{ 2019-01-04 11:50:05 +13:00
Paul Sealock 8867166556 Merge pull request woocommerce/woocommerce-admin#1221 from woocommerce/renovate/lerna-3.x
Update dependency lerna to v3.8.4
2019-01-04 11:45:25 +13:00
Jeff Stieler a8e81b709f Fix type in textContent() test case label. 2019-01-03 13:13:23 -07:00
Jeff Stieler f2df49ce24 Add tests for textContent(). 2019-01-03 13:13:22 -07:00
Jeff Stieler 1935e75f5c Render descriptive screen reader text for SearchFilter and SelectFilter components. 2019-01-03 13:13:22 -07:00
Jeff Stieler 850a738289 NumberFilter: don’t hide anything from accessibility tree, render descriptive span for screen reader instead of using speak(). 2019-01-03 13:13:22 -07:00
Jeff Stieler 7663cb2881 NumberFilter: a11y speak a description of the filter once all inputs are populated. 2019-01-03 13:13:21 -07:00
Jeff Stieler cbc5bc36fd NumberFilter: remove dynamic legend text, just use “add” label. 2019-01-03 13:13:21 -07:00
Jeff Stieler 3528957923 NumberFilter: automatically hide non-interpolated strings in title label from accessibility tree. 2019-01-03 13:13:20 -07:00
Jeff Stieler ed81b35d0a Rework NumberFilter screen reader text.
Only describe full filter if all values are set. Describe each input more precisely. Based on conversation here: https://github.com/woocommerce/wc-admin/pull/1089#discussion_r241843856
2019-01-03 13:13:20 -07:00
Justin Shreve e3e9ccb6a4 Add `reports/downloads/stats` REST API Endpoint (https://github.com/woocommerce/woocommerce-admin/pull/1142)
* First pass at downloads REST API

* Add reports/downloads/stats endpoint.

* Add tests

* Update cache key
2019-01-03 13:00:48 -05:00
Albert Juhé Lluveras f5e2c8c5f9 Fix chart legend checkboxes not reacting to clicks (https://github.com/woocommerce/woocommerce-admin/pull/1213) 2019-01-03 13:00:37 +01:00
Renovate Bot 1e74730baf Update wordpress monorepo 2019-01-03 10:45:22 +00:00
Albert Juhé Lluveras 4419faea45 Add margin to inline search tags (https://github.com/woocommerce/woocommerce-admin/pull/1227) 2019-01-03 09:36:31 +01:00
Joshua T Flowers 28c0d292a8 Update dashboard charts on query change (https://github.com/woocommerce/woocommerce-admin/pull/1209)
* Update dashboard charts on query change

* Remove state derived props
2019-01-03 10:51:45 +08:00
Joshua T Flowers 06ed650954 Add chart loading spinner while data is being requested (https://github.com/woocommerce/woocommerce-admin/pull/1212) 2019-01-03 10:51:21 +08:00
Renovate Bot 6d45a38907 Update dependency lerna to v3.8.4 2019-01-03 02:02:12 +00:00
Paul Sealock b097cd3316 Merge pull request woocommerce/woocommerce-admin#1224 from woocommerce/renovate/webpack-4.x
Update dependency webpack to v4.28.3
2019-01-03 14:55:22 +13:00
Paul Sealock b97eb434d2 Merge pull request woocommerce/woocommerce-admin#1220 from woocommerce/renovate/husky-1.x
Update dependency husky to v1.3.1
2019-01-03 14:54:12 +13:00
Renovate Bot 49baee6319 Update dependency webpack to v4.28.3 2019-01-03 01:06:47 +00:00
Renovate Bot 7521b3770d Update wordpress monorepo 2019-01-03 14:03:56 +13:00
Renovate Bot f33444601e Update dependency husky to v1.3.1 2019-01-03 01:02:24 +00:00
Paul Sealock d2476d650c Merge pull request woocommerce/woocommerce-admin#1206 from woocommerce/release/0.4.0
Release/0.4.0
2019-01-03 13:59:24 +13:00
Paul Sealock f8df315c27 Merge pull request woocommerce/woocommerce-admin#1222 from woocommerce/renovate/marked-0.x
Update dependency marked to v0.6.0
2019-01-03 12:49:44 +13:00
Timmy Crawford a1887eb4d7 Prepping for 0.4.0 2019-01-03 12:32:00 +13:00
Paul Sealock 812cb17bd5 Merge pull request woocommerce/woocommerce-admin#1215 from woocommerce/fix/date-range-focus-endDate
DateRange: change focusInput prop on input focus
2019-01-03 10:48:51 +13:00
Paul Sealock 37fe2eda00 Merge pull request woocommerce/woocommerce-admin#1219 from woocommerce/renovate/eslint-plugin-react-7.x
Update dependency eslint-plugin-react to v7.12.1
2019-01-02 16:02:08 +13:00
Renovate Bot f112ddfbaa Update dependency eslint-plugin-react to v7.12.1 2019-01-02 02:51:54 +00:00
Paul Sealock c6b466694c DateRange: change focusInput prop on input focus 2019-01-02 15:46:40 +13:00
Paul Sealock 1401bc1bd1 Search: make certain styles just for inlineTags 2019-01-02 15:44:53 +13:00
Renovate Bot 9ae31a6d60 Update dependency marked to v0.6.0 2019-01-02 01:47:50 +00:00
Paul Sealock 49fe2c1f93 CSS lint: fix errors 2019-01-02 12:38:11 +13:00
Albert Juhé Lluveras da8c49c90f Update chart interval thresholds (https://github.com/woocommerce/woocommerce-admin/pull/1214) 2019-01-01 23:30:28 +01:00
Renovate Bot 2e0468083d Lock file maintenance 2018-12-31 06:55:16 +00:00