* 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
* Move TableCard actions from packaged component to ReportTable.
* Build an IE stylesheet for the main app.
* Remove defunct TableCard download test.
* Update components changelog.
* Fix pagination.
Pull query from table data instead of ReportTable props.
* Initiate report export from download button (https://github.com/woocommerce/woocommerce-admin/pull/2951)
* Add report export operations to API spec.
* Initiate a report export job when there is more than one page of report data.
* Add report download "type" to Tracks event.
* Ensure WC_Emails class is hooked in before sending report download emails.
* Set email parameter for background CSV download requests.
* 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
* Revert "Revert "Update to new Snackbar component and notice store""
* Update uploader component to use createNotice
* Bump required WP version to 5.2
* Update required PHP and WP versions in plugin header
* Add new wordpress/components version and fix dependencies
* Add in snackbar styling and gutenberg variables
* Convert all existing notice actions to wordpress/notices
* Fix linting errors
* Add package.lock changes
* Update search list control snapshots with new attributes
* 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
* Add section header for historical import.
* Add alert on unsaved changes.
* The glass is half full. Therefore my state change should be too.
* Update button text.
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.)
* Hook up import/status endpoint to Historical Data Import screen
* Fix PHP tests
* Add speak message when the import is complete
* Several fixes
* Cleanup
* Update progress bars every 3 seconds and bugfixes
* Rename ongoingImport to activeImport
* Use timestamp to identify queries
* Use timestamps for historical data state
* Add 'initializing' status
* Cleanup
* Pass less props around
* Refactor getStatus
* Set stop timestamp on request error
* Typo
* Hook up import/totals endpoint to Historical Data Import screen
* Remove getImportTotalsError and isGetImportTotalsRequesting selectors which were not used
* Remove duplicate style import
* Fix RTL displays
* 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
* Hide progress bars and status from Import Historical Data screen
* Remove Rebuild Reports Sections from Settings
* Add Delete Imported Data button to the default actions
* Unify @todo comments
* 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
* Add Historical Data Import Screen
* Fix date picker not being accessible
* Cleanup
* Fix period selector typo
Co-Authored-By: Aljullu <aljullu@gmail.com>
* Move state to props
* Add filter to status labels
* Get rid of 'step' state property
* Format 'importDate' as YYYY-MM-DD
* Minor improvements
* Hardcode control height
* Use dateValidationMessages when possible
* Update imported all data actions
* Update filter name
* Scroll to top of the table when navigating table pages
* Cleanup
* Avoid using scroll-padding-top
* Add space between the table top and the scroll point
* Only call if the page is different
* Move focus to the top of the table when switching pages
* Use CSS variables in the Activity Panel and breadcrumbs CSS (https://github.com/woocommerce/woocommerce-admin/pull/2096)
* Use CSS variables in the Activity Panel and breadcrumbs CSS
* Cleanup
* Focus on table element when navigating pages
* Add allowed leaderboards endpoint to prefetch list
* Hook up leadboards endpoint to dashboard
* Skip data fetch for leaderboard if per page is less than 1
* Add tests to check for rendered html display
* 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
* Typos
* Table: update columns visibility on headers change
* Make sure initial user pref columns are loaded in all reports
* Return early filterShownHeaders when hiddenKeys is an empty array
* Undo 'headers', 'prevHeaders' order switch
* 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
* Added a Margin of 40 pixel for better user interface, on mobile devices.
* applied suggestion and commited changes for all devices.
* applied suggestion and removed extra tab.
* 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".
* Improve Chart rendering performance
* Avoid reassigning yFormat prop in Chart
* Update focused keys on legend toggle
* Use selectionLimit constant instead of a hardcoded value
* Minor improvements
* Add store notice around processing historical data.
* Cleanup
* Handle PR feedback.
* Clean up `add` logic and add empty content_data. Also add logic to get_notes_count so that we can hide unactioned statuses.
* Add the ability to update a note, and to also mark a status when an alert is clicked.
* Remove mark_actioned call on sync
* add missing todo
* 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
* Add button input type to analytics settings
* Add callback prop and disabled state to setting
* Add rebuild tool to settings page
* Re-enable setting if error is caught
* Remove rebuild tool from system tools page
* Move report build success message to API response
* Add back key for settings map
* Fix misspelled option group classname
* Conditionally add rebuild tool to non-wc-status page instead of removal hook
* Add actionable status setting
* Add actionable statuses to settings page
* Hook up actionable order statuses to activity panel
* Hook up actionable order statuses to activity panel
* Use instanceId to generate unique ids for chart legend items
* Decouple item key and label in Chart components
* Remove more duplicate IDs in the chart legend
* Use double underscores in element IDs following BEM rules
* Move 'withInstanceId' inside D3Legend component
* Simplify screen reader labels logic
* Add CHANGELOG message
* Use 'primary' and 'secondary' as items keys in time-comparison charts
* 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
* Screen readers: read date instead of data keys in 'time-comparison' bar charts
* Make previous period labels more verbose
* Revert "Make previous period labels more verbose"
This reverts commit 34d13deaa982425ca2cba76dacfd2c89c96f06c0.
* Improve isSameDay check
* Add date to hour tooltip and improve screen reader label
* Add CHANGELOG message
* Make column filter menu items not focusable
* Check if onInvoke exists before calling it
* Revert "Check if onInvoke exists before calling it"
This reverts commit e3b63edd51395c0f967991e2d20fccf867e37b91.
* Revert "Make column filter menu items not focusable"
This reverts commit 3e0ac949fa057a0c235876731768b6f312ced998.
* Add isCheckbox prop to MenuItem component
* Fix arrow keys navigation in checkbox menu items
* Table: don't update showCols state when the headers prop changes
* 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.
* Add initial transient notices component
* Animate notices to slide in and out
* Add notices to wc-api
* Map notices from wc-api to transient notices
* Add success message on settings save
* Add save notices to Settings page
* Remove all margin and padding from notice box when empty
* Add role alert to transient notices
* Add prefers reduced motion media query for transient animation
* Remove initial test notice
* Remove notices from wc-api
* Add wc-admin store for transient notices
* Pull transient notices from newly implemented store
* Use speak instead of role alert for accessibility
* Only show success message after request is complete
* Destructure state in componentDidUpdate
* Add store notice tests and fixtures
* Add box shadow to transient notice
* Move transient notices to bottom left
* Fix indentation
* 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.
* Show empty chart and summary numbers when search returns no results
* Add changelog message
* Preserve chart mode in empty searches
* Add tests
* Fix CSS Lint error
* Make sure the legend updates when there is no data and it's not requesting
* Rename 'emptySearch' to 'emptySearchResults'
* Fix tests
* 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