* Base Report data store utility functions - 1
Standardizing the data store classes will be easier if the base class contains simple utility functions
that can replace logic implemented in multiple data stores.
- set_db_table_name() assigns a WP DB table name class variable for the data store
- get_db_table_name() retrieves the WP DB table name
- prepend_table_name() prepends a field in a query fragment with the data store table name
* add context, clause handling, and filters to reports data store
* add generated SQL clauses to class properties
* reduce id getter logic to single function with filter, add phpdocs to new filters
* update table_name to private string for use in constructor
* extract SQL query clause handling to its own class
- Will allow for use in subquery processing without creating a get_data stub
- Swap parameter order in add_sql_clause for readability
- Add support for clearing multple clauses in one call
* add context var to SqlQuery class
* implement SqlQuery in Categories data store
* implement subquery in categories data store
* coupons data stores, more underlying refactor
- fix warnings
- make filtered id functions static
- add limit parameter handling
- update coupons data store
- update coupon stats data store
* refactor coupon stats data store
* refactor customers and customer stats data stores
* add context to subqueries
* add missed prepend table name call
* refactor downloads data store, fix some warnings
* fix warnings, add separator parameter to filtered IDs
* refactor taxes and tax stats data stores
* refactor variations data store
* refactor product and product stats data stores
* make table_name static throughout for compat with static hook functions
* refactor order and order stats datastores
- use consistent visibility on initialize_queries()
- update db_table_name logic to use static keyword instead of self
* fix missed whitespace
* fix segmenting query, add SqlQuery join clause
* DRY data store constructors, class properties
* prefix table name when not yet assigned
* fix unit tests, interpolations, WPDB delete calls
* DRY get_object_where_filter()
* remove redundant table prefix from unit test init
* fix refactored SQL queries
* restore product paging
* remove unused query param arrays
* add first pass on data docs readme
* remove debug code, errant SQL spacing
* refactor out outer_from query element
* merge wheres, joins before filtering
* move all report column definitions to assign_report_columns
* fix data readme markdown
* small code formating fixes from review
* remove static from query/datastore context
* missed self:: in previous, add comments, small code moves
* rename get_statement() to get_query_statement()
* remove temporary query references
* static reference, remove reference parameter, fix coupon compare
* add todo reminders
* use correct query parameter in coupon data stores
* Leave wc-admin install timestamp intact once set.
* Add inbox note for opting in to usage tracking.
* Remove markup from translated string.
* Allow tracking opt in note to be dismissed.
* Remove whitespace.
* Add label wrapper to stepper and style for both orientations
* Add onClick event to steps
* Add onClick to stepper examples
* Allow returning to previous steps on step click
* Allow navigating to previously completed steps
* Mark previous steps complete
* Switch templates for sites with more than 4 products
* Update homepage template depending on number of products, and add industry images to templates.
* Slight refactor of the update post template logic
* Add wccom redirect if purchasable products exist
* Update path to remove query when profiler is complete
* Fix lastReceived time for profile items update
* Add busy state to theme choose buttons
* Mark stripe as enabled by default in supported countries, and link completed task to payment settings
* Update stripe supported code to pull from server side list
* Remove dependence on core method
* 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"
* Move inbox note actions to a bespoke component.
* Set busy state on action buttons on click.
* Allow for Note actions to be deleted.
* Update FB extension note after installation is complete.
* Link actions don't get busy treatment.
* Re-fetch note actions after updating.
Get new action IDs from the database.
* Add tracking to inbox note views. (https://github.com/woocommerce/woocommerce-admin/pull/3096)
* Move inbox note content to its own component.
* Send a tracks event when inbox notes are in the viewport.
Uses react-visibility-sensor.
* Match event data to `inbox_action_click`.
* 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.
* Update wordpress monorepo
* Add missing Gutenberg grid variables
* Fix button styling
* Fix snapshots (new classes and events are passed through from WP components update)
* Adjust button overwrites
* Update package-lock.json
* Fix focus issues/conflicts with react-dates and Dropdown
* Maintain DateRange focus without impacting expected "click outside" behavior.
* Resolve multiple React versions, update testing dependencies.
* blow away package-lock.json and refresh
- this fixed tests after an npm install on my end
* Allow tabbing to month nav and calendar grid.
* Fix keyboard navigation of DayPicker elements.
Add prop for specifying an element that's allowed to take focus from DateRange.
* refresh package-lock
* Add redirect_url as rest param to jetpack connection
* Add query param to jetpack connection URL in wc-api
* Add redirect URL to connection and plugin steps
* 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
* Add per-version DB upgrade routine.
Update order stats index length as well.
* Use globally namespaced methods for DB updates.
* Avoid creating duplicate DB update actions.
* 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.
* Rename Autocomplete component to SelectControl
* Add isSearchable prop to SelectControl
* Remove SimpleSelectControl component
* Refactor list expansion and key behavior
* Bump changelog and version
* Look table class and installer
* New table + stats
* Working reports/initial population
* Remove test
* Refactor, remove depth
* Unused table
* Update todo
* Add docblocks and reorder get_insert_sql params for consistency
* Adjust css braces
* clear hook on deactivation
* PSR-4 category lookup
* linting CSS closing brace last char on line
* initialize category lookup table in unit tests
* missed linting fixes
* revert move of run_all_pending call
* use consistent reference for term_relationships in queries
* Refactor report datastore cache key generation.
* Add transient-backed Cache class for Report DataStores.
* Bump reports cache version when data changes.
* Rollover cache version number after a limit and expire report transients every day.
* Use caching strategy like WC core.
Store cache version in value, not in key. Increase expiration to 1 week.
* wcSettings: fix countries getSettings
* Revert "wcSettings: fix countries getSettings"
This reverts commit cdccfa95cded4b1d7e8908102e8814a0281b027e.
* fix incorrect countries usage
* apply countries fix to Customers Report
* change default for `WC_ADMIN_PHASE`
* rework to introduce new `build:plugin` script and use it instead
- also revert defaulting `WC_ADMIN_PHASE` to core.
* Fix vendor scripts and test bootstrapping
* Escape the downloaded file URL in tests
* Generate feature config file for tests
* Run feature config generation before and after script tests