* Update Table components to align texts and numeric a bit smarter
Text fields are left-aligned and numeric values should be right-aligned.
* Update a snapshot test
npm run test:client -- --updateSnapshot client/analytics/components/leaderboard/test/index.js
* Add tests for property isLeftAligned
* Do not retain values when switching between rules in the DateFilter component
* Add changelog entry
* Remove unnecessary use of the ternary operator
* Fix the changelog entry
* Add tests
* Add changelog entry
Co-authored-by: Chris <chris.aprea@automattic.comchris.aprea@automattic.comchris.aprea@automattic.com>
* Add default free extensions to REST API response
* Use data store to retrieve free extensions
* Add back in product link click tracks
* Handle visibility and evaluation server-side
* Update sprintf to use entire link tag
* Fix up remote free extensions rule evaluation
* Add visibility rules to mailpoet
* Fix fallback to default payment gateways if polling fails
* Add changelog entry
* Fix empty array check
Co-authored-by: Matt Sherman <matt@jam123.com>
* Extract extension list transformation logic
* Check for installed marketing extensions in the task list
* Add tests for marketing extension utils
* Remove use of useMemo in non-component
* Separate installed plugins from plugin lists
* Only show plugin lists when plugins exist
* Use installedExtensions for tracks
* Fix boolean check on list plugin length
* Fix text style changes with Gutenberg Text component
* Update to match new designs for plugin list
* Skip non-allowed lists for installed plugins
* Add changelog entry
* Handle styling feedback
* Add initial plugin list components and marketing task
* Add marketing task styles
* Fix action button alignment
* Only allow specific plugin lists
* Add button to activate already installed plugins
* Record event when marketing plugin is installed
* Update plugin list when plugins are installed or activated
* Disable and set buttons as busy when installing/activating
* Update data source to use v2 controller
* Add changelog entry
By adding a `isReverseTrend` prop we can pass to `SummaryNumber` we can indicate that a negative trend in refunds is a good thing and therefore display a green indicator.
* Match stock status in CSV download to the table
* Add changelog
* Set status value from stockStatuses
* Update stock status for server-side export
* Replace status value in the controller
* Remove unnecessary call to constructor
* Remove changelog from readme
* Add changelog
* Add `hidden` legendPosition to `Chart`.
Sometimes, for example, when there is a single data set, there is no need for rendering the legend. It may even introduce more confusion than value. It seems interactive, but there is nothing you can do with it.
Fixes: https://github.com/woocommerce/google-listings-and-ads/issues/618
* Add `@storybook/addon-knobs` to devDependencies.
It was used but not explicitely stated.
* Add a changelog entry.
* Add tests for legendPosition in Chart component
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
The deprecated (but not removed) `onChangeCallback` and `onSubmitCallback` props were not being called because of an error in the logic that checked for presence of the new callbacks (it was always truthy due to it having a fallback to an empty function).
This reverses the logic so that if the deprecated props are provided they will be called, if the new props (only) are provided they will be called instead.
This also pushes the removal of these back to 9.0.0, because in the past these deprecated version numbers had little thought behind them, but this gives a more realistic time frame for removal and an understanding that a *major* version will break compatibility, not a patch version as the old version number suggested.
* Register a fake wc-admin homepage to for users without permission
* Update removal cap to manage_woocommerce
* Fix WooCommerce menu item position and icon
* Fix up admin user checks
* Handle PR feedback
* Only disable redirection on wc-admin pages
* Remove woocommerce_prevent_admin_access filter
* Add changelog entry
* Using order items endpoint instead of reports and added customer and products support
* Add total_formatted key
* Converted component to functional component and memoized getItems function
* Using orders meta table instead of reports product_lookup table
* Add changelog entry
* Add a new endpoint to get low in stock products.
* Set images and attributes property
* WIP -- set last order date
* Do not join postmeta if store does not have any custom stock threshold
* Combine get_query() and get_query_for_sitewide_threshold() into one method and a few code clean ups
* Support status field
* Use new products/low-in-stock endpoint to count low in stock products.
* Use new products/low-in-stock to get low in stock products data.
* Remove low_in_stock support
* Deprecate low_in_stock
* Use the new ProductsLowInStock when low_in_stock is set
* Set cache-control header for the new endpoint
* Use wc_rest_prepare_date_response to format the response date
* Extract low in stock test to a separate file
* Make is_using_sitewide_stock_threshold_only protected
* Revert Products.php changes
* Add back low in stock test to products test
* Remove unnecessary if
* Make the controller final
* Deprecate low_in_stock
* Bug fix -- last_order_date was not setting correctly for variation post type. This commit fixes it
* Add changelog
* Pre-release for 2.5.0-beta.1
* update changelog
* revert version bump
* revert package.lock
* entry for 2.5.0
* Sync with 2.4 release and removed some duplicates
* add changelog from 7186
Co-authored-by: Rebecca Scott <me@becdetat.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Add components-dropdown__content class -- this is for Safari as Safari returns parent element as a related target in this case
* Remove unnecessary style
* Add TableSummaryPlaceholder
* Expose TableSummaryPlaceholder to package @woocommerce/components
* Add test instructions and changelog entries to MD files
* Add tests for TableSummaryPlaceholder
* Add storybook for TableSummaryPlaceholder
* bump E2E package versions to latest
* first pass on E2E test package.json
* move e2e specs to admin-e2e-tests
* add global types, reimplement tests/e2e/specs
* use consistent build dir with other packages
* add documentation, improve test:e2e script
* fix linting issues in admin-e2e-tests
* fix more linting issues
* disable lint on requires
* use e2e in the E2E container names
* move analytics overview test to package
* change extension on analytics-overview test file
* fix linting issues in e2e analytics overview
* remove package scripts from e2e package
* change test specs extensions to .tsx
* remove import from analytics overview test spec
* add .tsx to e2e test spec file extension list
* update e2e business features count expected
* Remove facebook marketing extension from fallback config
* Update changelog and testing instructions
* Update changelog to use the shiny new Jetpack changelogger
* add @slotFill to process
* add types
* committing data
* use filter instead of hook
* changelog
* add action type
* update paths to ignore builds and node_modules
* changelog
* Add action data type
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Make action button optional, and disable VerticalCSSTransition when expandable is false
* Update collapsible list to support nested element transitions
* Add changelog
* Address some small PR feedback, and fix tests
* Add expanded class, and remove cursor when expanded
* Make sure margin is added to container height
* Update broken tests
* Add radix to parseInt method
* on Filter update, keep all queries
* changelog
* package changelog
* instead of keeping everything else, remove advancedFilters when main filter is set to 'all'
* remove all queries associated with filter in question
* dedupe params
* add tests
* Added onDelete prop to `task-item`.
* Added `onDelete` and `Remid me later` options to task example in docs.
* Added changelog
* Fixed lint error
* Fixed another lint error
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
- Use headings in issues templates,
instead of bold paragraphs.
To match with PR template, to improve readability and accessibility.
- Add the "Actual behavior" section.
The reviewer, would not have to get that from the description or test locally.
- Reorder sections,
Screenshots (and actual behavior) describes what you have immediately after you perform "steps to reproduce", so therefore could be stated there. It's hard to make a screenshot of the "expected behavior", which is not happening.
- Move section descriptions to comments.
This way the issuer could still keep them in place while filling the sections, answering those requests.
- Use ellipsis character instead of three dots.
To make it more readable, by fully sighted and visually impaired readers https://tosbourn.com/the-importance-of-using-the-ellipsis-character not to read it as "dot dot dot"
* Repurpose disable filter to remove optional features
* changelog
* disable feature toggles on wc-admin disabled
* dedupe changelog
* hide save button using
* Remove old payment gateway task components
* Move PaymentGatewaySuggestions up one directory
* Add feature check to tasks array
* Turn on payment gateway suggestions in all environments
* Handle PR feedback
* Use gateway suggestions from REST API in help panel
* Fix component path
* Remove BACS test due to SlotFill testing bug
* Await button selector
* Handle PR feedback round 2
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
- Make `getIdsFromQuery` consider `0` as a valid id.
Previously `Boolean` filter was removing it from the list.
Fixes https://github.com/woocommerce/woocommerce-admin/issues/6980
- Add a basic set of tests for `getIdsFromQuery`, as they were none.
- Replace `lodash.uniq` with ES6 equivalent.
- Update JSDoc for `getIdsFromQuery`, to specify default value, returned type and description.
* Add appropriate text props to supplement variant revamp
* Add font styles to navigation title since its removed in wp.components
* Add more missing styles
* Accidental change
* Add changelog
* Fix lint
* Update jest snapshots
* Allow custom date range start for date range
* Make use of the date_range logic for any notes using active_for
* Add changelog
* Add a couple extra tests for date range
* Add new VerticalCSSTransition component for vertical transitions
* Made use of VerticalCSSTransition in taskItem
* Updated vertical css transition to add support for appear
* Add changelog
* Fix task list tests
* Fix test lint error
* Use delete key instead of setting it to undefined
* Reports: allow changing the export id
"woocommerce_admin_export_id" can be used to change
the filename when downloading an emailed report export.
* Add testing instructions and changelog
* Reports: Sanitize the file name for the report export
* add toggle and check before registering routes
* move taxes out from analytics check
* fix merge error
* ensure features are loaded before calling Feature methods
* remove unused use
* add toggle and check before registering routes
* remove preloaded option
* early return
* changelog
* page refresh on option change
* pass value to client
* use Features::is_enabled
* handle option default
* go back to using feature flags on client
* remove unused use
* hide customers behind analytics flag for now
* remove unneeded class check
* Add notice and enabled gateway on successfull connection
* Record event on payment gateway connection
* Redirect to payments task after successful connection
* Use order item data to match attributes.
Fixes matching on products with "any x" attributes.
* Fix attribute query on variations report.
* Fix variations report item count.
* Add test coverage.
* Add changelog entry.
* Fix non-string query prop warning in SelectControl component.
* Move custom attribute retrieval to a reusable Trait.
* Ensure all custom attribute terms are included in the API response.
* Combine all terms from custom attributes.
When they're split across multiple products.
* Ensure report args are mapped and sanitized before CSV export.
* Add test.
* Fix products query when there are no products in the specified categories.
* Add changelog.
* Update the wordpress/babel-preset to avoid crashes in WP5.8 beta2
* Also update other dependencies dropping IE11 support.
* Update data dep in data package.
* Add back regen runtime.
* Add regenerator-runtime dependency for setting up jest tests
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Add fallback for the select/dispatch data-controls for older WP versions
* Also update dispatch in payment-gateways and rename oldDispatch to depreciatedDispatch
* Add comments
* Move data source filter name to constant
* Add unit tests for data source poller
* Handle PR feedback
* Add use statement for DataSourcePoller
* Fix trailing comma
* Include orders without coupons when excluding specific coupon IDs.
* Add changelog entry.
* Fix default Orders before/after query args.
* Specify date range for test query.
* Add new Note, Events calls
* Replace deprecated functions
* debug cleanup
* Add comment re moving this to Jetpack plugin in the future
* Fix merge conflict
* OK for real merge fix AND changelog entry, lol
* Adding UTM link variables
* Adding Backups check, switching to check for Jetpack installed rather than activated.
* - Fixing logic error by moving requirements check to after actioning logic.
- Rewriting has_backups() to check product instead of module.
* Fixing bug - has_backups() wasn't recognizing plan
* Initial ellipses menu render on task list
* Added remind me later functionality
* Fixed tests and wrote tests for ellipsis menu
* Update tracks
* Add changelog and update css
* Fix up spacing and track name
* Address PR feedback and add extra integration tests
* Remove the should render correctly test, as the other tests cover this
* Move logic out of mark up
* Directly reference the EllipsisMenu for now to circumvent a circular dependency
* Fix direct import in jest tests
* Preload remind me later optoin
* Some styling animation changes for the task list
* Stagger transitions for dismissing within collapsible list
* Fix lint warnings
* Update logic to prevent the use of TS `as`
* Add tests and comments
* Add razorpay as default fallback payment gateway
* Move razorpay SVG
* Fix alt logo text translation
* Only show razorpay in IN
* Add changelog entry
* Refactored the inbox note cards and moved to experimental package
* Update experimental dependencies
* Add tests for inbox-note components, and updated naming
* Add changelog
* Update readme and fix dismiss all
* Fixed lint errors
* Refactor dismiss logic in inbox-panel
* Add hook for handling inner link callbacks
* Export updates and a minor TS update
* Fix lint error
* Add action button to TaskItem.
* Pass through click event.
* Add separate action and label to onClick.
* Add initial copy for task expansion.
* Expand one task at a time.
* Add descriptive text to the payments step.
* Set the first incomplete task current by default.
* Revert expansion behavior.
* Fix margins.
* Curate purchase products task content based on selections.
* Fix appearance task copy.
* Fix payment task copy.
* Add conditional tax step title.
* Indicated if task is expanded to click handlers.
* Automatically enable WC Tax from the expanded CTA.
* Restore additional text property.
* Fix task title xpath selector in E2E test.
* Fix automatic tax setup query param logic.
* Add changelog entries.
- Remove unused `isEmpty` prop from ReportError.
- Remove `isError` prop from ReportError, as it is always set. Also, to reduce confusion that: Could "report error" be not an error?
- Remove default value of `className` prop from `ReportError`, it is unnecesary, as `EmptyContent` takes falsy values as well as `''`.
- Change `ReportError` to a function component.
* Offload remote inbox notifications engine run using action-scheduler
* release note
* fix changelog
* Use init hook to initialize async AS action
* Drop product count query workaround
* Check enabled methods using the payment gateway data store
* Reduce loops used in payment gateway list
* Add COD as fallback gateway
* Allow payment gateway to be enabled without connection step
* Uses installed payment gateway details in payment gateway list
* Add changelog entry
* Hook up payment gateway data store
* Fix deprecated onSubmitCallback in dynamic form
* Throw catchable errors in data store
* Provide a way to get errors from the data store
* Hook up payment connection update with data store
* Remove redundant requesting state on selectors
* Add changelog entry
* Handle PR feedback
* Fix linting errors
* Updated mobile banner icon with cross-small gridicon
* Update analytics dashboard icons, removing use of dashicon
* Remove use of dash icon in tag component
* Remove dash icon from ellipsis menu
* Remove use of dashicon in calendar
* Update icon imports and remove use of Dashicon in collapsible list
* Remove Dashicon usage from store alerts as it is depreciated
* Remove dashicon usage in shipping label
* Fix up old css for icons
* Removed dashicon usage in favorite button
* Update the wordpress/icons package
* Add changelogs
* Fix broken test
* Remove remnants of legacy changelog script
* Add 2.3.0 section to TESTING-INSTRUCTIONS.md and moved all relevant instructions
* Update readme.txt with changelog from 2.3.1
* Add a new store to interact with WC Payments REST APIs
* Convert to Typescript
* Refactor payments store
* Fixed type on GET_PAYMENT_GATEWAYS_SUCCESS action name
* Added SettingDefinition
* Added PaymentSelectors type
* Updated Array<type> to string[]
* Update action name in test
* Move stub.ts out of test directory
* Set type for the test stub and change order type to number | ""
* Rename action type name
* Add changelog
* Follow _REQUEST _SUCCESS _ERROR action naming
* Add a new action and reducer for getPaymentGateway
* Change store key
* Move to packages/data
* Export store name
* Remove unused spec properties
* Move default payment gateways to separate file
* Add Stripe to default gateways
* Fix payfast image and visibility conditions
* Fix setup button action when no fields are present
* Fix localized string and help text
* Fix settings transform and add help text
* Show connection button if oauth connection URL exists
* Add fallback when no fields exist
* Remove ToS text in favor of help text
* Update payment action boolean check
* Add changelog entry
* Call existing filters for leaderboards.
Fixes category data not refreshing when selecting a different currency while using docs/examples/extensions/sql-modification
* Update changelog
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* transform data
* working
* better
* check for marketplace suggestions
* changelog
* copy initialInstallableExtensions before transform
* parse locales server side
* deep equality
* Match remote data to local data
* reflect changes on UI
* fix keys
* Add method to collect post install scripts from payment gateway
* Add reusable JS method to add scripts
* Enqueue gateway script after plugin install
* Fix current method not found when resolving methods
* Add changelog entry
* Fix readme merge conflict
- Forward `autocompleter` prop from `CompareFilter` to `Search`.
Allow, to use the `custom` type of search,
previously it was complaining about lack of `autocompleter`,
even though it was provided.
- Move `path` in Storybooks example to a parameter, to allow setting it in unit tests.
- Add few tests for FilterPicker.
- it renders the basic storybook example without throwing an error
- it forwards `autocompleter` & `type` props
Fixes: woocommerce/woocommerce-admin#6890
* Add PluginInstaller class
* Redirect to referring page if one exists
* Store message and show after redirect
* Add transient notices feature
* Fix default and empty state of notices
* Use TransientNotices to display plugin notices
* Add transient notices readme
* Add feature unit tests
* Update notice queue client-side
* Add filter to queued option prior to notice creation
* Use the core/notices2 data store
* Fix filtered queued notices
* Add methods to get individual notices and queue
* Allow user ID specific notices
* Remove errant script asset dependencies
* Add user ID property to docs
* Use preloaded option instead of window var
* Refactor transient notices to directly use option instead of state
* Show error message from WP_Error in plugin installer
* Add tests around notice queue in client
* Add changelog entry
* Only fetch remote payment specs when marketplace suggestions enabled
* Fall back to default specs if remote fetch fails
* Change ruleset to object
* Add changelog entry
* Add notes helper method for date ranges
* Update two of the notes with date ranges
* Add tests and fix range logic
* Add changelog
* Update comments
* Update range name and added exception if invalid range passed in.
* Fix php unit tests
* Fix another test
* Added dry run option and clean between core and plugin builds
* Add safety so I will not accidently start a release
* Change return to exit and update plugin release name on dry run
* Updated some of the logging
* Made use of git --dry-run and hub --noop
* Add dry run to add as well
* Removed dry-run command, updated log
* Extend the existing REST endpoint with gateway status data
* Add settings URL to response
* Add setup specific fields to response
* Fix controller class name
* Only pass required setting keys instead of fields
* Add changelog entry
* Update readme with changelog from 2.2.* releases
* Add 2.2.5 release to the changelog
* Update with 2.2.6
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Replace google icon
* Remove note for Google Ads extension
* Replace extension in API OnboardingProfile
* Record event for new extension
* Replace extension in onboarding flow
* Replace extension benefits
* Change background colour of Google icon
* Fix svg warnings
* Add changelog entry
* Fix prettier error
* Add old note to obsolete list for removal
* Fix an issue with OBW when wc-pay and Jetpack are both being installed
* Add readme and testing instructions for woocommerce/woocommerce-admin#6957
* Add filters for the installed and activated plugins and tie into those filters for ensuring Jetpack is installed ahead of WCPay
* Update the get_script_asset_filename function calls to match new format
* Added e2e test for the coupons page
* Add changelog
* Remove typo in changelog
* Added payment method to onboarding data store
* Add reducer test
* Address feedback on reducer naming convention, isResolving, enabledMethods
* Move out types to live in its own island
* Add a comment to remind ourselves for utilizing payments data store for enabled payment gateways
* Update changelog
* Fix select-control component to preserve currently selected item on focus and de-focus
* No longer auto select option on initial render, pressing tab would only select if selection exists
* Fix to reflect the proper suggested changes
* Attempt to fix unnecessary search reset on pressing tab
* Fix for keyboard interactions and added accompanying tests
* Add task hierarchy support to task item
* Add optional tooltip
* Add changelog
* Update the logic to keep it more generic
* Fix up css
* Change level to numbers
* Switched the levels around where 1 is the highest priority
* Updated classnames and made sure tooltip does not show on completed item
* Partial change with new task-list
* Made use of the new CollapsibleList for the extended list
* Add test for expansion item
* Add changelog
* Add tracks for expand and collapse
* Update translation to plural/singular option
* Add disabled props to SelectControl
This commit adds "disabled" props to SelectControl
* Added changelog
* Fixed prop name
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Prototype the basic functionality of the list collapse component.
* Further work on the component.
* Add icons and some basic styling. Fix exports to include 'Experimental'
* Add CSSTransition to collapsible list item
* Add tests for collapsible component
* Add changelog
* Add collapse/expand callbacks
* Add tests for callbacks
* Replaced collapsible list item with a collapsible list instead
* Updated to use calculated height versus absolute height
* Removed fallback and removed animation from collapse footer
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Add a Basic test for FilterPicker.
Test that it renders the basic storybook example without throwing an error.
Move `path` in Storybooks example to a parameter, to allow setting it in unit tests.
* Forward `autocompleter` prop from `FilterPicker` to `Search`.
Allow, to use the `custom` type of search, previously it was complaining about lack of `autocompleter`, even though it was provided.
Fixes: https://github.com/woocommerce/woocommerce-admin/issues/6062.
* Add changelog entry.
* Move `FilterPicker` config creation closer to tests that use it.
* Remove unused type prop from `FilterPicker` tests.
Addresses https://github.com/woocommerce/woocommerce-admin/pull/6880/files#r620285400.
* Add changelog note also to `CHANGELOG.md`.
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
* Add initial task item component with the new task list
* Switch components to functional components
* Some minor updates from the last rebase
* Fix missing variables.
* Fix tests
* Add animation for the experimental list
* Fix lint error
* Add changelog
* Fix E2E tests
* Update PR suggestions and export list from experimental package
* Fix dismiss styling issue
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
* Use remote payment methods endpoint for payments list
* Use the generic payments step for the payments container
* Use field config to update options
* Move remote payments to separate folder and restore old payments
* Restore PaymentSetup
* Add changelog entry
A custom exception `NotesUnavailableException` will be thrown on attempts to load the "admin-note" data store using the `Notes::load_data_store()` method introduced in this PR.
All calls to `\WC_Data_Store::load( 'admin-note' )` were replaced with calls to the above method.
* Add login page wait script for e2e tests
* Re-navigate to login page, if initial selector does not exist
* Add screenshot if login page did not render
* Add screenshot code, and screenshot artifacts to GH action
* Update screenshot logic for login
* Update artifact task
* Update upload artifact workflow
* Update jest config to make sure the screenshots work on test failures
* Remove old screenshot code
* Add screenshots to daily e2e tests as well incase of failure
* Add changelog
* Create the new experimental list, default to rendering it when items are not supplied.
* Remove typings from the List, ListItem.
* Add react-transition-group as dependency.
* Fix warnings by wrapping with CSS transition, pass down props from List.
* Remove type annotations left in list-item.
* Duplicate some styles in the higher level woocommerce-list-item element, to make them work in the new list.
* Fix accessibility issues, adjust the role logic
* Add more testing of the roles logic.
* Mark the old list stories as deprecated, add a basic story for the new style.
* Expose ListItem without Experimental in the name.
* Remove some redundant code changes.
* Fix linting issues
* Add types package.
* Cast the type of children to TransitionGroup.
* Adjust the list to assume a purpose of being a list of links.
* Adjust the tests for the new behaviour.
* Fix css mangled by prettier.
* Fix types that are optional.
* Rework the list item.
* Export new list as experimental, fix accessibility styles and deprecation notice.
* Make the basic transition opt-in.
* Update classnames to get types.
* Add tests, adjust behaviour for css disable.
* Fix css lint, remove types/classnames, update tetsing-library/user-event.
* Fix the basic story for ExperimentalList.
* Conditionally add keyDown and role based on onClick handler. Adjust tests to new behaviour.
* tabIndex only on hasAction
* Update the package-lock
* Add changelog
* Fix transition styling
Co-authored-by: Paul Sealock <psealock@gmail.com>
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Add initial payment recommendations code for the payments settings
* Added request data for the recommended payments
* Some styling updates and make sure it does not show when marketplace suggestions is disabled
* Update url
* Update comment in php class
* Add tests
* Fix lint errors
* Remove unnecessary type
* Fix lint error
* Fix broken test
* Convert plugin package to typescript
* Fix lint errors
* Add changelog
* Add support for locale-data
* Fix track name
* Fix up the tests
* Fix lint errors
* Address PR feedback
* Add tests for option hydration
* Make types more robust in plugins reducer
* Made use of SlotFill component instead of page registry and router
* Removed console log, and fixed types
* Add newer version of i18n to data package, for newer types
* Make the request to WooCommerce.com more restrictive
* Fix path of import
* Update PHP with suggested changes
* Remove SlotFill with applyFilters
* Update copy and PR feedback
* Update package lock
* Updated package lock
* Fix the package lock
* Added dot, and some minor styling changes
* Add test instructions
* Remove PayPal for India
This commit removes PayPal payment option for India
* Added changelog
* Added testing instructions
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Add store timezone string to preloaded settings
* Get current timezone periods based on store timezone
* Use current moment object to append timestamps
* Add changelog and testing instructions
* Consolidate timezone logic into getStoreCurrentTime
* Use const for default datetime format
* Use store moment converted via tz
* Make testing instructions more clear
* Add information to date readme about timezones
* Add tests around getStoreTimeZoneMoment
* Allow any plugin to be installed or activated
* Add PluginInstaller class
* Redirect to referring page if one exists
* Store message and show after redirect
* Add changelog and testing instructions
* Rename extensions task list card.
* Remove unused function parameter.
* Fix extended task list view tracking event name.
* Move completed extension tasks to the end of the list.
* Add extension task list toggle to display options.
* Avoid toggle width changing based on status.
* Remove redundant prefix from event name.
* Add changelog entry.
* Handle an empty extension task list.
* Only show extension task list display options when tasks have been filtered in.
* Add database columns
* Add support for nonces in note actions
* Add test for nonces in note actions
* Fix db values should default to null
* Fix a bug where URLs had encoded ampersands
* Update variable naming for clarity
* Add throwing an exception when note name not found
* Add tests for nonces in the datastore
* Add changelog
* Fix default paramater name
* Add changelog
* Revert "Add changelog"
This reverts commit f842bc58e4db66c8a497ca4f38d1b0294590192d.
* Making experimental package public, and updating the dependency versions
* add experimental to webpack and make explat public
* bump DEWP package version
* use filepath for inter package dependencies
* load experimental script
* remove check for experimental
Co-authored-by: Sam Seay <samueljseay@gmail.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Add dompurify and md5 to @woocommerce/components dependencies list
* Add changelog entry
* Add @woocommerce/experimental to @woocommerce/components dependencies list
* Update changelog entry
* Created Admin helper for helper functions
* Only set task_list to hidden on plugin update when store is less then day old
* Add onboarding skipped as well
* Add changelog
* Fixed user id unsetting
* Fixed event name
* Added cookie unsetting before recording
This commit adds the cookie unsetting before recording and adds a small refactor to the merchant email notes event recording.
* Added small refactor to the merchant email notes event recording
* Renamed event `wcadmin_store_alert_action`
This commit renames the event `wcadmin_store_alert_action ` to `store_alert_action `
* Removed check
* Fixed method name
* Changed "Notes" method to private
The method "record_tracks_event_without_cookies" now is `private
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* WIP add details prop to summary number component. New optional prop to add additional information at the bottom.
* Update component readme and stories to include new prop
* Revert commits to use children instead of a new prop
* Render optional summary number component children
* Typo fix, doc improvement and add entry to changelog
* Add readme.txt entry
* Partial local version to run php8 unit tests
* Remove the post install scripts
* Remove tab
* Make sure woocommerce version contains patch number
* Remove unnecessary script
* Update bin settings and unit test script
* Remove phpunit binary
* Updated how php unit is being run
* Add specific phpunit version for php8
* Update bin phpunit composer.json
* Final cleanup of scripts
* Fix potential test where image is an object
* Move setting image below save
* Add changelog
* Do not convert obj/array to string for email_actions
* Remove some uses of tabs
* Set WP and WC version to minimum php 8 supported
* Remove unnecessary composer install within tests
* Update select control logic so value type stays consistent
* Added test cases for updated changes
* Add changelog
* Removed the use of lodash 'findIndex' using the native one instead
* Added onChange update to readme
* Add types
* Add type definitions for @wordpress/components
* Fix formatting
* Fix JSX return type
* Fix incorect type for rows
* Add null to return type for react component
* Add type definitions for @wordpress/components to main package
* Add changelog entry
* Remove TS filename from import
* Re-add @types/wordpress__components
* Modified MerchantEmailNotifications class
This commit modifies the class "MerchantEmailNotifications" in order to set the current user before the events tracking
# Conflicts:
# src/Notes/MerchantEmailNotifications/MerchantEmailNotifications.php
# src/Notes/MerchantEmailNotifications/NotificationEmail.php
# tests/notes/class-wc-tests-email-notes.php
* Added changelog
# Conflicts:
# readme.txt
* Added testing instructions
* Fixed changelog
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Update all references to of Loader::is_feature_enabled to use Feature class
* Check if feature is enabled instead of existence in deprecated feature method
* Add changelog entry
* Add method to enable features
* Add the navigation nudge note
* Add changelog entry and testing instructions
* Update note name
* Fix renamed note class name
* Use redirect to settings instead of directly enabling note
* Remove old feature settings filter
* Add warning and default to empty array for contains operation, when value is not array
* Add changelog
* Move option is array check and warning to the OptionRuleProcessor
* Added a check for the new_value as well, given we do the same for the old_value
* Update contrast and hover / active colors
* Update hover and active state of chevron using mask
* add test instructions and changelog entries
* Update readme.txt
Co-authored-by: David Levin <davidlevin@Davids-MacBook-Pro-2.local>
Co-authored-by: Dan Hauk <dan@danhauk.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Initial playwright
* Updated e2e to use playwright and typescript
* Update set up environment and jest package
* Add changelog
* Add await to uncheck
* Fix formatting
* Revert jset back to ~24, as >25 runs slower, see facebook/jestwoocommerce/woocommerce-admin#9457
* Removed some unnecessary uses of waitForSelector
* Fix eslint issue
* Fix the e2e tests with latest updates
* Running most tests, with typescript now
* Fix any outstanding queries for the tests to work
* Update changelog
* Remove unnecessary jest version and unnecessary transform setting
* Fix test case broken after rebase
* Add fix to make e2e tests more robust
* Making sure dropdown value is correct
* Reove the wcpay condition for features number
* Check for function before calling
* Add comment & changelog note
Co-authored-by: Lee Willis <lee@ademti-software.co.uk>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Refactor benefits component to functional component
* Update to useSelect and useDispatch
* Use state to store installing state
* Separate benefits components
* Add missing translator comments
* Don't show benefits screen when already completed
* Add benefits step tests
* Add changelog entry and testing instructions
* Close activity panels by default and track shown
* Add task list shown data to tracks
* Add changelog and testing instructions
* Fire the panel tracks again when the task list is hidden
* Update old versions of lodash in packages
* Add changelog entries
* Move lodash to peerDependencies in components package
* Fix broken JSON
* Fix lodash defined twice in components package
* Move lodash to peer dependency in date package
* Move lodash to peer dependency in navigation package
* Move lodash to peer dependency in notices package
* Relax lodash version constraint in components package
* Update package changelogs
Fixeswoocommerce/woocommerce-admin#6488
Changes.
* See the issue for the discussion, but we're changing the behaviour of triggering the connection flow as part of this. Before it was required that both wc-services and wc-admin were installed before triggering the flow.
* Also the plugins value was not being updated properly in the new flow, but plugins is not used in any useful way in the onboarding profile, so I have removed it completely. We now rely on the actual installed plugins to determine what is installed/activated.
* PHP unit tests were failing due to a change in the Github actions environment.
* E2E tests were failing because of that issue (they rely on port 8084 which is used in ubuntu 20 environment) and because of an issue with @woocommerce/e2e-environment
* Add CES survey for adding product categories and tags
* Update readme and testing instructions
* Add CES survey for adding product attributes
* Change logic to use number of rows in tags table
* Replace addslashes with esc_js, use JS variables pagenow and adminpage
* Added "MailPoet" option to new Business Details step
This commit adds "MailPoet" option to the new Business Details step
* Modified the Creative Mail copy
* Added changelog
* Added testing instructions
# Conflicts:
# TESTING-INSTRUCTIONS.md
* Fixed testing instructions
* Fixed e2e tests
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Add tilde option for client root directory
* Support tilde start as internal to fix lint issues
* Update baseUrl and paths so auto complete works correctly
* Add changelogs
* Add eslint support for webpack resolvers
Co-authored-by: Matt Sherman <matt@jam123.com>
* Remove unnecessary tracking opt in check
* Add intro modal tests
* Add changelog entry
* Add extra check to see if modal has previously been dismissed
* Add packgage state check to deactivate-plugin note
* Add changelog entry
* Add method to check if notes are initialized
* Update guard to check if notes are initialized
* Add testing instructions
* Fixed related orders problem
This commit fixes the related orders problem
* Fixed customer type query
* Fixed get_order_number filtering
* Added a default value to totalResults
This commit adds a default value to totalResults (in order to avoid errors)
* Added testing instructions
# Conflicts:
# TESTING-INSTRUCTIONS.md
* Added changelog
# Conflicts:
# readme.txt
* Fixed orders without products
* Added tests
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Added "MailPoet" option to Business Details step
This commit adds the "MailPoet" option to Business Details step in the OBW
* Fixed plugins order
* Creative Mail option toggled off by default
This commit toggles off the Creative Mail option by default
* Fixed copy and image URL
* Added mailpoet.png image
* Added changelog
# Conflicts:
# readme.txt
* Added testing instructions
# Conflicts:
# TESTING-INSTRUCTIONS.md
* Fixed key
* Fixed lint error
* Fixed testing instructions
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Prune out old bundle flow and expand range of new one
* Add feature flag, default to true
* Update feature flag, and updated WcPay logic
* Fix lint errors
* Add changelog
* Onlly show WC payments task if part of the business extensions
* Remove stray console log
* Update copy of WCPay card
* Add a couple more e2e tests
* Add await for click
* Add test instructions
* Add changelog and testing instructions
* Set active level when matching a new item
* Add navigation container tests
* Add testing instructions and changelog
* Update testing instructions
* Fix up missing changelog entries after rebase
* Add in missing menu items from useSelect in tests
* Add remote inbox notifications rule that triggers when WCA is updated
* Add changlog entry
* Note that `plugin_version` should be used to check the WCA version
* Added warning when WC-Admin is active but not being used
This commit adds a warning when WC-Admin is active but not being used
* Fixed copy
* Added changelog
# Conflicts:
# readme.txt
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Remove exclusion in getFilteredOptions
* Update filteredOptions to searchOptions
* Check if options then setState after searchOptions is updated
* Show all options under business details select controls
* Bump to version 2.2.0-dev
* Update changelog with 2.1.0 heading
* Revert "Bump to version 2.2.0-dev"
This reverts commit cc7d4b95ea3ccae140a5366cdd521ac8f35a3100.
* Bump to version 2.2.0-dev
This was performed using `npm run bump-version`
* Move recent changelog entries out of 2.1.0
* Correct the Klarna slug
* Test instructions and release note
* Update testing suggestions with @adrianduffel's suggestion
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Separate primary and secondary menu components
* Simplify category mapping
* Map categories and items simultaneously to improve performance
* Sort added menu items
* Pre-sort menu items
* Create single mapped sorting on server-side
* Fix incorrect menu ID references
* Update tests
* Move methods to utils file
* Add in permissions check in client nav
* Fix server-side capability check
* Fix duplicate expectation and test name
* Add testing instructions
* Email notes now are turned off by default
This commit turns off the email notes by default
* Added readme.txt
* Added testing instructions
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Removed @woocommerce/components/card from OBW
This commit removes the "@woocommerce/components/card" from the step "Business Details" in the OBW.
* Added readme.txt line
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Move user data store folder
* Add user capability check hook
* Don't limit script loading by user capability
* Convert ActivityPanel to functional component
* Update ActivityPanel to use useSelect
* Check that a user can manage woocommerce for the store setup tab
* Add capabilities to pages
* Add testing instructions
* Add class to determine styling for disabled wp toolbar
* Use disabled toolbar class in onboarding setup wizard
* Add changelog and readme notes for filter
* update min version in docs and tests
* update woocommerce-admin.php
* update docker versions
* one more 5.3
* Docker image: back to min versions
* fix main file's min PHP to 7.0, same as Woo Core and readme.txt
* docs/readme
* get_dependency_errors
* Change filter callback to enqueue_scripts action to safely enqueue scripts
* Add changelog
* Only load beta modal JS on advanced features settings tab
* Add tooltip to plugin category titles
* Add useAnchor
* Hide tooltips if previously shown
* Refactor tooltip and favorite button to separate components
* Check if favorites resolved before showing button
* Update favorites tooltip option name
* Handle rebase changes
* Don't show tooltip when nav is folded
* Remove CES survey for editing a product
* Remove CES survey for adding a product
* Remove CES survey for editing an order
* Add testing instructions
* add to release notes
Fixeswoocommerce/woocommerce-admin#6172
This adds the PayU plugin as a payment task option. Based on the requirements, we've opted for this just to be a simple task that installs the plugin and lets the user configure the plugin later via it's settings screen.
* Update menu ID when favoriting an item
* Allow favorites to be included alongside the primary menu items
* Add categories to favorites menu server-side
* Don't reset menu state when active item is the same
* Make sure favorites are finished resolving before showing
* Remove the late addition of the core items for the navigation
* Add fallbacks in case the nav is not detected server-side
* Check if ref is set before resizing
* Add settings pages
* Replace the original settings page in the wp menu
* Add the settings feature toggle
* Get core items at later priority to allow registering all settings
* Add category title component
* Add category title styling
* Record tracks event when toggling favorite
* Fix aria labels
* Fix colors for favorite button
* Use CategoryTitle for secondary nav menu
* Move navigation to WC header
* Remove wp toolbar class
* Set body margin on header change
* Fix up layout margins
* Remove excess padding on mobile
* Fix navigation preload styles and embed
* Fix preloading space due to adminbar missing
* Remove embed padding on wrap
* Fix body display for wpadmin menu
* Fix up wpadminbar reset padding
* Remove body padding on full screen layouts
* Fix mobile admin bar height on full screen
* Clean up body margin on unmount
* Center the activity panel (https://github.com/woocommerce/woocommerce-admin/pull/6289)
* Center the activity panel
* Handle PR feedback
* Fix up secondary nav group style changes
* Remove screen reader style changes
* Debounce resize event
* Make responsive button selector more specific
Co-authored-by: Hsing-Yu Flowers <hsingyuc.7@gmail.com>
* change admin_head to admin_menu
* Update comment to better document why priority is being set on admin_menu
* Add conditional check for 5.1
* save
* working?
* fixup
* migrate flyout creation
* add comment
Co-authored-by: Matt Sherman <matt@jam123.com>
* change admin_head to admin_menu
* Update comment to better document why priority is being set on admin_menu
* Add conditional check for 5.1
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Update highlight tooltip to make use of anchor logic
* Add changelog
* Make sure the extra parent is removed as well
* Small refactor to update anchor rect later on, incase items are still rendering
* Add favorites data methods
* Add reducer tests
* Refactor actions to be more event based
* Add favorites resolver
* Fix requesting property for addFavorite
* Fix up misnamed types and missing yields
* Update nav data store to work with REST endpoints
* Remove errant addFavoriteSuccess call
* switch block-settings alias to settings and fix mapped external
* don’t force compilation of externals to `this` scope.
* update various meta data in package related files (changelog etc)
* update starter pack
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Add WordPress version selection to Docker PHP test suite
* Remove guard for old WordPress version
It was producing an error message when valid versions like “5.3” are selected:
bin/install-wp-tests.sh: line 22: [: 5.3: integer expression expected
I removed it since disallowing older versions doesn't really add any value now.
* Bump image version to trigger rebuild
* Fix existing WordPress version not being replaced
The install-wp-tests.sh script does not install WordPress if a previous installation is detected.
To enable WP version switching, the ENTRYPOINT removes previous files to ensure the installation starts from a clean state.
* Partially revert abd8ab80dc7ef6b57316636d467b511a07d0c5d3
The typo fix was accidentally included in this commit.
* Fix installation routine running every time
A typo was causing the installation routine to run on each use.
* Initial paypal plugin name replacement
* Add necessary fields for the Paypal plugin
* Updated payment methods info to use new options key
* Add most of the OBW paypal integration
* Some old code cleanup
* Get ready for the dynamic onboarding addition.
* Update paypal onboarding, adding script after plugin enabled
* Revert some old changes
* Check if plugin is enabled correctly
* Allow for manual input as a fallback
* Fix unit tests and alter the config updates
* Update plugin to use latest rest endpoint instead :)
* Add comment
* Fix some naming from PR feedback
* Made use of the payment gateway info from tasks/status, and show 500 error message
* Add support for the status and set credential endpoints
* Set the enabled value in ppcp-settings as well
* Added fall back for the 'get-status' method
* Fix issue where I was overwriting the options :/
* Small fix for when updating items manually
* Add changelog
* Remove old tests
* Add testing instructions
* Change from MenuGroup to label
* Remove icon
* Remove icon folder
* Update input style
* Remove list message
* Run test snapshots
* Add single knob
* Add changelog
* Change to wrap list with ul
* Run snapshots test
* Add styling on li
* Move renderList outside of li to prevent nesting
* snapshots test
* Whitelist the mollie plugin and ensure it does not crash on activation.
* Improve error messages for failed plugin installs.
* Add the payment provider screen for the Mollie payment provider.
* Revert change to try/catch activation, its not needed.
* Move the whitelist of mollie to Onboarding.php.
* Add api fetch to dep list of components, update the node setup workflow on gh actions.
* Pass indsutry to the klarna tests to avoid a crash.
* Add some tests for the mollie payment method.
* Remove redundant change to handler.
* Add a changelog entry for the feature.
* fix name of option
* Add testing instructions
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Added initial value to `savedValues`
This commit adds an initial value to `savedValues` in the "Business Details" step in the OBW
* Added readme.txt line
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Unhide the submenu
* Add method to get items by category
* Add flyout menu items
* Sort items by menu ID
* Allow marketplace in flyout menu
* Remove unused styles on non-wc pages
This commit adds the extended task list refactor to the unreleased list in readme.txt
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Hard code package names and alias block-settings
* instructions
* update readme
* block to blocks
* plural blocks
* just wcSettings, not wc.wcSettings
* Added extra filters to note
This commit adds extra filters to email note.
* Fixed note image and css
This commit fixes a few things related to the note image, css and some checks
* Fixed css and note image replaced
* Added readme.txt
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Add WooCommerce version selection
The WC_VERSION environment variable is added to the docker-compose config. If the variable is not set on the shell, it defaults to the minimum supported version (4.5.0)
The ENTRYPOINT is changed to automatically re-install the test suite when the version number is changed.
* Add documentation
* Add versioning to force image rebuild
* Update product template task copy and icon, updated wordpress/icons
* Fix tests
* Fix css lint errors
* Make use of the re-usable Pill component from Woo
This commit replaces method `woocommerce_get_page_id` with `wc_get_page_id` in Loader.php
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Move inbox panel to left column, to increase user interaction
* Add changelog
* Fix and add test
* Remove old loading banner-block
* Remove unused css
* Fix test with new props
* Fixed reviews and inventory panels visibility
This commit fixes the reviews and inventory panels visibility when setup task list is enabled
* Fixed tests
* Fixed control and small refactor
* Fixed useSelect
* Fixed multiple useSelect
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Fixed hiding core task list
This commit fixes the hiding of the core task list
* Added tests
* Added fix to readme.txt
* Fixed readme.txt
* Added new test
* Hooks were fixed
* Refactored task lists handling
This commit refactors a few things related to the task lists handling
* Added tests
* Fixed task lists handling
* Fixed tests
* Renamed 'taskListHidden' to 'taskListsHidden'
* Added taskListsHidden util
* Fix completed tasks tracking infinite loop
This commit fixes the completed tasks tracking infinite loop (for multiple extended tasks)
* Refactored update check
* Hide task list if there aren't any visible tasks
* Fixed comment
* Fixed typo
* Renamed example method
* Fixed example extension
* Added tab to the extension example
* Fixed extended task list enabling option
* Added more tests
* Added PHP tests
* Fixed some comments
* Removed utils.js file
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Delete all products before running tests
* Delete products in tear down instead
* Only remove the color attribute, as other attitributes are necessary in other tests
* Make assertion more lenient, and remove all products deletion
* Fix lint errors
* Changed to check if imported is at-least 2 items
* add product submenu items
* better check
* extesnions section
* use add_plugin_item
* htmlspecialchars_decode better
* Manually add product_brand taxonomy
* Determine if migrated items are a taxonomy or post_type. If they are, register them.
* add in_array check to register post types and taxonomies
* register a taxonomy or post_type, but not both
* update @wordpress/eslint-plugin dependency to latest version
* local prettier config isn’t needed anymore because of fix in upstream package
* add jsdoc config to use typescript format for jsdocs
* update changelog
* update packages and include .prettierrc.js back in for code editor support of prettier
* add docs
* minor prettier fix in test file
* Convert all new eslint rules throwing errors to warnings temporarily to be handled in separate prs
* updated changelog
* fix package-lock.json
* prettier auto-fixes
* add prettier dependency at root
* sigh prettier is being finicky
* version bump
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Initial product template modal
* Add custom product template for the new-post route
* Add test, and code for making use of the insert_post action
* Added ProductTemplates Datastore to create template with REST api
* Add back variation method, deleted by accident
* Move product from template endpoint to OnboardingTasks class
* Fix lint errors
* Added tracks and template hooks
* Rename product create permission check function, for less confusion
* Remove duplicate recommended option
* Fix stylelint errors
* PHP tests for the product_from_template endpoint
* Fix onboarding php unit tests
* Write tests for client product template options
* Refactored list component, to use it as a radio control list
* Fix lint errors
* REmove assertion as it fails on the ci
* Add changelog
* Updating tests to make sure all product attribute taxonomies are removed
* Add more specific assertions for importing sample products test
* Update the sample products test
* Deconstruct item object, from PR suggestion
* Fix PHP errors, by updating the createProductFromTemplate call
* Set isBusy for the continue button on Store Details
* Set isBusy for the continue button on Industry
* Set isBusy for the continue button on Product Types
Previously only a given delta was rendered as an integer. Now it renders the number with a given precision.
Fixeswoocommerce/woocommerce-admin#5925.
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Separate features into Features class
* Fix Loader references
* Move option to TOGGLE_OPTION_NAME constant
* Disable features on tracking opt out
* Remove errant classes
* Create array of beta features in Features class
* Update method names for exists and enabled
* Only load enabled features client-side
* Add survey class and URL builder method
* Use survey URL method in notes
* Pass survey URL to opt out modal
* Simplify source/query filter
* Move survey URL to constant
* Add a new note about the variable product when the owner adds the first product
* Attempt to add a new note when a product gets published
* Change logic to check only post status and type
* Add tests cases
* Fixed hiding core task list
This commit fixes the hiding of the core task list
* Added tests
* Added fix to readme.txt
* Fixed readme.txt
* Added new test
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Fix for translation chunks not generated on plugin activation
* Add support for woocommerce_activated_plugin hook to work as embedded package
* Update readme.txt
* Make sure woocommerce/woocommerce-admin#5062 does not regress by adding checks before accessing files
* Consolidate duplicated codes
* handle the unsupported collation case
* add an entry to readme.txt[Unreleased]
Co-authored-by: Nikolay Korovaiko <villedepommes@l-mhjo56y7ce.TheFacebook.com>
Co-authored-by: Nick Korovaiko <villedepommes@fb.com>
* Make WCA features list extensible
* Add navigation feature toggle
* Don't add features section if no features exist
* Turn off nav feature in core
* Move update text to nav feature toggle
* Add welcome modal when coming from Calypso
* add to changelog
* do some important work for prettier
* udpated with final copy
* Add PR number to readme
* Possibly use safe Text component
* Possibly use safe navigation components
* Add experimental package
* Update components to import from woocommerce/experimental
* Make experimental package private
* Reference experimental package relatively
* Update packages/experimental/README.md
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Update packages/experimental/CHANGELOG.md
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Update history state instead of mocking getQuery in tests
* Handle PR feedback
* Create excluded externals array and return early
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Added media selector to target viewport size less than 438px for the label
* Added media selector to target viewport size less than 375px for the pricing label
* Avoid new references in getReportChartData() return.
* Avoid some new references in ReportTable component.
* Avoid some new references, fix cache key for getReportChartData memoization.
* Memoize date package functions used in ReportTable.
* Avoid more new references in RevenueReportTable.
This fixeswoocommerce/woocommerce-admin#5287
Major changes:
1. The `<Form>` component (which is a published component) gets a new optional prop (so its backward compatible), called `onChangeCallback`. This is called when any form value changes, allowing the controlling component to act on individual form changes. This was needed to utilise `<Form>` to revalidate and check if the user could access the next tab. This should not impact existing usages of the `<Form>`, but it could be good to test this.
2. Introduces a new flow for choosing business extensions that was specified in woocommerce/woocommerce-admin#5287 issue description. Please check the issue for reviewing the designs. The simplest way to implement this, ended up being keeping the existing flow intact and where necessary copy pasting code from those components into the new flow. This new flow is only shown if your segmentation matches the following: `Stores that selected the US as the country and Other or Food & Drinks as the industry
* Provide localeInfo via wcSettings
* Provide currency symbols via wcSettings
* Use localized data to derive currency
* Decode entities and fix spaces after setting currency
* Determine currency by country instead of region
* Handle PR feedback
* Remove country info and symbol fallbacks
* Reverts work done in woocommerce/woocommerce-admin#4857 for automated shipping after OBW is completed
* Remove ReviewShippingSettings note
* Update readme.txt
* Add wc-admin-review-shipping-settings to delete note list
* Add isCompact prop to SearchListControl
* Add left and right borders to search list
* Remove box-shadow when search list items are focused/active
* Add Changelog notice
* Update snapshots
* enqueue wp-components
* conditional check of Navigation?
* nav version checks, first pass
* better nav checking
* bump min requirments
* min versions
* Use WP 5.6 instead of 5.6.0
* add wp.date and wp.compose
* Handle missing FlexItem
* enqueue styles
* fix date range mobile dropdown
* Show highlight help panel popup after user enters uncompleted task more then once
* Updated styling of highlight tooltip
* Removed empty array from the useSelect to prevent unnecessary re-renders
* Updated styling of the highlight tooltip to match wireframe and wrote tests
* Fix close button location
* Add event tracking
* Add changelog
* Make use of user preferences meta data for task visit tracking
* Add support for toggling the show boolean
* Make sure the delay works correctly for highlight tooltip
* Continue tracking tasks visit count, and added onShow callback for tooltip
* update card header styles to match typography in @wordpress/components
* revert analytics card headers
Co-authored-by: David Levin <davidlevin@Davids-MacBook-Pro-2.local>
* Add product attributes autocomplete for Search control.
* Support single selection in Search component.
* Fix SelectControl input after selection in single mode.
* Remove label from Search component's inner SelectControl.
Placeholder is the behavior we want to avoid label and selection collision.
* Match Search component selected prop to SelectControl.
It's passed through anyhow.
* Rework attribute filter to use new endpoints for custom terms.
* Hook up custom attribute filter to report queries.
* Fix errant space in filter name.
* Fix SelectControl active status when control is disabled.
* Fix SelectControl "has tags" logic for non-multiple use cases.
* Fix attribute filter screen reader text.
* Update changelogs.
* Move custom attribute test to it's own function.
* Remove SelectControl input disabling.
This was supposed to improve keyboard behavior for non-multiple controls, but it was questionable.
* Fix backspace in attribute term field.
* Add navigation opt out script
* Check to see if opted out before loading opt out scripts
* Include opt out styles
* Close modal after clicking 'Share Feedback'
* Update to not use export default
* Add product tags and categories taxonomies to menu
* Add product attributes page
* Register product taxonomies
* Register product attribute taxonomy screens
* Move order to taxonomy item getter
* Add match expressions for product tags and attributes
* Check against wc taxonomies instead of registering wc taxonomies
* Add comments to regex match groups
* Update nav readme to include taxonomies
* Update to less ambiguous taxonomy check
* Add new product attributes endpoint that allows searching.
Including custom attributes in the results.
* Add endpoint to fetch custom attribute values by slug.
* Add initial tests for Product Attributes endpoint.
* Test Product Attribute search.
* Fix schema/params for attribute terms endpoint.
* Add tests for custom term values endpoint.
* Add a LIMIT to the attributes query.
* Add endpoint to retrieve single attribute by slug.
Fixes the 'self' link.
* Use woocommerce_admin_report_table client side filter on the CSV download
* Remove duplicated applyFilters call
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Added unregister extended task
This commit adds a method to unregister extended task when the plugin is deactivated
* Refactored task lists handling
This commit refactors the task lists handling
* Added default task type
This commit adds a default task type
* Fixed method comment
* Moved method to group objects to lib
This commit moves method to group objects to `lib`
* Refactored getUngroupedTasks method
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Create get last order function that does not rely on Wordpress user, and add test for use case
* Add change log
* Make sure tests use the right index for comparison
* Order by date_created_gmt first and order id second, and wrote test for get_last_order
* Fix test assertion, and remove unnecessary parameter
* Remove showCount prop from SearchListControlItem
* Add option to show counts in ShowListControl story
* Fix count alignment in SearchListItem with latest Gutenberg
* Add new changelog entry
* Update dated prop description
* Hide shipping cost task if user has disabled shipping
* Add countries array to dataEndpoints
* Export the presentational component so that it can be tested
* Add a test for the shipping component
* Use default expression to match items
* Pass match expression for WCA homepage
* Match post types if the current post type matches item
* Remove unused getParams
* Update tests for isMatch util
* Update nav docs
* Update default expression to match params in any order
* add query arg tests: additional and order
* Use match score based on regex matches
* Return max safe int for exact matches
* Update tests for match score
* more tests
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Adding simple add_plugin_setting_item() hook that enables adding a nav item only to the Settings menu
* Adding warning when a plugin attempts to register a settings item with illegal args
* rename to add_setting_item
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Add onboarding settings only if the current page is one of the WC admin pages.
* Uses screen object to detect WC Admin pages
* Removed unused variable
* Use PageController to check for the WC Admin pages -- it is more reliable
* Add onboarding settings only if the current page is home or setup wizard
* Add reset option to bin/install-wp-tests.sh
* Fix logic issues and made reset more verbose
* Add testing suite removal on reset
* Change behaviour of test install script to reset by default
* Silence install-wp-tests.sh reset commands
The wc-analytics/reports/orders and /wc-analytics/reports/orders/stats endpoints have inconsistent parameter names for filtering the customer type: customer_type vs customer.
This was affecting the Customer Type filter in the orders analytics, reported in issue woocommerce/woocommerce-admin#5803, where the component expects the parameter names to be the same. This is because it uses a parameter name based on the key in the filter configuration (customer_type).
To resolve this, this PR updates /wc-analytics/reports/orders/stats to accept both customer_type and customer as parameter names for this filter. The customer parameter has however been deprecated in its description to discourage usage.
Co-authored-by: Sam Seay <samueljseay@gmail.com>
* Added tasks extensibility
This commit addes tasks extensibility
* Fixed tests
This commit fixes the tests
* Fixed add task example
This commit fixes the add task example
* Fixed method possiblyCompleteTaskList
This commit fixes the method "possiblyCompleteTaskList"
* Fixed method getIncompleteTasks
This commit fixes the method getIncompleteTasks
* Fixed add task example
* Added callback onDismiss
This commit adds the callback for the "onDismiss"
* Added onDismiss and isDismissable to add task example
This commit adds the props "onDismiss" and "isDismissable" to add task example
* Not showing extensions task list if empty
* Fixed onDismiss callback
* Add changelog
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Sam Seay <samueljseay@gmail.com>
* Use error_log() to log the deprecated class calls instead of _deprecated_function()
* Include method name and replacement in deprecation log message.
Co-authored-by: Rebecca Scott <me@becdetat.com>
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
* Only render nav items belonging to parent menu ID
* Set item menu ID for items automatically
* Use categories map to filter items early
* Convert categorized menus to objects
* Prevent bypassing menu via existing parent
* Fix plugins name
* style changes to tax task
* Fix undefined variable use.
* Set plugin install dismissal actions as tertiary.
* change back to variable
* add margin to primary
* text-button-styles-homescreen
* Add specificity to the task caption selector.
We need to beat out the styles from Gutenberg.
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
* Create initial reviews panel and displaying it on the home screen
* Update reviews package to support updating and deleting reviews
* Allow custom icons to be defined for rating component
* Add approve, spam, and delete actions to home screen review panel
* Show entire list as updating when items are still in the store
* Update rating to only import the required icons, and allow icons to be passed in instead of strings
* Prune out reviews header panel, as we are not using it anymore
* Showing just a header if collapsible is false for activity panel
* Add tests for reviews panel and accordion changes
* Fix undoing a deleted item by using status - untrash
* Several styling changes to match wireframe as mentioned in PR review
* Moved review rating into the subtitle in relation to new design
* Update clear cache logic for last item
* Remove activity panel unused css
* Use invalideResolution instead of invalidateResolutionForStoreSelector
* Disable the continue button while requests are being made
* Use isUpdatingProfileItems method name for all
* Add disabled attr for the choose buttons
* Add package dependencies and bump version
* don't use lodash's noop
* Use useEffect instead of changing state right in the render :-O
* Add dependencies for ces to Loader.php
* undo add dependencies for ces to Loader.php
* 🎶 found a typo
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Display Razorpay for stores in India.
* Add Razorpay setup component.
* Remove composition with HoCs.
Refactor to use useSelect() and useDispatch() instead.
* Tweak useSelect() call.
* Allow WCA registered pages to register plugin items and categories
* Don't allow top-level item registration through WCA
* Remove is_top_level from menu API
* Prevent directly setting woocommerce as parent ID
* Don't return an action-like object in action creators.
* Add missing itemType param to setError() calls.
* Add setItem() action (singular).
* Use singular setItem() when updating product stock.
* Split setting items and totals counts into separate actions.
* Refactor totals count resolvers not to use getItems().
Fixeswoocommerce/woocommerce-admin#5294 and Automattic/woocommerce-paymentswoocommerce/woocommerce-admin#810 .
Changes:
* Update UsageModal UI to have two action buttons instead of 'Count me in' checkbox.
* Make UsageModal configurable with custom title, message and buttons text.
* Add customized modal to request site usage tracking after WC Payments KYC flow is completed.
* fix settings change enqueue params
* Include comments in score record callback
* send empty string for comments
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Refactor low stock variable to be the count instead of a boolean.
* Add initial render of the Stock panel on the homescreen.
* Move existing Stock panel to homescreen accordion.
* Ensure int value for low stock product count.
* Update ProductImage styling.
* Update stock activity car styles.
* Only show 5 low stock products.
* Add "undo" action to the stock updated snackbar.
* Fix check for explicit notice dismissal when taking actions.
* Hide now-in-stock products after updating.
By cllearing "edited" flag on successful update.
* Fetch more products after updating stock.
* Fix the number of product placeholders shown.
* Only show products placeholders on the initial fetch.
* Fix placeholder style.
* Fetch low stock count dynamically.
* Let initialOpen prop toggle Accordion panels if they haven't been toggled by the user.
* Refactor item total count state.
Allows for auto-updating item totals whenever identical queries (from a totals perspective) are issued.
* Add last order date to low stock products API response.
* Allow non-date strings in ActivityCard date prop.
* Add last order date to stock panel cards.
* Remove empty stock panel view.
* Add test file for StockPanel.
* Only request necessary fields from products endpoint.
* Add test for products fetch after stock update.
* Fix field name.
* Add test for last order date in low stock products API response.
* Stock panel should be initially closed.
* Skip updating a product if the quantity is unchanged.
* Add Customer Effort Score modal
* Add style for selected emoji
* Update modal layout to match design
* Update colors to use color studio variables
* Refactor SCSS to reduce nesting
* Refactor render logic to reduce nesting
* Add translation to strings
* Add keyboard support to emoji buttons
* Fix button misalignment
* Fix missing white space around button text
* Refactor emoji button layout with flexbox
Flexbox makes more sense to use than a grid since the buttons need only a single row or column layout.
* Refactor merge conflict resolution
Tidies up the diff by
- Using naming convention of “visible” instead of “open”.
- Restoring previous import order.
* Add comments field
* Update initial score value to undefined
* Refactor SASS selectors
* Update sendScore with comments data
* Fix comments field to display on low scores only
* Refactor by extracting modal to own component
* Add input validation
* Add tests
* Fix variable name
* Update Feedback component documentation
* Fix uneven button height
* Restore previous prop names
This ensures naming consistency with the CustomerEffortScore component.
* Update variable name for consistency
* Don't close modal if click outside it
* Rename Feedback component to CustomerFeedbackModal
* Update error message text
* Fix import name
* Fix formatting
* Update test to use mockRecordScoreCallback prop name
* Convert score to int before recording
* Clear error message when score has been selected
* Add transitions when comments field is shown/hidden
* Wrapped comments field UI text for localization
* Increase contrast ratio for focused effort score labels
Co-authored-by: Matt Sherman <matt@jam123.com>
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Use a store to render CES tracks
* Use the CES store to trigger CES survey when users change date range or single product filters.
* Support onClick event for the Compare button
* Trigger CES survey when a user clicks the Compare button on products, variations, categories, coupon, and taxes pages
* Set default text for onSubmitLabel in js and remove its requirement
* Add addCesSurveyTrackForAnalytics action so that it can be shared in other components in analytics pages -- remove duplicates
* Call addCesSurveyTrack from addCesSurveyTrackForAnalytics to avoid duplicate
* Remove 'tracks' from the method name
* Refactor menu item callback check
* Migrate parent items that have first child item migrated
* Allow wp menu items to be hidden with public method
* Rename hide menu item method
* Add order count to shared component settings.
* Hide the Orders panel when the store has no orders.
* Check for all order statuses except drafts from the checkout block.
* Update Customer Effort Score to only ask feedback from desktop users
* Add test for mobile disabling
* Update documentation
* Fix broken test
Instantiation of `CustomerEffortScoreTracks` was moved to the individual tests because it has the side effects of adding hooks in the constructor.
* Remove check for WC Services and Jetpack
As part of work to move stripe connect logic to the Stripe plugin, this removes the WC Services and Jetpack dependencies from the stripe onboarding flow in WC-Admin.
This also adds a ToS prompt to the stripe OAuth onboarding task. Because we
are removing the Jetpack and WC Services dependencies for Oauth, it is
no longer clear that data will be shared with WC. As such we need to add
this notice.
Further, this adds a link to revert to manual config so that merchants
can opt-out of sharing data with WC.
* Fixed orders panel flickering
This commit fixes the orders panel flickering when Gutenberg is activated
* Fixed badge flickering
* Removed unnecessary line
* Fixed items selector
This commit fixes the items selector. The method 'getItemsTotalCount' was returning the 'defaultValue' instead of the 'totalCount' when its value was 0
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Fixed Link component prop
This commit fixes a Link component prop name
* Fixed Link prop
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Restore composer install on WooCommerce plugin
Previously removed in c26db640d6
* Remove direct require of wc-install.php
In some contexts, this causes phpunit to halt because of the early exit call in wc-install.php:
defined( 'ABSPATH' ) || exit;
* Add temporary composer 1 downgrade before installing WooCommerce
* Add support for an explicit dismiss button to snackbar, as well as an onDismiss callback
* Fix effect dependencies
* Fix disabling auto-dismiss when explicit dismissing is on, fix cursor styles
* fix noops and dismiss on action
* refactor action click handler
* rename dismiss button class
* increase CES modal placeholder z index
* white. space.
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Allows tabs component to render custom tab components, removing the need for showDisplayOptions
* Add display options logic to getTabs function
* Update const name from PR review suggestion
* Add an icon to the snackbar displayed for CES
* Change icon from SVG to a unicode emoji pencil
* formatting changes to satisfy CI
* bump ci
* Fix prop types and jsdocs for the customer effort score component
* whitespace >:-(
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Update Woo tested and min versions.
* Update Woo tested and min versions.
* Load the installer class in bootstrap.
Co-authored-by: Sam Seay <samueljseay@gmail.com>
* Match settings to mode of provided keys
* Add validation error for mismatched mode edge case
* Tweak key validation error message for conciseness
* Add test mode case to method's isConfigured check
* Refactor stripe method isConfigured logic for clarity
* Fix small error message typo
* Change rendering of homescreen layout so store links are last.
* Render in left column in 2 column mode.
* Revert accidental log changes.
* Make homescreen layout component width-aware.
Potentially toggle the two column styling when viewport width changes.
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
* Trigger CES on the settings page when settgins get updated
* Added base test case for the CES class
* Update comments for the test
* Fix failing test -- moved down setup code after parent::setUp() so that the parent setUp runs first
* Fix coding standard
* Rename add_actions to enable_survey_enqueing_if_tracking_is_enabled and include admin_init action call in the method
* Show help tab always on homescreen, update help icon, and fix tests
* Add items to help menu for homescreen, when taskName is blank
* Add test for homescreen items when taskName is blank
* Add or case for showing help for performingSetupTask, incase setup happens on annother route
* Removed tabindex logic to allow for keyboard navigation when multiples tabs are available
* Update activity panel height and top when new navigation experience is enabled
* Moved style back into scss wrapper and used parent selector - &
* Adding ability for new navigation to scroll when list of links exceeds the viewport height
* Resetting scroll to the top of element when transitioning menus on navigation
* Migrate homescreen specific backend code to its own class.
* Default to single column homescreen.
Create an option to handle the default homescreen layout value.
* Potentially reset sticky column when layout is changed.
* Move homescreen components to their new locations.
* Clean up defunct CSS.
* Default to the two-column layout on existing stores.
* Remove header from inbox notes.
* Add "your store today" header on two column homescreens.
* Set default homescreen layout to two columns when task list is complete or hidden.
* Remove unused variables.
* Add sticky scrolling behavior to both homepage columns.
* Added support for custom actionable statuses
This commit adds support for custom actionable statuses
* Fixed styles
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Create separate methods for registering plugin items
* Fix add plugin category
* Allow scrolling of nav menu
* Use group title
* Add example plugin items
* Make menu item and category methods private
* Add analytics pages to navigation
* Register home item if dashboard feature is enabled
* Allow navigation registration from all wca items
* Update example plugin item registration
* Update order of menu groups
* Update plugins group name to extensions
* Remove temporary scroll fixes
* Spike out customer effort score
* Refactor CustomerEffortScore as Package (https://github.com/woocommerce/woocommerce-admin/pull/5342)
* Use an interstitial snackbar to trigger the CES modal
* Moved notice (snackbar) into @woocommerce/customer-effort-score
* Tidy up _webpack.config.js
* Fix linter issues
* refactor setting up CES tracking, add try..catch around loading from localStorage
* Add CES feature toggle (https://github.com/woocommerce/woocommerce-admin/pull/5387)
* Add feature toggle to only enable the customer effort score in development
* Move check into Loader
* fix logic 🙄
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Add client-side check of the feature flag
* fix tabs in config
* Fix comment
* Use product lifecycle and options
* Add product count to tracks props
* Use Loader::load_features instead of DIY
* drop initiallyVisible from container
Co-authored-by: Rebecca Scott <me@becdetat.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Spike out customer effort score
* Refactor CustomerEffortScore as Package (https://github.com/woocommerce/woocommerce-admin/pull/5342)
* Tidy up _webpack.config.js
* Fix linter issues
* refactor setting up CES tracking, add try..catch around loading from localStorage
* Add CES feature toggle (https://github.com/woocommerce/woocommerce-admin/pull/5387)
* Add feature toggle to only enable the customer effort score in development
* Move check into Loader
* fix logic 🙄
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Add client-side check of the feature flag
* fix tabs in config
* Fix comment
* Use product lifecycle and options
* Add product count to tracks props
* Display CES modal once per event per store
* Remove TODO
* appease the formatting gods
* Use Loader::load_features instead of DIY
* Drop CustomerEffortScoreTracks singleton
* Fix tracks event name
* Only add the CES JS if tracking is allowed
* Only display the CES modal if tracking is allowed
* bump ci
* Pull package-lock.json from main
* Refactor to remove some duplication
* Revert to keep toggleVisible etc
Co-authored-by: Rebecca Scott <me@becdetat.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Spike out customer effort score
* Refactor CustomerEffortScore as Package (https://github.com/woocommerce/woocommerce-admin/pull/5342)
* Tidy up _webpack.config.js
* Fix linter issues
* refactor setting up CES tracking, add try..catch around loading from localStorage
* Add CES feature toggle (https://github.com/woocommerce/woocommerce-admin/pull/5387)
* Add feature toggle to only enable the customer effort score in development
* Move check into Loader
* fix logic 🙄
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Add client-side check of the feature flag
* fix tabs in config
* Fix comment
* Use product lifecycle and options
* Add product count to tracks props
* Display CES modal once per event per store
* Remove TODO
* appease the formatting gods
* Use Loader::load_features instead of DIY
* Drop CustomerEffortScoreTracks singleton
* Fix tracks event name
* bump ci
* Pull package-lock.json from main
* Refactor to remove some duplication
Co-authored-by: Rebecca Scott <me@becdetat.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Adding base styles for collapsed nav menu.
* Handling varying behaviour on mobile-sized screens, with the menu overlaying content instead of shrinking the content area.
* Folding the menu by default on screen sizes less than 960px, and if that condition is met after an orientation change
* Refactoring logic from Header/index.js to flag if user has scrolled to apply shadow to folded navigation as well.
* Refactoring styles in navigation feature to allow them to be loaded properly with webpack (with imports/etc).
* Spike out customer effort score
* Refactor CustomerEffortScore as Package (https://github.com/woocommerce/woocommerce-admin/pull/5342)
* Tidy up _webpack.config.js
* Fix linter issues
* refactor setting up CES tracking, add try..catch around loading from localStorage
* Add CES feature toggle (https://github.com/woocommerce/woocommerce-admin/pull/5387)
* Add feature toggle to only enable the customer effort score in development
* Move check into Loader
* fix logic 🙄
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Add client-side check of the feature flag
* fix tabs in config
* Fix comment
* Use product lifecycle and options
* Add product count to tracks props
* Use Loader::load_features instead of DIY
* Only show the CES survey in the correct screen
Co-authored-by: Rebecca Scott <me@becdetat.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Spike out customer effort score
* Refactor CustomerEffortScore as Package (https://github.com/woocommerce/woocommerce-admin/pull/5342)
* Tidy up _webpack.config.js
* Fix linter issues
* refactor setting up CES tracking, add try..catch around loading from localStorage
* Add CES feature toggle (https://github.com/woocommerce/woocommerce-admin/pull/5387)
* Add feature toggle to only enable the customer effort score in development
* Move check into Loader
* fix logic 🙄
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Add client-side check of the feature flag
* fix tabs in config
* Fix comment
* Use product lifecycle and options
* Add product count to tracks props
* Use Loader::load_features instead of DIY
* Only display the CES modal if tracking is allowed
* Move MONTH constant into @woocommerce/data
* Remove unused const
Co-authored-by: Rebecca Scott <me@becdetat.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
Composer 2 utilizes stricter conventions, so this fix involved repairing the namespace for the Navigation class, and adding a mechanism to load features that are contained within subdirectories.
* Spike out customer effort score
* Refactor CustomerEffortScore as Package (https://github.com/woocommerce/woocommerce-admin/pull/5342)
* Tidy up _webpack.config.js
* Fix linter issues
* refactor setting up CES tracking, add try..catch around loading from localStorage
* Add CES feature toggle (https://github.com/woocommerce/woocommerce-admin/pull/5387)
* Add feature toggle to only enable the customer effort score in development
* Move check into Loader
* fix logic 🙄
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Add client-side check of the feature flag
* fix tabs in config
* Fix comment
* Use product lifecycle and options
* Add product count to tracks props
* Use Loader::load_features instead of DIY
Co-authored-by: Rebecca Scott <me@becdetat.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Added Accordion component
This commit adds an Accordion component to our available components
* Refactored Accordion component
* Added new Accordion component to index
* Fixed a few Accordion details
* Accordion fixed
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Update dependencies in prep for Composer 2.x.
* Rollback jetpack autoloader update.
* Restore range versions for composer dependencies, regenerate lock with Composer 1.x.
* Fix PSR-4 Classes (https://github.com/woocommerce/woocommerce-admin/pull/5473)
* PSR-4 class names need to match their filename.
Remove underscores in classnames.
* Fix reported class name in deprecation notice.
* Fix comments.
* We don't need composer dependencies in core WC test setup.
* Update composer lockfile using version 2.x.
* Temporarily turn off error display.
Function deprecation notices are breaking tests.
* Change WooCommerce Card to WordPress Card in the WelcomeCard component.
Use isElevated and margin-bottom to make the Card look close to previous UI.
* Use WordPress Card in KnowledgeBase.
For the description in Card header, it will be rendered as a p element instead of h2, which should be more semantically correct. Test is updated to reflect this.
* Add Card component wrapper that supports title and description props.
* Use WordPress Card component wrapper in recommended extensions.
* Code refactor to use WordPress Card wrapper.
* Use WordPress Card wrapper in installed extension.
* Use margin-bottom for children layout at the parent CSS level.
* Add test for Card.
* Fix no margin between cards in Coupons page, and remove previous css for WooCommerce Card.
* Remove old WooCommerce Card css.
* Don't use isElevated in Card, to match the style in WooCommerce Home screen.
* Make item border color consistent with WordPress Card in Installed Extension card.
Use WordPress Card without CardBody here because we don't want the padding from CardBody.
* Make the card description look similar to previous WooCommerce Card description.
* Fix spelling in CSS class names.
* Fix WooCommerce spelling in comment.
* Change the Marketing Card style to match with WooCommerce Home style.
Also change the text gray color to use CSS variable instead of hardcoded gray value.
Also remove the usage of h2 in the Card header to follow WooCommerce Home style.
* Use $gray-200 as light borders between items in card.
* Remove unneeded CSS code based on TODO in comment.
* Display a "read blog" message when there is an error in getting blog posts or there is no blog posts.
* Simplify ReadBlogMessage with interpolateComponents and Link.
* Adding 'has_navigation' flag to tracks pageView events to indicate if new navigation is enabled (https://github.com/woocommerce/woocommerce-admin/pull/5332)
* Testing if navigation is active using window.wcNavigation instead of window.wcAdminFeatures to handle the edge case of a single page opting out
* Remove inbox-specific class, widen single column.
* Create user preference for homescreen column layout.
* Add display options "tab" to homescreen.
* Style display options.
* Tweak homepage layout option values.
* Add tracks events for homepage layout.
* Add test coverage for homescreen display options.
* No need to use Fragment component.
* Use named exports.
* Fix display options styling on mobile/narrow viewports.
Don't show the options at all if we're forcing single column.
* Fix linting error.
Switches the WCPay inbox note from no URL to an action param admin URL. This allows redirecting to the next setup step after allowing installation & activation to complete (instead of stalling on busy state). Adding a ToS message enables navigating directly into the WCPay onboarding flow.
Co-authored-by: James Rodger <james.rodger@automattic.com>
Co-authored-by: Vasily Belolapotkov <belolapotkov.v@gmail.com>
* Move data store to package and hydrate navigation
* Use wc settings to get site URL and title
* Use wc settings admin link
* Update nav util tests to work with installs in subdirectory
* Code refactor with reducer and new action type SET_ERROR.
* Add default state for errors and code for SET_ERROR for blogPosts.
* Don't use handleFetchError, instead save the error and blogPosts category into redux store.
* Display message for error and empty content.
* Fix grammar; fix relevant test.
* Code refactor: put action type strings in one place.
* Add tests for error UI.
* Remove illustration for empty content with no blog posts.
This commit adds an array casting after getting "woocommerce_onboarding_profile" option.
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
TODO comments are an established practice in this repo, with ~100 occurrences. This removes the warning in our PHP linter about it. This warning was blocking some Git commits being made due to the linting in the pre-commit hook.
* Add URLs to categories to assist migrating items
* Migrate items when URL matches callback
* Check if nav is enabled before adding extra marketing menu
* Unset URLs on categories after migration
* Migrate leaderboard tests to RTL.
* Remove test of default prop value.
* Migrate ReportSummary tests to RTL.
* Migrate ActivityCard tests to RTL.
* Migrate ActivityCardPlaceholder tests to RTL.
* Migrate remaining ProductType tests to RTL.
* Migrate Card tests to RTL.
* Update RTL and user event packages.
* Migrate Date tests to RTL.
* Migrate D3Legend tests to RTL.
* Migrate D3Base tests to RTL.
* Migrate Gravatar tests to RTL.
* Migrate ImageUpload tests to RTL.
* Migrate ProductImage tests to RTL.
* Migrate Rating tests to RTL.
* Migrate Search tests to RTL.
* Migrate Plugins tests to RTL.
* Migrate SelectControl tests to RTL.
* Migrate Timeline tests to RTL.
Remove tests that inspect DOM since there are snapshots.
* Migrate DismissModal tests to RTL.
* Migrate SetupNotice tests to RTL.
* Migrate WelcomeCard tests to RTL.
* Fix setup error reason retrieval in ShippingBanner.
* Migrate ShippingBanner tests to RTL.
* Migrate RecommendedExtensions tests to RTL.
* Migrate KnowledgeBase tests to RTL.
* Rename enzyme setup file, modify to setup RTL.
* No need to import jest-dom in test files.
* Remove enzyme dependency.
* Use snapshot for testing Leaderboard markup.
* Switch from "not to be empty" to "be in the document".
* No need to waitFor() recordEvent mock.
* Be specific about clicking the "hide" button.
* Use toBeVisible() instead of checking style property.
The theme selection page e2e test is intermittently failing and it
is not clear why. It could be that there is a failure going from
the last setup step to this one because the selectors for this
step are ambiguous and could refer to anything.
This specifically waits for an element that is unique to the
theme selection screen in the hope of removing ambiguity.
* Preventing the legacy coupons page from being readded when the navigation plugin is active (woocommerce/navigation woocommerce/woocommerce-admin#122)
I've also added a check to prevent the "coupons page has moved" note from being displayed, since it's no longer applicable in the new nav.
* Addressing linting issues with PHP files
* Updating conditions to work correctly with navigation as feature instead of external plugin
* Updating comment text
* Rename admin notes classes and file names to fit conventions
* Use a facade class that adds deprecation warnings to each function call
* Add "Manage orders on the go" admin note
* Remove a rebase zombie 🙀
Co-authored-by: Rebecca Scott <me@becdetat.com>
* is_feature_enabled
* feature class
* copy/paste
* hooked up
* its alive
* add wc-admin items
* clean up entry point
* Analytics remove url
* rebase error
* add back in check is_feature_enabled
* specificity CSS
* Require Jetpack connected and WCS active to mark the shipping task as complete
* Require country _not_ be in AU, NZ, or UK to mark shipping methods as complete
* Bump CI
Co-authored-by: Rebecca Scott <me@becdetat.com>
This commit invalidates the cache for "getTasksStatus" to force a rerequest of the value.
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Add note to confirm automated tax settings
* add back automated_tax_is_supported function
* Trigger CI
Co-authored-by: Rebecca Scott <me@becdetat.com>
This updates the Stable tag line in readme.txt to use a CRLF style line ending. This makes it consistent with the rest of the file and fixes “mixed line ending” type error messages when opening.
Removing breadcrumbs from wc-admin header, replacing with simple title (https://github.com/woocommerce/woocommerce-admin/pull/3963)
This is an interim step towards the integration of wc-navigation, where a back button will be provided to restore the critical functionality of the breadcrumbs. Note that the `breadcrumbs` data was preserved since it's still being utilized do construct the document title (in semi-breadcrumb-fashion) on both the backend and front-end.
* Don't auto generate chunk names.
This should make SVN diffs much easier to navigate for WP.org deploys.
* Include script version parameter in async chunk requests.
* Add version parameter to CSS chunks.
* Declare the note constants on the deprecated class.
This avoids triggering PHP errors when third party code references the old class constants.
* Remove deprecation notices and return the call result
* Restore deprecated notices.
* Avoid magic strings.
* Pass WC_Admin_Note constructor argument to migrated class.
* Allow subclasses to access the facade class instance.
Co-authored-by: Rebecca Scott <me@becdetat.com>
Updating Stripe key field validation to support test keys (https://github.com/woocommerce/woocommerce-admin/pull/4391)
Currently the form to configure Stripe keys accessed via the task list presents an error when test keys are used. I've updated the validation in order to support the format for test keys as well.
* Added filter to selected industries list
This commit adds a filter to the selected industries list
* Fixed lint error
* Fixed lint issues
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Fixed small text in OBW
This commit makes some OBW texts larger
* Fixed list items size
This commit makes the list items in the 2nd step of the OBW larger
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Rename admin notes classes and file names to fit conventions
* Use a facade class that adds deprecation warnings to each function call
* Tidy up after rebase
Co-authored-by: Rebecca Scott <me@becdetat.com>
* 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.
This commit changes the "Skip setup wizard" button text to "Skip setup store details"
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Fixeswoocommerce/woocommerce-admin#4443
Some investigation found that woocommerce/woocommerce-admin#4443 is no longer a reproducible issue. Why this issue no longer exists is not clear, but it makes sense now to disable the store registration checks as they are only called once. This PR just removes the checks but does not change any other behaviour.
* Reduced list padding
This commit reduces the industries list "padding" and its "min-height"
* Removed item from industries list
This commit removes the item "Art, Music & Photography" from the industries list
* Fixed e2e tests
This commit fixes the e2e tests
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
The marketplace suggestions opt-out is now used to determine if remote inbox notifications should be fetched. This corresponds to the
`woocommerce_show_marketplace_suggestions` WP option.
Additionally, a new protected method is added to the class. This provide a series of checks for whether remote notifications are enabled on the site.
* One-shot to enable the homescreen for everybody
* Make the home page the default (only) experience
* remove option check in activity panel tabs, get tests working, fix lint issues
* Remove is-homescreen CSS class
* Remove extra home page route registration
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Add option to not set up sales tax
* Correct JS lint errors
* Add abort option to plugin step
* Inline redirect to home page
* Use testing-library/react for the new test
* Also set woocommerce_calc_taxes to 'no'
Co-authored-by: Rebecca Scott <me@becdetat.com>
This commit modifies the connection check for the note 'wc-admin-wc-helper-connection'
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Remove the chevron icons from the “Finish setup” task list
* Add a data-testid attribute to the TaskDashboard dismiss button for testing
* Add test for dismiss button in TaskDashboard component
* Remove use of `woocommerce_product_variation_title_include_attributes` filter.
* Use attribute values in product variation titles.
* Include attribute values in product variation name during segmentation.
* Include attribute values in product variations autocompleter query.
* Add product attribute filter to Orders report config.
* Add attribute args to Orders report controller.
* Include attribute filters in orders report query.
* Add attribute args to Orders Stats report controller.
* Include attribute filters in orders report stats query.
* Add test for product attribute filter in orders report.
* Add tests for invalid parameter values.
* Add tests for product attribute filter in order stats endpoint.
* Fix tests for PHP 5.6 and WC 3.8.x.
* Refactor filter input row into component.
* Support multiple filter value in "add filter" list.
* Refactor out one-off updateFilter() callback.
* Use array index to remove filters.
Also create unique keys for multiple value filters.
* Use numeric index instead of filter "key" for change callbacks.
* Maintain unique keys for multiple filter components.
This avoids rerenders when filters are removed.
* Calculate instance numbers in constructor.
* Support advanced filter instances in navigation helper methods.
* Add allowMultiple to advanced filters README.
* Fix tests.
* Add test cases for multiple filter instances.
* Handle missing attribute names and terms in screen reader text.
* Fix perpetual loading indicator when there are no attribute terms.
* Handle new boolean case when generating screen reader text.
* Handle multiple filter instances when creating report queries.
* Remove unused variables.
* Update Shipping Banner to use installPlugins since installPlugin has been removed.
* Fix shipping banner compatibility with WCS 1.24.
* Update metabox content to match WC 4.5 metaboxes.
* Add monthly pricing toggle
* Move product type label to its own folder
* Add popover to product type label
* Add card help text
* Add product type component tests
* Add tests for product types step
* Refactor validation in product types
* Export ProductTypes component for testing
* 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.
* Add error logging to remote inbox notifications data source poller
* Change DataSourcePoller to use WC_Logger
* Remove test feed
* Tidy up log messages
Co-authored-by: Rebecca Scott <me@becdetat.com>
Fixeswoocommerce/woocommerce-admin#4464
`wcadmin_tasklist_shipping_label_printing` events were being filtered into rejected events because the data being passed was in camel case instead of snake case. This fixes that issue.
* Remove store page creation during new onboarding experience
* Remove onboarding feature flag
* Add back in onboarding feature flag to enable feature loading
* Add onboarding task status API endpoint.
* Add task status to onboarding data store.
* Update appearance task to use onboarding store for status info.
* Update main task list component to use onboarding data store for status info.
* Clear onboarding status info "cache" when setting shipping rates in the task list.
* Clear onboarding status info "cache" when enabling payment methods from the task list.
* Fix onboarding data store reducer tests.
* Clean up redundant code, nest task status settings under new key for hydration.
* Include tasks status in onboarding data hydration.
* Update tax task to use onboarding data store for status info.
* Avoid continually rehydrating onboarding data.
* Refactor payment task method retrieval to use onboarding data store.
* Fix bug with disappearing appearance tax steps.
* Update appearance completion faster by using hydrated onboarding value.
* Avoid PHP warnings when onboarding isn't enabled.
* Remove unused imports.
Working towards woocommerce/woocommerce-admin#4654 this refactors the `<Header>` component to be functional so that it can use hooks. The plan is to use the `useUserPreferences` hook there to determine if the mobile banner should be rendered or not.
This uses a generator action and hooks to reimplement the CTA as a more
simple and logicless component, with most of the logic now in the
HOC component.
* Add export ID to success response and fix typos in endpoint schema.
* Initial export data store.
Allows for starting export, but not checking progress.
* Use new export data store in analytics report tables.
* Remove defunct report export wc-api files.
* Apply review feedback from another wp.data PR.
* Use getResourceName() util for more DRYness.
* Fix linter error.
* Add response status code to fetchWithHeaders control.
* Use HTTP status rather than response body to determine success.
* Fix tests.
* Remove unused import from actions.
* Move controls to data package root
* Add reports data store in wp data
* Move report utils to data package
* Update error state and actions to match existing methods
* Update references to reports data store
* Add error setters
* Fix control registration path
* Add reports reducer tests
* Remove remaining report wc-api references
* Handle PR feedback
* reference packgage, not lib/date
Co-authored-by: Paul Sealock <psealock@gmail.com>
* Delete customer lookup rows when their corresponding user is deleted.
* Asynchronously delete users from customer lookup table.
* Add user deletion test case.
* Fix user deletion test.
* Add initial notes data store using wp data
* Cache individual note queries
* Update notes undo endpoint to batch update endpoint
* Allow batch updates of notes
* Add requesting state
* Update components to use new note store
* Remove old notes store from wc-api
* Get note IDs from json and validate data in REST API
* Add an updating state to each note
* Throw errors in actions so they can be caught by client
* Add store reducer tests
* Handle PR feedback
* Fix failing tests
* Don't set inbox panel visibility while batch updating
* Move woocommerce block to external dependencies
Recently there have been significant slowdowns
of the test suite in Jest. I frequently had the test suite
taking 130-150 seconds to run.
After some exploration and trial/error I found that
https://github.com/facebook/jest/issues/9457 is likely the cause.
This was confirmed after the downgrade where I saw test runs drop
to an average of about 35 seconds per run.
* Fix industry args type in REST API
* Only allow object for industry param
* Fix onboarding industry object shape in test case.
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
* Don't require package tag or file comment inside src
* Removed package tag from files inside src
* Fixed tests directory in phpcs.xml.dist
* Fixed usage of package tag
* Fixed new classes
* Fixed coding standards
* Fixed coding standards in tests
* Remove task list payment actions
* Check that the payments task has been marked complete in checkout note
* Track payments completion via enabled gateways
* Allow toggling to unfinish task when no payments enabled
* 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>
* scaffold out reviews store
* hook up dataStore
* get controls working
* getReviews working
* get count working
* get errors working
* indicators working
* reducer tests
* reviews
* Remove wc-api
* cleanup
* better way to fetch with headers
* add comment with issue
* better resolver
Fixeswoocommerce/woocommerce-admin#4592
This adds the functionality to support a store setup tab displayed in ActivityPanel. The tab currently just redirects to the home page, rather than implementing the nice-to-haves of displaying the task list in the panel. The reason for this, is that I found it would require significant refactoring of the task list to support this currently.
As part of this I have also refactored rendering of tabs inside into 2 new functional components: <Tabs> and <Tab>. The reason for this is to decompose large untestable components, test them and by virtue of being decomposed they will also be more reusable in future. Ideally would have been refactored to a functional component as well, but it would have been too large a task.
Fixeswoocommerce/woocommerce-admin#4590
This implements a paged modal via the Gutenberg Guide component. Some styling adjustment was needed to match the designs exactly.
This also introduces 3 SVG based illustrations for display in the modal. According to this comment there is a need to color them based on the theme at some point, but based on a current lack of requirements for that, I felt that could be done at a separate time (that was suggested in the comment as well).
* Require the correct autoloader file.
* Include composer file when updating version numbers.
* Add notice for development builds not using JETPACK_AUTOLOAD_DEV.
* Only bump version numbers when preparing a release.
* Added personalization to purchase extension task
This commit adds personalization to purchase extension task
* Removed unnecessary naming fix
This commit removes an unnecessary naming fix
* Corrected param description
* Solved translation problem
* Naming corrected
The method 'getGroupedOnboardingProducts' was given a more accurate name.
* Modified string substitution
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.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>
* Lint detail solved
This commit resolves a small lint warning in the file Loader.php
* Removed "profiler" from menu
This commit removes the item "profiler" from the menu.
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Added Test Checkout note
This commit adds a note to test the checkout process
# Conflicts:
# src/Events.php
# src/FeaturePlugin.php
* Replaced method "site_url" with "wc_get_page_permalink"
* Removed products with state draft verifcation from "check_task_completion"
This commit modifies the code to not set the products task list item as done when they have state draft.
* Added published date control
This commit adds a product published date control to the note
* Half-hour calculation changed
* Typo error corrected
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Use sanitize_text_field instead of sanitize_title_with_dashes to clean up the theme name during theme activation and installation. Remove another sanitize_title because it also need to allow non-lowercase slug as well. Use the sanitized theme name as slug for:
- Checking whether current theme is allowed to activate
- Checking whether current theme is one of installed theme
- Slug of theme on Onboarding::get_theme_data() method.
* Add monthly product prices to OBW
* Remove description for physical and download products
* Use pills in product selection step of OBW
* Add missing translation wrapper, also convert some spaces to tabs
* Add pill to changelog
* Change pills to medium gray text and border
* Make everything line up correctly on smaller viewports
* Get the styles closer to the design
* Breakpoint to set font size to 11px
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Handle admin note data read exceptions.
* Add test for notes datastore encountering an exception in read().
* Fix WC_Admin_notes::get_note() helper.
* Throw exception from WC_Admin_Note class instead.
Mimicking WC_Order, etc.
* Use helper method to retrieve existing notes.
* Use self for static calls.
* Check for valid note before updating in WCPay note class.
* Don't specify columns when fetching notes from the database.
* Fix deprecated function call.
Avoid calling deprecated set_icon() when passing data to WC_Admin_Note constructor.
Fixeswoocommerce/woocommerce-admin#4732
This updates `@wordpress/base-styles`, and because `@wordpress/components` depends on variables from it, that must be updated as well.
There are 3 major changes required as part of updating:
1. The $theme-color variable is no longer exposed by base-styles. Instead there are 3 css vars exposed. These are made available by use of a provided mixin. Situations where $theme-color was darkened using scss have been mapped as best as possible to the 2 other darkened shades of the css var that are available such as `--wp-admin-theme-color-darker-20` and `--wp-admin-theme-color-darker-10`. In some cases this means the colors are not exactly the same as before.
2. The post css `theme()` call is no longer available. All uses of this have been consolidated to use of the main theme css var `--wp-admin-theme-color`. This means that calls like `theme(secondary)` or `theme(outline)` etc have all been consolidated to the one color.
3. Many of the variables used for different shades of gray have been deprecated. These have been mapped across to the new gray variables. (Mapped according to the list described in woocommerce/woocommerce-admin#4732)
* Removed task item `connect`
This commit removes the task item `Connect your store to WooCommerce.com`
# Conflicts:
# client/task-list/tasks.js
* Reordered home screen tasks
This commit reorders the task list visible on the home screen.
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
This commit adds event recording to home/dashboard task list
# Conflicts:
# client/task-list/tasks.js
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Added skip profiler functionality
This commit adds the skip profiler functionality, leaving the Home screen `Store details` as incomplete.
# Conflicts:
# client/task-list/tasks.js
* Unit tests repaiared
* Added OBW page
This commit makes the necessary changes to add an OBW page
# Conflicts:
# client/profile-wizard/index.js
* Event name changed
This commit renames the event name we were recording since it was wrong.
* Redirection modified
This commit modifies the way we do redirection
# Conflicts:
# client/profile-wizard/index.js
* Removed `profiler` feature flag
* Removed `profiler` feature flag
This commit removes the `profiler` feature flag
* Added error handling for `updateProfileItems`
This commit adds error handling for the method `updateProfileItems`
* Update client/profile-wizard/index.js
Co-authored-by: Matt Sherman <matt.sherman@automattic.com>
* Removed "throw" from "then"
* Update client/dashboard/index.js
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Update client/profile-wizard/index.js
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Modified redirection URL
This commit modifies the redirection URL.
# Conflicts:
# client/task-list/tasks.js
# Conflicts:
# client/profile-wizard/index.js
* Removed the variable "lastStep" and the related logic.
* Removed change of state for variable "skipped"
* Added error trowing to onboarding actions
This commit adds error trowing to onboarding actions
* Removed response handling for `updateProfileItems`
* Added default value for "profileItems" in Homescreen and Dashboard
* Removed `step` from OnboardingProfile and test
This commit removes the `step` from OnboardingProfile.php and from tests
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Matt Sherman <matt.sherman@automattic.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Fix incorrect woocommere-admin spelling
* Update styles
* Add icons
* Add hover effect for coupon icons
* Remove variable comment
* Update color case
* Style lint fixes
* Use $theme-color
* Update icons, use wordpress/icons where possible
* Adjustment for using smaller default icons and no fills in the svgs
* Use var(--wp-admin-theme-color) instead of $theme-color
* Reorg coupons stylesheet
* Update PropTypes for ProductIcon
* Adjust icon export
* Rever to using $theme-color
* Add versions of link, people and currency-dollar
* Overide coupons icon background color
* Add background transition to icon wrapper
* Allow Jetpack plugin to be manipulated via API from the home screen.
Fixes issue where Jetpack's installation status wasn't visible if the OBW was skipped.
* Remove incorrect arguments from add_filter() call.
* Move Jetpack connection from benefits to profiler completion
* Handle profiler completion and connection URL async
* Update cached components on each profiler step
* Show bundle install UI based on segment
* Create notice on error catch
* Refactor redirect after promise completion
* Fix up accessiblity issues in bundle popover UI
* Add "create an account" option to PayPal setup.
Requires a connected Jetpack and WCS.
* Incorporate account creation into multiple flows.
Consolidate form code as well.
* Empty emails aren't valid.
* Remove defunct manual form render.
* Only validate API credentials if needed.
* Update PayPal settings for account creation flow.
* Add first basic test for PayPal setup task.
* Add more test coverage.
* Add some padding to the create account form.
* Only show "create account" if WCS TOS has been accepted.
* Add WooCommerce Admin Facebook Marketing Expert Note Provider.
* Fix number of orders and move cheaper check to be first
* Update title
* Update note title and copy
* Adjust orders_last_month check
* Return ids to speed up query
* Use PluginsHelper
* Removed "woocommerce_task_list_payments" from note.
This commit removes the use of "woocommerce_task_list_payments" from the note "Set up payments"
* Removed task list check
This commit removes an out of date check we were doing to show the note
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Add initial (rough) help panel.
Only includes "products" task items.
* Add help links for other tasks.
* Add header to help tab content.
* Toggle activity panel tabs when performing a setup task.
* Move query string parsing up a level.
* Pass query string as prop to ActivityPanel.
Fixes rerendering issue when entering a task.
* Pass current task to Help panel.
* Filter payments task help items by available payment methods.
* Filter shipping and tax help items based on WCS install.
* Add generic docs link to all help panels.
* Track help panel open.
* Track help panel link clicks.
* Show WCS help items when prompted to install.
* Tasks are only performed on the main route.
E.g. no value for "path".
* Small tweaks to make AcivityPanel more easily testable.
* Add initial tests for ActivityPanel tab logic.
* Modify HelpPanel component for easier testing.
* Add tests for conditional help panel links.
* Fix tracking keyboard "clicks" on help links.
* Fix query prop on embedded pages.
* Allow filtering of help tab items.
* Add dismiss button as task list item option
* Add option to undo task dismissal
* Record modal dismissal event
* Add transition animation to list items
* Use key for list items instead of index
* Remove dismissed tasks on recompleting profiler steps
* Add wcpay setup task and hide normal payment task if the wcpay plugin is installed
* Record an event when selecting the wcpay task
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Install task to update selected notes if they need to be changed
* Add comment for filter
* Add some extra comments to explain things a little better
* Undo my implementation of modifying notes
* Add a SQL script to update deactivate plugin note type
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Make API init class a singleton.
For aid in testing.
* Use static Jetpack methods instead of the REST API to get active modules.
Include some helper methods for easier testing.
* Fix Jetpack module mocking in indicators test.
* Check for the expected Jetpack module method before calling.
* Ensure active Jetpack modules is an array.
* Build: Only load non-minified js assets when they are available in the build.
* Avoid multiple Loader instances.
* Fix feature filter name in test bootstrap.
* Fix feature filter used in Loader tests.
Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
* Added new note type
This commit adds a new note type `survey`. The note is deleted after calling its CTA.
* Now using const from WC_Admin_Note
* Now using const from WC_Admin_Note in WC_Admin_Notes too
* Moved note deletion from NoteActions to WC_Admin_Notes
This commit moves the note deletion from NoteActions to WC_Admin_Notes. Also adds a hook to clean up actioned survey notes.
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Add simple business extension install form input
* Install all business extensions when checked
* Add popover with business extension benefits
* Remove errant hasInstallActivateError setState call
* Show popover on click and record event
* Show success screen based on conditions instead of step
* Use promise chain to handle updating tax settings
* Fix up error handling for failed setting updates
* Skip store location step if complete address exists
* Fix up pending/requesting state logic
* Allow opt in to TOS on tax task
* Don't complete task from completeStep
* Add caption styling to TOS text
* Preventing refresh after answering a survey note
This commit adds the code necessary to prevent a webpage refresh after answering a survey note.
* Modified `action` URL check
This commit refactors the check we do for the action URL.
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Fix missing uninstall usage in tests bootstrap.
Update test bootstrap using latest core WC version.
* Fix date offsets for test orders.
* Restore original test lib directory logic.
* Ensure that test runs near the bottom of the hour don't break.
* Update testing instructions in contributing docs.
* Added event prop to be recorded
This commit adds the event prop `screen` to `wcadmin_wcadmin_inbox_action_click`
* Getting screen name from referer
Now the we get the screen name from the referer
* The screen name is not being sent anymore to the API
The screen name is not sent anymore to the API. Also, the $screen_name is set as empty in the API to make the method more defensive.
* Created method `get_screen_name`
This commit moves the code related to getting the screen name to a specific method.
* Added screen name recording for individual posts
This commits adds screen name recording for individual posts
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Add (failing) test for deleted coupon amounts in reporting.
* Always sync an ID into the order-coupon lookup table.
* Don't remove coupon data from order analytics when the coupon is deleted.
* Fix coupon ID lookup from order item metadata.
* Allow negative coupon_id in the lookup table.
Representing deleted coupons.
* Handle deleted coupons when gathering extended info.
* Add more tests for deleted coupon handling.
* Handle deleted coupons in coupons report table.
* Fix lint errors.
* Add advanced args to configured static args so it is persistent
* Make sure unique keys are set in loaded labels
* Simplify the key selection because javascript
* Smarten up the filter picker so it only navigates if the selected button has changed
* Add static params for advanced order filters
* Add static param to product comparison config
* Add static param to category comparison config
* Add static param to coupon comparison config
* Add static param to taxes comparison config
* Add static params to downloads comparison config
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Bring homescreen styles into task list so it is styled correctly in the dashboard view
* Copy homescreen card styles to new .woocommerce-dashboard-card class
* Move styles to dashboard stylesheet.
Co-authored-by: Rebecca Scott <me@becdetat.com>
Co-authored-by: Timmy Crawford <timmydcrawford@gmail.com>
* Tweak the embed page CSS so the top content sits better
* Tweak the CSS to take notices into consideration
* Further tweak header styles
Co-authored-by: Rebecca Scott <me@becdetat.com>
* Fix spacing between stats overview and store management cards
* Revert "Fix spacing between stats overview and store management cards"
This reverts commit 993374313657f7ecf7803cc738b82bf63ecdf490.
* Home screen div margins
* Fix: Actioned inbox notifications now are visible
This commit fixes the actioned inbox notifications, now they are always visible.
* Fixed getUnreadNotes method
This commit fixes the getUnreadNotes method since it was returning the wrong information.
* Added two @todo
This commit adds two @todo referring to a few changes to do after implementing pagination
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
This commit adds a new notification to customize the client store with WooCommerce blocks
Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
* Count total unique customers instead of new/returning in order stats
* Add customer name to table instead of customer type
* Add customer total to segments
* Update tests for new stats
Co-authored-by: Joshua Flowers <joshuatf@gmail.com>