Commit Graph

319 Commits

Author SHA1 Message Date
Darren Ethier 33c5b41e3f Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674)
* align code styles with the same configuration as Woo-Blocks

* initial pass of reformat-files

* applies manual fixes to various new linting errors surfaced by the configuration change.

* Fix state mutation in image-upload

* remove unused pre-commit-hook.js

* requestAnimationFrame -> window.requestAnimationFrame

* wc-api eslint changes

* eslint fixes on client/lib and client/settings

* client/header eslint changes

* fixes for client/dashboard part 1

* fixes client/dashboard part 2 of 2

* client/analytics part 1

* client/analytics continued

* client/analytics, last batch

* rename __mock__ directory

* pass in useEffect, useState from React component or function

* remove '+' from sprintf string argument

* use ref instead of findDOMNode

* reformat and repaply package.json changes

* install deps before running linter in Travis

* useGetCountryStateAutofill

* counryStateAutofill

* countryStateAutofill

Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-02-14 15:23:21 +13:00
Paul Sealock 8205112732 Add currency extension (https://github.com/woocommerce/woocommerce-admin/pull/3328)
* Add currency extension

* use wcSettings

* save

* get revenue working

* all reports

* remove error log

* better rename

* add column

* persist queries

* go back to individual hooks

* comments

* address feedback
2019-12-06 11:38:26 +13:00
Jeff Stieler 9469663379 Decouple date package from `wcSettings`. (https://github.com/woocommerce/woocommerce-admin/pull/3278)
* Decouple date package from wcSettings.

* Update missed documentation and example.

* Expect simpler prop values for date filter.

* Remove unused props from primary/secondary dates.

* Avoid introducing moment dependency for type checking.

* Handle null moment/date values in DateRangeFilterPicker.

* Fix missing ISO date format.

* Fix moment instance detection.
2019-11-26 14:39:40 -05:00
Jeff Stieler c2020507e3 Decouple Navigation from `wcSettings`. (https://github.com/woocommerce/woocommerce-admin/pull/3294)
* Move getAdminLink to wc-admin-settings.

* Add changelog entries.

* Look for `getAdminLink()` in @woocommerce/settings first.
2019-11-22 12:07:26 -05:00
David Levin 52cb35f4de Correcting and clarifying analytics terms and calculations (https://github.com/woocommerce/woocommerce-admin/pull/3104)
* Relabel Net Revenue to Net Sales, revert previous refund work on Gross revenue and rename to total sales. Update the orer of all the things

* Add gross sales calculation to revenue stats endpoint.

* Restore coupon_total when updating order stats.

* Wire up gross sales to revenue report.

* Fix revenue report refunds calculation when there are no refunds.

* update net sales labels and cases in order, product and category tables

* Subtract refunded shipping and taxes from gross sales.

* pluses to minuses to fix the gross revenue and refund totals when refunding

* Add gross_sales to revenue stats orderby enum.

* Change refund labels to Returns

* Remove usage of defunct coupon_total column.

* Store refunded amount in stats table.

* Rename "gross_total" column to "total_sales".

* Net total for refund orders can be used instead of a new column.

* Rename gross_revenue to total_sales.

* Coalesce coupons total in order stats query.

SUM()ing all nulls gives null, not zero.

* Use segmentation selections to backfill missing data.

Fo when report columns and segmentation columns don't match.

* Remove errant gross_sales from expected interval test data.

* Fix gross sales tests for revenue/stats.

* Move missing segment fills back to their original locations.

* Fix remaining tests failing because of gross sales.

* Fix db upgrade function rename of gross_total column.

* Fix linter errors.
2019-11-22 10:06:14 -05:00
Jeff Stieler 17514872ad Decouple currency and numbers packages from `wcSettings`. (https://github.com/woocommerce/woocommerce-admin/pull/3277)
* Remove wcSettings dependency from currency and number packages.

Either take a configuration object in function calls or in a new class constructor.

* Use new Currency class and number format methods in client/.

Compose with store settings to keep the same API.

* Don't reintroduce lodash dependency to currency package.

* Add changelog entries to currency and number packages.

* Update docs, example, and changelog for AdvancedFilters component.

* Use precision-less formatValue() for integer report values.

* Make Currency instance immutable.
2019-11-21 16:51:52 -05:00
Joshua T Flowers 940716d7f5 Add wc admin card classes to leaderboards (https://github.com/woocommerce/woocommerce-admin/pull/3267) 2019-11-21 20:10:37 +08:00
Jeff Stieler f8fa7b6bc7 Fetch autocomplete countries from the API rather than wcSettings object. (https://github.com/woocommerce/woocommerce-admin/pull/3262) 2019-11-19 14:17:15 -05:00
Joshua T Flowers 000d666096 Add tax filtering to orders data (https://github.com/woocommerce/woocommerce-admin/pull/3197)
* Add tax rates filter to orders report

* Add tax rate filters to orders data store

* Add tax rate query filters to order stats data store

* Add tax rate orders link to taxes table
2019-11-13 11:22:06 +08:00
Ron Rennick c3c790591f Address revenue discrepancies (https://github.com/woocommerce/woocommerce-admin/pull/3095)
* exclude wc-auto-draft orders from import

* round amounts for tax inclusive pricing

* differentiate between product and overall revenue

* use correct total when importing product line item

* update product revenue labels to "net sales"
2019-10-25 09:29:09 -03:00
Jeff Stieler 1ac8577fc2 Match server-side CSV export format to client-side (https://github.com/woocommerce/woocommerce-admin/pull/2987)
* Add "exportable" report interface for defining CSV export values.

* Define export values for Orders Report.

* Define export values for Products Report.

* Define export values for Categories Report.

* Define export values for Coupons Report.

* Allow commas and double quotes in CSV exported values.

* Fix in-browser export formatting of orders report products.

* Align server-side orders report export formatting with in-browser.

* Cover comma and double quote escaping in CSV export package tests.

* Define export values for Customers Report.

* Embed response links when requesting data for CSV exports.

* Define export values for Downloads Report.

* Move reusable report export functions to a trait.

* Define export values for Stock Report.

* Define export values for Taxes Report.

* Define export values for Variations Report.

* Define export values for Revenue Report.

* Always pass export row data through the filter.

* Fix formatting in test case for CSV coupon export.

* Quote escape CSV headers in client-side export.

Escape values with spaces as well.

* Check if inventory is managed at the product level before using the stock status/quantity.

* Prevent CSV injection in csv-export package.
2019-10-24 09:41:16 -07:00
Darren Ethier fee65dd6ac Decouple wcSettings from published packages. (https://github.com/woocommerce/woocommerce-admin/pull/3001)
* refactor wcSettings in components to use new api

* update test snapshot

* refactor wcSettings in other packages

* fix how defaults are set for setting

* decouple siteLocale from ReportsFilters and AdvancedFilters

* Decouple currency settings from packages

AdvancedFilters, ReportFilters, and NumberFilters now receive currency info as props.

* decouple currency settings from `ReportChart`

* decouple `wcAdminAssetsUrl` setting from `EmptyContent`

- also refactors to remove the need for `ImageAsset` component.

* decouple OrderStatus from wcSettings

* decouple wcAdminUrl setting from ProductImage component

- this also implements a SVG for default product image.

* remove export for image-asset that is no longer present

* remove console.log

* update test snapshots for ProductImage
2019-10-11 11:45:45 -04:00
Paul Sealock 029e514c75 wcSettings: fix countries getSettings (https://github.com/woocommerce/woocommerce-admin/pull/2974)
* wcSettings: fix countries getSettings

* Revert "wcSettings: fix countries getSettings"

This reverts commit cdccfa95cded4b1d7e8908102e8814a0281b027e.

* fix incorrect countries usage

* apply countries fix to Customers Report
2019-10-01 10:43:26 +13:00
Darren Ethier d728d38219 Refactor: Alternative approach to implementing extendable settings from the server (https://github.com/woocommerce/woocommerce-admin/pull/2917)
* integrate with new asset data registration (php side)

- includes back-compatibility.

* update js configuration and implement settings alias

- this aliases `@woocommerce/wc-admin-settings` to the settings api exposed via blocks (either the blocks plugin or core) and all the settings provided via the server.
- Adds fallback for back-compat if `wc.wcSettings` is not available in the environment (fallsback to `wcSettings`).

* initial pass to update all wcSettings direct usage to the new api

- this is just an initial pass, more can be done in separate pulls.

* missed one spot for adding new filter implementation

* fix incorrect jest config

* Avoid unnecessary assignment and directly return.

* Remove unnecessary defaults

* Fix inline comment text case.

Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>

* Remove unnecessary inline comment.

* use @todo instead of TODO

Co-Authored-By: Albert Juhé Lluveras <contact@albertjuhe.com>

* fix incorrect reference in webpack config.

* add missing import and slightly delay dependency injection for scripts

* update get-setting and set-setting callbacks

* disable lint rule for console.error on dev doc builds
2019-09-23 17:47:08 -04:00
Jeff Stieler 2fed2f2467 Fix report column labels on client side. 2019-09-04 07:49:37 -07:00
Jeff Stieler 079748cbb2 Remove "filter" from the report charts filter names. 2019-08-28 07:55:55 -07:00
Jeff Stieler c795fb0e09 Allow filters and advanced filters to be added to reports without them. 2019-08-27 12:33:31 -07:00
Jeff Stieler 7a28fbc0ff Add filters for all report filter configs. 2019-08-23 09:41:42 -07:00
Connor Jennings d44af04add Update client/analytics/report/orders/table.js
Co-Authored-By: Joshua T Flowers <joshuatf@gmail.com>
2019-08-20 09:15:55 -04:00
Connor Jennings 68a8012f57 CSV download of Orders now shows coupons in Coupon(s) column 2019-08-19 12:45:57 -04:00
Ron Rennick 833cc7a1c2 convert zero last active date to null in customer query 2019-08-07 16:12:47 -03:00
Jeff Stieler b92bef4941 Fix "page" parameter collision between routing and table pagination. 2019-07-11 14:18:16 -06:00
Daniel Rey López 08417da553 Allow each page to specify their breadcrumbs without having to render the Header component (https://github.com/woocommerce/woocommerce-admin/pull/2491)
* Simplify Header rendering, remove the use of react-slot-fill

* Remove the useless "/analytics" route

* Move all the <Header> renders to the new, declarative way of specifying breadcrumbs

* Re-render the Layout when a report is added using the REPORTS_FILTER, since that affects the breadcrumbs output

* Fix the base breadcrumb link and breadcrumbs on embedded pages

* Expanded Layout.propTypes to specify the breadcrumbs' shape
2019-07-05 09:15:49 +01:00
Paul Sealock 7f898194b4 Tracks: add events to chart and table 2019-07-03 11:42:06 +12:00
Paul Sealock 123af97b1c Merge pull request woocommerce/woocommerce-admin#2525 from woocommerce/add/filters-tracks
Advanced Filters: Add Tracks events
2019-07-01 11:05:59 +12:00
Kurt Zenisek 29c5098304 Swapped out postal_code for postcode to fix a bug 2019-06-28 13:15:50 -05:00
Kurt Zenisek c2b255360d Renamed "State" label to "Region" 2019-06-28 11:41:22 -05:00
Paul Sealock e32b5560c0 Advanced Filters: Add Tracks events 2019-06-28 12:34:41 +12:00
Kurt Zenisek 228acaf09e Added state alongside city & other info, and made location info sortable for convenient grouping of data at a glance.
I figured there's no reason you couldn't sort by the location data just so you can group them together (ex. quickly see how many are from a specific state at a glance rather than having it spread out & not having a means to group them together from this view.)
2019-06-19 17:15:58 -05:00
Mike Jolley 3bd945511a Merge pull request woocommerce/woocommerce-admin#2191 from woocommerce/fix/low-stock-handling
Low stock handling inconsistencies with WooCommerce 3.6+
2019-06-06 12:15:46 +02:00
Paul Sealock 39d9ed38ed Merge pull request woocommerce/woocommerce-admin#2369 from shoheitanaka/patch-2
Double space at 191 row
2019-06-06 10:13:16 +02:00
Shohei Tanaka 85bd2ce168 Double space at 191 row
I find double space, like misspelling.
2019-06-06 15:18:33 +09:00
Shohei Tanaka fccf1f6156 Misspelling at update config.jp
This sentence is order, but older.
2019-06-06 14:54:28 +09:00
Joshua T Flowers 633177bdea Update Card component to use Muriel design (https://github.com/woocommerce/woocommerce-admin/pull/2252)
* Use Muriel card styling and override card styles in reports

* Add card description prop

* Add isInactive prop and styling to card component
2019-05-22 16:38:25 +08:00
Paul Sealock 34aa71cfbb Dashboard Charts: simplify data 2019-05-21 08:09:49 +12:00
Joshua T Flowers 1d978224eb Drop 'sold' from 'products sold' in products report (https://github.com/woocommerce/woocommerce-admin/pull/2240) 2019-05-16 13:05:55 +08:00
Joshua T Flowers c87ab4eed7 Update how refunds are displayed in tables (https://github.com/woocommerce/woocommerce-admin/pull/2102)
* Add customer functions to order and refund classes

* Use parent order for refund order number

* Add renderCurrency method to format negative currencies

* Allow negative number of items for refund fields in database
2019-05-16 13:04:37 +08:00
Joshua T Flowers c6a6e737c4 Add refund filtering to order reports (https://github.com/woocommerce/woocommerce-admin/pull/2179)
* Add customer functions to order and refund classes

* Extract shared order and refund methods to trait

* Add refund filter to advanced filters in orders report

* Filter refund types in orders data store

* Extract refunds subquery to parent report data store method

* Add refund subquery filtering to order stats data store

* Add tests around refund type filtering

* Change the default option for the refunds filter
2019-05-10 14:56:57 +08:00
Mike Jolley 196543ef7f Render stock status as 'low' on stock report 2019-05-08 15:25:46 +01:00
Joshua T Flowers 0ed477fc3c Fix customer type filter param in orders report (https://github.com/woocommerce/woocommerce-admin/pull/2169) 2019-05-07 13:17:43 +08:00
Ron Rennick e409ef943a update analytics report readme 2019-04-29 08:58:33 -03:00
Paul Sealock 8ff24a9a7e Example Extensions: create build environment 2019-04-17 14:01:56 +12:00
Albert Juhé Lluveras 458f3ed065 Fix SKU sorting in the Variations report when a comparison is active (https://github.com/woocommerce/woocommerce-admin/pull/1952)
* make is sortable true.

* Variations endpoint: Fix sorting by SKU when there is an active comparison

* Cleanup

* Extract FROM parameter logic to 'get_from_sql_params'

* Remove unnecessary 'get_order_by_sql_params' from Products and Variations data stores
2019-04-01 10:09:45 +02:00
Joshua T Flowers 42ddfc0108 Add coupons count to data store and hook up to summary numbers in orders report (https://github.com/woocommerce/woocommerce-admin/pull/1912)
* Change coupons sum to distinct coupon count in REST API

* Hook up unique coupon count to orders summary numbers

* Add coupons count to order segmenting

* Add coupons count to expected stats in order test and revenue tests
2019-04-01 10:16:57 +08:00
ronakganatra9 3cddc714c6 issue fix woocommerce/woocommerce-admin#1801 SKU filter issue fixed. (https://github.com/woocommerce/woocommerce-admin/pull/1837)
* issue fix woocommerce/woocommerce-admin#1801 SKU filter issue fixed.

* make is sortable true.

* phpcs error fix.

* Fix PHPCS errors and warnings.

* Fix PHPCS errors and warnings.

* Update client/analytics/report/products/table-variations.js

Co-Authored-By: ronakganatra9 <ronakganatra9@gmail.com>

* Update includes/data-stores/class-wc-admin-reports-variations-data-store.php

Co-Authored-By: ronakganatra9 <ronakganatra9@gmail.com>

* changed postmeta.meta_value to meta_value
2019-03-31 20:53:48 +02:00
Paul Sealock b29b232a46 pass in filters 2019-03-25 13:03:53 +13:00
Joshua T Flowers 3f2dd07a53 Hide stock panel and menu if stock management is disabled (https://github.com/woocommerce/woocommerce-admin/pull/1841)
* Add manage stock setting to global wcSettings

* Hide Stock tab from activity panel if stock management is disabled

* Hide Stock report if stock management is disabled

* Prevent stock page from loading if disabled and visited directly

* Hide stock status and quantity columns when disabled
2019-03-21 13:42:07 +08:00
Paul Sealock 6d5484aa87 Fix table links to internal reports 2019-03-19 14:27:31 +13:00
Joshua T Flowers d416f78e9f Update/variations search method (https://github.com/woocommerce/woocommerce-admin/pull/1792)
* Add product search option REST API

* Remove product_name search in favor of sku and name searching

* Search by product search term instead of generic search in autocompleter

* Add product search option REST API

* Override existing search param instead of new param

* Remove product_name search in favor of sku and name searching

* Add product search param to variations controller

* Add group by to prevent duplicate variations in response

* Use product_search in variation autocompleter

* Trim whitespace in product_search query

* Change variation search placeholder

* Override search param instead of using new product_search param

* Add baseSearchQuery to prevent losing single_product filter in variations report

* Unset s param instead of setting to false
2019-03-18 12:23:08 +08:00
Joshua T Flowers b1dd517eb6 Add single customer filter and hook up customer link (https://github.com/woocommerce/woocommerce-admin/pull/1798)
* Add a single customer filter to the customers report

* Hook up activity panel orders customer link to customer report

* Use customer name for label instead of username
2019-03-18 10:39:54 +08:00