Commit Graph

1310 Commits

Author SHA1 Message Date
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
Timmy Crawford 78ca63a72d Dashboard: Add Leaderboard Component (https://github.com/woocommerce/woocommerce-admin/pull/1198)
* Create Leaderboard component. Update Top Selling Products to use it.

* Use date picker values in Top Selling Products.

* Convert top selling products tests into leaderboard tests

* Updates per feedback.

* Skipping failing test for now.
2018-12-31 14:42:46 +08:00
Joshua T Flowers 7bbdd78bde Add missing intervals to product reports (https://github.com/woocommerce/woocommerce-admin/pull/1200)
* Add missing intervals to product reports

* Fix failing tests for product stats API

Before and after query should be within today's date since missing intervals for other days will be filled in with remaining dates.
2018-12-31 13:20:22 +08:00
Albert Juhé Lluveras 029ff9cc9c Show today charts up to the current hour (https://github.com/woocommerce/woocommerce-admin/pull/1203)
* Show today charts up to the current hour

* Fix tests

* Fix doc comment
2018-12-28 10:10:40 -08:00
Joshua T Flowers 2d5e592a10 Update chart button active state for dashboard charts (https://github.com/woocommerce/woocommerce-admin/pull/1202)
* Update chart button active state for dashboard charts

* Add default active state when no query is present
2018-12-28 09:59:05 -08:00
Joshua T Flowers 8dc3398636 Extract IE11 specific styles to IE stylesheet (https://github.com/woocommerce/woocommerce-admin/pull/1199)
* Extract IE11 specific styles to IE stylesheet

* Enqueue IE stylesheet conditionally

* Use server-side http user agent to detect IE11

IE11 and up does not detect conditional comments for stylesheets so match user agent string and conditionally load stylesheet.
2018-12-28 09:58:03 -08:00
Albert Juhé Lluveras 21ab4da93e Enable Autoprefixer 'grid' in packages (https://github.com/woocommerce/woocommerce-admin/pull/1204) 2018-12-28 09:57:18 -08:00
Joshua T Flowers 3f388028ac Sort default category response by category ID (https://github.com/woocommerce/woocommerce-admin/pull/1201) 2018-12-28 09:50:58 -08:00
Joshua T Flowers 268182e75f Add invalid note ID test (https://github.com/woocommerce/woocommerce-admin/pull/1197) 2018-12-28 09:44:53 -08:00
Joshua T Flowers e0596ea249 Add 404 response to REST response for invalid note ID (https://github.com/woocommerce/woocommerce-admin/pull/1194) 2018-12-28 09:51:22 +08:00
Albert Juhé Lluveras a0f23c93c9 Improve Charts X-axis when displaying a single date (https://github.com/woocommerce/woocommerce-admin/pull/1195)
* Improve Charts X-axis when displaying a single date

* Add tests for getXTicks

* Fix typo in tests

* Add assertion in compareStrings test for dates with commas

* Update interval options

* Fix secondaryDate always showing 12AM

* Don't convert dates to UTC when checking if they belong to the same date
2018-12-27 19:51:58 +01:00
Albert Juhé Lluveras 7287fa3b22 Allow Search box to break into several lines (https://github.com/woocommerce/woocommerce-admin/pull/1196) 2018-12-27 18:53:20 +01:00
renovate[bot] bca949feb6 Update dependency eslint to v5.11.1 (https://github.com/woocommerce/woocommerce-admin/pull/1172) 2018-12-27 11:52:40 +08:00
Joshua T Flowers b3979ff984 Fix order status product sync (https://github.com/woocommerce/woocommerce-admin/pull/1151)
* Move order product sync to product data store

* Move order taxes sync to taxes data store

* Move order coupons sync to coupons data store

* Use table_name constant in data syncs

* Remove order data for incomplete order statuses

* Fix report rebuild tool

* Update comments to describe create/update entry reference

* Fix data_store_init function name change
2018-12-27 11:49:00 +08:00
Joshua T Flowers 987929da83 Filter by categories query param in categories data store (https://github.com/woocommerce/woocommerce-admin/pull/1179) 2018-12-27 11:31:08 +08:00