Commit Graph

518 Commits

Author SHA1 Message Date
Justin Shreve 949afce248 Add Product Detail Report & Finish Comparison Chart Mode Functionality (https://github.com/woocommerce/woocommerce-admin/pull/1391)
Product detail report and comparison

Code cleanup

Fix 404 on product variations endpoint after rebase

Fix up tests

Fix loading indicators and add some checks around malformed variation response

Add date filtering SQL bits to the variations query

Handle PR feedback: Fix viewport, fix duplicate product issue, fix legend display reset, fix bargraph overflow, fix some coding standards/whitespace, add extra variation santiziation.

Fix scroll on wide charts, and fix undefined prop getting passed into report chart render
2019-02-05 13:12:58 -05:00
Albert Juhé Lluveras 84ef5ffb89 Show empty table when search returns no results (https://github.com/woocommerce/woocommerce-admin/pull/1452)
* Show empty table when search returns no results

* Fix singular wrong string for 'orders'

Co-Authored-By: Aljullu <aljullu@gmail.com>

* Check if search returned 0 results inside table components instead of passing a prop
2019-02-05 13:00:37 +01:00
Albert Juhé Lluveras 9dd4c10d7d Fix autocompleters in customers and taxes report (https://github.com/woocommerce/woocommerce-admin/pull/1458) 2019-02-04 09:51:29 +01:00
Albert Juhé Lluveras 666d8e4a3b Merge getOrders and getItems (https://github.com/woocommerce/woocommerce-admin/pull/1438)
* Move labels loading logic into a lib

* Move lib/labels into lib/async-requests

* Implement tabular data filtering

* Allow searching for string in report tables

* Add table filtering to customers table

* Get ids from searched string to populate the table

* Fix autocompleter keyboard interactions

* Improve props naming

* Cleanup report customers data store

* Prevent an edge case issue that might not update the selectedOptions when directily modifying the URL

* Fix wrong selected autocompleter option

* Add missing translation domain

* Move searchItemsByString to wc-api/items/utils.js

* Avoid autocompleter results appearing when there was no search string

* Alphabetically order 'allowFreeTextSearch' prop

* Reset selected table rows when directly modifying the URL

* Simplify props destructuring

* Undo customers data store change

* Simplify isProductDetailsView expression

* Improve order

* Merge getOrders and getItems
2019-02-01 11:01:42 +01:00
Albert Juhé Lluveras d8ed3b6614 Implement tabular data filtering (https://github.com/woocommerce/woocommerce-admin/pull/1381)
* Move labels loading logic into a lib

* Move lib/labels into lib/async-requests

* Implement tabular data filtering

* Allow searching for string in report tables

* Add table filtering to customers table

* Get ids from searched string to populate the table

* Fix autocompleter keyboard interactions

* Improve props naming

* Cleanup report customers data store

* Prevent an edge case issue that might not update the selectedOptions when directily modifying the URL

* Fix wrong selected autocompleter option

* Add missing translation domain

* Move searchItemsByString to wc-api/items/utils.js

* Avoid autocompleter results appearing when there was no search string

* Alphabetically order 'allowFreeTextSearch' prop

* Reset selected table rows when directly modifying the URL

* Simplify props destructuring

* Undo customers data store change

* Simplify isProductDetailsView expression

* Improve order

* Filter tax code parts before modifying them
2019-02-01 10:55:19 +01:00
Joshua T Flowers e65247c54e Add SKU to product variations table (https://github.com/woocommerce/woocommerce-admin/pull/1422)
* Add SKU to product variations data store extended info

* Show SKU in product variations table

* Add sku tests for product variation reports
2019-01-31 09:27:15 +08:00
Joshua T Flowers 49e78b90cf Add settings page with excluded order statuses (https://github.com/woocommerce/woocommerce-admin/pull/1364)
* Add settings page routes

* Add control options for excluded statuses

* Add control options for excluded statuses

* Add excluded order statuses to rest api

* Add wc settings to wc-api

* Add wc settings to wc-api

* Split and validate multiselect values in settings controller

* Add wcAdminSettings to wcSettings global

* Set initial excluded statuses from serverside wcSettings data

* Add extensible filter for wcSettings global

* Split arrays into comma separated strings in wc-api

* Extract setting as separate component

* Extra settings to config file

* Add checkboxGroup option as input type

* Separate status types into default and custom groups

* Add setting option styling

* Add responsive styling for settings

* Fix wpClosedMenu and wpOpenMenu for settings page

* Add support for resetting to default values

* Only show checkbox group if options are available

* Add proptypes to Setting component

* Add extensible filter to analytics settings

* Add readme for settings config and extensibility

* Hook up excluded status settings to reports

* Pass object to settings API instead of comma delimited string

* Fix inpuType -> inputType typo

* Remove hasError from constructor

* Bump settings API to v4

* Use interpolateComponents instead of dangerously setting html

* Use empty array in initial excldued statuses setting value if none is retrieved

* Remove double check for refunded status in default order statuses

* Update settings wc-api to use namespace

* Add aria=labelledby to checkbox group
2019-01-31 09:04:11 +08:00
Justin Shreve 53a6e49874 Finish cleaning up client/store. (https://github.com/woocommerce/woocommerce-admin/pull/1403) 2019-01-30 02:22:10 -05:00
Paul Sealock f71bfa95f4 Merge pull request woocommerce/woocommerce-admin#1406 from woocommerce/fix/customers-order-count-filter
Customers Report: fix order count filter
2019-01-30 10:32:29 +13:00
Timmy Crawford 10c6016d4c Update usage of lib/number to @woocommerce/number (https://github.com/woocommerce/woocommerce-admin/pull/1400)
* Remove usage of lib/number

* Remove formatNumber usage when currency is used.

* Add wc-number as a dependency of wc-currency.

* Add locutus as a dev dependency.

* Add number to test helper.
2019-01-29 08:48:46 -08:00
Paul Sealock 3379491c91 Customers Report: fix order count filter 2019-01-29 13:35:27 +13:00
Jeff Stieler 7592dae4bb Merge pull request woocommerce/woocommerce-admin#1385 from woocommerce/add/customers-report-table-summary
Add table summary to Customers Report
2019-01-28 09:59:52 -07:00
Albert Juhé Lluveras 066daa4b6a Add Top Coupons Block (https://github.com/woocommerce/woocommerce-admin/pull/1397)
* Add Top Coupons Block

* Order coupons by orders_count by default

* Fix wrong variable name
2019-01-25 18:59:53 +01:00
Joshua T Flowers 9c9ff13c2b Allow customer date_last_active to be null (https://github.com/woocommerce/woocommerce-admin/pull/1377)
* Allow customer date_last_active to be null

* Only show last active in customers report table if set
2019-01-25 09:37:50 -08:00
David Levin 74fcff642c Merge pull request woocommerce/woocommerce-admin#1382 from woocommerce/update/total-spend-label
Customer report: Update lifetime spend label and re-order columns + default sorting
2019-01-24 09:04:40 -08:00
Albert Juhé Lluveras 95c21e0cc3 Move 'getLabels' functions into lib/async-requests (https://github.com/woocommerce/woocommerce-admin/pull/1379)
* Move labels loading logic into a lib

* Avoid making API calls when displaying Order labels

* Move lib/labels into lib/async-requests

* Rename 'getCustomerLabel' to 'getCustomerLabels'
2019-01-24 10:35:27 +01:00
Joshua T Flowers 81b6f0f61b Use tableQuery sorting when url query is not present (https://github.com/woocommerce/woocommerce-admin/pull/1378) 2019-01-24 09:36:11 +08:00
David Levin 4c18267408 update orderby in index 2019-01-23 10:08:27 -08:00
David Levin e7a20b4216 update column lifetime spend column label, and re-order columns 2019-01-23 09:51:12 -08:00
David Levin e9bb73f23d Update order of summary numbers on taxes report (https://github.com/woocommerce/woocommerce-admin/pull/1356) 2019-01-22 07:49:17 -08: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
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
Justin Shreve 01b96ebea5 Hook up performance indicators to the REST API 2019-01-18 08:19:19 -05: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 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
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
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
Jeff Stieler 6ed8ea117a Refactor formatCurrency() to use store settings for formatting rather than store locale. 2019-01-17 00:04:57 -07:00
Paul Sealock c866d1e1e2 Customers Report: remove extended data call 2019-01-17 10:10:23 +13: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 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
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 7525e2347a Add calendar to date advanced filter 2019-01-14 13:22:39 +13: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
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 c223977dbd Hook up customers report table to real data. 2019-01-09 17:45: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
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
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
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 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
Joshua T Flowers c747d3399e Use unbounded per_page limit in apiFetch for categories (https://github.com/woocommerce/woocommerce-admin/pull/1149) 2018-12-26 10:37:02 +08:00
Joshua T Flowers f88311b372 Check for product categories before loading value (https://github.com/woocommerce/woocommerce-admin/pull/1164)
* Check for product categories before loading value

* Filter product category list for undefined values

* Remove unnecessary double check of productCategories
2018-12-25 18:28:37 +08:00
Albert Juhé Lluveras 1ca1dba3e7 Add Categories report filters (https://github.com/woocommerce/woocommerce-admin/pull/1167)
* Add Categories report filters

* Remove the option to sort categories by name, given that it's not supported by the endpoint
2018-12-25 10:28:20 +01:00
Joshua T Flowers dcaa35c7bf Add product SKU to products report (https://github.com/woocommerce/woocommerce-admin/pull/1161)
* Add product SKU to products report

* Add tests for SKU data
2018-12-25 11:02:06 +08:00
Albert Juhé Lluveras 5c8cfbc03f Report components docs (https://github.com/woocommerce/woocommerce-admin/pull/1140)
* Extend docs to report components

* Improve inline documentation in some files

* Update doc files

* Undo unnecessary doc changes

* Remove unnecessary line breaks in sidebar

* Rename 'Client components' to 'Analytics components'

* Minor docs fixes

* Rename toc contents to toc sections

* Update endpoint props doc to add an example and more information

* Fix outdated comment

* Fix merge error
2018-12-22 12:46:10 +01:00
Joshua T Flowers 9a4e613a2e Make user column preferences refer to hidden columns (https://github.com/woocommerce/woocommerce-admin/pull/1150)
* Make user column preferences refer to hidden columns

* Destructure props in onColumnsChange
2018-12-22 10:27:30 +08:00
Justin Shreve 579113910d Add remaining filters to the downloads report (https://github.com/woocommerce/woocommerce-admin/pull/1141)
* Add order number, username, and IP address filters to the downloads report.

* Adds tests
2018-12-21 16:40:41 -08:00
Robert Elliott ebd857cefa Add/chart dashboard block (https://github.com/woocommerce/woocommerce-admin/pull/1002)
* added new block and dashboard charts

section title and filters... lots of duplicate keys

toggle chart types in block heading

* Updates per feedback.

* Add some documentaiton about new interactive prop on chart/legend

* Revert a few files that only had whitespace changes.
2018-12-21 16:24:26 -08:00
Joshua T Flowers 56577101c4 Add customer numeric filters (https://github.com/woocommerce/woocommerce-admin/pull/1116)
* Add customer numeric filters

* Add between params to customers controller

* Escape strings for translation and change inputs to currency

* Add Currency shorthand filter
2018-12-21 12:07:54 +08:00
Joshua T Flowers f83b0e0615 Add product categories wc-api and breadcrumbs (https://github.com/woocommerce/woocommerce-admin/pull/1131)
* Add support for product cats in wp rest api

* Add categories to WC API

* Add category breadcrumbs component

* Increase per_page limit size for product cat API

* Use wc/v3 API to pull product categories

* Return category IDs in API

* Add categories to product reports

* Add category IDs test for REST API

* Switch to getResource instead of require for total count selector
2018-12-21 10:44:27 +08:00
Joshua T Flowers 716ebc0658 Hook up coupons to REST API (https://github.com/woocommerce/woocommerce-admin/pull/1112) 2018-12-21 10:13:57 +08:00
Paul Sealock 280e78cf01 Merge pull request woocommerce/woocommerce-admin#1134 from woocommerce/fix/variations-query-params
Variations Table: add product, variations query params
2018-12-20 14:19:06 +13:00
Paul Sealock eebc20e293 Variations Table: add product, variations query params 2018-12-20 08:43:35 +13:00
Albert Juhé Lluveras 5f593d663e Downloads Report: add summary number, chart and table (https://github.com/woocommerce/woocommerce-admin/pull/1113)
* Downloads Report: add summary number, chart and table

* Use template literal for Downlodas table link

* Add columnPrefsKey to Downloads report table
2018-12-19 12:18:43 +01:00
Albert Juhé Lluveras 776e8d31fe Merge pull request woocommerce/woocommerce-admin#1085 from woocommerce/add/name-filter-autocompleter
Customers report: Name Advanced Filter
2018-12-19 10:39:22 +01:00
Joshua T Flowers 08d3e2c38d Change product_gross_revenue to product_net_revenue (https://github.com/woocommerce/woocommerce-admin/pull/1105)
* Change product_gross_revenue to product_net_revenue

* Change product_gross_revenue to product_net_revenue in category data store

* Change to net_revenue in frontend category report
2018-12-19 08:56:27 +08:00
Paul Sealock 15bbbe739d Hook up Categories table to endpoint 2018-12-19 08:36:42 +13:00
Albert Juhé Lluveras 9adf2c6c86 Merge pull request woocommerce/woocommerce-admin#1117 from woocommerce/add/1030-customer-username-filter
Add customer username filter to Customers page
2018-12-18 15:55:53 +01:00
Albert Juhé Lluveras c4290f757e Merge branch 'master' into add/name-filter-autocompleter 2018-12-18 13:52:48 +01:00
Albert Juhé Lluveras 3c876fedf1 Filter missing parts of the name before displaying it 2018-12-18 13:46:24 +01:00
Albert Juhé Lluveras 741a0098fd Add placeholder to customers table searchbox 2018-12-18 13:35:58 +01:00
Albert Juhé Lluveras a836d1a89b Add customer username filter to Customers page 2018-12-18 12:11:45 +01:00
Albert Juhé Lluveras 03adb993c9 Use <Link> instead of <a> for Orders table link 2018-12-18 10:44:43 +01:00
Albert Juhé Lluveras 9ef07a41b6 Merge pull request woocommerce/woocommerce-admin#1075 from woocommerce/add/extend-customers-data-from-endpoint
Extend customers table data with data from WC endpoint
2018-12-18 09:30:03 +01:00
Joshua T Flowers 9486ab7896 Update/taxes endpoint hookup/941 (https://github.com/woocommerce/woocommerce-admin/pull/1008)
* Hook up taxes to endpoint

* Hook up tax stats endpoint

* Add default tax stat totals for empty results

* Create subtotals from intervals in API

* Change orders to orders_count to keep consistent naming
2018-12-18 10:26:46 +08:00
Justin Shreve 5924be5fa2 Add base downloads report page (https://github.com/woocommerce/woocommerce-admin/pull/1106) 2018-12-17 15:50:45 -05:00
Justin Shreve e42ad6956b Add customer email filter (https://github.com/woocommerce/woocommerce-admin/pull/1092)
* Add customer email filter

* Handle PR feedback: Fix up if statement and add extra info to validation comment
2018-12-17 11:20:11 -05:00
Albert Juhé Lluveras 501842a421 Rename 'isError' methods to 'getError' when they return an object instead of a boolean 2018-12-15 13:38:54 +01:00
Albert Juhé Lluveras 77381c0e20 Rename isError to getError in report table props 2018-12-15 13:15:13 +01:00
Albert Juhé Lluveras 41c48126bf Rename isGetCustomersError to getCustomersError 2018-12-15 13:09:47 +01:00
Albert Juhé Lluveras e4fb53b8f8 Stock report (https://github.com/woocommerce/woocommerce-admin/pull/977)
* Create Stock report

* Create Stock report page

* Display product name in Stock table

* Hide 'Parent' column in Stock table

* Add stock to endpoints map

* Remove dateRangeFilter.show from ReportFilters

* Fix stock status link

* Set the default order to 'stock_quanity'

* Add correct name to StockReport
2018-12-14 15:58:08 -08:00
Albert Juhé Lluveras f9533afdda Rename 'totalCount' to 'totalResults' (https://github.com/woocommerce/woocommerce-admin/pull/1093) 2018-12-14 15:56:52 -08:00
Albert Juhé Lluveras 346ed578ae Update comment to specify extendItemsMethodNames must be available in 'wc-api' 2018-12-14 18:12:56 +01:00
Albert Juhé Lluveras 4656f459a7 Remove old comment 2018-12-14 16:35:32 +01:00
Justin Shreve 43055d25a5 Add a country filter to the customers report (https://github.com/woocommerce/woocommerce-admin/pull/1080)
* Add an advanced country filter to the customers report

* Handle PR feedback: Fix PropType warnings, move filter/label logic to config getLabels() function, fix typo.

* Add flag thumbnail to the country filter

* Update README and CHANGELOG
2018-12-14 10:13:34 -05:00
Albert Juhé Lluveras bb16ba07c8 Use search box for searches instead of comparisons in Customers table 2018-12-14 14:31:41 +01:00
Kevin Killingsworth a7aed85244 Add column visibility prefs to all tables (https://github.com/woocommerce/woocommerce-admin/pull/1082)
* Add column prefs to the other tables

This adds column prefs to the other remaining report tables.

* Table columns: Override defaults with user prefs.

* table columns: Add remaining analytics tables

* user read/update operation: Combine responses

This combines the response handling for the read and update operations.
2018-12-13 14:34:23 -06:00
Kevin Killingsworth 11176f7b0e wc-api: Add user meta for UI preferences (https://github.com/woocommerce/woocommerce-admin/pull/1057)
* wc-api: Add user meta for UI preferences

This adds wc-api code to store UI preferences and provides one example
of updating the revenue table to save column preferences.

* wc-api user: fix returns of operations to arrays

Before, a function was returning undefined when the resourceNames didn't
include what we wanted for the user operations. This was causing some
console errors.

* ReportTable: use columnPrefsKey

This uses `columnPrefsKey` for the user preferences key instead of some
erroneously hard-coded values.

* Fix formatting/comments

These are a couple of small formatting and comment fixes.

* Replace woocommerce_meta_ prefix with wc_admin_

This changes the prefix for the meta fields for the `woocommerce_meta`
user meta array to be `wc_admin_` which better hints at the purpose of
these settings.
2018-12-13 13:24:54 -06:00
Albert Juhé Lluveras d9fe77de24 Add autocompleter for customer name 2018-12-13 18:51:48 +01:00
Albert Juhé Lluveras c0ee524d6b Remove unnecessary query parameters 2018-12-12 15:51:24 +01:00
Albert Juhé Lluveras 110c4f0f73 Fix missing AOV value 2018-12-12 15:46:40 +01:00
Albert Juhé Lluveras 9b4e7ad963 Extract extendTableData to a utils file 2018-12-12 15:25:36 +01:00
Albert Juhé Lluveras c679c8bad7 Extend customers data with data from WC endpoint 2018-12-12 15:22:25 +01:00
Paul Sealock 7f00329889 update comments 2018-12-11 11:18:45 +13:00
Paul Sealock 2240d3d713 Customers: add one advanced filter 2018-12-11 09:01:22 +13:00
Albert Juhé Lluveras d79b490dda Add Customers Report page (https://github.com/woocommerce/woocommerce-admin/pull/1018)
* Create Customers Report page

* Hide date range filter if dateRangeFilter.show is false

* Rename dateRangeFilter.show to showDatePicker in filters config

* Add correct key 'average_order_value'

* Fix customers autocompleter not working
2018-12-10 13:26:43 -06:00
Paul Sealock 93a7472e54 REST API: Add stock info to products and variations 2018-12-11 07:19:46 +13:00
Albert Juhé Lluveras bb3e66ef32 Fix wrong default data structure in 'getReportTableData' (https://github.com/woocommerce/woocommerce-admin/pull/1042)
* Fix wrong default data structure in 'getReportTableData'

* Update tests

* Change default prop for tableData from null to an empty object in ReportTable
2018-12-10 09:51:11 -06:00
Albert Juhé Lluveras 6208fb9f34 Add correct key 'average_order_value' 2018-12-10 16:23:02 +01:00
Albert Juhé Lluveras 93a18be2f0 Rename dateRangeFilter.show to showDatePicker in filters config 2018-12-10 16:18:17 +01:00
Jeff Stieler 16f24a31ba Hook up ReportTable to wc-api. 2018-12-07 16:39:42 -07:00
Jeff Stieler 47703fa9b9 Remove debug logging, restore RevenueReportTable component. 2018-12-07 16:39:42 -07:00
Jeff Stieler 98478653e4 Attempt to include report stats type in resource name prefix rather than identifier. 2018-12-07 16:39:42 -07:00
Jeff Stieler de1da53aaa Use wc-api for Report Chart data. 2018-12-07 16:39:41 -07:00
Jeff Stieler c8a76d6dc0 Use fresh-data/wc-api for revenue report table. 2018-12-07 16:39:41 -07:00
Albert Juhé Lluveras a393ba543b Fix ReportNumber sometimes receiving NaN values (https://github.com/woocommerce/woocommerce-admin/pull/1026)
* Fix ReportNumber sometimes receiving NaN values

* Remove unnecessary utils function

* Destructure summaryData
2018-12-07 15:13:02 -06:00
Albert Juhé Lluveras d161732c0a Create Customers Report page 2018-12-06 16:25:31 -06:00
Timmy Crawford 46c8518fe1 Add/tax report filters/924 (https://github.com/woocommerce/woocommerce-admin/pull/1017)
* Add comparison filter to tax reports

* Extract tax code function to utils

* Filter tax code strings and add priority
2018-12-06 17:18:46 -05:00
Albert Juhé Lluveras 96d930b119 Fix Orders table summary display 'order' in singular when it should be plural (https://github.com/woocommerce/woocommerce-admin/pull/1003) 2018-12-05 15:54:52 -06:00
Robert Elliott c9ccc015ca move chart and d3chart components into @woocommerce/components package 2018-12-05 12:50:04 +02:00
Joshua T Flowers 755b9c94f7 Reduce order table net revenue by refund total (https://github.com/woocommerce/woocommerce-admin/pull/988)
* Reduce order table net revenue by refund total

* Use order utils to get refund total
2018-12-05 10:06:00 +08:00
Joshua T Flowers 9e1cb88dfa Add filters for order tables column headers/rows (https://github.com/woocommerce/woocommerce-admin/pull/781)
* Add filters for order tables column headers/rows

* Move filters inside rows

* Rename filter constants

* Apply filters directly to rows

* Rename Orders table filter to be more consistent with core

* Filter entire reports table
2018-12-05 09:44:32 +08:00
Albert Juhé Lluveras e1fd72d06b Fix 'categories' value in Categories report table summary (https://github.com/woocommerce/woocommerce-admin/pull/995)
* Add table summary to Revenue report

* Fix 'categories' value in Categories report table summary
2018-12-04 13:29:58 -06:00
Albert Juhé Lluveras 98289b32c9 Add table summary to Revenue report (https://github.com/woocommerce/woocommerce-admin/pull/994) 2018-12-04 13:28:18 -06:00
Peter Fabian 1c8459244a Merge branch 'master' into fix/749
# Conflicts:
#	includes/data-stores/class-wc-admin-reports-products-data-store.php
2018-12-04 12:07:43 +01:00
Paul Sealock bf0e025b05 REST API: isolate extened info in /reports/products 2018-12-04 13:01:36 +13:00
Albert Juhé Lluveras 093b6d9ec0 Use ReportTable in Revenue report (https://github.com/woocommerce/woocommerce-admin/pull/982)
* Use ReportTable in RevenueTable component

* Convert 'query.per_page' to an integer before using it as a prop
2018-12-03 18:00:13 -06:00
Peter Fabian 1acb9827e7 Merge branch 'master' into fix/749
# Conflicts:
#	includes/data-stores/class-wc-admin-reports-products-data-store.php
2018-12-03 16:21:04 +01:00
Albert Juhé Lluveras bda7d0a6ee Use ReportTable in Orders report (https://github.com/woocommerce/woocommerce-admin/pull/968)
* Use ReportTable in Orders report

* Get totalCount from hte X-WP-Total header

* Order props alphabetically

* Cleanup report table 'tableData' prop

* Use short-circuit evaluation
2018-12-02 21:40:57 -06:00
Paul Sealock da4dea57be Variations: Add endopoint repsonse to table data 2018-12-03 12:16:43 +13:00
Albert Juhé Lluveras 293d58615d Add screen reader labels to table headers (https://github.com/woocommerce/woocommerce-admin/pull/964)
* Add screen reader labels to tables

* Add missing propType
2018-11-30 14:44:02 -06:00
Kevin Killingsworth 847131c6c9 Add wc-api and "Fresh Data" (https://github.com/woocommerce/woocommerce-admin/pull/833)
* data: Add @fresh-data/framework to package.json

* data: Add fresh-data and replace orders in table

This PR adds fresh-data with a WooCommerce API spec to fulfill order
information. It then replaces the existing selectors for the orders
table with the new selectors as a proof-of-concept.

* wc-api: Add temporary code for `withSelect`

This adds temporary code for a `withSelect` function outside of
`@wordpress/data` until the context PR is merged:

https://github.com/WordPress/gutenberg/pull/11460

* wc-api: Update fresh-data to 0.5.0
2018-11-29 09:57:49 -06:00
Albert Juhé Lluveras 540a191b57 Use X-WP-Total header to set the total number of items in tables (https://github.com/woocommerce/woocommerce-admin/pull/952)
* Use X-WP-Total header to set the total number of items in tables

* Improve naming

* Improve tests

* Make getReportItems() return a 'data' property by default

* Make getSummary prop behavior more clear
2018-11-29 08:03:04 -06:00
Paul Sealock 47291b3873 Filters: code -> coupon in config 2018-11-29 09:29:12 +13:00
Albert Juhé Lluveras 5fe5dbe5cd Categories table (https://github.com/woocommerce/woocommerce-admin/pull/903)
* Merge table stores

* Add Categories table

* Add numberFormat to non-currency numbers displayed to the user in the Categories Table

* Rename 'Coupons' to 'Categories' in Categories table title

* Update Categories table to use the ReportTable
2018-11-27 10:44:03 -08:00
Albert Juhé Lluveras 0cbe3034d8 Merge report tables (https://github.com/woocommerce/woocommerce-admin/pull/928)
* Merge report tables

* Remove unnecessary semicolon

* Improve sorting of variables

* Rename props to tableProps in ReportTable
2018-11-26 08:01:20 -06:00
Albert Juhé Lluveras b84fce8580 Add Summary to Products table (https://github.com/woocommerce/woocommerce-admin/pull/904)
* Add Summary to Products table

* Use numberFormat() in tables summary
2018-11-25 21:41:56 -06:00
Albert Juhé Lluveras 0acc43a551 Use numberFormat() to format all non-currency numbers in tables (https://github.com/woocommerce/woocommerce-admin/pull/913) 2018-11-25 21:31:38 -06:00
Albert Juhé Lluveras 2057741853 Merge table stores (https://github.com/woocommerce/woocommerce-admin/pull/896) 2018-11-22 17:12:12 -06:00
Paul Sealock 77589bae6f Merge pull request woocommerce/woocommerce-admin#902 from woocommerce/fix/chart-placeholder
Chart: persist orderedKeys when requesting data
2018-11-23 09:57:45 +13:00
Paul Sealock 7d65df783c Chart: Persist orderedKeys between state changes 2018-11-23 09:49:28 +13:00
Albert Juhé Lluveras 56d3a69d13 Default charts to 'time-comparison' (https://github.com/woocommerce/woocommerce-admin/pull/905)
* Default charts to 'time-comparison'

* Fix broken test in ReportChart
2018-11-22 07:03:35 -06:00
David Levin c3275fd4c9 Update order of summary numbers and remove product count 2018-11-21 20:52:24 -07:00
Robert Elliott fe66aa9623 updated tests remove layout 2018-11-21 16:41:09 +02:00
Robert Elliott 24758bc80d squashed commits for chart packaging
expand formatting function to xFormats

adding getTooltipValueFormat

remove old chart examples

remove magic numbers and use variables

refactor getTooltipRowValue

update package-lock

allow function formatters and use @wordpress/elements
2018-11-21 16:10:56 +02:00
Albert Juhé Lluveras 2a95345bb9 Add chartMode property to filters configuration (https://github.com/woocommerce/woocommerce-admin/pull/884)
* Add chartMode property to filters configuration

* Add tests

* Cleanup

* Add chartMode propType to filters
2018-11-20 16:21:47 -06:00
Paul Sealock 67c7dabc29 Add Variations table 2018-11-20 13:42:55 +13:00
Paul Sealock 38264239fc Merge pull request woocommerce/woocommerce-admin#824 from woocommerce/add/product-detail-link
Add/product detail link
2018-11-20 13:14:34 +13:00
Paul Sealock b7acbd9b2f Add Product Detail link in table 2018-11-20 12:57:36 +13:00
Paul Sealock 0d59998625 Persist chart settings 2018-11-20 12:55:30 +13:00
Albert Juhé Lluveras 9938707970 Add Taxes report table (https://github.com/woocommerce/woocommerce-admin/pull/881)
* Add Taxes report table

* Add taxes autocompleter to Search

* Minor fixes

* Improve @TODO comment explanation
2018-11-19 09:55:15 -06:00
Jonathan Belcher f167c27b5e Adds UI wiring for Coupons chart and summary (https://github.com/woocommerce/woocommerce-admin/pull/724)
* Adds UI wiring for Coupons chart and summary

* Update for changes in master

* Update to use current method

* Remove accidental paste

* Fix typo

* Seperate WooCommerce deps
2018-11-16 08:39:29 -05:00
Jonathan Belcher 8ddcb7ce4a Adds UI wiring for Catgories chart and summary (https://github.com/woocommerce/woocommerce-admin/pull/725)
* Adds UI wiring for Catgories chart and summary

* Use new format for charts

* Use swagger api

* Get rid of store references

* Final touch ups

* Seperate out WooCommerce dep
2018-11-16 08:33:58 -05:00
Albert Juhé Lluveras cc86233e0f Add Coupons report table (https://github.com/woocommerce/woocommerce-admin/pull/867)
* Add Coupons report table

* Fix propTypes warning in CouponsReportTable

* Remove unnecessary constructors from tables
2018-11-15 21:35:10 -06:00
Kelly Dwan 2a9cb6509b Build: Move components to packages dir (https://github.com/woocommerce/woocommerce-admin/pull/804)
* Move components to packages folder

* Update documentation generator to handle packages/components and client/components

* Update component locations

* Update CSS build process

* Remove react-dates css, this is already included by gutenberg

* Fix CSS style - single quotes

* Fix incorrect imports

* Update package-lock with new dependencies

* Update component locations for devdocs

* Fix location of tests
2018-11-15 13:16:23 -05:00
Jonathan Belcher 2dbe3e8cc7 Adds UI wiring for Taxes chart and summary (https://github.com/woocommerce/woocommerce-admin/pull/779)
* Adds UI wiring for Taxes chart and summary

* Update to latest method for creating summary/chart

* Switch out API for swagger

* Fix copy pasta

* Implement swagger api

* Update config to match swagger API

* Code review fixes

* Remove store code as it isnt used
2018-11-14 16:04:59 -05:00
Paul Sealock c809fa6cb9 Apply onQueryChange to more than just 'filter' 2018-11-14 09:56:39 +13:00
Albert Juhé Lluveras 5033a1ba5c Update comparison chart design and show it on the Product report (https://github.com/woocommerce/woocommerce-admin/pull/816)
* Display comparison chart in Product detail report

* Make legend to overflow in comparison charts

* Show comparison chart also when comparing products

* Update comparison chart legend design

* Send itemsLabel and comparisonChart as props to the ReportChart component

* Update styles and create a legend.scss file

* Minor cleanup

* Fix legend test

* Sort props alphabetically
2018-11-12 15:41:33 -06:00
Jonathan Belcher bccae052ae Refactor to remove products chart.js (https://github.com/woocommerce/woocommerce-admin/pull/799)
* Refactor to remove products chartjs

* Delete chartjs

* Fix copy pasta error
2018-11-12 11:28:03 -05:00
Jonathan Belcher e49997381b Refactor to remove revenue chartjs (https://github.com/woocommerce/woocommerce-admin/pull/800)
* Refactor to remove revenue chartjs

* Update index.js

* Remove extra line
2018-11-12 11:27:19 -05:00
Jonathan Belcher c102e78523 Creates a helper function to get selected chart (https://github.com/woocommerce/woocommerce-admin/pull/794)
* Creates a helper function to get selected chart

* remove console log

* Make sure charts is never empty

* Clarify docs
2018-11-07 12:19:59 -05:00
Jonathan Belcher ffee7cc841 Moves charts to config to delete chart.js (https://github.com/woocommerce/woocommerce-admin/pull/793) 2018-11-07 11:38:34 -05:00
Paul Sealock 50e635e716 Add Variations autocompleter 2018-11-05 17:43:59 -05:00
Kelly Dwan d27cb26ef7 Build: Move `lib/nav-utils` and `lib/history` to `@woocommerce/navigation` (https://github.com/woocommerce/woocommerce-admin/pull/763)
* Move nav-utils and history to new package

* Update config to build and use new navigation package

* Update all imports to use new navigation package

* Remove unnecessary README

* Update nav-utils path
2018-11-05 16:02:04 -05:00
Albert Juhé Lluveras c4bb740f1f Add error message to Top Selling Products table (https://github.com/woocommerce/woocommerce-admin/pull/750)
* Add error message to Top Selling Products

* Add margin bottom to Top Selling Products error message
2018-11-01 18:15:53 +01:00
Albert Juhé Lluveras 33cdba6945 Fix charts redirecting to previous path when changing interval value (https://github.com/woocommerce/woocommerce-admin/pull/731)
* Fix charts redirecting to previous path when changing interval value

* Fix chart being reset when changing interval

* Fix chart being reset when changing filters
2018-11-01 10:13:45 +01:00
Joshua T Flowers 0f45a08f20 Update order summary in Orders report (https://github.com/woocommerce/woocommerce-admin/pull/613)
* Move TableSummary below pagination

* Add summary to order table

* Add new and returning customers

* Add product to totals in API

* Use get_var instead of get_results for unique products

* Change table summary styling

Remove slashes and increase padding between items based on discussion with @LevinMedia

Change margin to padding to overlap table shadow when pagination is not present.

* Fix wp_posts prefix and move to separate fxn

* Change new/returning customer column types to intval

* Add new/returning customer data to tests and fix formatting
2018-10-31 14:09:38 -05:00
Paul Sealock e8f3258d47 Filters: Add Variations extra filters 2018-10-31 11:26:05 +13:00
Kelly Dwan f62537fc17 Try: Add Lerna to split out utility packages (https://github.com/woocommerce/woocommerce-admin/pull/678)
* Add lerna & GB package-building script

* Move currency library to lerna module

* Update lerna config

* Add publish commands

* Add currency as an faux-external module

* Add separate command to build just core files

* Update dependency path

* Update build script to build all packages into `dist`

* Add packages to the jest test setup

* Move date library to packages

* Update imports to use @woocommerce/date

* Output wcSettings definition before any scripts are output

Fixes issues where wc-dates lib relies on settings object

* Add the build step into travis

* Update jest config to dynamically get package paths

* Update package postcss config to match wc-admin’s main config

* Add combined watch scripts for package+app, add a `clean` command to clean up old build files

* Ignore PHPCS error (leave todo message to fix)

* Concat files with a space, fix issue where all files join in one continuous string and fail the check
2018-10-30 14:57:48 -04:00
David Levin a1e8eb0a80 Fix spelling of AVERAGE order value in orders report 2018-10-30 10:24:34 -07:00
Albert Juhé Lluveras 2b3446540c Move withSelect() inside table components (https://github.com/woocommerce/woocommerce-admin/pull/707)
* Move withSelect() inside table components

* Add isLoading prop to TableCard (https://github.com/woocommerce/woocommerce-admin/pull/713)

* Add isLoading prop to TableCard

* Add onSort prop to TablePlaceholder

* All checkbox shouldn't be checked if the number of rows is 0
2018-10-29 08:57:05 +01:00
Paul Sealock 7e5c124ce1 Filters: Add params to request query 2018-10-29 13:07:13 +13:00
Jonathan Belcher 57e46e3273 Updates default analytics menu (https://github.com/woocommerce/woocommerce-admin/pull/658)
* Updates default analytics menu

* Make revenue the default analytics page

* Fix header link to direct to Revenue report

* Fix highlighting with additional filters
2018-10-27 13:38:35 -04:00
Albert Juhé Lluveras 0caed9a28a Create QUERY_DEFAULTS object with default values for queries (https://github.com/woocommerce/woocommerce-admin/pull/686) 2018-10-26 10:19:39 +02:00
Albert Juhé Lluveras 1c819740f4 Persist date params in Products table link (https://github.com/woocommerce/woocommerce-admin/pull/671) 2018-10-25 12:07:30 +02:00
Albert Juhé Lluveras 2cce4e90c5 Use downloadable prop in Products report table (https://github.com/woocommerce/woocommerce-admin/pull/668) 2018-10-24 16:25:53 +02:00
Albert Juhé Lluveras 29f68a9ce8 Products table (https://github.com/woocommerce/woocommerce-admin/pull/619)
* Add Products table

* Update tests

* Cleanup

* Make placeholder table have the correct sorted column selected

* Change default sort to items_sold & desc

* Fix wrong CSV filename

* Remove unnecessary constructor in ProductsReportTable

* Add @TODO comment to Products table summary

* Set ProductsReportTable link to wc-admin type

* Make sure categories is an array before using map
2018-10-24 09:50:05 +02:00
Albert Juhé Lluveras 7be34b3f37 Move Download table logic inside the TableCard component (https://github.com/woocommerce/woocommerce-admin/pull/652)
* Move Download table logic inside the TableCard component

* Make title lowercase inside generateCSVFileName

* Update JSDoc comment
2018-10-24 09:48:20 +02:00
Albert Juhé Lluveras b757247c52 Move Revenue table to its own component (https://github.com/woocommerce/woocommerce-admin/pull/623)
* Move revenue table to its own component

* Remove unnecessary constructor in RevenueReportTable
2018-10-23 10:07:23 +02:00
Albert Juhé Lluveras 7979dbc474 Make Orders placeholder table have the correct sorted column (https://github.com/woocommerce/woocommerce-admin/pull/620)
* Make Orders placeholder table have the correct sorted column

* Fix wrong CSV filename
2018-10-23 09:49:04 +02:00
Jonathan Belcher 0828ea5258 Fixes number formatting on charts (https://github.com/woocommerce/woocommerce-admin/pull/529) 2018-10-19 09:23:47 -04:00
Paul Sealock b168f36cf2 Merge pull request woocommerce/woocommerce-admin#583 from woocommerce/fix/primary-secondary-typo
ChartData: fix typo in primary/secondary data
2018-10-19 11:17:09 +13:00
Paul Sealock 894105e601 ChartData: fix typo in primary/secondary data 2018-10-19 10:15:03 +13:00
Timmy Crawford d64fda9c54 Orders Report: Fix key prop warning. (https://github.com/woocommerce/woocommerce-admin/pull/580) 2018-10-18 13:45:59 -07:00
David Levin f74ae15b91 Update the order of orders report summary numbers (https://github.com/woocommerce/woocommerce-admin/pull/547)
* Update the order of orders report summary numbers

* Teamwork makes the dreamwork.
2018-10-18 13:45:36 -07:00
Paul Sealock 71b2435d96 Merge pull request woocommerce/woocommerce-admin#565 from woocommerce/try/fix-dry-queries-2nd-round
Reports: create queries for data requests in one place
2018-10-19 09:33:12 +13:00
Paul Sealock d4564853c6 Merge pull request woocommerce/woocommerce-admin#538 from woocommerce/add/filters-search
Add/filters search
2018-10-19 09:32:47 +13:00
Jonathan Belcher 06163430a4 Add products report Chart and Summary (https://github.com/woocommerce/woocommerce-admin/pull/548)
* Add products report Chart and SUmmary

* Move items sold to primary position
2018-10-18 12:54:38 -04:00
Albert Juhé Lluveras 8cf34964e5 Align status indicator to the right in Orders table (https://github.com/woocommerce/woocommerce-admin/pull/539)
* Align status indicator to the right in Orders table

* Align 'Order' column to the right in Orders table
2018-10-18 12:43:45 +02:00
Paul Sealock f8e824b609 remove uneeded filters 2018-10-18 21:02:51 +13:00
Paul Sealock aa603eabab Filters: fix updates and configs 2018-10-18 12:48:24 +13:00
Paul Sealock cf358f50fc Reports: create queries for data requests in one place 2018-10-18 12:02:31 +13:00
Jonathan Belcher 74d8d431e4 Removes unwanted orders report filters (https://github.com/woocommerce/woocommerce-admin/pull/553) 2018-10-17 16:50:05 -04:00
Jonathan Belcher f6353591e3 Adds report error component (https://github.com/woocommerce/woocommerce-admin/pull/543)
* Adds report error component

* Add ReportError to chart and summary

* Review fixes
2018-10-17 14:56:50 -04:00
Albert Juhé Lluveras 3982ebc32e Create appendTimestamp() utils function (https://github.com/woocommerce/woocommerce-admin/pull/542)
* appendTimestamp() utils function

* Make appendTimestamp() to throw and error if timeOfDay is not a valid value
2018-10-17 18:01:58 +02:00
Albert Juhé Lluveras 36c37afe49 Hide day from X axis when the time period is too long (https://github.com/woocommerce/woocommerce-admin/pull/525)
* Refactor getXTicks

* Hide day from X axis when the time period is too long

* Fix X axis labels misaligned in charts

* Align axis ticks to the first day of the month when not displaying the day number

* Store threshold in a variable

* Add missing JSDoc

* Fix charts hanging when the number of days selected was exactly 180

* Improve function naming

* Fix dayTicksThreshold mismatch between date format and chart layout
2018-10-17 15:44:43 +02:00
Jonathan Belcher 69a47f0019 Use analytics summary and graph components in revenue report (https://github.com/woocommerce/woocommerce-admin/pull/523) 2018-10-16 13:42:13 -04:00
Jonathan Belcher 386933a182 Refactors out summary and graph (https://github.com/woocommerce/woocommerce-admin/pull/517)
* Refactors out summary and chart
2018-10-16 12:07:43 -04:00
Albert Juhé Lluveras ae6652b26c Send params with Orders table API calls (https://github.com/woocommerce/woocommerce-admin/pull/519)
* Send params with Orders table API calls

* Add onError case and caching for Orders calls

* Remove unused actions

* Load only 'processing', 'on-hold' and 'completed' orders

* Use NAMESPACE constant instead of hard-coded value

* Comment typos

* Add tests to Orders reducer, resolvers and selectors

* Typos

* Fix JSDoc mismatch
2018-10-16 10:50:07 +02:00
Paul Sealock 4bc8c82820 Merge pull request woocommerce/woocommerce-admin#457 from woocommerce/fix/advanced-filters-i18n
i18n: Advanced Filters strings
2018-10-16 10:54:45 +13:00
Albert Juhé Lluveras 8120cc7d6a Rename 'mock-data' files so they don't have the same file name (https://github.com/woocommerce/woocommerce-admin/pull/522) 2018-10-15 19:06:37 +02:00
Albert Juhé Lluveras 17e9f151be Create ViewMoreList component (https://github.com/woocommerce/woocommerce-admin/pull/503)
* Create ViewMoreList component

* Update Tag component with the new style and popover

* Display number of times an item was bought in the Orders table (2x, 1x, ...)

* Refactor ViewMoreList so the elements to display in the list and the popover are different props

* Cleanup

* Fix CSV values for products and coupons

* Minor fixes

* Rename ViewMoreList prop from 'popoverItems' to 'items'

* Cleanup props

* Add ViewMoreList to devdocs examples

* Order Tag props alphabetically

* Move withState to export line so it doesn't break docs generation

* Rename 'is-not-unique' class name to 'is-inline'

* Fix missing comma

* Remove margin from popover list

* Use pseudo-selector to replace 'is-inline' class in cell links
2018-10-12 23:29:25 +02:00
Jonathan Belcher 96f2024305 Round average orders in order summary (https://github.com/woocommerce/woocommerce-admin/pull/515) 2018-10-12 11:02:58 -04:00
Paul Sealock 178135eea5 i18n: Advanced Filters strings 2018-10-12 16:58:35 +13:00
Jonathan Belcher da8ad49762 Re-add Render Table 2018-10-11 15:30:43 -04:00
Jonathan Belcher 27fa0bfc85 Follow new summary numbers pattern 2018-10-11 15:27:29 -04:00
Jonathan Belcher e3224a5abb Merge branch 'master' into add/410-order-summary-numbers 2018-10-11 14:45:35 -04:00
Justin Shreve c340a808a7 Break out summary number logic from chart/table (https://github.com/woocommerce/woocommerce-admin/pull/510) 2018-10-11 14:45:01 -04:00
Kelly Dwan 3d297a8f5c Reports: Update summary number label based on selected compare interval (https://github.com/woocommerce/woocommerce-admin/pull/506) 2018-10-11 13:46:56 -04:00
Jonathan Belcher 26300fb953 Adds graphs 2018-10-11 13:07:59 -04:00
Jonathan Belcher aa56621ab8 Get Order Summary working with API 2018-10-11 12:00:06 -04:00
Jonathan Belcher 0a562e6e37 Merge Commit 2018-10-11 11:43:25 -04:00
Albert Juhé Lluveras 9623898acd Add Orders table (https://github.com/woocommerce/woocommerce-admin/pull/493)
* Create Orders table

* Remove getOrderIds selector

* Create an OrdersReportTable component

* Alphabetically order extracted props

* Fix JS error for missing coupon properties

* Add TODO comment for missing customer type

* Add calculation for net revenue

* Align all table cells but identifier to the right

* Remove temporary text

* Improve cell link inline CSS

* Count several purchases of the same product as items sold

* Add TODO message to coupon link

* Add Download to Orders table

* Don't use camelCase for table column keys

* Cleanup

* Make products and coupons columns non-sortable

* Create renderList method to simplify products/coupons list creation

* Display correct currency for each order

* RTL table fixes

* Fix: products and coupons columns showing 'false' in CSV download

* Minor fixes

* Rename 'isIdentifier' with 'isLeftAligned' in table columns

* Remove toggleStatus method
2018-10-11 10:30:51 +02:00
Jonathan Belcher 8ee2a58fb3 Adds Order Summary Numbers 2018-10-10 16:29:12 -04:00
Kelly Dwan 1351997eef TableCard: Add search to table header (https://github.com/woocommerce/woocommerce-admin/pull/495)
* Add label override options to TableCard

* Add search input to the tableHeader

* Style search in table header
2018-10-10 10:12:00 -04:00
Justin Shreve 5a6749b15c Make tabular data independent of chart interval (https://github.com/woocommerce/woocommerce-admin/pull/483)
* Make Tabular data independent of Chart Interval

* Make table and summary numbers placeholders independent of chart
2018-10-10 09:57:16 -04:00
Albert Juhé Lluveras 1900bb0917 Improve charts accessibility (https://github.com/woocommerce/woocommerce-admin/pull/421)
* Add aria roles to chart elements

* Make individual points (in line charts) and individual bar (in bar charts) focusable

* Remove methods which are never used

* Reduce the number of parameters required by functions that display/hide the tooltip

* Use tooltipFormat for accessibility dates

* Rename 'formatVoiceDate' function to 'getTooltipDate'

* Use string literals for aria-label

* Remove table role which was no longer needed

* Add aria-hidden to X-axis in charts

* Remove 'key' from points/bar aria-label in charts

* Set different ARIA properties depending on chart mode (time or item comparison)

* Label should default to an empty string instead of a 0

* Use date format from params instead of hardcoded
2018-09-25 11:42:08 +02:00
Paul Sealock 58195911a7 AdvancedFilters: Add request for orders statuses 2018-09-25 11:39:47 +12:00
Albert Juhé Lluveras 31289e8c82 Transpose and update format of chart tooltip dates (https://github.com/woocommerce/woocommerce-admin/pull/467)
* Fix dates transposed in revenue chart

* Update date format in revenue chart tooltip labels

* Load point label date formats from lib/date

* Pass point label format as a prop to the chart component
2018-09-24 13:11:18 +02:00
Kelly Dwan 6d2eec1c12 Update `layout/*` file structure (https://github.com/woocommerce/woocommerce-admin/pull/463)
* Move section, header, and activity panel out of layout folder

* Update file soures

* Move documentation into component, and update generation script to handle the duplicated exports
2018-09-21 11:19:05 -04:00
Paul Sealock a299aad167 Coupons: add config, autocompleter 2018-09-21 11:54:22 +12:00
Albert Juhé Lluveras a18a9cd89a Update tooltip title and labels in standard graphs (https://github.com/woocommerce/woocommerce-admin/pull/458)
* Allow adding a label for each specific point in a chart

* Update test fixtures

* Update README with new data format

* Simplify getPreviousDate function code

* Update tooltip dates format

* Add new prop to charts 'tooltipTitle' to override the date tooltip title

* Fix totals not being calculated in charts legend

* Fix JS error when hiding lines in chart

* Fix a couple of issues with chart README

* Add quotes around prop names

* Remove unused variable

* Remove colon after tooltip label
2018-09-20 16:28:22 +02:00
Kelly Dwan 60f7c99753 Update label config to provide more specific labeling to each filter (https://github.com/woocommerce/woocommerce-admin/pull/432) 2018-09-19 13:23:57 -04:00
Kelly Dwan 1c6fe0e970 Compare Filter: Wrap up compare card functionality (https://github.com/woocommerce/woocommerce-admin/pull/431)
* Disable compare button if less than 2 items are selected

* Add a placeholder prop to the Search component

* Pass a placeholder label from filter configs for Search

* Add support for a label in Search

* Add Clear All link to reset comparison card

* Add a label when compare button is disabled

* Abstract the conditional tooltip/disabled button logic to a new component

* Add helpText as a customizable label

* Add icon to the search field

* Remove the parameter from query by passing in undefined
2018-09-19 13:16:52 -04:00
Kelly Dwan f2e0165d5f Component – Table: Add compare checkboxes (https://github.com/woocommerce/woocommerce-admin/pull/389)
* Switch to withInstanceId higher order component

* Add checkboxes to the rows in a TableCard, if a compareBy prop is set

* Add Compare button to update query param

* Populate the selected rows from the query parameter

* Update compare filter display & selected table rows when the query changes

* Skip displaying tags if the label is null/undefined

* Style table header with compare button, search placeholder

* Prevent setting just an ID list as the state, as this will wipe out already-fetched tag labels

* Update docs

* Shortcut out of fetching tag labels if the query is empty
2018-09-18 10:12:13 -04:00
Kelly Dwan 7ecd6d160b Add mock product report, helper functions (https://github.com/woocommerce/woocommerce-admin/pull/387)
* Add a mock table to Products report

* Move onQueryChange to a helper function in nav-utils

* Add function to parse out ID lists from a query parameter

* Add a default value

Prevents undefined query params from erroring on the `.split`

* Use numberFormat rather than forcing type conversion, fix table header name

* Fix duplicate export caused by merge conflict
2018-09-17 12:50:20 -04:00
Timmy Crawford 8eb0906287 Chart: Add styling needed to not be wrapped by card. (https://github.com/woocommerce/woocommerce-admin/pull/408)
* Chart: Add styling needed to not be wrapped by card.

* Add negative top margin back

* Fix placeholder css.
2018-09-14 09:17:39 -07:00
Robert Elliott b5b84fe72c Merge pull request woocommerce/woocommerce-admin#393 from woocommerce/fix/rev-report-chart-date-parser
Revenue Report: align date formats for the chart
2018-09-14 12:37:16 +02:00
Robert Elliott 45089c1602 2nd x-axis format 2018-09-14 11:53:54 +02:00
Paul Sealock 842c23201e AdvancedFilters: Update Search usage to use 'getLabels' from config 2018-09-14 10:17:35 +12:00
Robert Elliott 29113cffe8 align date formats for the chart 2018-09-12 09:22:08 +02:00
Paul Sealock 925140fc78 Merge pull request woocommerce/woocommerce-admin#349 from woocommerce/add/advanced-filters-url-support
Advanced Filters: Add url support
2018-09-12 14:31:13 +12:00
Justin Shreve baf44d030f Add interval handling to the revenue report. 2018-09-12 12:28:25 +12:00
Paul Sealock 3e7bed27cc Search: move selected from state to props 2018-09-11 16:18:10 +12:00
Robert Elliott e38284eb96 Merge pull request woocommerce/woocommerce-admin#381 from woocommerce/add/chart-legend-order
Chart Component: remove chart legend ordering for layout=standard and color scales
2018-09-10 16:04:36 +02:00
Kelly Dwan eee638b12b Component – Filters: Add "comparison" card (https://github.com/woocommerce/woocommerce-admin/pull/368)
* Add a new component with product search for the compare card

* Get product names from API when passed through URL

* Abstract out the products-related code into filter settings

* Update filters to provide multiple comparisons

Alternative to the “Compare [dropdown]” approach

* Update documentation

* Wipe selected items when the compare-type is updated

* Update labels & order of items in filter dropdown

* Add getLabels prop & description
2018-09-10 09:59:14 -04:00
Robert Elliott 3fdd9164c8 only sort on totals for layout=comparison & add dateParser prop for date formatting 2018-09-10 14:57:36 +02:00
Justin Shreve 251d9804ef Remove test code/examples and disable the inbox activity panel. (https://github.com/woocommerce/woocommerce-admin/pull/355)
* Remove test code/examples and disable the inbox activity panel.

* Remove search example
2018-09-05 14:52:48 -04:00
Justin Shreve f5479e1c18 Add loading indicators, error state, and EmptyContent to the revenue report. (#347, woocommerce/woocommerce-admin#348)
* Add loading indiciators for the revenue report.

* Improve accessibility, and fix up some documentation comments.

* Fix top border on mobile

* Add EmptyContent Component and revenue error/empty states. (https://github.com/woocommerce/woocommerce-admin/pull/348)

* Add EmptyContent Component and revenue error/empty states.

* Move relative image handling to ImageAsset, combine secondary and primary action rendering, add some missing isRequired proptypes, add empty error handling.

* Handle PR Feedback: Clean up button css, set a default for illustration, fix deprecation typo, some code cleanup.
2018-09-05 12:45:49 -04:00
Paul Sealock ab97ed02c7 Search: move selected from state to props 2018-09-04 12:02:40 +12:00
Justin Shreve 4e2661f3f1 Connect the revenue report to the api (https://github.com/woocommerce/woocommerce-admin/pull/316) 2018-09-03 11:25:38 -04:00
Albert Juhé Lluveras da2317f154 Add CSV download to Revenue table (https://github.com/woocommerce/woocommerce-admin/pull/326)
* Add CSV download to Revenue table

* Set revelant file name for revenue CSV file download

* Add package-lock.json

* Move CSV download logic inside /lib/

* Remove 'totals' from table CSV

* Check parameters are arrays in generateCSVDataFromTable

* Add @TODO comment about downloading large sets of data
2018-09-03 09:54:45 +02:00
Kelly Dwan e19aff2169 Components: Add a search component based on Autocomplete (https://github.com/woocommerce/woocommerce-admin/pull/322)
* Add `Search` & `Tag` components

* Fork the Autocomplete component to support a single completer & input field

* Add results inline, not as popover

* Highlight search term in results list

* Check if the item is already selected

* Update docs

* Remove unused properties

* Remove temporary max-width

Once merged, we can tweak real styles

* Use stringifyQuery
2018-08-28 15:15:24 -04:00
Kelly Dwan 4b30e78ae6 Filters: Remove `filterpaths` props (https://github.com/woocommerce/woocommerce-admin/pull/315)
* Filters: Remove filterPaths, add path as property to filters object

* Set a default path, so we only need to configure it for changed paths

* Fix nav & filter fetching for nested lists

* Add “go back” functionality to all subfilter lists, not only ones with components set

* Make label optional on component options

* Update documentation to remove mention of filterpaths

* Add documentation on the filters structure
2018-08-22 16:20:19 -04:00
Timmy Crawford f4814ee46f Merge pull request woocommerce/woocommerce-admin#306 from woocommerce/update/revenue-chart
Revenue Report: Use href on SummaryNumber components.
2018-08-21 08:44:29 -07:00
Kelly Dwan 6ce012a2e7 Extensions: Add filter to allow third-party registration of reports (https://github.com/woocommerce/woocommerce-admin/pull/298)
* Create page helper function

* Enable filtering of report content for extensions to inject new reports

* Add error boundary

* Add documentation for the reports filter
2018-08-20 17:24:17 -04:00
Kelly Dwan dec97d178e Components: Export reusable components to a separate file + global (https://github.com/woocommerce/woocommerce-admin/pull/297)
* Importing all components from a root components file

* Update Ratings component to avoid circular dependencies, fix tests

* Export components on `wc.components`, use this for importing

* Move react-dates initialize to the components file

* Push query changes to history

Fixes an issues where native a links do not update the query in `history`

* Update test config for new @woocommerce/components path

* Update chart components import

* Merge simple/complex & alphabetize by first exported name

* Add a readme with info about how to call these components
2018-08-20 17:18:13 -04:00
Timmy Crawford f555fed33a Revenue Report: Use href on SummaryNumber components. 2018-08-20 13:40:17 -07:00
Timmy Crawford 9033d88b84 Remove trailing slash. 2018-08-20 09:23:33 -07:00
Timmy Crawford 85e428c2d4 Analytics: Add Chart to Revenue Report. 2018-08-17 15:47:54 -07:00
Kelly Dwan c16be4d061 Add ReportFilters Component
Add new function to merge query params into a given path

Add a new ReportFilter component, which extracts the date picker & filter picker

Add basic framework for product search

Add new AdvancedFilter to filter options

Remove duplicate CSS

Use library function for merging new query+path

Move filters folder out of reports

Use filter constant

Add README

Add path & query helper functions

Move filters into component folder

Switch to getPath/getQuery helpers

Update classes & merge styles

Remove query/path from READMEs

Add a readme to nav-utils
2018-08-15 11:15:30 +12:00
Kelly Dwan ff8217165d Table: Update style to match design (https://github.com/woocommerce/woocommerce-admin/pull/289)
* Table: Add a hover state for rows

* Expand target area for table links to take over entire cell

* Add a purple link style for default links

* Increase contrast for links-on-hover-color

* Add “isNumeric” column identifier & right-align these cols
2018-08-13 11:25:32 -04:00
Paul Sealock b427249aa1 Advanced Filters: add card and config 2018-08-09 12:16:46 +12:00
Kelly Dwan 2bea232494 Import compose from `wordpress/compose` (https://github.com/woocommerce/woocommerce-admin/pull/278)
As of Gutenberg 3.3, compose is in its own package - element.compose is deprecated
2018-08-06 17:33:55 -04:00
Kelly Dwan 4c2797d6cf Table: Add "required"/"sortable" meta to headers/columns (https://github.com/woocommerce/woocommerce-admin/pull/275)
* Switch headers to an object, use `header.label` to display title

* Change sort function to update a query param

* Clean up README

* Get the currently sorted column from the query

* Don’t allow toggling of required columns

* Add in direction-sorting (ascending/descending)

* Switch to aria-describedby so that the actual column name is read aloud

* Fix chevron orientation

* Handle hiding a sorted column

* Fall back to sorting by first item if no defaultSort col is set

* Fix arrow orientation again

* Update order_by to orderby to match wp_query param name
2018-08-06 13:01:41 -04:00
Kelly Dwan 8141a9f66d Update/table component (https://github.com/woocommerce/woocommerce-admin/pull/251)
* Update mock data to reflect latest API format

* Update Table component to create a TableCard, TableSummary, and plain Table

Use the TableCard container to display mocked revenue data

* Add horizontal scroll only on the table itself

* Remove `sortable` prop, base column sortability on whether the `value` is true/false

Checking against a strict false should prevent any real 0 or ‘’ values from triggering unsortability

* Add a checkbox to the demo table

* Update accepted props

* Update README for TableCard, Table, and TableSummary

* Update README

* Fix confused defaults
2018-08-01 12:00:45 -04:00
Paul Sealock 735dfcd272 Merge pull request woocommerce/woocommerce-admin#239 from woocommerce/fix/calendar-component
Datepicker: Refactor Calendar to fully controlled component
2018-07-31 11:10:20 +12:00
Kelly Dwan 727654ff3b SummaryNumber Component: Update to latest hifi design (https://github.com/woocommerce/woocommerce-admin/pull/237)
* Add first pass + demo of updated SummaryNumber

* Add new larger screen breakpoint

* Remove the max-width from the content wrapper

* Update previous label text

* Fix the border colors/sizing

* Create a mixin to generate the grid template pattern

* Add green/red colors based on trend, with prop to reverse

In some cases, a downward trend is good (ex, refunds), so we want to be able to color those green

* Move selected number containers up to avoid the double-border

* Document className logic, and apply 10-item layout to all cases of 10+ items

* Remove layout notes

* Update component docs, clean up optional displays

* Update style of SummaryNumbers inside cards

* Filter out any `false` or otherwise unrenderable children

* Fix card borders

* Update dashboard component to use new props

* Check that prevValue is defined

a prevValue of 0 was incorrectly outputting `0` for both label and value

* Update no-change datapoint style

* Update default data values

Rather than hiding the prevValue/label or delta section if these are not passed through, use default N/A placeholders

* Change SummaryList & SummaryNumber to a list of links

Add active, hover, and focus styles

* Add a short help text for screen reader users

* Add href to README

* Add the href prop to the readme example

* Fix border colors

The `nth-of-type` rules need to be on the `li` containers

* Fix font-weights on value & delta

* Wrap the previous label/value when the percentage wraps
2018-07-30 11:14:09 -04:00
Paul Sealock b34b2efbbc Use wp.data on Orders report
Update to Gutenberg 3.3
2018-07-30 11:17:28 +12:00
Paul Sealock 0df86cb6f6 Datepicker: Refactor Calendar to fully controlled component 2018-07-30 11:11:52 +12:00
Paul Sealock 31c055fd57 Component: Filter Picker 2018-07-17 12:25:00 +12:00
Kelly Dwan 96925f77fa Component: Fix rows prop in Table (https://github.com/woocommerce/woocommerce-admin/pull/193)
* Move component lifecycle method to top of component

* Update rows if the rows passed in via props have changed

This lets us bring in API changes, but will wipe out any sorting (revisit in a later PR, perhaps)

* Pass rows through to Table even if we don’t have rows loaded yet

Adds todo comment to remind that we should come back to add a placeholder/loading state
2018-07-13 15:36:41 -04:00
Justin Shreve 71c12e6795 Update woo-dash naming to new wc-admin name (https://github.com/woocommerce/woocommerce-admin/pull/183) 2018-07-10 08:48:06 -04:00
Paul Sealock a4305347ce Datepicker: Add styles 2018-07-03 11:41:38 +12:00
Justin Shreve d604f3625c Rename sidebar to activity-panel, and refactor code and behavior. 2018-06-28 09:52:45 -04:00
Timmy Crawford 88e1764720 Use swagger data in table. 2018-06-26 15:17:05 -07:00
Timmy Crawford 474f3ac5d0 use formatCurrency and update the utility to default to the WC settings currency 2018-06-26 14:39:29 -07:00
Timmy Crawford e20ccf1fe1 Use swagger mock endpoints to fetch data. 2018-06-26 14:25:42 -07:00
Justin Shreve ba68ada59d Add Pagination Component (https://github.com/woocommerce/woocommerce-admin/pull/117)
* Add pagination component

* Refactor query string/route updating so it can be done using a nav-utils helper function

* Fix typo and adjust accessibility attributes for error handling and current page

* Update styles
2018-06-26 10:59:35 -04:00
Kelly Dwan b1c2b3fdc4 Add Table component (https://github.com/woocommerce/woocommerce-admin/pull/118)
* Update package-lock

* Add data table component

* Add fake data & display revenue on the analytics test report

* Update styling

* Display table inside a card

* Update mock data to be easier to scan for testing ascending/descending

* Fix sorting function to correctly sort all columns

* Check column content before determining “sortability” — objects (links) are not sortable

* Update README

* Add translation to scroll helper text
2018-06-20 11:09:37 -04:00
Timmy Crawford 652fdd8be1 Add support for different report components, and create revenue report component. 2018-06-14 13:15:11 -07:00
Kelly Dwan bc084b7302 Add Summary Number/Performance Tile component (https://github.com/woocommerce/woocommerce-admin/pull/109)
* Add SummaryList and SummaryNumber components

* Add a demo of SummaryList/SummaryNumbers

* Pages without the sidebar displayed can use a larger max-width

* Adjust layout styles for smaller screens
2018-06-14 11:16:57 -04:00
Paul Sealock b25fdc3f31 DatePicker: Add url support and container 2018-06-05 10:20:25 +12:00
Justin Shreve e110283997 Set document title (https://github.com/woocommerce/woocommerce-admin/pull/79)
* Set the document title based on header sections

* Set dashboard default title via PHP to avoid a title switch
2018-05-24 12:03:03 -04:00
Paul Sealock ee5e314668 Merge pull request woocommerce/woocommerce-admin#63 from woocommerce/add/segmented-selection
Component: add segmented selection
2018-05-24 11:19:21 +12:00
Paul Sealock 631ce420a4 Component: add segmented selection 2018-05-24 11:14:19 +12:00
Justin Shreve d4ade607d8 Add agenda widget base and related components (https://github.com/woocommerce/woocommerce-admin/pull/57)
* Add agenda widget with accordion

* Add AgendaItem, README, and do some cleanup

* Handle PR Feedback: Rename AgendaAccordion to AgendaGroup, accept an href prop for a non-accordion state. Accept onClick or href for AgendaItem, a11y fixes, fix some typos, update examples & README.

* Address PR Feedback: Rename AgendaGroup to AgenaHeader, use a direct link for href mode, use IconButton instead of Button & Dashicon, pull out link rendering to its own method. Use <Link /> for app links.

* Combine box-shadow focus/hover rule and add transparent background

* Make `count` optional
2018-05-22 11:19:56 -04:00
Justin Shreve e5bb7e556b Add routing capabilities with basic analytics page (https://github.com/woocommerce/woocommerce-admin/pull/44)
* Add routing capabilities with basic analytics page

* Pass query string to child component
2018-05-15 11:06:15 -04:00