* Do a rough conversion of the currency ranges on the revenue question
* add a zero for every additional digit beyond the first digit to round currencies with larger differences in exchange rates
* 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
* Update currency data to match currency format used in wcSettings
* Revert currency ranges to sprintf
* Allow currency to be changed after the class has been initialized
* Update currency settings when store address is changed
* Get default prices formats from positioning
* Set currency defaults if not set
* Handle PR feedback
* Add translator comment to 'more than' revenue option
* update components package version and changelog
* update csvexport package and changelog
* update currency package and changelog
* update date package and changelog
* update navigation package and changelog
* update number package and changelog
* update package dependency versions
* fix typo
* 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 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
* 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
* 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.
* Rename Autocomplete component to SelectControl
* Add isSearchable prop to SelectControl
* Remove SimpleSelectControl component
* Refactor list expansion and key behavior
* Bump changelog and version
* 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
* Update List actionable items to be wrapped with Link
* Update product tasks to use href instead of onclick
* User inner tag for list items
* Fix up a11y for non-link actionable items
* Add better checkbox and radio support
* Add checkbox, select, and radio examples to form component
* Update business details step to use new Form component
* Add Form component to packages
* Add form example to devdocs
* Fix form validation check
* Update store details to use Form component
* Fix indentation issues
* 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 product subtask list component
* Add has-action class to list component
* Redirect after active task completion
* Refactor task completion check
* Add task completion statuses to component settings
* Fix missing className prop for list items
* Add task completion styling
* Add task list dashboard page
* Add actual site URL to header
* Fix typos
* Remove app bar
* Use material icons
* Update material icons to use Google hosted font
* Localize description strings
* 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
* Add Muriel Styled Spinner
* Handle PR feedback: Fix ordering of example components, fix tabbing/spacing in stepper example file, and fix base muriel colors for the stepper and profile wizard.
* Add onboarding plugin installation (step 2)
* Handle PR Feedback: Fix vertical label display on mobile, fix Jetpack connect URL generation, so we make sure the plugin is active first, add new constant for local calypso development, fix typo, refactor activatePlugin/installPlugin on the JS side, sanitize plugin name input.
* Add a vertical mode to the stepper component, and make some adjustments to the font weights.
Also adds a 'isPending' parameter to show a spinner for the currently active step.
* Handle PR feedback: Fix typo, add some margin to stop bouncing around in horizontal mode, add vertical example to devdocs.
* Fix linter errors
* 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
* Ensure consistent inner border between summary items
Switches bottom border to same color as inner right border, except in cases where it is an outer border. Also adjusts right border of last item in unbalanced grid to the same inner border color.
* Set consistent summary item label height
Makes sure that wrapped label doesn't interfere with common item height for grid
* Implements flexbox instead of fixed height labels
* fix indentation
* Add newline
* Show Y grid ticks/lines in chart where all values are below 1
* Improve how step is calculated for -1 to 1 values
* Add tests
* Handle case when max and min values are 0
* 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
* Allow renaming Dashboard sections
* Create a wrapper 'Section' component that handles the section title events
* Add blank lines in ellipsis-menu code
* PR feedback
* Remove onToggle prop from EllipsisMenu
* Get rid of default title
* 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
* Try: Setup plugin to publish core library on npm
* Documentation clean up.
* Handle PR Feedback: Fix notices from happening in WC Core from API usage, fix sidebar dashboard ordering in menu, remove preload function check since we are supporting WP 5+, add a filter for preloading data and move usage to respective feature code, move features to a specific folder for bundiling, fix script translations.
* Fix code comment on analytics preload
* Continue refactoring code, and make it possible to launch 'embedded' features via the process as well.
* Fix note hook
* Fix note load order
* Address PR feedback: Fix class name, load leaderboard endpoint
* Remove example code prior to merge
* Add support for negative charts
* Always display main axis at 0
* Improve tests
* Make sure positive and negative grid steps are the same
* Code style improvements
* Fix missing lines when all values are 0
* Make sure empty note always appear on top
* Add CHANGELOG entry
* Hide table name on smaller viewports and move interval select
* Only hide chart titles adjacent to summaries
* Make interval selector full width when not adjacent to summary numbers
* 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 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 product search option REST API
* Remove join and where filters for wp_query after rest response
* Remove product_name search in favor of sku and name searching
* Allow searching for products to compare by product sku
* Search by product search term instead of generic search in autocompleter
* Trim whitespace on product_search query
* Override existing search param instead of new param
* Use double quotes to avoid escaping search query
* Unset s param instead of setting to false
* 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
* Separate params by underscores
* Replace spaces and underscores in params with hyphens
* Delete extended info from filename
* Delete found search IDs when search query exists
* Adjust tests to fix new filename format
* Clone params instead of modifying query
* Decode params and only allow alphanumeric characters
* 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
* Add post_title__like param to wp query
* Add product_name filter option to products rest controller
* Change autocomplete search to use product_name param
* Change add_wp_query_post_title_filter to static method
* Only add wp_query filter in the products rest controller
* 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
* Add in hook to rest tax controller modify tax items query
* Modify query string for getting tax code items
* Add code to collection params to allow searching
* Change filter to use entire tax code without null values
* Hook up tax code filter to autocomplete search
* Overwrite get_items instead of using hooks for code filtering
* 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
* Fix null values in CSV columns export
* Check if value is null or undefined to avoid falsey for 0 values
* Add null value to CSV tests
* Improve changelog message