* 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
* 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.
* 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.
* 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.
* 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
* 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"
* 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.
* 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
* wcSettings: fix countries getSettings
* Revert "wcSettings: fix countries getSettings"
This reverts commit cdccfa95cded4b1d7e8908102e8814a0281b027e.
* fix incorrect countries usage
* apply countries fix to Customers Report
* 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
* 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
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.)
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* Translation call text domain change from “wc-admin” to “woocommerce-admin”.
* Fix .pot file generation.
* Fix errantly closed array item in /revenue/stats controller.
* Rename plugin zip, main file, and repo name to "woocommerce-admin".
* Make categories endpoint return zero-value items
* Rename PHP variable to make it more specific
* Remove uneeded lines
* Make variations and coupons endpoints return zero-value items
* Remove second parameter from get_ids_table
* Display order number on reports, and add to API response.
* Add method for getting order number, avoiding loading the data store if no filter is attached.
* Add code to collection params to allow searching
* Add include param to tax rest api
* Remove duplicate get_collection_params
* Revert to previous taxes getLabel config
* Add the ability to search name, username, and email fields on the customer endpoint, update autocompletors, add in include parameter.
* Update the username to be returned in the download response, update download filtering based on customer id, and only rename include parameter on main customers endpoint.
* First pass at adding feature flags. Accessible over PHP and JS.
* Hook up dev config to test enviornments, hook up features to their flags.
* Cleanup some code and add documentation. Remove beta config.
* Handle PR Feedback: Add devdocs flag, remove categories flag, fix auto-generated PHP warning.
* Add todo for beta phase.
* Handle PR feedback: Simplify is_array check, update build command, simplify test mock, remove empty webpack line.
* Add manage_stock to stock controller response
* Add manage_stock property to stock report tests
* Add changelog entry
* Make stock quantity float instead of int
* Add manage_stock to the products API response
* Check for manage_stock in products table
* Add manage_stock property to product API tests
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
* 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
* 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
* 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
* 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.