* Add initial Variations Report to analytics feature.
* Restrict query to variations when not specifying any product IDs.
* Add route to get variations without specifying a parent.
* Move variations table component to variations report directory.
* Add missing LIMIT clause to variations report query.
* Remove broken features from Variations table.
* Add Variations report controller to CSV emailer.
* Add initial Variation Stats endpoint, based on Product Stats.
* Hook Variations Report components up to new stats endpoint.
* Hook attribute filter up to variations report queries.
* Remove variation title filter usage.
See: https://github.com/woocommerce/woocommerce-admin/pull/5100
* Use filtered separator in variation name formatting.
* Add "single variation" to variations report, fix autocompleter API request.
* Fix segmentation by variation.
* Add comparison to variations report.
* Always include manually specified variations in report results.
* Fix variations report table comparison mode.
The ReportTable component expects the `filter` query param.
* Fixing styling of compare button without table search component.
* Add variation filter to Orders report.
* Link orders count to orders report filtered by variation.
* Orders report: include variation attributes in product names.
* Further style tweaks for variations report download button.
* Add variations filter to order stats query.
* Clean up "category includes" login in REST controllers.
Prep for "category excludes" in the Variations report.
* Support category exclusion in report filters.
* Fix filter param used by the variation report table component.
* Add category filter to variations report.
* Fix initial selected ReportTable rows when using non-default compareParam.
* Add a new autocompleter for variable products.
* Add products filter to variations report.
* Fix tests.
* Handle variation IDs that are no longer found.
* Add documentation.
* Use getSetting() instead of directly accessing window properties in client code.
* Fix ordering Variations by SKU.
* Simplify variation name logic.
* Remove errant commas from variation autocomplete options.
* Add single variation filter to products report.
* Include more variations in search results.
Also trim the response fields down.
* Add initial AttributeFilter component.
Only selected of attribute names for now.
* Add attribute term selection control.
* Position attribute filter inputs side by side.
* Add loading indicator to attribute term control.
* Clear term when attribute value changes, and handle backspaces.
* Generate screen reader text.
* Translate filter labels, add field separator.
* Improve grammar in screen reader text.
* Fix lint errors.
* Set up profile completed action
* Stub out the steps
* Only run if Jetpack is installed and connected
* Return if WCS isn't active
* Return unless physical is selected as a product type
* Return if there are existing shipping zones
* Shipping labels are enabled when WCS is installed
* Set up free local shipping
* Comment for the profiler complete action
* By default there is no international/catch-all shipping method set up
* Add review shipping settings note
* Record tracks event
* Fix logic
* Add unit test around setting up free local shipping
* Rename some functions
* Use countries service to get all countries
* Drop duplicated possibly_add_note()
* Check the old value when determining if the profiler has completed
* Fall back to country code if country name doesn't exist
* Use admin_url fn to build up URL
Co-authored-by: Rebecca Scott <me@becdetat.com>
* add new woocommerce/eslint-plugin
* implement eslint-plugin (switch scripts to use wp-scripts etc)
* various linting fixes
* more lint fixes
* improve fix script
* more eslint fixes
* more eslint fixes
* temporary convert rules to warnings until they are all handled
* linting fixes
* update package-lock.json
* remove duplicates
* remove unnecessary `@wordpress/dependency-group` rule config
* add docs and adjust rules
* prettier fix
* fix merge artifact
* convert more rules to warnings
* change order to reflect importance
* install babel-preset-default
* remove unnecessary configuration for babel
* fix dependency group rule and test
* fix test
* handle collapsible whitespace
* add react testing library eslint plugin
* linter errors
* Add back in prettierrc
* package-lock update
* js lint fix with --fix
* disable whitespace in translation
* package-lock update
* make eslint actual dependency, not peer dependency
* pin eslint to v7
* I don't know why, but its working
* fix lint js
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Add installAndActivatePlugins method to plugin store
* Use new install/actiate method in Plugins component
* Refactor benefits page to use await
* Refactor business details page to use new install method
* Replace Plugins component in Jetpack CTA
* Format and throw errors in plugin data store
* Add generic response handling function
* Add default error messages to plugin API
* Add getInAppPurchaseUrl lib function
* Implement getInAppPurchaseUrl for marketing tab
* Include the directory with the wccom-site param
* use getInAppPurchaseUrl helper function in onboarding CartModal component
* Fix 'addQueryArgs' is defined but never used
* Fix Missing JSDoc @return description
* Make connectNonce setting a global setting rather than a marketing once
Co-authored-by: Jason Conroy <jason@findingsimple.com>
add data store for settings using wp.data
add use-select-with-refresh example
replace fresh-data usage with new settings data store for settings page
Add data package
move to packages
Fix isDirty after save
Add isBusy to primary button when saving
update Readme
remove comment
readme to use useSelect
Revert "update Readme"
This reverts commit 7402fd49b8f384fde5878e0bee0616f0a87bb4f6.
Data Layer: Settings page to use Settings store (https://github.com/woocommerce/woocommerce-admin/pull/3430)
* Data Layer: Settings store as source of truth for settings page
This reverts commit 7402fd49b8f384fde5878e0bee0616f0a87bb4f6.
* fixup
* save on reset
* non mutable constants
* add set/getSettings
* save using setSettings
* separate HOC
* cleanup
* remove settingsToData
* withHydration
* remove withSettings HOC
* renmove useSettins for now
* withSettingsHydration updates
* Revert "withSettingsHydration updates"
This reverts commit f2adf108fbe19b574978fea5925a1a18e7ed3007.
* rename withSettingsHydration
* redo withSettingsHydration simplification
* restore
* useSettings
* render using useSettings
* handleInputChange working
* get setIsDirty working
* saving works
* reset and cleanup
* cleanup
* use snake case on hook files
* use clearIsDirty
* Avoid mutation on setting update
* remove @todo
* persiting -> isPersisting
* better reducer ternaries
* add wcSettings as arg to withSettingsHydration
reset package-lock
Settings: split out mutable wcAdminSettings (https://github.com/woocommerce/woocommerce-admin/pull/3675)
Settings: handle async settings groups (https://github.com/woocommerce/woocommerce-admin/pull/3707)
* 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>
* 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
* 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.
* 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
* 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
* 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.
* Move labels loading logic into a lib
* Avoid making API calls when displaying Order labels
* Move lib/labels into lib/async-requests
* Rename 'getCustomerLabel' to 'getCustomerLabels'
* Move components to packages folder
* Update documentation generator to handle packages/components and client/components
* Update component locations
* Update CSS build process
* Remove react-dates css, this is already included by gutenberg
* Fix CSS style - single quotes
* Fix incorrect imports
* Update package-lock with new dependencies
* Update component locations for devdocs
* Fix location of tests
* Move CSV to packages
* Update CSV imports
* Add some basic usage documentation
* Add csv lib to the enqueued assets
* Change name to `csv-export`
* Update webpack build process to allow for package names with dashes
* Fix capitalization
* Update readme with docs extracted from jsdoc
* Fix merge conflict commit 😣
* Check that generateCSVFileName is called with correct params
* Move nav-utils and history to new package
* Update config to build and use new navigation package
* Update all imports to use new navigation package
* Remove unnecessary README
* Update nav-utils path
* Make breadcrumbs links persist date queries
* Add tests to getTimeRelatedQuery() when query parameter not set
* Add comment explanation about navUtils self-import
* Add lerna & GB package-building script
* Move currency library to lerna module
* Update lerna config
* Add publish commands
* Add currency as an faux-external module
* Add separate command to build just core files
* Update dependency path
* Update build script to build all packages into `dist`
* Add packages to the jest test setup
* Move date library to packages
* Update imports to use @woocommerce/date
* Output wcSettings definition before any scripts are output
Fixes issues where wc-dates lib relies on settings object
* Add the build step into travis
* Update jest config to dynamically get package paths
* Update package postcss config to match wc-admin’s main config
* Add combined watch scripts for package+app, add a `clean` command to clean up old build files
* Ignore PHPCS error (leave todo message to fix)
* Concat files with a space, fix issue where all files join in one continuous string and fail the check