Commit Graph

151 Commits

Author SHA1 Message Date
Joshua T Flowers b7379def1b Format todo comments to match WC Core format (https://github.com/woocommerce/woocommerce-admin/pull/1474)
* Format todo comments to match WC Core format

* Remove variations todo comment
2019-02-06 14:41:53 +08:00
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 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 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
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
Jeff Stieler 0ef976f964 Increase default wc-api timeout to 1 minute.
Large datasets may cause responses to take longer than 5 seconds.
2019-01-22 11:22:28 -07: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
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 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
Albert Juhé Lluveras 5dcea1af6f Remove wc-api customers (https://github.com/woocommerce/woocommerce-admin/pull/1338) 2019-01-17 19:07:21 +01:00
Joshua T Flowers ee19308254 Add initial state hydration for user data (https://github.com/woocommerce/woocommerce-admin/pull/1297)
* Hydrate initial state through localized script

* Parse user meta for default rows as integer

* Change eslint ignore to undef only

* Add currentUserData to wcSettings
2019-01-15 10:24:06 +08:00
Jeff Stieler c223977dbd Hook up customers report table to real data. 2019-01-09 17:45:24 -07: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
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 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
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
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 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
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
Paul Sealock 15bbbe739d Hook up Categories table to endpoint 2018-12-19 08:36:42 +13: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
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 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
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 c679c8bad7 Extend customers data with data from WC endpoint 2018-12-12 15:22:25 +01:00
Justin Shreve 20e202080a Add Live Data to Reviews Panel (https://github.com/woocommerce/woocommerce-admin/pull/1055)
* Add Live Data to Reviews Panel
Adds the ability to embed the product in a product review response

* Clean up code needed to embed some product fields.

* Add API response tests
2018-12-12 08:35:56 -05:00
Albert Juhé Lluveras 8ad6ce9f06 Add customers endpoint to wc-api operations (https://github.com/woocommerce/woocommerce-admin/pull/1061) 2018-12-12 09:52:50 +08:00
Jeff Stieler a8247e8e7e Remove defunct todo comment about swagger hub endpoint pagination headers. 2018-12-10 08:19:28 -07:00
Jeff Stieler d0066f0a60 Add support for “variations” Report Items type. 2018-12-07 16:39:44 -07:00
Jeff Stieler be74e22a01 Remove unnecessary variable and rename Report Items selectors for consistency. 2018-12-07 16:39:44 -07:00
Jeff Stieler 7aeb69916a Fix swagger hub requests from wc-api (url vs. path). 2018-12-07 16:39:43 -07:00
Jeff Stieler d28eb0bcc9 Consider pre-flight wc-api requests to be “requesting”. 2018-12-07 16:39:43 -07: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 0d6cd1a776 Add report stats to the `wc-api` spec. 2018-12-07 16:39:40 -07:00
Jeff Stieler cfd4462941 Allow nested objects in the `getResourceName()` identifier. 2018-12-07 16:39:40 -07:00
Jeff Stieler 736d927ead Add fresh-data backed report stats operations and selectors. 2018-12-07 16:39:40 -07:00
Kevin Killingsworth acfe2d28ae withSelect: fix for multiple select() calls (https://github.com/woocommerce/woocommerce-admin/pull/1037)
* withSelect: fix for multiple select() calls

This fixes a problem with a fresh-data store implementation that was
cancelling out previous requirements when mapSelectToProps
select( 'wc-api' ) was called more than once.

* wc-api: Only clear if no requirements selected.

Small update to only clear out a component's requirements if withSelect
returns without any requirements.
2018-12-07 17:04:52 -06:00
Justin Shreve 8d4b0fcc07 Fix Activity Panel on existing WooCommerce pages (https://github.com/woocommerce/woocommerce-admin/pull/1004)
* Fix Activity Panel on embedded pages

* Fix comment typo
2018-12-06 17:08:40 -05:00
Jeff Stieler d605ecd74e Order data: fix isGetOrdersRequesting() for the first request.
Ensure a boolean return from isGetOrdersRequesting() and handle cases where requests haven’t taken off or responses haven’t been received yet.
2018-12-03 11:55:04 -07: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
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